diff options
Diffstat (limited to 'OpenSim')
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 | ||