Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor
commit
0871d20adb
|
@ -363,7 +363,7 @@ namespace OpenSim.Framework.Communications
|
||||||
_request = (HttpWebRequest) WebRequest.Create(buildUri());
|
_request = (HttpWebRequest) WebRequest.Create(buildUri());
|
||||||
_request.KeepAlive = false;
|
_request.KeepAlive = false;
|
||||||
_request.ContentType = "application/xml";
|
_request.ContentType = "application/xml";
|
||||||
_request.Timeout = 900000;
|
_request.Timeout = 30000;
|
||||||
_request.Method = RequestMethod;
|
_request.Method = RequestMethod;
|
||||||
_asyncException = null;
|
_asyncException = null;
|
||||||
_request.ContentLength = src.Length;
|
_request.ContentLength = src.Length;
|
||||||
|
|
|
@ -0,0 +1,119 @@
|
||||||
|
/*
|
||||||
|
* 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()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,63 @@
|
||||||
|
/*
|
||||||
|
* 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,141 @@
|
||||||
|
/*
|
||||||
|
* 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 <Root>");
|
||||||
|
|
||||||
|
configNode = rootNode.SelectSingleNode("Config");
|
||||||
|
if (null == configNode)
|
||||||
|
throw new Exception("Error: Invalid .xml File. <Root> should contain a <Config>");
|
||||||
|
}
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -51,7 +51,7 @@ namespace OpenSim.Framework
|
||||||
public ThreadWatchdogInfo(Thread thread)
|
public ThreadWatchdogInfo(Thread thread)
|
||||||
{
|
{
|
||||||
Thread = thread;
|
Thread = thread;
|
||||||
LastTick = Environment.TickCount & Int32.MaxValue;
|
LastTick = Environment.TickCount;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -143,7 +143,7 @@ namespace OpenSim.Framework
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (m_threads.TryGetValue(threadID, out threadInfo))
|
if (m_threads.TryGetValue(threadID, out threadInfo))
|
||||||
threadInfo.LastTick = Environment.TickCount & Int32.MaxValue;
|
threadInfo.LastTick = Environment.TickCount;
|
||||||
else
|
else
|
||||||
AddThread(new ThreadWatchdogInfo(Thread.CurrentThread));
|
AddThread(new ThreadWatchdogInfo(Thread.CurrentThread));
|
||||||
}
|
}
|
||||||
|
@ -160,7 +160,7 @@ namespace OpenSim.Framework
|
||||||
|
|
||||||
lock (m_threads)
|
lock (m_threads)
|
||||||
{
|
{
|
||||||
int now = Environment.TickCount & Int32.MaxValue;
|
int now = Environment.TickCount;
|
||||||
|
|
||||||
foreach (ThreadWatchdogInfo threadInfo in m_threads.Values)
|
foreach (ThreadWatchdogInfo threadInfo in m_threads.Values)
|
||||||
{
|
{
|
||||||
|
|
|
@ -307,21 +307,6 @@ namespace OpenSim
|
||||||
config.Set("EventQueue", true);
|
config.Set("EventQueue", true);
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
|
||||||
IConfig config = defaultConfig.Configs["StandAlone"];
|
|
||||||
|
|
||||||
if (null == config)
|
|
||||||
config = defaultConfig.AddConfig("StandAlone");
|
|
||||||
|
|
||||||
config.Set("accounts_authenticate", true);
|
|
||||||
config.Set("welcome_message", "Welcome to OpenSimulator");
|
|
||||||
config.Set("inventory_plugin", "OpenSim.Data.SQLite.dll");
|
|
||||||
config.Set("inventory_source", "");
|
|
||||||
config.Set("userDatabase_plugin", "OpenSim.Data.SQLite.dll");
|
|
||||||
config.Set("user_source", "");
|
|
||||||
config.Set("LibrariesXMLFile", string.Format(".{0}inventory{0}Libraries.xml", Path.DirectorySeparatorChar));
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
{
|
||||||
IConfig config = defaultConfig.Configs["Network"];
|
IConfig config = defaultConfig.Configs["Network"];
|
||||||
|
|
||||||
|
|
|
@ -3485,6 +3485,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public void SendPrimUpdate(ISceneEntity entity, PrimUpdateFlags updateFlags)
|
public void SendPrimUpdate(ISceneEntity entity, PrimUpdateFlags updateFlags)
|
||||||
{
|
{
|
||||||
|
if (entity is SceneObjectPart)
|
||||||
|
{
|
||||||
|
SceneObjectPart e = (SceneObjectPart)entity;
|
||||||
|
SceneObjectGroup g = e.ParentGroup;
|
||||||
|
if (g.RootPart.Shape.State > 30) // HUD
|
||||||
|
if (g.OwnerID != AgentId)
|
||||||
|
return; // Don't send updates for other people's HUDs
|
||||||
|
}
|
||||||
|
|
||||||
double priority = m_prioritizer.GetUpdatePriority(this, entity);
|
double priority = m_prioritizer.GetUpdatePriority(this, entity);
|
||||||
|
|
||||||
lock (m_entityUpdates.SyncRoot)
|
lock (m_entityUpdates.SyncRoot)
|
||||||
|
|
|
@ -218,7 +218,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Chat
|
||||||
fromPos = avatar.AbsolutePosition;
|
fromPos = avatar.AbsolutePosition;
|
||||||
fromName = avatar.Name;
|
fromName = avatar.Name;
|
||||||
fromID = c.Sender.AgentId;
|
fromID = c.Sender.AgentId;
|
||||||
if (avatar.GodLevel > 200)
|
if (avatar.GodLevel >= 200)
|
||||||
{
|
{
|
||||||
fromNamePrefix = m_adminPrefix;
|
fromNamePrefix = m_adminPrefix;
|
||||||
}
|
}
|
||||||
|
|
|
@ -187,7 +187,8 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
|
||||||
delegate(bool success)
|
delegate(bool success)
|
||||||
{
|
{
|
||||||
if (dialog == (uint)InstantMessageDialog.StartTyping ||
|
if (dialog == (uint)InstantMessageDialog.StartTyping ||
|
||||||
dialog == (uint)InstantMessageDialog.StopTyping)
|
dialog == (uint)InstantMessageDialog.StopTyping ||
|
||||||
|
dialog == (uint)InstantMessageDialog.MessageFromObject)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -185,13 +185,16 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
|
||||||
{
|
{
|
||||||
UndeliveredMessage handlerUndeliveredMessage = OnUndeliveredMessage;
|
UndeliveredMessage handlerUndeliveredMessage = OnUndeliveredMessage;
|
||||||
|
|
||||||
// If this event has handlers, then the IM will be considered
|
// If this event has handlers, then an IM from an agent will be
|
||||||
// delivered. This will suppress the error message.
|
// considered delivered. This will suppress the error message.
|
||||||
//
|
//
|
||||||
if (handlerUndeliveredMessage != null)
|
if (handlerUndeliveredMessage != null)
|
||||||
{
|
{
|
||||||
handlerUndeliveredMessage(im);
|
handlerUndeliveredMessage(im);
|
||||||
|
if (im.dialog == (byte)InstantMessageDialog.MessageFromAgent)
|
||||||
result(true);
|
result(true);
|
||||||
|
else
|
||||||
|
result(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -504,14 +507,14 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
|
||||||
//
|
//
|
||||||
if (upd.RegionID == prevRegionID)
|
if (upd.RegionID == prevRegionID)
|
||||||
{
|
{
|
||||||
m_log.Error("[GRID INSTANT MESSAGE]: Unable to deliver an instant message");
|
// m_log.Error("[GRID INSTANT MESSAGE]: Unable to deliver an instant message");
|
||||||
HandleUndeliveredMessage(im, result);
|
HandleUndeliveredMessage(im, result);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_log.Error("[GRID INSTANT MESSAGE]: Unable to deliver an instant message");
|
// m_log.Error("[GRID INSTANT MESSAGE]: Unable to deliver an instant message");
|
||||||
HandleUndeliveredMessage(im, result);
|
HandleUndeliveredMessage(im, result);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -153,7 +153,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
|
||||||
|
|
||||||
private void OnInstantMessage(IClientAPI client, GridInstantMessage im)
|
private void OnInstantMessage(IClientAPI client, GridInstantMessage im)
|
||||||
{
|
{
|
||||||
m_log.InfoFormat("[INVENTORY TRANSFER]: OnInstantMessage {0}", im.dialog);
|
//m_log.InfoFormat("[INVENTORY TRANSFER]: OnInstantMessage {0}", im.dialog);
|
||||||
|
|
||||||
Scene scene = FindClientScene(client.AgentId);
|
Scene scene = FindClientScene(client.AgentId);
|
||||||
|
|
||||||
|
|
|
@ -549,6 +549,12 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
|
||||||
|
|
||||||
if (uinfo != null)
|
if (uinfo != null)
|
||||||
{
|
{
|
||||||
|
if (uinfo.HomeRegionID == UUID.Zero)
|
||||||
|
{
|
||||||
|
// can't find the Home region: Tell viewer and abort
|
||||||
|
client.SendTeleportFailed("You don't have a home position set.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
GridRegion regionInfo = m_aScene.GridService.GetRegionByUUID(UUID.Zero, uinfo.HomeRegionID);
|
GridRegion regionInfo = m_aScene.GridService.GetRegionByUUID(UUID.Zero, uinfo.HomeRegionID);
|
||||||
if (regionInfo == null)
|
if (regionInfo == null)
|
||||||
{
|
{
|
||||||
|
@ -564,6 +570,12 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
|
||||||
client, regionInfo.RegionHandle, uinfo.HomePosition, uinfo.HomeLookAt,
|
client, regionInfo.RegionHandle, uinfo.HomePosition, uinfo.HomeLookAt,
|
||||||
(uint)(Constants.TeleportFlags.SetLastToTarget | Constants.TeleportFlags.ViaHome));
|
(uint)(Constants.TeleportFlags.SetLastToTarget | Constants.TeleportFlags.ViaHome));
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// can't find the Home region: Tell viewer and abort
|
||||||
|
client.SendTeleportFailed("Your home region could not be found.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
|
@ -1935,8 +1935,14 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
//Console.WriteLine("Scripted, unoccupied");
|
//Console.WriteLine("Scripted, unoccupied");
|
||||||
part.SetAvatarOnSitTarget(UUID); // set that Av will be on it
|
part.SetAvatarOnSitTarget(UUID); // set that Av will be on it
|
||||||
offset = new Vector3(avSitOffSet.X, avSitOffSet.Y, avSitOffSet.Z); // change ofset to the scripted one
|
offset = new Vector3(avSitOffSet.X, avSitOffSet.Y, avSitOffSet.Z); // change ofset to the scripted one
|
||||||
sitOrientation = avSitOrientation; // Change rotatione to the scripted one
|
|
||||||
OffsetRotation = avSitOrientation;
|
Quaternion nrot = avSitOrientation;
|
||||||
|
if (!part.IsRoot)
|
||||||
|
{
|
||||||
|
nrot = part.RotationOffset * avSitOrientation;
|
||||||
|
}
|
||||||
|
sitOrientation = nrot; // Change rotatione to the scripted one
|
||||||
|
OffsetRotation = nrot;
|
||||||
autopilot = false; // Jump direct to scripted llSitPos()
|
autopilot = false; // Jump direct to scripted llSitPos()
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -2010,7 +2016,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
// offsetr = (part.OffsetPosition * Quaternion.Inverse(part.ParentGroup.RootPart.RotationOffset)) + (offset * partIRot);
|
// offsetr = (part.OffsetPosition * Quaternion.Inverse(part.ParentGroup.RootPart.RotationOffset)) + (offset * partIRot);
|
||||||
// if (part.LinkNum < 2) 091216 All this was necessary because of the GetWorldRotation error.
|
// if (part.LinkNum < 2) 091216 All this was necessary because of the GetWorldRotation error.
|
||||||
// { // Single, or Root prim of linkset, target is ClickOffset * RootRot
|
// { // Single, or Root prim of linkset, target is ClickOffset * RootRot
|
||||||
offsetr = offset * partIRot;
|
//offsetr = offset * partIRot;
|
||||||
//
|
//
|
||||||
// else
|
// else
|
||||||
// { // Child prim, offset is (ChildOffset * RootRot) + (ClickOffset * ChildRot)
|
// { // Child prim, offset is (ChildOffset * RootRot) + (ClickOffset * ChildRot)
|
||||||
|
@ -2029,7 +2035,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
//Console.WriteLine("Camera Eye ={0}", cameraEyeOffset);
|
//Console.WriteLine("Camera Eye ={0}", cameraEyeOffset);
|
||||||
|
|
||||||
//NOTE: SendSitResponse should be relative to the GROUP *NOT* THE PRIM if we're sitting on a child
|
//NOTE: SendSitResponse should be relative to the GROUP *NOT* THE PRIM if we're sitting on a child
|
||||||
ControllingClient.SendSitResponse(part.ParentGroup.UUID, offsetr + part.OffsetPosition, sitOrientation, autopilot, cameraAtOffset, cameraEyeOffset, forceMouselook);
|
ControllingClient.SendSitResponse(part.ParentGroup.UUID, ((offset * part.RotationOffset) + part.OffsetPosition), sitOrientation, autopilot, cameraAtOffset, cameraEyeOffset, forceMouselook);
|
||||||
|
|
||||||
m_requestedSitTargetUUID = part.UUID; //KF: Correct autopilot target
|
m_requestedSitTargetUUID = part.UUID; //KF: Correct autopilot target
|
||||||
// This calls HandleAgentSit twice, once from here, and the client calls
|
// This calls HandleAgentSit twice, once from here, and the client calls
|
||||||
|
@ -2343,6 +2349,10 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
Quaternion sitTargetOrient = part.SitTargetOrientation;
|
Quaternion sitTargetOrient = part.SitTargetOrientation;
|
||||||
m_pos = new Vector3(sitTargetPos.X, sitTargetPos.Y, sitTargetPos.Z);
|
m_pos = new Vector3(sitTargetPos.X, sitTargetPos.Y, sitTargetPos.Z);
|
||||||
m_pos += SIT_TARGET_ADJUSTMENT;
|
m_pos += SIT_TARGET_ADJUSTMENT;
|
||||||
|
if (!part.IsRoot)
|
||||||
|
{
|
||||||
|
m_pos *= part.RotationOffset;
|
||||||
|
}
|
||||||
m_bodyRot = sitTargetOrient;
|
m_bodyRot = sitTargetOrient;
|
||||||
m_parentPosition = part.AbsolutePosition;
|
m_parentPosition = part.AbsolutePosition;
|
||||||
part.IsOccupied = true;
|
part.IsOccupied = true;
|
||||||
|
|
|
@ -131,6 +131,7 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
//public GCHandle gc;
|
//public GCHandle gc;
|
||||||
private CollisionLocker ode;
|
private CollisionLocker ode;
|
||||||
|
|
||||||
|
private bool m_meshfailed = false;
|
||||||
private bool m_taintforce = false;
|
private bool m_taintforce = false;
|
||||||
private bool m_taintaddangularforce = false;
|
private bool m_taintaddangularforce = false;
|
||||||
private Vector3 m_force;
|
private Vector3 m_force;
|
||||||
|
@ -1882,12 +1883,20 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
|
|
||||||
m_targetSpace = targetspace;
|
m_targetSpace = targetspace;
|
||||||
|
|
||||||
if (_mesh == null)
|
if (_mesh == null && m_meshfailed == false)
|
||||||
{
|
{
|
||||||
if (_parent_scene.needsMeshing(_pbs))
|
if (_parent_scene.needsMeshing(_pbs))
|
||||||
{
|
{
|
||||||
// Don't need to re-enable body.. it's done in SetMesh
|
// Don't need to re-enable body.. it's done in SetMesh
|
||||||
|
try
|
||||||
|
{
|
||||||
_mesh = _parent_scene.mesher.CreateMesh(m_primName, _pbs, _size, _parent_scene.meshSculptLOD, IsPhysical);
|
_mesh = _parent_scene.mesher.CreateMesh(m_primName, _pbs, _size, _parent_scene.meshSculptLOD, IsPhysical);
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
//Don't continuously try to mesh prims when meshing has failed
|
||||||
|
m_meshfailed = true;
|
||||||
|
}
|
||||||
// createmesh returns null when it's a shape that isn't a cube.
|
// createmesh returns null when it's a shape that isn't a cube.
|
||||||
// m_log.Debug(m_localID);
|
// m_log.Debug(m_localID);
|
||||||
}
|
}
|
||||||
|
@ -2127,7 +2136,7 @@ Console.WriteLine(" JointCreateFixed");
|
||||||
// we don't need to do space calculation because the client sends a position update also.
|
// we don't need to do space calculation because the client sends a position update also.
|
||||||
|
|
||||||
// Construction of new prim
|
// Construction of new prim
|
||||||
if (_parent_scene.needsMeshing(_pbs))
|
if (_parent_scene.needsMeshing(_pbs) && m_meshfailed == false)
|
||||||
{
|
{
|
||||||
float meshlod = _parent_scene.meshSculptLOD;
|
float meshlod = _parent_scene.meshSculptLOD;
|
||||||
|
|
||||||
|
@ -2137,8 +2146,15 @@ Console.WriteLine(" JointCreateFixed");
|
||||||
|
|
||||||
IMesh mesh = null;
|
IMesh mesh = null;
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
if (_parent_scene.needsMeshing(_pbs))
|
if (_parent_scene.needsMeshing(_pbs))
|
||||||
mesh = _parent_scene.mesher.CreateMesh(oldname, _pbs, _size, meshlod, IsPhysical);
|
mesh = _parent_scene.mesher.CreateMesh(oldname, _pbs, _size, meshlod, IsPhysical);
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
m_meshfailed = true;
|
||||||
|
}
|
||||||
|
|
||||||
//IMesh mesh = _parent_scene.mesher.CreateMesh(oldname, _pbs, _size, meshlod, IsPhysical);
|
//IMesh mesh = _parent_scene.mesher.CreateMesh(oldname, _pbs, _size, meshlod, IsPhysical);
|
||||||
//Console.WriteLine("changesize 1");
|
//Console.WriteLine("changesize 1");
|
||||||
|
@ -2233,18 +2249,24 @@ Console.WriteLine(" JointCreateFixed");
|
||||||
if (_size.Z <= 0) _size.Z = 0.01f;
|
if (_size.Z <= 0) _size.Z = 0.01f;
|
||||||
// Construction of new prim
|
// Construction of new prim
|
||||||
|
|
||||||
if (_parent_scene.needsMeshing(_pbs))
|
if (_parent_scene.needsMeshing(_pbs) && m_meshfailed == false)
|
||||||
{
|
{
|
||||||
// Don't need to re-enable body.. it's done in SetMesh
|
// Don't need to re-enable body.. it's done in SetMesh
|
||||||
float meshlod = _parent_scene.meshSculptLOD;
|
float meshlod = _parent_scene.meshSculptLOD;
|
||||||
|
|
||||||
if (IsPhysical)
|
if (IsPhysical)
|
||||||
meshlod = _parent_scene.MeshSculptphysicalLOD;
|
meshlod = _parent_scene.MeshSculptphysicalLOD;
|
||||||
|
try
|
||||||
|
{
|
||||||
IMesh mesh = _parent_scene.mesher.CreateMesh(oldname, _pbs, _size, meshlod, IsPhysical);
|
IMesh mesh = _parent_scene.mesher.CreateMesh(oldname, _pbs, _size, meshlod, IsPhysical);
|
||||||
// createmesh returns null when it doesn't mesh.
|
|
||||||
CreateGeom(m_targetSpace, mesh);
|
CreateGeom(m_targetSpace, mesh);
|
||||||
}
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
m_meshfailed = true;
|
||||||
|
}
|
||||||
|
// createmesh returns null when it doesn't mesh.
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_mesh = null;
|
_mesh = null;
|
||||||
|
|
|
@ -2116,7 +2116,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
LSL_Vector rel_vec = SetPosAdjust(currentPos, targetPos);
|
LSL_Vector rel_vec = SetPosAdjust(new LSL_Vector(part.OffsetPosition.X, part.OffsetPosition.Y, part.OffsetPosition.Z), targetPos);
|
||||||
part.OffsetPosition = new Vector3((float)rel_vec.x, (float)rel_vec.y, (float)rel_vec.z);
|
part.OffsetPosition = new Vector3((float)rel_vec.x, (float)rel_vec.y, (float)rel_vec.z);
|
||||||
SceneObjectGroup parent = part.ParentGroup;
|
SceneObjectGroup parent = part.ParentGroup;
|
||||||
parent.HasGroupChanged = true;
|
parent.HasGroupChanged = true;
|
||||||
|
|
|
@ -124,7 +124,7 @@ namespace OpenSim.Services.GridService
|
||||||
{
|
{
|
||||||
// Regions reserved for the null key cannot be taken.
|
// Regions reserved for the null key cannot be taken.
|
||||||
if ((string)region.Data["PrincipalID"] == UUID.Zero.ToString())
|
if ((string)region.Data["PrincipalID"] == UUID.Zero.ToString())
|
||||||
return "Region location us reserved";
|
return "Region location is reserved";
|
||||||
|
|
||||||
// Treat it as an auth request
|
// Treat it as an auth request
|
||||||
//
|
//
|
||||||
|
@ -210,6 +210,7 @@ namespace OpenSim.Services.GridService
|
||||||
{
|
{
|
||||||
int newFlags = 0;
|
int newFlags = 0;
|
||||||
string regionName = rdata.RegionName.Trim().Replace(' ', '_');
|
string regionName = rdata.RegionName.Trim().Replace(' ', '_');
|
||||||
|
newFlags = ParseFlags(newFlags, gridConfig.GetString("DefaultRegionFlags", String.Empty));
|
||||||
newFlags = ParseFlags(newFlags, gridConfig.GetString("Region_" + regionName, String.Empty));
|
newFlags = ParseFlags(newFlags, gridConfig.GetString("Region_" + regionName, String.Empty));
|
||||||
newFlags = ParseFlags(newFlags, gridConfig.GetString("Region_" + rdata.RegionID.ToString(), String.Empty));
|
newFlags = ParseFlags(newFlags, gridConfig.GetString("Region_" + rdata.RegionID.ToString(), String.Empty));
|
||||||
rdata.Data["flags"] = newFlags.ToString();
|
rdata.Data["flags"] = newFlags.ToString();
|
||||||
|
|
|
@ -49,21 +49,25 @@ namespace OpenSim.Services.HypergridService
|
||||||
LogManager.GetLogger(
|
LogManager.GetLogger(
|
||||||
MethodBase.GetCurrentMethod().DeclaringType);
|
MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
||||||
IGridService m_GridService;
|
private static bool m_Initialized = false;
|
||||||
IPresenceService m_PresenceService;
|
|
||||||
IUserAccountService m_UserAccountService;
|
|
||||||
IUserAgentService m_UserAgentService;
|
|
||||||
ISimulationService m_SimulationService;
|
|
||||||
|
|
||||||
string m_AuthDll;
|
private static IGridService m_GridService;
|
||||||
|
private static IPresenceService m_PresenceService;
|
||||||
|
private static IUserAccountService m_UserAccountService;
|
||||||
|
private static IUserAgentService m_UserAgentService;
|
||||||
|
private static ISimulationService m_SimulationService;
|
||||||
|
|
||||||
UUID m_ScopeID;
|
private static UUID m_ScopeID;
|
||||||
bool m_AllowTeleportsToAnyRegion;
|
private static bool m_AllowTeleportsToAnyRegion;
|
||||||
string m_ExternalName;
|
private static string m_ExternalName;
|
||||||
GridRegion m_DefaultGatewayRegion;
|
private static GridRegion m_DefaultGatewayRegion;
|
||||||
|
|
||||||
public GatekeeperService(IConfigSource config, ISimulationService simService)
|
public GatekeeperService(IConfigSource config, ISimulationService simService)
|
||||||
{
|
{
|
||||||
|
if (!m_Initialized)
|
||||||
|
{
|
||||||
|
m_Initialized = true;
|
||||||
|
|
||||||
IConfig serverConfig = config.Configs["GatekeeperService"];
|
IConfig serverConfig = config.Configs["GatekeeperService"];
|
||||||
if (serverConfig == null)
|
if (serverConfig == null)
|
||||||
throw new Exception(String.Format("No section GatekeeperService in config file"));
|
throw new Exception(String.Format("No section GatekeeperService in config file"));
|
||||||
|
@ -74,10 +78,8 @@ namespace OpenSim.Services.HypergridService
|
||||||
string presenceService = serverConfig.GetString("PresenceService", String.Empty);
|
string presenceService = serverConfig.GetString("PresenceService", String.Empty);
|
||||||
string simulationService = serverConfig.GetString("SimulationService", String.Empty);
|
string simulationService = serverConfig.GetString("SimulationService", String.Empty);
|
||||||
|
|
||||||
//m_AuthDll = serverConfig.GetString("AuthenticationService", String.Empty);
|
|
||||||
|
|
||||||
// These 3 are mandatory, the others aren't
|
// These 3 are mandatory, the others aren't
|
||||||
if (gridService == string.Empty || presenceService == string.Empty || m_AuthDll == string.Empty)
|
if (gridService == string.Empty || presenceService == string.Empty)
|
||||||
throw new Exception("Incomplete specifications, Gatekeeper Service cannot function.");
|
throw new Exception("Incomplete specifications, Gatekeeper Service cannot function.");
|
||||||
|
|
||||||
string scope = serverConfig.GetString("ScopeID", UUID.Zero.ToString());
|
string scope = serverConfig.GetString("ScopeID", UUID.Zero.ToString());
|
||||||
|
@ -105,6 +107,7 @@ namespace OpenSim.Services.HypergridService
|
||||||
|
|
||||||
m_log.Debug("[GATEKEEPER SERVICE]: Starting...");
|
m_log.Debug("[GATEKEEPER SERVICE]: Starting...");
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public GatekeeperService(IConfigSource config)
|
public GatekeeperService(IConfigSource config)
|
||||||
: this(config, null)
|
: this(config, null)
|
||||||
|
|
|
@ -61,7 +61,8 @@ namespace OpenSim.Services.HypergridService
|
||||||
|
|
||||||
protected static IGridUserService m_GridUserService;
|
protected static IGridUserService m_GridUserService;
|
||||||
protected static IGridService m_GridService;
|
protected static IGridService m_GridService;
|
||||||
protected static GatekeeperServiceConnector m_GatekeeperConnector;
|
//protected static GatekeeperServiceConnector m_GatekeeperConnector;
|
||||||
|
protected static IGatekeeperService m_GatekeeperService;
|
||||||
|
|
||||||
protected static bool m_BypassClientVerification;
|
protected static bool m_BypassClientVerification;
|
||||||
|
|
||||||
|
@ -69,6 +70,8 @@ namespace OpenSim.Services.HypergridService
|
||||||
{
|
{
|
||||||
if (!m_Initialized)
|
if (!m_Initialized)
|
||||||
{
|
{
|
||||||
|
m_Initialized = true;
|
||||||
|
|
||||||
m_log.DebugFormat("[HOME USERS SECURITY]: Starting...");
|
m_log.DebugFormat("[HOME USERS SECURITY]: Starting...");
|
||||||
|
|
||||||
IConfig serverConfig = config.Configs["UserAgentService"];
|
IConfig serverConfig = config.Configs["UserAgentService"];
|
||||||
|
@ -77,18 +80,18 @@ namespace OpenSim.Services.HypergridService
|
||||||
|
|
||||||
string gridService = serverConfig.GetString("GridService", String.Empty);
|
string gridService = serverConfig.GetString("GridService", String.Empty);
|
||||||
string gridUserService = serverConfig.GetString("GridUserService", String.Empty);
|
string gridUserService = serverConfig.GetString("GridUserService", String.Empty);
|
||||||
|
string gatekeeperService = serverConfig.GetString("GatekeeperService", String.Empty);
|
||||||
|
|
||||||
m_BypassClientVerification = serverConfig.GetBoolean("BypassClientVerification", false);
|
m_BypassClientVerification = serverConfig.GetBoolean("BypassClientVerification", false);
|
||||||
|
|
||||||
if (gridService == string.Empty || gridUserService == string.Empty)
|
if (gridService == string.Empty || gridUserService == string.Empty || gatekeeperService == string.Empty)
|
||||||
throw new Exception(String.Format("Incomplete specifications, UserAgent Service cannot function."));
|
throw new Exception(String.Format("Incomplete specifications, UserAgent Service cannot function."));
|
||||||
|
|
||||||
Object[] args = new Object[] { config };
|
Object[] args = new Object[] { config };
|
||||||
m_GridService = ServerUtils.LoadPlugin<IGridService>(gridService, args);
|
m_GridService = ServerUtils.LoadPlugin<IGridService>(gridService, args);
|
||||||
m_GridUserService = ServerUtils.LoadPlugin<IGridUserService>(gridUserService, args);
|
m_GridUserService = ServerUtils.LoadPlugin<IGridUserService>(gridUserService, args);
|
||||||
m_GatekeeperConnector = new GatekeeperServiceConnector();
|
//m_GatekeeperConnector = new GatekeeperServiceConnector();
|
||||||
|
m_GatekeeperService = ServerUtils.LoadPlugin<IGatekeeperService>(gatekeeperService, args);
|
||||||
m_Initialized = true;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -135,7 +138,8 @@ namespace OpenSim.Services.HypergridService
|
||||||
agentCircuit.ServiceSessionID = "http://" + region.ExternalHostName + ":" + region.HttpPort + ";" + UUID.Random();
|
agentCircuit.ServiceSessionID = "http://" + region.ExternalHostName + ":" + region.HttpPort + ";" + UUID.Random();
|
||||||
TravelingAgentInfo old = UpdateTravelInfo(agentCircuit, region);
|
TravelingAgentInfo old = UpdateTravelInfo(agentCircuit, region);
|
||||||
|
|
||||||
bool success = m_GatekeeperConnector.CreateAgent(region, agentCircuit, (uint)Constants.TeleportFlags.ViaLogin, out reason);
|
//bool success = m_GatekeeperConnector.CreateAgent(region, agentCircuit, (uint)Constants.TeleportFlags.ViaLogin, out reason);
|
||||||
|
bool success = m_GatekeeperService.LoginAgent(agentCircuit, finalDestination, out reason);
|
||||||
|
|
||||||
if (!success)
|
if (!success)
|
||||||
{
|
{
|
||||||
|
|
|
@ -241,21 +241,6 @@ namespace OpenSim.Tools.Configger
|
||||||
config.Set("EventQueue", true);
|
config.Set("EventQueue", true);
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
|
||||||
IConfig config = defaultConfig.Configs["StandAlone"];
|
|
||||||
|
|
||||||
if (null == config)
|
|
||||||
config = defaultConfig.AddConfig("StandAlone");
|
|
||||||
|
|
||||||
config.Set("accounts_authenticate", true);
|
|
||||||
config.Set("welcome_message", "Welcome to OpenSimulator");
|
|
||||||
config.Set("inventory_plugin", "OpenSim.Data.SQLite.dll");
|
|
||||||
config.Set("inventory_source", "");
|
|
||||||
config.Set("userDatabase_plugin", "OpenSim.Data.SQLite.dll");
|
|
||||||
config.Set("user_source", "");
|
|
||||||
config.Set("LibrariesXMLFile", string.Format(".{0}inventory{0}Libraries.xml", Path.DirectorySeparatorChar));
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
{
|
||||||
IConfig config = defaultConfig.Configs["Network"];
|
IConfig config = defaultConfig.Configs["Network"];
|
||||||
|
|
||||||
|
|
|
@ -207,6 +207,7 @@ ServiceConnectors = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector,8003
|
||||||
;; for the service
|
;; for the service
|
||||||
GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService"
|
GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService"
|
||||||
GridService = "OpenSim.Services.GridService.dll:GridService"
|
GridService = "OpenSim.Services.GridService.dll:GridService"
|
||||||
|
GatekeeperService = "OpenSim.Services.HypergridService.dll:GatekeeperService"
|
||||||
|
|
||||||
;; The interface that local users get when they are in other grids.
|
;; The interface that local users get when they are in other grids.
|
||||||
;; This restricts the inventory operations while in other grids.
|
;; This restricts the inventory operations while in other grids.
|
||||||
|
|
|
@ -114,6 +114,8 @@
|
||||||
;; for the service
|
;; for the service
|
||||||
GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService"
|
GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService"
|
||||||
GridService = "OpenSim.Services.GridService.dll:GridService"
|
GridService = "OpenSim.Services.GridService.dll:GridService"
|
||||||
|
GatekeeperService = "OpenSim.Services.HypergridService.dll:GatekeeperService"
|
||||||
|
|
||||||
|
|
||||||
;; The interface that local users get when they are in other grids
|
;; The interface that local users get when they are in other grids
|
||||||
;; This greatly restricts the inventory operations while in other grids
|
;; This greatly restricts the inventory operations while in other grids
|
||||||
|
|
52
prebuild.xml
52
prebuild.xml
|
@ -255,6 +255,58 @@
|
||||||
</Files>
|
</Files>
|
||||||
</Project>
|
</Project>
|
||||||
|
|
||||||
|
<Project frameworkVersion="v3_5" name="OpenSim.Framework.Configuration.XML" path="OpenSim/Framework/Configuration/XML" type="Library">
|
||||||
|
<Configuration name="Debug">
|
||||||
|
<Options>
|
||||||
|
<OutputPath>../../../../bin/</OutputPath>
|
||||||
|
</Options>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration name="Release">
|
||||||
|
<Options>
|
||||||
|
<OutputPath>../../../../bin/</OutputPath>
|
||||||
|
</Options>
|
||||||
|
</Configuration>
|
||||||
|
|
||||||
|
<ReferencePath>../../../../bin/</ReferencePath>
|
||||||
|
<Reference name="System"/>
|
||||||
|
<Reference name="System.Xml"/>
|
||||||
|
<Reference name="OpenMetaverseTypes.dll"/>
|
||||||
|
<Reference name="XMLRPC.dll"/>
|
||||||
|
<Reference name="OpenSim.Framework"/>
|
||||||
|
<Reference name="OpenSim.Framework.Console"/>
|
||||||
|
<Reference name="OpenSim.Data"/>
|
||||||
|
<Files>
|
||||||
|
<Match pattern="*.cs" recurse="true"/>
|
||||||
|
</Files>
|
||||||
|
</Project>
|
||||||
|
|
||||||
|
<Project frameworkVersion="v3_5" name="OpenSim.Framework.Configuration.HTTP" path="OpenSim/Framework/Configuration/HTTP" type="Library">
|
||||||
|
<Configuration name="Debug">
|
||||||
|
<Options>
|
||||||
|
<OutputPath>../../../../bin/</OutputPath>
|
||||||
|
</Options>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration name="Release">
|
||||||
|
<Options>
|
||||||
|
<OutputPath>../../../../bin/</OutputPath>
|
||||||
|
</Options>
|
||||||
|
</Configuration>
|
||||||
|
|
||||||
|
<ReferencePath>../../../../bin/</ReferencePath>
|
||||||
|
<Reference name="System"/>
|
||||||
|
<Reference name="System.Xml"/>
|
||||||
|
<Reference name="OpenMetaverseTypes.dll"/>
|
||||||
|
<Reference name="XMLRPC.dll"/>
|
||||||
|
<Reference name="OpenSim.Framework"/>
|
||||||
|
<Reference name="OpenSim.Framework.Console"/>
|
||||||
|
<Reference name="OpenSim.Framework.Configuration.XML"/>
|
||||||
|
<Reference name="OpenSim.Data"/>
|
||||||
|
<Reference name="log4net.dll"/>
|
||||||
|
<Files>
|
||||||
|
<Match pattern="*.cs" recurse="true"/>
|
||||||
|
</Files>
|
||||||
|
</Project>
|
||||||
|
|
||||||
<Project frameworkVersion="v3_5" name="OpenSim.Framework.AssetLoader.Filesystem" path="OpenSim/Framework/AssetLoader/Filesystem" type="Library">
|
<Project frameworkVersion="v3_5" name="OpenSim.Framework.AssetLoader.Filesystem" path="OpenSim/Framework/AssetLoader/Filesystem" type="Library">
|
||||||
<Configuration name="Debug">
|
<Configuration name="Debug">
|
||||||
<Options>
|
<Options>
|
||||||
|
|
Loading…
Reference in New Issue