Index: ossp-pkg/petidomo/hermes.c RCS File: /v/ossp/cvs/ossp-pkg/petidomo/hermes.c,v rcsdiff -q -kk '-r1.9' '-r1.10' -u '/v/ossp/cvs/ossp-pkg/petidomo/hermes.c,v' 2>/dev/null --- hermes.c 2001/01/15 19:18:49 1.9 +++ hermes.c 2001/01/16 10:45:21 1.10 @@ -46,6 +46,7 @@ /* Initialize internals. */ + MasterConfig = getMasterConfig(); ListConfig = getListConfig(listname); /* Parse the incoming mail. */ @@ -83,7 +84,6 @@ exit(1); } PostingHeaders = xmalloc(strlen(MailStruct->Header)+1024); - MasterConfig = getMasterConfig(); sprintf(envelope, "%s-owner@%s", listname, ListConfig->fqdn); sprintf(owner, "%s-owner@%s", listname, ListConfig->fqdn); @@ -92,6 +92,23 @@ if (FindBodyPassword(MailStruct) != 0) exit(1); + if (checkACL(MailStruct, listname, &operation, ¶meter) != 0) + { + syslog(LOG_ERR, "checkACL() failed with an error."); + exit(1); + } + rc = handleACL(MailStruct, listname, operation, parameter); + switch(rc) + { + case -1: + syslog(LOG_ERR, "handleACL() failed with an error."); + exit(1); + case 0: + break; + case 1: + return 0; + } + if (isValidPostingPassword(MailStruct->Approve, listname) == FALSE) { /* No valid password found. Reject the article, if the list is @@ -182,23 +199,6 @@ } return 0; } - - if (checkACL(MailStruct, listname, &operation, ¶meter) != 0) - { - syslog(LOG_ERR, "checkACL() failed with an error."); - exit(1); - } - rc = handleACL(MailStruct, listname, operation, parameter); - switch(rc) - { - case -1: - syslog(LOG_ERR, "handleACL() failed with an error."); - exit(1); - case 0: - break; - case 1: - return 0; - } } /* Copy the desired headers from the original mail to our own