diff options
Diffstat (limited to 'OpenSim')
5 files changed, 59 insertions, 18 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/Assets/GetTextureModule.cs b/OpenSim/Region/CoreModules/Avatar/Assets/GetTextureModule.cs index f8e3d59..75efb79 100644 --- a/OpenSim/Region/CoreModules/Avatar/Assets/GetTextureModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Assets/GetTextureModule.cs | |||
@@ -131,6 +131,12 @@ namespace OpenSim.Region.CoreModules.Avatar.ObjectCaps | |||
131 | 131 | ||
132 | if (texture != null) | 132 | if (texture != null) |
133 | { | 133 | { |
134 | if (texture.Type != (sbyte)AssetType.Texture) | ||
135 | { | ||
136 | httpResponse.StatusCode = (int)System.Net.HttpStatusCode.NotFound; | ||
137 | httpResponse.Send(); | ||
138 | return null; | ||
139 | } | ||
134 | SendTexture(httpRequest, httpResponse, texture); | 140 | SendTexture(httpRequest, httpResponse, texture); |
135 | } | 141 | } |
136 | else | 142 | else |
@@ -147,6 +153,12 @@ namespace OpenSim.Region.CoreModules.Avatar.ObjectCaps | |||
147 | 153 | ||
148 | if (texture != null) | 154 | if (texture != null) |
149 | { | 155 | { |
156 | if (texture.Type != (sbyte)AssetType.Texture) | ||
157 | { | ||
158 | httpResponse.StatusCode = (int)System.Net.HttpStatusCode.NotFound; | ||
159 | httpResponse.Send(); | ||
160 | return null; | ||
161 | } | ||
150 | SendTexture(httpRequest, httpResponse, texture); | 162 | SendTexture(httpRequest, httpResponse, texture); |
151 | } | 163 | } |
152 | else | 164 | else |
diff --git a/OpenSim/Region/Framework/Scenes/Prioritizer.cs b/OpenSim/Region/Framework/Scenes/Prioritizer.cs index 7b7677b..de3c360 100644 --- a/OpenSim/Region/Framework/Scenes/Prioritizer.cs +++ b/OpenSim/Region/Framework/Scenes/Prioritizer.cs | |||
@@ -52,6 +52,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
52 | public double GetUpdatePriority(IClientAPI client, ISceneEntity entity) | 52 | public double GetUpdatePriority(IClientAPI client, ISceneEntity entity) |
53 | { | 53 | { |
54 | double priority = 0; | 54 | double priority = 0; |
55 | |||
56 | if (entity == null) | ||
57 | return 100000; | ||
55 | 58 | ||
56 | switch (m_scene.UpdatePrioritizationScheme) | 59 | switch (m_scene.UpdatePrioritizationScheme) |
57 | { | 60 | { |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 86d0c30..1feb153 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -6516,15 +6516,15 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
6516 | if (cut.y > 1f) | 6516 | if (cut.y > 1f) |
6517 | { | 6517 | { |
6518 | cut.y = 1f; | 6518 | cut.y = 1f; |
6519 | } | 6519 | } |
6520 | if (cut.y - cut.x < 0.05f) | 6520 | if (cut.y - cut.x < 0.05f) |
6521 | { | 6521 | { |
6522 | cut.x = cut.y - 0.05f; | 6522 | cut.x = cut.y - 0.05f; |
6523 | if (cut.x < 0.0f) | 6523 | if (cut.x < 0.0f) |
6524 | { | 6524 | { |
6525 | cut.x = 0.0f; | 6525 | cut.x = 0.0f; |
6526 | cut.y = 0.05f; | 6526 | cut.y = 0.05f; |
6527 | } | 6527 | } |
6528 | } | 6528 | } |
6529 | shapeBlock.ProfileBegin = (ushort)(50000 * cut.x); | 6529 | shapeBlock.ProfileBegin = (ushort)(50000 * cut.x); |
6530 | shapeBlock.ProfileEnd = (ushort)(50000 * (1 - cut.y)); | 6530 | shapeBlock.ProfileEnd = (ushort)(50000 * (1 - cut.y)); |
@@ -6722,11 +6722,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
6722 | } | 6722 | } |
6723 | if (profilecut.y - profilecut.x < 0.05f) | 6723 | if (profilecut.y - profilecut.x < 0.05f) |
6724 | { | 6724 | { |
6725 | profilecut.x = profilecut.y - 0.05f; | 6725 | profilecut.x = profilecut.y - 0.05f; |
6726 | if (profilecut.x < 0.0f) | 6726 | if (profilecut.x < 0.0f) |
6727 | { | 6727 | { |
6728 | profilecut.x = 0.0f; | 6728 | profilecut.x = 0.0f; |
6729 | profilecut.y = 0.05f; | 6729 | profilecut.y = 0.05f; |
6730 | } | 6730 | } |
6731 | } | 6731 | } |
6732 | shapeBlock.ProfileBegin = (ushort)(50000 * profilecut.x); | 6732 | shapeBlock.ProfileBegin = (ushort)(50000 * profilecut.x); |
diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianAuthenticationServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianAuthenticationServiceConnector.cs index 3c784f2..7a96a05 100644 --- a/OpenSim/Services/Connectors/SimianGrid/SimianAuthenticationServiceConnector.cs +++ b/OpenSim/Services/Connectors/SimianGrid/SimianAuthenticationServiceConnector.cs | |||
@@ -198,6 +198,8 @@ namespace OpenSim.Services.Connectors.SimianGrid | |||
198 | if (!String.IsNullOrEmpty(identifier)) | 198 | if (!String.IsNullOrEmpty(identifier)) |
199 | { | 199 | { |
200 | // Add/update the md5hash identity | 200 | // Add/update the md5hash identity |
201 | // TODO: Support salts when AddIdentity does | ||
202 | // TODO: Create an a1hash too for WebDAV logins | ||
201 | requestArgs = new NameValueCollection | 203 | requestArgs = new NameValueCollection |
202 | { | 204 | { |
203 | { "RequestMethod", "AddIdentity" }, | 205 | { "RequestMethod", "AddIdentity" }, |
diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianGridServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianGridServiceConnector.cs index db9027a..bea8172 100644 --- a/OpenSim/Services/Connectors/SimianGrid/SimianGridServiceConnector.cs +++ b/OpenSim/Services/Connectors/SimianGrid/SimianGridServiceConnector.cs | |||
@@ -59,18 +59,35 @@ namespace OpenSim.Services.Connectors.SimianGrid | |||
59 | MethodBase.GetCurrentMethod().DeclaringType); | 59 | MethodBase.GetCurrentMethod().DeclaringType); |
60 | 60 | ||
61 | private string m_serverUrl = String.Empty; | 61 | private string m_serverUrl = String.Empty; |
62 | private Dictionary<UUID, Scene> m_scenes = new Dictionary<UUID, Scene>(); | ||
62 | 63 | ||
63 | #region ISharedRegionModule | 64 | #region ISharedRegionModule |
64 | 65 | ||
65 | public Type ReplaceableInterface { get { return null; } } | 66 | public Type ReplaceableInterface { get { return null; } } |
66 | public void RegionLoaded(Scene scene) { if (!String.IsNullOrEmpty(m_serverUrl)) { UploadMapTile(scene); } } | 67 | public void RegionLoaded(Scene scene) { } |
67 | public void PostInitialise() { } | 68 | public void PostInitialise() { } |
68 | public void Close() { } | 69 | public void Close() { } |
69 | 70 | ||
70 | public SimianGridServiceConnector() { } | 71 | public SimianGridServiceConnector() { } |
71 | public string Name { get { return "SimianGridServiceConnector"; } } | 72 | public string Name { get { return "SimianGridServiceConnector"; } } |
72 | public void AddRegion(Scene scene) { if (!String.IsNullOrEmpty(m_serverUrl)) { scene.RegisterModuleInterface<IGridService>(this); } } | 73 | public void AddRegion(Scene scene) |
73 | public void RemoveRegion(Scene scene) { if (!String.IsNullOrEmpty(m_serverUrl)) { scene.UnregisterModuleInterface<IGridService>(this); } } | 74 | { |
75 | // Every shared region module has to maintain an indepedent list of | ||
76 | // currently running regions | ||
77 | lock (m_scenes) | ||
78 | m_scenes[scene.RegionInfo.RegionID] = scene; | ||
79 | |||
80 | if (!String.IsNullOrEmpty(m_serverUrl)) | ||
81 | scene.RegisterModuleInterface<IGridService>(this); | ||
82 | } | ||
83 | public void RemoveRegion(Scene scene) | ||
84 | { | ||
85 | lock (m_scenes) | ||
86 | m_scenes.Remove(scene.RegionInfo.RegionID); | ||
87 | |||
88 | if (!String.IsNullOrEmpty(m_serverUrl)) | ||
89 | scene.UnregisterModuleInterface<IGridService>(this); | ||
90 | } | ||
74 | 91 | ||
75 | #endregion ISharedRegionModule | 92 | #endregion ISharedRegionModule |
76 | 93 | ||
@@ -105,6 +122,13 @@ namespace OpenSim.Services.Connectors.SimianGrid | |||
105 | 122 | ||
106 | public string RegisterRegion(UUID scopeID, GridRegion regionInfo) | 123 | public string RegisterRegion(UUID scopeID, GridRegion regionInfo) |
107 | { | 124 | { |
125 | // Generate and upload our map tile in PNG format to the SimianGrid AddMapTile service | ||
126 | Scene scene; | ||
127 | if (m_scenes.TryGetValue(regionInfo.RegionID, out scene)) | ||
128 | UploadMapTile(scene); | ||
129 | else | ||
130 | m_log.Warn("Registering region " + regionInfo.RegionName + " (" + regionInfo.RegionID + ") that we are not tracking"); | ||
131 | |||
108 | Vector3d minPosition = new Vector3d(regionInfo.RegionLocX, regionInfo.RegionLocY, 0.0); | 132 | Vector3d minPosition = new Vector3d(regionInfo.RegionLocX, regionInfo.RegionLocY, 0.0); |
109 | Vector3d maxPosition = minPosition + new Vector3d(Constants.RegionSize, Constants.RegionSize, 4096.0); | 133 | Vector3d maxPosition = minPosition + new Vector3d(Constants.RegionSize, Constants.RegionSize, 4096.0); |
110 | 134 | ||
@@ -430,7 +454,7 @@ namespace OpenSim.Services.Connectors.SimianGrid | |||
430 | if (!String.IsNullOrEmpty(errorMessage)) | 454 | if (!String.IsNullOrEmpty(errorMessage)) |
431 | { | 455 | { |
432 | m_log.WarnFormat("[SIMIAN GRID CONNECTOR]: Failed to store {0} byte PNG map tile for {1}: {2}", | 456 | m_log.WarnFormat("[SIMIAN GRID CONNECTOR]: Failed to store {0} byte PNG map tile for {1}: {2}", |
433 | pngData.Length, scene.RegionInfo.RegionName, errorMessage); | 457 | pngData.Length, scene.RegionInfo.RegionName, errorMessage.Replace('\n', ' ')); |
434 | } | 458 | } |
435 | } | 459 | } |
436 | 460 | ||