improve message escaping

This commit is contained in:
Yannik Schmidt
2020-11-21 08:49:29 +01:00
parent 5c8342db19
commit 63642abefb

View File

@@ -63,6 +63,12 @@ def sendToAll():
sendMessageToAllClients(flask.request.json["message"]) sendMessageToAllClients(flask.request.json["message"])
return ("","204") return ("","204")
def escape(string):
badChars = [".","-","=","(",")","+"]
for c in badChars:
string = string.replace(c,"\\"+c)
return string
@app.route('/send-all-icinga', methods=["POST"]) @app.route('/send-all-icinga', methods=["POST"])
def sendToAllIcinga(): def sendToAllIcinga():
args = flask.request.json args = flask.request.json
@@ -71,7 +77,7 @@ def sendToAllIcinga():
for key in args.keys(): for key in args.keys():
if type(args[key]) == str: if type(args[key]) == str:
print(key) print(key)
args[key] = args[key].replace(".", "\\.").replace("-", "\\-").replace("=","\\=") args[key] = escape(args[key])
# build message # # build message #
serviceName = args["service_name"] serviceName = args["service_name"]