aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/XmlRpcGroupsModule.cs19
-rw-r--r--bin/OpenSim.ini.example7
2 files changed, 20 insertions, 6 deletions
diff --git a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/XmlRpcGroupsModule.cs b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/XmlRpcGroupsModule.cs
index 5ba7eff..3476cdb 100644
--- a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/XmlRpcGroupsModule.cs
+++ b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/XmlRpcGroupsModule.cs
@@ -1089,6 +1089,11 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups
1089 1089
1090 private GroupRequestID GetClientGroupRequestID(IClientAPI client) 1090 private GroupRequestID GetClientGroupRequestID(IClientAPI client)
1091 { 1091 {
1092 if (client == null)
1093 {
1094 return new GroupRequestID();
1095 }
1096
1092 lock (m_clientRequestIDInfo) 1097 lock (m_clientRequestIDInfo)
1093 { 1098 {
1094 if (!m_clientRequestIDInfo.ContainsKey(client.AgentId)) 1099 if (!m_clientRequestIDInfo.ContainsKey(client.AgentId))
@@ -1098,7 +1103,19 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups
1098 info.RequestID.SessionID = client.SessionId; 1103 info.RequestID.SessionID = client.SessionId;
1099 1104
1100 UserProfileData userProfile = m_sceneList[0].CommsManager.UserService.GetUserProfile(client.AgentId); 1105 UserProfileData userProfile = m_sceneList[0].CommsManager.UserService.GetUserProfile(client.AgentId);
1101 if (userProfile is ForeignUserProfileData) 1106 if (userProfile == null)
1107 {
1108 // This should be impossible. If I've been passed a reference to a client
1109 // that client should be registered with the UserService. So something
1110 // is horribly wrong somewhere.
1111
1112 m_log.WarnFormat("[GROUPS]: Could not find a user profile for {0} / {1}", client.Name, client.AgentId);
1113
1114 // Default to local user service and hope for the best?
1115 info.RequestID.UserServiceURL = m_sceneList[0].CommsManager.NetworkServersInfo.UserURL;
1116
1117 }
1118 else if (userProfile is ForeignUserProfileData)
1102 { 1119 {
1103 // They aren't from around here 1120 // They aren't from around here
1104 ForeignUserProfileData fupd = (ForeignUserProfileData)userProfile; 1121 ForeignUserProfileData fupd = (ForeignUserProfileData)userProfile;
diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example
index 2ae7fb7..3130bf0 100644
--- a/bin/OpenSim.ini.example
+++ b/bin/OpenSim.ini.example
@@ -1245,15 +1245,12 @@
1245 Module = Default 1245 Module = Default
1246 1246
1247 1247
1248 ; The XmlRpcGroups implementation can be used against the publically available service 1248 ; The PHP code for the server is available from the Flotsam project for you to deploy
1249 ; that I have made available for testing. Your group data is not guarenteed safe
1250 ; or available if you use this service, but it's available now and seems to work.
1251 ; The PHP code for the service is available from the Flotsam project for you to deploy
1252 ; to your own server. The Flotsam project is located at http://code.google.com/p/flotsam/ 1249 ; to your own server. The Flotsam project is located at http://code.google.com/p/flotsam/
1253 ; 1250 ;
1254 ;Module = XmlRpcGroups 1251 ;Module = XmlRpcGroups
1255 1252
1256 ;XmlRpcServiceURL = http://osflotsam.org/xmlrpc.php 1253 ;XmlRpcServiceURL = http://yourxmlrpcserver.com/xmlrpc.php
1257 ;XmlRpcServiceReadKey = 1234 1254 ;XmlRpcServiceReadKey = 1234
1258 ;XmlRpcServiceWriteKey = 1234 1255 ;XmlRpcServiceWriteKey = 1234
1259 1256