From: Otto Moerbeek Date: Fri, 11 Dec 2020 11:18:12 +0000 (+0100) Subject: Also use the new incbin for rec and dnsdist X-Git-Tag: rec-4.5.0-alpha1~72^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bf74b2a71be53efbe4fa5be25d4bd4228c5bfe12;p=thirdparty%2Fpdns.git Also use the new incbin for rec and dnsdist --- diff --git a/pdns/dnsdist-web.cc b/pdns/dnsdist-web.cc index 4b5b63a5cd..0dc9a19b22 100644 --- a/pdns/dnsdist-web.cc +++ b/pdns/dnsdist-web.cc @@ -26,7 +26,6 @@ #include #include -#include "ext/incbin/incbin.h" #include "ext/json11/json11.hpp" #include diff --git a/pdns/dnsdistdist/incfiles b/pdns/dnsdistdist/incfiles index 9dd0236867..9f96afe59a 100755 --- a/pdns/dnsdistdist/incfiles +++ b/pdns/dnsdistdist/incfiles @@ -11,7 +11,9 @@ fi for a in $(find ${DIR}html -type f | grep -v \~ | sort) do c=$(echo $a | sed s:${DIR}html/:: | tr "/.-" "___") - echo "INCBIN(${c}, \"$a\");" + echo "static const unsigned char g${c}Data[] = {" + od -v -t x1 "$a" | sed 's/^[0-7]*//' | sed 's/\([0-9a-f][0-9a-f]\)/0x\1,/g' + echo "};" done echo "static const map s_urlmap={" @@ -19,6 +21,6 @@ for a in $(find ${DIR}html -type f | grep -v \~ | sort) do b=$(echo $a | sed s:${DIR}html/::g) c=$(echo $b | tr "/.-" "___") - echo "{\"$b\", string((const char*)g${c}Data, g${c}Size)}," + echo "{\"$b\", string((const char*)g${c}Data, sizeof(g${c}Data))}," done echo "};" diff --git a/pdns/recursordist/incfiles b/pdns/recursordist/incfiles index da127415f6..a65909a53e 100755 --- a/pdns/recursordist/incfiles +++ b/pdns/recursordist/incfiles @@ -11,14 +11,16 @@ fi for a in $(find ${DIR}html -type f | grep -v \~ | sort) do c=$(echo $a | sed s:${DIR}html/:: | tr "/.-" "___") - echo "INCBIN(${c}, \"$a\");" + echo "static const unsigned char g${c}Data[] = {" + od -v -t x1 "$a" | sed 's/^[0-7]*//' | sed 's/\([0-9a-f][0-9a-f]\)/0x\1,/g' + echo "};" done -echo "map g_urlmap={" +echo "static const map g_urlmap={" for a in $(find ${DIR}html -type f | grep -v \~ | sort) do b=$(echo $a | sed s:${DIR}html/::g) c=$(echo $b | tr "/.-" "___") - echo "{\"$b\", string((const char*)g${c}Data, g${c}Size)}," + echo "{\"$b\", string((const char*)g${c}Data, sizeof(g${c}Data))}," done echo "};" diff --git a/pdns/ws-recursor.cc b/pdns/ws-recursor.cc index 1c31c1f7fa..8eac8adab1 100644 --- a/pdns/ws-recursor.cc +++ b/pdns/ws-recursor.cc @@ -39,7 +39,6 @@ #include "webserver.hh" #include "ws-api.hh" #include "logger.hh" -#include "ext/incbin/incbin.h" #include "rec-lua-conf.hh" #include "rpzloader.hh" #include "uuid-utils.hh" @@ -500,8 +499,13 @@ static void serveStuff(HttpRequest* req, HttpResponse* resp) resp->headers["X-XSS-Protection"] = "1; mode=block"; // resp->headers["Content-Security-Policy"] = "default-src 'self'; style-src 'self' 'unsafe-inline'"; - resp->body = g_urlmap[req->url.path.c_str()+1]; - resp->status = 200; + if (g_urlmap.count(req->url.path.c_str()+1)) { + resp->body = g_urlmap.at(req->url.path.c_str()+1); + resp->status = 200; + } else { + resp->body = "Not Found"; + resp->status = 404; + } }