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 0f5b14b..8de02f1 100644
Binary files a/BosMon-Webserver/bin/Release/BosMon-Webserver.exe and b/BosMon-Webserver/bin/Release/BosMon-Webserver.exe differ
diff --git a/BosMon-Webserver/bin/Release/Utils.dll b/BosMon-Webserver/bin/Release/Utils.dll
index a28cada..d54cf28 100644
Binary files a/BosMon-Webserver/bin/Release/Utils.dll and b/BosMon-Webserver/bin/Release/Utils.dll differ
diff --git a/BosMon-Webserver/dpkg/bmweb.service b/BosMon-Webserver/dpkg/bmweb.service
index d747a16..a0c670e 100644
--- a/BosMon-Webserver/dpkg/bmweb.service
+++ b/BosMon-Webserver/dpkg/bmweb.service
@@ -13,7 +13,7 @@ ExecStartPre=/bin/rm /var/log/bmweb.log
ExecStartPre=/bin/touch /var/log/bmweb.log
ExecStartPre=/bin/chown bmweb:bmweb /var/log/bmweb.log
ExecStartPre=/bin/chmod 644 /var/log/bmweb.log
-ExecStart=/usr/bin/mono /usr/local/bin/bmweb/BosMon-Webserver.exe
+ExecStart=/usr/bin/mono --debug /usr/local/bin/bmweb/BosMon-Webserver.exe
KillMode=control-group
TimeoutStopSec=5
Restart=on-failure
diff --git a/BosMon-Webserver/dpkg/control b/BosMon-Webserver/dpkg/control
index 892523e..85e41df 100644
--- a/BosMon-Webserver/dpkg/control
+++ b/BosMon-Webserver/dpkg/control
@@ -3,7 +3,7 @@ Version: x.x-x
Section: base
Priority: optional
Architecture: any
-Depends: mono-runtime (>= 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