aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Framework/Servers/VersionInfo.cs4
-rw-r--r--OpenSim/Framework/WebUtil.cs8
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs6
-rw-r--r--OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs5
-rw-r--r--OpenSim/Services/Connectors/SimianGrid/SimianAuthenticationServiceConnector.cs43
5 files changed, 55 insertions, 11 deletions
diff --git a/OpenSim/Framework/Servers/VersionInfo.cs b/OpenSim/Framework/Servers/VersionInfo.cs
index ec94b2d..90b5f57 100644
--- a/OpenSim/Framework/Servers/VersionInfo.cs
+++ b/OpenSim/Framework/Servers/VersionInfo.cs
@@ -29,7 +29,7 @@ namespace OpenSim
29{ 29{
30 public class VersionInfo 30 public class VersionInfo
31 { 31 {
32 private const string VERSION_NUMBER = "0.6.9"; 32 private const string VERSION_NUMBER = "0.7";
33 private const Flavour VERSION_FLAVOUR = Flavour.Dev; 33 private const Flavour VERSION_FLAVOUR = Flavour.Dev;
34 34
35 public enum Flavour 35 public enum Flavour
@@ -71,4 +71,4 @@ namespace OpenSim
71 /// </value> 71 /// </value>
72 public readonly static int MajorInterfaceVersion = 6; 72 public readonly static int MajorInterfaceVersion = 6;
73 } 73 }
74} 74} \ No newline at end of file
diff --git a/OpenSim/Framework/WebUtil.cs b/OpenSim/Framework/WebUtil.cs
index 16e44af..2843e20 100644
--- a/OpenSim/Framework/WebUtil.cs
+++ b/OpenSim/Framework/WebUtil.cs
@@ -263,8 +263,12 @@ namespace OpenSim.Framework
263 263
264 foreach (string key in parameters.Keys) 264 foreach (string key in parameters.Keys)
265 { 265 {
266 foreach (string value in parameters.GetValues(key)) 266 string[] values = parameters.GetValues(key);
267 items.Add(String.Concat(key, "=", HttpUtility.UrlEncode(value ?? String.Empty))); 267 if (values != null)
268 {
269 foreach (string value in values)
270 items.Add(String.Concat(key, "=", HttpUtility.UrlEncode(value ?? String.Empty)));
271 }
268 } 272 }
269 273
270 return String.Join("&", items.ToArray()); 274 return String.Join("&", items.ToArray());
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index 7fed1ea..8a583c1 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -1266,8 +1266,9 @@ namespace OpenSim.Region.Framework.Scenes
1266 1266
1267 UserAccount account = UserAccountService.GetUserAccount(m_regInfo.ScopeID, first, last); 1267 UserAccount account = UserAccountService.GetUserAccount(m_regInfo.ScopeID, first, last);
1268 1268
1269 if (account != null) 1269 if (account == null)
1270 { 1270 {
1271 // Create a new account
1271 account = new UserAccount(m_regInfo.ScopeID, first, last, String.Empty); 1272 account = new UserAccount(m_regInfo.ScopeID, first, last, String.Empty);
1272 if (account.ServiceURLs == null || (account.ServiceURLs != null && account.ServiceURLs.Count == 0)) 1273 if (account.ServiceURLs == null || (account.ServiceURLs != null && account.ServiceURLs.Count == 0))
1273 { 1274 {
@@ -1325,7 +1326,8 @@ namespace OpenSim.Region.Framework.Scenes
1325 } 1326 }
1326 else 1327 else
1327 { 1328 {
1328 MainConsole.Instance.Output("User account not found. Please enter the name of an existing user"); 1329 m_regInfo.EstateSettings.EstateOwner = account.PrincipalID;
1330 m_regInfo.EstateSettings.Save();
1329 } 1331 }
1330 } 1332 }
1331 } 1333 }
diff --git a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs
index b011295..eb630de 100644
--- a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs
+++ b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs
@@ -1193,8 +1193,9 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups
1193 else 1193 else
1194 { 1194 {
1195 string domain = string.Empty; //m_sceneList[0].CommsManager.NetworkServersInfo.UserURL; 1195 string domain = string.Empty; //m_sceneList[0].CommsManager.NetworkServersInfo.UserURL;
1196 if (account.ServiceURLs["HomeURI"] != null) 1196 object homeUriObj;
1197 domain = account.ServiceURLs["HomeURI"].ToString(); 1197 if (account.ServiceURLs.TryGetValue("HomeURI", out homeUriObj) && homeUriObj != null)
1198 domain = homeUriObj.ToString();
1198 // They're a local user, use this: 1199 // They're a local user, use this:
1199 info.RequestID.UserServiceURL = domain; 1200 info.RequestID.UserServiceURL = domain;
1200 } 1201 }
diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianAuthenticationServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianAuthenticationServiceConnector.cs
index 29c9219..031b326 100644
--- a/OpenSim/Services/Connectors/SimianGrid/SimianAuthenticationServiceConnector.cs
+++ b/OpenSim/Services/Connectors/SimianGrid/SimianAuthenticationServiceConnector.cs
@@ -177,9 +177,46 @@ namespace OpenSim.Services.Connectors.SimianGrid
177 177
178 public bool SetPassword(UUID principalID, string passwd) 178 public bool SetPassword(UUID principalID, string passwd)
179 { 179 {
180 // TODO: Use GetIdentities to find the md5hash identity for principalID 180 // Fetch the user name first
181 // and then update it with AddIdentity 181 NameValueCollection requestArgs = new NameValueCollection
182 m_log.Error("[AUTH CONNECTOR]: Changing passwords is not implemented yet"); 182 {
183 { "RequestMethod", "GetUser" },
184 { "UserID", principalID.ToString() }
185 };
186
187 OSDMap response = WebUtil.PostToService(m_serverUrl, requestArgs);
188 if (response["Success"].AsBoolean() && response["User"] is OSDMap)
189 {
190 OSDMap userMap = (OSDMap)response["User"];
191 string identifier = userMap["Name"].AsString();
192
193 if (!String.IsNullOrEmpty(identifier))
194 {
195 // Add/update the md5hash identity
196 requestArgs = new NameValueCollection
197 {
198 { "RequestMethod", "AddIdentity" },
199 { "Identifier", identifier },
200 { "Credential", "$1$" + Utils.MD5String(passwd) },
201 { "Type", "md5hash" },
202 { "UserID", principalID.ToString() }
203 };
204
205 response = WebUtil.PostToService(m_serverUrl, requestArgs);
206 bool success = response["Success"].AsBoolean();
207
208 if (!success)
209 m_log.WarnFormat("[AUTH CONNECTOR]: Failed to set password for {0} ({1})", identifier, principalID);
210
211 return success;
212 }
213 }
214 else
215 {
216 m_log.Warn("[AUTH CONNECTOR]: Failed to retrieve identities for " + principalID + ": " +
217 response["Message"].AsString());
218 }
219
183 return false; 220 return false;
184 } 221 }
185 222