X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=loaders.c;h=1bc068720b3aae59a7283f5599e7ce9db06ccb9f;hp=ee767186f276b8d1180eaef305680db3542b3cb6;hb=ed5b8d7f74bc21dc4c88c35b58e9657f0a611af2;hpb=e72b401da5537a14b29e945944926373cb251825 diff --git a/loaders.c b/loaders.c index ee767186..1bc06872 100644 --- a/loaders.c +++ b/loaders.c @@ -1,4 +1,4 @@ -const char loaders_rcs[] = "$Id: loaders.c,v 1.72 2009/04/24 15:29:43 fabiankeil Exp $"; +const char loaders_rcs[] = "$Id: loaders.c,v 1.75 2010/05/26 23:01:47 ler762 Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/loaders.c,v $ @@ -114,7 +114,8 @@ static struct file_list *current_re_filterfile[MAX_AF_FILES] = { unsigned int sweep(void) { struct file_list *fl, *nfl; - struct client_state *csp, *last_active; + struct client_state *csp; + struct client_states *last_active, *client_list; int i; unsigned int active_threads = 0; @@ -125,10 +126,11 @@ unsigned int sweep(void) } last_active = clients; - csp = clients->next; + client_list = clients->next; - while (NULL != csp) + while (NULL != client_list) { + csp = &client_list->csp; if (csp->flags & CSP_FLAG_ACTIVE) { /* Mark this client's files as active */ @@ -174,15 +176,15 @@ unsigned int sweep(void) active_threads++; - last_active = csp; - csp = csp->next; + last_active = client_list; + client_list = client_list->next; } else /* * This client is not active. Free its resources. */ { - last_active->next = csp->next; + last_active->next = client_list->next; freez(csp->ip_addr_str); freez(csp->iob->buf); @@ -208,9 +210,9 @@ unsigned int sweep(void) } #endif /* def FEATURE_STATISTICS */ - freez(csp); + freez(client_list); - csp = last_active->next; + client_list = last_active->next; } } @@ -760,10 +762,14 @@ char *read_config_line(char *buf, size_t buflen, FILE *fp, unsigned long *linenu else { assert(buf2); - assert(strlen(buf2) + 1U < buflen); - strncpy(buf, buf2, buflen - 1); + if (strlen(buf2) + 1U > buflen) + { + log_error(LOG_LEVEL_FATAL, + "Max line limit reached. Linenumber: %u. Lenght: %u. Max lenght: %u.", + *linenum, strlen(buf2), buflen-1); + } + strlcpy(buf, buf2, buflen); free(buf2); - buf[buflen - 1] = '\0'; return buf; } } @@ -873,6 +879,7 @@ int load_trustfile(struct client_state *csp) { goto load_trustfile_error; } + log_error(LOG_LEVEL_INFO, "Loading trust file: %s", csp->config->trustfile); tl = csp->config->trust_list; @@ -1156,6 +1163,8 @@ int load_one_re_filterfile(struct client_state *csp, int fileid) goto load_re_filterfile_error; } + log_error(LOG_LEVEL_INFO, "Loading filter file: %s", csp->config->re_filterfile[fileid]); + /* * Read line by line */