diff options
Merge branch 'master' into careminster-presence-refactor
Diffstat (limited to 'OpenSim/Server/Handlers/Login/LLLoginHandlers.cs')
-rw-r--r-- | OpenSim/Server/Handlers/Login/LLLoginHandlers.cs | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/OpenSim/Server/Handlers/Login/LLLoginHandlers.cs b/OpenSim/Server/Handlers/Login/LLLoginHandlers.cs index 5bb529c..30dc65e 100644 --- a/OpenSim/Server/Handlers/Login/LLLoginHandlers.cs +++ b/OpenSim/Server/Handlers/Login/LLLoginHandlers.cs | |||
@@ -52,15 +52,24 @@ namespace OpenSim.Server.Handlers.Login | |||
52 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 52 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
53 | 53 | ||
54 | private ILoginService m_LocalService; | 54 | private ILoginService m_LocalService; |
55 | private bool m_Proxy; | ||
55 | 56 | ||
56 | public LLLoginHandlers(ILoginService service) | 57 | public LLLoginHandlers(ILoginService service, bool hasProxy) |
57 | { | 58 | { |
58 | m_LocalService = service; | 59 | m_LocalService = service; |
60 | m_Proxy = hasProxy; | ||
59 | } | 61 | } |
60 | 62 | ||
61 | public XmlRpcResponse HandleXMLRPCLogin(XmlRpcRequest request, IPEndPoint remoteClient) | 63 | public XmlRpcResponse HandleXMLRPCLogin(XmlRpcRequest request, IPEndPoint remoteClient) |
62 | { | 64 | { |
63 | Hashtable requestData = (Hashtable)request.Params[0]; | 65 | Hashtable requestData = (Hashtable)request.Params[0]; |
66 | if (m_Proxy && request.Params[3] != null) | ||
67 | { | ||
68 | IPEndPoint ep = Util.GetClientIPFromXFF((string)request.Params[3]); | ||
69 | if (ep != null) | ||
70 | // Bang! | ||
71 | remoteClient = ep; | ||
72 | } | ||
64 | 73 | ||
65 | if (requestData != null) | 74 | if (requestData != null) |
66 | { | 75 | { |
@@ -189,6 +198,7 @@ namespace OpenSim.Server.Handlers.Login | |||
189 | 198 | ||
190 | return map; | 199 | return map; |
191 | } | 200 | } |
201 | |||
192 | } | 202 | } |
193 | 203 | ||
194 | } | 204 | } |