From c63be78a08a70bce78aa922a602cbec34213f96b Mon Sep 17 00:00:00 2001 From: BlubbFish Date: Thu, 29 Nov 2018 09:26:41 +0000 Subject: [PATCH] Some tweaks to get it running right --- BosMon-Webserver/BosMon-Webserver.csproj | 4 +- BosMon-Webserver/POCSAG.cs | 4 +- BosMon-Webserver/XMLWebserver.cs | 61 ++++++++++-------- .../bin/Release/BosMon-Webserver.exe | Bin 558080 -> 559104 bytes BosMon-Webserver/bin/Release/Utils.dll | Bin 31232 -> 31232 bytes BosMon-Webserver/dpkg/bmweb.service | 2 +- BosMon-Webserver/dpkg/control | 2 +- 7 files changed, 39 insertions(+), 34 deletions(-) diff --git a/BosMon-Webserver/BosMon-Webserver.csproj b/BosMon-Webserver/BosMon-Webserver.csproj index f881a76..92cdb33 100644 --- a/BosMon-Webserver/BosMon-Webserver.csproj +++ b/BosMon-Webserver/BosMon-Webserver.csproj @@ -25,9 +25,9 @@ AnyCPU pdbonly - true + false bin\Release\ - TRACE + DEBUG;TRACE prompt 4 diff --git a/BosMon-Webserver/POCSAG.cs b/BosMon-Webserver/POCSAG.cs index 260ad3c..a0a4ce9 100644 --- a/BosMon-Webserver/POCSAG.cs +++ b/BosMon-Webserver/POCSAG.cs @@ -1,9 +1,9 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Net; using System.Text; using System.Threading.Tasks; -using System.Web; namespace BlubbFish.BosMon.Webserver { class POCSAG { @@ -52,7 +52,7 @@ namespace BlubbFish.BosMon.Webserver { internal String ToXML() { String ret = "\r\n"; ret += ""+this.Function+ "\r\n"; - ret += ""+ HttpUtility.HtmlEncode(this.Message) + "\r\n"; + ret += ""+ WebUtility.HtmlEncode(this.Message) + "\r\n"; ret += "3\r\n"; ret += "
"+this.Address.ToString("D7")+ "
\r\n"; ret += ""+((DateTimeOffset)this.Time).ToUnixTimeMilliseconds()+ "\r\n"; diff --git a/BosMon-Webserver/XMLWebserver.cs b/BosMon-Webserver/XMLWebserver.cs index a86318c..3b6268d 100644 --- a/BosMon-Webserver/XMLWebserver.cs +++ b/BosMon-Webserver/XMLWebserver.cs @@ -38,7 +38,7 @@ namespace BlubbFish.BosMon.Webserver { ctx.Response.OutputStream.Close(); ctx.Response.Close(); } catch(Exception e) { - Helper.WriteError("Context Exception: " + e.Message +""+e.Source+ "\n\n" + e.StackTrace); + Helper.WriteError("Context Exception: " + e.Message + " " + e.Source + "\n" + e.StackTrace); } }, this._listener.GetContext()); } @@ -49,35 +49,40 @@ namespace BlubbFish.BosMon.Webserver { } private void SendResponse(HttpListenerContext ctx) { - if (this.CheckAuth(ctx.Request)) { - ctx.Response.ContentType = "text/xml"; - ctx.Response.Headers.Add(HttpResponseHeader.Server, "BM Webserver 1.3"); - ctx.Response.SendChunked = true; - ctx.Response.Headers.Add(HttpResponseHeader.Date, DateTime.Now.ToString("ddd, dd MMM yyy HH':'mm':'ss 'GMT'")); - ctx.Response.Headers.Add(HttpResponseHeader.Connection, "close"); - Byte[] start = Encoding.UTF8.GetBytes("\r\n\r\n"); - ctx.Response.OutputStream.Write(start, 0, start.Length); - ctx.Response.OutputStream.Flush(); - start = Encoding.UTF8.GetBytes("" + ((DateTimeOffset)DateTime.Now).ToUnixTimeMilliseconds() + "\r\n"); - ctx.Response.OutputStream.Write(start, 0, start.Length); - ctx.Response.OutputStream.Flush(); - while (true) { - List submit = new List(); - while (this.pOCSAGs.Count > 0) { - submit.Add(this.pOCSAGs.Dequeue()); + try { + if (this.CheckAuth(ctx.Request)) { + ctx.Response.ContentType = "text/xml"; + ctx.Response.Headers.Add(HttpResponseHeader.Server, "BM Webserver 1.3"); + ctx.Response.SendChunked = true; + ctx.Response.Headers.Add(HttpResponseHeader.Date, DateTime.Now.ToString("ddd, dd MMM yyy HH':'mm':'ss 'GMT'")); + ctx.Response.Headers.Add(HttpResponseHeader.Connection, "close"); + Byte[] start = Encoding.UTF8.GetBytes("\r\n\r\n"); + ctx.Response.OutputStream.Write(start, 0, start.Length); + ctx.Response.OutputStream.Flush(); + start = Encoding.UTF8.GetBytes("" + ((DateTimeOffset)DateTime.Now).ToUnixTimeMilliseconds() + "\r\n"); + ctx.Response.OutputStream.Write(start, 0, start.Length); + ctx.Response.OutputStream.Flush(); + while (true) { + List submit = new List(); + while (this.pOCSAGs.Count > 0) { + submit.Add(this.pOCSAGs.Dequeue()); + } + if (submit.Count > 0) { + Console.WriteLine("<- Send " + submit.Count + " Items"); + } + foreach (POCSAG item in submit) { + Byte[] buf = Encoding.UTF8.GetBytes(item.ToXML()); + ctx.Response.OutputStream.Write(buf, 0, buf.Length); + ctx.Response.OutputStream.Flush(); + } + Thread.Sleep(100); } - if (submit.Count > 0) { - Console.WriteLine("<- Send " + submit.Count + " Items"); - } - foreach (POCSAG item in submit) { - Byte[] buf = Encoding.UTF8.GetBytes(item.ToXML()); - ctx.Response.OutputStream.Write(buf, 0, buf.Length); - ctx.Response.OutputStream.Flush(); - } - Thread.Sleep(100); } + ctx.Response.StatusCode = 403; + } + catch(Exception e) { + Helper.WriteError("Send Response Exception: " + e.Message + " " + e.Source + "\n" + e.StackTrace); } - ctx.Response.StatusCode = 403; } private void ParseInput(HttpListenerContext request) { @@ -91,7 +96,7 @@ namespace BlubbFish.BosMon.Webserver { foreach (String item in items) { String[] kv = item.Split('='); if (kv.Length == 2) { - kv[1] = HttpUtility.UrlDecode(kv[1]); + kv[1] = WebUtility.UrlDecode(kv[1]); input.Add(kv[0], kv[1]); } } diff --git a/BosMon-Webserver/bin/Release/BosMon-Webserver.exe b/BosMon-Webserver/bin/Release/BosMon-Webserver.exe index 0f5b14b11e5b552dfe5684528339c7e9454a600d..8de02f13b43220c55505acf45927ab240adf4c7a 100644 GIT binary patch delta 6245 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 diff --git a/BosMon-Webserver/bin/Release/Utils.dll b/BosMon-Webserver/bin/Release/Utils.dll index a28cadabaa989fedefb94fdd42f3641a657ad086..d54cf2810d9795e6b9c547ad8fc290d19e26037b 100644 GIT binary patch delta 121 zcmZqp!r1VIaY6_4r8)mLcF#-~Fkk6#H}7ti*VZJaFA0M4-8Y+LY~b_+%0@E)0TU3* zFfuUw=?CIM28N(um*DbUEzf%ct^DVneeu0*V7qmThtd8JkTqHgI|aWuqB@fC-3Y z7#SG;^aF7r14B@-OK@rP`bk$F)VnY0H)L&2$P)ufGq_sCxMrrO=A|mQB$lLRrsl=C W= 5.16.0), libmono-system-web4.0-cil (>= 5.16.0) +Depends: mono-runtime (>= 5.16.0) Maintainer: BlubbFish Description: Bosmon-Webserver A Webserver for Bosmon Telegrafs