Sat Sep 18 10:53:33 2004  Joe Orton  <joe@manyfish.co.uk>

	* src/basic.c (delete_fragment): New test.

Sat Sep 18 10:50:21 2004  Joe Orton  <joe@manyfish.co.uk>

	* src/basic.c (compare_contents): Use NE_FMT_SIZE_T.

Sun Sep 12 21:43:56 2004  Joe Orton  <joe@manyfish.co.uk>

	* configure.ac: Bump to 0.10.0.

Sun Sep 12 21:40:15 2004  Joe Orton  <joe@manyfish.co.uk>

	* src/locks.c (getlock): Take depth as argument.
	(lock_excl, lock_shared): Adjust accordingly.
	(prep_collection, lock_collection, indirect_refresh):
	Collection locking tests.

Sun Sep 12 19:20:01 2004  Joe Orton  <joe@manyfish.co.uk>

	* src/largefile.c: New file.

	* Makefile.in (largefile, src/largefile.o): Add targets.

Sun Sep 12 19:15:04 2004  Joe Orton  <joe@manyfish.co.uk>

	* src/props.c (do_patch): Avoid false negative from
	-Wformat-security.

Sun Sep 12 19:14:18 2004  Joe Orton  <joe@manyfish.co.uk>

	* src/locks.c (refresh): New test.
	(conditional_put): Avoid false negative from -Wformat-security.

Tue May 11 16:12:07 2004  Joe Orton  <joe@manyfish.co.uk>

	* src/locks.c (notowner_lock): Fix memory corruption issue.

Sun Apr  4 10:10:43 2004  Joe Orton  <joe@manyfish.co.uk>

	* src/http.c (expect100): Include port in Host header when
	appropriate.

Sun Mar  7 11:49:08 2004  Joe Orton  <joe@manyfish.co.uk>

	* src/http.c (expect100): Skip for SSL session.

Sun Mar  7 11:43:38 2004  Joe Orton  <joe@manyfish.co.uk>

	* src/props.c (propfind_returns_wellformed): Take a msg argument.
	(propwformed): Adjust accordingly.
	(propextended): New test.

Sun Mar  7 11:18:59 2004  Joe Orton  <joe@manyfish.co.uk>

	Update for neon 0.25 API:

	* configure.ac: Require neon 0.25.
	
	* src/common.h: Add i_foo_len.
	
	* src/common.c (open_foo): Set i_foo_len.
	(get_etag): Move here.

	* src/locks.c: Use get_etag from common.h; use i_foo_len.

	* src/props.c (propfind_returns_wellformed): Use ne_xml_failed.

Tue Aug 19 21:29:41 2003  Joe Orton  <joe@manyfish.co.uk>

	* configure.ac: Bump for 0.9.3.

Mon Jan  5 17:02:51 2004  Joe Orton  <jorton@redhat.com>

	* src/copymove.c (copy_nodestcoll): New test.

Wed Aug 27 11:34:02 2003  Joe Orton  <joe@manyfish.co.uk>

	* src/locks.c (fail_complex_cond_put): Revert previous "fix"
	which wasn't.

Tue Aug 26 23:45:05 2003  Joe Orton  <joe@manyfish.co.uk>

	* src/locks.c (fail_complex_cond_put): Fix to really send an
	invalid etag (thanks to Tod Sambar).

Sun Aug 24 20:52:40 2003  Joe Orton  <joe@manyfish.co.uk>

	* src/props.c (d0_results): Fix absolute URI comparison; Thomas
	Kemmer.

Tue Aug 19 21:29:41 2003  Joe Orton  <joe@manyfish.co.uk>

	* configure.ac: Bump for 0.9.3.

Tue Aug 19 17:25:54 2003  Joe Orton  <joe@manyfish.co.uk>

	* src/basic.c (compare_contents): Fix signedness warnings.

Tue Aug 19 17:17:06 2003  Joe Orton  <joe@manyfish.co.uk>

	Update for neon 0.24 API:
	
	* src/props.c (propfind_d0): Only pass three arguments to
	ne_propfind_set_private.

	* src/common.c (test_connect): Use new sock_create/connect
	API.

	* src/http.c (expect100): Likewise.

Tue Aug 19 16:56:08 2003  Joe Orton  <joe@manyfish.co.uk>

	* src/props.c (d0_results): Compare absolute URI against scheme
	used for session, not "http://".

Mon Jul 21 20:56:37 2003  Joe Orton  <jorton@redhat.com>

	Update to conditional PUT expected failure codes from Julian:
	
	* src/locks.c (fail_cond_put): Warn on a non-412 error.
	(cond_put_corrupt_token): Warn on a non-423 error.

Wed Jun  4 14:33:56 2003  Joe Orton  <jorton@redhat.com>

	* Makefile.in (install): Support $(DESTDIR).

Wed Jun  4 12:57:36 2003  Joe Orton  <joe@manyfish.co.uk>

	* src/locks.c (notowner_lock): Fix free() error if the ne_lock()
	call unexpectedly succeeds - thanks to Thomas Kemmer
	<tkemmer@hyperwave.com>. 

Wed Jun  4 12:55:41 2003  Joe Orton  <joe@manyfish.co.uk>

	* src/common.c (init_session): Fix to set useragent on given
	session.

Wed Jun  4 12:54:05 2003  Joe Orton  <joe@manyfish.co.uk>

	Update for neon 0.24 XML API.
	
	* src/props.c (startelm): Replace d0_validate, endelm.
	(propfind_d0): Pass startelm.
	(dummy_valid): Removed function.
	(propfind_returns_wellformed): No longer need dummy_valid.

Wed Apr  9 09:38:23 2003  Joe Orton  <joe@manyfish.co.uk>

	* src/locks.c (cond_put, fail_cond_put): Add precondition on valid
	lock.
	(tests): Re-order to run copy and conditional PUT tests using the
	exclusively-locked resource.

Sun Mar 16 16:00:25 2003  Joe Orton  <joe@manyfish.co.uk>

	* src/locks.c (fail_cond_put): Use a token of <DAV:no-lock> not
	<DAV-nolock>.

Sun Mar 16 14:24:40 2003  Joe Orton  <joe@manyfish.co.uk>

	* src/locks.c (cond_put_corrupt_token): Give a warning for any
	non-412 status, not non-423.

Sat Mar 15 14:39:02 2003  Joe Orton  <joe@manyfish.co.uk>

	* src/props.c (dummy_valid, propfind_returns_wellformed,
	propvalnspace, propwformed): New functions.

Sat Mar 15 13:24:00 2003  Joe Orton  <joe@manyfish.co.uk>

	* src/props.c (do_patch): Factor out.
	(propnullns, prophighunicode): Use it.
	(propfind_d0): Adjust for neon 0.24 API.

Sat Mar 15 13:18:44 2003  Joe Orton  <joe@manyfish.co.uk>

	* src/locks.c (get_etag, conditional_put, cond_put, fail_cond_put,
	cond_put_with_not, cond_put_corrupt_token, complex_cond_put,
	fail_complex_cond_put): New functions; Julian's conditional PUT
	cases.

Mon Feb 10 17:32:52 2003  Joe Orton  <joe@manyfish.co.uk>

	* src/common.c (test_connect): Connect to correct port when using
	proxy server, and fix for neon 0.24 API.

Thu Oct 10 09:07:55 2002  Joe Orton  <joe@manyfish.co.uk>

	* src/common.c (i_pre_send): Use ne_snprintf.

	* src/basic.c (do_put_get): Use ne_snprintf.

	* configure.ac: Don't use NEON_REPLACE_SNPRINTF.

Sat Sep 14 12:40:06 2002  Joe Orton  <joe@manyfish.co.uk>

	* configure.ac: Renamed from configure.in.

Sat Sep 14 12:37:23 2002  Joe Orton  <joe@manyfish.co.uk>

	* configure.in: Add AC_COPYRIGHT, use AC_MSG_NOTICE for
	post-configure message, modern use of AC_CONFIG_FILES and
	AC_OUTPUT.

Mon Sep  2 23:53:23 2002  Joe Orton  <joe@manyfish.co.uk>

	New test for resources with URL-encoded UTF-8-encoded names,
	from Julian Reschke.
	
	* src/basic.c (do_put_get): Factored out from put_get.
	(put_get_utf8_segment): New function.
	(put_get): Use do_put_get.

Mon Sep  2 18:33:44 2002  Joe Orton  <joe@manyfish.co.uk>

	* src/props.c (prophighunicode): New function, from Julian Reschke
	<julian.reschke@gmx.de>.

Mon Aug 26 17:16:29 2002  Joe Orton  <joe@manyfish.co.uk>

	* configure.in: Bump version to 0.8; require neon 0.23.

Mon Aug 26 17:15:20 2002  Joe Orton  <joe@manyfish.co.uk>

	* src/common.c (init_session): Use PACKAGE_VERSION for user-agent.

Mon Aug 26 17:10:15 2002  Joe Orton  <joe@manyfish.co.uk>

	* src/common.c (test_connect): Updated for neon 0.23 resolver API.

	* src/http.c (expect100): Likewise.

Wed Aug 21 13:34:50 2002  Joe Orton  <joe@manyfish.co.uk>

	* src/*.c: Replace use of CONCAT2 with ne_concat():
	perl -pi -e 's/CONCAT2\(([^,]*), ([^)]*)\)/\1 = ne_concat(\2, NULL)/' src/props.c

Wed Aug 21 10:20:10 2002  Joe Orton  <joe@manyfish.co.uk>

	* src/common.h (i_address): Change type to ne_sock_addr.

	* src/common.c (open_foo, make_space, upload_foo, init): Use
	ne_concat not CONCAT2.
	(test_resolve): New function.
	(init): Use test_resolve.
	(i_pre_send): Update for neon 0.22 hooks API.

Wed Aug 21 10:19:24 2002  Joe Orton  <joe@manyfish.co.uk>

	* src/common.h (ONNREQ2): Fix error string, thanks to Kai Pan
	<pankai@soe.ucsc.edu>.

Sat Aug  3 10:22:49 2002  Joe Orton  <joe@manyfish.co.uk>

	* src/common.c (init_session): Don't disable persistent
	connections.

Sun May 19 18:28:42 2002  Joe Orton  <joe@manyfish.co.uk>

	* src/http.c (expect100, ONS): Update for neon 0.21 socket API.

	* src/common.c (test_connect, init): Likewise.

Sun May 19 08:38:36 2002  Joe Orton  <joe@manyfish.co.uk>

	* configure.in: Don't need ACL support in neon.

Tue Feb 12 20:27:58 2002  Joe Orton  <joe@manyfish.co.uk>

	* src/common.c (ignore_verify): New function.
	(begin, init_session): Updated for neon 0.19 session API.

Fri Jan 25 19:29:16 2002  Joe Orton  <joe@manyfish.co.uk>

	* src/locks.c (getlock): Leave gotlock as NULL if LOCK fails.
	(notowner_modify, notowner_lock, double_sharedlock, owner_modify,
	copy, discover): Skip if gotlock is NULL.

Mon Jan 21 20:29:08 2002  Joe Orton  <joe@manyfish.co.uk>

	* src/basic.c (BINARYMODE): New macro.  (create_temp, put_get):
	Use BINARYMODE on fd returned by mkstemp.

Mon Jan 21 19:52:42 2002  Joe Orton  <joe@manyfish.co.uk>

	* src/basic.c (compare_contents, put_get): Pass O_BINARY to
	open().

	* src/common.c (open_foo): Pass O_BINARY to open().

	* src/common.h: Define O_BINARY as (0) if undefined.

Mon Jan 21 19:52:00 2002  Joe Orton  <joe@manyfish.co.uk>

	* litmus.in: Mention debug.log on failure.

Sat Jan  5 18:39:21 2002  Joe Orton  <joe@manyfish.co.uk>

	* src/common.c (init, init_tests): Add support for proxy server.

Sat Jan  5 16:46:48 2002  Joe Orton  <joe@manyfish.co.uk>

	* litmus.in (litmus): Add --keep-going/-k option.

Sat Jan  5 16:45:01 2002  Joe Orton  <joe@manyfish.co.uk>

	* Makefile.in: Pass $(OPTS) variable to litmus.

Sat Jan  5 16:43:49 2002  Joe Orton  <joe@manyfish.co.uk>

	* src/common.c (init): Fix authentication set up.

Sat Jan  5 16:40:58 2002  Joe Orton  <joe@manyfish.co.uk>

	* src/basic.c (mkcol_with_body): Fix RFC number in error messages.

Sat Jan  5 16:04:51 2002  Joe Orton  <joe@manyfish.co.uk>

	* src/common.c (test_connect): Improve error message.

Sat Jan  5 16:01:20 2002  Joe Orton  <joe@manyfish.co.uk>

	* src/common.c (begin): Call make_space.  (init): Call
	test_connect and open_foo.

	* src/common.h (INIT_TESTS): Reduced to init, begin.

Sat Jan  5 11:15:54 2002  Joe Orton  <joe@manyfish.co.uk>

	* src/locks.c (discover, verify_discover): New test.

Sat Jan  5 10:54:32 2002  Joe Orton  <joe@manyfish.co.uk>

	* src/locks.c (double_sharedlock): Use ONNREQ2.
	(copy): New test.

Sat Jan  5 10:49:11 2002  Joe Orton  <joe@manyfish.co.uk>

	* src/common.h (ONNREQ, ONNREQ2): New macros.

Fri Jan  4 23:02:20 2002  Joe Orton  <joe@manyfish.co.uk>

	* src/locks.c (double_sharedlock): New function.

Fri Jan  4 22:26:50 2002  Joe Orton  <joe@manyfish.co.uk>

	* src/locks.c (precond): New function.  (getlock): Factored out
	from lock.  (lock_excl): Renamed from lock.  (lock_shared): New
	function.  (notowner_lock): Try with an exclusive lock.
	(tests): Try modifying shared locked resource similarly to
	exclusive locked resource.

Fri Jan  4 21:32:59 2002  Joe Orton  <joe@manyfish.co.uk>

	* litmus.in: Add usage description; check for invocation with
	--help and -h.

Tue Jan  1 23:29:21 2002  Joe Orton  <joe@manyfish.co.uk>

	* configure.in: Support bundled expat build.

	* expat/: Imported.

Tue Jan  1 23:28:00 2002  Joe Orton  <joe@manyfish.co.uk>

	* Makefile.in: Add LIBOBJS as last in ALL_LIBS rather than in
	-ltest, so bundled expat build works.

Tue Jan  1 17:03:39 2002  Joe Orton  <joe@manyfish.co.uk>

	* litmus.in: New file.

	* install-sh: Imported file.

	* configure.in: Create litmus script.

	* Makefile.in (check): Use litmus script to run tests.
	(install, litmus): New target.

Tue Jan  1 17:01:13 2002  Joe Orton  <joe@manyfish.co.uk>

	* src/common.c (usage): New function.
	(init): Add options support via getopt_long.
	(open_foo): Support movable htdocs root.

Tue Jan  1 15:57:24 2002  Joe Orton  <joe@manyfish.co.uk>

	* src/copymove.c (move): Use i_foo_fd.

Sun Nov 11 11:34:38 2001  Joe Orton  <joe@manyfish.co.uk>

	* src/locks.c (notowner_modify): Add COPY test.

Sun Nov 11 10:51:13 2001  Joe Orton  <joe@manyfish.co.uk>

	* src/locks.c (owner_modify): New function.  (tests): Run
	notowner_* tests again after running owner_* tests, catching
	mod_dav atomic-PUT regression.

Sun Nov 11 10:34:10 2001  Joe Orton  <joe@manyfish.co.uk>

	* src/common.c (init_session): Factored out from begin().
	(begin): Use init_session; open i_session2 as well.  (open_foo):
	Rename fd variable to (exported) i_foo_fd.

	* src/common.h: Export i_session2, i_foo_fd.  (GETSTATUS2,
	STATUS2): New macros.

Sun Nov 11 10:32:51 2001  Joe Orton  <joe@manyfish.co.uk>

	* src/locks.c (init_locks, put, lock, notowner_modify,
	notowner_lock, unlock): New functions.

Sat Nov 10 22:31:03 2001  Joe Orton  <joe@manyfish.co.uk>

	* src/common.c (i_pre_send): Take header name as userdata; add
	test suite name to field value.  (begin): Use 'X-Litmus-One' as
	header name for debug header on default session.

Sat Nov 10 22:03:05 2001  Joe Orton  <joe@manyfish.co.uk>

	* src/basic.c, src/interop.c (options): Moved to src/interop.c.
	
Sat Nov 10 21:45:44 2001  Joe Orton  <joe@manyfish.co.uk>

	Make each test module a self-contained suite program.
	
	* src/interop.c, src/interop.h: Export the common routines init,
	test_connect etc.  Define INIT_TESTS, FINISH_TESTS for easily
	populating tests array with these routines.  (expect100): Moved to
	src/http.c.

	* src/basic.c, src/copymove.c, src/props.c: Define `tests' array.

	* src/http.c: New file.

Sat Nov 10 21:20:40 2001  Joe Orton  <joe@manyfish.co.uk>

	* src/basic.c (mkcol_over_plain, mkcol_with_body): New functions.

Thu Nov  8 23:09:19 2001  Joe Orton  <joe@manyfish.co.uk>

	* src/interop.c (make_space): New function.  Run tests in a new,
	empty collection.

Wed Nov  7 21:20:42 2001  Joe Orton  <joe@manyfish.co.uk>

	* configure.in: Project renamed to "litmus".

	* Makefile.in (TARGET): Renamed to "litmus".

	* src/interop.c (begin): Rename user-agent to "litmus/VERSION".

Sun Oct 28 22:27:55 2001  Joe Orton  <joe@manyfish.co.uk>

	* src/props.c (propinit): Remove the resource first.  (propset,
	propdeletes, propreplace): Use 'numprops' global for number of
	properties set.  (pg_results): Include namespace in "property not
	found" message.  (propnullns, propmanyns): New functions.

Tue Oct 23 22:04:42 2001  Joe Orton  <joe@manyfish.co.uk>

	* src/props.c (do_invalid_pfind): Factored out from
	propfind_invalid.  (propfind_invalid): Use it.
	(propfind_invalid2): New function.

Wed Aug  8 22:23:09 2001  Joe Orton  <joe@manyfish.co.uk>

	* src/interop.c (begin): Use VERSION in user-agent.  (expect100):
	Fix duplicate defn warnings.

Wed Aug  8 22:09:57 2001  Joe Orton  <joe@manyfish.co.uk>

	* Makefile.in: Pick up AR/RANLIB from configure.  Define .c -> .o
	rule correctly.

Wed Aug  8 21:44:35 2001  Joe Orton  <joe@manyfish.co.uk>

	* src/interop.c: Integrated expect100 test with main tests.

Wed Aug  8 21:28:27 2001  Joe Orton  <joe@manyfish.co.uk>

	* src/interop.c (open_foo): New function.  (ONS): New macro.
	(expect100): New test.

Wed Aug  8 21:12:33 2001  Joe Orton  <joe@manyfish.co.uk>

	* src/props.c (NS): Moved props namespace here.
	(propfind_invalid): New test.  (d0_results): Handle absolute URIs.
	(pg_results): More descriptive error messages.

Wed Aug  8 21:08:05 2001  Joe Orton  <joe@manyfish.co.uk>

	* src/basic.c (put_get): DELETE before initial PUT to be sure it
	is a new resource.  (delete_null): Only issue warning for
	incorrect status code for DELETE on null resource.  (mkcol):
	DELETE first.  (mkcol_no_parent): New test.

Fri Jul 20 04:44:31 2001  Joe Orton  <joe@manyfish.co.uk>

	* src/props.c (d0_results): Strip hostname segment.

Tue Jul 17 23:24:57 2001  Joe Orton  <joe@manyfish.co.uk>

	* src/copymove.c (move_coll): New function.  (copy_coll): Fixes.

Tue Jul 17 11:23:37 2001  Joe Orton  <joe@manyfish.co.uk>

	* src/props.c: New file.

Tue Jul 17 10:48:37 2001  Joe Orton  <joe@manyfish.co.uk>

	* src/copymove.c (copy_init, copy_coll): Use upload_foo.

Tue Jul 17 10:46:30 2001  Joe Orton  <joe@manyfish.co.uk>

	* src/interop.c (upload_foo): New function.  (init, begin): Handle
	https: URLs.

Mon Jul 16 21:18:03 2001  Joe Orton  <joe@manyfish.co.uk>

	* src/copymove.c: Moved COPY/MOVE tests from basic.c.

Mon Jul 16 20:32:24 2001  Joe Orton  <joe@manyfish.co.uk>

	* src/basic.c (copy_coll): Test overwrite t/f too.

Mon Jul 16 19:31:13 2001  Joe Orton  <joe@manyfish.co.uk>

	* src/interop.c (auth): New function.  (main) Take optional
	username/password parms.  (begin): Register auth callback if
	necessary.

Mon Jul 16 19:13:15 2001  Joe Orton  <joe@manyfish.co.uk>

	* src/basic.c (copy, copy_coll): New tests.

Mon Jul 16 18:23:02 2001  Joe Orton  <joe@manyfish.co.uk>

	* src/interop.c (begin): Set a user-agent.

Mon Jul 16 17:54:13 2001  Joe Orton  <joe@manyfish.co.uk>

	* src/basic.c (mkcol, mkcol_again, delete_coll, mkcol_no_parent):
	New tests.  (put_get): Check for 201 status.

	* src/interop.h (STATUS): New macro.

Mon Jul 16 16:44:09 2001  Joe Orton  <joe@manyfish.co.uk>

	* src/interop.c (test_connect): New test.

Mon Jul 16 16:38:36 2001  Joe Orton  <joe@manyfish.co.uk>

	* src/basic.c (delete_null): New test.

Mon Jul 16 16:28:09 2001  Joe Orton  <joe@manyfish.co.uk>

	* src/basic.c (delete): New test.

Mon Jul 16 16:27:44 2001  Joe Orton  <joe@manyfish.co.uk>

	* src/basic.c (compare_contents): Fix buffer_append problem.

Mon Jul 16 14:45:49 2001  Joe Orton  <joe@manyfish.co.uk>

	* src/interop.c (init): Ensure path has trailing slash.

2001-07-16  Joe Orton  <joe@toilet.worknet>

	* src/basic.c (put_get): New test.

Mon Jul 16 15:21:17 2001  Joe Orton  <joe@manyfish.co.uk>

	* src/interop.c (init): Take and parse a URL in argv[1].

