From 31baeef469d72a9dc13cf4f56392b9f740f71cba Mon Sep 17 00:00:00 2001 From: Adam Frisby Date: Sat, 23 May 2009 06:05:20 +0000 Subject: * Pipes requestors IP address through all XmlRpcRequest delegates. This is needed to be able to 'NAT-wrap' the login sequence. * If you have something using XmlRpc that isn't in core, change your method signature from: (XmlRpcRequest request) to: (XmlRpcRequest request, IPEndPoint remoteClient) --- OpenSim/Framework/Communications/Services/GridInfoService.cs | 3 ++- OpenSim/Framework/Communications/Services/HGLoginAuthService.cs | 8 ++++---- OpenSim/Framework/Communications/Services/LoginService.cs | 5 +++-- 3 files changed, 9 insertions(+), 7 deletions(-) (limited to 'OpenSim/Framework/Communications/Services') diff --git a/OpenSim/Framework/Communications/Services/GridInfoService.cs b/OpenSim/Framework/Communications/Services/GridInfoService.cs index f17bb9f..317dba2 100644 --- a/OpenSim/Framework/Communications/Services/GridInfoService.cs +++ b/OpenSim/Framework/Communications/Services/GridInfoService.cs @@ -28,6 +28,7 @@ using System; using System.Collections; using System.IO; +using System.Net; using System.Reflection; using System.Text; using log4net; @@ -138,7 +139,7 @@ namespace OpenSim.Framework.Communications.Services } } - public XmlRpcResponse XmlRpcGridInfoMethod(XmlRpcRequest request) + public XmlRpcResponse XmlRpcGridInfoMethod(XmlRpcRequest request, IPEndPoint remoteClient) { XmlRpcResponse response = new XmlRpcResponse(); Hashtable responseData = new Hashtable(); diff --git a/OpenSim/Framework/Communications/Services/HGLoginAuthService.cs b/OpenSim/Framework/Communications/Services/HGLoginAuthService.cs index b62e4a2..3756cf5 100644 --- a/OpenSim/Framework/Communications/Services/HGLoginAuthService.cs +++ b/OpenSim/Framework/Communications/Services/HGLoginAuthService.cs @@ -86,10 +86,10 @@ namespace OpenSim.Framework.Communications.Services m_serversInfo = sinfo; } - public override XmlRpcResponse XmlRpcLoginMethod(XmlRpcRequest request) + public override XmlRpcResponse XmlRpcLoginMethod(XmlRpcRequest request, IPEndPoint remoteClient) { m_log.Info("[HGLOGIN]: HGLogin called " + request.MethodName); - XmlRpcResponse response = base.XmlRpcLoginMethod(request); + XmlRpcResponse response = base.XmlRpcLoginMethod(request, remoteClient); Hashtable responseData = (Hashtable)response.Value; responseData["grid_service"] = m_serversInfo.GridURL; @@ -132,7 +132,7 @@ namespace OpenSim.Framework.Communications.Services return response; } - public XmlRpcResponse XmlRpcGenerateKeyMethod(XmlRpcRequest request) + public XmlRpcResponse XmlRpcGenerateKeyMethod(XmlRpcRequest request, IPEndPoint remoteClient) { // Verify the key of who's calling UUID userID = UUID.Zero; @@ -157,7 +157,7 @@ namespace OpenSim.Framework.Communications.Services return response; } - public XmlRpcResponse XmlRpcVerifyKeyMethod(XmlRpcRequest request) + public XmlRpcResponse XmlRpcVerifyKeyMethod(XmlRpcRequest request, IPEndPoint remoteClient) { bool success = false; diff --git a/OpenSim/Framework/Communications/Services/LoginService.cs b/OpenSim/Framework/Communications/Services/LoginService.cs index f55c030..6859827 100644 --- a/OpenSim/Framework/Communications/Services/LoginService.cs +++ b/OpenSim/Framework/Communications/Services/LoginService.cs @@ -29,6 +29,7 @@ using System; using System.Collections; using System.Collections.Generic; using System.IO; +using System.Net; using System.Reflection; using System.Text.RegularExpressions; using System.Threading; @@ -97,7 +98,7 @@ namespace OpenSim.Framework.Communications.Services /// /// The XMLRPC request /// The response to send - public virtual XmlRpcResponse XmlRpcLoginMethod(XmlRpcRequest request) + public virtual XmlRpcResponse XmlRpcLoginMethod(XmlRpcRequest request, IPEndPoint remoteClient) { // Temporary fix m_loginMutex.WaitOne(); @@ -1125,7 +1126,7 @@ namespace OpenSim.Framework.Communications.Services return false; } - public XmlRpcResponse XmlRPCCheckAuthSession(XmlRpcRequest request) + public XmlRpcResponse XmlRPCCheckAuthSession(XmlRpcRequest request, IPEndPoint remoteClient) { XmlRpcResponse response = new XmlRpcResponse(); Hashtable requestData = (Hashtable)request.Params[0]; -- cgit v1.1