| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| #include "ne_acl3744.h" |
| |
| #include "tests.h" |
| #include "child.h" |
| #include "utils.h" |
| |
| |
| |
| static int test_acl(const char *uri, ne_acl_entry *es, int nume) |
| { |
| ne_session *sess; |
| |
| CALL(make_session(&sess, single_serve_string, |
| "HTTP/1.1 200 OK\r\n" |
| "Connection: close\r\n\r\n")); |
| |
| ON(ne_acl3744_set(sess, uri, es, nume)); |
| |
| CALL(await_server()); |
| ne_session_destroy(sess); |
| |
| return OK; |
| } |
| |
| static int grant_all(void) |
| { |
| ne_acl_entry e = {0}; |
| |
| e.target = ne_acl_all; |
| e.type = ne_acl_grant; |
| e.privileges = NE_ACL_ALL; |
| |
| CALL(test_acl("/foo", &e, 1)); |
| |
| return OK; |
| } |
| |
| static int deny_all(void) |
| { |
| ne_acl_entry e = {0}; |
| |
| e.target = ne_acl_all; |
| e.type = ne_acl_deny; |
| e.privileges = NE_ACL_ALL; |
| |
| CALL(test_acl("/foo", &e, 1)); |
| |
| return OK; |
| } |
| |
| static int deny_one(void) |
| { |
| ne_acl_entry e = {0}; |
| |
| e.target = ne_acl_href; |
| e.tname = "http://webdav.org/users/joe"; |
| e.type = ne_acl_deny; |
| e.privileges = NE_ACL_ALL; |
| |
| CALL(test_acl("/foo", &e, 1)); |
| |
| return OK; |
| } |
| |
| static int deny_byprop(void) |
| { |
| ne_acl_entry e = {0}; |
| |
| e.target = ne_acl_property; |
| e.type = ne_acl_deny; |
| e.tname = "owner"; |
| e.privileges = NE_ACL_ALL; |
| |
| CALL(test_acl("/foo", &e, 1)); |
| |
| return OK; |
| } |
| |
| ne_test tests[] = { |
| T(grant_all), |
| T(deny_all), |
| T(deny_one), |
| T(deny_byprop), |
| T(NULL) |
| }; |