aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules
diff options
context:
space:
mode:
authorMelanie2012-05-14 23:32:49 +0100
committerMelanie2012-05-14 23:32:49 +0100
commit6126b6da72bc0d3265df1ec45901f10737173d9a (patch)
tree2e645853cccef8591738a59a8b76bb14a0d2fb0b /OpenSim/Region/CoreModules
parentMerge branch 'avination' into careminster (diff)
parentSave the Telehub and its Spawn Points in the OAR (diff)
downloadopensim-SC_OLD-6126b6da72bc0d3265df1ec45901f10737173d9a.zip
opensim-SC_OLD-6126b6da72bc0d3265df1ec45901f10737173d9a.tar.gz
opensim-SC_OLD-6126b6da72bc0d3265df1ec45901f10737173d9a.tar.bz2
opensim-SC_OLD-6126b6da72bc0d3265df1ec45901f10737173d9a.tar.xz
Merge branch 'master' into careminster
Conflicts: OpenSim/Region/Framework/Scenes/Scene.cs OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
Diffstat (limited to 'OpenSim/Region/CoreModules')
-rw-r--r--OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs10
-rw-r--r--OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs63
-rw-r--r--OpenSim/Region/CoreModules/Scripting/EMailModules/EmailModule.cs24
-rw-r--r--OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs25
-rw-r--r--OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequestPreparation.cs2
-rw-r--r--OpenSim/Region/CoreModules/World/Archiver/Tests/ArchiverTests.cs4
6 files changed, 89 insertions, 39 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs b/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs
index d98ea39..875c073 100644
--- a/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs
@@ -371,11 +371,21 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory
371 if (missingTexturesOnly) 371 if (missingTexturesOnly)
372 { 372 {
373 if (m_scene.AssetService.Get(face.TextureID.ToString()) != null) 373 if (m_scene.AssetService.Get(face.TextureID.ToString()) != null)
374 {
374 continue; 375 continue;
376 }
375 else 377 else
378 {
379 // On inter-simulator teleports, this occurs if baked textures are not being stored by the
380 // grid asset service (which means that they are not available to the new region and so have
381 // to be re-requested from the client).
382 //
383 // The only available core OpenSimulator behaviour right now
384 // is not to store these textures, temporarily or otherwise.
376 m_log.DebugFormat( 385 m_log.DebugFormat(
377 "[AVFACTORY]: Missing baked texture {0} ({1}) for {2}, requesting rebake.", 386 "[AVFACTORY]: Missing baked texture {0} ({1}) for {2}, requesting rebake.",
378 face.TextureID, idx, sp.Name); 387 face.TextureID, idx, sp.Name);
388 }
379 } 389 }
380 else 390 else
381 { 391 {
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
index d4fbdce..514a65b 100644
--- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
@@ -53,7 +53,6 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
53 public const int DefaultMaxTransferDistance = 4095; 53 public const int DefaultMaxTransferDistance = 4095;
54 public const bool EnableWaitForCallbackFromTeleportDestDefault = true; 54 public const bool EnableWaitForCallbackFromTeleportDestDefault = true;
55 55
56
57 /// <summary> 56 /// <summary>
58 /// The maximum distance, in standard region units (256m) that an agent is allowed to transfer. 57 /// The maximum distance, in standard region units (256m) that an agent is allowed to transfer.
59 /// </summary> 58 /// </summary>
@@ -211,6 +210,9 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
211 sp.Name, sp.AbsolutePosition, sp.Scene.RegionInfo.RegionName, position, destinationRegionName, 210 sp.Name, sp.AbsolutePosition, sp.Scene.RegionInfo.RegionName, position, destinationRegionName,
212 e.Message, e.StackTrace); 211 e.Message, e.StackTrace);
213 212
213 // Make sure that we clear the in-transit flag so that future teleport attempts don't always fail.
214 ResetFromTransit(sp.UUID);
215
214 sp.ControllingClient.SendTeleportFailed("Internal error"); 216 sp.ControllingClient.SendTeleportFailed("Internal error");
215 } 217 }
216 } 218 }
@@ -386,7 +388,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
386 return; 388 return;
387 } 389 }
388 390
389 if (IsInTransit(sp.UUID)) // Avie is already on the way. Caller shouldn't do this. 391 if (!SetInTransit(sp.UUID)) // Avie is already on the way. Caller shouldn't do this.
390 { 392 {
391 m_log.DebugFormat( 393 m_log.DebugFormat(
392 "[ENTITY TRANSFER MODULE]: Ignoring teleport request of {0} {1} to {2} ({3}) {4}/{5} - agent is already in transit.", 394 "[ENTITY TRANSFER MODULE]: Ignoring teleport request of {0} {1} to {2} ({3}) {4}/{5} - agent is already in transit.",
@@ -434,8 +436,11 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
434 if (!m_aScene.SimulationService.QueryAccess(finalDestination, sp.ControllingClient.AgentId, Vector3.Zero, out version, out reason)) 436 if (!m_aScene.SimulationService.QueryAccess(finalDestination, sp.ControllingClient.AgentId, Vector3.Zero, out version, out reason))
435 { 437 {
436 sp.ControllingClient.SendTeleportFailed("Teleport failed: " + reason); 438 sp.ControllingClient.SendTeleportFailed("Teleport failed: " + reason);
439 ResetFromTransit(sp.UUID);
440
437 return; 441 return;
438 } 442 }
443
439 m_log.DebugFormat("[ENTITY TRANSFER MODULE]: Destination is running version {0}", version); 444 m_log.DebugFormat("[ENTITY TRANSFER MODULE]: Destination is running version {0}", version);
440 445
441 sp.ControllingClient.SendTeleportStart(teleportFlags); 446 sp.ControllingClient.SendTeleportStart(teleportFlags);
@@ -475,13 +480,16 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
475 bool logout = false; 480 bool logout = false;
476 if (!CreateAgent(sp, reg, finalDestination, agentCircuit, teleportFlags, out reason, out logout)) 481 if (!CreateAgent(sp, reg, finalDestination, agentCircuit, teleportFlags, out reason, out logout))
477 { 482 {
478 sp.ControllingClient.SendTeleportFailed(String.Format("Teleport refused: {0}", 483 sp.ControllingClient.SendTeleportFailed(
479 reason)); 484 String.Format("Teleport refused: {0}", reason));
485 ResetFromTransit(sp.UUID);
486
480 return; 487 return;
481 } 488 }
482 489
483 // OK, it got this agent. Let's close some child agents 490 // OK, it got this agent. Let's close some child agents
484 sp.CloseChildAgents(newRegionX, newRegionY); 491 sp.CloseChildAgents(newRegionX, newRegionY);
492
485 IClientIPEndpoint ipepClient; 493 IClientIPEndpoint ipepClient;
486 if (NeedsNewAgent(sp.DrawDistance, oldRegionX, newRegionX, oldRegionY, newRegionY)) 494 if (NeedsNewAgent(sp.DrawDistance, oldRegionX, newRegionX, oldRegionY, newRegionY))
487 { 495 {
@@ -518,8 +526,6 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
518 capsPath = finalDestination.ServerURI + CapsUtil.GetCapsSeedPath(agentCircuit.CapsPath); 526 capsPath = finalDestination.ServerURI + CapsUtil.GetCapsSeedPath(agentCircuit.CapsPath);
519 } 527 }
520 528
521 SetInTransit(sp.UUID);
522
523 // Let's send a full update of the agent. This is a synchronous call. 529 // Let's send a full update of the agent. This is a synchronous call.
524 AgentData agent = new AgentData(); 530 AgentData agent = new AgentData();
525 sp.CopyTo(agent); 531 sp.CopyTo(agent);
@@ -532,8 +538,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
532 { 538 {
533 // Region doesn't take it 539 // Region doesn't take it
534 m_log.WarnFormat( 540 m_log.WarnFormat(
535 "[ENTITY TRANSFER MODULE]: UpdateAgent failed on teleport of {0} to {1}. Returning avatar to source region.", 541 "[ENTITY TRANSFER MODULE]: UpdateAgent failed on teleport of {0} to {1} from {2}. Returning avatar to source region.",
536 sp.Name, finalDestination.RegionName); 542 sp.Name, finalDestination.RegionName, sp.Scene.RegionInfo.RegionName);
537 543
538 Fail(sp, finalDestination, logout); 544 Fail(sp, finalDestination, logout);
539 return; 545 return;
@@ -565,8 +571,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
565 if (EnableWaitForCallbackFromTeleportDest && !WaitForCallback(sp.UUID)) 571 if (EnableWaitForCallbackFromTeleportDest && !WaitForCallback(sp.UUID))
566 { 572 {
567 m_log.WarnFormat( 573 m_log.WarnFormat(
568 "[ENTITY TRANSFER MODULE]: Teleport of {0} to {1} failed due to no callback from destination region. Returning avatar to source region.", 574 "[ENTITY TRANSFER MODULE]: Teleport of {0} to {1} from {2} failed due to no callback from destination region. Returning avatar to source region.",
569 sp.Name, finalDestination.RegionName); 575 sp.Name, finalDestination.RegionName, sp.Scene.RegionInfo.RegionName);
570 576
571 Fail(sp, finalDestination, logout); 577 Fail(sp, finalDestination, logout);
572 return; 578 return;
@@ -662,8 +668,10 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
662 protected virtual void SetCallbackURL(AgentData agent, RegionInfo region) 668 protected virtual void SetCallbackURL(AgentData agent, RegionInfo region)
663 { 669 {
664 agent.CallbackURI = region.ServerURI + "agent/" + agent.AgentID.ToString() + "/" + region.RegionID.ToString() + "/release/"; 670 agent.CallbackURI = region.ServerURI + "agent/" + agent.AgentID.ToString() + "/" + region.RegionID.ToString() + "/release/";
665 m_log.DebugFormat("[ENTITY TRANSFER MODULE]: Set callback URL to {0}", agent.CallbackURI);
666 671
672 m_log.DebugFormat(
673 "[ENTITY TRANSFER MODULE]: Set release callback URL to {0} in {1}",
674 agent.CallbackURI, region.RegionName);
667 } 675 }
668 676
669 protected virtual void AgentHasMovedAway(ScenePresence sp, bool logout) 677 protected virtual void AgentHasMovedAway(ScenePresence sp, bool logout)
@@ -1921,25 +1929,43 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
1921 return count > 0; 1929 return count > 0;
1922 } 1930 }
1923 1931
1924 protected void SetInTransit(UUID id) 1932 /// <summary>
1933 /// Set that an agent is in the process of being teleported.
1934 /// </summary>
1935 /// <param name='id'>The ID of the agent being teleported</param>
1936 /// <returns>true if the agent was not already in transit, false if it was</returns>
1937 protected bool SetInTransit(UUID id)
1925 { 1938 {
1926 lock (m_agentsInTransit) 1939 lock (m_agentsInTransit)
1927 { 1940 {
1928 if (!m_agentsInTransit.Contains(id)) 1941 if (!m_agentsInTransit.Contains(id))
1942 {
1929 m_agentsInTransit.Add(id); 1943 m_agentsInTransit.Add(id);
1944 return true;
1945 }
1930 } 1946 }
1947
1948 return false;
1931 } 1949 }
1932 1950
1951 /// <summary>
1952 /// Show whether the given agent is being teleported.
1953 /// </summary>
1954 /// <returns>true if the agent is in the process of being teleported, false otherwise.</returns>
1955 /// <param name='id'>The agent ID</para></param>
1933 protected bool IsInTransit(UUID id) 1956 protected bool IsInTransit(UUID id)
1934 { 1957 {
1935 lock (m_agentsInTransit) 1958 lock (m_agentsInTransit)
1936 { 1959 return m_agentsInTransit.Contains(id);
1937 if (m_agentsInTransit.Contains(id))
1938 return true;
1939 }
1940 return false;
1941 } 1960 }
1942 1961
1962 /// <summary>
1963 /// Set that an agent is no longer being teleported.
1964 /// </summary>
1965 /// <returns></returns>
1966 /// <param name='id'>
1967 /// true if the agent was flagged as being teleported when this method was called, false otherwise
1968 /// </param>
1943 protected bool ResetFromTransit(UUID id) 1969 protected bool ResetFromTransit(UUID id)
1944 { 1970 {
1945 lock (m_agentsInTransit) 1971 lock (m_agentsInTransit)
@@ -1950,6 +1976,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
1950 return true; 1976 return true;
1951 } 1977 }
1952 } 1978 }
1979
1953 return false; 1980 return false;
1954 } 1981 }
1955 1982
@@ -1980,4 +2007,4 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
1980 #endregion 2007 #endregion
1981 2008
1982 } 2009 }
1983} 2010} \ No newline at end of file
diff --git a/OpenSim/Region/CoreModules/Scripting/EMailModules/EmailModule.cs b/OpenSim/Region/CoreModules/Scripting/EMailModules/EmailModule.cs
index 9255791..e91e8b9 100644
--- a/OpenSim/Region/CoreModules/Scripting/EMailModules/EmailModule.cs
+++ b/OpenSim/Region/CoreModules/Scripting/EMailModules/EmailModule.cs
@@ -64,6 +64,8 @@ namespace OpenSim.Region.CoreModules.Scripting.EmailModules
64 private TimeSpan m_QueueTimeout = new TimeSpan(2, 0, 0); // 2 hours without llGetNextEmail drops the queue 64 private TimeSpan m_QueueTimeout = new TimeSpan(2, 0, 0); // 2 hours without llGetNextEmail drops the queue
65 private string m_InterObjectHostname = "lsl.opensim.local"; 65 private string m_InterObjectHostname = "lsl.opensim.local";
66 66
67 private int m_MaxEmailSize = 4096; // largest email allowed by default, as per lsl docs.
68
67 // Scenes by Region Handle 69 // Scenes by Region Handle
68 private Dictionary<ulong, Scene> m_Scenes = 70 private Dictionary<ulong, Scene> m_Scenes =
69 new Dictionary<ulong, Scene>(); 71 new Dictionary<ulong, Scene>();
@@ -127,6 +129,7 @@ namespace OpenSim.Region.CoreModules.Scripting.EmailModules
127 SMTP_SERVER_PORT = SMTPConfig.GetInt("SMTP_SERVER_PORT", SMTP_SERVER_PORT); 129 SMTP_SERVER_PORT = SMTPConfig.GetInt("SMTP_SERVER_PORT", SMTP_SERVER_PORT);
128 SMTP_SERVER_LOGIN = SMTPConfig.GetString("SMTP_SERVER_LOGIN", SMTP_SERVER_LOGIN); 130 SMTP_SERVER_LOGIN = SMTPConfig.GetString("SMTP_SERVER_LOGIN", SMTP_SERVER_LOGIN);
129 SMTP_SERVER_PASSWORD = SMTPConfig.GetString("SMTP_SERVER_PASSWORD", SMTP_SERVER_PASSWORD); 131 SMTP_SERVER_PASSWORD = SMTPConfig.GetString("SMTP_SERVER_PASSWORD", SMTP_SERVER_PASSWORD);
132 m_MaxEmailSize = SMTPConfig.GetInt("email_max_size", m_MaxEmailSize);
130 } 133 }
131 catch (Exception e) 134 catch (Exception e)
132 { 135 {
@@ -176,18 +179,6 @@ namespace OpenSim.Region.CoreModules.Scripting.EmailModules
176 get { return true; } 179 get { return true; }
177 } 180 }
178 181
179 /// <summary>
180 /// Delay function using thread in seconds
181 /// </summary>
182 /// <param name="seconds"></param>
183 private void DelayInSeconds(int delay)
184 {
185 delay = (int)((float)delay * 1000);
186 if (delay == 0)
187 return;
188 System.Threading.Thread.Sleep(delay);
189 }
190
191 private bool IsLocal(UUID objectID) 182 private bool IsLocal(UUID objectID)
192 { 183 {
193 string unused; 184 string unused;
@@ -267,10 +258,9 @@ namespace OpenSim.Region.CoreModules.Scripting.EmailModules
267 m_log.Error("[EMAIL] REGEX Problem in EMail Address: "+address); 258 m_log.Error("[EMAIL] REGEX Problem in EMail Address: "+address);
268 return; 259 return;
269 } 260 }
270 //FIXME:Check if subject + body = 4096 Byte 261 if ((subject.Length + body.Length) > m_MaxEmailSize)
271 if ((subject.Length + body.Length) > 1024)
272 { 262 {
273 m_log.Error("[EMAIL] subject + body > 1024 Byte"); 263 m_log.Error("[EMAIL] subject + body larger than limit of " + m_MaxEmailSize + " bytes");
274 return; 264 return;
275 } 265 }
276 266
@@ -345,10 +335,6 @@ namespace OpenSim.Region.CoreModules.Scripting.EmailModules
345 // TODO FIX 335 // TODO FIX
346 } 336 }
347 } 337 }
348
349 //DONE: Message as Second Life style
350 //20 second delay - AntiSpam System - for now only 10 seconds
351 DelayInSeconds(10);
352 } 338 }
353 339
354 /// <summary> 340 /// <summary>
diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs
index 38db239..0c4069f 100644
--- a/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs
+++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs
@@ -245,6 +245,8 @@ namespace OpenSim.Region.CoreModules.World.Archiver
245 // Reload serialized prims 245 // Reload serialized prims
246 m_log.InfoFormat("[ARCHIVER]: Loading {0} scene objects. Please wait.", serialisedSceneObjects.Count); 246 m_log.InfoFormat("[ARCHIVER]: Loading {0} scene objects. Please wait.", serialisedSceneObjects.Count);
247 247
248 UUID oldTelehubUUID = m_scene.RegionInfo.RegionSettings.TelehubObject;
249
248 IRegionSerialiserModule serialiser = m_scene.RequestModuleInterface<IRegionSerialiserModule>(); 250 IRegionSerialiserModule serialiser = m_scene.RequestModuleInterface<IRegionSerialiserModule>();
249 int sceneObjectsLoadedCount = 0; 251 int sceneObjectsLoadedCount = 0;
250 252
@@ -266,11 +268,21 @@ namespace OpenSim.Region.CoreModules.World.Archiver
266 268
267 SceneObjectGroup sceneObject = serialiser.DeserializeGroupFromXml2(serialisedSceneObject); 269 SceneObjectGroup sceneObject = serialiser.DeserializeGroupFromXml2(serialisedSceneObject);
268 270
271 bool isTelehub = (sceneObject.UUID == oldTelehubUUID);
272
269 // For now, give all incoming scene objects new uuids. This will allow scenes to be cloned 273 // For now, give all incoming scene objects new uuids. This will allow scenes to be cloned
270 // on the same region server and multiple examples a single object archive to be imported 274 // on the same region server and multiple examples a single object archive to be imported
271 // to the same scene (when this is possible). 275 // to the same scene (when this is possible).
272 sceneObject.ResetIDs(); 276 sceneObject.ResetIDs();
273 277
278 if (isTelehub)
279 {
280 // Change the Telehub Object to the new UUID
281 m_scene.RegionInfo.RegionSettings.TelehubObject = sceneObject.UUID;
282 m_scene.RegionInfo.RegionSettings.Save();
283 oldTelehubUUID = UUID.Zero;
284 }
285
274 // Try to retain the original creator/owner/lastowner if their uuid is present on this grid 286 // Try to retain the original creator/owner/lastowner if their uuid is present on this grid
275 // or creator data is present. Otherwise, use the estate owner instead. 287 // or creator data is present. Otherwise, use the estate owner instead.
276 foreach (SceneObjectPart part in sceneObject.Parts) 288 foreach (SceneObjectPart part in sceneObject.Parts)
@@ -347,7 +359,14 @@ namespace OpenSim.Region.CoreModules.World.Archiver
347 int ignoredObjects = serialisedSceneObjects.Count - sceneObjectsLoadedCount; 359 int ignoredObjects = serialisedSceneObjects.Count - sceneObjectsLoadedCount;
348 360
349 if (ignoredObjects > 0) 361 if (ignoredObjects > 0)
350 m_log.WarnFormat("[ARCHIVER]: Ignored {0} scene objects that already existed in the scene", ignoredObjects); 362 m_log.WarnFormat("[ARCHIVER]: Ignored {0} scene objects that already existed in the scene", ignoredObjects);
363
364 if (oldTelehubUUID != UUID.Zero)
365 {
366 m_log.WarnFormat("Telehub object not found: {0}", oldTelehubUUID);
367 m_scene.RegionInfo.RegionSettings.TelehubObject = UUID.Zero;
368 m_scene.RegionInfo.RegionSettings.ClearSpawnPoints();
369 }
351 } 370 }
352 371
353 /// <summary> 372 /// <summary>
@@ -523,6 +542,10 @@ namespace OpenSim.Region.CoreModules.World.Archiver
523 currentRegionSettings.TerrainTexture4 = loadedRegionSettings.TerrainTexture4; 542 currentRegionSettings.TerrainTexture4 = loadedRegionSettings.TerrainTexture4;
524 currentRegionSettings.UseEstateSun = loadedRegionSettings.UseEstateSun; 543 currentRegionSettings.UseEstateSun = loadedRegionSettings.UseEstateSun;
525 currentRegionSettings.WaterHeight = loadedRegionSettings.WaterHeight; 544 currentRegionSettings.WaterHeight = loadedRegionSettings.WaterHeight;
545 currentRegionSettings.TelehubObject = loadedRegionSettings.TelehubObject;
546 currentRegionSettings.ClearSpawnPoints();
547 foreach (SpawnPoint sp in loadedRegionSettings.SpawnPoints())
548 currentRegionSettings.AddSpawnPoint(sp);
526 549
527 currentRegionSettings.Save(); 550 currentRegionSettings.Save();
528 551
diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequestPreparation.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequestPreparation.cs
index eabe46e..5679ad5 100644
--- a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequestPreparation.cs
+++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequestPreparation.cs
@@ -328,7 +328,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver
328 /// <returns></returns> 328 /// <returns></returns>
329 public string CreateControlFile(Dictionary<string, object> options) 329 public string CreateControlFile(Dictionary<string, object> options)
330 { 330 {
331 int majorVersion = MAX_MAJOR_VERSION, minorVersion = 7; 331 int majorVersion = MAX_MAJOR_VERSION, minorVersion = 8;
332// 332//
333// if (options.ContainsKey("version")) 333// if (options.ContainsKey("version"))
334// { 334// {
diff --git a/OpenSim/Region/CoreModules/World/Archiver/Tests/ArchiverTests.cs b/OpenSim/Region/CoreModules/World/Archiver/Tests/ArchiverTests.cs
index 053c6f5..394ca27 100644
--- a/OpenSim/Region/CoreModules/World/Archiver/Tests/ArchiverTests.cs
+++ b/OpenSim/Region/CoreModules/World/Archiver/Tests/ArchiverTests.cs
@@ -534,6 +534,8 @@ namespace OpenSim.Region.CoreModules.World.Archiver.Tests
534 rs.TerrainTexture4 = UUID.Parse("00000000-0000-0000-0000-000000000080"); 534 rs.TerrainTexture4 = UUID.Parse("00000000-0000-0000-0000-000000000080");
535 rs.UseEstateSun = true; 535 rs.UseEstateSun = true;
536 rs.WaterHeight = 23; 536 rs.WaterHeight = 23;
537 rs.TelehubObject = UUID.Parse("00000000-0000-0000-0000-111111111111");
538 rs.AddSpawnPoint(SpawnPoint.Parse("1,-2,0.33"));
537 539
538 tar.WriteFile(ArchiveConstants.SETTINGS_PATH + "region1.xml", RegionSettingsSerializer.Serialize(rs)); 540 tar.WriteFile(ArchiveConstants.SETTINGS_PATH + "region1.xml", RegionSettingsSerializer.Serialize(rs));
539 541
@@ -580,6 +582,8 @@ namespace OpenSim.Region.CoreModules.World.Archiver.Tests
580 Assert.That(loadedRs.TerrainTexture4, Is.EqualTo(UUID.Parse("00000000-0000-0000-0000-000000000080"))); 582 Assert.That(loadedRs.TerrainTexture4, Is.EqualTo(UUID.Parse("00000000-0000-0000-0000-000000000080")));
581 Assert.That(loadedRs.UseEstateSun, Is.True); 583 Assert.That(loadedRs.UseEstateSun, Is.True);
582 Assert.That(loadedRs.WaterHeight, Is.EqualTo(23)); 584 Assert.That(loadedRs.WaterHeight, Is.EqualTo(23));
585 Assert.AreEqual(UUID.Zero, loadedRs.TelehubObject); // because no object was found with the original UUID
586 Assert.AreEqual(0, loadedRs.SpawnPoints().Count);
583 } 587 }
584 588
585 /// <summary> 589 /// <summary>