diff --git a/OpenSim/Framework/GridInfo.cs b/OpenSim/Framework/GridInfo.cs index 58946850f0..efc440ae6f 100644 --- a/OpenSim/Framework/GridInfo.cs +++ b/OpenSim/Framework/GridInfo.cs @@ -145,6 +145,11 @@ namespace OpenSim.Framework get { return Flags == OSHTTPURIFlags.None ? "" : URI + "/";} } + public string HostAndPort + { + get { return (Flags == OSHTTPURIFlags.None) ? "" : Host + ":" + Port.ToString(); } + } + public int CompareTo(OSHTTPURI other) { if (Port == other.Port && ((Flags & other.Flags) & OSHTTPURIFlags.ValidHost) != 0) diff --git a/OpenSim/Region/CoreModules/Framework/UserManagement/UserManagementModule.cs b/OpenSim/Region/CoreModules/Framework/UserManagement/UserManagementModule.cs index 6850fbd8cc..0793814a70 100755 --- a/OpenSim/Region/CoreModules/Framework/UserManagement/UserManagementModule.cs +++ b/OpenSim/Region/CoreModules/Framework/UserManagement/UserManagementModule.cs @@ -1086,9 +1086,10 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement oldUser.HasGridUserTried = false; oldUser.IsUnknownUser = false; - if (CheckUrl(homeURL, out bool local, out OSHHTPHost host)) + OSHTTPURI homeuri = new OSHTTPURI(homeURL); + if (homeuri.IsValidHost) { - if (local) + if (m_thisGridInfo.IsLocalGrid(homeuri.URL) == 1) // local { oldUser.FirstName = firstname; oldUser.LastName = lastname; @@ -1099,8 +1100,8 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement else { oldUser.FirstName = firstname + "." + lastname.Replace(" ", "."); - oldUser.LastName = "@" + host.HostAndPort; - oldUser.HomeURL = host.URI; + oldUser.LastName = "@" + homeuri.HostAndPort; + oldUser.HomeURL = homeuri.URL; oldUser.IsLocal = false; } }