Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
commit
b4278510f2
|
@ -2728,6 +2728,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
DirPlacesReplyPacket.StatusDataBlock[] status =
|
DirPlacesReplyPacket.StatusDataBlock[] status =
|
||||||
new DirPlacesReplyPacket.StatusDataBlock[0];
|
new DirPlacesReplyPacket.StatusDataBlock[0];
|
||||||
|
|
||||||
|
packet.QueryReplies = replies;
|
||||||
|
packet.StatusData = status;
|
||||||
|
|
||||||
foreach (DirPlacesReplyData d in data)
|
foreach (DirPlacesReplyData d in data)
|
||||||
{
|
{
|
||||||
int idx = replies.Length;
|
int idx = replies.Length;
|
||||||
|
@ -2766,7 +2769,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (replies.Length > 0)
|
if (replies.Length > 0 || data.Length == 0)
|
||||||
OutPacket(packet, ThrottleOutPacketType.Task);
|
OutPacket(packet, ThrottleOutPacketType.Task);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -30,6 +30,7 @@ using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
using System.Text.RegularExpressions;
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
using log4net;
|
using log4net;
|
||||||
using OpenSim.Region.DataSnapshot.Interfaces;
|
using OpenSim.Region.DataSnapshot.Interfaces;
|
||||||
|
@ -98,13 +99,21 @@ namespace OpenSim.Region.DataSnapshot
|
||||||
{
|
{
|
||||||
String path = DataFileNameFragment(provider.GetParentScene, provider.Name);
|
String path = DataFileNameFragment(provider.GetParentScene, provider.Name);
|
||||||
|
|
||||||
using (XmlTextWriter snapXWriter = new XmlTextWriter(path, Encoding.Default))
|
try
|
||||||
{
|
{
|
||||||
snapXWriter.Formatting = Formatting.Indented;
|
using (XmlTextWriter snapXWriter = new XmlTextWriter(path, Encoding.Default))
|
||||||
snapXWriter.WriteStartDocument();
|
{
|
||||||
data.WriteTo(snapXWriter);
|
snapXWriter.Formatting = Formatting.Indented;
|
||||||
snapXWriter.WriteEndDocument();
|
snapXWriter.WriteStartDocument();
|
||||||
|
data.WriteTo(snapXWriter);
|
||||||
|
snapXWriter.WriteEndDocument();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
m_log.WarnFormat("[DATASNAPSHOT]: Exception on writing to file {0}: {1}", path, e.Message);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//mark provider as not stale, parent scene as stale
|
//mark provider as not stale, parent scene as stale
|
||||||
|
@ -185,12 +194,19 @@ namespace OpenSim.Region.DataSnapshot
|
||||||
//save snapshot
|
//save snapshot
|
||||||
String path = DataFileNameScene(scene);
|
String path = DataFileNameScene(scene);
|
||||||
|
|
||||||
using (XmlTextWriter snapXWriter = new XmlTextWriter(path, Encoding.Default))
|
try
|
||||||
{
|
{
|
||||||
snapXWriter.Formatting = Formatting.Indented;
|
using (XmlTextWriter snapXWriter = new XmlTextWriter(path, Encoding.Default))
|
||||||
snapXWriter.WriteStartDocument();
|
{
|
||||||
regionElement.WriteTo(snapXWriter);
|
snapXWriter.Formatting = Formatting.Indented;
|
||||||
snapXWriter.WriteEndDocument();
|
snapXWriter.WriteStartDocument();
|
||||||
|
regionElement.WriteTo(snapXWriter);
|
||||||
|
snapXWriter.WriteEndDocument();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
m_log.WarnFormat("[DATASNAPSHOT]: Exception on writing to file {0}: {1}", path, e.Message);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_scenes[scene] = false;
|
m_scenes[scene] = false;
|
||||||
|
@ -206,15 +222,23 @@ namespace OpenSim.Region.DataSnapshot
|
||||||
#region Helpers
|
#region Helpers
|
||||||
private string DataFileNameFragment(Scene scene, String fragmentName)
|
private string DataFileNameFragment(Scene scene, String fragmentName)
|
||||||
{
|
{
|
||||||
return Path.Combine(m_directory, Path.ChangeExtension(scene.RegionInfo.RegionName + "_" + fragmentName, "xml"));
|
return Path.Combine(m_directory, Path.ChangeExtension(Sanitize(scene.RegionInfo.RegionName + "_" + fragmentName), "xml"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private string DataFileNameScene(Scene scene)
|
private string DataFileNameScene(Scene scene)
|
||||||
{
|
{
|
||||||
return Path.Combine(m_directory, Path.ChangeExtension(scene.RegionInfo.RegionName, "xml"));
|
return Path.Combine(m_directory, Path.ChangeExtension(Sanitize(scene.RegionInfo.RegionName), "xml"));
|
||||||
//return (m_snapsDir + Path.DirectorySeparatorChar + scene.RegionInfo.RegionName + ".xml");
|
//return (m_snapsDir + Path.DirectorySeparatorChar + scene.RegionInfo.RegionName + ".xml");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static string Sanitize(string name)
|
||||||
|
{
|
||||||
|
string invalidChars = Regex.Escape(new string(Path.GetInvalidFileNameChars()));
|
||||||
|
string invalidReStr = string.Format(@"[{0}]", invalidChars);
|
||||||
|
string newname = Regex.Replace(name, invalidReStr, "_");
|
||||||
|
return newname.Replace('.', '_');
|
||||||
|
}
|
||||||
|
|
||||||
private XmlNode MakeRegionNode(Scene scene, XmlDocument basedoc)
|
private XmlNode MakeRegionNode(Scene scene, XmlDocument basedoc)
|
||||||
{
|
{
|
||||||
XmlNode docElement = basedoc.CreateNode(XmlNodeType.Element, "region", "");
|
XmlNode docElement = basedoc.CreateNode(XmlNodeType.Element, "region", "");
|
||||||
|
|
|
@ -57,8 +57,7 @@ ServiceConnectors = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector,8003
|
||||||
LocalServiceModule = "OpenSim.Services.GridService.dll:GridService"
|
LocalServiceModule = "OpenSim.Services.GridService.dll:GridService"
|
||||||
; Realm = "regions"
|
; Realm = "regions"
|
||||||
; AllowDuplicateNames = "True"
|
; AllowDuplicateNames = "True"
|
||||||
; Check4096 = "False"
|
|
||||||
|
|
||||||
;; Next, we can specify properties of regions, including default and fallback regions
|
;; Next, we can specify properties of regions, including default and fallback regions
|
||||||
;; The syntax is: Region_<RegionName> = "<flags>"
|
;; The syntax is: Region_<RegionName> = "<flags>"
|
||||||
;; or: Region_<RegionID> = "<flags>"
|
;; or: Region_<RegionID> = "<flags>"
|
||||||
|
|
Loading…
Reference in New Issue