From 54ccca1e2cb8af5d0fdc420f64574a7d7b13c94b Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Tue, 31 Mar 2009 02:00:33 +0000
Subject: Update svn properties, add copyright header, formatting cleanup.

---
 .../Avatar/InstantMessage/OfflineMessageModule.cs  |   2 +-
 .../Hypergrid/HGStandaloneInventoryModule.cs       | 330 +++++++-------
 .../Hypergrid/HGStandaloneLoginModule.cs           | 506 ++++++++++-----------
 .../DynamicTexture/DynamicTextureModule.cs         |  64 ++-
 .../Shared/Api/Implementation/LSL_Api.cs           |  56 +--
 .../Shared/Api/Implementation/Plugins/Timer.cs     |   1 -
 6 files changed, 477 insertions(+), 482 deletions(-)

(limited to 'OpenSim/Region')

diff --git a/OpenSim/Region/CoreModules/Avatar/InstantMessage/OfflineMessageModule.cs b/OpenSim/Region/CoreModules/Avatar/InstantMessage/OfflineMessageModule.cs
index 56eb508..a521ead 100644
--- a/OpenSim/Region/CoreModules/Avatar/InstantMessage/OfflineMessageModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/InstantMessage/OfflineMessageModule.cs
@@ -184,7 +184,7 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
                 bool success = SynchronousRestObjectPoster.BeginPostObject<GridInstantMessage, bool>(
                         "POST", m_RestURL+"/SaveMessage/", im);
 
-                if(im.dialog == (byte)InstantMessageDialog.MessageFromAgent)
+                if (im.dialog == (byte)InstantMessageDialog.MessageFromAgent)
                 {
                     IClientAPI client = FindClient(new UUID(im.fromAgentID));
                     if (client == null)
diff --git a/OpenSim/Region/CoreModules/Hypergrid/HGStandaloneInventoryModule.cs b/OpenSim/Region/CoreModules/Hypergrid/HGStandaloneInventoryModule.cs
index 525dda7..a1306cd 100644
--- a/OpenSim/Region/CoreModules/Hypergrid/HGStandaloneInventoryModule.cs
+++ b/OpenSim/Region/CoreModules/Hypergrid/HGStandaloneInventoryModule.cs
@@ -1,165 +1,165 @@
-/**
- * Copyright (c) 2008, Contributors. All rights reserved.
- * See CONTRIBUTORS.TXT for a full list of copyright holders.
- * 
- * Redistribution and use in source and binary forms, with or without modification, 
- * are permitted provided that the following conditions are met:
- * 
- *     * Redistributions of source code must retain the above copyright notice, 
- *       this list of conditions and the following disclaimer.
- *     * Redistributions in binary form must reproduce the above copyright notice, 
- *       this list of conditions and the following disclaimer in the documentation 
- *       and/or other materials provided with the distribution.
- *     * Neither the name of the Organizations nor the names of Individual
- *       Contributors may be used to endorse or promote products derived from 
- *       this software without specific prior written permission.
- * 
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 
- * THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 
- * OF THE POSSIBILITY OF SUCH DAMAGE.
- * 
- */
-
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Reflection;
-using log4net;
-using Nini.Config;
-using OpenMetaverse;
-using OpenSim.Data;
-using OpenSim.Framework;
-using OpenSim.Framework.Communications;
-using OpenSim.Framework.Communications.Cache;
-using OpenSim.Framework.Communications.Services;
-using Caps = OpenSim.Framework.Communications.Capabilities.Caps;
-using LLSDHelpers = OpenSim.Framework.Communications.Capabilities.LLSDHelpers;
-using OpenSim.Framework.Servers;
-using OpenSim.Framework.Servers.Interfaces;
-using OpenSim.Region.Framework.Interfaces;
-using OpenSim.Region.Framework.Scenes;
-using OpenSim.Region.CoreModules.Communications.REST;
-
-using OpenMetaverse.StructuredData;
-
-namespace OpenSim.Region.CoreModules.Hypergrid
-{
-    public class HGStandaloneInventoryModule : IRegionModule
-    {
-        private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
-        private static bool initialized = false;
-        private static bool enabled = false;
-
-        private bool m_doLookup = false;
-        Scene m_scene;
-        HGInventoryService m_inventoryService;
-        InventoryServiceBase m_inventoryBase;
-
-        public bool DoLookup
-        {
-            get { return m_doLookup; }
-            set { m_doLookup = value; }
-        }
-
-        #region IRegionModule interface
-
-        public void Initialise(Scene scene, IConfigSource config)
-        {
-            if (!initialized)
-            {
-                initialized = true;
-                m_scene = scene;
-
-                // This module is only on for standalones
-                enabled = !config.Configs["Startup"].GetBoolean("gridmode", true) && config.Configs["Startup"].GetBoolean("hypergrid", false);
-            }
-        }
-
-        public void PostInitialise()
-        {
-            if (enabled)
-            {
-                m_log.Info("[HGStandaloneInvModule]: Starting...");
-                //m_inventoryService = new InventoryService(m_scene);
-                m_inventoryBase = (InventoryServiceBase)m_scene.CommsManager.SecureInventoryService;
-
-                m_inventoryService = new HGInventoryService(m_inventoryBase,
-                    ((AssetServerBase)m_scene.CommsManager.AssetCache.AssetServer).AssetProviderPlugin,
-                    (UserManagerBase)m_scene.CommsManager.UserService, m_scene.CommsManager.HttpServer, 
-                    m_scene.CommsManager.NetworkServersInfo.InventoryURL);
-
-                AddHttpHandlers(m_scene.CommsManager.HttpServer);
-                m_inventoryService.AddHttpHandlers();
-            }
-        }
-
-        public void Close()
-        {
-        }
-
-        public string Name
-        {
-            get { return "HGStandaloneInventoryModule"; }
-        }
-
-        public bool IsSharedModule
-        {
-            get { return true; }
-        }
-
-        #endregion
-
-        public virtual void AddHttpHandlers(IHttpServer httpServer)
-        {
-
-            httpServer.AddStreamHandler(
-                new RestDeserialiseSecureHandler<Guid, InventoryCollection>(
-                    "POST", "/GetInventory/", m_inventoryService.GetUserInventory, CheckAuthSession));
-
-            httpServer.AddStreamHandler(
-                new RestDeserialiseSecureHandler<InventoryFolderBase, bool>(
-                    "POST", "/NewFolder/", m_inventoryBase.AddFolder, CheckAuthSession));
-
-            httpServer.AddStreamHandler(
-                new RestDeserialiseSecureHandler<InventoryFolderBase, bool>(
-                    "POST", "/UpdateFolder/", m_inventoryBase.UpdateFolder, CheckAuthSession));
-
-            httpServer.AddStreamHandler(
-                new RestDeserialiseSecureHandler<InventoryFolderBase, bool>(
-                    "POST", "/MoveFolder/", m_inventoryBase.MoveFolder, CheckAuthSession));
-
-            httpServer.AddStreamHandler(
-                new RestDeserialiseSecureHandler<InventoryFolderBase, bool>(
-                    "POST", "/PurgeFolder/", m_inventoryBase.PurgeFolder, CheckAuthSession));
-
-            httpServer.AddStreamHandler(
-                new RestDeserialiseSecureHandler<InventoryItemBase, bool>(
-                    "POST", "/NewItem/", m_inventoryBase.AddItem, CheckAuthSession));
-
-            httpServer.AddStreamHandler(
-                new RestDeserialiseSecureHandler<InventoryItemBase, bool>(
-                    "POST", "/DeleteItem/", m_inventoryBase.DeleteItem, CheckAuthSession));
-
-        }
-
-        /// <summary>
-        /// Check that the source of an inventory request for a particular agent is a current session belonging to
-        /// that agent.
-        /// </summary>
-        /// <param name="session_id"></param>
-        /// <param name="avatar_id"></param>
-        /// <returns></returns>
-        public bool CheckAuthSession(string session_id, string avatar_id)
-        {
-            return true;        
-        }
-
-    }
-
-}
+/**
+ * Copyright (c) 2008, Contributors. All rights reserved.
+ * See CONTRIBUTORS.TXT for a full list of copyright holders.
+ * 
+ * Redistribution and use in source and binary forms, with or without modification, 
+ * are permitted provided that the following conditions are met:
+ * 
+ *     * Redistributions of source code must retain the above copyright notice, 
+ *       this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above copyright notice, 
+ *       this list of conditions and the following disclaimer in the documentation 
+ *       and/or other materials provided with the distribution.
+ *     * Neither the name of the Organizations nor the names of Individual
+ *       Contributors may be used to endorse or promote products derived from 
+ *       this software without specific prior written permission.
+ * 
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 
+ * THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ * 
+ */
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Reflection;
+using log4net;
+using Nini.Config;
+using OpenMetaverse;
+using OpenSim.Data;
+using OpenSim.Framework;
+using OpenSim.Framework.Communications;
+using OpenSim.Framework.Communications.Cache;
+using OpenSim.Framework.Communications.Services;
+using Caps = OpenSim.Framework.Communications.Capabilities.Caps;
+using LLSDHelpers = OpenSim.Framework.Communications.Capabilities.LLSDHelpers;
+using OpenSim.Framework.Servers;
+using OpenSim.Framework.Servers.Interfaces;
+using OpenSim.Region.Framework.Interfaces;
+using OpenSim.Region.Framework.Scenes;
+using OpenSim.Region.CoreModules.Communications.REST;
+
+using OpenMetaverse.StructuredData;
+
+namespace OpenSim.Region.CoreModules.Hypergrid
+{
+    public class HGStandaloneInventoryModule : IRegionModule
+    {
+        private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
+        private static bool initialized = false;
+        private static bool enabled = false;
+
+        private bool m_doLookup = false;
+        Scene m_scene;
+        HGInventoryService m_inventoryService;
+        InventoryServiceBase m_inventoryBase;
+
+        public bool DoLookup
+        {
+            get { return m_doLookup; }
+            set { m_doLookup = value; }
+        }
+
+        #region IRegionModule interface
+
+        public void Initialise(Scene scene, IConfigSource config)
+        {
+            if (!initialized)
+            {
+                initialized = true;
+                m_scene = scene;
+
+                // This module is only on for standalones
+                enabled = !config.Configs["Startup"].GetBoolean("gridmode", true) && config.Configs["Startup"].GetBoolean("hypergrid", false);
+            }
+        }
+
+        public void PostInitialise()
+        {
+            if (enabled)
+            {
+                m_log.Info("[HGStandaloneInvModule]: Starting...");
+                //m_inventoryService = new InventoryService(m_scene);
+                m_inventoryBase = (InventoryServiceBase)m_scene.CommsManager.SecureInventoryService;
+
+                m_inventoryService = new HGInventoryService(m_inventoryBase,
+                    ((AssetServerBase)m_scene.CommsManager.AssetCache.AssetServer).AssetProviderPlugin,
+                    (UserManagerBase)m_scene.CommsManager.UserService, m_scene.CommsManager.HttpServer, 
+                    m_scene.CommsManager.NetworkServersInfo.InventoryURL);
+
+                AddHttpHandlers(m_scene.CommsManager.HttpServer);
+                m_inventoryService.AddHttpHandlers();
+            }
+        }
+
+        public void Close()
+        {
+        }
+
+        public string Name
+        {
+            get { return "HGStandaloneInventoryModule"; }
+        }
+
+        public bool IsSharedModule
+        {
+            get { return true; }
+        }
+
+        #endregion
+
+        public virtual void AddHttpHandlers(IHttpServer httpServer)
+        {
+
+            httpServer.AddStreamHandler(
+                new RestDeserialiseSecureHandler<Guid, InventoryCollection>(
+                    "POST", "/GetInventory/", m_inventoryService.GetUserInventory, CheckAuthSession));
+
+            httpServer.AddStreamHandler(
+                new RestDeserialiseSecureHandler<InventoryFolderBase, bool>(
+                    "POST", "/NewFolder/", m_inventoryBase.AddFolder, CheckAuthSession));
+
+            httpServer.AddStreamHandler(
+                new RestDeserialiseSecureHandler<InventoryFolderBase, bool>(
+                    "POST", "/UpdateFolder/", m_inventoryBase.UpdateFolder, CheckAuthSession));
+
+            httpServer.AddStreamHandler(
+                new RestDeserialiseSecureHandler<InventoryFolderBase, bool>(
+                    "POST", "/MoveFolder/", m_inventoryBase.MoveFolder, CheckAuthSession));
+
+            httpServer.AddStreamHandler(
+                new RestDeserialiseSecureHandler<InventoryFolderBase, bool>(
+                    "POST", "/PurgeFolder/", m_inventoryBase.PurgeFolder, CheckAuthSession));
+
+            httpServer.AddStreamHandler(
+                new RestDeserialiseSecureHandler<InventoryItemBase, bool>(
+                    "POST", "/NewItem/", m_inventoryBase.AddItem, CheckAuthSession));
+
+            httpServer.AddStreamHandler(
+                new RestDeserialiseSecureHandler<InventoryItemBase, bool>(
+                    "POST", "/DeleteItem/", m_inventoryBase.DeleteItem, CheckAuthSession));
+
+        }
+
+        /// <summary>
+        /// Check that the source of an inventory request for a particular agent is a current session belonging to
+        /// that agent.
+        /// </summary>
+        /// <param name="session_id"></param>
+        /// <param name="avatar_id"></param>
+        /// <returns></returns>
+        public bool CheckAuthSession(string session_id, string avatar_id)
+        {
+            return true;        
+        }
+
+    }
+
+}
diff --git a/OpenSim/Region/CoreModules/Hypergrid/HGStandaloneLoginModule.cs b/OpenSim/Region/CoreModules/Hypergrid/HGStandaloneLoginModule.cs
index 9e134be..f0e957b 100644
--- a/OpenSim/Region/CoreModules/Hypergrid/HGStandaloneLoginModule.cs
+++ b/OpenSim/Region/CoreModules/Hypergrid/HGStandaloneLoginModule.cs
@@ -1,253 +1,253 @@
-/*
- * Copyright (c) Contributors, http://opensimulator.org/
- * See CONTRIBUTORS.TXT for a full list of copyright holders.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *     * Redistributions of source code must retain the above copyright
- *       notice, this list of conditions and the following disclaimer.
- *     * Redistributions in binary form must reproduce the above copyright
- *       notice, this list of conditions and the following disclaimer in the
- *       documentation and/or other materials provided with the distribution.
- *     * Neither the name of the OpenSimulator Project nor the
- *       names of its contributors may be used to endorse or promote products
- *       derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Net;
-using System.Reflection;
-using System.Text.RegularExpressions;
-using log4net;
-using Nini.Config;
-using OpenMetaverse;
-using OpenSim.Framework;
-using OpenSim.Framework.Communications;
-using OpenSim.Framework.Communications.Services;
-using OpenSim.Framework.Communications.Cache;
-using OpenSim.Framework.Communications.Capabilities;
-using OpenSim.Framework.Servers.Interfaces;
-using OpenSim.Region.Framework.Scenes;
-using OpenSim.Region.Framework.Interfaces;
-
-namespace OpenSim.Region.CoreModules.Hypergrid
-{
-    public class HGStandaloneLoginModule : IRegionModule, ILoginServiceToRegionsConnector
-    {
-        private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
-
-        protected List<Scene> m_scenes = new List<Scene>();
-        protected Scene m_firstScene;
-
-        protected bool m_enabled = false; // Module is only enabled if running in standalone mode
-
-
-        public bool RegionLoginsEnabled
-        {
-            get
-            {
-                if (m_firstScene != null)
-                {
-                    return m_firstScene.CommsManager.GridService.RegionLoginsEnabled;
-                }
-                else
-                {
-                    return false;
-                }
-            }
-        }
-       
-        protected HGLoginAuthService m_loginService;
-
-        #region IRegionModule Members
-
-        public void Initialise(Scene scene, IConfigSource source)
-        {
-            if (m_firstScene == null)
-            {
-                m_firstScene = scene;
-
-                IConfig startupConfig = source.Configs["Startup"];
-                if (startupConfig != null)
-                {
-                    m_enabled = !startupConfig.GetBoolean("gridmode", false);
-                }
-
-                if (m_enabled)
-                {
-                    m_log.Debug("[HGLogin] HGlogin module enabled");
-                    bool authenticate = true;
-                    string welcomeMessage = "Welcome to OpenSim";
-                    IConfig standaloneConfig = source.Configs["StandAlone"];
-                    if (standaloneConfig != null)
-                    {
-                        authenticate = standaloneConfig.GetBoolean("accounts_authenticate", true);
-                        welcomeMessage = standaloneConfig.GetString("welcome_message");
-                    }
-
-                    //TODO: fix casting.
-                    LibraryRootFolder rootFolder = m_firstScene.CommsManager.UserProfileCacheService.LibraryRoot as LibraryRootFolder;
-                   
-                    IHttpServer httpServer = m_firstScene.CommsManager.HttpServer;
-
-                    //TODO: fix the casting of the user service, maybe by registering the userManagerBase with scenes, or refactoring so we just need a IUserService reference
-                    m_loginService = new HGLoginAuthService((UserManagerBase)m_firstScene.CommsManager.UserService, welcomeMessage, m_firstScene.CommsManager.InterServiceInventoryService, m_firstScene.CommsManager.NetworkServersInfo, authenticate, rootFolder, this);
-
-                    httpServer.AddXmlRPCHandler("hg_login", m_loginService.XmlRpcLoginMethod);
-                    httpServer.AddXmlRPCHandler("hg_new_auth_key", m_loginService.XmlRpcGenerateKeyMethod);
-                    httpServer.AddXmlRPCHandler("hg_verify_auth_key", m_loginService.XmlRpcVerifyKeyMethod);
-
-                }
-            }
-
-            if (m_enabled)
-            {
-                AddScene(scene);
-            }
-        }
-
-        public void PostInitialise()
-        {
-
-        }
-
-        public void Close()
-        {
-
-        }
-
-        public string Name
-        {
-            get { return "HGStandaloneLoginModule"; }
-        }
-
-        public bool IsSharedModule
-        {
-            get { return true; }
-        }
-
-        #endregion
-
-        protected void AddScene(Scene scene)
-        {
-            lock (m_scenes)
-            {
-                if (!m_scenes.Contains(scene))
-                {
-                    m_scenes.Add(scene);
-                }
-            }
-        }
-
-        public bool NewUserConnection(ulong regionHandle, AgentCircuitData agent)
-        {
-            return true;
-        }
-
-        public void LogOffUserFromGrid(ulong regionHandle, UUID AvatarID, UUID RegionSecret, string message)
-        {
-            Scene scene;
-            if (TryGetRegion(regionHandle, out scene))
-            {
-                 scene.HandleLogOffUserFromGrid(AvatarID, RegionSecret, message);
-            }
-        }
-
-        public RegionInfo RequestNeighbourInfo(ulong regionhandle)
-        {
-            Scene scene;
-            if (TryGetRegion(regionhandle, out scene))
-            {
-                return scene.RegionInfo;
-            }
-            return null;
-        }
-
-        public RegionInfo RequestClosestRegion(string region)
-        {
-            Scene scene;
-            if (TryGetRegion(region, out scene))
-            {
-                return scene.RegionInfo;
-            }
-            return null;
-        }
-
-        public RegionInfo RequestNeighbourInfo(UUID regionID)
-        {
-            Scene scene;
-            if (TryGetRegion(regionID, out scene))
-            {
-                return scene.RegionInfo;
-            }
-            return null;
-        }
-
-        protected bool TryGetRegion(ulong regionHandle, out Scene scene)
-        {
-            lock (m_scenes)
-            {
-                foreach (Scene nextScene in m_scenes)
-                {
-                    if (nextScene.RegionInfo.RegionHandle == regionHandle)
-                    {
-                        scene = nextScene;
-                        return true;
-                    }
-                }
-            }
-
-            scene = null;
-            return false;
-        }
-
-        protected bool TryGetRegion(UUID regionID, out Scene scene)
-        {
-            lock (m_scenes)
-            {
-                foreach (Scene nextScene in m_scenes)
-                {
-                    if (nextScene.RegionInfo.RegionID == regionID)
-                    {
-                        scene = nextScene;
-                        return true;
-                    }
-                }
-            }
-
-            scene = null;
-            return false;
-        }
-
-        protected bool TryGetRegion(string regionName, out Scene scene)
-        {
-            lock (m_scenes)
-            {
-                foreach (Scene nextScene in m_scenes)
-                {
-                    if (nextScene.RegionInfo.RegionName == regionName)
-                    {
-                        scene = nextScene;
-                        return true;
-                    }
-                }
-            }
-
-            scene = null;
-            return false;
-        }
-    }
-}
+/*
+ * Copyright (c) Contributors, http://opensimulator.org/
+ * See CONTRIBUTORS.TXT for a full list of copyright holders.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *     * Redistributions of source code must retain the above copyright
+ *       notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above copyright
+ *       notice, this list of conditions and the following disclaimer in the
+ *       documentation and/or other materials provided with the distribution.
+ *     * Neither the name of the OpenSimulator Project nor the
+ *       names of its contributors may be used to endorse or promote products
+ *       derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Net;
+using System.Reflection;
+using System.Text.RegularExpressions;
+using log4net;
+using Nini.Config;
+using OpenMetaverse;
+using OpenSim.Framework;
+using OpenSim.Framework.Communications;
+using OpenSim.Framework.Communications.Services;
+using OpenSim.Framework.Communications.Cache;
+using OpenSim.Framework.Communications.Capabilities;
+using OpenSim.Framework.Servers.Interfaces;
+using OpenSim.Region.Framework.Scenes;
+using OpenSim.Region.Framework.Interfaces;
+
+namespace OpenSim.Region.CoreModules.Hypergrid
+{
+    public class HGStandaloneLoginModule : IRegionModule, ILoginServiceToRegionsConnector
+    {
+        private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
+
+        protected List<Scene> m_scenes = new List<Scene>();
+        protected Scene m_firstScene;
+
+        protected bool m_enabled = false; // Module is only enabled if running in standalone mode
+
+
+        public bool RegionLoginsEnabled
+        {
+            get
+            {
+                if (m_firstScene != null)
+                {
+                    return m_firstScene.CommsManager.GridService.RegionLoginsEnabled;
+                }
+                else
+                {
+                    return false;
+                }
+            }
+        }
+       
+        protected HGLoginAuthService m_loginService;
+
+        #region IRegionModule Members
+
+        public void Initialise(Scene scene, IConfigSource source)
+        {
+            if (m_firstScene == null)
+            {
+                m_firstScene = scene;
+
+                IConfig startupConfig = source.Configs["Startup"];
+                if (startupConfig != null)
+                {
+                    m_enabled = !startupConfig.GetBoolean("gridmode", false);
+                }
+
+                if (m_enabled)
+                {
+                    m_log.Debug("[HGLogin] HGlogin module enabled");
+                    bool authenticate = true;
+                    string welcomeMessage = "Welcome to OpenSim";
+                    IConfig standaloneConfig = source.Configs["StandAlone"];
+                    if (standaloneConfig != null)
+                    {
+                        authenticate = standaloneConfig.GetBoolean("accounts_authenticate", true);
+                        welcomeMessage = standaloneConfig.GetString("welcome_message");
+                    }
+
+                    //TODO: fix casting.
+                    LibraryRootFolder rootFolder = m_firstScene.CommsManager.UserProfileCacheService.LibraryRoot as LibraryRootFolder;
+                   
+                    IHttpServer httpServer = m_firstScene.CommsManager.HttpServer;
+
+                    //TODO: fix the casting of the user service, maybe by registering the userManagerBase with scenes, or refactoring so we just need a IUserService reference
+                    m_loginService = new HGLoginAuthService((UserManagerBase)m_firstScene.CommsManager.UserService, welcomeMessage, m_firstScene.CommsManager.InterServiceInventoryService, m_firstScene.CommsManager.NetworkServersInfo, authenticate, rootFolder, this);
+
+                    httpServer.AddXmlRPCHandler("hg_login", m_loginService.XmlRpcLoginMethod);
+                    httpServer.AddXmlRPCHandler("hg_new_auth_key", m_loginService.XmlRpcGenerateKeyMethod);
+                    httpServer.AddXmlRPCHandler("hg_verify_auth_key", m_loginService.XmlRpcVerifyKeyMethod);
+
+                }
+            }
+
+            if (m_enabled)
+            {
+                AddScene(scene);
+            }
+        }
+
+        public void PostInitialise()
+        {
+
+        }
+
+        public void Close()
+        {
+
+        }
+
+        public string Name
+        {
+            get { return "HGStandaloneLoginModule"; }
+        }
+
+        public bool IsSharedModule
+        {
+            get { return true; }
+        }
+
+        #endregion
+
+        protected void AddScene(Scene scene)
+        {
+            lock (m_scenes)
+            {
+                if (!m_scenes.Contains(scene))
+                {
+                    m_scenes.Add(scene);
+                }
+            }
+        }
+
+        public bool NewUserConnection(ulong regionHandle, AgentCircuitData agent)
+        {
+            return true;
+        }
+
+        public void LogOffUserFromGrid(ulong regionHandle, UUID AvatarID, UUID RegionSecret, string message)
+        {
+            Scene scene;
+            if (TryGetRegion(regionHandle, out scene))
+            {
+                 scene.HandleLogOffUserFromGrid(AvatarID, RegionSecret, message);
+            }
+        }
+
+        public RegionInfo RequestNeighbourInfo(ulong regionhandle)
+        {
+            Scene scene;
+            if (TryGetRegion(regionhandle, out scene))
+            {
+                return scene.RegionInfo;
+            }
+            return null;
+        }
+
+        public RegionInfo RequestClosestRegion(string region)
+        {
+            Scene scene;
+            if (TryGetRegion(region, out scene))
+            {
+                return scene.RegionInfo;
+            }
+            return null;
+        }
+
+        public RegionInfo RequestNeighbourInfo(UUID regionID)
+        {
+            Scene scene;
+            if (TryGetRegion(regionID, out scene))
+            {
+                return scene.RegionInfo;
+            }
+            return null;
+        }
+
+        protected bool TryGetRegion(ulong regionHandle, out Scene scene)
+        {
+            lock (m_scenes)
+            {
+                foreach (Scene nextScene in m_scenes)
+                {
+                    if (nextScene.RegionInfo.RegionHandle == regionHandle)
+                    {
+                        scene = nextScene;
+                        return true;
+                    }
+                }
+            }
+
+            scene = null;
+            return false;
+        }
+
+        protected bool TryGetRegion(UUID regionID, out Scene scene)
+        {
+            lock (m_scenes)
+            {
+                foreach (Scene nextScene in m_scenes)
+                {
+                    if (nextScene.RegionInfo.RegionID == regionID)
+                    {
+                        scene = nextScene;
+                        return true;
+                    }
+                }
+            }
+
+            scene = null;
+            return false;
+        }
+
+        protected bool TryGetRegion(string regionName, out Scene scene)
+        {
+            lock (m_scenes)
+            {
+                foreach (Scene nextScene in m_scenes)
+                {
+                    if (nextScene.RegionInfo.RegionName == regionName)
+                    {
+                        scene = nextScene;
+                        return true;
+                    }
+                }
+            }
+
+            scene = null;
+            return false;
+        }
+    }
+}
diff --git a/OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs b/OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs
index dedd37f..f9059e0 100644
--- a/OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs
+++ b/OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs
@@ -66,18 +66,17 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture
         /// <param name="data"></param>
         public void ReturnData(UUID id, byte[] data)
         {
+            DynamicTextureUpdater updater = null;
 
-			DynamicTextureUpdater updater = null;
-
-            lock(Updaters)
+            lock (Updaters)
             {
-				if (Updaters.ContainsKey(id))
-				{
-					updater = Updaters[id];
+                if (Updaters.ContainsKey(id))
+                {
+                    updater = Updaters[id];
                 }
             }
 
-            if(updater != null)
+            if (updater != null)
             {
                 if (RegisteredScenes.ContainsKey(updater.SimUUID))
                 {
@@ -86,27 +85,26 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture
                 }
             }
 
-			if(updater.UpdateTimer == 0)
-			{
-				lock(Updaters)
-				{
-					if (!Updaters.ContainsKey(updater.UpdaterID))
-					{
-						Updaters.Remove(updater.UpdaterID);
-					}
-				}
-			}
-
+            if (updater.UpdateTimer == 0)
+            {
+                lock (Updaters)
+                {
+                    if (!Updaters.ContainsKey(updater.UpdaterID))
+                    {
+                        Updaters.Remove(updater.UpdaterID);
+                    }
+                }
+            }
         }
 
         public UUID AddDynamicTextureURL(UUID simID, UUID primID, string contentType, string url,
-                                           string extraParams, int updateTimer)
+                                         string extraParams, int updateTimer)
         {
             return AddDynamicTextureURL(simID, primID, contentType, url, extraParams, updateTimer, false, 255);
         }
 
         public UUID AddDynamicTextureURL(UUID simID, UUID primID, string contentType, string url,
-                                           string extraParams, int updateTimer, bool SetBlending, byte AlphaValue)
+                                         string extraParams, int updateTimer, bool SetBlending, byte AlphaValue)
         {
             if (RenderPlugins.ContainsKey(contentType))
             {
@@ -123,12 +121,12 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture
                 updater.BlendWithOldTexture = SetBlending;
                 updater.FrontAlpha = AlphaValue;
 
-                lock(Updaters)
+                lock (Updaters)
                 {
-					if (!Updaters.ContainsKey(updater.UpdaterID))
-					{
-						Updaters.Add(updater.UpdaterID, updater);
-					}
+                    if (!Updaters.ContainsKey(updater.UpdaterID))
+                    {
+                        Updaters.Add(updater.UpdaterID, updater);
+                    }
                 }
 
                 RenderPlugins[contentType].AsyncConvertUrl(updater.UpdaterID, url, extraParams);
@@ -138,13 +136,13 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture
         }
 
         public UUID AddDynamicTextureData(UUID simID, UUID primID, string contentType, string data,
-                                            string extraParams, int updateTimer)
+                                          string extraParams, int updateTimer)
         {
             return AddDynamicTextureData(simID, primID, contentType, data, extraParams, updateTimer, false, 255);
         }
 
         public UUID AddDynamicTextureData(UUID simID, UUID primID, string contentType, string data,
-                                            string extraParams, int updateTimer, bool SetBlending, byte AlphaValue)
+                                          string extraParams, int updateTimer, bool SetBlending, byte AlphaValue)
         {
             if (RenderPlugins.ContainsKey(contentType))
             {
@@ -159,12 +157,12 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture
                 updater.BlendWithOldTexture = SetBlending;
                 updater.FrontAlpha = AlphaValue;
 
-                lock(Updaters)
+                lock (Updaters)
                 {
-					if (!Updaters.ContainsKey(updater.UpdaterID))
-					{
-						Updaters.Add(updater.UpdaterID, updater);
-					}
+                    if (!Updaters.ContainsKey(updater.UpdaterID))
+                    {
+                        Updaters.Add(updater.UpdaterID, updater);
+                    }
                 }
 
                 RenderPlugins[contentType].AsyncConvertData(updater.UpdaterID, data, extraParams);
@@ -173,7 +171,6 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture
             return UUID.Zero;
         }
 
-
         public void GetDrawStringSize(string contentType, string text, string fontName, int fontSize,
                                       out double xSize, out double ySize)
         {
@@ -307,7 +304,6 @@ namespace OpenSim.Region.CoreModules.Scripting.DynamicTexture
                 part.ScheduleFullUpdate();
 
                 scene.CommsManager.AssetCache.ExpireAsset(oldID);
-
             }
 
             private byte[] BlendTextures(byte[] frontImage, byte[] backImage, bool setNewAlpha, byte newAlpha)
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index 3c1b87f..e32f1b4 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -4998,29 +4998,29 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
             
             if (dir.x == 0)
             {
-            	if (dir.y == 0)
-            	{
-            		// Direction vector is 0,0 so return
-            		// false since we're staying in the sim
-            	    return 0;
-            	}
-            	else
-            	{
-            		// Y is the only valid direction
-            		edge.y = dir.y / Math.Abs(dir.y);
-            	}
+                if (dir.y == 0)
+                {
+                    // Direction vector is 0,0 so return
+                    // false since we're staying in the sim
+                    return 0;
+                }
+                else
+                {
+                    // Y is the only valid direction
+                    edge.y = dir.y / Math.Abs(dir.y);
+                }
             }
             else
             {
                 LSL_Float mag;
-            	if (dir.x > 0)
-            	{
+                if (dir.x > 0)
+                {
                     mag = (Constants.RegionSize - pos.x) / dir.x;  
-            	}
-            	else
-            	{
+                }
+                else
+                {
                     mag = (pos.x/dir.x);
-            	}
+                }
 
                 mag = Math.Abs(mag);
 
@@ -5028,7 +5028,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
 
                 if (edge.y > Constants.RegionSize || edge.y < 0)
                 {
-                	// Y goes out of bounds first
+                    // Y goes out of bounds first
                     edge.y = dir.y / Math.Abs(dir.y);
                 }
                 else
@@ -5039,18 +5039,18 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
                 }
             }
             
-        	List<SimpleRegionInfo> neighbors = World.CommsManager.GridService.RequestNeighbours(World.RegionInfo.RegionLocX, World.RegionInfo.RegionLocY);
+            List<SimpleRegionInfo> neighbors = World.CommsManager.GridService.RequestNeighbours(World.RegionInfo.RegionLocX, World.RegionInfo.RegionLocY);
             
-        	uint neighborX = World.RegionInfo.RegionLocX + (uint)dir.x;
-        	uint neighborY = World.RegionInfo.RegionLocY + (uint)dir.y;
-        	
-        	foreach (SimpleRegionInfo sri in neighbors)
-        	{
-        		if (sri.RegionLocX == neighborX && sri.RegionLocY == neighborY)
-        			return 0;
-          	}
+            uint neighborX = World.RegionInfo.RegionLocX + (uint)dir.x;
+            uint neighborY = World.RegionInfo.RegionLocY + (uint)dir.y;
+            
+            foreach (SimpleRegionInfo sri in neighbors)
+            {
+                if (sri.RegionLocX == neighborX && sri.RegionLocY == neighborY)
+                    return 0;
+            }
             
-        	return 1;
+            return 1;
         }
 
         /// <summary>
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/Timer.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/Timer.cs
index 09351fd..5353fc9 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/Timer.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/Timer.cs
@@ -49,7 +49,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins
         {
             return localID.ToString() + itemID.ToString();
         }
-	
 
         private class TimerClass
         {
-- 
cgit v1.1