X-Git-Url: http://git.meshlink.io/?p=meshlink;a=blobdiff_plain;f=src%2Fprotocol.c;h=1c5b6cfd9c1d43dba0c6a2e21defabdb4c431209;hp=1e63f2ea2e2ee1e28a4f81673f6fc8d15222aa14;hb=19be9cf7150858311f7898fa3fb525d692d02f64;hpb=62b61a1b7c2382b1bade142b3a41a9b27c1fd40d diff --git a/src/protocol.c b/src/protocol.c index 1e63f2ea..1c5b6cfd 100644 --- a/src/protocol.c +++ b/src/protocol.c @@ -108,6 +108,20 @@ void forward_request(connection_t *from, const char *request) { } bool receive_request(connection_t *c, const char *request) { + if(proxytype == PROXY_HTTP && c->allow_request == ID) { + if(!request[0] || request[0] == '\r') + return true; + if(!strncasecmp(request, "HTTP/1.1 ", 9)) { + if(!strncmp(request + 9, "200", 3)) { + logger(DEBUG_CONNECTIONS, LOG_DEBUG, "Proxy request granted"); + return true; + } else { + logger(DEBUG_ALWAYS, LOG_DEBUG, "Proxy request rejected: %s", request + 9); + return false; + } + } + } + int reqno = atoi(request); if(reqno || *request == '0') {