diff --git a/OpenSim/Framework/ACL.cs b/OpenSim/Framework/ACL.cs
deleted file mode 100644
index f76e8b7288..0000000000
--- a/OpenSim/Framework/ACL.cs
+++ /dev/null
@@ -1,252 +0,0 @@
-/*
- * 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.Generic;
-
-namespace OpenSim.Framework
-{
- // ACL Class
- // Modelled after the structure of the Zend ACL Framework Library
- // with one key difference - the tree will search for all matching
- // permissions rather than just the first. Deny permissions will
- // override all others.
-
- #region ACL Core Class
-
- ///
- /// Access Control List Engine
- ///
- public class ACL
- {
- private Dictionary Resources = new Dictionary();
- private Dictionary Roles = new Dictionary();
-
- ///
- /// Adds a new role
- ///
- ///
- ///
- public ACL AddRole(Role role)
- {
- if (Roles.ContainsKey(role.Name))
- throw new AlreadyContainsRoleException(role);
-
- Roles.Add(role.Name, role);
-
- return this;
- }
-
- ///
- /// Adds a new resource
- ///
- ///
- ///
- public ACL AddResource(Resource resource)
- {
- Resources.Add(resource.Name, resource);
-
- return this;
- }
-
- ///
- /// Permision for user/roll on a resource
- ///
- ///
- ///
- ///
- public Permission HasPermission(string role, string resource)
- {
- if (!Roles.ContainsKey(role))
- throw new KeyNotFoundException();
-
- if (!Resources.ContainsKey(resource))
- throw new KeyNotFoundException();
-
- return Roles[role].RequestPermission(resource);
- }
-
- public ACL GrantPermission(string role, string resource)
- {
- if (!Roles.ContainsKey(role))
- throw new KeyNotFoundException();
-
- if (!Resources.ContainsKey(resource))
- throw new KeyNotFoundException();
-
- Roles[role].GivePermission(resource, Permission.Allow);
-
- return this;
- }
-
- public ACL DenyPermission(string role, string resource)
- {
- if (!Roles.ContainsKey(role))
- throw new KeyNotFoundException();
-
- if (!Resources.ContainsKey(resource))
- throw new KeyNotFoundException();
-
- Roles[role].GivePermission(resource, Permission.Deny);
-
- return this;
- }
-
- public ACL ResetPermission(string role, string resource)
- {
- if (!Roles.ContainsKey(role))
- throw new KeyNotFoundException();
-
- if (!Resources.ContainsKey(resource))
- throw new KeyNotFoundException();
-
- Roles[role].GivePermission(resource, Permission.None);
-
- return this;
- }
- }
-
- #endregion
-
- #region Exceptions
-
- ///
- /// Thrown when an ACL attempts to add a duplicate role.
- ///
- public class AlreadyContainsRoleException : Exception
- {
- protected Role m_role;
-
- public AlreadyContainsRoleException(Role role)
- {
- m_role = role;
- }
-
- public Role ErrorRole
- {
- get { return m_role; }
- }
-
- public override string ToString()
- {
- return "This ACL already contains a role called '" + m_role.Name + "'.";
- }
- }
-
- #endregion
-
- #region Roles and Resources
-
- ///
- /// Does this Role have permission to access a specified Resource?
- ///
- public enum Permission
- {
- Deny,
- None,
- Allow
- } ;
-
- ///
- /// A role class, for use with Users or Groups
- ///
- public class Role
- {
- private string m_name;
- private Role[] m_parents;
- private Dictionary m_resources = new Dictionary();
-
- public Role(string name)
- {
- m_name = name;
- m_parents = null;
- }
-
- public Role(string name, Role[] parents)
- {
- m_name = name;
- m_parents = parents;
- }
-
- public string Name
- {
- get { return m_name; }
- }
-
- public Permission RequestPermission(string resource)
- {
- return RequestPermission(resource, Permission.None);
- }
-
- public Permission RequestPermission(string resource, Permission current)
- {
- // Deny permissions always override any others
- if (current == Permission.Deny)
- return current;
-
- Permission temp = Permission.None;
-
- // Pickup non-None permissions
- if (m_resources.ContainsKey(resource) && m_resources[resource] != Permission.None)
- temp = m_resources[resource];
-
- if (m_parents != null)
- {
- foreach (Role parent in m_parents)
- {
- temp = parent.RequestPermission(resource, temp);
- }
- }
-
- return temp;
- }
-
- public void GivePermission(string resource, Permission perm)
- {
- m_resources[resource] = perm;
- }
- }
-
- public class Resource
- {
- private string m_name;
-
- public Resource(string name)
- {
- m_name = name;
- }
-
- public string Name
- {
- get { return m_name; }
- }
- }
-
- #endregion
-
-
-}
\ No newline at end of file
diff --git a/OpenSim/Framework/ConfigBase.cs b/OpenSim/Framework/ConfigBase.cs
deleted file mode 100644
index 40ec32f2f2..0000000000
--- a/OpenSim/Framework/ConfigBase.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * 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.Generic;
-using System.Text;
-
-namespace OpenSim.Framework
-{
- public abstract class ConfigBase
- {
- protected ConfigurationMember m_configMember;
- }
-}
diff --git a/OpenSim/Framework/Configuration/HTTP/HTTPConfiguration.cs b/OpenSim/Framework/Configuration/HTTP/HTTPConfiguration.cs
deleted file mode 100644
index 3dce578193..0000000000
--- a/OpenSim/Framework/Configuration/HTTP/HTTPConfiguration.cs
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * 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.IO;
-using System.Net;
-using System.Reflection;
-using System.Text;
-using log4net;
-using OpenSim.Framework.Configuration.XML;
-
-namespace OpenSim.Framework.Configuration.HTTP
-{
- public class HTTPConfiguration : IGenericConfig
- {
- private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
-
- private RemoteConfigSettings remoteConfigSettings;
-
- private XmlConfiguration xmlConfig;
-
- private string configFileName = String.Empty;
-
- public HTTPConfiguration()
- {
- remoteConfigSettings = new RemoteConfigSettings("remoteconfig.xml");
- xmlConfig = new XmlConfiguration();
- }
-
- public void SetFileName(string fileName)
- {
- configFileName = fileName;
- }
-
- public void LoadData()
- {
- try
- {
- StringBuilder sb = new StringBuilder();
-
- byte[] buf = new byte[8192];
- HttpWebRequest request =
- (HttpWebRequest) WebRequest.Create(remoteConfigSettings.baseConfigURL + configFileName);
- HttpWebResponse response = (HttpWebResponse) request.GetResponse();
-
- Stream resStream = response.GetResponseStream();
-
- string tempString = null;
- int count = 0;
-
- do
- {
- count = resStream.Read(buf, 0, buf.Length);
- if (count != 0)
- {
- tempString = Util.UTF8.GetString(buf, 0, count);
- sb.Append(tempString);
- }
- } while (count > 0);
- LoadDataFromString(sb.ToString());
- }
- catch (WebException)
- {
- m_log.Warn("Unable to connect to remote configuration file (" +
- remoteConfigSettings.baseConfigURL + configFileName +
- "). Creating local file instead.");
- xmlConfig.SetFileName(configFileName);
- xmlConfig.LoadData();
- }
- }
-
- public void LoadDataFromString(string data)
- {
- xmlConfig.LoadDataFromString(data);
- }
-
- public string GetAttribute(string attributeName)
- {
- return xmlConfig.GetAttribute(attributeName);
- }
-
- public bool SetAttribute(string attributeName, string attributeValue)
- {
- return true;
- }
-
- public void Commit()
- {
- }
-
- public void Close()
- {
- }
- }
-}
diff --git a/OpenSim/Framework/Configuration/HTTP/RemoteConfigSettings.cs b/OpenSim/Framework/Configuration/HTTP/RemoteConfigSettings.cs
deleted file mode 100644
index 10bc88aa6c..0000000000
--- a/OpenSim/Framework/Configuration/HTTP/RemoteConfigSettings.cs
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * 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;
-
-namespace OpenSim.Framework.Configuration.HTTP
-{
- public class RemoteConfigSettings
- {
- private ConfigurationMember configMember;
-
- public string baseConfigURL = String.Empty;
-
- public RemoteConfigSettings(string filename)
- {
- configMember =
- new ConfigurationMember(filename, "REMOTE CONFIG SETTINGS", loadConfigurationOptions,
- handleIncomingConfiguration,true);
- configMember.forceConfigurationPluginLibrary("OpenSim.Framework.Configuration.XML.dll");
- configMember.performConfigurationRetrieve();
- }
-
- public void loadConfigurationOptions()
- {
- configMember.addConfigurationOption("base_config_url",
- ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
- "URL Containing Configuration Files", "http://localhost/", false);
- }
-
- public bool handleIncomingConfiguration(string configuration_key, object configuration_result)
- {
- if (configuration_key == "base_config_url")
- {
- baseConfigURL = (string) configuration_result;
- }
- return true;
- }
- }
-}
diff --git a/OpenSim/Framework/Configuration/XML/XmlConfiguration.cs b/OpenSim/Framework/Configuration/XML/XmlConfiguration.cs
deleted file mode 100644
index 43162fc227..0000000000
--- a/OpenSim/Framework/Configuration/XML/XmlConfiguration.cs
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * 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.IO;
-using System.Xml;
-
-namespace OpenSim.Framework.Configuration.XML
-{
- public class XmlConfiguration : IGenericConfig
- {
- private XmlDocument doc;
- private XmlNode rootNode;
- private XmlNode configNode;
- private string fileName;
- private bool createdFile = false;
-
- public void SetFileName(string file)
- {
- fileName = file;
- }
-
- private void LoadDataToClass()
- {
- rootNode = doc.SelectSingleNode("Root");
- if (null == rootNode)
- throw new Exception("Error: Invalid .xml File. Missing ");
-
- configNode = rootNode.SelectSingleNode("Config");
- if (null == configNode)
- throw new Exception("Error: Invalid .xml File. should contain a ");
- }
-
- public void LoadData()
- {
- lock (this)
- {
- doc = new XmlDocument();
- if (File.Exists(fileName))
- {
- XmlTextReader reader = new XmlTextReader(fileName);
- reader.WhitespaceHandling = WhitespaceHandling.None;
- doc.Load(reader);
- reader.Close();
- }
- else
- {
- createdFile = true;
- rootNode = doc.CreateNode(XmlNodeType.Element, "Root", String.Empty);
- doc.AppendChild(rootNode);
- configNode = doc.CreateNode(XmlNodeType.Element, "Config", String.Empty);
- rootNode.AppendChild(configNode);
- }
-
- LoadDataToClass();
-
- if (createdFile)
- {
- Commit();
- }
- }
- }
-
- public void LoadDataFromString(string data)
- {
- doc = new XmlDocument();
- doc.LoadXml(data);
-
- LoadDataToClass();
- }
-
- public string GetAttribute(string attributeName)
- {
- string result = null;
- if (configNode.Attributes[attributeName] != null)
- {
- result = ((XmlAttribute) configNode.Attributes.GetNamedItem(attributeName)).Value;
- }
- return result;
- }
-
- public bool SetAttribute(string attributeName, string attributeValue)
- {
- if (configNode.Attributes[attributeName] != null)
- {
- ((XmlAttribute) configNode.Attributes.GetNamedItem(attributeName)).Value = attributeValue;
- }
- else
- {
- XmlAttribute attri;
- attri = doc.CreateAttribute(attributeName);
- attri.Value = attributeValue;
- configNode.Attributes.Append(attri);
- }
- return true;
- }
-
- public void Commit()
- {
- if (fileName == null || fileName == String.Empty)
- return;
-
- if (!Directory.Exists(Util.configDir()))
- {
- Directory.CreateDirectory(Util.configDir());
- }
- doc.Save(fileName);
- }
-
- public void Close()
- {
- configNode = null;
- rootNode = null;
- doc = null;
- }
- }
-}
diff --git a/OpenSim/Framework/FriendRegionInfo.cs b/OpenSim/Framework/FriendRegionInfo.cs
deleted file mode 100644
index 68b5f3da1c..0000000000
--- a/OpenSim/Framework/FriendRegionInfo.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * 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 OpenMetaverse;
-
-namespace OpenSim.Framework
-{
- public class FriendRegionInfo
- {
- public bool isOnline;
- public ulong regionHandle;
- public UUID regionID;
- }
-}
diff --git a/OpenSim/Framework/GridConfig.cs b/OpenSim/Framework/GridConfig.cs
deleted file mode 100644
index 3a43a14415..0000000000
--- a/OpenSim/Framework/GridConfig.cs
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * 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;
-
-namespace OpenSim.Framework
-{
- public class GridConfig:ConfigBase
- {
- public string AllowForcefulBanlines = "TRUE";
- public bool AllowRegionRegistration = true;
- public string AssetRecvKey = String.Empty;
- public string AssetSendKey = String.Empty;
-
- public string DatabaseProvider = String.Empty;
- public string DatabaseConnect = String.Empty;
- public string DefaultAssetServer = String.Empty;
- public string DefaultUserServer = String.Empty;
- public uint HttpPort = ConfigSettings.DefaultGridServerHttpPort;
- public string SimRecvKey = String.Empty;
- public string SimSendKey = String.Empty;
- public string UserRecvKey = String.Empty;
- public string UserSendKey = String.Empty;
- public string ConsoleUser = String.Empty;
- public string ConsolePass = String.Empty;
-
- public GridConfig(string description, string filename)
- {
- m_configMember =
- new ConfigurationMember(filename, description, loadConfigurationOptions, handleIncomingConfiguration, true);
- m_configMember.performConfigurationRetrieve();
- }
-
- public void loadConfigurationOptions()
- {
- m_configMember.addConfigurationOption("default_asset_server",
- ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
- "Default Asset Server URI",
- "http://127.0.0.1:" + ConfigSettings.DefaultAssetServerHttpPort.ToString() + "/",
- false);
- m_configMember.addConfigurationOption("asset_send_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
- "Key to send to asset server", "null", false);
- m_configMember.addConfigurationOption("asset_recv_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
- "Key to expect from asset server", "null", false);
-
- m_configMember.addConfigurationOption("default_user_server",
- ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
- "Default User Server URI",
- "http://127.0.0.1:" + ConfigSettings.DefaultUserServerHttpPort.ToString() + "/", false);
- m_configMember.addConfigurationOption("user_send_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
- "Key to send to user server", "null", false);
- m_configMember.addConfigurationOption("user_recv_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
- "Key to expect from user server", "null", false);
-
- m_configMember.addConfigurationOption("sim_send_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
- "Key to send to a simulator", "null", false);
- m_configMember.addConfigurationOption("sim_recv_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
- "Key to expect from a simulator", "null", false);
- m_configMember.addConfigurationOption("database_provider", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
- "DLL for database provider", "OpenSim.Data.MySQL.dll", false);
- m_configMember.addConfigurationOption("database_connect", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
- "Database connect string", "", false);
-
- m_configMember.addConfigurationOption("http_port", ConfigurationOption.ConfigurationTypes.TYPE_UINT32,
- "Http Listener port", ConfigSettings.DefaultGridServerHttpPort.ToString(), false);
-
- m_configMember.addConfigurationOption("allow_forceful_banlines",
- ConfigurationOption.ConfigurationTypes.TYPE_STRING,
- "Allow Forceful Banlines", "TRUE", true);
-
- m_configMember.addConfigurationOption("allow_region_registration",
- ConfigurationOption.ConfigurationTypes.TYPE_BOOLEAN,
- "Allow regions to register immediately upon grid server startup? true/false",
- "True",
- false);
- m_configMember.addConfigurationOption("console_user", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
- "Remote console access user name [Default: disabled]", "", false);
-
- m_configMember.addConfigurationOption("console_pass", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
- "Remote console access password [Default: disabled]", "", false);
-
- }
-
- public bool handleIncomingConfiguration(string configuration_key, object configuration_result)
- {
- switch (configuration_key)
- {
- case "default_asset_server":
- DefaultAssetServer = (string) configuration_result;
- break;
- case "asset_send_key":
- AssetSendKey = (string) configuration_result;
- break;
- case "asset_recv_key":
- AssetRecvKey = (string) configuration_result;
- break;
- case "default_user_server":
- DefaultUserServer = (string) configuration_result;
- break;
- case "user_send_key":
- UserSendKey = (string) configuration_result;
- break;
- case "user_recv_key":
- UserRecvKey = (string) configuration_result;
- break;
- case "sim_send_key":
- SimSendKey = (string) configuration_result;
- break;
- case "sim_recv_key":
- SimRecvKey = (string) configuration_result;
- break;
- case "database_provider":
- DatabaseProvider = (string) configuration_result;
- break;
- case "database_connect":
- DatabaseConnect = (string) configuration_result;
- break;
- case "http_port":
- HttpPort = (uint) configuration_result;
- break;
- case "allow_forceful_banlines":
- AllowForcefulBanlines = (string) configuration_result;
- break;
- case "allow_region_registration":
- AllowRegionRegistration = (bool)configuration_result;
- break;
- case "console_user":
- ConsoleUser = (string)configuration_result;
- break;
- case "console_pass":
- ConsolePass = (string)configuration_result;
- break;
- }
-
- return true;
- }
- }
-}
diff --git a/OpenSim/Framework/HGNetworkServersInfo.cs b/OpenSim/Framework/HGNetworkServersInfo.cs
deleted file mode 100644
index 08655764d1..0000000000
--- a/OpenSim/Framework/HGNetworkServersInfo.cs
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * 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.Net;
-
-namespace OpenSim.Framework
-{
- public class HGNetworkServersInfo
- {
-
- public readonly string LocalAssetServerURI, LocalInventoryServerURI, LocalUserServerURI;
-
- private static HGNetworkServersInfo m_singleton;
- public static HGNetworkServersInfo Singleton
- {
- get { return m_singleton; }
- }
-
- public static void Init(string assetserver, string inventoryserver, string userserver)
- {
- m_singleton = new HGNetworkServersInfo(assetserver, inventoryserver, userserver);
-
- }
-
- private HGNetworkServersInfo(string a, string i, string u)
- {
- LocalAssetServerURI = ServerURI(a);
- LocalInventoryServerURI = ServerURI(i);
- LocalUserServerURI = ServerURI(u);
- }
-
- public bool IsLocalUser(string userserver)
- {
- string userServerURI = ServerURI(userserver);
- bool ret = (((userServerURI == null) || (userServerURI == "") || (userServerURI == LocalUserServerURI)));
- //m_log.Debug("-------------> HGNetworkServersInfo.IsLocalUser? " + ret + "(userServer=" + userServerURI + "; localuserserver=" + LocalUserServerURI + ")");
- return ret;
- }
-
- public bool IsLocalUser(UserProfileData userData)
- {
- if (userData != null)
- {
- if (userData is ForeignUserProfileData)
- return IsLocalUser(((ForeignUserProfileData)userData).UserServerURI);
- else
- return true;
- }
- else
- // Something fishy; ignore it
- return true;
- }
-
- public static string ServerURI(string uri)
- {
- // Get rid of eventual slashes at the end
- try
- {
- if (uri.EndsWith("/"))
- uri = uri.Substring(0, uri.Length - 1);
- }
- catch { }
-
- IPAddress ipaddr1 = null;
- string port1 = "";
- try
- {
- ipaddr1 = Util.GetHostFromURL(uri);
- }
- catch { }
-
- try
- {
- port1 = uri.Split(new char[] { ':' })[2];
- }
- catch { }
-
- // We tried our best to convert the domain names to IP addresses
- return (ipaddr1 != null) ? "http://" + ipaddr1.ToString() + ":" + port1 : uri;
- }
-
- }
-}
diff --git a/OpenSim/Framework/IClientFileTransfer.cs b/OpenSim/Framework/IClientFileTransfer.cs
deleted file mode 100644
index f947b17de3..0000000000
--- a/OpenSim/Framework/IClientFileTransfer.cs
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * 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 OpenMetaverse;
-
-namespace OpenSim.Framework
-{
- public delegate void UploadComplete(string filename, UUID fileID, ulong transferID, byte[] fileData, IClientAPI remoteClient);
- public delegate void UploadAborted(string filename, UUID fileID, ulong transferID, IClientAPI remoteClient);
-
- public interface IClientFileTransfer
- {
- bool RequestUpload(string clientFileName, UploadComplete uploadCompleteCallback, UploadAborted abortCallback);
- bool RequestUpload(UUID fileID, UploadComplete uploadCompleteCallback, UploadAborted abortCallback);
- }
-}
diff --git a/OpenSim/Framework/ILoginServiceToRegionsConnector.cs b/OpenSim/Framework/ILoginServiceToRegionsConnector.cs
deleted file mode 100644
index 5a155c1127..0000000000
--- a/OpenSim/Framework/ILoginServiceToRegionsConnector.cs
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * 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 OpenMetaverse;
-
-namespace OpenSim.Framework
-{
- public interface ILoginServiceToRegionsConnector
- {
- void LogOffUserFromGrid(ulong regionHandle, UUID AvatarID, UUID RegionSecret, string message);
- bool NewUserConnection(ulong regionHandle, AgentCircuitData agent, out string reason);
- RegionInfo RequestClosestRegion(string region);
- RegionInfo RequestNeighbourInfo(UUID regionID);
- RegionInfo RequestNeighbourInfo(ulong regionhandle);
- }
-}
diff --git a/OpenSim/Framework/MessageServerConfig.cs b/OpenSim/Framework/MessageServerConfig.cs
deleted file mode 100644
index 884c0eab23..0000000000
--- a/OpenSim/Framework/MessageServerConfig.cs
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * 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;
-
-namespace OpenSim.Framework
-{
- ///
- /// Message Server Config - Configuration of the Message Server
- ///
- public class MessageServerConfig:ConfigBase
- {
- public string DatabaseProvider = String.Empty;
- public string DatabaseConnect = String.Empty;
- public string GridCommsProvider = String.Empty;
- public string GridRecvKey = String.Empty;
- public string GridSendKey = String.Empty;
- public string GridServerURL = String.Empty;
- public uint HttpPort = ConfigSettings.DefaultMessageServerHttpPort;
- public bool HttpSSL = ConfigSettings.DefaultMessageServerHttpSSL;
- public string MessageServerIP = String.Empty;
- public string UserRecvKey = String.Empty;
- public string UserSendKey = String.Empty;
- public string UserServerURL = String.Empty;
- public string ConsoleUser = String.Empty;
- public string ConsolePass = String.Empty;
-
- public MessageServerConfig(string description, string filename)
- {
- m_configMember =
- new ConfigurationMember(filename, description, loadConfigurationOptions, handleIncomingConfiguration, true);
- m_configMember.performConfigurationRetrieve();
- }
-
- public void loadConfigurationOptions()
- {
- m_configMember.addConfigurationOption("default_user_server",
- ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
- "Default User Server URI",
- "http://127.0.0.1:" + ConfigSettings.DefaultUserServerHttpPort.ToString() + "/", false);
- m_configMember.addConfigurationOption("user_send_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
- "Key to send to user server", "null", false);
- m_configMember.addConfigurationOption("user_recv_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
- "Key to expect from user server", "null", false);
- m_configMember.addConfigurationOption("default_grid_server",
- ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
- "Default Grid Server URI",
- "http://127.0.0.1:" + ConfigSettings.DefaultGridServerHttpPort.ToString() + "/", false);
- m_configMember.addConfigurationOption("grid_send_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
- "Key to send to grid server", "null", false);
- m_configMember.addConfigurationOption("grid_recv_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
- "Key to expect from grid server", "null", false);
-
- m_configMember.addConfigurationOption("database_connect", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
- "Connection String for Database", "", false);
-
- m_configMember.addConfigurationOption("database_provider", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
- "DLL for database provider", "OpenSim.Data.MySQL.dll", false);
-
- m_configMember.addConfigurationOption("region_comms_provider", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
- "DLL for comms provider", "OpenSim.Region.Communications.OGS1.dll", false);
-
- m_configMember.addConfigurationOption("http_port", ConfigurationOption.ConfigurationTypes.TYPE_UINT32,
- "Http Listener port", ConfigSettings.DefaultMessageServerHttpPort.ToString(), false);
- m_configMember.addConfigurationOption("http_ssl", ConfigurationOption.ConfigurationTypes.TYPE_BOOLEAN,
- "Use SSL? true/false", ConfigSettings.DefaultMessageServerHttpSSL.ToString(), false);
- m_configMember.addConfigurationOption("published_ip", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
- "My Published IP Address", "127.0.0.1", false);
- m_configMember.addConfigurationOption("console_user", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
- "Remote console access user name [Default: disabled]", "", false);
-
- m_configMember.addConfigurationOption("console_pass", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
- "Remote console access password [Default: disabled]", "", false);
-
- }
-
- public bool handleIncomingConfiguration(string configuration_key, object configuration_result)
- {
- switch (configuration_key)
- {
- case "default_user_server":
- UserServerURL = (string) configuration_result;
- break;
- case "user_send_key":
- UserSendKey = (string) configuration_result;
- break;
- case "user_recv_key":
- UserRecvKey = (string) configuration_result;
- break;
- case "default_grid_server":
- GridServerURL = (string) configuration_result;
- break;
- case "grid_send_key":
- GridSendKey = (string) configuration_result;
- break;
- case "grid_recv_key":
- GridRecvKey = (string) configuration_result;
- break;
- case "database_provider":
- DatabaseProvider = (string) configuration_result;
- break;
- case "database_connect":
- DatabaseConnect = (string)configuration_result;
- break;
- case "http_port":
- HttpPort = (uint) configuration_result;
- break;
- case "http_ssl":
- HttpSSL = (bool) configuration_result;
- break;
- case "region_comms_provider":
- GridCommsProvider = (string) configuration_result;
- break;
- case "published_ip":
- MessageServerIP = (string) configuration_result;
- break;
- case "console_user":
- ConsoleUser = (string)configuration_result;
- break;
- case "console_pass":
- ConsolePass = (string)configuration_result;
- break;
- }
-
- return true;
- }
- }
-}
diff --git a/OpenSim/Framework/Tests/ACLTest.cs b/OpenSim/Framework/Tests/ACLTest.cs
deleted file mode 100644
index 06e860e01c..0000000000
--- a/OpenSim/Framework/Tests/ACLTest.cs
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * 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 NUnit.Framework;
-using System.Collections.Generic;
-
-
-namespace OpenSim.Framework.Tests
-{
- [TestFixture]
- public class ACLTest
- {
- #region Tests
-
- ///
- /// ACL Test class
- ///
- [Test]
- public void ACLTest01()
- {
- ACL acl = new ACL();
-
- Role Guests = new Role("Guests");
- acl.AddRole(Guests);
-
- Role[] parents = new Role[1];
- parents[0] = Guests;
-
- Role JoeGuest = new Role("JoeGuest", parents);
- acl.AddRole(JoeGuest);
-
- Resource CanBuild = new Resource("CanBuild");
- acl.AddResource(CanBuild);
-
-
- acl.GrantPermission("Guests", "CanBuild");
-
- Permission perm = acl.HasPermission("JoeGuest", "CanBuild");
- Assert.That(perm == Permission.Allow, "JoeGuest should have permission to build");
- perm = Permission.None;
- try
- {
- perm = acl.HasPermission("unknownGuest", "CanBuild");
-
- }
- catch (KeyNotFoundException)
- {
-
-
- }
- catch (Exception)
- {
- Assert.That(false,"Exception thrown should have been KeyNotFoundException");
- }
- Assert.That(perm == Permission.None,"Permission None should be set because exception should have been thrown");
-
- }
-
- [Test]
- public void KnownButPermissionDenyAndPermissionNoneUserTest()
- {
- ACL acl = new ACL();
-
- Role Guests = new Role("Guests");
- acl.AddRole(Guests);
- Role Administrators = new Role("Administrators");
- acl.AddRole(Administrators);
- Role[] Guestparents = new Role[1];
- Role[] Adminparents = new Role[1];
-
- Guestparents[0] = Guests;
- Adminparents[0] = Administrators;
-
- Role JoeGuest = new Role("JoeGuest", Guestparents);
- acl.AddRole(JoeGuest);
-
- Resource CanBuild = new Resource("CanBuild");
- acl.AddResource(CanBuild);
-
- Resource CanScript = new Resource("CanScript");
- acl.AddResource(CanScript);
-
- Resource CanRestart = new Resource("CanRestart");
- acl.AddResource(CanRestart);
-
- acl.GrantPermission("Guests", "CanBuild");
- acl.DenyPermission("Guests", "CanRestart");
-
- acl.GrantPermission("Administrators", "CanScript");
-
- acl.GrantPermission("Administrators", "CanRestart");
- Permission setPermission = acl.HasPermission("JoeGuest", "CanRestart");
- Assert.That(setPermission == Permission.Deny, "Guests Should not be able to restart");
- Assert.That(acl.HasPermission("JoeGuest", "CanScript") == Permission.None,
- "No Explicit Permissions set so should be Permission.None");
- }
-
- #endregion
- }
-}
diff --git a/OpenSim/Framework/UserConfig.cs b/OpenSim/Framework/UserConfig.cs
deleted file mode 100644
index 0fa82cf4c2..0000000000
--- a/OpenSim/Framework/UserConfig.cs
+++ /dev/null
@@ -1,231 +0,0 @@
-/*
- * 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.IO;
-
-namespace OpenSim.Framework
-{
- ///
- /// UserConfig -- For User Server Configuration
- ///
- public class UserConfig:ConfigBase
- {
- public string DatabaseProvider = String.Empty;
- public string DatabaseConnect = String.Empty;
- public string DefaultStartupMsg = String.Empty;
- public uint DefaultX = 1000;
- public uint DefaultY = 1000;
- public string GridRecvKey = String.Empty;
- public string GridSendKey = String.Empty;
- public uint HttpPort = ConfigSettings.DefaultUserServerHttpPort;
- public bool HttpSSL = ConfigSettings.DefaultUserServerHttpSSL;
- public uint DefaultUserLevel = 0;
- public string LibraryXmlfile = "";
- public string ConsoleUser = String.Empty;
- public string ConsolePass = String.Empty;
-
- private Uri m_inventoryUrl;
-
- public Uri InventoryUrl
- {
- get
- {
- return m_inventoryUrl;
- }
- set
- {
- m_inventoryUrl = value;
- }
- }
-
- private Uri m_authUrl;
- public Uri AuthUrl
- {
- get
- {
- return m_authUrl;
- }
- set
- {
- m_authUrl = value;
- }
- }
-
- private Uri m_gridServerURL;
-
- public Uri GridServerURL
- {
- get
- {
- return m_gridServerURL;
- }
- set
- {
- m_gridServerURL = value;
- }
- }
-
- public bool EnableLLSDLogin = true;
-
- public bool EnableHGLogin = true;
-
- public UserConfig()
- {
- // weird, but UserManagerBase needs this.
- }
- public UserConfig(string description, string filename)
- {
- m_configMember =
- new ConfigurationMember(filename, description, loadConfigurationOptions, handleIncomingConfiguration, true);
- m_configMember.performConfigurationRetrieve();
- }
-
- public void loadConfigurationOptions()
- {
- m_configMember.addConfigurationOption("default_startup_message",
- ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
- "Default Startup Message", "Welcome to OGS", false);
-
- m_configMember.addConfigurationOption("default_grid_server",
- ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
- "Default Grid Server URI",
- "http://127.0.0.1:" + ConfigSettings.DefaultGridServerHttpPort + "/", false);
- m_configMember.addConfigurationOption("grid_send_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
- "Key to send to grid server", "null", false);
- m_configMember.addConfigurationOption("grid_recv_key", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
- "Key to expect from grid server", "null", false);
-
- m_configMember.addConfigurationOption("default_inventory_server",
- ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
- "Default Inventory Server URI",
- "http://127.0.0.1:" + ConfigSettings.DefaultInventoryServerHttpPort + "/",
- false);
- m_configMember.addConfigurationOption("default_authentication_server",
- ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
- "User Server (this) External URI for authentication keys",
- "http://localhost:" + ConfigSettings.DefaultUserServerHttpPort + "/",
- false);
- m_configMember.addConfigurationOption("library_location",
- ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
- "Path to library control file",
- string.Format(".{0}inventory{0}Libraries.xml", Path.DirectorySeparatorChar), false);
-
- m_configMember.addConfigurationOption("database_provider", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
- "DLL for database provider", "OpenSim.Data.MySQL.dll", false);
- m_configMember.addConfigurationOption("database_connect", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
- "Connection String for Database", "", false);
-
- m_configMember.addConfigurationOption("http_port", ConfigurationOption.ConfigurationTypes.TYPE_UINT32,
- "Http Listener port", ConfigSettings.DefaultUserServerHttpPort.ToString(), false);
- m_configMember.addConfigurationOption("http_ssl", ConfigurationOption.ConfigurationTypes.TYPE_BOOLEAN,
- "Use SSL? true/false", ConfigSettings.DefaultUserServerHttpSSL.ToString(), false);
- m_configMember.addConfigurationOption("default_X", ConfigurationOption.ConfigurationTypes.TYPE_UINT32,
- "Known good region X", "1000", false);
- m_configMember.addConfigurationOption("default_Y", ConfigurationOption.ConfigurationTypes.TYPE_UINT32,
- "Known good region Y", "1000", false);
- m_configMember.addConfigurationOption("enable_llsd_login", ConfigurationOption.ConfigurationTypes.TYPE_BOOLEAN,
- "Enable LLSD login support [Currently used by libsl based clients/bots]? true/false", true.ToString(), false);
-
- m_configMember.addConfigurationOption("enable_hg_login", ConfigurationOption.ConfigurationTypes.TYPE_BOOLEAN,
- "Enable Hypergrid login support [Currently used by GridSurfer-proxied clients]? true/false", true.ToString(), false);
-
- m_configMember.addConfigurationOption("default_loginLevel", ConfigurationOption.ConfigurationTypes.TYPE_UINT32,
- "Minimum Level a user should have to login [0 default]", "0", false);
-
- m_configMember.addConfigurationOption("console_user", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
- "Remote console access user name [Default: disabled]", "", false);
-
- m_configMember.addConfigurationOption("console_pass", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
- "Remote console access password [Default: disabled]", "", false);
-
- }
-
- public bool handleIncomingConfiguration(string configuration_key, object configuration_result)
- {
- switch (configuration_key)
- {
- case "default_startup_message":
- DefaultStartupMsg = (string) configuration_result;
- break;
- case "default_grid_server":
- GridServerURL = new Uri((string) configuration_result);
- break;
- case "grid_send_key":
- GridSendKey = (string) configuration_result;
- break;
- case "grid_recv_key":
- GridRecvKey = (string) configuration_result;
- break;
- case "default_inventory_server":
- InventoryUrl = new Uri((string) configuration_result);
- break;
- case "default_authentication_server":
- AuthUrl = new Uri((string)configuration_result);
- break;
- case "database_provider":
- DatabaseProvider = (string) configuration_result;
- break;
- case "database_connect":
- DatabaseConnect = (string) configuration_result;
- break;
- case "http_port":
- HttpPort = (uint) configuration_result;
- break;
- case "http_ssl":
- HttpSSL = (bool) configuration_result;
- break;
- case "default_X":
- DefaultX = (uint) configuration_result;
- break;
- case "default_Y":
- DefaultY = (uint) configuration_result;
- break;
- case "enable_llsd_login":
- EnableLLSDLogin = (bool)configuration_result;
- break;
- case "enable_hg_login":
- EnableHGLogin = (bool)configuration_result;
- break;
- case "default_loginLevel":
- DefaultUserLevel = (uint)configuration_result;
- break;
- case "library_location":
- LibraryXmlfile = (string)configuration_result;
- break;
- case "console_user":
- ConsoleUser = (string)configuration_result;
- break;
- case "console_pass":
- ConsolePass = (string)configuration_result;
- break;
- }
-
- return true;
- }
- }
-}
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLFileTransfer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLFileTransfer.cs
deleted file mode 100644
index 10e5a954b6..0000000000
--- a/OpenSim/Region/ClientStack/LindenUDP/LLFileTransfer.cs
+++ /dev/null
@@ -1,367 +0,0 @@
-/*
- * 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.Generic;
-using OpenMetaverse;
-using OpenSim.Framework;
-
-namespace OpenSim.Region.ClientStack.LindenUDP
-{
- ///
- /// A work in progress, to contain the SL specific file transfer code that is currently in various region modules
- /// This file currently contains multiple classes that need to be split out into their own files.
- ///
- public class LLFileTransfer : IClientFileTransfer
- {
- protected IClientAPI m_clientAPI;
-
- /// Dictionary of handlers for uploading files from client
- /// TODO: Need to add cleanup code to remove handlers that have completed their upload
- protected Dictionary m_uploadHandlers;
- protected object m_uploadHandlersLock = new object();
-
-
- ///
- /// Dictionary of files ready to be sent to clients
- ///
- protected static Dictionary m_files;
-
- ///
- /// Dictionary of Download Transfers in progess
- ///
- protected Dictionary m_downloadHandlers = new Dictionary();
-
-
- public LLFileTransfer(IClientAPI clientAPI)
- {
- m_uploadHandlers = new Dictionary();
- m_clientAPI = clientAPI;
-
- m_clientAPI.OnXferReceive += XferReceive;
- m_clientAPI.OnAbortXfer += AbortXferUploadHandler;
- }
-
- public void Close()
- {
- if (m_clientAPI != null)
- {
- m_clientAPI.OnXferReceive -= XferReceive;
- m_clientAPI.OnAbortXfer -= AbortXferUploadHandler;
- m_clientAPI = null;
- }
- }
-
- #region Upload Handling
-
- public bool RequestUpload(string clientFileName, UploadComplete uploadCompleteCallback, UploadAborted abortCallback)
- {
- if ((String.IsNullOrEmpty(clientFileName)) || (uploadCompleteCallback == null))
- {
- return false;
- }
-
- XferUploadHandler uploader = new XferUploadHandler(m_clientAPI, clientFileName);
-
- return StartUpload(uploader, uploadCompleteCallback, abortCallback);
- }
-
- public bool RequestUpload(UUID fileID, UploadComplete uploadCompleteCallback, UploadAborted abortCallback)
- {
- if ((fileID == UUID.Zero) || (uploadCompleteCallback == null))
- {
- return false;
- }
-
- XferUploadHandler uploader = new XferUploadHandler(m_clientAPI, fileID);
-
- return StartUpload(uploader, uploadCompleteCallback, abortCallback);
- }
-
- private bool StartUpload(XferUploadHandler uploader, UploadComplete uploadCompleteCallback, UploadAborted abortCallback)
- {
- uploader.UploadDone += uploadCompleteCallback;
- uploader.UploadDone += RemoveXferUploadHandler;
-
- if (abortCallback != null)
- {
- uploader.UploadAborted += abortCallback;
- }
-
- lock (m_uploadHandlersLock)
- {
- if (!m_uploadHandlers.ContainsKey(uploader.XferID))
- {
- m_uploadHandlers.Add(uploader.XferID, uploader);
- uploader.RequestStartXfer(m_clientAPI);
- return true;
- }
- else
- {
- // something went wrong with the xferID allocation
- uploader.UploadDone -= uploadCompleteCallback;
- uploader.UploadDone -= RemoveXferUploadHandler;
- if (abortCallback != null)
- {
- uploader.UploadAborted -= abortCallback;
- }
- return false;
- }
- }
- }
-
- protected void AbortXferUploadHandler(IClientAPI remoteClient, ulong xferID)
- {
- lock (m_uploadHandlersLock)
- {
- if (m_uploadHandlers.ContainsKey(xferID))
- {
- m_uploadHandlers[xferID].AbortUpload(remoteClient);
- m_uploadHandlers.Remove(xferID);
- }
- }
- }
-
- protected void XferReceive(IClientAPI remoteClient, ulong xferID, uint packetID, byte[] data)
- {
- lock (m_uploadHandlersLock)
- {
- if (m_uploadHandlers.ContainsKey(xferID))
- {
- m_uploadHandlers[xferID].XferReceive(remoteClient, xferID, packetID, data);
- }
- }
- }
-
- protected void RemoveXferUploadHandler(string filename, UUID fileID, ulong transferID, byte[] fileData, IClientAPI remoteClient)
- {
-
- }
- #endregion
-
- }
-
- public class XferUploadHandler
- {
- private AssetBase m_asset;
-
- public event UploadComplete UploadDone;
- public event UploadAborted UploadAborted;
-
- private sbyte type = 0;
-
- public ulong mXferID;
- private UploadComplete handlerUploadDone;
- private UploadAborted handlerAbort;
-
- private bool m_complete = false;
-
- public bool UploadComplete
- {
- get { return m_complete; }
- }
-
- public XferUploadHandler(IClientAPI pRemoteClient, string pClientFilename)
- {
- Initialise(UUID.Zero, pClientFilename);
- }
-
- public XferUploadHandler(IClientAPI pRemoteClient, UUID fileID)
- {
- Initialise(fileID, String.Empty);
- }
-
- private void Initialise(UUID fileID, string fileName)
- {
- m_asset = new AssetBase(fileID, fileName, type, UUID.Zero.ToString());
- m_asset.Data = new byte[0];
- m_asset.Description = "empty";
- m_asset.Local = true;
- m_asset.Temporary = true;
- mXferID = Util.GetNextXferID();
- }
-
- public ulong XferID
- {
- get { return mXferID; }
- }
-
- public void RequestStartXfer(IClientAPI pRemoteClient)
- {
- m_asset.Metadata.CreatorID = pRemoteClient.AgentId.ToString();
-
- if (!String.IsNullOrEmpty(m_asset.Name))
- {
- pRemoteClient.SendXferRequest(mXferID, m_asset.Type, m_asset.FullID, 0, Utils.StringToBytes(m_asset.Name));
- }
- else
- {
- pRemoteClient.SendXferRequest(mXferID, m_asset.Type, m_asset.FullID, 0, new byte[0]);
- }
- }
-
- ///
- /// Process transfer data received from the client.
- ///
- ///
- ///
- ///
- public void XferReceive(IClientAPI remoteClient, ulong xferID, uint packetID, byte[] data)
- {
- if (mXferID == xferID)
- {
- if (m_asset.Data.Length > 1)
- {
- byte[] destinationArray = new byte[m_asset.Data.Length + data.Length];
- Array.Copy(m_asset.Data, 0, destinationArray, 0, m_asset.Data.Length);
- Array.Copy(data, 0, destinationArray, m_asset.Data.Length, data.Length);
- m_asset.Data = destinationArray;
- }
- else
- {
- byte[] buffer2 = new byte[data.Length - 4];
- Array.Copy(data, 4, buffer2, 0, data.Length - 4);
- m_asset.Data = buffer2;
- }
-
- remoteClient.SendConfirmXfer(xferID, packetID);
-
- if ((packetID & 0x80000000) != 0)
- {
- SendCompleteMessage(remoteClient);
-
- }
- }
- }
-
- protected void SendCompleteMessage(IClientAPI remoteClient)
- {
- m_complete = true;
- handlerUploadDone = UploadDone;
- if (handlerUploadDone != null)
- {
- handlerUploadDone(m_asset.Name, m_asset.FullID, mXferID, m_asset.Data, remoteClient);
- }
- }
-
- public void AbortUpload(IClientAPI remoteClient)
- {
- handlerAbort = UploadAborted;
- if (handlerAbort != null)
- {
- handlerAbort(m_asset.Name, m_asset.FullID, mXferID, remoteClient);
- }
- }
- }
-
- public class XferDownloadHandler
- {
- public IClientAPI Client;
- private bool complete;
- public byte[] Data = new byte[0];
- public int DataPointer = 0;
- public string FileName = String.Empty;
- public uint Packet = 0;
- public uint Serial = 1;
- public ulong XferID = 0;
-
- public XferDownloadHandler(string fileName, byte[] data, ulong xferID, IClientAPI client)
- {
- FileName = fileName;
- Data = data;
- XferID = xferID;
- Client = client;
- }
-
- public XferDownloadHandler()
- {
- }
-
- ///
- /// Start a transfer
- ///
- /// True if the transfer is complete, false if not
- public bool StartSend()
- {
- if (Data.Length < 1000)
- {
- // for now (testing) we only support files under 1000 bytes
- byte[] transferData = new byte[Data.Length + 4];
- Array.Copy(Utils.IntToBytes(Data.Length), 0, transferData, 0, 4);
- Array.Copy(Data, 0, transferData, 4, Data.Length);
- Client.SendXferPacket(XferID, 0 + 0x80000000, transferData);
-
- complete = true;
- }
- else
- {
- byte[] transferData = new byte[1000 + 4];
- Array.Copy(Utils.IntToBytes(Data.Length), 0, transferData, 0, 4);
- Array.Copy(Data, 0, transferData, 4, 1000);
- Client.SendXferPacket(XferID, 0, transferData);
- Packet++;
- DataPointer = 1000;
- }
-
- return complete;
- }
-
- ///
- /// Respond to an ack packet from the client
- ///
- ///
- /// True if the transfer is complete, false otherwise
- public bool AckPacket(uint packet)
- {
- if (!complete)
- {
- if ((Data.Length - DataPointer) > 1000)
- {
- byte[] transferData = new byte[1000];
- Array.Copy(Data, DataPointer, transferData, 0, 1000);
- Client.SendXferPacket(XferID, Packet, transferData);
- Packet++;
- DataPointer += 1000;
- }
- else
- {
- byte[] transferData = new byte[Data.Length - DataPointer];
- Array.Copy(Data, DataPointer, transferData, 0, Data.Length - DataPointer);
- uint endPacket = Packet |= (uint)0x80000000;
- Client.SendXferPacket(XferID, endPacket, transferData);
- Packet++;
- DataPointer += (Data.Length - DataPointer);
-
- complete = true;
- }
- }
-
- return complete;
- }
- }
-
-}
diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
index ff3036aca8..d895bb1e13 100644
--- a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
@@ -29,6 +29,7 @@ using System;
using System.Collections.Generic;
using System.Reflection;
using log4net;
+using Mono.Addins;
using Nini.Config;
using OpenMetaverse;
using OpenMetaverse.Packets;
@@ -39,38 +40,64 @@ using OpenSim.Region.Framework.Scenes;
namespace OpenSim.Region.CoreModules.Avatar.Attachments
{
- public class AttachmentsModule : IAttachmentsModule, IRegionModule
+ [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "AttachmentsModule")]
+ public class AttachmentsModule : IAttachmentsModule, INonSharedRegionModule
{
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
protected Scene m_scene = null;
+
+ public string Name { get { return "Attachments Module"; } }
+ public Type ReplaceableInterface { get { return null; } }
- public void Initialise(Scene scene, IConfigSource source)
+ public void Initialise(IConfigSource source) {}
+
+ public void AddRegion(Scene scene)
{
- scene.RegisterModuleInterface(this);
m_scene = scene;
+ m_scene.RegisterModuleInterface(this);
+ m_scene.EventManager.OnNewClient += SubscribeToClientEvents;
+ // TODO: Should probably be subscribing to CloseClient too, but this doesn't yet give us IClientAPI
}
-
- public void PostInitialise()
+
+ public void RemoveRegion(Scene scene)
{
+ m_scene.UnregisterModuleInterface(this);
+ m_scene.EventManager.OnNewClient -= SubscribeToClientEvents;
}
-
- public void Close()
+
+ public void RegionLoaded(Scene scene) {}
+
+ public void Close()
{
+ RemoveRegion(m_scene);
}
-
- public string Name
+
+ public void SubscribeToClientEvents(IClientAPI client)
{
- get { return "Attachments Module"; }
+ client.OnRezSingleAttachmentFromInv += RezSingleAttachmentFromInventory;
+ client.OnRezMultipleAttachmentsFromInv += RezMultipleAttachmentsFromInventory;
+ client.OnObjectAttach += AttachObject;
+ client.OnObjectDetach += DetachObject;
+ client.OnDetachAttachmentIntoInv += ShowDetachInUserInventory;
}
-
- public bool IsSharedModule
+
+ public void UnsubscribeFromClientEvents(IClientAPI client)
{
- get { return false; }
+ client.OnRezSingleAttachmentFromInv -= RezSingleAttachmentFromInventory;
+ client.OnRezMultipleAttachmentsFromInv -= RezMultipleAttachmentsFromInventory;
+ client.OnObjectAttach -= AttachObject;
+ client.OnObjectDetach -= DetachObject;
+ client.OnDetachAttachmentIntoInv -= ShowDetachInUserInventory;
}
-
- // Called by client
- //
+
+ ///
+ /// Called by client
+ ///
+ ///
+ ///
+ ///
+ ///
public void AttachObject(IClientAPI remoteClient, uint objectLocalID, uint AttachmentPt, bool silent)
{
m_log.Debug("[ATTACHMENTS MODULE]: Invoking AttachObject");
diff --git a/OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs b/OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs
index 50171a391e..4b30b0d9ee 100644
--- a/OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs
@@ -47,6 +47,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Gods
m_scene = scene;
m_dialogModule = m_scene.RequestModuleInterface();
m_scene.RegisterModuleInterface(this);
+ m_scene.EventManager.OnNewClient += SubscribeToClientEvents;
}
public void PostInitialise() {}
@@ -54,6 +55,18 @@ namespace OpenSim.Region.CoreModules.Avatar.Gods
public string Name { get { return "Gods Module"; } }
public bool IsSharedModule { get { return false; } }
+ public void SubscribeToClientEvents(IClientAPI client)
+ {
+ client.OnGodKickUser += KickUser;
+ client.OnRequestGodlikePowers += RequestGodlikePowers;
+ }
+
+ public void UnsubscribeFromClientEvents(IClientAPI client)
+ {
+ client.OnGodKickUser -= KickUser;
+ client.OnRequestGodlikePowers -= RequestGodlikePowers;
+ }
+
public void RequestGodlikePowers(
UUID agentID, UUID sessionID, UUID token, bool godLike, IClientAPI controllingClient)
{
diff --git a/OpenSim/Region/CoreModules/World/Terrain/DefaultEffects/ChannelDigger.cs b/OpenSim/Region/CoreModules/World/Terrain/Effects/ChannelDigger.cs
similarity index 98%
rename from OpenSim/Region/CoreModules/World/Terrain/DefaultEffects/ChannelDigger.cs
rename to OpenSim/Region/CoreModules/World/Terrain/Effects/ChannelDigger.cs
index e23be595f9..36917e9e38 100644
--- a/OpenSim/Region/CoreModules/World/Terrain/DefaultEffects/ChannelDigger.cs
+++ b/OpenSim/Region/CoreModules/World/Terrain/Effects/ChannelDigger.cs
@@ -30,7 +30,7 @@ using OpenSim.Region.CoreModules.World.Terrain;
using OpenSim.Region.CoreModules.World.Terrain.FloodBrushes;
using OpenSim.Region.Framework.Interfaces;
-namespace OpenSim.Region.Modules.Terrain.Extensions.DefaultEffects.Effects
+namespace OpenSim.Region.CoreModules.World.Terrain.Effects
{
public class ChannelDigger : ITerrainEffect
{
diff --git a/OpenSim/Region/CoreModules/World/Terrain/TerrainModule.cs b/OpenSim/Region/CoreModules/World/Terrain/TerrainModule.cs
index 1e7ea7bce6..2c5e44432c 100644
--- a/OpenSim/Region/CoreModules/World/Terrain/TerrainModule.cs
+++ b/OpenSim/Region/CoreModules/World/Terrain/TerrainModule.cs
@@ -68,7 +68,7 @@ namespace OpenSim.Region.CoreModules.World.Terrain
#endregion
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
-
+
private readonly Commander m_commander = new Commander("terrain");
private readonly Dictionary m_floodeffects =
@@ -381,8 +381,13 @@ namespace OpenSim.Region.CoreModules.World.Terrain
private void LoadPlugins()
{
m_plugineffects = new Dictionary();
+ string plugineffectsPath = "Terrain";
+
// Load the files in the Terrain/ dir
- string[] files = Directory.GetFiles("Terrain");
+ if (!Directory.Exists(plugineffectsPath))
+ return;
+
+ string[] files = Directory.GetFiles(plugineffectsPath);
foreach (string file in files)
{
m_log.Info("Loading effects in " + file);
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index 28720adad8..93f684c4c7 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -2785,17 +2785,11 @@ namespace OpenSim.Region.Framework.Scenes
SubscribeToClientPrimEvents(client);
SubscribeToClientPrimRezEvents(client);
SubscribeToClientInventoryEvents(client);
- SubscribeToClientAttachmentEvents(client);
SubscribeToClientTeleportEvents(client);
SubscribeToClientScriptEvents(client);
SubscribeToClientParcelEvents(client);
SubscribeToClientGridEvents(client);
- SubscribeToClientGodEvents(client);
-
SubscribeToClientNetworkEvents(client);
-
-
- // EventManager.TriggerOnNewClient(client);
}
public virtual void SubscribeToClientTerrainEvents(IClientAPI client)
@@ -2805,8 +2799,7 @@ namespace OpenSim.Region.Framework.Scenes
}
public virtual void SubscribeToClientPrimEvents(IClientAPI client)
- {
-
+ {
client.OnUpdatePrimGroupPosition += m_sceneGraph.UpdatePrimPosition;
client.OnUpdatePrimSinglePosition += m_sceneGraph.UpdatePrimSinglePosition;
client.OnUpdatePrimGroupRotation += m_sceneGraph.UpdatePrimRotation;
@@ -2876,18 +2869,6 @@ namespace OpenSim.Region.Framework.Scenes
client.OnMoveTaskItem += ClientMoveTaskInventoryItem;
}
- public virtual void SubscribeToClientAttachmentEvents(IClientAPI client)
- {
- if (AttachmentsModule != null)
- {
- client.OnRezSingleAttachmentFromInv += AttachmentsModule.RezSingleAttachmentFromInventory;
- client.OnRezMultipleAttachmentsFromInv += AttachmentsModule.RezMultipleAttachmentsFromInventory;
- client.OnObjectAttach += AttachmentsModule.AttachObject;
- client.OnObjectDetach += AttachmentsModule.DetachObject;
- client.OnDetachAttachmentIntoInv += AttachmentsModule.ShowDetachInUserInventory;
- }
- }
-
public virtual void SubscribeToClientTeleportEvents(IClientAPI client)
{
client.OnTeleportLocationRequest += RequestTeleportLocation;
@@ -2917,44 +2898,29 @@ namespace OpenSim.Region.Framework.Scenes
client.OnSetStartLocationRequest += SetHomeRezPoint;
client.OnRegionHandleRequest += RegionHandleRequest;
}
-
- public virtual void SubscribeToClientGodEvents(IClientAPI client)
- {
- IGodsModule godsModule = RequestModuleInterface();
- client.OnGodKickUser += godsModule.KickUser;
- client.OnRequestGodlikePowers += godsModule.RequestGodlikePowers;
- }
-
+
public virtual void SubscribeToClientNetworkEvents(IClientAPI client)
{
client.OnNetworkStatsUpdate += StatsReporter.AddPacketsStats;
client.OnViewerEffect += ProcessViewerEffect;
}
- protected virtual void UnsubscribeToClientEvents(IClientAPI client)
- {
- }
-
///
- /// Register for events from the client
+ /// Unsubscribe the client from events.
///
- /// The IClientAPI of the connected client
+ /// FIXME: Not called anywhere!
+ /// The IClientAPI of the client
public virtual void UnSubscribeToClientEvents(IClientAPI client)
{
UnSubscribeToClientTerrainEvents(client);
UnSubscribeToClientPrimEvents(client);
UnSubscribeToClientPrimRezEvents(client);
UnSubscribeToClientInventoryEvents(client);
- UnSubscribeToClientAttachmentEvents(client);
UnSubscribeToClientTeleportEvents(client);
UnSubscribeToClientScriptEvents(client);
UnSubscribeToClientParcelEvents(client);
UnSubscribeToClientGridEvents(client);
- UnSubscribeToClientGodEvents(client);
-
UnSubscribeToClientNetworkEvents(client);
-
- // EventManager.TriggerOnNewClient(client);
}
public virtual void UnSubscribeToClientTerrainEvents(IClientAPI client)
@@ -3031,18 +2997,6 @@ namespace OpenSim.Region.Framework.Scenes
client.OnMoveTaskItem -= ClientMoveTaskInventoryItem;
}
- public virtual void UnSubscribeToClientAttachmentEvents(IClientAPI client)
- {
- if (AttachmentsModule != null)
- {
- client.OnRezSingleAttachmentFromInv -= AttachmentsModule.RezSingleAttachmentFromInventory;
- client.OnRezMultipleAttachmentsFromInv -= AttachmentsModule.RezMultipleAttachmentsFromInventory;
- client.OnObjectAttach -= AttachmentsModule.AttachObject;
- client.OnObjectDetach -= AttachmentsModule.DetachObject;
- client.OnDetachAttachmentIntoInv -= AttachmentsModule.ShowDetachInUserInventory;
- }
- }
-
public virtual void UnSubscribeToClientTeleportEvents(IClientAPI client)
{
client.OnTeleportLocationRequest -= RequestTeleportLocation;
@@ -3074,13 +3028,6 @@ namespace OpenSim.Region.Framework.Scenes
client.OnRegionHandleRequest -= RegionHandleRequest;
}
- public virtual void UnSubscribeToClientGodEvents(IClientAPI client)
- {
- IGodsModule godsModule = RequestModuleInterface();
- client.OnGodKickUser -= godsModule.KickUser;
- client.OnRequestGodlikePowers -= godsModule.RequestGodlikePowers;
- }
-
public virtual void UnSubscribeToClientNetworkEvents(IClientAPI client)
{
client.OnNetworkStatsUpdate -= StatsReporter.AddPacketsStats;
@@ -5294,4 +5241,4 @@ namespace OpenSim.Region.Framework.Scenes
return offsets.ToArray();
}
}
-}
+}
\ No newline at end of file
diff --git a/OpenSim/Region/Framework/Scenes/SceneGraph.cs b/OpenSim/Region/Framework/Scenes/SceneGraph.cs
index 40332a6f93..f47450fbb3 100644
--- a/OpenSim/Region/Framework/Scenes/SceneGraph.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneGraph.cs
@@ -78,8 +78,6 @@ namespace OpenSim.Region.Framework.Scenes
// protected internal Dictionary Entities = new Dictionary();
protected internal Dictionary RestorePresences = new Dictionary();
- protected internal BasicQuadTreeNode QuadTree;
-
protected RegionInfo m_regInfo;
protected Scene m_parentScene;
protected Dictionary m_updateList = new Dictionary();
@@ -107,9 +105,6 @@ namespace OpenSim.Region.Framework.Scenes
{
m_parentScene = parent;
m_regInfo = regInfo;
- QuadTree = new BasicQuadTreeNode(null, "/0/", 0, 0, (short)Constants.RegionSize, (short)Constants.RegionSize);
- QuadTree.Subdivide();
- QuadTree.Subdivide();
}
public PhysicsScene PhysicsScene
diff --git a/OpenSim/Region/Framework/Scenes/Types/BasicQuadTreeNode.cs b/OpenSim/Region/Framework/Scenes/Types/BasicQuadTreeNode.cs
deleted file mode 100644
index 38a9203a45..0000000000
--- a/OpenSim/Region/Framework/Scenes/Types/BasicQuadTreeNode.cs
+++ /dev/null
@@ -1,269 +0,0 @@
-/*
- * 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.Generic;
-using OpenSim.Region.Framework.Scenes;
-
-namespace OpenSim.Region.Framework.Scenes.Types
-{
- public class BasicQuadTreeNode
- {
- private List m_objects = new List();
- private BasicQuadTreeNode[] m_childNodes = null;
- private BasicQuadTreeNode m_parent = null;
-
- private short m_leftX;
- private short m_leftY;
- private short m_width;
- private short m_height;
- //private int m_quadNumber;
- private string m_quadID;
-
- public BasicQuadTreeNode(BasicQuadTreeNode parent, string quadID, short leftX, short leftY, short width,
- short height)
- {
- m_parent = parent;
- m_quadID = quadID;
- m_leftX = leftX;
- m_leftY = leftY;
- m_width = width;
- m_height = height;
- // m_log.Debug("creating quadtree node " + m_quadID);
- }
-
- public void AddObject(SceneObjectGroup obj)
- {
- if (m_childNodes == null)
- {
- if (!m_objects.Contains(obj))
- {
- m_objects.Add(obj);
- }
- }
- else
- {
- if (obj.AbsolutePosition.X < (m_leftX + (m_width/2)))
- {
- if (obj.AbsolutePosition.Y < (m_leftY + (m_height/2)))
- {
- m_childNodes[0].AddObject(obj);
- }
- else
- {
- m_childNodes[2].AddObject(obj);
- }
- }
- else
- {
- if (obj.AbsolutePosition.Y < (m_leftY + (m_height/2)))
- {
- m_childNodes[1].AddObject(obj);
- }
- else
- {
- m_childNodes[3].AddObject(obj);
- }
- }
- }
- }
-
- public void Subdivide()
- {
- if (m_childNodes == null)
- {
- m_childNodes = new BasicQuadTreeNode[4];
- m_childNodes[0] =
- new BasicQuadTreeNode(this, m_quadID + "1/", m_leftX, m_leftY, (short) (m_width/2),
- (short) (m_height/2));
- m_childNodes[1] =
- new BasicQuadTreeNode(this, m_quadID + "2/", (short) (m_leftX + (m_width/2)), m_leftY,
- (short) (m_width/2), (short) (m_height/2));
- m_childNodes[2] =
- new BasicQuadTreeNode(this, m_quadID + "3/", m_leftX, (short) (m_leftY + (m_height/2)),
- (short) (m_width/2), (short) (m_height/2));
- m_childNodes[3] =
- new BasicQuadTreeNode(this, m_quadID + "4/", (short) (m_leftX + (m_width/2)),
- (short) (m_height + (m_height/2)), (short) (m_width/2), (short) (m_height/2));
- }
- else
- {
- for (int i = 0; i < m_childNodes.Length; i++)
- {
- m_childNodes[i].Subdivide();
- }
- }
- }
-
- public List GetObjectsFrom(float x, float y)
- {
- if (m_childNodes == null)
- {
- return new List(m_objects);
- }
- else
- {
- if (x < m_leftX + (m_width/2))
- {
- if (y < m_leftY + (m_height/2))
- {
- return m_childNodes[0].GetObjectsFrom(x, y);
- }
- else
- {
- return m_childNodes[2].GetObjectsFrom(x, y);
- }
- }
- else
- {
- if (y < m_leftY + (m_height/2))
- {
- return m_childNodes[1].GetObjectsFrom(x, y);
- }
- else
- {
- return m_childNodes[3].GetObjectsFrom(x, y);
- }
- }
- }
- }
-
- public List GetObjectsFrom(string nodeName)
- {
- if (nodeName == m_quadID)
- {
- return new List(m_objects);
- }
- else if (m_childNodes != null)
- {
- for (int i = 0; i < 4; i++)
- {
- List retVal;
- retVal = m_childNodes[i].GetObjectsFrom(nodeName);
- if (retVal != null)
- {
- return retVal;
- }
- }
- }
- return null;
- }
-
- public string GetNodeID(float x, float y)
- {
- if (m_childNodes == null)
- {
- return m_quadID;
- }
- else
- {
- if (x < m_leftX + (m_width/2))
- {
- if (y < m_leftY + (m_height/2))
- {
- return m_childNodes[0].GetNodeID(x, y);
- }
- else
- {
- return m_childNodes[2].GetNodeID(x, y);
- }
- }
- else
- {
- if (y < m_leftY + (m_height/2))
- {
- return m_childNodes[1].GetNodeID(x, y);
- }
- else
- {
- return m_childNodes[3].GetNodeID(x, y);
- }
- }
- }
- }
-
- public void Update()
- {
- if (m_childNodes != null)
- {
- for (int i = 0; i < 4; i++)
- {
- m_childNodes[i].Update();
- }
- }
- else
- {
- List outBounds = new List();
- foreach (SceneObjectGroup group in m_objects)
- {
- if (((group.AbsolutePosition.X > m_leftX) && (group.AbsolutePosition.X < (m_leftX + m_width))) &&
- ((group.AbsolutePosition.Y > m_leftY) && (group.AbsolutePosition.Y < (m_leftY + m_height))))
- {
- //still in bounds
- }
- else
- {
- outBounds.Add(group);
- }
- }
-
- foreach (SceneObjectGroup removee in outBounds)
- {
- m_objects.Remove(removee);
- if (m_parent != null)
- {
- m_parent.PassUp(removee);
- }
- }
- outBounds.Clear();
- }
- }
-
- public void PassUp(SceneObjectGroup group)
- {
- if (((group.AbsolutePosition.X > m_leftX) && (group.AbsolutePosition.X < (m_leftX + m_width))) &&
- ((group.AbsolutePosition.Y > m_leftY) && (group.AbsolutePosition.Y < (m_leftY + m_height))))
- {
- AddObject(group);
- }
- else
- {
- if (m_parent != null)
- {
- m_parent.PassUp(group);
- }
- }
- }
-
- public string[] GetNeighbours(string nodeName)
- {
- string[] retVal = new string[1];
- retVal[0] = String.Empty;
- return retVal;
- }
- }
-}
diff --git a/OpenSim/Region/RegionCombinerModule/RegionCombinerIndividualEventForwarder.cs b/OpenSim/Region/RegionCombinerModule/RegionCombinerIndividualEventForwarder.cs
index 9d41c9c225..a0d6197004 100644
--- a/OpenSim/Region/RegionCombinerModule/RegionCombinerIndividualEventForwarder.cs
+++ b/OpenSim/Region/RegionCombinerModule/RegionCombinerIndividualEventForwarder.cs
@@ -28,11 +28,14 @@
using System;
using OpenMetaverse;
using OpenSim.Framework;
+using OpenSim.Region.CoreModules.Avatar.Attachments;
+using OpenSim.Region.CoreModules.Avatar.Gods;
+using OpenSim.Region.Framework.Interfaces;
using OpenSim.Region.Framework.Scenes;
namespace OpenSim.Region.RegionCombinerModule
{
- public class RegionCombinerIndividualEventForwarder
+ public class RegionCombinerIndividualEventForwarder
{
private Scene m_rootScene;
private Scene m_virtScene;
@@ -46,22 +49,31 @@ namespace OpenSim.Region.RegionCombinerModule
public void ClientConnect(IClientAPI client)
{
m_virtScene.UnSubscribeToClientPrimEvents(client);
- m_virtScene.UnSubscribeToClientPrimRezEvents(client);
+ m_virtScene.UnSubscribeToClientPrimRezEvents(client);
m_virtScene.UnSubscribeToClientInventoryEvents(client);
- m_virtScene.UnSubscribeToClientAttachmentEvents(client);
+ ((AttachmentsModule)m_virtScene.AttachmentsModule).UnsubscribeFromClientEvents(client);
//m_virtScene.UnSubscribeToClientTeleportEvents(client);
m_virtScene.UnSubscribeToClientScriptEvents(client);
- m_virtScene.UnSubscribeToClientGodEvents(client);
+
+ IGodsModule virtGodsModule = m_virtScene.RequestModuleInterface();
+ if (virtGodsModule != null)
+ ((GodsModule)virtGodsModule).UnsubscribeFromClientEvents(client);
+
m_virtScene.UnSubscribeToClientNetworkEvents(client);
m_rootScene.SubscribeToClientPrimEvents(client);
client.OnAddPrim += LocalAddNewPrim;
client.OnRezObject += LocalRezObject;
+
m_rootScene.SubscribeToClientInventoryEvents(client);
- m_rootScene.SubscribeToClientAttachmentEvents(client);
+ ((AttachmentsModule)m_rootScene.AttachmentsModule).SubscribeToClientEvents(client);
//m_rootScene.SubscribeToClientTeleportEvents(client);
m_rootScene.SubscribeToClientScriptEvents(client);
- m_rootScene.SubscribeToClientGodEvents(client);
+
+ IGodsModule rootGodsModule = m_virtScene.RequestModuleInterface();
+ if (rootGodsModule != null)
+ ((GodsModule)rootGodsModule).UnsubscribeFromClientEvents(client);
+
m_rootScene.SubscribeToClientNetworkEvents(client);
}
diff --git a/prebuild.xml b/prebuild.xml
index 1eb8fee64b..5f55461268 100644
--- a/prebuild.xml
+++ b/prebuild.xml
@@ -255,58 +255,6 @@
-
-
-
- ../../../../bin/
-
-
-
-
- ../../../../bin/
-
-
-
- ../../../../bin/
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ../../../../bin/
-
-
-
-
- ../../../../bin/
-
-
-
- ../../../../bin/
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -1418,35 +1366,11 @@
-
-
-
-
- ../../../../../../bin/Terrain/
-
-
-
-
- ../../../../../../bin/Terrain/
-
-
-
- ../../../../../../bin/
-
-
-
-
-
-
-
-
-
-