aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Services/Connectors
diff options
context:
space:
mode:
authorKitto Flora2010-06-17 13:04:32 -0400
committerKitto Flora2010-06-17 13:04:32 -0400
commitcea79056025950303e3b784d824d3cb6168152d0 (patch)
tree0e708850e10f2a6b65cf718264b526ff1a12b9c5 /OpenSim/Services/Connectors
parentAdd rez on water surface. (diff)
parentMerge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/ca... (diff)
downloadopensim-SC-cea79056025950303e3b784d824d3cb6168152d0.zip
opensim-SC-cea79056025950303e3b784d824d3cb6168152d0.tar.gz
opensim-SC-cea79056025950303e3b784d824d3cb6168152d0.tar.bz2
opensim-SC-cea79056025950303e3b784d824d3cb6168152d0.tar.xz
Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor
Diffstat (limited to 'OpenSim/Services/Connectors')
-rw-r--r--OpenSim/Services/Connectors/Grid/GridServiceConnector.cs9
-rw-r--r--OpenSim/Services/Connectors/SimianGrid/SimianAuthenticationServiceConnector.cs53
-rw-r--r--OpenSim/Services/Connectors/SimianGrid/SimianUserAccountServiceConnector.cs2
-rw-r--r--OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs2
4 files changed, 51 insertions, 15 deletions
diff --git a/OpenSim/Services/Connectors/Grid/GridServiceConnector.cs b/OpenSim/Services/Connectors/Grid/GridServiceConnector.cs
index 0ec8912..1831533 100644
--- a/OpenSim/Services/Connectors/Grid/GridServiceConnector.cs
+++ b/OpenSim/Services/Connectors/Grid/GridServiceConnector.cs
@@ -210,9 +210,6 @@ namespace OpenSim.Services.Connectors
210 GridRegion rinfo = new GridRegion((Dictionary<string, object>)r); 210 GridRegion rinfo = new GridRegion((Dictionary<string, object>)r);
211 rinfos.Add(rinfo); 211 rinfos.Add(rinfo);
212 } 212 }
213 else
214 m_log.DebugFormat("[GRID CONNECTOR]: GetNeighbours {0}, {1} received invalid response type {2}",
215 scopeID, regionID, r.GetType());
216 } 213 }
217 } 214 }
218 else 215 else
@@ -299,9 +296,9 @@ namespace OpenSim.Services.Connectors
299 { 296 {
300 if (replyData["result"] is Dictionary<string, object>) 297 if (replyData["result"] is Dictionary<string, object>)
301 rinfo = new GridRegion((Dictionary<string, object>)replyData["result"]); 298 rinfo = new GridRegion((Dictionary<string, object>)replyData["result"]);
302 else 299 //else
303 m_log.DebugFormat("[GRID CONNECTOR]: GetRegionByPosition {0}, {1}-{2} received no region", 300 // m_log.DebugFormat("[GRID CONNECTOR]: GetRegionByPosition {0}, {1}-{2} received no region",
304 scopeID, x, y); 301 // scopeID, x, y);
305 } 302 }
306 else 303 else
307 m_log.DebugFormat("[GRID CONNECTOR]: GetRegionByPosition {0}, {1}-{2} received null response", 304 m_log.DebugFormat("[GRID CONNECTOR]: GetRegionByPosition {0}, {1}-{2} received null response",
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/Connectors/SimianGrid/SimianUserAccountServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianUserAccountServiceConnector.cs
index 874f1a2..56c73ec 100644
--- a/OpenSim/Services/Connectors/SimianGrid/SimianUserAccountServiceConnector.cs
+++ b/OpenSim/Services/Connectors/SimianGrid/SimianUserAccountServiceConnector.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 *
diff --git a/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs b/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs
index 748faef..0947b5f 100644
--- a/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs
+++ b/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs
@@ -483,7 +483,7 @@ namespace OpenSim.Services.Connectors.Simulation
483 } 483 }
484 catch (WebException ex) 484 catch (WebException ex)
485 { 485 {
486 m_log.InfoFormat("[REMOTE SIMULATION CONNECTOR]: exception on reply of agent delete {0}", ex.Message); 486 m_log.InfoFormat("[REMOTE SIMULATION CONNECTOR]: exception on reply of agent delete from {0}: {1}", destination.RegionName, ex.Message);
487 return false; 487 return false;
488 } 488 }
489 finally 489 finally