diff options
Diffstat (limited to 'OpenSim/Framework/Communications')
5 files changed, 18 insertions, 324 deletions
diff --git a/OpenSim/Framework/Communications/Cache/CachedUserInfo.cs b/OpenSim/Framework/Communications/Cache/CachedUserInfo.cs index aa71536..6648c36 100644 --- a/OpenSim/Framework/Communications/Cache/CachedUserInfo.cs +++ b/OpenSim/Framework/Communications/Cache/CachedUserInfo.cs | |||
@@ -679,7 +679,7 @@ namespace OpenSim.Framework.Communications.Cache | |||
679 | /// <param name="fetchFolders"></param> | 679 | /// <param name="fetchFolders"></param> |
680 | /// <param name="fetchItems"></param> | 680 | /// <param name="fetchItems"></param> |
681 | /// <returns>true if the request was queued or successfully processed, false otherwise</returns> | 681 | /// <returns>true if the request was queued or successfully processed, false otherwise</returns> |
682 | public bool SendInventoryDecendents(IClientAPI client, UUID folderID, bool fetchFolders, bool fetchItems) | 682 | public bool SendInventoryDecendents(IClientAPI client, UUID folderID, int version, bool fetchFolders, bool fetchItems) |
683 | { | 683 | { |
684 | if (m_hasReceivedInventory) | 684 | if (m_hasReceivedInventory) |
685 | { | 685 | { |
@@ -693,7 +693,7 @@ namespace OpenSim.Framework.Communications.Cache | |||
693 | 693 | ||
694 | client.SendInventoryFolderDetails( | 694 | client.SendInventoryFolderDetails( |
695 | client.AgentId, folderID, folder.RequestListOfItems(), | 695 | client.AgentId, folderID, folder.RequestListOfItems(), |
696 | folder.RequestListOfFolders(), fetchFolders, fetchItems); | 696 | folder.RequestListOfFolders(), version, fetchFolders, fetchItems); |
697 | 697 | ||
698 | return true; | 698 | return true; |
699 | } | 699 | } |
diff --git a/OpenSim/Framework/Communications/Osp/OspResolver.cs b/OpenSim/Framework/Communications/Osp/OspResolver.cs index 32f0efc..4013896 100644 --- a/OpenSim/Framework/Communications/Osp/OspResolver.cs +++ b/OpenSim/Framework/Communications/Osp/OspResolver.cs | |||
@@ -93,7 +93,7 @@ namespace OpenSim.Framework.Communications.Osp | |||
93 | if (!ospa.StartsWith(OSPA_PREFIX)) | 93 | if (!ospa.StartsWith(OSPA_PREFIX)) |
94 | return UUID.Zero; | 94 | return UUID.Zero; |
95 | 95 | ||
96 | m_log.DebugFormat("[OSP RESOLVER]: Resolving {0}", ospa); | 96 | // m_log.DebugFormat("[OSP RESOLVER]: Resolving {0}", ospa); |
97 | 97 | ||
98 | string ospaMeat = ospa.Substring(OSPA_PREFIX.Length); | 98 | string ospaMeat = ospa.Substring(OSPA_PREFIX.Length); |
99 | string[] ospaTuples = ospaMeat.Split(OSPA_TUPLE_SEPARATOR_ARRAY); | 99 | string[] ospaTuples = ospaMeat.Split(OSPA_TUPLE_SEPARATOR_ARRAY); |
diff --git a/OpenSim/Framework/Communications/Services/LoginService.cs b/OpenSim/Framework/Communications/Services/LoginService.cs index 922cd49..b652299 100644 --- a/OpenSim/Framework/Communications/Services/LoginService.cs +++ b/OpenSim/Framework/Communications/Services/LoginService.cs | |||
@@ -1031,30 +1031,26 @@ namespace OpenSim.Framework.Communications.Services | |||
1031 | return true; | 1031 | return true; |
1032 | } | 1032 | } |
1033 | 1033 | ||
1034 | // StartLocation not available, send him to a nearby region instead | 1034 | // Get the default region handle |
1035 | // regionInfo = m_gridService.RequestClosestRegion(""); | 1035 | ulong defaultHandle = Utils.UIntsToLong(m_defaultHomeX * Constants.RegionSize, m_defaultHomeY * Constants.RegionSize); |
1036 | //m_log.InfoFormat("[LOGIN]: StartLocation not available sending to region {0}", regionInfo.regionName); | ||
1037 | 1036 | ||
1038 | // Send him to default region instead | 1037 | // If we haven't already tried the default region, reset regionInfo |
1039 | ulong defaultHandle = (((ulong)m_defaultHomeX * Constants.RegionSize) << 32) | | 1038 | if (regionInfo != null && defaultHandle != regionInfo.RegionHandle) |
1040 | ((ulong)m_defaultHomeY * Constants.RegionSize); | 1039 | regionInfo = null; |
1041 | 1040 | ||
1042 | if ((regionInfo != null) && (defaultHandle == regionInfo.RegionHandle)) | 1041 | if (regionInfo == null) |
1043 | { | 1042 | { |
1044 | m_log.ErrorFormat("[LOGIN]: Not trying the default region since this is the same as the selected region"); | 1043 | m_log.Error("[LOGIN]: Sending user to default region " + defaultHandle + " instead"); |
1045 | return false; | 1044 | regionInfo = GetRegionInfo(defaultHandle); |
1046 | } | 1045 | } |
1047 | 1046 | ||
1048 | m_log.Error("[LOGIN]: Sending user to default region " + defaultHandle + " instead"); | ||
1049 | regionInfo = GetRegionInfo(defaultHandle); | ||
1050 | |||
1051 | if (regionInfo == null) | 1047 | if (regionInfo == null) |
1052 | { | 1048 | { |
1053 | m_log.ErrorFormat("[LOGIN]: No default region available. Aborting."); | 1049 | m_log.ErrorFormat("[LOGIN]: Sending user to any region"); |
1054 | return false; | 1050 | regionInfo = RequestClosestRegion(String.Empty); |
1055 | } | 1051 | } |
1056 | 1052 | ||
1057 | theUser.CurrentAgent.Position = new Vector3(128, 128, 0); | 1053 | theUser.CurrentAgent.Position = new Vector3(128f, 128f, 0f); |
1058 | response.StartLocation = "safe"; | 1054 | response.StartLocation = "safe"; |
1059 | 1055 | ||
1060 | return PrepareLoginToRegion(regionInfo, theUser, response, client); | 1056 | return PrepareLoginToRegion(regionInfo, theUser, response, client); |
diff --git a/OpenSim/Framework/Communications/Tests/Cache/AssetCacheTests.cs b/OpenSim/Framework/Communications/Tests/Cache/AssetCacheTests.cs deleted file mode 100644 index caaebd7..0000000 --- a/OpenSim/Framework/Communications/Tests/Cache/AssetCacheTests.cs +++ /dev/null | |||
@@ -1,159 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (c) Contributors, http://opensimulator.org/ | ||
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. | ||
4 | * | ||
5 | * Redistribution and use in source and binary forms, with or without | ||
6 | * modification, are permitted provided that the following conditions are met: | ||
7 | * * Redistributions of source code must retain the above copyright | ||
8 | * notice, this list of conditions and the following disclaimer. | ||
9 | * * Redistributions in binary form must reproduce the above copyright | ||
10 | * notice, this list of conditions and the following disclaimer in the | ||
11 | * documentation and/or other materials provided with the distribution. | ||
12 | * * Neither the name of the OpenSimulator Project nor the | ||
13 | * names of its contributors may be used to endorse or promote products | ||
14 | * derived from this software without specific prior written permission. | ||
15 | * | ||
16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY | ||
17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY | ||
20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
26 | */ | ||
27 | |||
28 | using System; | ||
29 | using System.Collections.Generic; | ||
30 | using System.Threading; | ||
31 | using NUnit.Framework; | ||
32 | using NUnit.Framework.SyntaxHelpers; | ||
33 | using OpenMetaverse; | ||
34 | using OpenSim.Framework; | ||
35 | using OpenSim.Framework.Communications.Cache; | ||
36 | using OpenSim.Services.Interfaces; | ||
37 | using OpenSim.Tests.Common.Mock; | ||
38 | |||
39 | namespace OpenSim.Framework.Communications.Tests | ||
40 | { | ||
41 | /// <summary> | ||
42 | /// Asset cache tests | ||
43 | /// </summary> | ||
44 | [TestFixture] | ||
45 | public class AssetCacheTests | ||
46 | { | ||
47 | private class FakeUserService : IUserService | ||
48 | { | ||
49 | public void AddTemporaryUserProfile(UserProfileData userProfile) | ||
50 | { | ||
51 | throw new NotImplementedException(); | ||
52 | } | ||
53 | |||
54 | public UserProfileData GetUserProfile(string firstName, string lastName) | ||
55 | { | ||
56 | throw new NotImplementedException(); | ||
57 | } | ||
58 | |||
59 | public UserProfileData GetUserProfile(UUID userId) | ||
60 | { | ||
61 | throw new NotImplementedException(); | ||
62 | } | ||
63 | |||
64 | public UserProfileData GetUserProfile(Uri uri) | ||
65 | { | ||
66 | UserProfileData userProfile = new UserProfileData(); | ||
67 | |||
68 | // userProfile.ID = new UUID(Util.GetHashGuid(uri.ToString(), AssetCache.AssetInfo.Secret)); | ||
69 | |||
70 | return userProfile; | ||
71 | } | ||
72 | |||
73 | public Uri GetUserUri(UserProfileData userProfile) | ||
74 | { | ||
75 | throw new NotImplementedException(); | ||
76 | } | ||
77 | |||
78 | public UserAgentData GetAgentByUUID(UUID userId) | ||
79 | { | ||
80 | throw new NotImplementedException(); | ||
81 | } | ||
82 | |||
83 | public void ClearUserAgent(UUID avatarID) | ||
84 | { | ||
85 | throw new NotImplementedException(); | ||
86 | } | ||
87 | |||
88 | public List<AvatarPickerAvatar> GenerateAgentPickerRequestResponse(UUID QueryID, string Query) | ||
89 | { | ||
90 | throw new NotImplementedException(); | ||
91 | } | ||
92 | |||
93 | public UserProfileData SetupMasterUser(string firstName, string lastName) | ||
94 | { | ||
95 | throw new NotImplementedException(); | ||
96 | } | ||
97 | |||
98 | public UserProfileData SetupMasterUser(string firstName, string lastName, string password) | ||
99 | { | ||
100 | throw new NotImplementedException(); | ||
101 | } | ||
102 | |||
103 | public UserProfileData SetupMasterUser(UUID userId) | ||
104 | { | ||
105 | throw new NotImplementedException(); | ||
106 | } | ||
107 | |||
108 | public bool UpdateUserProfile(UserProfileData data) | ||
109 | { | ||
110 | throw new NotImplementedException(); | ||
111 | } | ||
112 | |||
113 | public void AddNewUserFriend(UUID friendlistowner, UUID friend, uint perms) | ||
114 | { | ||
115 | throw new NotImplementedException(); | ||
116 | } | ||
117 | |||
118 | public void RemoveUserFriend(UUID friendlistowner, UUID friend) | ||
119 | { | ||
120 | throw new NotImplementedException(); | ||
121 | } | ||
122 | |||
123 | public void UpdateUserFriendPerms(UUID friendlistowner, UUID friend, uint perms) | ||
124 | { | ||
125 | throw new NotImplementedException(); | ||
126 | } | ||
127 | |||
128 | public void LogOffUser(UUID userid, UUID regionid, ulong regionhandle, Vector3 position, Vector3 lookat) | ||
129 | { | ||
130 | throw new NotImplementedException(); | ||
131 | } | ||
132 | |||
133 | public void LogOffUser(UUID userid, UUID regionid, ulong regionhandle, float posx, float posy, float posz) | ||
134 | { | ||
135 | throw new NotImplementedException(); | ||
136 | } | ||
137 | |||
138 | public List<FriendListItem> GetUserFriendList(UUID friendlistowner) | ||
139 | { | ||
140 | throw new NotImplementedException(); | ||
141 | } | ||
142 | |||
143 | public bool VerifySession(UUID userID, UUID sessionID) | ||
144 | { | ||
145 | return true; | ||
146 | } | ||
147 | |||
148 | public void SetInventoryService(IInventoryService inv) | ||
149 | { | ||
150 | throw new NotImplementedException(); | ||
151 | } | ||
152 | |||
153 | public virtual bool AuthenticateUserByPassword(UUID userID, string password) | ||
154 | { | ||
155 | throw new NotImplementedException(); | ||
156 | } | ||
157 | } | ||
158 | } | ||
159 | } | ||
diff --git a/OpenSim/Framework/Communications/Tests/LoginServiceTests.cs b/OpenSim/Framework/Communications/Tests/LoginServiceTests.cs index e891d9c..60f0ba8 100644 --- a/OpenSim/Framework/Communications/Tests/LoginServiceTests.cs +++ b/OpenSim/Framework/Communications/Tests/LoginServiceTests.cs | |||
@@ -75,7 +75,7 @@ namespace OpenSim.Framework.Communications.Tests | |||
75 | 75 | ||
76 | m_regionConnector.AddRegion(new RegionInfo(42, 43, m_capsEndPoint, m_regionExternalName)); | 76 | m_regionConnector.AddRegion(new RegionInfo(42, 43, m_capsEndPoint, m_regionExternalName)); |
77 | 77 | ||
78 | //IInventoryService m_inventoryService = new TestInventoryService(); | 78 | //IInventoryService m_inventoryService = new MockInventoryService(); |
79 | 79 | ||
80 | m_localUserServices = (LocalUserServices) m_commsManager.UserService; | 80 | m_localUserServices = (LocalUserServices) m_commsManager.UserService; |
81 | m_localUserServices.AddUser(m_firstName,m_lastName,"boingboing","abc@ftw.com",42,43); | 81 | m_localUserServices.AddUser(m_firstName,m_lastName,"boingboing","abc@ftw.com",42,43); |
@@ -95,7 +95,8 @@ namespace OpenSim.Framework.Communications.Tests | |||
95 | TestHelper.InMethod(); | 95 | TestHelper.InMethod(); |
96 | // We want to use our own LoginService for this test, one that | 96 | // We want to use our own LoginService for this test, one that |
97 | // doesn't require authentication. | 97 | // doesn't require authentication. |
98 | new LLStandaloneLoginService((UserManagerBase)m_commsManager.UserService, "Hello folks", new TestInventoryService(), | 98 | new LLStandaloneLoginService( |
99 | (UserManagerBase)m_commsManager.UserService, "Hello folks", new MockInventoryService(), | ||
99 | m_commsManager.NetworkServersInfo, false, new LibraryRootFolder(String.Empty), m_regionConnector); | 100 | m_commsManager.NetworkServersInfo, false, new LibraryRootFolder(String.Empty), m_regionConnector); |
100 | 101 | ||
101 | Hashtable loginParams = new Hashtable(); | 102 | Hashtable loginParams = new Hashtable(); |
@@ -457,148 +458,4 @@ namespace OpenSim.Framework.Communications.Tests | |||
457 | #endregion | 458 | #endregion |
458 | } | 459 | } |
459 | } | 460 | } |
460 | 461 | } \ No newline at end of file | |
461 | class TestInventoryService : IInventoryService | ||
462 | { | ||
463 | public TestInventoryService() | ||
464 | { | ||
465 | } | ||
466 | |||
467 | /// <summary> | ||
468 | /// <see cref="OpenSim.Framework.Communications.IInterServiceInventoryServices"/> | ||
469 | /// </summary> | ||
470 | /// <param name="userId"></param> | ||
471 | /// <returns></returns> | ||
472 | public bool CreateUserInventory(UUID userId) | ||
473 | { | ||
474 | return false; | ||
475 | } | ||
476 | |||
477 | /// <summary> | ||
478 | /// <see cref="OpenSim.Framework.Communications.IInterServiceInventoryServices"/> | ||
479 | /// </summary> | ||
480 | /// <param name="userId"></param> | ||
481 | /// <returns></returns> | ||
482 | public List<InventoryFolderBase> GetInventorySkeleton(UUID userId) | ||
483 | { | ||
484 | List<InventoryFolderBase> folders = new List<InventoryFolderBase>(); | ||
485 | InventoryFolderBase folder = new InventoryFolderBase(); | ||
486 | folder.ID = UUID.Random(); | ||
487 | folder.Owner = userId; | ||
488 | folders.Add(folder); | ||
489 | return folders; | ||
490 | } | ||
491 | |||
492 | /// <summary> | ||
493 | /// Returns a list of all the active gestures in a user's inventory. | ||
494 | /// </summary> | ||
495 | /// <param name="userId"> | ||
496 | /// The <see cref="UUID"/> of the user | ||
497 | /// </param> | ||
498 | /// <returns> | ||
499 | /// A flat list of the gesture items. | ||
500 | /// </returns> | ||
501 | public List<InventoryItemBase> GetActiveGestures(UUID userId) | ||
502 | { | ||
503 | return null; | ||
504 | } | ||
505 | |||
506 | public InventoryCollection GetUserInventory(UUID userID) | ||
507 | { | ||
508 | return null; | ||
509 | } | ||
510 | |||
511 | public void GetUserInventory(UUID userID, OpenSim.Services.Interfaces.InventoryReceiptCallback callback) | ||
512 | { | ||
513 | } | ||
514 | |||
515 | public InventoryFolderBase GetFolderForType(UUID userID, AssetType type) | ||
516 | { | ||
517 | return null; | ||
518 | } | ||
519 | |||
520 | public InventoryCollection GetFolderContent(UUID userID, UUID folderID) | ||
521 | { | ||
522 | return null; | ||
523 | } | ||
524 | |||
525 | public List<InventoryItemBase> GetFolderItems(UUID userID, UUID folderID) | ||
526 | { | ||
527 | return null; | ||
528 | } | ||
529 | |||
530 | public bool AddFolder(InventoryFolderBase folder) | ||
531 | { | ||
532 | return false; | ||
533 | } | ||
534 | |||
535 | public bool UpdateFolder(InventoryFolderBase folder) | ||
536 | { | ||
537 | return false; | ||
538 | } | ||
539 | |||
540 | public bool MoveFolder(InventoryFolderBase folder) | ||
541 | { | ||
542 | return false; | ||
543 | } | ||
544 | |||
545 | public bool DeleteFolders(UUID ownerID, List<UUID> ids) | ||
546 | { | ||
547 | return false; | ||
548 | } | ||
549 | |||
550 | public bool PurgeFolder(InventoryFolderBase folder) | ||
551 | { | ||
552 | return false; | ||
553 | } | ||
554 | |||
555 | public bool AddItem(InventoryItemBase item) | ||
556 | { | ||
557 | return false; | ||
558 | } | ||
559 | |||
560 | public bool UpdateItem(InventoryItemBase item) | ||
561 | { | ||
562 | return false; | ||
563 | } | ||
564 | |||
565 | public bool MoveItems(UUID owner, List<InventoryItemBase> items) | ||
566 | { | ||
567 | return false; | ||
568 | } | ||
569 | |||
570 | public bool DeleteItems(UUID owner, List<UUID> items) | ||
571 | { | ||
572 | return false; | ||
573 | } | ||
574 | |||
575 | public InventoryItemBase GetItem(InventoryItemBase item) | ||
576 | { | ||
577 | return null; | ||
578 | } | ||
579 | |||
580 | public InventoryFolderBase GetFolder(InventoryFolderBase folder) | ||
581 | { | ||
582 | return null; | ||
583 | } | ||
584 | |||
585 | public bool HasInventoryForUser(UUID userID) | ||
586 | { | ||
587 | return false; | ||
588 | } | ||
589 | |||
590 | public InventoryFolderBase GetRootFolder(UUID userID) | ||
591 | { | ||
592 | InventoryFolderBase root = new InventoryFolderBase(); | ||
593 | root.ID = UUID.Random(); | ||
594 | root.Owner = userID; | ||
595 | root.ParentID = UUID.Zero; | ||
596 | return root; | ||
597 | } | ||
598 | |||
599 | public int GetAssetPermissions(UUID userID, UUID assetID) | ||
600 | { | ||
601 | return 1; | ||
602 | } | ||
603 | } | ||
604 | } | ||