diff options
author | joe <joe@61a7d7f5-40b7-0310-9c16-bb0ea8cb1845> | 2008-10-14 19:19:41 +0000 |
---|---|---|
committer | joe <joe@61a7d7f5-40b7-0310-9c16-bb0ea8cb1845> | 2008-10-14 19:19:41 +0000 |
commit | 368fef44d8b9cc8cd1a527fab6aa9be20fd95e18 (patch) | |
tree | 9286382968d893baf5a8c3384f8e15744de1dbb1 /test | |
parent | 580ad6f7786fba0740a00f98cf3d398bb5dfcd58 (diff) | |
download | neon-368fef44d8b9cc8cd1a527fab6aa9be20fd95e18.tar.gz |
Introduce new ACL interface under separate header, function name, and
restore API/ABI backwards-compat with old ACL interface:
* src/ne_acl3744.c, src/ne_acl3744.h: Renamed from ne_acl.c, ne_acl.h.
(ne_acl3744_set): Renamed from ne_acl_set.
* src/ne_oldacl.c, src/ne_acl.h: Copied from old ne_acl.c, ne_acl.h on
0.28.x branch.
* src/Makefile.in: Update deps.
* test/acl3744.c: Renamed from acl.c.
(test_acl): Call new function name.
* test/oldacl.c: Copied from acl.c on 0.28.x branch.
* test/Makefile.in: Update accordingly.
* macros/neon.m4 (LIBNEON_SOURCE_CHECKS): Update for new source file
names.
* neon.mak: Update for new source file names.
git-svn-id: http://svn.webdav.org/repos/projects/neon/trunk@1567 61a7d7f5-40b7-0310-9c16-bb0ea8cb1845
Diffstat (limited to 'test')
-rw-r--r-- | test/Makefile.in | 11 | ||||
-rw-r--r-- | test/acl3744.c (renamed from test/acl.c) | 4 | ||||
-rw-r--r-- | test/oldacl.c | 101 |
3 files changed, 110 insertions, 6 deletions
diff --git a/test/Makefile.in b/test/Makefile.in index f6be071..8617a3e 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -24,7 +24,7 @@ BASIC_TESTS = uri-tests util-tests string-tests socket \ ZLIB_TESTS = compress ZLIB_HELPERS = file1.gz file2.gz trailing.gz badcsum.gz truncated.gz \ corrupt1.gz corrupt2.gz empty.gz random.txt -DAV_TESTS = xml xmlreq acl props lock +DAV_TESTS = xml xmlreq oldacl acl3744 props lock SSL_TESTS = socket-ssl ssl SSL_HELPERS = ca-stamp TESTS = @TESTS@ @@ -171,7 +171,8 @@ server.lo: $(srcdir)/server.c $(OBJDEPS) request.lo: $(srcdir)/request.c $(OBJDEPS) regress.lo: $(srcdir)/regress.c $(OBJDEPS) compress.lo: $(srcdir)/compress.c $(OBJDEPS) -acl.lo: $(srcdir)/acl.c $(OBJDEPS) +oldacl.lo: $(srcdir)/oldacl.c $(OBJDEPS) +acl3744.lo: $(srcdir)/acl3744.c $(OBJDEPS) utils.lo: $(srcdir)/utils.c $(OBJDEPS) stubs.lo: $(srcdir)/stubs.c $(OBJDEPS) props.lo: $(srcdir)/props.c $(OBJDEPS) @@ -202,8 +203,10 @@ regress: regress.lo $(DEPS) $(LINK) -o $@ regress.lo $(DEPS) compress: compress.lo $(DEPS) $(LINK) -o $@ compress.lo $(DEPS) -acl: acl.lo $(DEPS) - $(LINK) -o $@ acl.lo $(DEPS) +oldacl: oldacl.lo $(DEPS) + $(LINK) -o $@ oldacl.lo $(DEPS) +acl3744: acl3744.lo $(DEPS) + $(LINK) -o $@ acl3744.lo $(DEPS) utils: utils.lo $(DEPS) $(LINK) -o $@ utils.lo $(DEPS) stubs: stubs.lo $(DEPS) diff --git a/test/acl.c b/test/acl3744.c index cad158b..5f0bf8b 100644 --- a/test/acl.c +++ b/test/acl3744.c @@ -18,7 +18,7 @@ */ -#include "ne_acl.h" +#include "ne_acl3744.h" #include "tests.h" #include "child.h" @@ -34,7 +34,7 @@ static int test_acl(const char *uri, ne_acl_entry *es, int nume) "HTTP/1.1 200 OK\r\n" "Connection: close\r\n\r\n")); - ON(ne_acl_set(sess, uri, es, nume)); + ON(ne_acl3744_set(sess, uri, es, nume)); CALL(await_server()); ne_session_destroy(sess); diff --git a/test/oldacl.c b/test/oldacl.c new file mode 100644 index 0000000..2e72caa --- /dev/null +++ b/test/oldacl.c @@ -0,0 +1,101 @@ +/* + Dummy ACL tests + Copyright (C) 2001-2003, Joe Orton <joe@manyfish.co.uk> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +*/ + +#include "ne_acl.h" + +#include "tests.h" +#include "child.h" +#include "utils.h" + +/**** DUMMY TESTS: just makes sure the stuff doesn't dump core. */ + +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_acl_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.apply = ne_acl_all; + e.type = ne_acl_grant; + + CALL(test_acl("/foo", &e, 1)); + + return OK; +} + +static int deny_all(void) +{ + ne_acl_entry e = {0}; + + e.apply = ne_acl_all; + e.type = ne_acl_deny; + + CALL(test_acl("/foo", &e, 1)); + + return OK; +} + +static int deny_one(void) +{ + ne_acl_entry e = {0}; + + e.apply = ne_acl_href; + e.type = ne_acl_deny; + e.principal = "http://webdav.org/users/joe"; + + CALL(test_acl("/foo", &e, 1)); + + return OK; +} + +static int deny_byprop(void) +{ + ne_acl_entry e = {0}; + + e.apply = ne_acl_property; + e.type = ne_acl_deny; + e.principal = "owner"; + + 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) +}; |