diff options
Diffstat (limited to 'OpenSim/Services')
19 files changed, 242 insertions, 118 deletions
diff --git a/OpenSim/Services/AssetService/AssetService.cs b/OpenSim/Services/AssetService/AssetService.cs index ffdaa60..0feb59d 100644 --- a/OpenSim/Services/AssetService/AssetService.cs +++ b/OpenSim/Services/AssetService/AssetService.cs | |||
@@ -83,7 +83,7 @@ namespace OpenSim.Services.AssetService | |||
83 | 83 | ||
84 | if (assetLoaderEnabled) | 84 | if (assetLoaderEnabled) |
85 | { | 85 | { |
86 | m_log.InfoFormat("[ASSET]: Loading default asset set from {0}", loaderArgs); | 86 | m_log.DebugFormat("[ASSET]: Loading default asset set from {0}", loaderArgs); |
87 | 87 | ||
88 | m_AssetLoader.ForEachDefaultXmlAsset( | 88 | m_AssetLoader.ForEachDefaultXmlAsset( |
89 | loaderArgs, | 89 | loaderArgs, |
@@ -100,7 +100,7 @@ namespace OpenSim.Services.AssetService | |||
100 | }); | 100 | }); |
101 | } | 101 | } |
102 | 102 | ||
103 | m_log.Info("[ASSET SERVICE]: Local asset service enabled"); | 103 | m_log.Debug("[ASSET SERVICE]: Local asset service enabled"); |
104 | } | 104 | } |
105 | } | 105 | } |
106 | } | 106 | } |
@@ -174,11 +174,20 @@ namespace OpenSim.Services.AssetService | |||
174 | 174 | ||
175 | public virtual string Store(AssetBase asset) | 175 | public virtual string Store(AssetBase asset) |
176 | { | 176 | { |
177 | //m_log.DebugFormat("[ASSET SERVICE]: Store asset {0} {1}", asset.Name, asset.ID); | 177 | if (!m_Database.ExistsAsset(asset.FullID)) |
178 | if (!m_Database.StoreAsset(asset)) | ||
179 | { | 178 | { |
179 | // m_log.DebugFormat( | ||
180 | // "[ASSET SERVICE]: Storing asset {0} {1}, bytes {2}", asset.Name, asset.FullID, asset.Data.Length); | ||
181 | if (!m_Database.StoreAsset(asset)) | ||
182 | { | ||
180 | return UUID.Zero.ToString(); | 183 | return UUID.Zero.ToString(); |
184 | } | ||
181 | } | 185 | } |
186 | // else | ||
187 | // { | ||
188 | // m_log.DebugFormat( | ||
189 | // "[ASSET SERVICE]: Not storing asset {0} {1}, bytes {2} as it already exists", asset.Name, asset.FullID, asset.Data.Length); | ||
190 | // } | ||
182 | 191 | ||
183 | return asset.ID; | 192 | return asset.ID; |
184 | } | 193 | } |
diff --git a/OpenSim/Services/AuthenticationService/WebkeyOrPasswordAuthenticationService.cs b/OpenSim/Services/AuthenticationService/WebkeyOrPasswordAuthenticationService.cs index 3590e12..2c6cebd 100644 --- a/OpenSim/Services/AuthenticationService/WebkeyOrPasswordAuthenticationService.cs +++ b/OpenSim/Services/AuthenticationService/WebkeyOrPasswordAuthenticationService.cs | |||
@@ -42,15 +42,13 @@ namespace OpenSim.Services.AuthenticationService | |||
42 | public class WebkeyOrPasswordAuthenticationService : AuthenticationServiceBase, IAuthenticationService | 42 | public class WebkeyOrPasswordAuthenticationService : AuthenticationServiceBase, IAuthenticationService |
43 | { | 43 | { |
44 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 44 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
45 | 45 | ||
46 | private IConfigSource m_config; | ||
47 | private Dictionary<string, IAuthenticationService> m_svcChecks | 46 | private Dictionary<string, IAuthenticationService> m_svcChecks |
48 | = new Dictionary<string, IAuthenticationService>(); | 47 | = new Dictionary<string, IAuthenticationService>(); |
49 | 48 | ||
50 | public WebkeyOrPasswordAuthenticationService(IConfigSource config) | 49 | public WebkeyOrPasswordAuthenticationService(IConfigSource config) |
51 | : base(config) | 50 | : base(config) |
52 | { | 51 | { |
53 | this.m_config = config; | ||
54 | m_svcChecks["web_login_key"] = new WebkeyAuthenticationService(config); | 52 | m_svcChecks["web_login_key"] = new WebkeyAuthenticationService(config); |
55 | m_svcChecks["password"] = new PasswordAuthenticationService(config); | 53 | m_svcChecks["password"] = new PasswordAuthenticationService(config); |
56 | } | 54 | } |
diff --git a/OpenSim/Services/AuthorizationService/AuthorizationService.cs b/OpenSim/Services/AuthorizationService/AuthorizationService.cs index d658368..03da6e1 100644 --- a/OpenSim/Services/AuthorizationService/AuthorizationService.cs +++ b/OpenSim/Services/AuthorizationService/AuthorizationService.cs | |||
@@ -48,10 +48,11 @@ namespace OpenSim.Services.AuthorizationService | |||
48 | m_log.Info("[AUTHORIZATION CONNECTOR]: Local Authorization service enabled"); | 48 | m_log.Info("[AUTHORIZATION CONNECTOR]: Local Authorization service enabled"); |
49 | } | 49 | } |
50 | 50 | ||
51 | public bool IsAuthorizedForRegion(string userID, string regionID, out string message) | 51 | public bool IsAuthorizedForRegion( |
52 | string userID, string firstName, string lastName, string regionID, out string message) | ||
52 | { | 53 | { |
53 | message = "Authorized"; | 54 | message = "Authorized"; |
54 | return true; | 55 | return true; |
55 | } | 56 | } |
56 | } | 57 | } |
57 | } | 58 | } \ No newline at end of file |
diff --git a/OpenSim/Services/AvatarService/AvatarService.cs b/OpenSim/Services/AvatarService/AvatarService.cs index 53ca7c8..c59a9e0 100644 --- a/OpenSim/Services/AvatarService/AvatarService.cs +++ b/OpenSim/Services/AvatarService/AvatarService.cs | |||
@@ -54,7 +54,7 @@ namespace OpenSim.Services.AvatarService | |||
54 | public AvatarAppearance GetAppearance(UUID principalID) | 54 | public AvatarAppearance GetAppearance(UUID principalID) |
55 | { | 55 | { |
56 | AvatarData avatar = GetAvatar(principalID); | 56 | AvatarData avatar = GetAvatar(principalID); |
57 | return avatar.ToAvatarAppearance(principalID); | 57 | return avatar.ToAvatarAppearance(); |
58 | } | 58 | } |
59 | 59 | ||
60 | public bool SetAppearance(UUID principalID, AvatarAppearance appearance) | 60 | public bool SetAppearance(UUID principalID, AvatarAppearance appearance) |
@@ -109,7 +109,33 @@ namespace OpenSim.Services.AvatarService | |||
109 | foreach (KeyValuePair<string,string> kvp in avatar.Data) | 109 | foreach (KeyValuePair<string,string> kvp in avatar.Data) |
110 | { | 110 | { |
111 | av.Data["Name"] = kvp.Key; | 111 | av.Data["Name"] = kvp.Key; |
112 | av.Data["Value"] = kvp.Value; | 112 | |
113 | // justincc 20110730. Yes, this is a hack to get around the fact that a bug in OpenSim is causing | ||
114 | // various simulators on osgrid to inject bad values. Since these simulators might be around for a | ||
115 | // long time, we are going to manually police the value. | ||
116 | // | ||
117 | // It should be possible to remove this in half a year if we don't want to police values server side. | ||
118 | if (kvp.Key == "AvatarHeight") | ||
119 | { | ||
120 | float height; | ||
121 | if (!float.TryParse(kvp.Value, out height) || height < 0 || height > 10) | ||
122 | { | ||
123 | string rawHeight = kvp.Value.Replace(",", "."); | ||
124 | |||
125 | if (!float.TryParse(rawHeight, out height) || height < 0 || height > 10) | ||
126 | height = 1.771488f; | ||
127 | |||
128 | m_log.DebugFormat( | ||
129 | "[AVATAR SERVICE]: Rectifying height of avatar {0} from {1} to {2}", | ||
130 | principalID, kvp.Value, height); | ||
131 | } | ||
132 | |||
133 | av.Data["Value"] = height.ToString(); | ||
134 | } | ||
135 | else | ||
136 | { | ||
137 | av.Data["Value"] = kvp.Value; | ||
138 | } | ||
113 | 139 | ||
114 | if (!m_Database.Store(av)) | 140 | if (!m_Database.Store(av)) |
115 | { | 141 | { |
diff --git a/OpenSim/Services/Connectors/Asset/AssetServiceConnector.cs b/OpenSim/Services/Connectors/Asset/AssetServiceConnector.cs index 7db2a81..c753c6a 100644 --- a/OpenSim/Services/Connectors/Asset/AssetServiceConnector.cs +++ b/OpenSim/Services/Connectors/Asset/AssetServiceConnector.cs | |||
@@ -51,7 +51,13 @@ namespace OpenSim.Services.Connectors | |||
51 | private int m_retryCounter; | 51 | private int m_retryCounter; |
52 | private Dictionary<int, List<AssetBase>> m_retryQueue = new Dictionary<int, List<AssetBase>>(); | 52 | private Dictionary<int, List<AssetBase>> m_retryQueue = new Dictionary<int, List<AssetBase>>(); |
53 | private Timer m_retryTimer; | 53 | private Timer m_retryTimer; |
54 | private delegate void AssetRetrievedEx(AssetBase asset); | ||
55 | |||
56 | // Keeps track of concurrent requests for the same asset, so that it's only loaded once. | ||
57 | // Maps: Asset ID -> Handlers which will be called when the asset has been loaded | ||
58 | private Dictionary<string, AssetRetrievedEx> m_AssetHandlers = new Dictionary<string, AssetRetrievedEx>(); | ||
54 | private Dictionary<string, string> m_UriMap = new Dictionary<string, string>(); | 59 | private Dictionary<string, string> m_UriMap = new Dictionary<string, string>(); |
60 | |||
55 | public AssetServicesConnector() | 61 | public AssetServicesConnector() |
56 | { | 62 | { |
57 | } | 63 | } |
@@ -259,23 +265,56 @@ namespace OpenSim.Services.Connectors | |||
259 | 265 | ||
260 | if (asset == null || asset.Data == null || asset.Data.Length == 0) | 266 | if (asset == null || asset.Data == null || asset.Data.Length == 0) |
261 | { | 267 | { |
262 | bool result = false; | 268 | lock (m_AssetHandlers) |
269 | { | ||
270 | AssetRetrievedEx handlerEx = new AssetRetrievedEx(delegate(AssetBase _asset) { handler(id, sender, _asset); }); | ||
263 | 271 | ||
264 | AsynchronousRestObjectRequester. | 272 | AssetRetrievedEx handlers; |
265 | MakeRequest<int, AssetBase>("GET", uri, 0, | 273 | if (m_AssetHandlers.TryGetValue(id, out handlers)) |
274 | { | ||
275 | // Someone else is already loading this asset. It will notify our handler when done. | ||
276 | handlers += handlerEx; | ||
277 | return true; | ||
278 | } | ||
279 | |||
280 | // Load the asset ourselves | ||
281 | handlers += handlerEx; | ||
282 | m_AssetHandlers.Add(id, handlers); | ||
283 | } | ||
284 | |||
285 | bool success = false; | ||
286 | try | ||
287 | { | ||
288 | AsynchronousRestObjectRequester.MakeRequest<int, AssetBase>("GET", uri, 0, | ||
266 | delegate(AssetBase a) | 289 | delegate(AssetBase a) |
267 | { | 290 | { |
268 | if (m_Cache != null) | 291 | if (m_Cache != null) |
269 | m_Cache.Cache(a); | 292 | m_Cache.Cache(a); |
270 | handler(id, sender, a); | ||
271 | result = true; | ||
272 | }); | ||
273 | 293 | ||
274 | return result; | 294 | AssetRetrievedEx handlers; |
295 | lock (m_AssetHandlers) | ||
296 | { | ||
297 | handlers = m_AssetHandlers[id]; | ||
298 | m_AssetHandlers.Remove(id); | ||
299 | } | ||
300 | handlers.Invoke(a); | ||
301 | }); | ||
302 | |||
303 | success = true; | ||
304 | } | ||
305 | finally | ||
306 | { | ||
307 | if (!success) | ||
308 | { | ||
309 | lock (m_AssetHandlers) | ||
310 | { | ||
311 | m_AssetHandlers.Remove(id); | ||
312 | } | ||
313 | } | ||
314 | } | ||
275 | } | 315 | } |
276 | else | 316 | else |
277 | { | 317 | { |
278 | //Util.FireAndForget(delegate { handler(id, sender, asset); }); | ||
279 | handler(id, sender, asset); | 318 | handler(id, sender, asset); |
280 | } | 319 | } |
281 | 320 | ||
diff --git a/OpenSim/Services/Connectors/Avatar/AvatarServiceConnector.cs b/OpenSim/Services/Connectors/Avatar/AvatarServiceConnector.cs index 1a93ae7..8fdb4d0 100644 --- a/OpenSim/Services/Connectors/Avatar/AvatarServiceConnector.cs +++ b/OpenSim/Services/Connectors/Avatar/AvatarServiceConnector.cs | |||
@@ -89,7 +89,7 @@ namespace OpenSim.Services.Connectors | |||
89 | public AvatarAppearance GetAppearance(UUID userID) | 89 | public AvatarAppearance GetAppearance(UUID userID) |
90 | { | 90 | { |
91 | AvatarData avatar = GetAvatar(userID); | 91 | AvatarData avatar = GetAvatar(userID); |
92 | return avatar.ToAvatarAppearance(userID); | 92 | return avatar.ToAvatarAppearance(); |
93 | } | 93 | } |
94 | 94 | ||
95 | public bool SetAppearance(UUID userID, AvatarAppearance appearance) | 95 | public bool SetAppearance(UUID userID, AvatarAppearance appearance) |
diff --git a/OpenSim/Services/Connectors/Hypergrid/UserAgentServiceConnector.cs b/OpenSim/Services/Connectors/Hypergrid/UserAgentServiceConnector.cs index 4ce406c..2c36bf5 100644 --- a/OpenSim/Services/Connectors/Hypergrid/UserAgentServiceConnector.cs +++ b/OpenSim/Services/Connectors/Hypergrid/UserAgentServiceConnector.cs | |||
@@ -242,6 +242,7 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
242 | { | 242 | { |
243 | m_log.Debug("[USER AGENT CONNECTOR]: PackAgentCircuitData failed with exception: " + e.Message); | 243 | m_log.Debug("[USER AGENT CONNECTOR]: PackAgentCircuitData failed with exception: " + e.Message); |
244 | } | 244 | } |
245 | |||
245 | // Add the input arguments | 246 | // Add the input arguments |
246 | args["gatekeeper_serveruri"] = OSD.FromString(gatekeeper.ServerURI); | 247 | args["gatekeeper_serveruri"] = OSD.FromString(gatekeeper.ServerURI); |
247 | args["gatekeeper_host"] = OSD.FromString(gatekeeper.ExternalHostName); | 248 | args["gatekeeper_host"] = OSD.FromString(gatekeeper.ExternalHostName); |
@@ -427,7 +428,7 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
427 | paramList.Add(hash); | 428 | paramList.Add(hash); |
428 | 429 | ||
429 | XmlRpcRequest request = new XmlRpcRequest("status_notification", paramList); | 430 | XmlRpcRequest request = new XmlRpcRequest("status_notification", paramList); |
430 | string reason = string.Empty; | 431 | // string reason = string.Empty; |
431 | 432 | ||
432 | // Send and get reply | 433 | // Send and get reply |
433 | List<UUID> friendsOnline = new List<UUID>(); | 434 | List<UUID> friendsOnline = new List<UUID>(); |
@@ -436,17 +437,17 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
436 | { | 437 | { |
437 | response = request.Send(m_ServerURL, 6000); | 438 | response = request.Send(m_ServerURL, 6000); |
438 | } | 439 | } |
439 | catch (Exception e) | 440 | catch |
440 | { | 441 | { |
441 | m_log.DebugFormat("[USER AGENT CONNECTOR]: Unable to contact remote server {0}", m_ServerURL); | 442 | m_log.DebugFormat("[USER AGENT CONNECTOR]: Unable to contact remote server {0} for StatusNotification", m_ServerURL); |
442 | reason = "Exception: " + e.Message; | 443 | // reason = "Exception: " + e.Message; |
443 | return friendsOnline; | 444 | return friendsOnline; |
444 | } | 445 | } |
445 | 446 | ||
446 | if (response.IsFault) | 447 | if (response.IsFault) |
447 | { | 448 | { |
448 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: remote call to {0} returned an error: {1}", m_ServerURL, response.FaultString); | 449 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: remote call to {0} for StatusNotification returned an error: {1}", m_ServerURL, response.FaultString); |
449 | reason = "XMLRPC Fault"; | 450 | // reason = "XMLRPC Fault"; |
450 | return friendsOnline; | 451 | return friendsOnline; |
451 | } | 452 | } |
452 | 453 | ||
@@ -458,7 +459,7 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
458 | if (hash == null) | 459 | if (hash == null) |
459 | { | 460 | { |
460 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: GetOnlineFriends Got null response from {0}! THIS IS BAAAAD", m_ServerURL); | 461 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: GetOnlineFriends Got null response from {0}! THIS IS BAAAAD", m_ServerURL); |
461 | reason = "Internal error 1"; | 462 | // reason = "Internal error 1"; |
462 | return friendsOnline; | 463 | return friendsOnline; |
463 | } | 464 | } |
464 | 465 | ||
@@ -474,10 +475,10 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
474 | } | 475 | } |
475 | 476 | ||
476 | } | 477 | } |
477 | catch (Exception e) | 478 | catch |
478 | { | 479 | { |
479 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: Got exception on GetOnlineFriends response."); | 480 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: Got exception on GetOnlineFriends response."); |
480 | reason = "Exception: " + e.Message; | 481 | // reason = "Exception: " + e.Message; |
481 | } | 482 | } |
482 | 483 | ||
483 | return friendsOnline; | 484 | return friendsOnline; |
@@ -498,7 +499,7 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
498 | paramList.Add(hash); | 499 | paramList.Add(hash); |
499 | 500 | ||
500 | XmlRpcRequest request = new XmlRpcRequest("get_online_friends", paramList); | 501 | XmlRpcRequest request = new XmlRpcRequest("get_online_friends", paramList); |
501 | string reason = string.Empty; | 502 | // string reason = string.Empty; |
502 | 503 | ||
503 | // Send and get reply | 504 | // Send and get reply |
504 | List<UUID> online = new List<UUID>(); | 505 | List<UUID> online = new List<UUID>(); |
@@ -507,17 +508,17 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
507 | { | 508 | { |
508 | response = request.Send(m_ServerURL, 10000); | 509 | response = request.Send(m_ServerURL, 10000); |
509 | } | 510 | } |
510 | catch (Exception e) | 511 | catch |
511 | { | 512 | { |
512 | m_log.DebugFormat("[USER AGENT CONNECTOR]: Unable to contact remote server {0}", m_ServerURL); | 513 | m_log.DebugFormat("[USER AGENT CONNECTOR]: Unable to contact remote server {0} for GetOnlineFriends", m_ServerURL); |
513 | reason = "Exception: " + e.Message; | 514 | // reason = "Exception: " + e.Message; |
514 | return online; | 515 | return online; |
515 | } | 516 | } |
516 | 517 | ||
517 | if (response.IsFault) | 518 | if (response.IsFault) |
518 | { | 519 | { |
519 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: remote call to {0} returned an error: {1}", m_ServerURL, response.FaultString); | 520 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: remote call to {0} for GetOnlineFriends returned an error: {1}", m_ServerURL, response.FaultString); |
520 | reason = "XMLRPC Fault"; | 521 | // reason = "XMLRPC Fault"; |
521 | return online; | 522 | return online; |
522 | } | 523 | } |
523 | 524 | ||
@@ -529,7 +530,7 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
529 | if (hash == null) | 530 | if (hash == null) |
530 | { | 531 | { |
531 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: GetOnlineFriends Got null response from {0}! THIS IS BAAAAD", m_ServerURL); | 532 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: GetOnlineFriends Got null response from {0}! THIS IS BAAAAD", m_ServerURL); |
532 | reason = "Internal error 1"; | 533 | // reason = "Internal error 1"; |
533 | return online; | 534 | return online; |
534 | } | 535 | } |
535 | 536 | ||
@@ -545,10 +546,10 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
545 | } | 546 | } |
546 | 547 | ||
547 | } | 548 | } |
548 | catch (Exception e) | 549 | catch |
549 | { | 550 | { |
550 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: Got exception on GetOnlineFriends response."); | 551 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: Got exception on GetOnlineFriends response."); |
551 | reason = "Exception: " + e.Message; | 552 | // reason = "Exception: " + e.Message; |
552 | } | 553 | } |
553 | 554 | ||
554 | return online; | 555 | return online; |
@@ -563,7 +564,7 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
563 | paramList.Add(hash); | 564 | paramList.Add(hash); |
564 | 565 | ||
565 | XmlRpcRequest request = new XmlRpcRequest("get_server_urls", paramList); | 566 | XmlRpcRequest request = new XmlRpcRequest("get_server_urls", paramList); |
566 | string reason = string.Empty; | 567 | // string reason = string.Empty; |
567 | 568 | ||
568 | // Send and get reply | 569 | // Send and get reply |
569 | Dictionary<string, object> serverURLs = new Dictionary<string,object>(); | 570 | Dictionary<string, object> serverURLs = new Dictionary<string,object>(); |
@@ -572,17 +573,17 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
572 | { | 573 | { |
573 | response = request.Send(m_ServerURL, 10000); | 574 | response = request.Send(m_ServerURL, 10000); |
574 | } | 575 | } |
575 | catch (Exception e) | 576 | catch |
576 | { | 577 | { |
577 | m_log.DebugFormat("[USER AGENT CONNECTOR]: Unable to contact remote server {0}", m_ServerURL); | 578 | m_log.DebugFormat("[USER AGENT CONNECTOR]: Unable to contact remote server {0} for GetServerURLs", m_ServerURL); |
578 | reason = "Exception: " + e.Message; | 579 | // reason = "Exception: " + e.Message; |
579 | return serverURLs; | 580 | return serverURLs; |
580 | } | 581 | } |
581 | 582 | ||
582 | if (response.IsFault) | 583 | if (response.IsFault) |
583 | { | 584 | { |
584 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: remote call to {0} returned an error: {1}", m_ServerURL, response.FaultString); | 585 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: remote call to {0} for GetServerURLs returned an error: {1}", m_ServerURL, response.FaultString); |
585 | reason = "XMLRPC Fault"; | 586 | // reason = "XMLRPC Fault"; |
586 | return serverURLs; | 587 | return serverURLs; |
587 | } | 588 | } |
588 | 589 | ||
@@ -594,7 +595,7 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
594 | if (hash == null) | 595 | if (hash == null) |
595 | { | 596 | { |
596 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: GetServerURLs Got null response from {0}! THIS IS BAAAAD", m_ServerURL); | 597 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: GetServerURLs Got null response from {0}! THIS IS BAAAAD", m_ServerURL); |
597 | reason = "Internal error 1"; | 598 | // reason = "Internal error 1"; |
598 | return serverURLs; | 599 | return serverURLs; |
599 | } | 600 | } |
600 | 601 | ||
@@ -609,10 +610,10 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
609 | } | 610 | } |
610 | 611 | ||
611 | } | 612 | } |
612 | catch (Exception e) | 613 | catch |
613 | { | 614 | { |
614 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: Got exception on GetOnlineFriends response."); | 615 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: Got exception on GetOnlineFriends response."); |
615 | reason = "Exception: " + e.Message; | 616 | // reason = "Exception: " + e.Message; |
616 | } | 617 | } |
617 | 618 | ||
618 | return serverURLs; | 619 | return serverURLs; |
@@ -627,7 +628,7 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
627 | paramList.Add(hash); | 628 | paramList.Add(hash); |
628 | 629 | ||
629 | XmlRpcRequest request = new XmlRpcRequest("locate_user", paramList); | 630 | XmlRpcRequest request = new XmlRpcRequest("locate_user", paramList); |
630 | string reason = string.Empty; | 631 | // string reason = string.Empty; |
631 | 632 | ||
632 | // Send and get reply | 633 | // Send and get reply |
633 | string url = string.Empty; | 634 | string url = string.Empty; |
@@ -636,17 +637,17 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
636 | { | 637 | { |
637 | response = request.Send(m_ServerURL, 10000); | 638 | response = request.Send(m_ServerURL, 10000); |
638 | } | 639 | } |
639 | catch (Exception e) | 640 | catch |
640 | { | 641 | { |
641 | m_log.DebugFormat("[USER AGENT CONNECTOR]: Unable to contact remote server {0}", m_ServerURL); | 642 | m_log.DebugFormat("[USER AGENT CONNECTOR]: Unable to contact remote server {0} for LocateUser", m_ServerURL); |
642 | reason = "Exception: " + e.Message; | 643 | // reason = "Exception: " + e.Message; |
643 | return url; | 644 | return url; |
644 | } | 645 | } |
645 | 646 | ||
646 | if (response.IsFault) | 647 | if (response.IsFault) |
647 | { | 648 | { |
648 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: remote call to {0} returned an error: {1}", m_ServerURL, response.FaultString); | 649 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: remote call to {0} for LocateUser returned an error: {1}", m_ServerURL, response.FaultString); |
649 | reason = "XMLRPC Fault"; | 650 | // reason = "XMLRPC Fault"; |
650 | return url; | 651 | return url; |
651 | } | 652 | } |
652 | 653 | ||
@@ -658,7 +659,7 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
658 | if (hash == null) | 659 | if (hash == null) |
659 | { | 660 | { |
660 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: LocateUser Got null response from {0}! THIS IS BAAAAD", m_ServerURL); | 661 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: LocateUser Got null response from {0}! THIS IS BAAAAD", m_ServerURL); |
661 | reason = "Internal error 1"; | 662 | // reason = "Internal error 1"; |
662 | return url; | 663 | return url; |
663 | } | 664 | } |
664 | 665 | ||
@@ -667,10 +668,10 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
667 | url = hash["URL"].ToString(); | 668 | url = hash["URL"].ToString(); |
668 | 669 | ||
669 | } | 670 | } |
670 | catch (Exception e) | 671 | catch |
671 | { | 672 | { |
672 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: Got exception on LocateUser response."); | 673 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: Got exception on LocateUser response."); |
673 | reason = "Exception: " + e.Message; | 674 | // reason = "Exception: " + e.Message; |
674 | } | 675 | } |
675 | 676 | ||
676 | return url; | 677 | return url; |
@@ -686,7 +687,7 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
686 | paramList.Add(hash); | 687 | paramList.Add(hash); |
687 | 688 | ||
688 | XmlRpcRequest request = new XmlRpcRequest("get_uui", paramList); | 689 | XmlRpcRequest request = new XmlRpcRequest("get_uui", paramList); |
689 | string reason = string.Empty; | 690 | // string reason = string.Empty; |
690 | 691 | ||
691 | // Send and get reply | 692 | // Send and get reply |
692 | string uui = string.Empty; | 693 | string uui = string.Empty; |
@@ -695,17 +696,17 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
695 | { | 696 | { |
696 | response = request.Send(m_ServerURL, 10000); | 697 | response = request.Send(m_ServerURL, 10000); |
697 | } | 698 | } |
698 | catch (Exception e) | 699 | catch |
699 | { | 700 | { |
700 | m_log.DebugFormat("[USER AGENT CONNECTOR]: Unable to contact remote server {0}", m_ServerURL); | 701 | m_log.DebugFormat("[USER AGENT CONNECTOR]: Unable to contact remote server {0} for GetUUI", m_ServerURL); |
701 | reason = "Exception: " + e.Message; | 702 | // reason = "Exception: " + e.Message; |
702 | return uui; | 703 | return uui; |
703 | } | 704 | } |
704 | 705 | ||
705 | if (response.IsFault) | 706 | if (response.IsFault) |
706 | { | 707 | { |
707 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: remote call to {0} returned an error: {1}", m_ServerURL, response.FaultString); | 708 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: remote call to {0} for GetUUI returned an error: {1}", m_ServerURL, response.FaultString); |
708 | reason = "XMLRPC Fault"; | 709 | // reason = "XMLRPC Fault"; |
709 | return uui; | 710 | return uui; |
710 | } | 711 | } |
711 | 712 | ||
@@ -717,7 +718,7 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
717 | if (hash == null) | 718 | if (hash == null) |
718 | { | 719 | { |
719 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: GetUUI Got null response from {0}! THIS IS BAAAAD", m_ServerURL); | 720 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: GetUUI Got null response from {0}! THIS IS BAAAAD", m_ServerURL); |
720 | reason = "Internal error 1"; | 721 | // reason = "Internal error 1"; |
721 | return uui; | 722 | return uui; |
722 | } | 723 | } |
723 | 724 | ||
@@ -726,10 +727,10 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
726 | uui = hash["UUI"].ToString(); | 727 | uui = hash["UUI"].ToString(); |
727 | 728 | ||
728 | } | 729 | } |
729 | catch (Exception e) | 730 | catch |
730 | { | 731 | { |
731 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: Got exception on LocateUser response."); | 732 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: Got exception on LocateUser response."); |
732 | reason = "Exception: " + e.Message; | 733 | // reason = "Exception: " + e.Message; |
733 | } | 734 | } |
734 | 735 | ||
735 | return uui; | 736 | return uui; |
@@ -745,14 +746,14 @@ namespace OpenSim.Services.Connectors.Hypergrid | |||
745 | } | 746 | } |
746 | catch (Exception e) | 747 | catch (Exception e) |
747 | { | 748 | { |
748 | m_log.DebugFormat("[USER AGENT CONNECTOR]: Unable to contact remote server {0}", m_ServerURL); | 749 | m_log.DebugFormat("[USER AGENT CONNECTOR]: Unable to contact remote server {0} for GetBoolResponse", m_ServerURL); |
749 | reason = "Exception: " + e.Message; | 750 | reason = "Exception: " + e.Message; |
750 | return false; | 751 | return false; |
751 | } | 752 | } |
752 | 753 | ||
753 | if (response.IsFault) | 754 | if (response.IsFault) |
754 | { | 755 | { |
755 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: remote call to {0} returned an error: {1}", m_ServerURL, response.FaultString); | 756 | m_log.ErrorFormat("[USER AGENT CONNECTOR]: remote call to {0} for GetBoolResponse returned an error: {1}", m_ServerURL, response.FaultString); |
756 | reason = "XMLRPC Fault"; | 757 | reason = "XMLRPC Fault"; |
757 | return false; | 758 | return false; |
758 | } | 759 | } |
diff --git a/OpenSim/Services/Connectors/MapImage/MapImageServiceConnector.cs b/OpenSim/Services/Connectors/MapImage/MapImageServiceConnector.cs index 520d639..69e2d17 100644 --- a/OpenSim/Services/Connectors/MapImage/MapImageServiceConnector.cs +++ b/OpenSim/Services/Connectors/MapImage/MapImageServiceConnector.cs | |||
@@ -50,7 +50,6 @@ namespace OpenSim.Services.Connectors | |||
50 | MethodBase.GetCurrentMethod().DeclaringType); | 50 | MethodBase.GetCurrentMethod().DeclaringType); |
51 | 51 | ||
52 | private string m_ServerURI = String.Empty; | 52 | private string m_ServerURI = String.Empty; |
53 | private IImprovedAssetCache m_Cache = null; | ||
54 | 53 | ||
55 | public MapImageServicesConnector() | 54 | public MapImageServicesConnector() |
56 | { | 55 | { |
diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianActivityDetector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianActivityDetector.cs index b8703c6..2267325 100644 --- a/OpenSim/Services/Connectors/SimianGrid/SimianActivityDetector.cs +++ b/OpenSim/Services/Connectors/SimianGrid/SimianActivityDetector.cs | |||
@@ -97,7 +97,7 @@ namespace OpenSim.Services.Connectors.SimianGrid | |||
97 | } | 97 | } |
98 | } | 98 | } |
99 | 99 | ||
100 | m_log.DebugFormat("[SIMIAN ACTIVITY DETECTOR]: Detected client logout {0} in {1}", client.AgentId, client.Scene.RegionInfo.RegionName); | 100 | // m_log.DebugFormat("[SIMIAN ACTIVITY DETECTOR]: Detected client logout {0} in {1}", client.AgentId, client.Scene.RegionInfo.RegionName); |
101 | m_GridUserService.LoggedOut(client.AgentId.ToString(), client.SessionId, client.Scene.RegionInfo.RegionID, position, lookat); | 101 | m_GridUserService.LoggedOut(client.AgentId.ToString(), client.SessionId, client.Scene.RegionInfo.RegionID, position, lookat); |
102 | } | 102 | } |
103 | } | 103 | } |
diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianAvatarServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianAvatarServiceConnector.cs index 810399c..360f0dd 100644 --- a/OpenSim/Services/Connectors/SimianGrid/SimianAvatarServiceConnector.cs +++ b/OpenSim/Services/Connectors/SimianGrid/SimianAvatarServiceConnector.cs | |||
@@ -213,7 +213,7 @@ namespace OpenSim.Services.Connectors.SimianGrid | |||
213 | wearables[11] = new AvatarWearable(map["UnderpantsItem"].AsUUID(), map["UnderpantsAsset"].AsUUID()); | 213 | wearables[11] = new AvatarWearable(map["UnderpantsItem"].AsUUID(), map["UnderpantsAsset"].AsUUID()); |
214 | wearables[12] = new AvatarWearable(map["SkirtItem"].AsUUID(), map["SkirtAsset"].AsUUID()); | 214 | wearables[12] = new AvatarWearable(map["SkirtItem"].AsUUID(), map["SkirtAsset"].AsUUID()); |
215 | 215 | ||
216 | AvatarAppearance appearance = new AvatarAppearance(userID); | 216 | AvatarAppearance appearance = new AvatarAppearance(); |
217 | appearance.Wearables = wearables; | 217 | appearance.Wearables = wearables; |
218 | appearance.AvatarHeight = (float)map["Height"].AsReal(); | 218 | appearance.AvatarHeight = (float)map["Height"].AsReal(); |
219 | 219 | ||
@@ -257,7 +257,7 @@ namespace OpenSim.Services.Connectors.SimianGrid | |||
257 | 257 | ||
258 | if (avatar.AvatarType == 1) // LLAvatar | 258 | if (avatar.AvatarType == 1) // LLAvatar |
259 | { | 259 | { |
260 | AvatarAppearance appearance = avatar.ToAvatarAppearance(userID); | 260 | AvatarAppearance appearance = avatar.ToAvatarAppearance(); |
261 | 261 | ||
262 | OSDMap map = new OSDMap(); | 262 | OSDMap map = new OSDMap(); |
263 | 263 | ||
diff --git a/OpenSim/Services/GridService/GridService.cs b/OpenSim/Services/GridService/GridService.cs index 985d77b..0a4372a 100644 --- a/OpenSim/Services/GridService/GridService.cs +++ b/OpenSim/Services/GridService/GridService.cs | |||
@@ -320,18 +320,25 @@ namespace OpenSim.Services.GridService | |||
320 | return null; | 320 | return null; |
321 | } | 321 | } |
322 | 322 | ||
323 | public GridRegion GetRegionByName(UUID scopeID, string regionName) | 323 | public GridRegion GetRegionByName(UUID scopeID, string name) |
324 | { | 324 | { |
325 | List<RegionData> rdatas = m_Database.Get(regionName + "%", scopeID); | 325 | List<RegionData> rdatas = m_Database.Get(name, scopeID); |
326 | if ((rdatas != null) && (rdatas.Count > 0)) | 326 | if ((rdatas != null) && (rdatas.Count > 0)) |
327 | return RegionData2RegionInfo(rdatas[0]); // get the first | 327 | return RegionData2RegionInfo(rdatas[0]); // get the first |
328 | 328 | ||
329 | if (m_AllowHypergridMapSearch) | ||
330 | { | ||
331 | GridRegion r = GetHypergridRegionByName(scopeID, name); | ||
332 | if (r != null) | ||
333 | return r; | ||
334 | } | ||
335 | |||
329 | return null; | 336 | return null; |
330 | } | 337 | } |
331 | 338 | ||
332 | public List<GridRegion> GetRegionsByName(UUID scopeID, string name, int maxNumber) | 339 | public List<GridRegion> GetRegionsByName(UUID scopeID, string name, int maxNumber) |
333 | { | 340 | { |
334 | m_log.DebugFormat("[GRID SERVICE]: GetRegionsByName {0}", name); | 341 | // m_log.DebugFormat("[GRID SERVICE]: GetRegionsByName {0}", name); |
335 | 342 | ||
336 | List<RegionData> rdatas = m_Database.Get(name + "%", scopeID); | 343 | List<RegionData> rdatas = m_Database.Get(name + "%", scopeID); |
337 | 344 | ||
@@ -340,7 +347,7 @@ namespace OpenSim.Services.GridService | |||
340 | 347 | ||
341 | if (rdatas != null) | 348 | if (rdatas != null) |
342 | { | 349 | { |
343 | m_log.DebugFormat("[GRID SERVICE]: Found {0} regions", rdatas.Count); | 350 | // m_log.DebugFormat("[GRID SERVICE]: Found {0} regions", rdatas.Count); |
344 | foreach (RegionData rdata in rdatas) | 351 | foreach (RegionData rdata in rdatas) |
345 | { | 352 | { |
346 | if (count++ < maxNumber) | 353 | if (count++ < maxNumber) |
@@ -348,9 +355,9 @@ namespace OpenSim.Services.GridService | |||
348 | } | 355 | } |
349 | } | 356 | } |
350 | 357 | ||
351 | if (m_AllowHypergridMapSearch && (rdatas == null || (rdatas != null && rdatas.Count == 0)) && name.Contains(".")) | 358 | if (m_AllowHypergridMapSearch && (rdatas == null || (rdatas != null && rdatas.Count == 0))) |
352 | { | 359 | { |
353 | GridRegion r = m_HypergridLinker.LinkRegion(scopeID, name); | 360 | GridRegion r = GetHypergridRegionByName(scopeID, name); |
354 | if (r != null) | 361 | if (r != null) |
355 | rinfos.Add(r); | 362 | rinfos.Add(r); |
356 | } | 363 | } |
@@ -358,6 +365,20 @@ namespace OpenSim.Services.GridService | |||
358 | return rinfos; | 365 | return rinfos; |
359 | } | 366 | } |
360 | 367 | ||
368 | /// <summary> | ||
369 | /// Get a hypergrid region. | ||
370 | /// </summary> | ||
371 | /// <param name="scopeID"></param> | ||
372 | /// <param name="name"></param> | ||
373 | /// <returns>null if no hypergrid region could be found.</returns> | ||
374 | protected GridRegion GetHypergridRegionByName(UUID scopeID, string name) | ||
375 | { | ||
376 | if (name.Contains(".")) | ||
377 | return m_HypergridLinker.LinkRegion(scopeID, name); | ||
378 | else | ||
379 | return null; | ||
380 | } | ||
381 | |||
361 | public List<GridRegion> GetRegionRange(UUID scopeID, int xmin, int xmax, int ymin, int ymax) | 382 | public List<GridRegion> GetRegionRange(UUID scopeID, int xmin, int xmax, int ymin, int ymax) |
362 | { | 383 | { |
363 | int xminSnap = (int)(xmin / Constants.RegionSize) * (int)Constants.RegionSize; | 384 | int xminSnap = (int)(xmin / Constants.RegionSize) * (int)Constants.RegionSize; |
@@ -489,8 +510,9 @@ namespace OpenSim.Services.GridService | |||
489 | OpenSim.Data.RegionFlags flags = (OpenSim.Data.RegionFlags)Convert.ToInt32(r.Data["flags"]); | 510 | OpenSim.Data.RegionFlags flags = (OpenSim.Data.RegionFlags)Convert.ToInt32(r.Data["flags"]); |
490 | MainConsole.Instance.Output(String.Format("{0,-20} {1}\n{2,-20} {3}\n{4,-39} {5}\n\n", | 511 | MainConsole.Instance.Output(String.Format("{0,-20} {1}\n{2,-20} {3}\n{4,-39} {5}\n\n", |
491 | r.RegionName, r.RegionID, | 512 | r.RegionName, r.RegionID, |
492 | String.Format("{0},{1}", r.posX, r.posY), r.Data["serverURI"], | 513 | String.Format("{0},{1}", r.posX / Constants.RegionSize, r.posY / Constants.RegionSize), |
493 | r.Data["owner_uuid"].ToString(), flags.ToString())); | 514 | r.Data["serverURI"], |
515 | r.Data["owner_uuid"], flags)); | ||
494 | } | 516 | } |
495 | return; | 517 | return; |
496 | } | 518 | } |
diff --git a/OpenSim/Services/HypergridService/HGInstantMessageService.cs b/OpenSim/Services/HypergridService/HGInstantMessageService.cs index ded589d..0c9cfd3 100644 --- a/OpenSim/Services/HypergridService/HGInstantMessageService.cs +++ b/OpenSim/Services/HypergridService/HGInstantMessageService.cs | |||
@@ -95,7 +95,6 @@ namespace OpenSim.Services.HypergridService | |||
95 | m_InGatekeeper = serverConfig.GetBoolean("InGatekeeper", false); | 95 | m_InGatekeeper = serverConfig.GetBoolean("InGatekeeper", false); |
96 | m_log.DebugFormat("[HG IM SERVICE]: Starting... InRobust? {0}", m_InGatekeeper); | 96 | m_log.DebugFormat("[HG IM SERVICE]: Starting... InRobust? {0}", m_InGatekeeper); |
97 | 97 | ||
98 | |||
99 | if (gridService == string.Empty || presenceService == string.Empty) | 98 | if (gridService == string.Empty || presenceService == string.Empty) |
100 | throw new Exception(String.Format("Incomplete specifications, InstantMessage Service cannot function.")); | 99 | throw new Exception(String.Format("Incomplete specifications, InstantMessage Service cannot function.")); |
101 | 100 | ||
@@ -120,8 +119,8 @@ namespace OpenSim.Services.HypergridService | |||
120 | 119 | ||
121 | public bool IncomingInstantMessage(GridInstantMessage im) | 120 | public bool IncomingInstantMessage(GridInstantMessage im) |
122 | { | 121 | { |
123 | m_log.DebugFormat("[HG IM SERVICE]: Received message from {0} to {1}", im.fromAgentID, im.toAgentID); | 122 | // m_log.DebugFormat("[HG IM SERVICE]: Received message from {0} to {1}", im.fromAgentID, im.toAgentID); |
124 | UUID toAgentID = new UUID(im.toAgentID); | 123 | // UUID toAgentID = new UUID(im.toAgentID); |
125 | 124 | ||
126 | bool success = false; | 125 | bool success = false; |
127 | if (m_IMSimConnector != null) | 126 | if (m_IMSimConnector != null) |
@@ -142,7 +141,7 @@ namespace OpenSim.Services.HypergridService | |||
142 | 141 | ||
143 | public bool OutgoingInstantMessage(GridInstantMessage im, string url, bool foreigner) | 142 | public bool OutgoingInstantMessage(GridInstantMessage im, string url, bool foreigner) |
144 | { | 143 | { |
145 | m_log.DebugFormat("[HG IM SERVICE]: Sending message from {0} to {1}@{2}", im.fromAgentID, im.toAgentID, url); | 144 | // m_log.DebugFormat("[HG IM SERVICE]: Sending message from {0} to {1}@{2}", im.fromAgentID, im.toAgentID, url); |
146 | if (url != string.Empty) | 145 | if (url != string.Empty) |
147 | return TrySendInstantMessage(im, url, true, foreigner); | 146 | return TrySendInstantMessage(im, url, true, foreigner); |
148 | else | 147 | else |
@@ -326,7 +325,6 @@ namespace OpenSim.Services.HypergridService | |||
326 | // This is recursive!!!!! | 325 | // This is recursive!!!!! |
327 | return TrySendInstantMessage(im, url, false, foreigner); | 326 | return TrySendInstantMessage(im, url, false, foreigner); |
328 | } | 327 | } |
329 | |||
330 | } | 328 | } |
331 | 329 | ||
332 | private bool UndeliveredMessage(GridInstantMessage im) | 330 | private bool UndeliveredMessage(GridInstantMessage im) |
@@ -334,16 +332,15 @@ namespace OpenSim.Services.HypergridService | |||
334 | if (m_RestURL != string.Empty && (im.offline != 0) | 332 | if (m_RestURL != string.Empty && (im.offline != 0) |
335 | && (!im.fromGroup || (im.fromGroup && m_ForwardOfflineGroupMessages))) | 333 | && (!im.fromGroup || (im.fromGroup && m_ForwardOfflineGroupMessages))) |
336 | { | 334 | { |
337 | m_log.DebugFormat("[HG IM SERVICE]: Message saved"); | 335 | // m_log.DebugFormat("[HG IM SERVICE]: Message saved"); |
338 | return SynchronousRestObjectPoster.BeginPostObject<GridInstantMessage, bool>( | ||
339 | "POST", m_RestURL + "/SaveMessage/", im); | ||
340 | 336 | ||
337 | return SynchronousRestObjectRequester.MakeRequest<GridInstantMessage, bool>( | ||
338 | "POST", m_RestURL + "/SaveMessage/", im); | ||
341 | } | 339 | } |
342 | |||
343 | else | 340 | else |
344 | { | 341 | { |
345 | return false; | 342 | return false; |
346 | } | 343 | } |
347 | } | 344 | } |
348 | } | 345 | } |
349 | } | 346 | } \ No newline at end of file |
diff --git a/OpenSim/Services/Interfaces/IAssetService.cs b/OpenSim/Services/Interfaces/IAssetService.cs index 1ac1cec..80494f1 100644 --- a/OpenSim/Services/Interfaces/IAssetService.cs +++ b/OpenSim/Services/Interfaces/IAssetService.cs | |||
@@ -56,7 +56,7 @@ namespace OpenSim.Services.Interfaces | |||
56 | byte[] GetData(string id); | 56 | byte[] GetData(string id); |
57 | 57 | ||
58 | /// <summary> | 58 | /// <summary> |
59 | /// Synchronously fetches an asset from the local cache only | 59 | /// Synchronously fetches an asset from the local cache only. |
60 | /// </summary> | 60 | /// </summary> |
61 | /// <param name="id">Asset ID</param> | 61 | /// <param name="id">Asset ID</param> |
62 | /// <returns>The fetched asset, or null if it did not exist in the local cache</returns> | 62 | /// <returns>The fetched asset, or null if it did not exist in the local cache</returns> |
@@ -75,7 +75,9 @@ namespace OpenSim.Services.Interfaces | |||
75 | /// <summary> | 75 | /// <summary> |
76 | /// Creates a new asset | 76 | /// Creates a new asset |
77 | /// </summary> | 77 | /// </summary> |
78 | /// Returns a random ID if none is passed into it | 78 | /// <remarks> |
79 | /// Returns a random ID if none is passed via the asset argument. | ||
80 | /// </remarks> | ||
79 | /// <param name="asset"></param> | 81 | /// <param name="asset"></param> |
80 | /// <returns></returns> | 82 | /// <returns></returns> |
81 | string Store(AssetBase asset); | 83 | string Store(AssetBase asset); |
@@ -83,7 +85,9 @@ namespace OpenSim.Services.Interfaces | |||
83 | /// <summary> | 85 | /// <summary> |
84 | /// Update an asset's content | 86 | /// Update an asset's content |
85 | /// </summary> | 87 | /// </summary> |
88 | /// <remarks> | ||
86 | /// Attachments and bare scripts need this!! | 89 | /// Attachments and bare scripts need this!! |
90 | /// </remarks> | ||
87 | /// <param name="id"> </param> | 91 | /// <param name="id"> </param> |
88 | /// <param name="data"></param> | 92 | /// <param name="data"></param> |
89 | /// <returns></returns> | 93 | /// <returns></returns> |
diff --git a/OpenSim/Services/Interfaces/IAuthorizationService.cs b/OpenSim/Services/Interfaces/IAuthorizationService.cs index c5d577a..e5c68f6 100644 --- a/OpenSim/Services/Interfaces/IAuthorizationService.cs +++ b/OpenSim/Services/Interfaces/IAuthorizationService.cs | |||
@@ -34,14 +34,21 @@ namespace OpenSim.Services.Interfaces | |||
34 | 34 | ||
35 | public interface IAuthorizationService | 35 | public interface IAuthorizationService |
36 | { | 36 | { |
37 | ////////////////////////////////////////////////////// | 37 | /// <summary> |
38 | // Authorized | 38 | /// Check whether the user should be given access to the region. |
39 | // | 39 | /// </summary> |
40 | // This method returns a simple true false indicating | 40 | /// <remarks> |
41 | // whether or not a user has access to the region | 41 | /// We also supply user first name and last name for situations where the user does not have an account |
42 | // | 42 | /// on the region (e.g. they're a visitor via Hypergrid). |
43 | bool IsAuthorizedForRegion(string userID, string regionID, out string message); | 43 | /// </remarks> |
44 | 44 | /// <param name="userID"></param> | |
45 | /// <param name="firstName">/param> | ||
46 | /// <param name="lastName"></param> | ||
47 | /// <param name="regionID"></param> | ||
48 | /// <param name="message"></param> | ||
49 | /// <returns></returns> | ||
50 | bool IsAuthorizedForRegion( | ||
51 | string userID, string firstName, string lastName, string regionID, out string message); | ||
45 | } | 52 | } |
46 | 53 | ||
47 | public class AuthorizationRequest | 54 | public class AuthorizationRequest |
@@ -63,7 +70,8 @@ namespace OpenSim.Services.Interfaces | |||
63 | m_regionID = RegionID; | 70 | m_regionID = RegionID; |
64 | } | 71 | } |
65 | 72 | ||
66 | public AuthorizationRequest(string ID,string FirstName, string SurName, string Email, string RegionName, string RegionID) | 73 | public AuthorizationRequest( |
74 | string ID, string FirstName, string SurName, string Email, string RegionName, string RegionID) | ||
67 | { | 75 | { |
68 | m_userID = ID; | 76 | m_userID = ID; |
69 | m_firstname = FirstName; | 77 | m_firstname = FirstName; |
@@ -108,9 +116,6 @@ namespace OpenSim.Services.Interfaces | |||
108 | get { return m_regionID; } | 116 | get { return m_regionID; } |
109 | set { m_regionID = value; } | 117 | set { m_regionID = value; } |
110 | } | 118 | } |
111 | |||
112 | |||
113 | |||
114 | } | 119 | } |
115 | 120 | ||
116 | public class AuthorizationResponse | 121 | public class AuthorizationResponse |
@@ -126,7 +131,6 @@ namespace OpenSim.Services.Interfaces | |||
126 | { | 131 | { |
127 | m_isAuthorized = isAuthorized; | 132 | m_isAuthorized = isAuthorized; |
128 | m_message = message; | 133 | m_message = message; |
129 | |||
130 | } | 134 | } |
131 | 135 | ||
132 | public bool IsAuthorized | 136 | public bool IsAuthorized |
@@ -141,4 +145,4 @@ namespace OpenSim.Services.Interfaces | |||
141 | set { m_message = value; } | 145 | set { m_message = value; } |
142 | } | 146 | } |
143 | } | 147 | } |
144 | } | 148 | } \ No newline at end of file |
diff --git a/OpenSim/Services/Interfaces/IAvatarService.cs b/OpenSim/Services/Interfaces/IAvatarService.cs index d7af562..cda7113 100644 --- a/OpenSim/Services/Interfaces/IAvatarService.cs +++ b/OpenSim/Services/Interfaces/IAvatarService.cs | |||
@@ -180,9 +180,9 @@ namespace OpenSim.Services.Interfaces | |||
180 | } | 180 | } |
181 | } | 181 | } |
182 | 182 | ||
183 | public AvatarAppearance ToAvatarAppearance(UUID owner) | 183 | public AvatarAppearance ToAvatarAppearance() |
184 | { | 184 | { |
185 | AvatarAppearance appearance = new AvatarAppearance(owner); | 185 | AvatarAppearance appearance = new AvatarAppearance(); |
186 | 186 | ||
187 | if (Data.Count == 0) | 187 | if (Data.Count == 0) |
188 | return appearance; | 188 | return appearance; |
@@ -262,7 +262,6 @@ namespace OpenSim.Services.Interfaces | |||
262 | UUID.Parse(Data["SkirtItem"]), | 262 | UUID.Parse(Data["SkirtItem"]), |
263 | UUID.Parse(Data["SkirtAsset"])); | 263 | UUID.Parse(Data["SkirtAsset"])); |
264 | 264 | ||
265 | |||
266 | if (Data.ContainsKey("VisualParams")) | 265 | if (Data.ContainsKey("VisualParams")) |
267 | { | 266 | { |
268 | string[] vps = Data["VisualParams"].Split(new char[] {','}); | 267 | string[] vps = Data["VisualParams"].Split(new char[] {','}); |
@@ -291,7 +290,6 @@ namespace OpenSim.Services.Interfaces | |||
291 | } | 290 | } |
292 | } | 291 | } |
293 | 292 | ||
294 | |||
295 | // Attachments | 293 | // Attachments |
296 | Dictionary<string, string> attchs = new Dictionary<string, string>(); | 294 | Dictionary<string, string> attchs = new Dictionary<string, string>(); |
297 | foreach (KeyValuePair<string, string> _kvp in Data) | 295 | foreach (KeyValuePair<string, string> _kvp in Data) |
@@ -308,7 +306,7 @@ namespace OpenSim.Services.Interfaces | |||
308 | UUID uuid = UUID.Zero; | 306 | UUID uuid = UUID.Zero; |
309 | UUID.TryParse(_kvp.Value, out uuid); | 307 | UUID.TryParse(_kvp.Value, out uuid); |
310 | 308 | ||
311 | appearance.SetAttachment(point,uuid,UUID.Zero); | 309 | appearance.SetAttachment(point, uuid, UUID.Zero); |
312 | } | 310 | } |
313 | 311 | ||
314 | if (appearance.Wearables[AvatarWearable.BODY].Count == 0) | 312 | if (appearance.Wearables[AvatarWearable.BODY].Count == 0) |
diff --git a/OpenSim/Services/Interfaces/IGridService.cs b/OpenSim/Services/Interfaces/IGridService.cs index f569fc8..a084309 100644 --- a/OpenSim/Services/Interfaces/IGridService.cs +++ b/OpenSim/Services/Interfaces/IGridService.cs | |||
@@ -71,6 +71,12 @@ namespace OpenSim.Services.Interfaces | |||
71 | /// <returns></returns> | 71 | /// <returns></returns> |
72 | GridRegion GetRegionByPosition(UUID scopeID, int x, int y); | 72 | GridRegion GetRegionByPosition(UUID scopeID, int x, int y); |
73 | 73 | ||
74 | /// <summary> | ||
75 | /// Get information about a region which exactly matches the name given. | ||
76 | /// </summary> | ||
77 | /// <param name="scopeID"></param> | ||
78 | /// <param name="regionName"></param> | ||
79 | /// <returns>Returns the region information if the name matched. Null otherwise.</returns> | ||
74 | GridRegion GetRegionByName(UUID scopeID, string regionName); | 80 | GridRegion GetRegionByName(UUID scopeID, string regionName); |
75 | 81 | ||
76 | /// <summary> | 82 | /// <summary> |
diff --git a/OpenSim/Services/InventoryService/LibraryService.cs b/OpenSim/Services/InventoryService/LibraryService.cs index 383f311..f90895b 100644 --- a/OpenSim/Services/InventoryService/LibraryService.cs +++ b/OpenSim/Services/InventoryService/LibraryService.cs | |||
@@ -193,10 +193,11 @@ namespace OpenSim.Services.InventoryService | |||
193 | item.Description = config.GetString("description", item.Name); | 193 | item.Description = config.GetString("description", item.Name); |
194 | item.InvType = config.GetInt("inventoryType", 0); | 194 | item.InvType = config.GetInt("inventoryType", 0); |
195 | item.AssetType = config.GetInt("assetType", item.InvType); | 195 | item.AssetType = config.GetInt("assetType", item.InvType); |
196 | item.CurrentPermissions = (uint)config.GetLong("currentPermissions", 0x7FFFFFFF); | 196 | item.CurrentPermissions = (uint)config.GetLong("currentPermissions", (uint)PermissionMask.All); |
197 | item.NextPermissions = (uint)config.GetLong("nextPermissions", 0x7FFFFFFF); | 197 | item.NextPermissions = (uint)config.GetLong("nextPermissions", (uint)PermissionMask.All); |
198 | item.EveryOnePermissions = (uint)config.GetLong("everyonePermissions", 0x7FFFFFFF); | 198 | item.EveryOnePermissions |
199 | item.BasePermissions = (uint)config.GetLong("basePermissions", 0x7FFFFFFF); | 199 | = (uint)config.GetLong("everyonePermissions", (uint)PermissionMask.All - (uint)PermissionMask.Modify); |
200 | item.BasePermissions = (uint)config.GetLong("basePermissions", (uint)PermissionMask.All); | ||
200 | item.Flags = (uint)config.GetInt("flags", 0); | 201 | item.Flags = (uint)config.GetInt("flags", 0); |
201 | 202 | ||
202 | if (libraryFolders.ContainsKey(item.Folder)) | 203 | if (libraryFolders.ContainsKey(item.Folder)) |
diff --git a/OpenSim/Services/LLLoginService/LLLoginResponse.cs b/OpenSim/Services/LLLoginService/LLLoginResponse.cs index 82acfbc..de05f28 100644 --- a/OpenSim/Services/LLLoginService/LLLoginResponse.cs +++ b/OpenSim/Services/LLLoginService/LLLoginResponse.cs | |||
@@ -188,6 +188,8 @@ namespace OpenSim.Services.LLLoginService | |||
188 | 188 | ||
189 | private BuddyList m_buddyList = null; | 189 | private BuddyList m_buddyList = null; |
190 | 190 | ||
191 | private string currency; | ||
192 | |||
191 | static LLLoginResponse() | 193 | static LLLoginResponse() |
192 | { | 194 | { |
193 | // This is being set, but it's not used | 195 | // This is being set, but it's not used |
@@ -223,7 +225,7 @@ namespace OpenSim.Services.LLLoginService | |||
223 | public LLLoginResponse(UserAccount account, AgentCircuitData aCircuit, GridUserInfo pinfo, | 225 | public LLLoginResponse(UserAccount account, AgentCircuitData aCircuit, GridUserInfo pinfo, |
224 | GridRegion destination, List<InventoryFolderBase> invSkel, FriendInfo[] friendsList, ILibraryService libService, | 226 | GridRegion destination, List<InventoryFolderBase> invSkel, FriendInfo[] friendsList, ILibraryService libService, |
225 | string where, string startlocation, Vector3 position, Vector3 lookAt, List<InventoryItemBase> gestures, string message, | 227 | string where, string startlocation, Vector3 position, Vector3 lookAt, List<InventoryItemBase> gestures, string message, |
226 | GridRegion home, IPEndPoint clientIP, string mapTileURL, string searchURL) | 228 | GridRegion home, IPEndPoint clientIP, string mapTileURL, string searchURL, string currency) |
227 | : this() | 229 | : this() |
228 | { | 230 | { |
229 | FillOutInventoryData(invSkel, libService); | 231 | FillOutInventoryData(invSkel, libService); |
@@ -241,6 +243,7 @@ namespace OpenSim.Services.LLLoginService | |||
241 | StartLocation = where; | 243 | StartLocation = where; |
242 | MapTileURL = mapTileURL; | 244 | MapTileURL = mapTileURL; |
243 | SearchURL = searchURL; | 245 | SearchURL = searchURL; |
246 | Currency = currency; | ||
244 | 247 | ||
245 | FillOutHomeData(pinfo, home); | 248 | FillOutHomeData(pinfo, home); |
246 | LookAt = String.Format("[r{0},r{1},r{2}]", lookAt.X, lookAt.Y, lookAt.Z); | 249 | LookAt = String.Format("[r{0},r{1},r{2}]", lookAt.X, lookAt.Y, lookAt.Z); |
@@ -388,6 +391,8 @@ namespace OpenSim.Services.LLLoginService | |||
388 | initialOutfit.Add(InitialOutfitHash); | 391 | initialOutfit.Add(InitialOutfitHash); |
389 | mapTileURL = String.Empty; | 392 | mapTileURL = String.Empty; |
390 | searchURL = String.Empty; | 393 | searchURL = String.Empty; |
394 | |||
395 | currency = String.Empty; | ||
391 | } | 396 | } |
392 | 397 | ||
393 | 398 | ||
@@ -462,6 +467,12 @@ namespace OpenSim.Services.LLLoginService | |||
462 | responseData["buddy-list"] = m_buddyList.ToArray(); | 467 | responseData["buddy-list"] = m_buddyList.ToArray(); |
463 | } | 468 | } |
464 | 469 | ||
470 | if (currency != String.Empty) | ||
471 | { | ||
472 | // responseData["real_currency"] = currency; | ||
473 | responseData["currency"] = currency; | ||
474 | } | ||
475 | |||
465 | responseData["login"] = "true"; | 476 | responseData["login"] = "true"; |
466 | 477 | ||
467 | return responseData; | 478 | return responseData; |
@@ -946,6 +957,12 @@ namespace OpenSim.Services.LLLoginService | |||
946 | set { m_buddyList = value; } | 957 | set { m_buddyList = value; } |
947 | } | 958 | } |
948 | 959 | ||
960 | public string Currency | ||
961 | { | ||
962 | get { return currency; } | ||
963 | set { currency = value; } | ||
964 | } | ||
965 | |||
949 | #endregion | 966 | #endregion |
950 | 967 | ||
951 | public class UserInfo | 968 | public class UserInfo |
diff --git a/OpenSim/Services/LLLoginService/LLLoginService.cs b/OpenSim/Services/LLLoginService/LLLoginService.cs index e7dd15e..d8a2054 100644 --- a/OpenSim/Services/LLLoginService/LLLoginService.cs +++ b/OpenSim/Services/LLLoginService/LLLoginService.cs | |||
@@ -75,6 +75,7 @@ namespace OpenSim.Services.LLLoginService | |||
75 | protected bool m_AllowRemoteSetLoginLevel; | 75 | protected bool m_AllowRemoteSetLoginLevel; |
76 | protected string m_MapTileURL; | 76 | protected string m_MapTileURL; |
77 | protected string m_SearchURL; | 77 | protected string m_SearchURL; |
78 | protected string m_Currency; | ||
78 | 79 | ||
79 | protected string m_AllowedClients; | 80 | protected string m_AllowedClients; |
80 | protected string m_DeniedClients; | 81 | protected string m_DeniedClients; |
@@ -108,6 +109,7 @@ namespace OpenSim.Services.LLLoginService | |||
108 | m_GatekeeperURL = m_LoginServerConfig.GetString("GatekeeperURI", string.Empty); | 109 | m_GatekeeperURL = m_LoginServerConfig.GetString("GatekeeperURI", string.Empty); |
109 | m_MapTileURL = m_LoginServerConfig.GetString("MapTileURL", string.Empty); | 110 | m_MapTileURL = m_LoginServerConfig.GetString("MapTileURL", string.Empty); |
110 | m_SearchURL = m_LoginServerConfig.GetString("SearchURL", string.Empty); | 111 | m_SearchURL = m_LoginServerConfig.GetString("SearchURL", string.Empty); |
112 | m_Currency = m_LoginServerConfig.GetString("Currency", string.Empty); | ||
111 | 113 | ||
112 | m_AllowedClients = m_LoginServerConfig.GetString("AllowedClients", string.Empty); | 114 | m_AllowedClients = m_LoginServerConfig.GetString("AllowedClients", string.Empty); |
113 | m_DeniedClients = m_LoginServerConfig.GetString("DeniedClients", string.Empty); | 115 | m_DeniedClients = m_LoginServerConfig.GetString("DeniedClients", string.Empty); |
@@ -408,14 +410,14 @@ namespace OpenSim.Services.LLLoginService | |||
408 | if (m_FriendsService != null) | 410 | if (m_FriendsService != null) |
409 | { | 411 | { |
410 | friendsList = m_FriendsService.GetFriends(account.PrincipalID); | 412 | friendsList = m_FriendsService.GetFriends(account.PrincipalID); |
411 | m_log.DebugFormat("[LLOGIN SERVICE]: Retrieved {0} friends", friendsList.Length); | 413 | // m_log.DebugFormat("[LLOGIN SERVICE]: Retrieved {0} friends", friendsList.Length); |
412 | } | 414 | } |
413 | 415 | ||
414 | // | 416 | // |
415 | // Finally, fill out the response and return it | 417 | // Finally, fill out the response and return it |
416 | // | 418 | // |
417 | LLLoginResponse response = new LLLoginResponse(account, aCircuit, guinfo, destination, inventorySkel, friendsList, m_LibraryService, | 419 | LLLoginResponse response = new LLLoginResponse(account, aCircuit, guinfo, destination, inventorySkel, friendsList, m_LibraryService, |
418 | where, startLocation, position, lookAt, gestures, m_WelcomeMessage, home, clientIP, m_MapTileURL, m_SearchURL); | 420 | where, startLocation, position, lookAt, gestures, m_WelcomeMessage, home, clientIP, m_MapTileURL, m_SearchURL, m_Currency); |
419 | 421 | ||
420 | m_log.DebugFormat("[LLOGIN SERVICE]: All clear. Sending login response to client."); | 422 | m_log.DebugFormat("[LLOGIN SERVICE]: All clear. Sending login response to client."); |
421 | return response; | 423 | return response; |
@@ -792,7 +794,7 @@ namespace OpenSim.Services.LLLoginService | |||
792 | if (avatar != null) | 794 | if (avatar != null) |
793 | aCircuit.Appearance = new AvatarAppearance(avatar); | 795 | aCircuit.Appearance = new AvatarAppearance(avatar); |
794 | else | 796 | else |
795 | aCircuit.Appearance = new AvatarAppearance(account.PrincipalID); | 797 | aCircuit.Appearance = new AvatarAppearance(); |
796 | 798 | ||
797 | //aCircuit.BaseFolder = irrelevant | 799 | //aCircuit.BaseFolder = irrelevant |
798 | aCircuit.CapsPath = CapsUtil.GetRandomCapsObjectPath(); | 800 | aCircuit.CapsPath = CapsUtil.GetRandomCapsObjectPath(); |