diff options
Diffstat (limited to 'OpenSim/Region/CoreModules/World/WorldMap')
-rw-r--r-- | OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs | 21 |
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"); |