aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs')
-rw-r--r--OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs21
1 files changed, 20 insertions, 1 deletions
diff --git a/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs b/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs
index bf18616..98fa763 100644
--- a/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs
+++ b/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs
@@ -162,7 +162,16 @@ namespace OpenSim.Region.CoreModules.World.WorldMap
162 regionimage = regionimage.Replace("-", ""); 162 regionimage = regionimage.Replace("-", "");
163 m_log.Info("[WORLD MAP]: JPEG Map location: " + m_scene.RegionInfo.ServerURI + "index.php?method=" + regionimage); 163 m_log.Info("[WORLD MAP]: JPEG Map location: " + m_scene.RegionInfo.ServerURI + "index.php?method=" + regionimage);
164 164
165 MainServer.Instance.AddHTTPHandler(regionimage, OnHTTPGetMapImage); 165 MainServer.Instance.AddHTTPHandler(regionimage,
166 new GenericHTTPDOSProtector(OnHTTPGetMapImage, OnHTTPThrottled, new BasicDosProtectorOptions()
167 {
168 AllowXForwardedFor = false,
169 ForgetTimeSpan = TimeSpan.FromMinutes(2),
170 MaxRequestsInTimeframe = 4,
171 ReportingName = "MAPDOSPROTECTOR",
172 RequestTimeSpan = TimeSpan.FromSeconds(10),
173 ThrottledAction = BasicDOSProtector.ThrottleAction.DoThrottledMethod
174 }).Process);
166 MainServer.Instance.AddLLSDHandler( 175 MainServer.Instance.AddLLSDHandler(
167 "/MAP/MapItems/" + m_scene.RegionInfo.RegionHandle.ToString(), HandleRemoteMapItemRequest); 176 "/MAP/MapItems/" + m_scene.RegionInfo.RegionHandle.ToString(), HandleRemoteMapItemRequest);
168 177
@@ -1131,6 +1140,16 @@ namespace OpenSim.Region.CoreModules.World.WorldMap
1131 block.Y = (ushort)(r.RegionLocY / Constants.RegionSize); 1140 block.Y = (ushort)(r.RegionLocY / Constants.RegionSize);
1132 } 1141 }
1133 1142
1143 public Hashtable OnHTTPThrottled(Hashtable keysvals)
1144 {
1145 Hashtable reply = new Hashtable();
1146 int statuscode = 500;
1147 reply["str_response_string"] = "";
1148 reply["int_response_code"] = statuscode;
1149 reply["content_type"] = "text/plain";
1150 return reply;
1151 }
1152
1134 public Hashtable OnHTTPGetMapImage(Hashtable keysvals) 1153 public Hashtable OnHTTPGetMapImage(Hashtable keysvals)
1135 { 1154 {
1136 m_log.Debug("[WORLD MAP]: Sending map image jpeg"); 1155 m_log.Debug("[WORLD MAP]: Sending map image jpeg");