From: mmj Date: Tue, 14 Sep 2004 09:22:41 +0000 (+1000) Subject: Sanity checks X-Git-Tag: RELEASE_1_1_0~58 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=83edefea72593fef337fefbcc1bcb1755bf52928;p=thirdparty%2Fmlmmj.git Sanity checks --- diff --git a/ChangeLog b/ChangeLog index 4cdaed58..c0037ad6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,4 @@ + o Add sanity checks to disallow denial mails going to the list o Implement -d option for mlmmj-maintd to be able to supply it with a directory containing several listdirs, where mlmmj-maintd then will run maintenance o Chown option and a fix for mlmmj-make-ml.sh. Thanks Ingo Lameter diff --git a/src/mlmmj-process.c b/src/mlmmj-process.c index 49258762..a91bebda 100644 --- a/src/mlmmj-process.c +++ b/src/mlmmj-process.c @@ -595,6 +595,15 @@ int main(int argc, char **argv) } if(addrtocc && !intocc) { + /* Don't send a mail about denial to the list, but silently + * discard and exit */ + if (strncasecmp(listaddress, fromemails.emaillist[0], + strlen(listaddress)) == 0) { + myfree(listaddr); + unlink(donemailname); + myfree(donemailname); + exit(EXIT_SUCCESS); + } listname = genlistname(listaddr); listfqdn = genlistfqdn(listaddr); maildata[0] = "*LSTADDR*"; @@ -625,6 +634,15 @@ int main(int argc, char **argv) subonlypost = statctrl(listdir, "subonlypost"); if(subonlypost) { + /* Don't send a mail about denial to the list, but silently + * discard and exit */ + if (strncasecmp(listaddress, fromemails.emaillist[0], + strlen(listaddress)) == 0) { + myfree(listaddr); + unlink(donemailname); + myfree(donemailname); + exit(EXIT_SUCCESS); + } if(is_subbed(listdir, fromemails.emaillist[0]) != 0) { listname = genlistname(listaddr); listfqdn = genlistfqdn(listaddr); @@ -661,6 +679,15 @@ int main(int argc, char **argv) access_rules = ctrlvalues(listdir, "access"); if (access_rules) { + /* Don't send a mail about denial to the list, but silently + * discard and exit */ + if (strncasecmp(listaddress, fromemails.emaillist[0], + strlen(listaddress)) == 0) { + myfree(listaddr); + unlink(donemailname); + myfree(donemailname); + exit(EXIT_SUCCESS); + } if (do_access(access_rules, &allheaders) == DENY) { listname = genlistname(listaddr); listfqdn = genlistfqdn(listaddr);