mirror of
https://github.com/opensim/opensim.git
synced 2026-08-07 17:55:48 +08:00
Megapatch that fixes/adds: friend offer/deny/accept, friendship termination,
on-/offline updates, calling cards for friends. This adds methods in the DB layer and changes the MessagingServer, so a full update (incl. UGAIM) is necessary to get it working. Older regions shouldn't break, nor should older UGAIM break newer regions, but friends/presence will only work with all concerned parts (UGAIM, source region and destination region) at this revision (or later). I added the DB code for MSSQL, too, but couldn't test that. BEWARE: May contain bugs.
This commit is contained in:
@@ -586,7 +586,18 @@ namespace OpenSim.Framework.Servers
|
||||
XmlRpcMethod method;
|
||||
if (m_rpcHandlers.TryGetValue(methodName, out method))
|
||||
{
|
||||
xmlRpcResponse = method(xmlRprcRequest);
|
||||
try
|
||||
{
|
||||
xmlRpcResponse = method(xmlRprcRequest);
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
// if the registered XmlRpc method threw an exception, we pass a fault-code along
|
||||
xmlRpcResponse = new XmlRpcResponse();
|
||||
// Code probably set in accordance with http://xmlrpc-epi.sourceforge.net/specs/rfc.fault_codes.php
|
||||
xmlRpcResponse.SetFault(-32603, String.Format("Requested method [{0}] threw exception: {1}",
|
||||
methodName, e.Message));
|
||||
}
|
||||
// if the method wasn't found, we can't determine KeepAlive state anyway, so lets do it only here
|
||||
response.KeepAlive = m_rpcHandlersKeepAlive[methodName];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user