X-Git-Url: http://git.meshlink.io/?p=meshlink;a=blobdiff_plain;f=src%2Fmeta.c;h=a272baf57e10da72687fed8c7aa91223e626bccc;hp=13c8495a6e3fbd5c5a9e02cd13a1f3e6074e0cbd;hb=19be9cf7150858311f7898fa3fb525d692d02f64;hpb=62b61a1b7c2382b1bade142b3a41a9b27c1fd40d diff --git a/src/meta.c b/src/meta.c index 13c8495a..a272baf5 100644 --- a/src/meta.c +++ b/src/meta.c @@ -196,7 +196,15 @@ bool receive_meta(connection_t *c) { if(c->tcplen) { char *tcpbuffer = buffer_read(&c->inbuf, c->tcplen); if(tcpbuffer) { - receive_tcppacket(c, tcpbuffer, c->tcplen); + if(proxytype == PROXY_SOCKS4 && c->allow_request == ID) { + if(tcpbuffer[0] == 0 && tcpbuffer[1] == 0x5a) { + logger(DEBUG_CONNECTIONS, LOG_DEBUG, "Proxy request granted"); + } else { + logger(DEBUG_CONNECTIONS, LOG_ERR, "Proxy request rejected"); + return false; + } + } else + receive_tcppacket(c, tcpbuffer, c->tcplen); c->tcplen = 0; continue; } else {