mirror of
https://github.com/opensim/opensim.git
synced 2026-08-08 10:15:33 +08:00
Get the full viewer name even if it's (incorrectly) sent in the 'Channel' field
Recent versions of Firestorm and Singularity have started sending the viewer name in the 'Channel' field, leaving only their version number in the 'Viewer' field. So we need to search both of these fields for the viewer name. This resolves http://opensimulator.org/mantis/view.php?id=6952
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* Copyright (c) Contributors, http://opensimulator.org/
|
||||
* See CONTRIBUTORS.TXT for a full list of copyright holders.
|
||||
*
|
||||
@@ -228,17 +228,19 @@ namespace OpenSim.Services.HypergridService
|
||||
aCircuit.firstname, aCircuit.lastname, authURL, aCircuit.AgentID, destination.RegionName,
|
||||
aCircuit.Viewer, aCircuit.Channel, aCircuit.IPAddress, aCircuit.Mac, aCircuit.Id0, aCircuit.teleportFlags.ToString());
|
||||
|
||||
string curViewer = Util.GetViewerName(aCircuit);
|
||||
|
||||
//
|
||||
// Check client
|
||||
//
|
||||
if (m_AllowedClients != string.Empty)
|
||||
{
|
||||
Regex arx = new Regex(m_AllowedClients);
|
||||
Match am = arx.Match(aCircuit.Viewer);
|
||||
Match am = arx.Match(curViewer);
|
||||
|
||||
if (!am.Success)
|
||||
{
|
||||
m_log.InfoFormat("[GATEKEEPER SERVICE]: Login failed, reason: client {0} is not allowed", aCircuit.Viewer);
|
||||
m_log.InfoFormat("[GATEKEEPER SERVICE]: Login failed, reason: client {0} is not allowed", curViewer);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -246,11 +248,11 @@ namespace OpenSim.Services.HypergridService
|
||||
if (m_DeniedClients != string.Empty)
|
||||
{
|
||||
Regex drx = new Regex(m_DeniedClients);
|
||||
Match dm = drx.Match(aCircuit.Viewer);
|
||||
Match dm = drx.Match(curViewer);
|
||||
|
||||
if (dm.Success)
|
||||
{
|
||||
m_log.InfoFormat("[GATEKEEPER SERVICE]: Login failed, reason: client {0} is denied", aCircuit.Viewer);
|
||||
m_log.InfoFormat("[GATEKEEPER SERVICE]: Login failed, reason: client {0} is denied", curViewer);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user