From 5e0c6446d8ac00fdc8ec8082e912152effbb8785 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 24 May 2023 13:42:56 +0100 Subject: [PATCH] update xmlrpc.dll with a send variant using httpclint and used it --- .../Hypergrid/GroupsServiceHGConnector.cs | 3 +-- OpenSim/Framework/Util.cs | 2 +- OpenSim/Framework/WebUtil.cs | 2 +- .../InstantMessage/MessageTransferModule.cs | 2 +- .../Scripting/XMLRPC/XMLRPCModule.cs | 2 +- .../Hypergrid/GatekeeperServiceConnector.cs | 4 ++-- .../Hypergrid/UserAgentServiceConnector.cs | 8 ++++---- .../InstantMessageServiceConnector.cs | 2 +- .../Connectors/Land/LandServicesConnector.cs | 2 +- bin/XMLRPC.dll | Bin 26624 -> 28160 bytes 10 files changed, 13 insertions(+), 14 deletions(-) diff --git a/OpenSim/Addons/Groups/Hypergrid/GroupsServiceHGConnector.cs b/OpenSim/Addons/Groups/Hypergrid/GroupsServiceHGConnector.cs index 5bca654092..98a9d4627d 100644 --- a/OpenSim/Addons/Groups/Hypergrid/GroupsServiceHGConnector.cs +++ b/OpenSim/Addons/Groups/Hypergrid/GroupsServiceHGConnector.cs @@ -285,8 +285,7 @@ namespace OpenSim.Groups if (string.IsNullOrEmpty(reply)) return null; - Dictionary replyData = ServerUtils.ParseXmlResponse( - reply); + Dictionary replyData = ServerUtils.ParseXmlResponse(reply); return replyData; } diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs index ecfefe8899..6543295c08 100644 --- a/OpenSim/Framework/Util.cs +++ b/OpenSim/Framework/Util.cs @@ -2202,7 +2202,7 @@ namespace OpenSim.Framework public static XmlRpcResponse SendXmlRpcCommand(string url, string methodName, object[] args) { XmlRpcRequest client = new(methodName, args); - return client.Send(url, 6000); + return client.Send(url, WebUtil.SharedHttpClientWithRedir, 6000); } /// diff --git a/OpenSim/Framework/WebUtil.cs b/OpenSim/Framework/WebUtil.cs index 59d687fc1e..afbb29050e 100644 --- a/OpenSim/Framework/WebUtil.cs +++ b/OpenSim/Framework/WebUtil.cs @@ -1691,7 +1691,7 @@ namespace OpenSim.Framework WebUtil.LogOutgoingDetail("SEND", reqnum, str); } - XmlRpcResponse Resp = Req.Send(url, 30000); + XmlRpcResponse Resp = Req.Send(url, WebUtil.SharedHttpClientWithRedir, 30000); try { diff --git a/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs b/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs index 4887a747e6..0a39aeb710 100644 --- a/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs @@ -599,7 +599,7 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage XmlRpcRequest GridReq = new XmlRpcRequest("grid_instant_message", SendParams); try { - XmlRpcResponse GridResp = GridReq.Send(reginfo.ServerURI, 3000); + XmlRpcResponse GridResp = GridReq.Send(reginfo.ServerURI, WebUtil.SharedHttpClientWithRedir, 6000); Hashtable responseData = (Hashtable)GridResp.Value; if (responseData.ContainsKey("success")) { diff --git a/OpenSim/Region/CoreModules/Scripting/XMLRPC/XMLRPCModule.cs b/OpenSim/Region/CoreModules/Scripting/XMLRPC/XMLRPCModule.cs index 5f53439542..fd7ba447a7 100644 --- a/OpenSim/Region/CoreModules/Scripting/XMLRPC/XMLRPCModule.cs +++ b/OpenSim/Region/CoreModules/Scripting/XMLRPC/XMLRPCModule.cs @@ -688,7 +688,7 @@ namespace OpenSim.Region.CoreModules.Scripting.XMLRPC XmlRpcRequest req = new XmlRpcRequest(mName, parameters); try { - XmlRpcResponse resp = req.Send(DestURL, 30000); + XmlRpcResponse resp = req.Send(DestURL, WebUtil.SharedHttpClientWithRedir, 30000); if (resp != null) { Hashtable respParms; diff --git a/OpenSim/Services/Connectors/Hypergrid/GatekeeperServiceConnector.cs b/OpenSim/Services/Connectors/Hypergrid/GatekeeperServiceConnector.cs index 43da95b72b..66d97cc1a5 100644 --- a/OpenSim/Services/Connectors/Hypergrid/GatekeeperServiceConnector.cs +++ b/OpenSim/Services/Connectors/Hypergrid/GatekeeperServiceConnector.cs @@ -94,7 +94,7 @@ namespace OpenSim.Services.Connectors.Hypergrid XmlRpcResponse response = null; try { - response = request.Send(info.ServerURI, 10000); + response = request.Send(info.ServerURI, WebUtil.SharedHttpClientWithRedir, 10000); } catch (Exception e) { @@ -230,7 +230,7 @@ namespace OpenSim.Services.Connectors.Hypergrid XmlRpcResponse response = null; try { - response = request.Send(gatekeeper.ServerURI, 10000); + response = request.Send(gatekeeper.ServerURI, WebUtil.SharedHttpClientWithRedir, 10000); } catch (Exception e) { diff --git a/OpenSim/Services/Connectors/Hypergrid/UserAgentServiceConnector.cs b/OpenSim/Services/Connectors/Hypergrid/UserAgentServiceConnector.cs index e919dd917b..f7b322e4e9 100644 --- a/OpenSim/Services/Connectors/Hypergrid/UserAgentServiceConnector.cs +++ b/OpenSim/Services/Connectors/Hypergrid/UserAgentServiceConnector.cs @@ -162,7 +162,7 @@ namespace OpenSim.Services.Connectors.Hypergrid XmlRpcResponse response = null; try { - response = request.Send(m_ServerURL, 10000); + response = request.Send(m_ServerURL, WebUtil.SharedHttpClientWithRedir, 10000); } catch (Exception e) { @@ -336,7 +336,7 @@ namespace OpenSim.Services.Connectors.Hypergrid XmlRpcResponse response = null; try { - response = request.Send(m_ServerURL, 6000); + response = request.Send(m_ServerURL, WebUtil.SharedHttpClientWithRedir, 6000); } catch { @@ -408,7 +408,7 @@ namespace OpenSim.Services.Connectors.Hypergrid XmlRpcResponse response = null; try { - response = request.Send(m_ServerURL, 10000); + response = request.Send(m_ServerURL, WebUtil.SharedHttpClientWithRedir, 10000); } catch { @@ -558,7 +558,7 @@ namespace OpenSim.Services.Connectors.Hypergrid XmlRpcResponse response = null; try { - response = request.Send(m_ServerURL, 10000); + response = request.Send(m_ServerURL, WebUtil.SharedHttpClientWithRedir, 10000); } catch (Exception e) { diff --git a/OpenSim/Services/Connectors/InstantMessage/InstantMessageServiceConnector.cs b/OpenSim/Services/Connectors/InstantMessage/InstantMessageServiceConnector.cs index fa50b24d16..c5a2d5e816 100644 --- a/OpenSim/Services/Connectors/InstantMessage/InstantMessageServiceConnector.cs +++ b/OpenSim/Services/Connectors/InstantMessage/InstantMessageServiceConnector.cs @@ -61,7 +61,7 @@ namespace OpenSim.Services.Connectors.InstantMessage try { - XmlRpcResponse GridResp = GridReq.Send(url, 10000); + XmlRpcResponse GridResp = GridReq.Send(url, WebUtil.SharedHttpClientWithRedir, 10000); Hashtable responseData = (Hashtable)GridResp.Value; diff --git a/OpenSim/Services/Connectors/Land/LandServicesConnector.cs b/OpenSim/Services/Connectors/Land/LandServicesConnector.cs index a1122a2595..5e5f1fc726 100644 --- a/OpenSim/Services/Connectors/Land/LandServicesConnector.cs +++ b/OpenSim/Services/Connectors/Land/LandServicesConnector.cs @@ -92,7 +92,7 @@ namespace OpenSim.Services.Connectors paramList.Add(hash); XmlRpcRequest request = new XmlRpcRequest("land_data", paramList); - XmlRpcResponse response = request.Send(info.ServerURI, 10000); + XmlRpcResponse response = request.Send(info.ServerURI, WebUtil.SharedHttpClientWithRedir, 10000); if (response.IsFault) { m_log.ErrorFormat("[LAND CONNECTOR]: remote call returned an error: {0}", response.FaultString); diff --git a/bin/XMLRPC.dll b/bin/XMLRPC.dll index e9107d6e3a17b73449b994c60b1146b93bac5890..85c39199aca41b739a28ca0f2640f1c1f3d224b7 100755 GIT binary patch delta 11249 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 delta 9950 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 PyfK~jy3fRpf#&}KwwvuW