--- hermes.c 2001/02/17 21:37:05 1.20
+++ hermes.c 2004/02/02 19:50:25 1.21
@@ -1,6 +1,6 @@
/*
$Source: /v/ossp/cvs/ossp-pkg/petidomo/hermes.c,v $
- $Revision: 1.20 $
+ $Revision: 1.21 $
Copyright (C) 2000 by CyberSolutions GmbH, Germany.
@@ -101,7 +101,7 @@
processing is over. That's why we check the posting
password again below. */
- if (checkACL(MailStruct, listname, &operation, ¶meter) != 0)
+ if (checkACL(MailStruct, listname, &operation, ¶meter, ACL_PRE) != 0)
{
syslog(LOG_ERR, "checkACL() failed with an error.");
exit(1);
@@ -286,6 +286,27 @@
}
}
+ /* additional ACL check */
+ if (isValidPostingPassword(MailStruct->Approve, listname) == FALSE)
+ {
+ if (checkACL(MailStruct, listname, &operation, ¶meter, ACL_POST) != 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;
+ }
+ }
+
/* Copy the desired headers from the original mail to our own
buffer. */
|