diff options
3 files changed, 35 insertions, 14 deletions
diff --git a/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs b/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs index fed6ecb..d7ca679 100644 --- a/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs +++ b/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs | |||
@@ -85,20 +85,20 @@ namespace OpenSim.ApplicationPlugins.RemoteController | |||
85 | m_app = openSim; | 85 | m_app = openSim; |
86 | m_httpd = openSim.HttpServer; | 86 | m_httpd = openSim.HttpServer; |
87 | 87 | ||
88 | m_httpd.AddXmlRPCHandler("admin_create_region", XmlRpcCreateRegionMethod); | 88 | m_httpd.AddXmlRPCHandler("admin_create_region", XmlRpcCreateRegionMethod, false); |
89 | m_httpd.AddXmlRPCHandler("admin_delete_region", XmlRpcDeleteRegionMethod); | 89 | m_httpd.AddXmlRPCHandler("admin_delete_region", XmlRpcDeleteRegionMethod, false); |
90 | m_httpd.AddXmlRPCHandler("admin_shutdown", XmlRpcShutdownMethod); | 90 | m_httpd.AddXmlRPCHandler("admin_shutdown", XmlRpcShutdownMethod, false); |
91 | m_httpd.AddXmlRPCHandler("admin_broadcast", XmlRpcAlertMethod); | 91 | m_httpd.AddXmlRPCHandler("admin_broadcast", XmlRpcAlertMethod, false); |
92 | m_httpd.AddXmlRPCHandler("admin_restart", XmlRpcRestartMethod); | 92 | m_httpd.AddXmlRPCHandler("admin_restart", XmlRpcRestartMethod, false); |
93 | m_httpd.AddXmlRPCHandler("admin_load_heightmap", XmlRpcLoadHeightmapMethod); | 93 | m_httpd.AddXmlRPCHandler("admin_load_heightmap", XmlRpcLoadHeightmapMethod, false); |
94 | m_httpd.AddXmlRPCHandler("admin_create_user", XmlRpcCreateUserMethod); | 94 | m_httpd.AddXmlRPCHandler("admin_create_user", XmlRpcCreateUserMethod, false); |
95 | m_httpd.AddXmlRPCHandler("admin_exists_user", XmlRpcUserExistsMethod); | 95 | m_httpd.AddXmlRPCHandler("admin_exists_user", XmlRpcUserExistsMethod, false); |
96 | m_httpd.AddXmlRPCHandler("admin_update_user", XmlRpcUpdateUserAccountMethod); | 96 | m_httpd.AddXmlRPCHandler("admin_update_user", XmlRpcUpdateUserAccountMethod, false); |
97 | m_httpd.AddXmlRPCHandler("admin_load_xml", XmlRpcLoadXMLMethod); | 97 | m_httpd.AddXmlRPCHandler("admin_load_xml", XmlRpcLoadXMLMethod, false); |
98 | m_httpd.AddXmlRPCHandler("admin_save_xml", XmlRpcSaveXMLMethod); | 98 | m_httpd.AddXmlRPCHandler("admin_save_xml", XmlRpcSaveXMLMethod, false); |
99 | m_httpd.AddXmlRPCHandler("admin_load_oar", XmlRpcLoadOARMethod); | 99 | m_httpd.AddXmlRPCHandler("admin_load_oar", XmlRpcLoadOARMethod, false); |
100 | m_httpd.AddXmlRPCHandler("admin_save_oar", XmlRpcSaveOARMethod); | 100 | m_httpd.AddXmlRPCHandler("admin_save_oar", XmlRpcSaveOARMethod, false); |
101 | m_httpd.AddXmlRPCHandler("admin_region_query", XmlRpcRegionQueryMethod); | 101 | m_httpd.AddXmlRPCHandler("admin_region_query", XmlRpcRegionQueryMethod, false); |
102 | } | 102 | } |
103 | } | 103 | } |
104 | catch (NullReferenceException) | 104 | catch (NullReferenceException) |
diff --git a/OpenSim/Framework/Communications/CommunicationsManager.cs b/OpenSim/Framework/Communications/CommunicationsManager.cs index 1bf8c05..dfe0fdc 100644 --- a/OpenSim/Framework/Communications/CommunicationsManager.cs +++ b/OpenSim/Framework/Communications/CommunicationsManager.cs | |||
@@ -104,6 +104,13 @@ namespace OpenSim.Framework.Communications | |||
104 | /// </summary> | 104 | /// </summary> |
105 | protected IUserServiceAdmin m_userServiceAdmin; | 105 | protected IUserServiceAdmin m_userServiceAdmin; |
106 | 106 | ||
107 | |||
108 | public BaseHttpServer HttpServer | ||
109 | { | ||
110 | get { return m_httpServer; } | ||
111 | } | ||
112 | protected BaseHttpServer m_httpServer; | ||
113 | |||
107 | /// <summary> | 114 | /// <summary> |
108 | /// Constructor | 115 | /// Constructor |
109 | /// </summary> | 116 | /// </summary> |
@@ -117,6 +124,7 @@ namespace OpenSim.Framework.Communications | |||
117 | m_networkServersInfo = serversInfo; | 124 | m_networkServersInfo = serversInfo; |
118 | m_assetCache = assetCache; | 125 | m_assetCache = assetCache; |
119 | m_userProfileCacheService = new UserProfileCacheService(this, libraryRootFolder); | 126 | m_userProfileCacheService = new UserProfileCacheService(this, libraryRootFolder); |
127 | m_httpServer = httpServer; | ||
120 | // m_transactionsManager = new AgentAssetTransactionsManager(this, dumpAssetsToFile); | 128 | // m_transactionsManager = new AgentAssetTransactionsManager(this, dumpAssetsToFile); |
121 | } | 129 | } |
122 | 130 | ||
diff --git a/OpenSim/Framework/Servers/BaseHttpServer.cs b/OpenSim/Framework/Servers/BaseHttpServer.cs index 7e8130a..3d125fb 100644 --- a/OpenSim/Framework/Servers/BaseHttpServer.cs +++ b/OpenSim/Framework/Servers/BaseHttpServer.cs | |||
@@ -54,6 +54,7 @@ namespace OpenSim.Framework.Servers | |||
54 | protected HttpListener m_httpListener; | 54 | protected HttpListener m_httpListener; |
55 | protected CoolHTTPListener m_httpListener2; | 55 | protected CoolHTTPListener m_httpListener2; |
56 | protected Dictionary<string, XmlRpcMethod> m_rpcHandlers = new Dictionary<string, XmlRpcMethod>(); | 56 | protected Dictionary<string, XmlRpcMethod> m_rpcHandlers = new Dictionary<string, XmlRpcMethod>(); |
57 | protected Dictionary<string, bool> m_rpcHandlersKeepAlive = new Dictionary<string, bool>(); | ||
57 | protected DefaultLLSDMethod m_defaultLlsdHandler = null; // <-- Moving away from the monolithic.. and going to /registered/ | 58 | protected DefaultLLSDMethod m_defaultLlsdHandler = null; // <-- Moving away from the monolithic.. and going to /registered/ |
58 | protected Dictionary<string, LLSDMethod> m_llsdHandlers = new Dictionary<string, LLSDMethod>(); | 59 | protected Dictionary<string, LLSDMethod> m_llsdHandlers = new Dictionary<string, LLSDMethod>(); |
59 | protected Dictionary<string, IRequestHandler> m_streamHandlers = new Dictionary<string, IRequestHandler>(); | 60 | protected Dictionary<string, IRequestHandler> m_streamHandlers = new Dictionary<string, IRequestHandler>(); |
@@ -141,6 +142,17 @@ namespace OpenSim.Framework.Servers | |||
141 | lock (m_rpcHandlers) | 142 | lock (m_rpcHandlers) |
142 | { | 143 | { |
143 | m_rpcHandlers[method] = handler; | 144 | m_rpcHandlers[method] = handler; |
145 | m_rpcHandlersKeepAlive[method] = true; // default | ||
146 | return true; | ||
147 | } | ||
148 | } | ||
149 | |||
150 | public bool AddXmlRPCHandler(string method, XmlRpcMethod handler, bool keepAlive) | ||
151 | { | ||
152 | lock (m_rpcHandlers) | ||
153 | { | ||
154 | m_rpcHandlers[method] = handler; | ||
155 | m_rpcHandlersKeepAlive[method] = keepAlive; // default | ||
144 | return true; | 156 | return true; |
145 | } | 157 | } |
146 | } | 158 | } |
@@ -584,6 +596,7 @@ namespace OpenSim.Framework.Servers | |||
584 | } | 596 | } |
585 | 597 | ||
586 | responseString = XmlRpcResponseSerializer.Singleton.Serialize(xmlRpcResponse); | 598 | responseString = XmlRpcResponseSerializer.Singleton.Serialize(xmlRpcResponse); |
599 | response.KeepAlive = m_rpcHandlersKeepAlive[methodName]; | ||
587 | } | 600 | } |
588 | else | 601 | else |
589 | { | 602 | { |