55 } |
55 } |
56 |
56 |
57 int require_access(pblock *pb, Session *sn, Request *rq) { |
57 int require_access(pblock *pb, Session *sn, Request *rq) { |
58 char *mask_str = pblock_findval("mask", rq->vars); |
58 char *mask_str = pblock_findval("mask", rq->vars); |
59 if(!mask_str) { |
59 if(!mask_str) { |
60 // misconfig |
60 log_ereport(LOG_MISCONFIG, "require-access: missing mask parameter"); |
61 // TODO: log |
61 protocol_status(sn, rq, 500, NULL); |
62 return REQ_ABORTED; |
62 return REQ_ABORTED; |
63 } |
63 } |
64 |
64 |
65 uint32_t access_mask = 0; |
65 uint32_t access_mask = 0; |
66 size_t n = 0; |
66 size_t n = 0; |
78 |
78 |
79 char *aclname = pblock_findval("acl", pb); |
79 char *aclname = pblock_findval("acl", pb); |
80 if(aclname) { |
80 if(aclname) { |
81 ACLList *acl = acl_get(vs->acls, aclname); |
81 ACLList *acl = acl_get(vs->acls, aclname); |
82 if(!acl) { |
82 if(!acl) { |
83 // TODO: error |
83 log_ereport( |
84 fprintf(stderr, "acl %s not found\n", aclname); |
84 LOG_MISCONFIG, |
|
85 "append-acl: acl %s not found", aclname); |
|
86 protocol_status(sn, rq, 500, NULL); |
85 return REQ_ABORTED; |
87 return REQ_ABORTED; |
86 } |
88 } |
87 |
89 |
88 acllist_append(sn, rq, acl); |
90 acllist_append(sn, rq, acl); |
89 } |
91 } |