changeset 305:743c858b21c3

See ChangeLog
author mmj
date Wed, 25 Aug 2004 19:52:21 +1000
parents 2825f29bb451
children 82607f6d4025
files ChangeLog src/mlmmj-process.c src/mlmmj-send.c
diffstat 3 files changed, 25 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Mon Aug 23 23:20:44 2004 +1000
+++ b/ChangeLog	Wed Aug 25 19:52:21 2004 +1000
@@ -1,3 +1,8 @@
+1.0.0-RC2
+ o Do not allow mails from <> going to the list
+ o Fix mailing to +owner again by adding missing 'break;' to switch in
+   mlmmj-send
+ o perl-admin updates from Christian Laursen
  o php-user updates from Christoph Thiel
  o Use Delivered-To: instead of To: when available
 1.0.0-RC1
--- a/src/mlmmj-process.c	Mon Aug 23 23:20:44 2004 +1000
+++ b/src/mlmmj-process.c	Wed Aug 25 19:52:21 2004 +1000
@@ -518,6 +518,11 @@
 		for(i = 0; i < readhdrs[3].valuecount; i++) {
 			find_email_adr(readhdrs[3].values[i], &efromemails);
 		}
+		if(efromemails.emailcount == 0) {
+			efromemails.emaillist =
+				(char **)mymalloc(sizeof(char *));
+			efromemails.emaillist[0] = mystrdup("<>");
+		}
 	}
 
 	if(readhdrs[4].token) { /* Delivered-To: (envelope to) */
@@ -526,10 +531,8 @@
 		}
 	}
 
-	if(dtoemails.emaillist) {
+	if(dtoemails.emaillist)
 		recipdelim = strchr(dtoemails.emaillist[0], RECIPDELIM);
-		log_error(LOG_ARGS, "recipdelim = [%s]", recipdelim);
-	}
 	else if(toemails.emaillist)
 		recipdelim = strchr(toemails.emaillist[0], RECIPDELIM);
 	else
@@ -561,6 +564,19 @@
 
 	unlink(mailfile);
 
+	if(efromemails.emailcount != 1) { /* don't send mails with <> in From
+					     to the list */
+		discardname = concatstr(3, listdir,
+				"/queue/discarded/",
+				randomstr);
+		rename(donemailname, discardname);
+		myfree(donemailname);
+		myfree(discardname);
+		myfree(randomstr);
+		/* TODO: free emailstructs */
+		exit(EXIT_SUCCESS);
+	}
+
 	listaddr = getlistaddr(listdir);
 
 	addrtocc = !(statctrl(listdir, "tocc"));
--- a/src/mlmmj-send.c	Mon Aug 23 23:20:44 2004 +1000
+++ b/src/mlmmj-send.c	Wed Aug 25 19:52:21 2004 +1000
@@ -656,6 +656,7 @@
 			myfree(body);
 			exit(EXIT_FAILURE);
 		}
+		break;
 	case '6':
 		archive = 0;
 		deletewhensent = 0;