return 1;
}
-#define SOCKS_COMMAND_CONNECT 0x01
-#define SOCKS_COMMAND_RESOLVE 0xF0
-
/** There is a (possibly incomplete) socks handshake on <b>buf</b>, of one
* of the forms
* - socks4: "socksheader username\\0"
} /* else socks handshake is done, continue processing */
if (socks->command == SOCKS_COMMAND_RESOLVE) {
+ uint32_t answer;
/* Reply to resolves immediately if we can. */
if (strlen(socks->address) > RELAY_PAYLOAD_SIZE) {
connection_ap_handshake_socks_resolved(conn,RESOLVED_TYPE_ERROR,0,NULL);
conn->socks_request->has_finished = 1;
connection_mark_for_close(conn);
+ return 0;
}
- uint32_t answer = htonl(client_dns_lookup_entry(socks->address));
+ answer = htonl(client_dns_lookup_entry(socks->address));
if (answer) {
connection_ap_handshake_socks_resolved(conn,RESOLVED_TYPE_IPV4,4,
(char*)&answer);