diff options
Diffstat (limited to '')
5 files changed, 55 insertions, 14 deletions
diff --git a/OpenSim/Data/MySQL/Resources/RegionStore.migrations b/OpenSim/Data/MySQL/Resources/RegionStore.migrations index c884eb4..88ee748 100644 --- a/OpenSim/Data/MySQL/Resources/RegionStore.migrations +++ b/OpenSim/Data/MySQL/Resources/RegionStore.migrations | |||
@@ -787,8 +787,6 @@ CREATE TABLE `regionwindlight` ( | |||
787 | PRIMARY KEY (`region_id`) | 787 | PRIMARY KEY (`region_id`) |
788 | ); | 788 | ); |
789 | 789 | ||
790 | ALTER TABLE estate_settings AUTO_INCREMENT = 100; | ||
791 | COMMIT; | ||
792 | 790 | ||
793 | :VERSION 33 #--------------------- | 791 | :VERSION 33 #--------------------- |
794 | 792 | ||
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 82d4759..ef662f3 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -1362,6 +1362,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
1362 | m_regInfo.EstateSettings.EstateOwner = account.PrincipalID; | 1362 | m_regInfo.EstateSettings.EstateOwner = account.PrincipalID; |
1363 | m_regInfo.EstateSettings.Save(); | 1363 | m_regInfo.EstateSettings.Save(); |
1364 | } | 1364 | } |
1365 | else | ||
1366 | m_log.ErrorFormat("[SCENE]: Unable to store account. If this simulator is connected to a grid,\n you must create the estate owner account first."); | ||
1365 | } | 1367 | } |
1366 | else | 1368 | else |
1367 | { | 1369 | { |
diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianAuthenticationServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianAuthenticationServiceConnector.cs index de3ee4e..3c784f2 100644 --- a/OpenSim/Services/Connectors/SimianGrid/SimianAuthenticationServiceConnector.cs +++ b/OpenSim/Services/Connectors/SimianGrid/SimianAuthenticationServiceConnector.cs | |||
@@ -114,10 +114,9 @@ namespace OpenSim.Services.Connectors.SimianGrid | |||
114 | { | 114 | { |
115 | if (identity["Type"].AsString() == "md5hash") | 115 | if (identity["Type"].AsString() == "md5hash") |
116 | { | 116 | { |
117 | string credential = identity["Credential"].AsString(); | 117 | string authorizeResult; |
118 | 118 | if (CheckPassword(principalID, password, identity["Credential"].AsString(), out authorizeResult)) | |
119 | if (password == credential || "$1$" + password == credential || "$1$" + Utils.MD5String(password) == credential || Utils.MD5String(password) == credential) | 119 | return authorizeResult; |
120 | return Authorize(principalID); | ||
121 | 120 | ||
122 | md5hashFound = true; | 121 | md5hashFound = true; |
123 | break; | 122 | break; |
@@ -125,9 +124,7 @@ namespace OpenSim.Services.Connectors.SimianGrid | |||
125 | } | 124 | } |
126 | } | 125 | } |
127 | 126 | ||
128 | if (md5hashFound) | 127 | if (!md5hashFound) |
129 | m_log.Warn("[SIMIAN AUTH CONNECTOR]: Authentication failed for " + principalID + " using md5hash $1$" + Utils.MD5String(password)); | ||
130 | else | ||
131 | m_log.Warn("[SIMIAN AUTH CONNECTOR]: Authentication failed for " + principalID + ", no md5hash identity found"); | 128 | m_log.Warn("[SIMIAN AUTH CONNECTOR]: Authentication failed for " + principalID + ", no md5hash identity found"); |
132 | } | 129 | } |
133 | else | 130 | else |
@@ -228,6 +225,48 @@ namespace OpenSim.Services.Connectors.SimianGrid | |||
228 | return false; | 225 | return false; |
229 | } | 226 | } |
230 | 227 | ||
228 | private bool CheckPassword(UUID userID, string password, string simianGridCredential, out string authorizeResult) | ||
229 | { | ||
230 | if (simianGridCredential.Contains(":")) | ||
231 | { | ||
232 | // Salted version | ||
233 | int idx = simianGridCredential.IndexOf(':'); | ||
234 | string finalhash = simianGridCredential.Substring(0, idx); | ||
235 | string salt = simianGridCredential.Substring(idx + 1); | ||
236 | |||
237 | if (finalhash == Utils.MD5String(password + ":" + salt)) | ||
238 | { | ||
239 | authorizeResult = Authorize(userID); | ||
240 | return true; | ||
241 | } | ||
242 | else | ||
243 | { | ||
244 | m_log.Warn("[SIMIAN AUTH CONNECTOR]: Authentication failed for " + userID + | ||
245 | " using md5hash " + Utils.MD5String(password) + ":" + salt); | ||
246 | } | ||
247 | } | ||
248 | else | ||
249 | { | ||
250 | // Unsalted version | ||
251 | if (password == simianGridCredential || | ||
252 | "$1$" + password == simianGridCredential || | ||
253 | "$1$" + Utils.MD5String(password) == simianGridCredential || | ||
254 | Utils.MD5String(password) == simianGridCredential) | ||
255 | { | ||
256 | authorizeResult = Authorize(userID); | ||
257 | return true; | ||
258 | } | ||
259 | else | ||
260 | { | ||
261 | m_log.Warn("[SIMIAN AUTH CONNECTOR]: Authentication failed for " + userID + | ||
262 | " using md5hash $1$" + Utils.MD5String(password)); | ||
263 | } | ||
264 | } | ||
265 | |||
266 | authorizeResult = null; | ||
267 | return false; | ||
268 | } | ||
269 | |||
231 | private string Authorize(UUID userID) | 270 | private string Authorize(UUID userID) |
232 | { | 271 | { |
233 | NameValueCollection requestArgs = new NameValueCollection | 272 | NameValueCollection requestArgs = new NameValueCollection |
diff --git a/OpenSim/Services/Interfaces/IUserAccountService.cs b/OpenSim/Services/Interfaces/IUserAccountService.cs index 09d1d87..c580078 100644 --- a/OpenSim/Services/Interfaces/IUserAccountService.cs +++ b/OpenSim/Services/Interfaces/IUserAccountService.cs | |||
@@ -29,6 +29,8 @@ using System; | |||
29 | using System.Collections.Generic; | 29 | using System.Collections.Generic; |
30 | using OpenMetaverse; | 30 | using OpenMetaverse; |
31 | 31 | ||
32 | using OpenSim.Framework; | ||
33 | |||
32 | namespace OpenSim.Services.Interfaces | 34 | namespace OpenSim.Services.Interfaces |
33 | { | 35 | { |
34 | public class UserAccount | 36 | public class UserAccount |
@@ -50,7 +52,7 @@ namespace OpenSim.Services.Interfaces | |||
50 | LastName = lastName; | 52 | LastName = lastName; |
51 | Email = email; | 53 | Email = email; |
52 | ServiceURLs = new Dictionary<string, object>(); | 54 | ServiceURLs = new Dictionary<string, object>(); |
53 | // Created = ??? | 55 | Created = Util.UnixTimeSinceEpoch(); |
54 | } | 56 | } |
55 | 57 | ||
56 | public string FirstName; | 58 | public string FirstName; |
diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 2d69382..9830d38 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example | |||
@@ -5,13 +5,13 @@ | |||
5 | 5 | ||
6 | ;; HG1.5 handlers are: OpenSim.Server.Handlers.dll:GatekeeperService | 6 | ;; HG1.5 handlers are: OpenSim.Server.Handlers.dll:GatekeeperService |
7 | ;; OpenSim.Server.Handlers.dll:UserAgentService | 7 | ;; OpenSim.Server.Handlers.dll:UserAgentService |
8 | ;; OpenSim.Server.Handlers.dll:HGInventoryServiceInConnector | 8 | ;; Additional OpenSim.Server.Handlers.dll:AssetServiceConnector and |
9 | ;; An additional OpenSim.Server.Handlers.dll:AssetServiceConnector is started | 9 | ;; OpenSim.Server.Handlers.dll:XInventoryInConnector |
10 | ;; in port 8002, outside the firewall | 10 | ;; are started in port 8002, outside the firewall |
11 | ;; | 11 | ;; |
12 | 12 | ||
13 | [Startup] | 13 | [Startup] |
14 | ServiceConnectors = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector,8003/OpenSim.Server.Handlers.dll:XInventoryServiceInConnector,8002/OpenSim.Server.Handlers.dll:FreeswitchServerConnector,8003/OpenSim.Server.Handlers.dll:GridServiceConnector,8003/OpenSim.Server.Handlers.dll:GridInfoServerInConnector,8003/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector,8002/OpenSim.Server.Handlers.dll:OpenIdServerConnector,8003/OpenSim.Server.Handlers.dll:AvatarServiceConnector,8002/OpenSim.Server.Handlers.dll:LLLoginServiceInConnector,8003/OpenSim.Server.Handlers.dll:PresenceServiceConnector,8003/OpenSim.Server.Handlers.dll:UserAccountServiceConnector,8003/OpenSim.Server.Handlers.dll:GridUserServiceConnector,8003/OpenSim.Server.Handlers.dll:FriendsServiceConnector,8002/OpenSim.Server.Handlers.dll:GatekeeperServiceInConnector,8002/OpenSim.Server.Handlers.dll:UserAgentServerConnector,HGInventoryService@8002/OpenSim.Server.Handlers.dll:XInventoryInConnector,8002/OpenSim.Server.Handlers.dll:AssetServiceConnector" | 14 | ServiceConnectors = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector,8003/OpenSim.Server.Handlers.dll:XInventoryInConnector,8002/OpenSim.Server.Handlers.dll:FreeswitchServerConnector,8003/OpenSim.Server.Handlers.dll:GridServiceConnector,8003/OpenSim.Server.Handlers.dll:GridInfoServerInConnector,8003/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector,8002/OpenSim.Server.Handlers.dll:OpenIdServerConnector,8003/OpenSim.Server.Handlers.dll:AvatarServiceConnector,8002/OpenSim.Server.Handlers.dll:LLLoginServiceInConnector,8003/OpenSim.Server.Handlers.dll:PresenceServiceConnector,8003/OpenSim.Server.Handlers.dll:UserAccountServiceConnector,8003/OpenSim.Server.Handlers.dll:GridUserServiceConnector,8003/OpenSim.Server.Handlers.dll:FriendsServiceConnector,8002/OpenSim.Server.Handlers.dll:GatekeeperServiceInConnector,8002/OpenSim.Server.Handlers.dll:UserAgentServerConnector,HGInventoryService@8002/OpenSim.Server.Handlers.dll:XInventoryInConnector,8002/OpenSim.Server.Handlers.dll:AssetServiceConnector" |
15 | 15 | ||
16 | ; * This is common for all services, it's the network setup for the entire | 16 | ; * This is common for all services, it's the network setup for the entire |
17 | ; * server instance, if none if specified above | 17 | ; * server instance, if none if specified above |