X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=jcc.c;h=0f2a4b75d2c59919f13563d4df59d0354fb40377;hp=7e6f93fa7bf2bd25ce853c0eb378d7d1c8861dba;hb=bfff1fa911c2739c1fc723beea7d29b50757b8e2;hpb=0495e2e0c029a829fa510b5dab638334b5ba3665 diff --git a/jcc.c b/jcc.c index 7e6f93fa..0f2a4b75 100644 --- a/jcc.c +++ b/jcc.c @@ -1,4 +1,4 @@ -const char jcc_rcs[] = "$Id: jcc.c,v 1.74 2002/03/06 00:49:31 jongfoster Exp $"; +const char jcc_rcs[] = "$Id: jcc.c,v 1.76 2002/03/06 22:54:35 jongfoster Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/jcc.c,v $ @@ -33,6 +33,12 @@ const char jcc_rcs[] = "$Id: jcc.c,v 1.74 2002/03/06 00:49:31 jongfoster Exp $"; * * Revisions : * $Log: jcc.c,v $ + * Revision 1.76 2002/03/06 22:54:35 jongfoster + * Automated function-comment nitpicking. + * + * Revision 1.75 2002/03/06 10:02:19 oes + * Fixed stupid bug when --user was not given + * * Revision 1.74 2002/03/06 00:49:31 jongfoster * Fixing warning on Windows * Making #ifdefs that refer to the same variable consistently @@ -585,7 +591,7 @@ static const char VANILLA_WAFER[] = * to be reopened by the main thread on HUP. * * Parameters : - * 1 : the_signal - the signal cause this function to call + * 1 : the_signal = the signal cause this function to call * * Returns : - * @@ -671,6 +677,7 @@ static void chat(struct client_state *csp) int byte_count = 0; const struct forward_spec * fwd; struct http_request *http; + size_t len; /* for buffer sizes */ #ifdef FEATURE_KILL_POPUPS int block_popups; /* bool, 1==will block popups */ int block_popups_now = 0; /* bool, 1==currently blocking popups */ @@ -694,11 +701,11 @@ static void chat(struct client_state *csp) while (FOREVER) { - n = read_socket(csp->cfd, buf, sizeof(buf)); + len = read_socket(csp->cfd, buf, sizeof(buf)); - if (n <= 0) break; /* error! */ + if (len <= 0) break; /* error! */ - add_to_iob(csp, buf, n); + add_to_iob(csp, buf, len); req = get_header(csp); @@ -911,13 +918,13 @@ static void chat(struct client_state *csp) { if ( ( p = get_header(csp) ) && ( *p == '\0' ) ) { - n = read_socket(csp->cfd, buf, sizeof(buf)); - if (n <= 0) + len = read_socket(csp->cfd, buf, sizeof(buf)); + if (len <= 0) { log_error(LOG_LEVEL_ERROR, "read from client failed: %E"); return; } - add_to_iob(csp, buf, n); + add_to_iob(csp, buf, len); continue; } @@ -1043,9 +1050,9 @@ static void chat(struct client_state *csp) * (along with anything else that may be in the buffer) */ - n = strlen(hdr); + len = strlen(hdr); - if ((write_socket(csp->sfd, hdr, n) != n) + if ((write_socket(csp->sfd, hdr, len) != len) || (flush_socket(csp->sfd, csp ) < 0)) { log_error(LOG_LEVEL_CONNECT, "write header to: %s failed: %E", @@ -1120,14 +1127,14 @@ static void chat(struct client_state *csp) if (FD_ISSET(csp->cfd, &rfds)) { - n = read_socket(csp->cfd, buf, sizeof(buf)); + len = read_socket(csp->cfd, buf, sizeof(buf)); - if (n <= 0) + if (len <= 0) { break; /* "game over, man" */ } - if (write_socket(csp->sfd, buf, n) != n) + if (write_socket(csp->sfd, buf, len) != len) { log_error(LOG_LEVEL_ERROR, "write to: %s failed: %E", http->host); return; @@ -1145,9 +1152,9 @@ static void chat(struct client_state *csp) if (FD_ISSET(csp->sfd, &rfds)) { fflush( 0 ); - n = read_socket(csp->sfd, buf, sizeof(buf) - 1); + len = read_socket(csp->sfd, buf, sizeof(buf) - 1); - if (n < 0) + if (len < 0) { log_error(LOG_LEVEL_ERROR, "read from: %s failed: %E", http->host); @@ -1172,7 +1179,7 @@ static void chat(struct client_state *csp) /* Add a trailing zero. This lets filter_popups * use string operations. */ - buf[n] = '\0'; + buf[len] = '\0'; #ifdef FEATURE_KILL_POPUPS /* Filter the popups on this read. */ @@ -1200,7 +1207,7 @@ static void chat(struct client_state *csp) * doesn't generate a valid header, then we won't * transmit anything to the client. */ - if (n == 0) + if (len == 0) { if (server_body || http->ssl) @@ -1229,9 +1236,9 @@ static void chat(struct client_state *csp) log_error(LOG_LEVEL_FATAL, "Out of memory parsing server header"); } - n = strlen(hdr); + len = strlen(hdr); - if ((write_socket(csp->cfd, hdr, n) != n) + if ((write_socket(csp->cfd, hdr, len) != len) || (write_socket(csp->cfd, p != NULL ? p : csp->iob->cur, csp->content_length) != (int)csp->content_length)) { log_error(LOG_LEVEL_ERROR, "write modified content to client failed: %E"); @@ -1251,7 +1258,7 @@ static void chat(struct client_state *csp) * This is NOT the body, so * Let's pretend the server just sent us a blank line. */ - n = sprintf(buf, "\r\n"); + len = sprintf(buf, "\r\n"); /* * Now, let the normal header parsing algorithm below do its @@ -1271,7 +1278,7 @@ static void chat(struct client_state *csp) { if (content_filter) { - add_to_iob(csp, buf, n); + add_to_iob(csp, buf, len); /* * If the buffer limit will be reached on the next read, @@ -1289,11 +1296,11 @@ static void chat(struct client_state *csp) log_error(LOG_LEVEL_FATAL, "Out of memory parsing server header"); } - n = strlen(hdr); - byte_count += n; + len = strlen(hdr); + byte_count += len; - if (((write_socket(csp->cfd, hdr, n) != n) - || (n = flush_socket(csp->cfd, csp) < 0))) + if (((write_socket(csp->cfd, hdr, len) != len) + || (len = flush_socket(csp->cfd, csp) < 0))) { log_error(LOG_LEVEL_CONNECT, "write header to client failed: %E"); @@ -1302,7 +1309,7 @@ static void chat(struct client_state *csp) } freez(hdr); - byte_count += n; + byte_count += len; content_filter = NULL; server_body = 1; @@ -1311,13 +1318,13 @@ static void chat(struct client_state *csp) } else { - if (write_socket(csp->cfd, buf, n) != n) + if (write_socket(csp->cfd, buf, len) != len) { log_error(LOG_LEVEL_ERROR, "write to client failed: %E"); return; } } - byte_count += n; + byte_count += len; continue; } else @@ -1328,7 +1335,7 @@ static void chat(struct client_state *csp) */ /* buffer up the data we just read */ - add_to_iob(csp, buf, n); + add_to_iob(csp, buf, len); /* get header lines from the iob */ @@ -1383,7 +1390,7 @@ static void chat(struct client_state *csp) log_error(LOG_LEVEL_FATAL, "Out of memory parsing server header"); } - n = strlen(hdr); + len = strlen(hdr); /* write the server's (modified) header to * the client (along with anything else that @@ -1429,8 +1436,8 @@ static void chat(struct client_state *csp) /* * Only write if we're not buffering for content modification */ - if (!content_filter && ((write_socket(csp->cfd, hdr, n) != n) - || (n = flush_socket(csp->cfd, csp) < 0))) + if (!content_filter && ((write_socket(csp->cfd, hdr, len) != len) + || (len = flush_socket(csp->cfd, csp) < 0))) { log_error(LOG_LEVEL_CONNECT, "write header to client failed: %E"); @@ -1442,7 +1449,7 @@ static void chat(struct client_state *csp) return; } - if(!content_filter) byte_count += n; + if(!content_filter) byte_count += len; /* we're finished with the server's header */ @@ -1848,12 +1855,25 @@ static int bind_port_helper(struct configuration_spec * config) if (bfd < 0) { - log_error(LOG_LEVEL_FATAL, "can't bind %s:%d: %E " - "- There may be another junkbuster or some other " - "proxy running on port %d", - (NULL != config->haddr) ? config->haddr : "INADDR_ANY", - config->hport, config->hport - ); + switch(bfd) + { + case -3 : + log_error(LOG_LEVEL_FATAL, "can't bind to %s:%d: " + "There may be another junkbuster or some other " + "proxy running on port %d", + (NULL != config->haddr) ? config->haddr : "INADDR_ANY", + config->hport, config->hport); + + case -2 : + log_error(LOG_LEVEL_FATAL, "can't bind to %s:%d: " + "The hostname is not resolvable", + (NULL != config->haddr) ? config->haddr : "INADDR_ANY", config->hport); + + default : + log_error(LOG_LEVEL_FATAL, "can't bind to %s:%d: because %E", + (NULL != config->haddr) ? config->haddr : "INADDR_ANY", config->hport); + } + /* shouldn't get here */ return -1; }