From: mmj Date: Sat, 3 Jul 2004 12:29:25 +0000 (+1000) Subject: 0.8.2 stuff X-Git-Tag: RELEASE_1_0_0~43 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e38a766a25c39331faee3abb73be7371be685a46;p=thirdparty%2Fmlmmj.git 0.8.2 stuff --- diff --git a/ChangeLog b/ChangeLog index f26b4f91..b27b3fcc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +0.8.2 + o Make sure we don't cut of the first char of an emailaddress + o Fix header value copying (thanks Anders Johansson) + o Don't segfault if there's no email address in the To: header o Clean up the subconf and unsubconf directories for stale requests as well 0.8.1.1 o Fix bug with prepstdreply not opening correct file. Thanks Christian Laursen diff --git a/README b/README index 9188cece..989bc5b5 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -README mlmmj-0.8.1 Jun 25th 2004 +README mlmmj-0.8.2 Jul 3rd 2004 This is an attempt at implementing a mailing list manager with the same functionality as the brilliant ezmlm, but with a decent license and mail server @@ -51,12 +51,10 @@ To use mlmmj, do the following: /var/spool/mlmmj/mlmmj-test/subscribers.d /var/spool/mlmmj/mlmmj-test/requeue - And creates files similar to the ones in the listtexts/ directory of the - source distribution in /var/spool/mlmmj/text/. - - NOTE: The mailinglist directory have to be owned by the user the mailserver - writes as. On some Postfix installations Postfix is run by the user postfix, - but still writes files as nobody:nogroup or nobody:nobody + NOTE: The mailinglist directory (/var/spool/mlmmj/mlmmj-test in our + example) have to be owned by the user the mailserver writes as. On some + Postfix installations Postfix is run by the user postfix, but still writes + files as nobody:nogroup or nobody:nobody 3) Make the changes to your mailserver aliases that came as output from mlmmj-make-ml.sh. Following the example above they will look like this: @@ -70,8 +68,11 @@ To use mlmmj, do the following: "0 */2 * * * /usr/bin/mlmmj-maintd -F -L /var/spool/mlmmj/mlmmj-test" - mlmmj-maintd will become the user owning the listdir, and log it's - last maintenance run to listdir/mlmmj-maintd.lastrun.log. + It should be started as root, as mlmmj-maintd will become the user owning + the listdir (/var/spool/mlmmj/mlmmj-test), and log it's last maintenance + run to listdir/mlmmj-maintd.lastrun.log. + + You need one entry for each list or a wrapper script added once in crontab. That's it! You might want to go through the next steps too. diff --git a/THANKS b/THANKS index 37bbbe33..ecbc215f 100644 --- a/THANKS +++ b/THANKS @@ -4,3 +4,4 @@ Thanks to · Hendrik 'henne' Vogelsang for mlmmj-make-ml.sh · Søren Boll Overgaard for testing and feedback · Christian Laursen for the FreeBSD port + · Anders Johansson for bugfixes and feedback diff --git a/src/find_email_adr.c b/src/find_email_adr.c index 1c089d24..2cfd8ddf 100644 --- a/src/find_email_adr.c +++ b/src/find_email_adr.c @@ -41,9 +41,9 @@ struct email_container *find_email_adr(const char *str, while(index_atsign) { c = index_atsign; retstruct->emailcount++; - while(*c != '<' && *c != ' ' && *c != ',' && *c != ';' - && *c != '(' && *c != '[' && *c >= 32 - && *c != '{' && c != tempstr) { + while(c >= tempstr && *c != '<' && *c != ' ' && *c != ',' + && *c != ';' && *c != '(' && *c != '[' && + *c >= 32 && *c != '{') { c--; } first_char = ++c; @@ -64,7 +64,7 @@ struct email_container *find_email_adr(const char *str, snprintf(retstruct->emaillist[retstruct->emailcount-1], len, "%s", first_char); #if 0 - printf("find_email_adr, [%s]\n", + log_error(LOG_ARGS, "find_email_adr POST, [%s]\n", retstruct->emaillist[retstruct->emailcount-1]); #endif *index_atsign = 'A'; /* Clear it so we don't find it again */ diff --git a/src/mlmmj-process.c b/src/mlmmj-process.c index 73c30901..fdaa286e 100644 --- a/src/mlmmj-process.c +++ b/src/mlmmj-process.c @@ -489,7 +489,10 @@ int main(int argc, char **argv) } } - recipdelim = strchr(toemails.emaillist[0], RECIPDELIM); + if(toemails.emaillist) + recipdelim = strchr(toemails.emaillist[0], RECIPDELIM); + else + recipdelim = NULL; if(recipdelim) { owner = concatstr(2, listdir, "control/owner");