aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs28
-rw-r--r--OpenSim/Framework/Communications/CommunicationsManager.cs8
-rw-r--r--OpenSim/Framework/Servers/BaseHttpServer.cs13
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 {