aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/General/RegionInfo.cs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Framework/General/RegionInfo.cs654
1 files changed, 327 insertions, 327 deletions
diff --git a/OpenSim/Framework/General/RegionInfo.cs b/OpenSim/Framework/General/RegionInfo.cs
index c14afd2..1257849 100644
--- a/OpenSim/Framework/General/RegionInfo.cs
+++ b/OpenSim/Framework/General/RegionInfo.cs
@@ -1,328 +1,328 @@
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*
5* Redistribution and use in source and binary forms, with or without 5* Redistribution and use in source and binary forms, with or without
6* modification, are permitted provided that the following conditions are met: 6* modification, are permitted provided that the following conditions are met:
7* * Redistributions of source code must retain the above copyright 7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer. 8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above copyright 9* * Redistributions in binary form must reproduce the above copyright
10* notice, this list of conditions and the following disclaimer in the 10* notice, this list of conditions and the following disclaimer in the
11* documentation and/or other materials provided with the distribution. 11* documentation and/or other materials provided with the distribution.
12* * Neither the name of the OpenSim Project nor the 12* * Neither the name of the OpenSim Project nor the
13* names of its contributors may be used to endorse or promote products 13* names of its contributors may be used to endorse or promote products
14* derived from this software without specific prior written permission. 14* derived from this software without specific prior written permission.
15* 15*
16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY 16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY 19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 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 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 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 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. 25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26* 26*
27*/ 27*/
28using System; 28using System;
29using System.Net; 29using System.Net;
30using System.Net.Sockets; 30using System.Net.Sockets;
31using libsecondlife; 31using libsecondlife;
32using Nini.Config; 32using Nini.Config;
33 33
34namespace OpenSim.Framework 34namespace OpenSim.Framework
35{ 35{
36 public class SimpleRegionInfo 36 public class SimpleRegionInfo
37 { 37 {
38 public SimpleRegionInfo() 38 public SimpleRegionInfo()
39 { 39 {
40 } 40 }
41 41
42 public SimpleRegionInfo(uint regionLocX, uint regionLocY, IPEndPoint internalEndPoint, string externalUri) 42 public SimpleRegionInfo(uint regionLocX, uint regionLocY, IPEndPoint internalEndPoint, string externalUri)
43 { 43 {
44 m_regionLocX = regionLocX; 44 m_regionLocX = regionLocX;
45 m_regionLocY = regionLocY; 45 m_regionLocY = regionLocY;
46 46
47 m_internalEndPoint = internalEndPoint; 47 m_internalEndPoint = internalEndPoint;
48 m_externalHostName = externalUri; 48 m_externalHostName = externalUri;
49 } 49 }
50 50
51 public SimpleRegionInfo(uint regionLocX, uint regionLocY, string externalUri, int port) 51 public SimpleRegionInfo(uint regionLocX, uint regionLocY, string externalUri, int port)
52 { 52 {
53 m_regionLocX = regionLocX; 53 m_regionLocX = regionLocX;
54 m_regionLocY = regionLocY; 54 m_regionLocY = regionLocY;
55 55
56 m_externalHostName = externalUri; 56 m_externalHostName = externalUri;
57 57
58 m_internalEndPoint = new IPEndPoint(IPAddress.Parse("0.0.0.0"), port); 58 m_internalEndPoint = new IPEndPoint(IPAddress.Parse("0.0.0.0"), port);
59 } 59 }
60 60
61 public LLUUID RegionID = new LLUUID(); 61 public LLUUID RegionID = new LLUUID();
62 62
63 private uint m_remotingPort; 63 private uint m_remotingPort;
64 64
65 public uint RemotingPort 65 public uint RemotingPort
66 { 66 {
67 get { return m_remotingPort; } 67 get { return m_remotingPort; }
68 set { m_remotingPort = value; } 68 set { m_remotingPort = value; }
69 } 69 }
70 70
71 public string RemotingAddress; 71 public string RemotingAddress;
72 72
73 73
74 public IPEndPoint ExternalEndPoint 74 public IPEndPoint ExternalEndPoint
75 { 75 {
76 get 76 get
77 { 77 {
78 // Old one defaults to IPv6 78 // Old one defaults to IPv6
79 //return new IPEndPoint( Dns.GetHostAddresses( m_externalHostName )[0], m_internalEndPoint.Port ); 79 //return new IPEndPoint( Dns.GetHostAddresses( m_externalHostName )[0], m_internalEndPoint.Port );
80 80
81 IPAddress ia = null; 81 IPAddress ia = null;
82 // If it is already an IP, don't resolve it - just return directly 82 // If it is already an IP, don't resolve it - just return directly
83 if (IPAddress.TryParse(m_externalHostName, out ia)) 83 if (IPAddress.TryParse(m_externalHostName, out ia))
84 return new IPEndPoint(ia, m_internalEndPoint.Port); 84 return new IPEndPoint(ia, m_internalEndPoint.Port);
85 85
86 // Reset for next check 86 // Reset for next check
87 ia = null; 87 ia = null;
88 88
89 89
90 // New method favors IPv4 90 // New method favors IPv4
91 foreach (IPAddress Adr in Dns.GetHostAddresses(m_externalHostName)) 91 foreach (IPAddress Adr in Dns.GetHostAddresses(m_externalHostName))
92 { 92 {
93 if (ia == null) 93 if (ia == null)
94 ia = Adr; 94 ia = Adr;
95 95
96 if (Adr.AddressFamily == AddressFamily.InterNetwork) 96 if (Adr.AddressFamily == AddressFamily.InterNetwork)
97 { 97 {
98 ia = Adr; 98 ia = Adr;
99 break; 99 break;
100 } 100 }
101 } 101 }
102 102
103 return new IPEndPoint(ia, m_internalEndPoint.Port); 103 return new IPEndPoint(ia, m_internalEndPoint.Port);
104 } 104 }
105 105
106 set { m_externalHostName = value.ToString(); } 106 set { m_externalHostName = value.ToString(); }
107 } 107 }
108 108
109 protected string m_externalHostName; 109 protected string m_externalHostName;
110 110
111 public string ExternalHostName 111 public string ExternalHostName
112 { 112 {
113 get { return m_externalHostName; } 113 get { return m_externalHostName; }
114 set { m_externalHostName = value; } 114 set { m_externalHostName = value; }
115 } 115 }
116 116
117 protected IPEndPoint m_internalEndPoint; 117 protected IPEndPoint m_internalEndPoint;
118 118
119 public IPEndPoint InternalEndPoint 119 public IPEndPoint InternalEndPoint
120 { 120 {
121 get { return m_internalEndPoint; } 121 get { return m_internalEndPoint; }
122 set { m_internalEndPoint = value; } 122 set { m_internalEndPoint = value; }
123 } 123 }
124 124
125 protected uint? m_regionLocX; 125 protected uint? m_regionLocX;
126 126
127 public uint RegionLocX 127 public uint RegionLocX
128 { 128 {
129 get { return m_regionLocX.Value; } 129 get { return m_regionLocX.Value; }
130 set { m_regionLocX = value; } 130 set { m_regionLocX = value; }
131 } 131 }
132 132
133 protected uint? m_regionLocY; 133 protected uint? m_regionLocY;
134 134
135 public uint RegionLocY 135 public uint RegionLocY
136 { 136 {
137 get { return m_regionLocY.Value; } 137 get { return m_regionLocY.Value; }
138 set { m_regionLocY = value; } 138 set { m_regionLocY = value; }
139 } 139 }
140 140
141 public ulong RegionHandle 141 public ulong RegionHandle
142 { 142 {
143 get { return Util.UIntsToLong((RegionLocX*256), (RegionLocY*256)); } 143 get { return Util.UIntsToLong((RegionLocX*256), (RegionLocY*256)); }
144 } 144 }
145 } 145 }
146 146
147 public class RegionInfo : SimpleRegionInfo 147 public class RegionInfo : SimpleRegionInfo
148 { 148 {
149 public string RegionName = ""; 149 public string RegionName = "";
150 150
151 public string DataStore = ""; 151 public string DataStore = "";
152 public bool isSandbox = false; 152 public bool isSandbox = false;
153 153
154 public LLUUID MasterAvatarAssignedUUID = new LLUUID(); 154 public LLUUID MasterAvatarAssignedUUID = new LLUUID();
155 public string MasterAvatarFirstName = ""; 155 public string MasterAvatarFirstName = "";
156 public string MasterAvatarLastName = ""; 156 public string MasterAvatarLastName = "";
157 public string MasterAvatarSandboxPassword = ""; 157 public string MasterAvatarSandboxPassword = "";
158 158
159 // Apparently, we're applying the same estatesettings regardless of whether it's local or remote. 159 // Apparently, we're applying the same estatesettings regardless of whether it's local or remote.
160 private static EstateSettings m_estateSettings; 160 private static EstateSettings m_estateSettings;
161 161
162 public EstateSettings EstateSettings 162 public EstateSettings EstateSettings
163 { 163 {
164 get 164 get
165 { 165 {
166 if (m_estateSettings == null) 166 if (m_estateSettings == null)
167 { 167 {
168 m_estateSettings = new EstateSettings(); 168 m_estateSettings = new EstateSettings();
169 } 169 }
170 170
171 return m_estateSettings; 171 return m_estateSettings;
172 } 172 }
173 } 173 }
174 174
175 public ConfigurationMember configMember; 175 public ConfigurationMember configMember;
176 176
177 public RegionInfo(string description, string filename) 177 public RegionInfo(string description, string filename)
178 { 178 {
179 configMember = 179 configMember =
180 new ConfigurationMember(filename, description, loadConfigurationOptions, handleIncomingConfiguration); 180 new ConfigurationMember(filename, description, loadConfigurationOptions, handleIncomingConfiguration);
181 configMember.performConfigurationRetrieve(); 181 configMember.performConfigurationRetrieve();
182 } 182 }
183 183
184 public RegionInfo(uint regionLocX, uint regionLocY, IPEndPoint internalEndPoint, string externalUri) : 184 public RegionInfo(uint regionLocX, uint regionLocY, IPEndPoint internalEndPoint, string externalUri) :
185 base(regionLocX, regionLocY, internalEndPoint, externalUri) 185 base(regionLocX, regionLocY, internalEndPoint, externalUri)
186 { 186 {
187 } 187 }
188 188
189 public RegionInfo() 189 public RegionInfo()
190 { 190 {
191 } 191 }
192 192
193 //not in use, should swap to nini though. 193 //not in use, should swap to nini though.
194 public void LoadFromNiniSource(IConfigSource source) 194 public void LoadFromNiniSource(IConfigSource source)
195 { 195 {
196 LoadFromNiniSource(source, "RegionInfo"); 196 LoadFromNiniSource(source, "RegionInfo");
197 } 197 }
198 198
199 //not in use, should swap to nini though. 199 //not in use, should swap to nini though.
200 public void LoadFromNiniSource(IConfigSource source, string sectionName) 200 public void LoadFromNiniSource(IConfigSource source, string sectionName)
201 { 201 {
202 string errorMessage = ""; 202 string errorMessage = "";
203 RegionID = 203 RegionID =
204 new LLUUID(source.Configs[sectionName].GetString("Region_ID", LLUUID.Random().ToStringHyphenated())); 204 new LLUUID(source.Configs[sectionName].GetString("Region_ID", LLUUID.Random().ToStringHyphenated()));
205 RegionName = source.Configs[sectionName].GetString("sim_name", "OpenSim Test"); 205 RegionName = source.Configs[sectionName].GetString("sim_name", "OpenSim Test");
206 m_regionLocX = Convert.ToUInt32(source.Configs[sectionName].GetString("sim_location_x", "1000")); 206 m_regionLocX = Convert.ToUInt32(source.Configs[sectionName].GetString("sim_location_x", "1000"));
207 m_regionLocY = Convert.ToUInt32(source.Configs[sectionName].GetString("sim_location_y", "1000")); 207 m_regionLocY = Convert.ToUInt32(source.Configs[sectionName].GetString("sim_location_y", "1000"));
208 DataStore = source.Configs[sectionName].GetString("datastore", "OpenSim.db"); 208 DataStore = source.Configs[sectionName].GetString("datastore", "OpenSim.db");
209 209
210 string ipAddress = source.Configs[sectionName].GetString("internal_ip_address", "0.0.0.0"); 210 string ipAddress = source.Configs[sectionName].GetString("internal_ip_address", "0.0.0.0");
211 IPAddress ipAddressResult; 211 IPAddress ipAddressResult;
212 if (IPAddress.TryParse(ipAddress, out ipAddressResult)) 212 if (IPAddress.TryParse(ipAddress, out ipAddressResult))
213 { 213 {
214 m_internalEndPoint = new IPEndPoint(ipAddressResult, 0); 214 m_internalEndPoint = new IPEndPoint(ipAddressResult, 0);
215 } 215 }
216 else 216 else
217 { 217 {
218 errorMessage = "needs an IP Address (IPAddress)"; 218 errorMessage = "needs an IP Address (IPAddress)";
219 } 219 }
220 m_internalEndPoint.Port = 220 m_internalEndPoint.Port =
221 source.Configs[sectionName].GetInt("internal_ip_port", NetworkServersInfo.DefaultHttpListenerPort); 221 source.Configs[sectionName].GetInt("internal_ip_port", NetworkServersInfo.DefaultHttpListenerPort);
222 222
223 string externalHost = source.Configs[sectionName].GetString("external_host_name", "127.0.0.1"); 223 string externalHost = source.Configs[sectionName].GetString("external_host_name", "127.0.0.1");
224 if (externalHost != "SYSTEMIP") 224 if (externalHost != "SYSTEMIP")
225 { 225 {
226 m_externalHostName = externalHost; 226 m_externalHostName = externalHost;
227 } 227 }
228 else 228 else
229 { 229 {
230 m_externalHostName = Util.GetLocalHost().ToString(); 230 m_externalHostName = Util.GetLocalHost().ToString();
231 } 231 }
232 232
233 MasterAvatarFirstName = source.Configs[sectionName].GetString("master_avatar_first", "Test"); 233 MasterAvatarFirstName = source.Configs[sectionName].GetString("master_avatar_first", "Test");
234 MasterAvatarLastName = source.Configs[sectionName].GetString("master_avatar_last", "User"); 234 MasterAvatarLastName = source.Configs[sectionName].GetString("master_avatar_last", "User");
235 MasterAvatarSandboxPassword = source.Configs[sectionName].GetString("master_avatar_pass", "test"); 235 MasterAvatarSandboxPassword = source.Configs[sectionName].GetString("master_avatar_pass", "test");
236 236
237 if (errorMessage != "") 237 if (errorMessage != "")
238 { 238 {
239 // a error 239 // a error
240 } 240 }
241 } 241 }
242 242
243 public void loadConfigurationOptions() 243 public void loadConfigurationOptions()
244 { 244 {
245 configMember.addConfigurationOption("sim_UUID", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, 245 configMember.addConfigurationOption("sim_UUID", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID,
246 "UUID of Region (Default is recommended, random UUID)", 246 "UUID of Region (Default is recommended, random UUID)",
247 LLUUID.Random().ToString(), true); 247 LLUUID.Random().ToString(), true);
248 configMember.addConfigurationOption("sim_name", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, 248 configMember.addConfigurationOption("sim_name", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
249 "Region Name", "OpenSim Test", false); 249 "Region Name", "OpenSim Test", false);
250 configMember.addConfigurationOption("sim_location_x", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, 250 configMember.addConfigurationOption("sim_location_x", ConfigurationOption.ConfigurationTypes.TYPE_UINT32,
251 "Grid Location (X Axis)", "1000", false); 251 "Grid Location (X Axis)", "1000", false);
252 configMember.addConfigurationOption("sim_location_y", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, 252 configMember.addConfigurationOption("sim_location_y", ConfigurationOption.ConfigurationTypes.TYPE_UINT32,
253 "Grid Location (Y Axis)", "1000", false); 253 "Grid Location (Y Axis)", "1000", false);
254 configMember.addConfigurationOption("datastore", 254 configMember.addConfigurationOption("datastore",
255 ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, 255 ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
256 "Filename for local storage", "OpenSim.db", false); 256 "Filename for local storage", "OpenSim.db", false);
257 configMember.addConfigurationOption("internal_ip_address", 257 configMember.addConfigurationOption("internal_ip_address",
258 ConfigurationOption.ConfigurationTypes.TYPE_IP_ADDRESS, 258 ConfigurationOption.ConfigurationTypes.TYPE_IP_ADDRESS,
259 "Internal IP Address for incoming UDP client connections", "0.0.0.0", 259 "Internal IP Address for incoming UDP client connections", "0.0.0.0",
260 false); 260 false);
261 configMember.addConfigurationOption("internal_ip_port", ConfigurationOption.ConfigurationTypes.TYPE_INT32, 261 configMember.addConfigurationOption("internal_ip_port", ConfigurationOption.ConfigurationTypes.TYPE_INT32,
262 "Internal IP Port for incoming UDP client connections", 262 "Internal IP Port for incoming UDP client connections",
263 NetworkServersInfo.DefaultHttpListenerPort.ToString(), false); 263 NetworkServersInfo.DefaultHttpListenerPort.ToString(), false);
264 configMember.addConfigurationOption("external_host_name", 264 configMember.addConfigurationOption("external_host_name",
265 ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, 265 ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
266 "External Host Name", "127.0.0.1", false); 266 "External Host Name", "127.0.0.1", false);
267 configMember.addConfigurationOption("master_avatar_first", 267 configMember.addConfigurationOption("master_avatar_first",
268 ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, 268 ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
269 "First Name of Master Avatar", "Test", false); 269 "First Name of Master Avatar", "Test", false);
270 configMember.addConfigurationOption("master_avatar_last", 270 configMember.addConfigurationOption("master_avatar_last",
271 ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, 271 ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
272 "Last Name of Master Avatar", "User", false); 272 "Last Name of Master Avatar", "User", false);
273 configMember.addConfigurationOption("master_avatar_pass", ConfigurationOption.ConfigurationTypes.TYPE_STRING, 273 configMember.addConfigurationOption("master_avatar_pass", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
274 "(Sandbox Mode Only)Password for Master Avatar account", "test", false); 274 "(Sandbox Mode Only)Password for Master Avatar account", "test", false);
275 } 275 }
276 276
277 public bool handleIncomingConfiguration(string configuration_key, object configuration_result) 277 public bool handleIncomingConfiguration(string configuration_key, object configuration_result)
278 { 278 {
279 switch (configuration_key) 279 switch (configuration_key)
280 { 280 {
281 case "sim_UUID": 281 case "sim_UUID":
282 RegionID = (LLUUID) configuration_result; 282 RegionID = (LLUUID) configuration_result;
283 break; 283 break;
284 case "sim_name": 284 case "sim_name":
285 RegionName = (string) configuration_result; 285 RegionName = (string) configuration_result;
286 break; 286 break;
287 case "sim_location_x": 287 case "sim_location_x":
288 m_regionLocX = (uint) configuration_result; 288 m_regionLocX = (uint) configuration_result;
289 break; 289 break;
290 case "sim_location_y": 290 case "sim_location_y":
291 m_regionLocY = (uint) configuration_result; 291 m_regionLocY = (uint) configuration_result;
292 break; 292 break;
293 case "datastore": 293 case "datastore":
294 DataStore = (string) configuration_result; 294 DataStore = (string) configuration_result;
295 break; 295 break;
296 case "internal_ip_address": 296 case "internal_ip_address":
297 IPAddress address = (IPAddress) configuration_result; 297 IPAddress address = (IPAddress) configuration_result;
298 m_internalEndPoint = new IPEndPoint(address, 0); 298 m_internalEndPoint = new IPEndPoint(address, 0);
299 break; 299 break;
300 case "internal_ip_port": 300 case "internal_ip_port":
301 m_internalEndPoint.Port = (int) configuration_result; 301 m_internalEndPoint.Port = (int) configuration_result;
302 break; 302 break;
303 case "external_host_name": 303 case "external_host_name":
304 if ((string) configuration_result != "SYSTEMIP") 304 if ((string) configuration_result != "SYSTEMIP")
305 { 305 {
306 m_externalHostName = (string) configuration_result; 306 m_externalHostName = (string) configuration_result;
307 } 307 }
308 else 308 else
309 { 309 {
310 m_externalHostName = Util.GetLocalHost().ToString(); 310 m_externalHostName = Util.GetLocalHost().ToString();
311 } 311 }
312 break; 312 break;
313 case "master_avatar_first": 313 case "master_avatar_first":
314 MasterAvatarFirstName = (string) configuration_result; 314 MasterAvatarFirstName = (string) configuration_result;
315 break; 315 break;
316 case "master_avatar_last": 316 case "master_avatar_last":
317 MasterAvatarLastName = (string) configuration_result; 317 MasterAvatarLastName = (string) configuration_result;
318 break; 318 break;
319 case "master_avatar_pass": 319 case "master_avatar_pass":
320 string tempMD5Passwd = (string) configuration_result; 320 string tempMD5Passwd = (string) configuration_result;
321 MasterAvatarSandboxPassword = Util.Md5Hash(Util.Md5Hash(tempMD5Passwd) + ":" + ""); 321 MasterAvatarSandboxPassword = Util.Md5Hash(Util.Md5Hash(tempMD5Passwd) + ":" + "");
322 break; 322 break;
323 } 323 }
324 324
325 return true; 325 return true;
326 } 326 }
327 } 327 }
328} \ No newline at end of file 328} \ No newline at end of file