# HG changeset patch # User mmj # Date 1111054877 -39600 # Node ID cbf2fb510dbee12f5525f95b17133c592a25c93d # Parent cdcf8c322176dc3736fdadb830cb1690592905ba Only send to valid addresses diff -r cdcf8c322176 -r cbf2fb510dbe ChangeLog --- a/ChangeLog Mon Mar 14 23:44:56 2005 +1100 +++ b/ChangeLog Thu Mar 17 21:21:17 2005 +1100 @@ -1,3 +1,4 @@ + o Skip addresses without a @ when sending o Set SO_KEEPALIVE for our connection socket 1.2.4 o Spend some time making valgrind completely happy diff -r cdcf8c322176 -r cbf2fb510dbe src/mlmmj-send.c --- a/src/mlmmj-send.c Mon Mar 14 23:44:56 2005 +1100 +++ b/src/mlmmj-send.c Thu Mar 17 21:21:17 2005 +1100 @@ -179,6 +179,13 @@ int retval = 0; char *reply, *tohdr; + if(strchr(to, '@') == NULL) { + errno = 0; + log_error(LOG_ARGS, "No @ in address, ignoring %s", + to); + return 0; + } + retval = write_mail_from(sockfd, from, ""); if(retval) { log_error(LOG_ARGS, "Could not write MAIL FROM\n"); @@ -367,6 +374,12 @@ return MLMMJ_FROM; } for(i = 0; i < addrs->count; i++) { + if(strchr(addrs->strs[i], '@') == NULL) { + errno = 0; + log_error(LOG_ARGS, "No @ in address, ignoring %s", + addrs->strs[i]); + continue; + } retval = write_rcpt_to(sockfd, addrs->strs[i]); if(retval) { log_error(LOG_ARGS, "Could not write RCPT TO:\n"); @@ -542,6 +555,12 @@ for(i = 0; i < addrs->count; i++) { addr = addrs->strs[i]; + if(strchr(addr, '@') == NULL) { + errno = 0; + log_error(LOG_ARGS, "No @ in address, ignoring %s", + addr); + continue; + } if(from) { res = send_mail(sockfd, from, addr, replyto, mailmap, mailsize, listdir, NULL,