diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/CoreModules/World/Estate/EstateRequestHandler.cs (renamed from OpenSim/Region/CoreModules/World/Estate/XEstateRequestHandler.cs) | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/OpenSim/Region/CoreModules/World/Estate/XEstateRequestHandler.cs b/OpenSim/Region/CoreModules/World/Estate/EstateRequestHandler.cs index ec5af2b..5eda8ab 100644 --- a/OpenSim/Region/CoreModules/World/Estate/XEstateRequestHandler.cs +++ b/OpenSim/Region/CoreModules/World/Estate/EstateRequestHandler.cs | |||
@@ -46,24 +46,27 @@ namespace OpenSim.Region.CoreModules.World.Estate | |||
46 | { | 46 | { |
47 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 47 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
48 | 48 | ||
49 | protected XEstateModule m_EstateModule; | 49 | protected EstateModule m_EstateModule; |
50 | protected Object m_RequestLock = new Object(); | 50 | protected Object m_RequestLock = new Object(); |
51 | private string token; | ||
51 | 52 | ||
52 | public EstateRequestHandler(XEstateModule fmodule) | 53 | public EstateRequestHandler(EstateModule fmodule, string _token) |
53 | : base("POST", "/estate") | 54 | : base("POST", "/estate") |
54 | { | 55 | { |
55 | m_EstateModule = fmodule; | 56 | m_EstateModule = fmodule; |
57 | token = _token; | ||
56 | } | 58 | } |
57 | 59 | ||
58 | protected override byte[] ProcessRequest(string path, Stream requestData, | 60 | protected override byte[] ProcessRequest(string path, Stream requestData, |
59 | IOSHttpRequest httpRequest, IOSHttpResponse httpResponse) | 61 | IOSHttpRequest httpRequest, IOSHttpResponse httpResponse) |
60 | { | 62 | { |
61 | StreamReader sr = new StreamReader(requestData); | 63 | string body; |
62 | string body = sr.ReadToEnd(); | 64 | using(StreamReader sr = new StreamReader(requestData)) |
63 | sr.Close(); | 65 | body = sr.ReadToEnd(); |
66 | |||
64 | body = body.Trim(); | 67 | body = body.Trim(); |
65 | 68 | ||
66 | m_log.DebugFormat("[XESTATE HANDLER]: query String: {0}", body); | 69 | // m_log.DebugFormat("[XESTATE HANDLER]: query String: {0}", body); |
67 | 70 | ||
68 | try | 71 | try |
69 | { | 72 | { |
@@ -75,6 +78,15 @@ namespace OpenSim.Region.CoreModules.World.Estate | |||
75 | if (!request.ContainsKey("METHOD")) | 78 | if (!request.ContainsKey("METHOD")) |
76 | return FailureResult(); | 79 | return FailureResult(); |
77 | 80 | ||
81 | if (!request.ContainsKey("TOKEN")) | ||
82 | return FailureResult(); | ||
83 | |||
84 | string reqToken = request["TOKEN"].ToString(); | ||
85 | request.Remove("TOKEN"); | ||
86 | |||
87 | if(token != reqToken) | ||
88 | return FailureResult(); | ||
89 | |||
78 | string method = request["METHOD"].ToString(); | 90 | string method = request["METHOD"].ToString(); |
79 | request.Remove("METHOD"); | 91 | request.Remove("METHOD"); |
80 | 92 | ||