X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fsrc%2Fspam.c;h=e49bc56bcaebcb16b8217e098a252ea9d24e490b;hb=cf39cf5741111de26125a55c311223b5b6b6a36b;hp=564145931450229fa517fcc45e36159d8690b97b;hpb=8d7d227dbc331d56589022692d3eee214f7ab732;p=exim.git diff --git a/src/src/spam.c b/src/src/spam.c index 564145931..e49bc56bc 100644 --- a/src/src/spam.c +++ b/src/src/spam.c @@ -1,4 +1,4 @@ -/* $Cambridge: exim/src/src/spam.c,v 1.7 2005/06/10 13:29:36 tom Exp $ */ +/* $Cambridge: exim/src/src/spam.c,v 1.11 2005/08/01 14:41:25 ph10 Exp $ */ /************************************************* * Exim - an Internet mail transport agent * @@ -44,6 +44,9 @@ int spam(uschar **listptr) { struct pollfd pollfd; #endif + /* stop compiler warning */ + result = result; + /* find the username from the option list */ if ((user_name = string_nextinlist(&list, &sep, user_name_buffer, @@ -120,7 +123,7 @@ int spam(uschar **listptr) { if (!num_servers) { log_write(0, LOG_MAIN|LOG_PANIC, "spam acl condition: no useable spamd server addresses in spamd_address configuration option."); - fclose(mbox_file); + (void)fclose(mbox_file); return DEFER; }; @@ -136,7 +139,7 @@ int spam(uschar **listptr) { if ( (spamd_sock = ip_socket(SOCK_STREAM, AF_INET)) < 0) { log_write(0, LOG_MAIN|LOG_PANIC, "spam acl condition: error creating IP socket for spamd"); - fclose(mbox_file); + (void)fclose(mbox_file); return DEFER; }; @@ -159,8 +162,8 @@ int spam(uschar **listptr) { current_server = 0; if (current_server == start_server) { log_write(0, LOG_MAIN|LOG_PANIC, "spam acl condition: all spamd servers failed"); - fclose(mbox_file); - close(spamd_sock); + (void)fclose(mbox_file); + (void)close(spamd_sock); return DEFER; }; }; @@ -173,7 +176,7 @@ int spam(uschar **listptr) { log_write(0, LOG_MAIN|LOG_PANIC, "malware acl condition: spamd: unable to acquire socket (%s)", strerror(errno)); - fclose(mbox_file); + (void)fclose(mbox_file); return DEFER; } @@ -184,15 +187,15 @@ int spam(uschar **listptr) { log_write(0, LOG_MAIN|LOG_PANIC, "malware acl condition: spamd: unable to connect to UNIX socket %s (%s)", spamd_address, strerror(errno) ); - fclose(mbox_file); - close(spamd_sock); + (void)fclose(mbox_file); + (void)close(spamd_sock); return DEFER; } } /* now we are connected to spamd on spamd_sock */ - snprintf(CS spamd_buffer, + (void)string_format(spamd_buffer, sizeof(spamd_buffer), "REPORT SPAMC/1.2\r\nUser: %s\r\nContent-length: %ld\r\n\r\n", user_name, @@ -200,11 +203,11 @@ int spam(uschar **listptr) { /* send our request */ if (send(spamd_sock, spamd_buffer, Ustrlen(spamd_buffer), 0) < 0) { - close(spamd_sock); + (void)close(spamd_sock); log_write(0, LOG_MAIN|LOG_PANIC, "spam acl condition: spamd send failed: %s", strerror(errno)); - fclose(mbox_file); - close(spamd_sock); + (void)fclose(mbox_file); + (void)close(spamd_sock); return DEFER; }; @@ -221,7 +224,7 @@ int spam(uschar **listptr) { pollfd.fd = spamd_sock; pollfd.events = POLLOUT; #endif - fcntl(spamd_sock, F_SETFL, O_NONBLOCK); + (void)fcntl(spamd_sock, F_SETFL, O_NONBLOCK); do { read = fread(spamd_buffer,1,sizeof(spamd_buffer),mbox_file); if (read > 0) { @@ -241,8 +244,8 @@ again: log_write(0, LOG_MAIN|LOG_PANIC, "spam acl condition: timed out writing spamd socket"); } - close(spamd_sock); - fclose(mbox_file); + (void)close(spamd_sock); + (void)fclose(mbox_file); return DEFER; } #endif @@ -251,8 +254,8 @@ again: { log_write(0, LOG_MAIN|LOG_PANIC, "spam acl condition: %s on spamd socket", strerror(errno)); - close(spamd_sock); - fclose(mbox_file); + (void)close(spamd_sock); + (void)fclose(mbox_file); return DEFER; } if (offset + wrote != read) { @@ -265,12 +268,12 @@ again: if (ferror(mbox_file)) { log_write(0, LOG_MAIN|LOG_PANIC, "spam acl condition: error reading spool file: %s", strerror(errno)); - close(spamd_sock); - fclose(mbox_file); + (void)close(spamd_sock); + (void)fclose(mbox_file); return DEFER; } - fclose(mbox_file); + (void)fclose(mbox_file); /* we're done sending, close socket for writing */ shutdown(spamd_sock,SHUT_WR); @@ -290,12 +293,12 @@ again: if((i <= 0) && (errno != 0)) { log_write(0, LOG_MAIN|LOG_PANIC, "spam acl condition: error reading from spamd socket: %s", strerror(errno)); - close(spamd_sock); + (void)close(spamd_sock); return DEFER; } /* reading done */ - close(spamd_sock); + (void)close(spamd_sock); /* dig in the spamd output and put the report in a multiline header, if requested */ if( sscanf(CS spamd_buffer,"SPAMD/%s 0 EX_OK\r\nContent-length: %*u\r\n\r\n%lf/%lf\r\n%n", @@ -359,12 +362,12 @@ again: spam_bar = spam_bar_buffer; /* create "float" spam score */ - snprintf(CS spam_score_buffer, sizeof(spam_score_buffer),"%.1f", spamd_score); + (void)string_format(spam_score_buffer, sizeof(spam_score_buffer),"%.1f", spamd_score); spam_score = spam_score_buffer; /* create "int" spam score */ j = (int)((spamd_score + 0.001)*10); - snprintf(CS spam_score_int_buffer, sizeof(spam_score_int_buffer), "%d", j); + (void)string_format(spam_score_int_buffer, sizeof(spam_score_int_buffer), "%d", j); spam_score_int = spam_score_int_buffer; /* compare threshold against score */