X-Git-Url: http://www.privoxy.org/gitweb/?a=blobdiff_plain;f=jcc.c;h=552f1220b03d59bbe08c24d0c96ff04fdf678a5c;hb=f2ef8baab1a90da1308b5e0c975a6b8a86fc6b3e;hp=aa6de6b6b55419319694209c0f270ca5272f92d4;hpb=d8982e3498262713258ac2208c71a03af8de2061;p=privoxy.git diff --git a/jcc.c b/jcc.c index aa6de6b6..552f1220 100644 --- a/jcc.c +++ b/jcc.c @@ -1,4 +1,4 @@ -const char jcc_rcs[] = "$Id: jcc.c,v 1.100 2006/09/03 19:42:59 fabiankeil Exp $"; +const char jcc_rcs[] = "$Id: jcc.c,v 1.103 2006/09/21 12:54:43 fabiankeil Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/jcc.c,v $ @@ -33,6 +33,18 @@ const char jcc_rcs[] = "$Id: jcc.c,v 1.100 2006/09/03 19:42:59 fabiankeil Exp $" * * Revisions : * $Log: jcc.c,v $ + * Revision 1.103 2006/09/21 12:54:43 fabiankeil + * Fix +redirect{}. Didn't work with -fast-redirects. + * + * Revision 1.102 2006/09/06 13:03:04 fabiankeil + * Respond with 400 and a short text message + * if the client tries to use Privoxy as FTP proxy. + * + * Revision 1.101 2006/09/06 09:23:37 fabiankeil + * Make number of retries in case of forwarded-connect problems + * a config file option (forwarded-connect-retries) and use 0 as + * default. + * * Revision 1.100 2006/09/03 19:42:59 fabiankeil * Set random(3) seed. * @@ -992,6 +1004,18 @@ static void chat(struct client_state *csp) return; } + if (!strncmpic(http->cmd, "GET ftp://", 10)) + { + strcpy(buf, FTP_RESPONSE); + write_socket(csp->cfd, buf, strlen(buf)); + + log_error(LOG_LEVEL_ERROR, "%s tried to use Privoxy as FTP proxy: %s", + csp->ip_addr_str, http->cmd); + + free_http_request(http); + return; + } + /* decide how to route the HTTP request */ if ((fwd = forward_url(http, csp)) == NULL) @@ -1218,8 +1242,7 @@ static void chat(struct client_state *csp) /* ..or a fast redirect kicked in */ #ifdef FEATURE_FAST_REDIRECTS - || (((csp->action->flags & ACTION_FAST_REDIRECTS) != 0) && - (NULL != (rsp = redirect_url(csp)))) + || ( NULL != (rsp = redirect_url(csp))) #endif /* def FEATURE_FAST_REDIRECTS */ )) ) @@ -1271,7 +1294,7 @@ static void chat(struct client_state *csp) while ( (csp->sfd = forwarded_connect(fwd, http, csp)) && (errno == EINVAL) && (forwarded_connect_retries++ < max_forwarded_connect_retries)) { - log_error(LOG_LEVEL_ERROR, "failed request #%u to connect to %s. Trying again.", + log_error(LOG_LEVEL_ERROR, "failed request #%u to connect to %s. Trying again.", forwarded_connect_retries, http->hostport); }