Added new action keyword to the Access Control Language: approve. This
keyword will -- unlike to "pass" -- not only pass the mail, but will also make sure that the mail passes all other authorization controls. This means, the mail will be treated as if the Petidomo master password had been given in the header.
This commit is contained in:
parent
cf31a9325c
commit
e4beacc940
3
acl.y
3
acl.y
@ -45,7 +45,7 @@ struct Mail * g_MailStruct;
|
||||
%}
|
||||
%token TOK_IF TOK_EQUAL TOK_EQUAL TOK_FROM TOK_SUBJECT
|
||||
%token TOK_ENVELOPE TOK_HEADER TOK_BODY TOK_AND TOK_OR TOK_NOT
|
||||
%token TOK_THEN TOK_MATCH TOK_STRING TOK_DROP TOK_PASS
|
||||
%token TOK_THEN TOK_MATCH TOK_STRING TOK_DROP TOK_PASS TOK_APPROVE
|
||||
%token TOK_REDIRECT TOK_FORWARD TOK_REJECT TOK_REJECTWITH
|
||||
%token TOK_FILTER
|
||||
%left TOK_AND
|
||||
@ -97,6 +97,7 @@ qualifier: TOK_FROM { $$ = TOK_FROM; }
|
||||
;
|
||||
|
||||
action: TOK_PASS { $$ = ACL_PASS; }
|
||||
| TOK_APPROVE { $$ = ACL_APPROVE; }
|
||||
| TOK_DROP { $$ = ACL_DROP; }
|
||||
| TOK_REJECT { $$ = ACL_REJECT; }
|
||||
| TOK_REJECTWITH TOK_STRING {
|
||||
|
||||
@ -47,6 +47,7 @@ match(es)? return TOK_MATCH;
|
||||
}
|
||||
drop return TOK_DROP;
|
||||
pass return TOK_PASS;
|
||||
approve return TOK_APPROVE;
|
||||
redirect return TOK_REDIRECT;
|
||||
forward return TOK_FORWARD;
|
||||
reject return TOK_REJECT;
|
||||
|
||||
@ -54,6 +54,9 @@ handleACL(struct Mail * MailStruct, const char * listname, int operation, char *
|
||||
break;
|
||||
case ACL_PASS:
|
||||
break;
|
||||
case ACL_APPROVE:
|
||||
MailStruct->Approve = MasterConfig->master_password;
|
||||
break;
|
||||
case ACL_DROP:
|
||||
return 1;
|
||||
case ACL_REJECTWITH:
|
||||
|
||||
@ -160,6 +160,7 @@ enum
|
||||
{
|
||||
ACL_DROP,
|
||||
ACL_PASS,
|
||||
ACL_APPROVE,
|
||||
ACL_REDIRECT,
|
||||
ACL_FORWARD,
|
||||
ACL_REJECT,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user