* Locked some RemoteAdmin methods due to racing condition bad behavior.
* Methods locked: CreateRegion, DeleteRegion, CreateUser, CreateUserMethodEmail, UpdateUserAccountMethod, LoadOARMethod, LoadXMLMethod * An example of bad behavior was multiple region creation where same UUID and grid location was possible, by running multiple XMLRPC threads. From: Arthur Rodrigo S Valadares <arthursv@linux.vnet.ibm.com>0.6.1-post-fixes
parent
b2ab15ba34
commit
b337088997
|
@ -380,6 +380,7 @@ namespace OpenSim.ApplicationPlugins.RemoteController
|
|||
XmlRpcResponse response = new XmlRpcResponse();
|
||||
Hashtable responseData = new Hashtable();
|
||||
|
||||
lock(this) {
|
||||
int m_regionLimit = m_config.GetInt("region_limit", 0);
|
||||
|
||||
try {
|
||||
|
@ -537,9 +538,9 @@ namespace OpenSim.ApplicationPlugins.RemoteController
|
|||
|
||||
response.Value = responseData;
|
||||
}
|
||||
|
||||
return response;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Delete a new region.
|
||||
|
@ -573,6 +574,7 @@ namespace OpenSim.ApplicationPlugins.RemoteController
|
|||
XmlRpcResponse response = new XmlRpcResponse();
|
||||
Hashtable responseData = new Hashtable();
|
||||
|
||||
lock(this) {
|
||||
try {
|
||||
Hashtable requestData = (Hashtable) request.Params[0];
|
||||
checkStringParameters(request, new string[] {"password", "region_name"});
|
||||
|
@ -601,6 +603,8 @@ namespace OpenSim.ApplicationPlugins.RemoteController
|
|||
}
|
||||
|
||||
return response;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -645,6 +649,7 @@ namespace OpenSim.ApplicationPlugins.RemoteController
|
|||
XmlRpcResponse response = new XmlRpcResponse();
|
||||
Hashtable responseData = new Hashtable();
|
||||
|
||||
lock(this) {
|
||||
try
|
||||
{
|
||||
Hashtable requestData = (Hashtable) request.Params[0];
|
||||
|
@ -695,8 +700,9 @@ namespace OpenSim.ApplicationPlugins.RemoteController
|
|||
|
||||
response.Value = responseData;
|
||||
}
|
||||
|
||||
return response;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -743,6 +749,7 @@ namespace OpenSim.ApplicationPlugins.RemoteController
|
|||
XmlRpcResponse response = new XmlRpcResponse();
|
||||
Hashtable responseData = new Hashtable();
|
||||
|
||||
lock(this) {
|
||||
try
|
||||
{
|
||||
Hashtable requestData = (Hashtable)request.Params[0];
|
||||
|
@ -793,8 +800,9 @@ namespace OpenSim.ApplicationPlugins.RemoteController
|
|||
|
||||
response.Value = responseData;
|
||||
}
|
||||
|
||||
return response;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -909,6 +917,7 @@ namespace OpenSim.ApplicationPlugins.RemoteController
|
|||
XmlRpcResponse response = new XmlRpcResponse();
|
||||
Hashtable responseData = new Hashtable();
|
||||
|
||||
lock(this) {
|
||||
try
|
||||
{
|
||||
Hashtable requestData = (Hashtable) request.Params[0];
|
||||
|
@ -991,6 +1000,7 @@ namespace OpenSim.ApplicationPlugins.RemoteController
|
|||
|
||||
response.Value = responseData;
|
||||
}
|
||||
}
|
||||
|
||||
return response;
|
||||
}
|
||||
|
@ -1033,6 +1043,7 @@ namespace OpenSim.ApplicationPlugins.RemoteController
|
|||
XmlRpcResponse response = new XmlRpcResponse();
|
||||
Hashtable responseData = new Hashtable();
|
||||
|
||||
lock(this) {
|
||||
try
|
||||
{
|
||||
Hashtable requestData = (Hashtable) request.Params[0];
|
||||
|
@ -1084,6 +1095,7 @@ namespace OpenSim.ApplicationPlugins.RemoteController
|
|||
|
||||
return response;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Save a region to an OAR file
|
||||
|
@ -1182,6 +1194,8 @@ namespace OpenSim.ApplicationPlugins.RemoteController
|
|||
XmlRpcResponse response = new XmlRpcResponse();
|
||||
Hashtable responseData = new Hashtable();
|
||||
|
||||
lock(this) {
|
||||
|
||||
try
|
||||
{
|
||||
Hashtable requestData = (Hashtable) request.Params[0];
|
||||
|
@ -1255,6 +1269,7 @@ namespace OpenSim.ApplicationPlugins.RemoteController
|
|||
|
||||
return response;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public XmlRpcResponse XmlRpcSaveXMLMethod(XmlRpcRequest request)
|
||||
|
|
Loading…
Reference in New Issue