diff options
author | Homer Horwitz | 2008-11-01 22:09:48 +0000 |
---|---|---|
committer | Homer Horwitz | 2008-11-01 22:09:48 +0000 |
commit | 38e8853e5761d09a7e8f580dd277d9b99b834696 (patch) | |
tree | 653fe4c9075a03c05a4b5782f7309afa83062e5c /OpenSim/Framework/Servers | |
parent | * minor: Remove mono compiler warning (diff) | |
download | opensim-SC-38e8853e5761d09a7e8f580dd277d9b99b834696.zip opensim-SC-38e8853e5761d09a7e8f580dd277d9b99b834696.tar.gz opensim-SC-38e8853e5761d09a7e8f580dd277d9b99b834696.tar.bz2 opensim-SC-38e8853e5761d09a7e8f580dd277d9b99b834696.tar.xz |
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.
Diffstat (limited to 'OpenSim/Framework/Servers')
-rw-r--r-- | OpenSim/Framework/Servers/BaseHttpServer.cs | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/OpenSim/Framework/Servers/BaseHttpServer.cs b/OpenSim/Framework/Servers/BaseHttpServer.cs index 871ea57..98b44db 100644 --- a/OpenSim/Framework/Servers/BaseHttpServer.cs +++ b/OpenSim/Framework/Servers/BaseHttpServer.cs | |||
@@ -586,7 +586,18 @@ namespace OpenSim.Framework.Servers | |||
586 | XmlRpcMethod method; | 586 | XmlRpcMethod method; |
587 | if (m_rpcHandlers.TryGetValue(methodName, out method)) | 587 | if (m_rpcHandlers.TryGetValue(methodName, out method)) |
588 | { | 588 | { |
589 | xmlRpcResponse = method(xmlRprcRequest); | 589 | try |
590 | { | ||
591 | xmlRpcResponse = method(xmlRprcRequest); | ||
592 | } | ||
593 | catch(Exception e) | ||
594 | { | ||
595 | // if the registered XmlRpc method threw an exception, we pass a fault-code along | ||
596 | xmlRpcResponse = new XmlRpcResponse(); | ||
597 | // Code probably set in accordance with http://xmlrpc-epi.sourceforge.net/specs/rfc.fault_codes.php | ||
598 | xmlRpcResponse.SetFault(-32603, String.Format("Requested method [{0}] threw exception: {1}", | ||
599 | methodName, e.Message)); | ||
600 | } | ||
590 | // if the method wasn't found, we can't determine KeepAlive state anyway, so lets do it only here | 601 | // if the method wasn't found, we can't determine KeepAlive state anyway, so lets do it only here |
591 | response.KeepAlive = m_rpcHandlersKeepAlive[methodName]; | 602 | response.KeepAlive = m_rpcHandlersKeepAlive[methodName]; |
592 | } | 603 | } |