if (sockshere == 0) {
if (socks->replylen) {
connection_write_to_buf(socks->reply, socks->replylen, conn);
+ socks->replylen = 0; /* zero it out so we can do another round of negotiation */
} else {
log_fn(LOG_DEBUG,"socks handshake not all here yet.");
}
buf[1] = (status==SOCKS5_SUCCEEDED ? SOCKS4_GRANTED : SOCKS4_REJECT);
/* leave version, destport, destip zero */
connection_write_to_buf(buf, SOCKS4_NETWORK_LEN, conn);
- }
- if (conn->socks_request->socks_version == 5) {
+ } else if (conn->socks_request->socks_version == 5) {
buf[0] = 5; /* version 5 */
buf[1] = (char)status;
buf[2] = 0;