We no longer allow to use a fuzzing build for non-fuzzing work
so unconditionally including the socks fuzzing code doesn't add
any additional inconvenience.
/*********************************************************************
*
/*********************************************************************
*
+ * File : $Source: /cvsroot/ijbswa/current/fuzz.c,v $
*
* Purpose : Fuzz-related functions for Privoxy.
*
*
* Purpose : Fuzz-related functions for Privoxy.
*
static int fuzz_filter(struct client_state *csp, char *fuzz_input_file);
static int fuzz_gif(struct client_state *csp, char *fuzz_input_file);
static int fuzz_gzip(struct client_state *csp, char *fuzz_input_file);
static int fuzz_filter(struct client_state *csp, char *fuzz_input_file);
static int fuzz_gif(struct client_state *csp, char *fuzz_input_file);
static int fuzz_gzip(struct client_state *csp, char *fuzz_input_file);
static int fuzz_socks(struct client_state *csp, char *fuzz_input_file);
static int fuzz_socks(struct client_state *csp, char *fuzz_input_file);
static int fuzz_pcrs_substitute(struct client_state *csp, char *fuzz_input_file);
static int fuzz_server_header(struct client_state *csp, char *fuzz_input_file);
static int fuzz_pcrs_substitute(struct client_state *csp, char *fuzz_input_file);
static int fuzz_server_header(struct client_state *csp, char *fuzz_input_file);
{ "pcrs-substitute", "A pcrs-substitute to compile. Not a whole pcrs job! Example: Bla $1 bla \x43 $3 blah.", 1, fuzz_pcrs_substitute },
{ "server-header", "Server header to parse.", 1, fuzz_server_header },
{ "server-response", "Server response to parse.", 1, fuzz_server_response },
{ "pcrs-substitute", "A pcrs-substitute to compile. Not a whole pcrs job! Example: Bla $1 bla \x43 $3 blah.", 1, fuzz_pcrs_substitute },
{ "server-header", "Server header to parse.", 1, fuzz_server_header },
{ "server-response", "Server response to parse.", 1, fuzz_server_response },
{ "socks", "A socks server response. Only reads from stdin!", 1, fuzz_socks },
{ "socks", "A socks server response. Only reads from stdin!", 1, fuzz_socks },
};
/*********************************************************************
};
/*********************************************************************
/*********************************************************************
*
* Function : fuzz_socks
/*********************************************************************
*
* Function : fuzz_socks
{
return(JB_ERR_OK == socks_fuzz(csp));
}
{
return(JB_ERR_OK == socks_fuzz(csp));
}
/*********************************************************************
/*********************************************************************
-const char gateway_rcs[] = "$Id: gateway.c,v 1.102 2017/07/01 17:08:25 ler762 Exp $";
+const char gateway_rcs[] = "$Id: gateway.c,v 1.103 2017/07/01 18:34:07 ler762 Exp $";
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/gateway.c,v $
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/gateway.c,v $
/*********************************************************************
*
* Function : socks_fuzz
/*********************************************************************
*
* Function : socks_fuzz
c->dstip[2] = (unsigned char)((web_server_addr >> 8) & 0xff);
c->dstip[3] = (unsigned char)((web_server_addr ) & 0xff);
c->dstip[2] = (unsigned char)((web_server_addr >> 8) & 0xff);
c->dstip[3] = (unsigned char)((web_server_addr ) & 0xff);
sfd = 0;
#else
/* pass the request to the socks server */
sfd = 0;
#else
/* pass the request to the socks server */
return(JB_INVALID_SOCKET);
}
return(JB_INVALID_SOCKET);
}
sfd = 0;
if (!err && read_socket(sfd, sbuf, 2) != 2)
#else
sfd = 0;
if (!err && read_socket(sfd, sbuf, 2) != 2)
#else
cbuf[client_pos++] = (char)((target_port >> 8) & 0xff);
cbuf[client_pos++] = (char)((target_port ) & 0xff);
cbuf[client_pos++] = (char)((target_port >> 8) & 0xff);
cbuf[client_pos++] = (char)((target_port ) & 0xff);
if (write_socket(sfd, cbuf, client_pos))
{
errstr = "SOCKS5 negotiation write failed";
if (write_socket(sfd, cbuf, client_pos))
{
errstr = "SOCKS5 negotiation write failed";