diff options
Diffstat (limited to '')
7 files changed, 80 insertions, 60 deletions
diff --git a/OpenSim/Services/Connectors/Hypergrid/UserAgentServiceConnector.cs b/OpenSim/Services/Connectors/Hypergrid/UserAgentServiceConnector.cs index f869060..54191f6 100644 --- a/OpenSim/Services/Connectors/Hypergrid/UserAgentServiceConnector.cs +++ b/OpenSim/Services/Connectors/Hypergrid/UserAgentServiceConnector.cs | |||
@@ -50,6 +50,7 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
50 | LogManager.GetLogger( | 50 | LogManager.GetLogger( |
51 | MethodBase.GetCurrentMethod().DeclaringType); | 51 | MethodBase.GetCurrentMethod().DeclaringType); |
52 | 52 | ||
53 | private string m_ServerURLHost; | ||
53 | private string m_ServerURL; | 54 | private string m_ServerURL; |
54 | private GridRegion m_Gatekeeper; | 55 | private GridRegion m_Gatekeeper; |
55 | 56 | ||
@@ -59,7 +60,7 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
59 | 60 | ||
60 | public UserAgentServiceConnector(string url, bool dnsLookup) | 61 | public UserAgentServiceConnector(string url, bool dnsLookup) |
61 | { | 62 | { |
62 | m_ServerURL = url; | 63 | m_ServerURL = m_ServerURLHost = url; |
63 | 64 | ||
64 | if (dnsLookup) | 65 | if (dnsLookup) |
65 | { | 66 | { |
@@ -75,7 +76,7 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
75 | } | 76 | } |
76 | catch (Exception e) | 77 | catch (Exception e) |
77 | { | 78 | { |
78 | m_log.DebugFormat("[USER AGENT CONNECTOR]: Malformed Uri {0}: {1}", m_ServerURL, e.Message); | 79 | m_log.DebugFormat("[USER AGENT CONNECTOR]: Malformed Uri {0}: {1}", url, e.Message); |
79 | } | 80 | } |
80 | } | 81 | } |
81 | 82 | ||
@@ -99,11 +100,12 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
99 | m_log.Error("[USER AGENT CONNECTOR]: No Server URI named in section UserAgentService"); | 100 | m_log.Error("[USER AGENT CONNECTOR]: No Server URI named in section UserAgentService"); |
100 | throw new Exception("UserAgent connector init error"); | 101 | throw new Exception("UserAgent connector init error"); |
101 | } | 102 | } |
102 | m_ServerURL = serviceURI; | 103 | |
104 | m_ServerURL = m_ServerURLHost = serviceURI; | ||
103 | if (!m_ServerURL.EndsWith("/")) | 105 | if (!m_ServerURL.EndsWith("/")) |
104 | m_ServerURL += "/"; | 106 | m_ServerURL += "/"; |
105 | 107 | ||
106 | m_log.DebugFormat("[USER AGENT CONNECTOR]: UserAgentServiceConnector started for {0}", m_ServerURL); | 108 | //m_log.DebugFormat("[USER AGENT CONNECTOR]: new connector to {0}", m_ServerURL); |
107 | } | 109 | } |
108 | 110 | ||
109 | protected override string AgentPath() | 111 | protected override string AgentPath() |
@@ -206,20 +208,20 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
206 | } | 208 | } |
207 | catch (Exception e) | 209 | catch (Exception e) |
208 | { | 210 | { |
209 | m_log.DebugFormat("[USER AGENT CONNECTOR]: {0} call to {1} failed: {2}", methodName, m_ServerURL, e.Message); | 211 | m_log.DebugFormat("[USER AGENT CONNECTOR]: {0} call to {1} failed: {2}", methodName, m_ServerURLHost, e.Message); |
210 | throw; | 212 | throw; |
211 | } | 213 | } |
212 | 214 | ||
213 | if (response.IsFault) | 215 | if (response.IsFault) |
214 | { | 216 | { |
215 | throw new Exception(string.Format("[USER AGENT CONNECTOR]: {0} call to {1} returned an error: {2}", methodName, m_ServerURL, response.FaultString)); | 217 | throw new Exception(string.Format("[USER AGENT CONNECTOR]: {0} call to {1} returned an error: {2}", methodName, m_ServerURLHost, response.FaultString)); |
216 | } | 218 | } |
217 | 219 | ||
218 | hash = (Hashtable)response.Value; | 220 | hash = (Hashtable)response.Value; |
219 | 221 | ||
220 | if (hash == null) | 222 | if (hash == null) |
221 | { | 223 | { |
222 | throw new Exception(string.Format("[USER AGENT CONNECTOR]: {0} call to {1} returned null", methodName, m_ServerURL)); | 224 | throw new Exception(string.Format("[USER AGENT CONNECTOR]: {0} call to {1} returned null", methodName, m_ServerURLHost)); |
223 | } | 225 | } |
224 | 226 | ||
225 | return hash; | 227 | return hash; |
@@ -370,14 +372,14 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
370 | } | 372 | } |
371 | catch | 373 | catch |
372 | { | 374 | { |
373 | m_log.DebugFormat("[USER AGENT CONNECTOR]: Unable to contact remote server {0} for StatusNotification", m_ServerURL); | 375 | m_log.DebugFormat("[USER AGENT CONNECTOR]: Unable to contact remote server {0} for StatusNotification", m_ServerURLHost); |
374 | // reason = "Exception: " + e.Message; | 376 | // reason = "Exception: " + e.Message; |
375 | return friendsOnline; | 377 | return friendsOnline; |
376 | } | 378 | } |
377 | 379 | ||
378 | if (response.IsFault) | 380 | if (response.IsFault) |
379 | { | 381 | { |
380 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: remote call to {0} for StatusNotification returned an error: {1}", m_ServerURL, response.FaultString); | 382 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: remote call to {0} for StatusNotification returned an error: {1}", m_ServerURLHost, response.FaultString); |
381 | // reason = "XMLRPC Fault"; | 383 | // reason = "XMLRPC Fault"; |
382 | return friendsOnline; | 384 | return friendsOnline; |
383 | } | 385 | } |
@@ -389,7 +391,7 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
389 | { | 391 | { |
390 | if (hash == null) | 392 | if (hash == null) |
391 | { | 393 | { |
392 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: GetOnlineFriends Got null response from {0}! THIS IS BAAAAD", m_ServerURL); | 394 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: GetOnlineFriends Got null response from {0}! THIS IS BAAAAD", m_ServerURLHost); |
393 | // reason = "Internal error 1"; | 395 | // reason = "Internal error 1"; |
394 | return friendsOnline; | 396 | return friendsOnline; |
395 | } | 397 | } |
@@ -442,14 +444,14 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
442 | } | 444 | } |
443 | catch | 445 | catch |
444 | { | 446 | { |
445 | m_log.DebugFormat("[USER AGENT CONNECTOR]: Unable to contact remote server {0} for GetOnlineFriends", m_ServerURL); | 447 | m_log.DebugFormat("[USER AGENT CONNECTOR]: Unable to contact remote server {0} for GetOnlineFriends", m_ServerURLHost); |
446 | // reason = "Exception: " + e.Message; | 448 | // reason = "Exception: " + e.Message; |
447 | return online; | 449 | return online; |
448 | } | 450 | } |
449 | 451 | ||
450 | if (response.IsFault) | 452 | if (response.IsFault) |
451 | { | 453 | { |
452 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: remote call to {0} for GetOnlineFriends returned an error: {1}", m_ServerURL, response.FaultString); | 454 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: remote call to {0} for GetOnlineFriends returned an error: {1}", m_ServerURLHost, response.FaultString); |
453 | // reason = "XMLRPC Fault"; | 455 | // reason = "XMLRPC Fault"; |
454 | return online; | 456 | return online; |
455 | } | 457 | } |
@@ -461,7 +463,7 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
461 | { | 463 | { |
462 | if (hash == null) | 464 | if (hash == null) |
463 | { | 465 | { |
464 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: GetOnlineFriends Got null response from {0}! THIS IS BAAAAD", m_ServerURL); | 466 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: GetOnlineFriends Got null response from {0}! THIS IS BAAAAD", m_ServerURLHost); |
465 | // reason = "Internal error 1"; | 467 | // reason = "Internal error 1"; |
466 | return online; | 468 | return online; |
467 | } | 469 | } |
@@ -570,13 +572,13 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
570 | 572 | ||
571 | if (!hash.ContainsKey("UUID")) | 573 | if (!hash.ContainsKey("UUID")) |
572 | { | 574 | { |
573 | throw new Exception(string.Format("[USER AGENT CONNECTOR]: get_uuid call to {0} didn't return a UUID", m_ServerURL)); | 575 | throw new Exception(string.Format("[USER AGENT CONNECTOR]: get_uuid call to {0} didn't return a UUID", m_ServerURLHost)); |
574 | } | 576 | } |
575 | 577 | ||
576 | UUID uuid; | 578 | UUID uuid; |
577 | if (!UUID.TryParse(hash["UUID"].ToString(), out uuid)) | 579 | if (!UUID.TryParse(hash["UUID"].ToString(), out uuid)) |
578 | { | 580 | { |
579 | throw new Exception(string.Format("[USER AGENT CONNECTOR]: get_uuid call to {0} returned an invalid UUID: {1}", m_ServerURL, hash["UUID"].ToString())); | 581 | throw new Exception(string.Format("[USER AGENT CONNECTOR]: get_uuid call to {0} returned an invalid UUID: {1}", m_ServerURLHost, hash["UUID"].ToString())); |
580 | } | 582 | } |
581 | 583 | ||
582 | return uuid; | 584 | return uuid; |
@@ -584,7 +586,7 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
584 | 586 | ||
585 | private bool GetBoolResponse(XmlRpcRequest request, out string reason) | 587 | private bool GetBoolResponse(XmlRpcRequest request, out string reason) |
586 | { | 588 | { |
587 | //m_log.Debug("[USER AGENT CONNECTOR]: GetBoolResponse from/to " + m_ServerURL); | 589 | //m_log.Debug("[USER AGENT CONNECTOR]: GetBoolResponse from/to " + m_ServerURLHost); |
588 | XmlRpcResponse response = null; | 590 | XmlRpcResponse response = null; |
589 | try | 591 | try |
590 | { | 592 | { |
@@ -592,14 +594,14 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
592 | } | 594 | } |
593 | catch (Exception e) | 595 | catch (Exception e) |
594 | { | 596 | { |
595 | m_log.DebugFormat("[USER AGENT CONNECTOR]: Unable to contact remote server {0} for GetBoolResponse", m_ServerURL); | 597 | m_log.DebugFormat("[USER AGENT CONNECTOR]: Unable to contact remote server {0} for GetBoolResponse", m_ServerURLHost); |
596 | reason = "Exception: " + e.Message; | 598 | reason = "Exception: " + e.Message; |
597 | return false; | 599 | return false; |
598 | } | 600 | } |
599 | 601 | ||
600 | if (response.IsFault) | 602 | if (response.IsFault) |
601 | { | 603 | { |
602 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: remote call to {0} for GetBoolResponse returned an error: {1}", m_ServerURL, response.FaultString); | 604 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: remote call to {0} for GetBoolResponse returned an error: {1}", m_ServerURLHost, response.FaultString); |
603 | reason = "XMLRPC Fault"; | 605 | reason = "XMLRPC Fault"; |
604 | return false; | 606 | return false; |
605 | } | 607 | } |
@@ -611,7 +613,7 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
611 | { | 613 | { |
612 | if (hash == null) | 614 | if (hash == null) |
613 | { | 615 | { |
614 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: Got null response from {0}! THIS IS BAAAAD", m_ServerURL); | 616 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: Got null response from {0}! THIS IS BAAAAD", m_ServerURLHost); |
615 | reason = "Internal error 1"; | 617 | reason = "Internal error 1"; |
616 | return false; | 618 | return false; |
617 | } | 619 | } |
@@ -622,7 +624,7 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
622 | else | 624 | else |
623 | { | 625 | { |
624 | reason = "Internal error 2"; | 626 | reason = "Internal error 2"; |
625 | m_log.WarnFormat("[USER AGENT CONNECTOR]: response from {0} does not have expected key 'result'", m_ServerURL); | 627 | m_log.WarnFormat("[USER AGENT CONNECTOR]: response from {0} does not have expected key 'result'", m_ServerURLHost); |
626 | } | 628 | } |
627 | 629 | ||
628 | return success; | 630 | return success; |
diff --git a/OpenSim/Services/Connectors/Neighbour/NeighbourServicesConnector.cs b/OpenSim/Services/Connectors/Neighbour/NeighbourServicesConnector.cs index 0f8033d..eecf096 100644 --- a/OpenSim/Services/Connectors/Neighbour/NeighbourServicesConnector.cs +++ b/OpenSim/Services/Connectors/Neighbour/NeighbourServicesConnector.cs | |||
@@ -97,9 +97,9 @@ namespace OpenSim.Services.Connectors | |||
97 | } | 97 | } |
98 | catch (Exception e) | 98 | catch (Exception e) |
99 | { | 99 | { |
100 | m_log.WarnFormat( | 100 | m_log.Warn(string.Format( |
101 | "[NEIGHBOUR SERVICES CONNECTOR]: Unable to parse uri {0} to send HelloNeighbour from {1} to {2}. Exception {3}{4}", | 101 | "[NEIGHBOUR SERVICES CONNECTOR]: Unable to parse uri {0} to send HelloNeighbour from {1} to {2}. Exception {3} ", |
102 | uri, thisRegion.RegionName, region.RegionName, e.Message, e.StackTrace); | 102 | uri, thisRegion.RegionName, region.RegionName, e.Message), e); |
103 | 103 | ||
104 | return false; | 104 | return false; |
105 | } | 105 | } |
@@ -116,9 +116,9 @@ namespace OpenSim.Services.Connectors | |||
116 | } | 116 | } |
117 | catch (Exception e) | 117 | catch (Exception e) |
118 | { | 118 | { |
119 | m_log.WarnFormat( | 119 | m_log.Warn(string.Format( |
120 | "[NEIGHBOUR SERVICES CONNECTOR]: PackRegionInfoData failed for HelloNeighbour from {0} to {1}. Exception {2}{3}", | 120 | "[NEIGHBOUR SERVICES CONNECTOR]: PackRegionInfoData failed for HelloNeighbour from {0} to {1}. Exception {2} ", |
121 | thisRegion.RegionName, region.RegionName, e.Message, e.StackTrace); | 121 | thisRegion.RegionName, region.RegionName, e.Message), e); |
122 | 122 | ||
123 | return false; | 123 | return false; |
124 | } | 124 | } |
@@ -136,9 +136,9 @@ namespace OpenSim.Services.Connectors | |||
136 | } | 136 | } |
137 | catch (Exception e) | 137 | catch (Exception e) |
138 | { | 138 | { |
139 | m_log.WarnFormat( | 139 | m_log.Warn(string.Format( |
140 | "[NEIGHBOUR SERVICES CONNECTOR]: Exception thrown on serialization of HelloNeighbour from {0} to {1}. Exception {2}{3}", | 140 | "[NEIGHBOUR SERVICES CONNECTOR]: Exception thrown on serialization of HelloNeighbour from {0} to {1}. Exception {2} ", |
141 | thisRegion.RegionName, region.RegionName, e.Message, e.StackTrace); | 141 | thisRegion.RegionName, region.RegionName, e.Message), e); |
142 | 142 | ||
143 | return false; | 143 | return false; |
144 | } | 144 | } |
@@ -153,9 +153,9 @@ namespace OpenSim.Services.Connectors | |||
153 | } | 153 | } |
154 | catch (Exception e) | 154 | catch (Exception e) |
155 | { | 155 | { |
156 | m_log.WarnFormat( | 156 | m_log.Warn(string.Format( |
157 | "[NEIGHBOUR SERVICES CONNECTOR]: Unable to send HelloNeighbour from {0} to {1}. Exception {2}{3}", | 157 | "[NEIGHBOUR SERVICES CONNECTOR]: Unable to send HelloNeighbour from {0} to {1} (uri {2}). Exception {3} ", |
158 | thisRegion.RegionName, region.RegionName, e.Message, e.StackTrace); | 158 | thisRegion.RegionName, region.RegionName, uri, e.Message), e); |
159 | 159 | ||
160 | return false; | 160 | return false; |
161 | } | 161 | } |
@@ -192,9 +192,9 @@ namespace OpenSim.Services.Connectors | |||
192 | } | 192 | } |
193 | catch (Exception e) | 193 | catch (Exception e) |
194 | { | 194 | { |
195 | m_log.WarnFormat( | 195 | m_log.Warn(string.Format( |
196 | "[NEIGHBOUR SERVICES CONNECTOR]: Exception on reply of DoHelloNeighbourCall from {0} back to {1}. Exception {2}{3}", | 196 | "[NEIGHBOUR SERVICES CONNECTOR]: Exception on reply of DoHelloNeighbourCall from {0} back to {1}. Exception {2} ", |
197 | region.RegionName, thisRegion.RegionName, e.Message, e.StackTrace); | 197 | region.RegionName, thisRegion.RegionName, e.Message), e); |
198 | 198 | ||
199 | return false; | 199 | return false; |
200 | } | 200 | } |
diff --git a/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs b/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs index aca414b..171beaa 100644 --- a/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs +++ b/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs | |||
@@ -421,11 +421,18 @@ namespace OpenSim.Services.Connectors.Simulation | |||
421 | args["destination_name"] = OSD.FromString(destination.RegionName); | 421 | args["destination_name"] = OSD.FromString(destination.RegionName); |
422 | args["destination_uuid"] = OSD.FromString(destination.RegionID.ToString()); | 422 | args["destination_uuid"] = OSD.FromString(destination.RegionID.ToString()); |
423 | 423 | ||
424 | WebUtil.PostToService(uri, args, 40000); | 424 | OSDMap result = WebUtil.PostToService(uri, args, 40000); |
425 | |||
426 | if (result == null) | ||
427 | return false; | ||
428 | bool success = result["success"].AsBoolean(); | ||
429 | if (!success) | ||
430 | return false; | ||
425 | } | 431 | } |
426 | catch (Exception e) | 432 | catch (Exception e) |
427 | { | 433 | { |
428 | m_log.WarnFormat("[REMOTE SIMULATION CONNECTOR] CreateObject failed with exception; {0}",e.ToString()); | 434 | m_log.WarnFormat("[REMOTE SIMULATION CONNECTOR] CreateObject failed with exception; {0}",e.ToString()); |
435 | return false; | ||
429 | } | 436 | } |
430 | 437 | ||
431 | return true; | 438 | return true; |
diff --git a/OpenSim/Services/HypergridService/GatekeeperService.cs b/OpenSim/Services/HypergridService/GatekeeperService.cs index f6136b5..7a0228b 100644 --- a/OpenSim/Services/HypergridService/GatekeeperService.cs +++ b/OpenSim/Services/HypergridService/GatekeeperService.cs | |||
@@ -1,4 +1,4 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (c) Contributors, http://opensimulator.org/ | 2 | * Copyright (c) Contributors, http://opensimulator.org/ |
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. | 3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. |
4 | * | 4 | * |
@@ -228,17 +228,19 @@ namespace OpenSim.Services.HypergridService | |||
228 | aCircuit.firstname, aCircuit.lastname, authURL, aCircuit.AgentID, destination.RegionName, | 228 | aCircuit.firstname, aCircuit.lastname, authURL, aCircuit.AgentID, destination.RegionName, |
229 | aCircuit.Viewer, aCircuit.Channel, aCircuit.IPAddress, aCircuit.Mac, aCircuit.Id0, aCircuit.teleportFlags.ToString()); | 229 | aCircuit.Viewer, aCircuit.Channel, aCircuit.IPAddress, aCircuit.Mac, aCircuit.Id0, aCircuit.teleportFlags.ToString()); |
230 | 230 | ||
231 | string curViewer = Util.GetViewerName(aCircuit); | ||
232 | |||
231 | // | 233 | // |
232 | // Check client | 234 | // Check client |
233 | // | 235 | // |
234 | if (m_AllowedClients != string.Empty) | 236 | if (m_AllowedClients != string.Empty) |
235 | { | 237 | { |
236 | Regex arx = new Regex(m_AllowedClients); | 238 | Regex arx = new Regex(m_AllowedClients); |
237 | Match am = arx.Match(aCircuit.Viewer); | 239 | Match am = arx.Match(curViewer); |
238 | 240 | ||
239 | if (!am.Success) | 241 | if (!am.Success) |
240 | { | 242 | { |
241 | m_log.InfoFormat("[GATEKEEPER SERVICE]: Login failed, reason: client {0} is not allowed", aCircuit.Viewer); | 243 | m_log.InfoFormat("[GATEKEEPER SERVICE]: Login failed, reason: client {0} is not allowed", curViewer); |
242 | return false; | 244 | return false; |
243 | } | 245 | } |
244 | } | 246 | } |
@@ -246,11 +248,11 @@ namespace OpenSim.Services.HypergridService | |||
246 | if (m_DeniedClients != string.Empty) | 248 | if (m_DeniedClients != string.Empty) |
247 | { | 249 | { |
248 | Regex drx = new Regex(m_DeniedClients); | 250 | Regex drx = new Regex(m_DeniedClients); |
249 | Match dm = drx.Match(aCircuit.Viewer); | 251 | Match dm = drx.Match(curViewer); |
250 | 252 | ||
251 | if (dm.Success) | 253 | if (dm.Success) |
252 | { | 254 | { |
253 | m_log.InfoFormat("[GATEKEEPER SERVICE]: Login failed, reason: client {0} is denied", aCircuit.Viewer); | 255 | m_log.InfoFormat("[GATEKEEPER SERVICE]: Login failed, reason: client {0} is denied", curViewer); |
254 | return false; | 256 | return false; |
255 | } | 257 | } |
256 | } | 258 | } |
diff --git a/OpenSim/Services/HypergridService/HGAssetService.cs b/OpenSim/Services/HypergridService/HGAssetService.cs index 84dec8d..5c804d4 100644 --- a/OpenSim/Services/HypergridService/HGAssetService.cs +++ b/OpenSim/Services/HypergridService/HGAssetService.cs | |||
@@ -76,10 +76,10 @@ namespace OpenSim.Services.HypergridService | |||
76 | if (m_UserAccountService == null) | 76 | if (m_UserAccountService == null) |
77 | throw new Exception(String.Format("Unable to create UserAccountService from {0}", userAccountsDll)); | 77 | throw new Exception(String.Format("Unable to create UserAccountService from {0}", userAccountsDll)); |
78 | 78 | ||
79 | // legacy configuration [obsolete] | 79 | m_HomeURL = Util.GetConfigVarFromSections<string>(config, "HomeURI", |
80 | m_HomeURL = assetConfig.GetString("ProfileServerURI", string.Empty); | 80 | new string[] { "Startup", "Hypergrid", configName }, string.Empty); |
81 | // Preferred | 81 | if (m_HomeURL == string.Empty) |
82 | m_HomeURL = assetConfig.GetString("HomeURI", m_HomeURL); | 82 | throw new Exception("[HGAssetService] No HomeURI specified"); |
83 | 83 | ||
84 | m_Cache = UserAccountCache.CreateUserAccountCache(m_UserAccountService); | 84 | m_Cache = UserAccountCache.CreateUserAccountCache(m_UserAccountService); |
85 | 85 | ||
diff --git a/OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs b/OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs index 90ce44a..1608039 100644 --- a/OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs +++ b/OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs | |||
@@ -215,25 +215,17 @@ namespace OpenSim.Services.HypergridService | |||
215 | if (suitcase == null) | 215 | if (suitcase == null) |
216 | { | 216 | { |
217 | m_log.ErrorFormat("[HG SUITCASE INVENTORY SERVICE]: Unable to create suitcase folder"); | 217 | m_log.ErrorFormat("[HG SUITCASE INVENTORY SERVICE]: Unable to create suitcase folder"); |
218 | return null; | ||
218 | } | 219 | } |
219 | else | 220 | |
220 | { | 221 | m_Database.StoreFolder(suitcase); |
221 | m_Database.StoreFolder(suitcase); | ||
222 | |||
223 | // Create System folders | ||
224 | CreateSystemFolders(principalID, suitcase.folderID); | ||
225 | 222 | ||
226 | SetAsNormalFolder(suitcase); | 223 | CreateSystemFolders(principalID, suitcase.folderID); |
227 | |||
228 | return ConvertToOpenSim(suitcase); | ||
229 | } | ||
230 | } | ||
231 | else | ||
232 | { | ||
233 | return ConvertToOpenSim(suitcase); | ||
234 | } | 224 | } |
235 | 225 | ||
236 | return null; | 226 | SetAsNormalFolder(suitcase); |
227 | |||
228 | return ConvertToOpenSim(suitcase); | ||
237 | } | 229 | } |
238 | 230 | ||
239 | protected void CreateSystemFolders(UUID principalID, UUID rootID) | 231 | protected void CreateSystemFolders(UUID principalID, UUID rootID) |
diff --git a/OpenSim/Services/LLLoginService/LLLoginService.cs b/OpenSim/Services/LLLoginService/LLLoginService.cs index 46a5c18..b61b5e8 100644 --- a/OpenSim/Services/LLLoginService/LLLoginService.cs +++ b/OpenSim/Services/LLLoginService/LLLoginService.cs | |||
@@ -58,6 +58,7 @@ namespace OpenSim.Services.LLLoginService | |||
58 | protected IGridUserService m_GridUserService; | 58 | protected IGridUserService m_GridUserService; |
59 | protected IAuthenticationService m_AuthenticationService; | 59 | protected IAuthenticationService m_AuthenticationService; |
60 | protected IInventoryService m_InventoryService; | 60 | protected IInventoryService m_InventoryService; |
61 | protected IInventoryService m_HGInventoryService; | ||
61 | protected IGridService m_GridService; | 62 | protected IGridService m_GridService; |
62 | protected IPresenceService m_PresenceService; | 63 | protected IPresenceService m_PresenceService; |
63 | protected ISimulationService m_LocalSimulationService; | 64 | protected ISimulationService m_LocalSimulationService; |
@@ -165,6 +166,15 @@ namespace OpenSim.Services.LLLoginService | |||
165 | if (agentService != string.Empty) | 166 | if (agentService != string.Empty) |
166 | m_UserAgentService = ServerUtils.LoadPlugin<IUserAgentService>(agentService, args); | 167 | m_UserAgentService = ServerUtils.LoadPlugin<IUserAgentService>(agentService, args); |
167 | 168 | ||
169 | // Get the Hypergrid inventory service (exists only if Hypergrid is enabled) | ||
170 | string hgInvServicePlugin = m_LoginServerConfig.GetString("HGInventoryServicePlugin", String.Empty); | ||
171 | if (hgInvServicePlugin != string.Empty) | ||
172 | { | ||
173 | string hgInvServiceArg = m_LoginServerConfig.GetString("HGInventoryServiceConstructorArg", String.Empty); | ||
174 | Object[] args2 = new Object[] { config, hgInvServiceArg }; | ||
175 | m_HGInventoryService = ServerUtils.LoadPlugin<IInventoryService>(hgInvServicePlugin, args2); | ||
176 | } | ||
177 | |||
168 | // | 178 | // |
169 | // deal with the services given as argument | 179 | // deal with the services given as argument |
170 | // | 180 | // |
@@ -350,6 +360,13 @@ namespace OpenSim.Services.LLLoginService | |||
350 | return LLFailedLoginResponse.InventoryProblem; | 360 | return LLFailedLoginResponse.InventoryProblem; |
351 | } | 361 | } |
352 | 362 | ||
363 | if (m_HGInventoryService != null) | ||
364 | { | ||
365 | // Give the Suitcase service a chance to create the suitcase folder. | ||
366 | // (If we're not using the Suitcase inventory service then this won't do anything.) | ||
367 | m_HGInventoryService.GetRootFolder(account.PrincipalID); | ||
368 | } | ||
369 | |||
353 | List<InventoryFolderBase> inventorySkel = m_InventoryService.GetInventorySkeleton(account.PrincipalID); | 370 | List<InventoryFolderBase> inventorySkel = m_InventoryService.GetInventorySkeleton(account.PrincipalID); |
354 | if (m_RequireInventory && ((inventorySkel == null) || (inventorySkel != null && inventorySkel.Count == 0))) | 371 | if (m_RequireInventory && ((inventorySkel == null) || (inventorySkel != null && inventorySkel.Count == 0))) |
355 | { | 372 | { |