------------------------------------------------------------------------
r1053 | joe | 2006-05-23 21:36:05 +0100 (Tue, 23 May 2006) | 1 line

Tag release 0.26.1.
------------------------------------------------------------------------
r1052 | joe | 2006-05-23 21:31:51 +0100 (Tue, 23 May 2006) | 2 lines

* po/: make update-po.

------------------------------------------------------------------------
r1051 | joe | 2006-05-23 21:30:44 +0100 (Tue, 23 May 2006) | 1 line

Bump for 0.26.1.
------------------------------------------------------------------------
r1050 | joe | 2006-05-23 21:27:37 +0100 (Tue, 23 May 2006) | 8 lines

Merge r1049 from trunk:

Readonly data fixes from Benoît Dejean:

* src/ne_xml.c (empty_atts): Mark more const.

* src/ne_dates.c (rfc1123_weekdays, short_months): Mark more const.

------------------------------------------------------------------------
r1048 | joe | 2006-05-23 21:11:06 +0100 (Tue, 23 May 2006) | 8 lines

Merge r1044 from trunk:

Win32 build fixes from D.J. Heap:

* src/ne_auth.c: Move protocols[] array declaration up, remove
forward-declaration.
(request_sspi): Fix declaration.

------------------------------------------------------------------------
r1047 | joe | 2006-05-23 21:09:22 +0100 (Tue, 23 May 2006) | 5 lines

Merge r1045 from trunk:

* configure.in, po/zh.po: Add Simplified Chinese translation, from Dongsheng 
Song.

------------------------------------------------------------------------
r1032 | joe | 2006-04-13 14:10:57 +0100 (Thu, 13 Apr 2006) | 2 lines

* test-common/tests.c (main): Fix for neon < 0.26.

------------------------------------------------------------------------
r1017 | joe | 2006-03-14 16:59:17 +0000 (Tue, 14 Mar 2006) | 5 lines

Merge r1016 from trunk:

* macros/neon.m4 (LIBNEON_SOURCE_CHECKS): Make the timezone test match
the code; fix OS X build.

------------------------------------------------------------------------
r1006 | joe | 2006-03-11 19:04:12 +0000 (Sat, 11 Mar 2006) | 2 lines

Add 0.26.x branch.

------------------------------------------------------------------------
r1005 | joe | 2006-03-11 18:54:19 +0000 (Sat, 11 Mar 2006) | 1 line

Tag release 0.26.0.
------------------------------------------------------------------------
r1004 | joe | 2006-03-11 18:51:51 +0000 (Sat, 11 Mar 2006) | 2 lines

* po/: make update-po.

------------------------------------------------------------------------
r1003 | joe | 2006-03-11 18:49:46 +0000 (Sat, 11 Mar 2006) | 18 lines

* macros/neon.m4: Bump to 0.26.0.

* NEWS: Final updates.* macros/neon.m4: Bump to 0.26.0.

* NEWS: Final updates.* macros/neon.m4: Bump to 0.26.0.

* NEWS: Final updates.* macros/neon.m4: Bump to 0.26.0.

* NEWS: Final updates.* macros/neon.m4: Bump to 0.26.0.

* NEWS: Final updates.* macros/neon.m4: Bump to 0.26.0.

* NEWS: Final updates.* macros/neon.m4: Bump to 0.26.0.

* NEWS: Final updates.* macros/neon.m4: Bump to 0.26.0.

* NEWS: Final updates.

------------------------------------------------------------------------
r1002 | joe | 2006-03-11 18:46:05 +0000 (Sat, 11 Mar 2006) | 2 lines

* README, AUTHORS: Update copyright info.

------------------------------------------------------------------------
r1001 | joe | 2006-03-11 18:44:14 +0000 (Sat, 11 Mar 2006) | 4 lines

* doc/manual.xml: s/GFDL/GPL/ for Debian policy compliance.

* doc/fdl.sgml: Removed.

------------------------------------------------------------------------
r999 | joe | 2006-03-10 10:45:03 +0000 (Fri, 10 Mar 2006) | 2 lines

* test/lock.c (fail_lockauth): Use many_serve_string.

------------------------------------------------------------------------
r998 | joe | 2006-03-10 10:23:54 +0000 (Fri, 10 Mar 2006) | 2 lines

* doc/ref/neon.xml: Fix typo.

------------------------------------------------------------------------
r996 | joe | 2006-03-08 10:30:07 +0000 (Wed, 08 Mar 2006) | 3 lines

* src/ne_auth.c (ah_post_send): Remove strdup which is now
unnecessary.

------------------------------------------------------------------------
r995 | joe | 2006-03-08 10:22:18 +0000 (Wed, 08 Mar 2006) | 3 lines

* src/ne_auth.c (negotiate_challenge): Renamed from gssapi_challenge.
(request_negotiate): Renamed from request_gssapi.

------------------------------------------------------------------------
r994 | joe | 2006-03-07 21:38:21 +0000 (Tue, 07 Mar 2006) | 7 lines

* src/ne_private.h (struct ne_session_s): Remove use of bitfields.

* src/ne_auth.c (struct auth_session_s): Likewise.

* src/ne_request.c (struct body_reader, struct ne_request_s):
Likewise.

------------------------------------------------------------------------
r993 | joe | 2006-03-07 21:29:19 +0000 (Tue, 07 Mar 2006) | 3 lines

* src/ne_basic.c (ne_put) [NE_LFS]: Use ne_set_request_body_fd64,
fstat64.

------------------------------------------------------------------------
r992 | joe | 2006-03-07 21:25:41 +0000 (Tue, 07 Mar 2006) | 6 lines

* src/ne_basic.h (ne_get_range64): Add prototype.

* src/ne_basic.c (get_range_common): Factored out from ne_get_range.
(ne_get_range): Use get_range_common.
(ne_get_range64): Implement.

------------------------------------------------------------------------
r991 | joe | 2006-03-07 09:47:07 +0000 (Tue, 07 Mar 2006) | 2 lines

* src/ne_request.c (read_status_line): Update comment.

------------------------------------------------------------------------
r990 | joe | 2006-03-07 09:36:43 +0000 (Tue, 07 Mar 2006) | 6 lines

* src/ne_utils.h (NE_FEATURE_I18N): Add macro.

* src/ne_utils.c (ne_has_support): Support NE_FEATURE_I18N.

* test/util-tests.c (support): Test for NE_FEATURE_I18N.

------------------------------------------------------------------------
r989 | joe | 2006-03-07 09:34:43 +0000 (Tue, 07 Mar 2006) | 2 lines

* src/ne_session.h: Fix typo.

------------------------------------------------------------------------
r980 | joe | 2006-03-01 20:31:52 +0000 (Wed, 01 Mar 2006) | 4 lines

* src/ne_basic.c (dispatch_to_fd): Fix ne_get() regression.

* test/basic.c (get): Add test case.

------------------------------------------------------------------------
r979 | joe | 2006-03-01 20:04:06 +0000 (Wed, 01 Mar 2006) | 4 lines

* src/ne_basic.c (dispatch_to_fd): Fix content-range parsing.

* test/basic.c (get_range, fail_range_*): Fix test cases.

------------------------------------------------------------------------
r978 | joe | 2006-03-01 19:53:59 +0000 (Wed, 01 Mar 2006) | 4 lines

* src/ne_uri.c (URI_ESCAPE): Do path-escape "%".

* test/uri-tests.c (escapes): Add test cases.

------------------------------------------------------------------------
r976 | joe | 2006-03-01 18:53:30 +0000 (Wed, 01 Mar 2006) | 3 lines

* Makefile.in (update-po): Send output to /dev/null when checking
format strings.

------------------------------------------------------------------------
r975 | joe | 2006-03-01 17:59:02 +0000 (Wed, 01 Mar 2006) | 2 lines

* po/: make update-po.

------------------------------------------------------------------------
r974 | joe | 2006-03-01 17:57:45 +0000 (Wed, 01 Mar 2006) | 2 lines

Clarify remaining GnuTLS issues.

------------------------------------------------------------------------
r973 | joe | 2006-03-01 17:49:53 +0000 (Wed, 01 Mar 2006) | 3 lines

* macros/neon.m4 (NEON_USE_EXTERNAL): Check for TS_SSL feature.
(NEON_SSL): Disable TS_SSL feature for non-SSL builds.

------------------------------------------------------------------------
r972 | joe | 2006-03-01 17:45:02 +0000 (Wed, 01 Mar 2006) | 3 lines

* src/ne_session.c (ne_ssl_cert_validity): Handle
ne_ssl_cert_validity_time()'s error cases.

------------------------------------------------------------------------
r971 | joe | 2006-03-01 17:40:44 +0000 (Wed, 01 Mar 2006) | 2 lines

Document changes for 0.26.0.

------------------------------------------------------------------------
r970 | joe | 2006-03-01 17:28:58 +0000 (Wed, 01 Mar 2006) | 23 lines

Move to opaque MD5 context, avoiding exposure of md5_uint32 type:

* src/ne_md5.h: Make struct ne_md5_ctx opaque.  (ne_md5_create_ctx,
ne_md5_reset_ctx, ne_md5_destroy_ctx): New prototypes.
(ne_md5_init_ctx): Removed prototype.

* src/ne_md5.c: Add struct ne_md5_ctx definition; use simpler
autoconf-based md5_uint32 definition.
(ne_md5_create_ctx, ne_md5_destroy_ctx, ne_md5_reset_ctx): New
functions.
(ne_md5_init_ctx): Make static.

* src/ne_auth.c (auth_session): Store a pointer to the MD5 context.
(clean_session): Destroy stored MD5 context if necessary.
(get_cnonce, digest_challenge, request_digest, verify_digest_response):
Adjust to use opaque context constructor/destructor.

* test/auth.c (make_digest): Adjust likewise.

* test/util-test.c (digest_md5, md5_alignment): Adjust likewise.

* config.hw.in: Define SIZEOF_INT, SIZEOF_LONG.

------------------------------------------------------------------------
r969 | joe | 2006-02-28 22:37:49 +0000 (Tue, 28 Feb 2006) | 2 lines

* src/ne_md5.h: Remove support for non-C89 prototypes.

------------------------------------------------------------------------
r968 | joe | 2006-02-28 22:27:11 +0000 (Tue, 28 Feb 2006) | 20 lines

Formalize the date formatting by ne_ssl_cert_validity and add
ne_ssl_cert_validity_time, which is better for i18n:

* src/ne_ssl.h (ne_ssl_cert_validity): Adopt a fixed format for
returned date.
(ne_ssl_cert_validity_time): New prototype.

* src/ne_openssl.c (asn1time_to_timet, ne_ssl_cert_validity_time): New
functions.

* src/ne_gnutls.c (ne_ssl_cert_validity_time): New function.

* src/ne_session.c (ne_ssl_cert_validity): New function.

* src/ne_stubssl.c (ne_ssl_cert_validity_time): New stub.

* test/ssl.c (cert_validity): Adjust for new date formatting.

* macros/neon.m4 (LIBNEON_SOURCE_CHECKS): Check for timezone global.

------------------------------------------------------------------------
r967 | joe | 2006-02-28 16:26:32 +0000 (Tue, 28 Feb 2006) | 10 lines

Avoid most issues with misaligned md5 result buffers:

* src/ne_md5.c (ne_md5_finish_ascii): New function.

* src/ne_md5.h (ne_md5_finish_ascii): Add prototype.

* src/ne_auth.c (get_cnonce, digest_challenge, request_digest,
verify_digest_response): Use ne_md5_finish_ascii in place of
ne_md5_finish_ctx/ne_md5_to_ascii.

------------------------------------------------------------------------
r965 | joe | 2006-02-27 18:12:31 +0000 (Mon, 27 Feb 2006) | 2 lines

* doc/manual.xml: Include the ne_i18n_init refentry.

------------------------------------------------------------------------
r964 | joe | 2006-02-27 18:11:31 +0000 (Mon, 27 Feb 2006) | 5 lines

* doc/ref/i18n.xml: New file.

* doc/ref/init.xml, doc/ref/neon.xml: More process-global 
initialization stuff.

------------------------------------------------------------------------
r963 | joe | 2006-02-27 17:43:42 +0000 (Mon, 27 Feb 2006) | 2 lines

* src/ne_props.c (ne_propfind_create): Use ne_buffer_czappend.

------------------------------------------------------------------------
r962 | joe | 2006-02-27 17:30:26 +0000 (Mon, 27 Feb 2006) | 2 lines

* doc/ref/feat.xml: Fix id, use an xref, improve text, add see also.

------------------------------------------------------------------------
r961 | joe | 2006-02-27 17:29:18 +0000 (Mon, 27 Feb 2006) | 2 lines

* doc/ref/reqbody.xml: Document ne_set_request_body_fd*.

------------------------------------------------------------------------
r960 | joe | 2006-02-27 17:28:34 +0000 (Mon, 27 Feb 2006) | 25 lines

Add destructor callback to PROPFIND interface to guarantee cleanup of
memory allocated by the creator callback:

* src/ne_props.h (ne_propfind_set_private): Take destructor argument.

* src/ne_props.c (struct ne_propfind_handler_s): Add destructor field,
rename private_creator to creator and private_userdata to cd_userdata.
(start_response): Adjust for field renames.
(free_propset): Take handler argument; call destructor if necessary.
(end_response, ne_propfind_destroy): Pass handler to free_propset.
(ne_propfind_set_private): Adjust for field renames, store destructor.

* src/ne_locks.c (discover_results): Don't destroy lock here.
(ld_destroy): New function.
(ne_lock_discover): Register the destructor.

* test/lock.c: Mark fail_discover as no-longer-expected-to-leak.

* test/props.c (diffcmp): Improve diagnostics.
(pf_creator, pf_destructor): New functions.
(run_propfind): Renamed from run_simple_propfind; enhanced to run
non-simple PROPFIND requests too.
(propfind): Renamed from pfind_simple; call run_propfind; test 
invocation of creator/destructor callbacks too.

------------------------------------------------------------------------
r959 | joe | 2006-02-27 11:36:54 +0000 (Mon, 27 Feb 2006) | 5 lines

* macros/neon.m4 (NEON_SSL): Don't define HAVE_PTHREADS.

* src/ne_gnutls.c, src/ne_openssl.c: Use NE_HAVE_TS_SSL feature macro
in place of HAVE_PTHREADS.

------------------------------------------------------------------------
r958 | joe | 2006-02-27 11:33:53 +0000 (Mon, 27 Feb 2006) | 4 lines

* src/ne_openssl.c (thread_id_neon): Revert previous change (which is
more portable, but less safe), and replace with a rant on why OpenSSL
is completely broken.

------------------------------------------------------------------------
r957 | joe | 2006-02-27 11:17:40 +0000 (Mon, 27 Feb 2006) | 3 lines

* src/ne_openssl.c (thread_id_neon): Work regardless of whether
pthread_t is a structure.

------------------------------------------------------------------------
r956 | joe | 2006-02-27 11:10:29 +0000 (Mon, 27 Feb 2006) | 2 lines

* src/ne_session.c (ne__ssl_set_verify_err): Make array static const.

------------------------------------------------------------------------
r955 | joe | 2006-02-27 10:41:21 +0000 (Mon, 27 Feb 2006) | 9 lines

* src/ne_session.c (ne__ssl_set_verify_err): Moved here...

* src/ne_openssl.c (verify_err): ... from here.
(check_certificate): Use it.

* src/ne_gnutls.c (check_certificate): Use it on verification failure.

* src/ne_private.h (ne__ssl_set_verify_err): Add prototype.

------------------------------------------------------------------------
r954 | joe | 2006-02-26 20:59:08 +0000 (Sun, 26 Feb 2006) | 3 lines

* doc/ref/init.xml, doc/ref/neon.xml: Document thread-safe SSL
handling.

------------------------------------------------------------------------
r953 | joe | 2006-02-26 20:55:43 +0000 (Sun, 26 Feb 2006) | 11 lines

* macros/neon.m4 (NEON_SSL): Define a feature macro for thread-safe
SSL support.

* src/ne_utils.h: Add NE_FEATURE_TS_SSL feature code.

* src/ne_utils.c (ne_has_support): Support it (or... not).

* neon-config.in: Add feature code.

* test/util-tests.c (support): Test for it.

------------------------------------------------------------------------
r952 | joe | 2006-02-26 20:52:58 +0000 (Sun, 26 Feb 2006) | 4 lines

* doc/manual.xml: Add ne_has_support refentry.

* doc/ref/feat.xml: New document.

------------------------------------------------------------------------
r951 | joe | 2006-02-26 10:11:31 +0000 (Sun, 26 Feb 2006) | 3 lines

* test/request.c (hooks): Use many_serve_string to serve the three
responses, to avoid spurious failures.

------------------------------------------------------------------------
r950 | joe | 2006-02-25 23:23:56 +0000 (Sat, 25 Feb 2006) | 3 lines

* test/Makefile.in: Add some missing dependencies on the "random
file", NEWS.

------------------------------------------------------------------------
r949 | joe | 2006-02-25 23:17:45 +0000 (Sat, 25 Feb 2006) | 4 lines

* src/ne_basic.c (ne_post): Flag POST request as non-idempotent.

* src/ne_locks.c (ne_lock): Flag LOCK request as non-idempotent.

------------------------------------------------------------------------
r948 | joe | 2006-02-25 23:16:51 +0000 (Sat, 25 Feb 2006) | 3 lines

Interfaces to allow correct handling of non-idempotent
requests done, and SSLv2-disabling done.

------------------------------------------------------------------------
r947 | joe | 2006-02-25 23:16:11 +0000 (Sat, 25 Feb 2006) | 17 lines

Add per-request flags interface, and correct retry handling of
non-idempotent methods:

* src/ne_request.h (ne_set_request_flag, ne_get_request_flag): New
prototypes.
(ne_set_request_expect100): Remove prototype.

* src/ne_request.c (struct ne_request_s): Add flags array, remove
use_expect100 field.
(ne_set_request_flag, ne_get_request_flag): New functions.
(ne_set_request_expect100): Remove function.
(build_request, send_request): Adapt to use expect100 flag.
(ne_begin_request): I

* test/request.c (expect_100_once, expect_100_nobody): Use
ne_set_request_flag.

------------------------------------------------------------------------
r946 | joe | 2006-02-25 23:09:08 +0000 (Sat, 25 Feb 2006) | 3 lines

* src/ne_openssl.c (ne_ssl_context_set_flag): Fix to actually respect
the flag setting.

------------------------------------------------------------------------
r945 | joe | 2006-02-25 16:29:54 +0000 (Sat, 25 Feb 2006) | 10 lines

Forward-port ICY protocol support from 0.25.x branch, conditional on
NE_SESSFLAG_ICYPROTO.

* src/ne_session.h: Add NE_SESSFLAG_ICYPROTO flag.

* src/ne_request.c (read_status_line): Parse ICY responses if flag is
set.

* test/request.c (icy_protocol): Add test case.

------------------------------------------------------------------------
r944 | joe | 2006-02-25 16:26:50 +0000 (Sat, 25 Feb 2006) | 17 lines

* src/ne_ssl.h (NE_SSL_CTX_SSLv2): New constant.
(ne_ssl_context_set_flag): New prototype.

* src/ne_stubssl.c (ne_ssl_context_set_flag): New stub.

* src/ne_openssl.c (ne_ssl_context_set_flag): New function.

* src/ne_gnutls.c (ne_ssl_context_set_flag): New stub.

* src/ne_session.h: Add NE_SESSFLAG_SSLv2 flag (defaults to on).

* src/ne_session.c (ne_session_create) [NE_HAVE_SSL]: Set the
NE_SESSFLAG_SSLv2 flag.
(ne_set_session_flag) [NE_HAVE_SSL]: Call ne_ssl_context_set_flag.

* test/ssl.c (simple_sslv2): Enable SSLv2 support.

------------------------------------------------------------------------
r943 | joe | 2006-02-25 16:21:45 +0000 (Sat, 25 Feb 2006) | 19 lines

* src/ne_session.h (ne_set_session_flag): New enum.
(ne_set_session_flag, ne_get_session_flag): New prototypes.
(ne_set_persist): Removed prototype.

* src/ne_session.c (ne_set_session_flag, ne_get_session_flag): New
functions.
(ne_set_persist): Removed function.

* src/ne_private.h (ne_session): Replace no_persist field with flags
array.

* src/ne_request.c (add_fixed_headers, ne_end_request): Use flags
array.
(ne_begin_request): Remove redunant check for no_persist flag;
send_request() will only return NE_RETRY if a persistent connection
was reused.

* test/session.c (flags): New test case.

------------------------------------------------------------------------
r942 | joe | 2006-02-25 15:02:25 +0000 (Sat, 25 Feb 2006) | 11 lines

Forward-port the compression-vs-retry fix by using the new ne_unhook_*
functions:

* src/ne_compress.c (gz_pre_send): New function.
(ne_decompress_reader): Don't initialize all context state here;
register pre_send hook.
(ne_decompress_destroy): Unregister hook; move function lower in
module.

* test/compress.c: retry_compress is no longer XFAIL.

------------------------------------------------------------------------
r941 | joe | 2006-02-25 14:47:18 +0000 (Sat, 25 Feb 2006) | 2 lines

* src/ne_request.h: Clarify exactly what is unsafe.

------------------------------------------------------------------------
r940 | joe | 2006-02-25 14:45:09 +0000 (Sat, 25 Feb 2006) | 9 lines

* src/ne_request.h: Make behaviour undefined when unregistering hooks
from a corresponding hook implementation, except for the
destroy_request hook.

* src/ne_request.c (ne_request_destroy): Make safe against the hook
list changing under foot.

* test/request.c (hook_self_destroy): New test.

------------------------------------------------------------------------
r939 | joe | 2006-02-25 14:10:05 +0000 (Sat, 25 Feb 2006) | 3 lines

* src/ne_request.c (send_request): Set error string to socket error if
sending request header fails.

------------------------------------------------------------------------
r938 | joe | 2006-02-25 13:52:31 +0000 (Sat, 25 Feb 2006) | 7 lines

* src/ne_request.c (hash_and_lower, read_response_headers): Use
ne_tolower.

* src/ne_string.h (NE_ASC2HEX): Use ne_tolower.

* src/ne_md5.c: Don't include ctype.h.

------------------------------------------------------------------------
r937 | joe | 2006-02-25 13:43:13 +0000 (Sat, 25 Feb 2006) | 4 lines

* src/ne_string.h (ne_tolower, ne_tolower_array): New macro, function.

* src/ne_string.c (ne_tolower_array): New function.

------------------------------------------------------------------------
r936 | joe | 2006-02-25 13:21:30 +0000 (Sat, 25 Feb 2006) | 3 lines

* src/ne_string.c (ascii_tolower, TOLOWER): Use array-based lowercase
conversion.

------------------------------------------------------------------------
r931 | joe | 2006-02-21 17:29:00 +0000 (Tue, 21 Feb 2006) | 6 lines

* src/ne_locks.c (lk_pre_send, ne_lock): Use ne_buffer_czappend for
constant strings; use "\n" not EOL macro.

* src/ne_props.c (set_body, ne_propfind_allprop, ne_propfind_named,
ne_proppatch, ne_propfind_create, ne_propnames): Likewise.

------------------------------------------------------------------------
r930 | joe | 2006-02-21 17:18:05 +0000 (Tue, 21 Feb 2006) | 6 lines

* src/ne_request.h: Clarify what may be in the Request-URI passed to a
create_request hook.

* BUGS: create_request hook URI handling has been well-defined for a
while; bug was fixed.

------------------------------------------------------------------------
r929 | joe | 2006-02-20 22:48:45 +0000 (Mon, 20 Feb 2006) | 2 lines

* src/ne_session.c (remove_hook): Don't leak the hook structure.

------------------------------------------------------------------------
r928 | joe | 2006-02-20 22:46:32 +0000 (Mon, 20 Feb 2006) | 2 lines

* test/request.c (hooks): Improve hook coverage some more.

------------------------------------------------------------------------
r927 | joe | 2006-02-20 22:26:47 +0000 (Mon, 20 Feb 2006) | 9 lines

* src/ne_request.h (ne_unhook_pre_send, ne_unhook_post_send,
ne_unhook_destroy_request, ne_unhook_destroy_session): Add prototypes.

* src/ne_session.c (remove_hook, ne_unhook_pre_send,
ne_unhook_post_send, ne_unhook_destroy_request,
ne_unhook_destroy_session): New functions.

* test/request.c (hooks): New test case.

------------------------------------------------------------------------
r926 | joe | 2006-02-20 21:55:55 +0000 (Mon, 20 Feb 2006) | 7 lines

* src/ne_session.c (add_hook, ne_hook_create_request,
ne_hook_pre_send, ne_hook_post_send, ne_hook_destroy_request,
ne_hook_destroy_session, ne_set_session_private): Moved here...

* src/ne_request.c: ...from here.
(ne_set_request_private): Inline add_hook.

------------------------------------------------------------------------
r925 | joe | 2006-02-20 21:42:38 +0000 (Mon, 20 Feb 2006) | 2 lines

* test/socket.c (multi_init): Update for refcounting init/exit.

------------------------------------------------------------------------
r924 | joe | 2006-02-20 21:42:24 +0000 (Mon, 20 Feb 2006) | 3 lines

* src/ne_openssl.c (ne__ssl_exit): Don't use debugging calls in
ne_sock_exit; debug stream may have been closed.

------------------------------------------------------------------------
r923 | joe | 2006-02-18 09:17:41 +0000 (Sat, 18 Feb 2006) | 3 lines

* src/ne_gnutls.c: Fix --enable-threadsafe-ssl build; include
pthread.h and errno.h, fix cpp syntax error.

------------------------------------------------------------------------
r922 | joe | 2006-02-17 22:16:24 +0000 (Fri, 17 Feb 2006) | 2 lines

* TODO: Strike out stuff which is either done or out-of-scope.

------------------------------------------------------------------------
r921 | joe | 2006-02-17 17:27:32 +0000 (Fri, 17 Feb 2006) | 11 lines

* macros/neon.m4 (NEON_SSL): Add --enable-threadsafe-ssl flag which
requests thread-safety for the SSL library using POSIX mutexes.

* src/ne_openssl.c [HAVE_PTHREADS] (thread_id_neon, thread_lock_neon):
New functions.
(ne__ssl_init, ne__ssl_exit) [HAVE_PTHREADS]: Register/unregister
thread-safety callbacks, if safe to do so.

* src/ne_gnutls.c (ne__ssl_init, ne__ssl_exit): Register libgcrypt
POSIX thread support.

------------------------------------------------------------------------
r920 | joe | 2006-02-17 17:07:40 +0000 (Fri, 17 Feb 2006) | 2 lines

* src/ne_auth.c: Fix typo.

------------------------------------------------------------------------
r919 | joe | 2006-02-17 17:07:03 +0000 (Fri, 17 Feb 2006) | 10 lines

* src/ne_privssl.h (ne__ssl_init, ne__ssl_exit): Add prototypes.

* src/ne_socket.c (init_ssl): Removed.
(ne_sock_init, ne_sock_init): Call ne__ssl_init, ne__ssl_exit
to handle process-global init/exit of the SSL library.

* src/ne_openssl.c (ne__ssl_init, ne__ssl_exit): New functions.

* src/ne_gnutls.c (ne__ssl_init, ne__ssl_exit): New functions.

------------------------------------------------------------------------
r917 | joe | 2006-02-16 18:38:25 +0000 (Thu, 16 Feb 2006) | 3 lines

* src/ne_socket.c, src/ne_socket.h (ne_sock_init, ne_sock_exit):
Refcount to allow multiple calls per process.

------------------------------------------------------------------------
r916 | joe | 2006-02-16 09:37:40 +0000 (Thu, 16 Feb 2006) | 3 lines

* test/common/tests.h (ONCMP): Show expected/unexpected string in
failure message if other is NULL.

------------------------------------------------------------------------
r915 | joe | 2006-02-16 09:36:57 +0000 (Thu, 16 Feb 2006) | 2 lines

* test/common/tests.c (TEST_DEBUG): Add NE_DBG_HTTPPLAIN.

------------------------------------------------------------------------
r913 | joe | 2006-02-15 21:00:39 +0000 (Wed, 15 Feb 2006) | 8 lines

* test/auth.c (make_digest): Handle MD5-sess algorithm.
(verify_digest_header): Verify that all expected fields 
are present, not that all present fields are as expected.
(make_authinfo_header): Respect proxy parameter.
(make_digest_header): New function.
(serve_digest, test_digest): Respect proxy parameter.
(digest): Factor out from digest_* functions.

------------------------------------------------------------------------
r912 | joe | 2006-02-15 20:57:28 +0000 (Wed, 15 Feb 2006) | 3 lines

* src/ne_auth.c (digest_challenge): Give useful error messages for
malformed challenges.

------------------------------------------------------------------------
r911 | joe | 2006-02-15 16:48:05 +0000 (Wed, 15 Feb 2006) | 2 lines

* test/lock.c (fail_lockauth): Set lock token.

------------------------------------------------------------------------
r909 | joe | 2006-02-15 09:16:09 +0000 (Wed, 15 Feb 2006) | 13 lines

* src/ne_auth.c: Remove unnecessary forward declaration of
struct auth_protocol.
(verify_digest_response): Reflow to give useful errors; 
drop conditional which was needed for qop=auth-int.

* test/auth.c (make_digest): Factored out from check_digest.
(check_digest): Use make_digest.
(make_authinfo_header): New function.
(serve_digest): Add Authentication-Info handling.
(test_digest): Factored out from digest_rfc2617/digest_rfc2069.
(digest_rfc2617, digest_rfc2069): Use test_digest.
(digest_auth_info, digest_failures): New test cases.

------------------------------------------------------------------------
r897 | joe | 2006-02-14 12:17:49 +0000 (Tue, 14 Feb 2006) | 4 lines

* src/ne_auth.c (struct auth_request): Remove unused response_body
field and pointless will_handle field.
(verify_digest_response, ah_pre_send): Remove will_handle flag.

------------------------------------------------------------------------
r896 | joe | 2006-02-14 12:10:01 +0000 (Tue, 14 Feb 2006) | 13 lines

* src/ne_auth.c (struct auth_request): Move attempt field here from
auth_session.
(struct auth_protocol): Pass attempt counter to challenge callback.
(get_credentials): Take attempt counter as parameter.
(basic_challenge, digest_challenge): Pass through attempt counter
to get_credentials accordingly.
(gssapi_challenge): Only respect a Negotiate challenge if it is an
initial challenge, with no input token, or a continuation, with an
input token.
(auth_challenge): Pass through attempt counter.
(ah_create): Don't reset session->attempt.
(ah_post_send): Pass and increment attempt counter here.

------------------------------------------------------------------------
r895 | joe | 2006-02-14 11:51:03 +0000 (Tue, 14 Feb 2006) | 3 lines

* src/ne_auth.c: Clean up debugging output a little; no functional
change.

------------------------------------------------------------------------
r890 | joe | 2006-02-12 22:24:03 +0000 (Sun, 12 Feb 2006) | 3 lines

* test/auth.c (dup_header, check_digest, verify_digest_header,
serve_digest, digest_rfc2617, digest_rfc2069): New functions.

------------------------------------------------------------------------
r889 | joe | 2006-02-12 12:05:14 +0000 (Sun, 12 Feb 2006) | 6 lines

* src/ne_sspi.c, src/ne_sspi.h (ne_sspi_get_mechanism): Remove
function.

* src/ne_auth.c (request_sspi): Use protocol name rather than jumping
through SSPI code.

------------------------------------------------------------------------
r888 | joe | 2006-02-12 10:14:42 +0000 (Sun, 12 Feb 2006) | 2 lines

* doc/ref/auth.xml: Fix callback type name.

------------------------------------------------------------------------
r885 | joe | 2006-02-11 23:56:58 +0000 (Sat, 11 Feb 2006) | 2 lines

* doc/ref/ssltrust.xml: Fix typo.

------------------------------------------------------------------------
r883 | joe | 2006-02-11 23:46:47 +0000 (Sat, 11 Feb 2006) | 2 lines

* NEWS: Remove completed TODO list item.

------------------------------------------------------------------------
r882 | joe | 2006-02-11 17:03:16 +0000 (Sat, 11 Feb 2006) | 2 lines

* src/ne_auth.c (free_auth): Free the handlers when the session is destroyed.

------------------------------------------------------------------------
r881 | joe | 2006-02-11 16:30:27 +0000 (Sat, 11 Feb 2006) | 3 lines

* test/run.sh: Set MALLOC_PERTURB_ to enable glibc malloc
randomization.

------------------------------------------------------------------------
r880 | joe | 2006-02-11 13:29:34 +0000 (Sat, 11 Feb 2006) | 20 lines

Allow control over which auth protocols are used:

* src/ne_auth.h (ne_add_server_auth, ne_add_proxy_auth): New
prototypes.

* src/ne_auth.c (struct auth_handler): New structure.
(auth_challenge): Store a pointer to a handler.
(auth_session): Store a list of handlers.
(auth_protocol): Make id type 'unsigned'.
(get_credentials): Take challenge argument.
(basic_challenge, digest): Pass challenge structure to get_credentials.
(auth_register): Take protocol mask; allow multiple calls per session.
Append a handler to list registered for the session.  Only initialize
GSSAPI fields if Negotiate is allowed.
(auth_register_default): New function.
(auth_challenge): Iterate through the session's handler list for 
each challenge; store a pointer to the handler in the challenge.
(ne_set_server_auth, ne_set_proxy_auth): Use auth_register_default.
(ne_add_server_auth, ne_add_proxy_auth): New functions.

------------------------------------------------------------------------
r879 | joe | 2006-02-11 11:37:32 +0000 (Sat, 11 Feb 2006) | 18 lines

Refactor auth protocol support as first step to exposing protocols in
the API:

* src/ne_auth.c (struct auth_protocol): New structure; replaces
auth_scheme enum.
(struct auth_session, struct auth_challenge): Store pointer
to protocol structure in place of scheme value.
(request_basic, request_gssapi, verify_negotiate_response,
gssapi_challenge, sspi_challenge): Adjust to use generic callback
prototypes; don't set ->scheme, use ->protocol instead.
(insert_challenge): New function.
(auth_challenge): Adjust to construct a list of challenges,
kept sorted by protocol strength field.  Walk the list once
until a protocol challenge callback succeeds.
(ah_pre_send): Adjust to use the protocol response callback.
(ah_post_send): Adjust to use the protocol verify callback.
(protocols): Add global protocol definitions array.

------------------------------------------------------------------------
r878 | joe | 2006-02-11 11:15:32 +0000 (Sat, 11 Feb 2006) | 2 lines

* src/ne_auth.h: Move hint on using attempt as return value.

------------------------------------------------------------------------
r869 | joe | 2006-02-08 23:04:03 +0000 (Wed, 08 Feb 2006) | 12 lines

Patch from Stefan Küng to fix endless authentication loop if the
authentication fails:

* src/ne_sspi.c, src/ne_sspi.h:
  New public function to tell the lib that an authentication was
  successful.
  Return an error if the authentication is restarted without a
  successful authentication before.
* src/ne_auth.c:
  Call the new public function to tell the library about a successful
  authentication.

------------------------------------------------------------------------
r842 | joe | 2006-01-11 12:10:50 +0000 (Wed, 11 Jan 2006) | 3 lines

* test/uri-tests.c (parse): Add some more test cases and make failure
messages clearer.

------------------------------------------------------------------------
r840 | joe | 2006-01-10 23:19:39 +0000 (Tue, 10 Jan 2006) | 2 lines

* src/ne_auth.c (ah_post_send): Fix non-SSPI build.

------------------------------------------------------------------------
r839 | joe | 2006-01-10 23:19:01 +0000 (Tue, 10 Jan 2006) | 6 lines

Apply other half of Stefan's patch which got lost in the wash
somewhere:

* src/ne_sspi.c: Return an error if the authentication is restarted
without a successful authentication before.

------------------------------------------------------------------------
r838 | joe | 2006-01-10 22:59:47 +0000 (Tue, 10 Jan 2006) | 7 lines

Fix build on some AIX systems:

* src/ne_request.c: Include sys/limits.h if available.  Define
LONG_LONG_MAX to LONGLONG_MAX if necessary.

* macros/neon.m4 (LIBNEON_SOURCE_CHECKS): Check for sys/limits.h.

------------------------------------------------------------------------
r837 | joe | 2006-01-10 22:51:39 +0000 (Tue, 10 Jan 2006) | 12 lines

Patch from Stefan Küng to fix endless authentication loop if the
authentication fails:

* src/ne_sspi.c, src/ne_sspi.h:
  New public function to tell the lib that an authentication was
  successful.
  Return an error if the authentication is restarted without a
  successful authentication before.
* src/ne_auth.c:
  Call the new public function to tell the library about a successful
  authentication.

------------------------------------------------------------------------
r836 | joe | 2006-01-10 13:50:45 +0000 (Tue, 10 Jan 2006) | 8 lines

Fix ne_lock_discover() regression:

* src/ne_locks.c (struct discover_ctx): Add reference to the PROPFIND
handler.
(end_element_ldisc): Use it to retrieve current lock.
(ne_lock_discover): Store pointer to the PROPFIND handler in the context;
pass the context as userdata to the XML parser callbacks.

------------------------------------------------------------------------
r835 | joe | 2006-01-10 13:39:59 +0000 (Tue, 10 Jan 2006) | 2 lines

* src/ne_uri.c (CMPWITH): M-x backslash-region.

------------------------------------------------------------------------
r834 | joe | 2006-01-10 13:27:52 +0000 (Tue, 10 Jan 2006) | 2 lines

* src/ne_uri.h: Minor comment tweaks.

------------------------------------------------------------------------
r833 | joe | 2006-01-09 14:39:05 +0000 (Mon, 09 Jan 2006) | 2 lines

Revert r832 per request from Stefan Küng.

------------------------------------------------------------------------
r832 | joe | 2006-01-07 17:36:42 +0000 (Sat, 07 Jan 2006) | 5 lines

Patch from Stefan Küng:

* src/ne_sspi.c:
  free allocated memory before returning with an error.

------------------------------------------------------------------------
r831 | joe | 2006-01-06 15:36:46 +0000 (Fri, 06 Jan 2006) | 4 lines

* src/ne_gnutls.c, src/ne_openssl.c, src/ne_basic.c,
src/ne_compress.c, src/ne_uri.c, src/ne_auth.c, src/ne_locks.c: Use
ne_strcasecmp in favour of locale-dependent strcasecmp throughout.

------------------------------------------------------------------------
r830 | joe | 2006-01-06 14:54:32 +0000 (Fri, 06 Jan 2006) | 4 lines

* src/ne_locks.c (CMPWITH): Simplify to reduce number of branches.

* test/uri-tests.c (cmp): Test every comparison for reflexivity;

------------------------------------------------------------------------
r829 | joe | 2006-01-06 14:37:12 +0000 (Fri, 06 Jan 2006) | 8 lines

* src/ne_uri.c (CMPWITH): New macro.
(CMP, CASECMP): Implement using it.  Use ne_strcasecmp.
(ne_uri_cmp): Fix handling of empty paths; compare query, fragment
and userinfo.

* test/uri-tests.c (cmp): Rewrite and improve coverage.
(cmp_differ): Remove function.

------------------------------------------------------------------------
r828 | joe | 2006-01-06 14:05:40 +0000 (Fri, 06 Jan 2006) | 2 lines

* src/ne_i18n.h: Expand on use of ne_i18n_init a little.

------------------------------------------------------------------------
r827 | joe | 2006-01-06 12:26:46 +0000 (Fri, 06 Jan 2006) | 9 lines

Add locale-independent implementations of strcasecmp/strncasecmp, from
glibc:

* src/ne_string.h (ne_strcasecmp, ne_strncasecmp): Add prototypes.

* src/ne_string.c (ne_strcasecmp, ne_strncasecmp): New functions.

* test/string-tests.c (casecmp, casencmp): Add test cases.

------------------------------------------------------------------------
r825 | joe | 2006-01-02 11:43:19 +0000 (Mon, 02 Jan 2006) | 40 lines

* src/ne_207.h (ne_207_create): Take a base URI argument.
(ne_207_start_response): Give parsed URI structure rather than raw
string.

* src/ne_207.c (struct ne_207_parser_s): Add URI base member.
(end_element): Parse and resolve the href URI; pass resolved URI
to start_response callback.
(ne_207_create): Take a copy of given base URI.
(ne_207_destroy): ... and free it.
(start_response): Unparse the given URI.
(ne_simple_request): Mock up a base URI.

* src/ne_props.h (ne_props_result, ne_props_create_complex): Take URI
structure rather than raw string.

* src/ne_props.c (ne_prop_result_set_s): Store URI structure.
(start_response): Take a copy of passed-in URI in propset; pass it 
back to creator callback.
(free_propset): Free stored URI.
(end_response): Pass stored URI to results callback.
(ne_propfind_create): Create base URI to pass to ne_207_create.

* src/ne_locks.h (ne_lock_result): Take a URI structure rather than
raw string.

* src/ne_locks.c (struct discover_ctx): Remove session member.
(discover_results): Use given URI structure throughout.
(ld_create): Copy URI structure directly to lock.
(ne_lock_discover): No need to take a reference to the session.

* src/Makefile.in: Update dependencies.

* test/props.c (dummy_results, simple_results, tos_startresp): Adjust
to take URI structure.
(run_207_response): Initialize base URI to pass to ne_207_create.
(pfind_simple): Only use URI path in result strings.

* test/lock.c (discover_result, dummy_discover): Adjust to take URI
structure.

------------------------------------------------------------------------
r824 | joe | 2006-01-02 10:28:10 +0000 (Mon, 02 Jan 2006) | 2 lines

* src/ne_xmlreq.h: Fix typo in comment.

------------------------------------------------------------------------
r823 | joe | 2006-01-01 23:42:03 +0000 (Sun, 01 Jan 2006) | 4 lines

* src/ne_uri.h, src/ne_uri.c (ne_uri_resolve): Return target pointer.

* test/uri-tests.c (resolve): Test for such.

------------------------------------------------------------------------
r822 | joe | 2006-01-01 23:17:51 +0000 (Sun, 01 Jan 2006) | 3 lines

* test/uri-tests.c (parse): Test for the slightly odd triple-slash
case.

------------------------------------------------------------------------
r821 | joe | 2006-01-01 23:02:41 +0000 (Sun, 01 Jan 2006) | 3 lines

* test/uri-tests.c (parse): Explicitly test for a URI with no path
component.

------------------------------------------------------------------------
r820 | joe | 2006-01-01 22:37:50 +0000 (Sun, 01 Jan 2006) | 3 lines

* src/ne_locks.c (ne_lock_using_parent): Zero-initalize lock
structure.

------------------------------------------------------------------------
r819 | joe | 2006-01-01 22:35:38 +0000 (Sun, 01 Jan 2006) | 6 lines

Fixes found by --enable-memleak build:

* src/ne_uri.c (ne_uri_resolve): Fix double assignment of query
component.
(ne_uri_free): Free the query and fragment fields.

------------------------------------------------------------------------
r818 | joe | 2006-01-01 22:29:45 +0000 (Sun, 01 Jan 2006) | 3 lines

* src/ne_uri.c (remove_dot_segments): malloc the correct size of
output buffer rather than strdup'ing the input buffer.

------------------------------------------------------------------------
r817 | joe | 2006-01-01 22:22:07 +0000 (Sun, 01 Jan 2006) | 2 lines

* src/ne_locks.c (ne_lock_copy): Use ne_uri_copy.

------------------------------------------------------------------------
r816 | joe | 2006-01-01 21:20:33 +0000 (Sun, 01 Jan 2006) | 6 lines

* src/ne_uri.h (ne_uri_copy): Add prototype.

* src/ne_uri.c (ne_uri_copy): New function.

* test/uri-tests.c (copy): New test case.

------------------------------------------------------------------------
r815 | joe | 2006-01-01 21:19:25 +0000 (Sun, 01 Jan 2006) | 5 lines

* src/ne_uri.c (ne_uri_unparse): Handle port correctly if scheme is
undefined.

* test/uri-tests.c (unparse): Add test case.

------------------------------------------------------------------------
r814 | joe | 2006-01-01 19:02:23 +0000 (Sun, 01 Jan 2006) | 2 lines

* src/ne_uri.c (ne_uri_unparse): Fix missing NULL list terminator.

------------------------------------------------------------------------
r813 | joe | 2006-01-01 18:58:00 +0000 (Sun, 01 Jan 2006) | 7 lines

* src/ne_uri.c (remove_dot_segments): Fix case 2.A.
(copy_authority): Fix to duplicate userinfo if defined.
(ne_uri_resolve): Fix to only copy scheme if defined.
(ne_uri_unparse): Fix handling of URIs with authority but no scheme.

* test/uri-tests.c (unparse, resolve): Add test cases for above.

------------------------------------------------------------------------
r812 | joe | 2006-01-01 17:22:11 +0000 (Sun, 01 Jan 2006) | 7 lines

* src/ne_uri.h (ne_uri_resolve): Add prototype.

* src/ne_uri.c (copy_authority, merge_paths, remove_dot_segments,
ne_uri_resolve): New functions.

* test/uri-tests.c (resolve): Add test cases.

------------------------------------------------------------------------
r811 | joe | 2006-01-01 17:10:57 +0000 (Sun, 01 Jan 2006) | 7 lines

* src/ne_uri.c (ne_uri_parse): Empty string is a valid URI-reference,
so allow it.
(ne_uri_unparse): Handle URIs with undefined authority.

* test/uri-tests.c (parse): Add test case for former.
(unparse): Add test case for latter.

------------------------------------------------------------------------
r810 | joe | 2006-01-01 14:58:37 +0000 (Sun, 01 Jan 2006) | 2 lines

* src/Makefile.in (neonreq): Depend on ne_uri.h.

------------------------------------------------------------------------
r809 | joe | 2006-01-01 14:57:28 +0000 (Sun, 01 Jan 2006) | 3 lines

* test/uri-tests.c (escapes, failparse, unparse): Improve test
coverage (100% of branches taken).

------------------------------------------------------------------------
r808 | joe | 2006-01-01 14:43:11 +0000 (Sun, 01 Jan 2006) | 15 lines

* src/ne_uri.h (ne_uri): Rename authinfo field to userinfo.
Add query and fragment fields.

* src/ne_locks.c (ne_lock_using_parent): Adjust accordingly.

* src/ne_uri.c (ne_uri_parse): Adjust for userinfo/authinfo rename.
Parse fragment and query; parse path component strictly.
(ne_uri_free): Adjust for authinfo rename.
(ne_uri_unparse): Adjust for authinfo rename; handle query and
fragment.

* test/uri-tests.c (parse, unparse): Add tests for query/fragment
handling.
(failparse): Add some cases with invalid path segments.

------------------------------------------------------------------------
r807 | joe | 2006-01-01 13:37:56 +0000 (Sun, 01 Jan 2006) | 11 lines

* src/ne_uri.h (ne_uri_parse): Redefine to take a URI-reference as
input.

* src/ne_uri.c (uri_chars): Redefine array giving more detailed
character classes.  
(ne_uri_parse): Rewrite to properly parse a URI-reference.
(ne_path_escape): Do respect the authinfo field.

* test/uri-tests.c (just_hostname, just_path): Remove tests.
(parse): Remove some non-URI-reference tests; add some more.

------------------------------------------------------------------------
r806 | joe | 2005-12-31 18:22:35 +0000 (Sat, 31 Dec 2005) | 2 lines

* test/session.c (fill_uri): Use ONCMP.

------------------------------------------------------------------------
r775 | joe | 2005-11-29 20:58:08 +0000 (Tue, 29 Nov 2005) | 3 lines

* src/ne_socket.c: Revert debugging code accidentally committed in
r774.

------------------------------------------------------------------------
r774 | joe | 2005-11-29 20:54:50 +0000 (Tue, 29 Nov 2005) | 10 lines

* macros/neon.m4 (NEON_SSL): Check for gnutls_session_get_data2.

* src/ne_privssl.h (ne_ssl_context_s) [HAVE_GNUTLS &&
HAVE_GNUTLS_SESSION_GET_DATA2]: Just store a single gnutls_datum for
the cache.client field.

* src/ne_socket.c [HAVE_GNUTLS] (ne_sock_connect_ssl): Use
gnutls_session_get_data2 if available; otherwise do check for errors
from _get_data.

------------------------------------------------------------------------
r773 | joe | 2005-11-29 17:46:26 +0000 (Tue, 29 Nov 2005) | 3 lines

* src/ne_gnutls.c (ne__negotiate_ssl): Skip verification of the cert
if it's the same as last time; fixes the "cache_verify" test.

------------------------------------------------------------------------
r772 | joe | 2005-11-29 16:55:16 +0000 (Tue, 29 Nov 2005) | 9 lines

* macros/neon.m4 (NEON_SSL): Add --with-ca-bundle flag to allow an
(alternative) SSL CA bundle to be configured/used.

* src/ne_openssl.c (ne_ssl_trust_default_ca): Honour NE_SSL_CA_BUNDLE
if defined, in preference to use of OpenSSL-default CA bundle.

* src/ne_gnutls.c (ne_ssl_trust_default_ca): Implement using
NE_SSL_CA_BUNDLE.

------------------------------------------------------------------------
r771 | joe | 2005-11-29 16:07:48 +0000 (Tue, 29 Nov 2005) | 3 lines

* macros/neon.m4 (NEON_SSL): Allow enabling GNUTLS support since it's
mostly complete now.

------------------------------------------------------------------------
r770 | joe | 2005-11-29 16:04:01 +0000 (Tue, 29 Nov 2005) | 4 lines

* src/ne_socket.c (ne_sock_sessid): Fail for non-SSL sockets.

* test/socket.c (ssl_session_id): Fix for non-SSL build.

------------------------------------------------------------------------
r769 | joe | 2005-11-29 15:13:02 +0000 (Tue, 29 Nov 2005) | 4 lines

* src/ne_socket.c (ne_sock_sessid): Fail for non-SSL sockets.

* test/socket.c (ssl_session_id): Fix for non-SSL build.

------------------------------------------------------------------------
r768 | joe | 2005-11-29 15:09:06 +0000 (Tue, 29 Nov 2005) | 6 lines

* src/ne_socket.c (ne_sock_sessid): New function.

* src/ne_socket.h (ne_sock_sessid): Add prototype.

* test/socket.c (ssl_session_id): New test.

------------------------------------------------------------------------
r767 | joe | 2005-11-29 13:17:49 +0000 (Tue, 29 Nov 2005) | 12 lines

Implement session caching for GNUTLS:

* src/ne_socket.c (copy_datum, store_sess, match_datum, retrieve_sess,
remove_sess): New functions.
(ne_sock_accept_ssl) [HAVE_GNUTLS]: Implement dummy session cache.
(ne_sock_connect_ssl) [HAVE_GNUTLS]: Cache client session.

* src/ne_gnutls.c (ne_ssl_context_destroy): Free session cache.

* src/ne_privssl.h [HAVE_GNUTLS] (struct ne_ssl_context_s): Add
session cache fields.

------------------------------------------------------------------------
r766 | joe | 2005-11-28 21:54:09 +0000 (Mon, 28 Nov 2005) | 2 lines

* src/ne_207.h, src/ne_dates.h: Fix multiple-inclusion-safety symbols.

------------------------------------------------------------------------
r765 | joe | 2005-11-28 13:02:36 +0000 (Mon, 28 Nov 2005) | 2 lines

* src/ne_gnutls.c (make_peers_chain): Don't leak if import fails.

------------------------------------------------------------------------
r764 | joe | 2005-11-28 11:47:06 +0000 (Mon, 28 Nov 2005) | 3 lines

* src/ne_socket.c (error_gnutls): Distinguish between generic errors
and receipt of an SSL alert.

------------------------------------------------------------------------
r763 | joe | 2005-11-28 11:44:41 +0000 (Mon, 28 Nov 2005) | 4 lines

* src/ne_socket.c (error_gnutls): Improve error handling; always treat
GNUTLS_E_UNEXPECTED_PACKET_LENGTH as a truncation, socket errors as a
reset.

------------------------------------------------------------------------
r761 | joe | 2005-11-28 10:59:08 +0000 (Mon, 28 Nov 2005) | 3 lines

* test/ssl.c (wildcard_init): Update error message now most hostname
commands should work OK.

------------------------------------------------------------------------
r760 | joe | 2005-11-28 08:53:45 +0000 (Mon, 28 Nov 2005) | 7 lines

* test/makekeys.sh: Create a PKCS#12 client cert with embedded CA
cert.

* test/Makefile.in (clean): Clean all PKCS#12 certs.

* test/ssl.c (load_client_cert): Load the new cert.

------------------------------------------------------------------------
r759 | joe | 2005-11-28 08:36:20 +0000 (Mon, 28 Nov 2005) | 3 lines

* src/ne_openssl.c (ne_ssl_clicert_decrypt): Check that private
key/cert match.

------------------------------------------------------------------------
r755 | joe | 2005-11-24 22:37:49 +0000 (Thu, 24 Nov 2005) | 10 lines

* src/ne_request.c (open_connection, do_connect): Take session pointer
as argument not request.

* src/ne_openssl.c (ne__negotiate_ssl): Take session pointer as
argument not request.

* src/ne_gnutls.c (ne__negotiate_ssl): Likewise.

* src/ne_private.h (ne__negotiate_ssl): Update prototype.

------------------------------------------------------------------------
r754 | joe | 2005-11-23 15:20:37 +0000 (Wed, 23 Nov 2005) | 2 lines

* test/makekeys.sh: Fix new domain extraction for multi-part domains.

------------------------------------------------------------------------
r750 | joe | 2005-10-29 14:41:18 +0100 (Sat, 29 Oct 2005) | 2 lines

* src/ne_alloc.h: Remove NE_FREE macro.

------------------------------------------------------------------------
r749 | joe | 2005-10-29 14:40:09 +0100 (Sat, 29 Oct 2005) | 4 lines

* src/ne_props.c (free_propset): Eliminate use of NE_FREE macro.

* src/ne_redirect.c (create): Likewise.

------------------------------------------------------------------------
r748 | joe | 2005-10-29 14:34:59 +0100 (Sat, 29 Oct 2005) | 2 lines

* src/ne_auth.c (clean_session): Eliminate use of NE_FREE macro.

------------------------------------------------------------------------
r747 | joe | 2005-10-29 14:31:22 +0100 (Sat, 29 Oct 2005) | 3 lines

* src/ne_207.c (end_element, start_response, ne_simple_request):
Eliminate use of NE_FREE macro.

------------------------------------------------------------------------
r746 | joe | 2005-10-29 00:32:50 +0100 (Sat, 29 Oct 2005) | 6 lines

Fix type mismatch with OpenSSL >= 0.9.8.

* src/ne_openssl.c (ne_d2i_uchar): Add typedef.
(ne_ssl_cert_import): Use ne_d2i_uchar as type of second
argument to d2i_x509.

------------------------------------------------------------------------
r736 | joe | 2005-10-13 20:01:35 +0100 (Thu, 13 Oct 2005) | 3 lines

* test/makekeys.sh: Begin octal escapes with \0; use sed to munge
hostname.  (based on patch by Mikhail Teterin)

------------------------------------------------------------------------
r735 | joe | 2005-10-13 08:18:17 +0100 (Thu, 13 Oct 2005) | 9 lines

GSSAPI fixes for non-MIT Kerberos implementations, from Mikhail
Teterin:

* src/ne_auth.c (clean_session): Pass pointer to gssctx to
gss_delete_sec_context.  Don't release stored gssmech.
(continue_negotiate): Pass sess->gssmech directly to
gss_init_sec_context.
(free_auth): Pass pointer to stored name to gss_release_name.

------------------------------------------------------------------------
r733 | joe | 2005-10-09 14:31:00 +0100 (Sun, 09 Oct 2005) | 3 lines

* src/: In all files, s/BEGIN_NEON_DECLS/NE_BEGIN_DECLS/g and
s/END_NEON_DECLS/NE_END_DECLS/g.

------------------------------------------------------------------------
r732 | joe | 2005-10-09 14:28:03 +0100 (Sun, 09 Oct 2005) | 2 lines

* src/ne_i18n.h: Use {BEGIN,END}_NEON_DECLS.

------------------------------------------------------------------------
r730 | joe | 2005-10-09 09:16:39 +0100 (Sun, 09 Oct 2005) | 3 lines

* src/ne_private.h (struct ne_session_s): Use 512-byte buffer for
error string.

------------------------------------------------------------------------
r729 | joe | 2005-10-09 09:15:49 +0100 (Sun, 09 Oct 2005) | 3 lines

* src/ne_request.c [!NE_LFS]: Define NE_OFFT_MAX correctly for
platforms with sizeof(off_t) == sizeof(long long).

------------------------------------------------------------------------
r726 | joe | 2005-10-06 09:08:36 +0100 (Thu, 06 Oct 2005) | 10 lines

* src/ne_defs.h (NE_BUFSIZ): Define.

* src/ne_request.c (struct ne_request_s): Use NE_BUFSIZ for respbuf
size.
(send_request_body): Use NE_BUFSIZ for buffer.
(ne_print_request_header): Use NE_BUFSIZ for stack buffer.

* src/ne_compress.c (struct ne_decompress_s): Use NE_BUFSIZ for outbuf
size.

------------------------------------------------------------------------
r722 | joe | 2005-09-22 02:02:12 +0100 (Thu, 22 Sep 2005) | 3 lines

* src/ne_xml.c [HAVE_EXPAT]: Fix NEED_BOM_HANDLING for the
!defined(XML_MAJOR_VERSION) case; patch by D.J. Heap.

------------------------------------------------------------------------
r721 | joe | 2005-09-22 01:59:37 +0100 (Thu, 22 Sep 2005) | 2 lines

* config.hw.in (in_addr_t) [!USE_GETADDRINFO]: Define to unsigned int.

------------------------------------------------------------------------
r719 | joe | 2005-09-19 20:36:57 +0100 (Mon, 19 Sep 2005) | 2 lines

* doc/ref/reqopts.xml: Fix parameter type.

------------------------------------------------------------------------
r718 | joe | 2005-09-19 10:17:43 +0100 (Mon, 19 Sep 2005) | 2 lines

* doc/ref/iaddr.xml: Fix function name.

------------------------------------------------------------------------
r716 | joe | 2005-09-19 10:14:53 +0100 (Mon, 19 Sep 2005) | 2 lines

* src/ne_request.h (ne_get_response_header): Fix docco.

------------------------------------------------------------------------
r715 | joe | 2005-09-19 10:14:23 +0100 (Mon, 19 Sep 2005) | 2 lines

* doc/ref/resphdr.xml: Fix typo in element name.

------------------------------------------------------------------------
r713 | joe | 2005-09-17 18:07:53 +0100 (Sat, 17 Sep 2005) | 3 lines

* src/ne_gnutls.c (provide_client_cert): Remove unused variable.
(ne_ssl_cert_write, ne_ssl_cert_read): Fix type of length variables.

------------------------------------------------------------------------
r712 | joe | 2005-09-17 14:55:17 +0100 (Sat, 17 Sep 2005) | 4 lines

* src/ne_gnutls.c (ne_ssl_context_create): Zero-initialize allocated
structure.  (provide_client_cert): Fail if no ne_session * pointer is
registered with the socket.

------------------------------------------------------------------------
r711 | joe | 2005-09-17 14:44:38 +0100 (Sat, 17 Sep 2005) | 2 lines

* src/ne_gnutls.c (check_identity): Handle iPAddress subjectAltName.

------------------------------------------------------------------------
r710 | joe | 2005-09-17 13:35:43 +0100 (Sat, 17 Sep 2005) | 6 lines

Hook up basic client cert provision; based on patch by Aleix Conchillo
Flaque:

* src/ne_gnutls.c (provide_client_cert): New function.
(ne_ssl_context_create): Install client cert provider callback.

------------------------------------------------------------------------
r709 | joe | 2005-09-17 13:26:41 +0100 (Sat, 17 Sep 2005) | 9 lines

* src/ne_privssl.h (struct ne_ssl_context_s) [HAVE_GNUTLS]: Add verify
field.

* src/ne_socket.c (ne_sock_accept_ssl): If ctx->verify is set, verify
peer certificate.

* src/ne_gnutls.c (ne_ssl_context_set_verify): Set ctx->verify.
Comment on lack of handling of ca_names argument.

------------------------------------------------------------------------
r708 | joe | 2005-09-17 12:38:32 +0100 (Sat, 17 Sep 2005) | 3 lines

* src/ne_gnutls.c (x509_crt_copy): Fix check for gnutls_x509_crt_init
return value.

------------------------------------------------------------------------
r707 | joe | 2005-09-17 12:37:26 +0100 (Sat, 17 Sep 2005) | 4 lines

* src/ne_gnutls.c (ne_ssl_readable_dname): Switch to new
implementation since fixed GNUTLS is required.
(ne_ssl_dname_cmp): Implement.

------------------------------------------------------------------------
r706 | joe | 2005-09-17 12:05:51 +0100 (Sat, 17 Sep 2005) | 2 lines

* po/: make update-po.

------------------------------------------------------------------------
r705 | joe | 2005-09-17 12:05:21 +0100 (Sat, 17 Sep 2005) | 3 lines

* Makefile.in (XGETTEXT_OPTS): Explicitly mark functions taking format strings.
(update-po): Pass --check-format to msgfmt.

------------------------------------------------------------------------
r704 | joe | 2005-09-17 12:02:37 +0100 (Sat, 17 Sep 2005) | 3 lines

* src/ne_request.c (body_fd_send): Avoid using macro in string passed
to gettext.

------------------------------------------------------------------------
r698 | joe | 2005-09-14 22:11:32 +0100 (Wed, 14 Sep 2005) | 4 lines

* doc/ref/resphdr.xml: New file; document response header handling.

* doc/manual.xml: Reference it.  

------------------------------------------------------------------------
r697 | joe | 2005-09-14 21:53:41 +0100 (Wed, 14 Sep 2005) | 3 lines

* Makefile.in (doc-status): Add hacky target to see what is undocumented...
"for maintainer's use only".

------------------------------------------------------------------------
r696 | joe | 2005-09-14 21:47:45 +0100 (Wed, 14 Sep 2005) | 6 lines

* doc/ref/reqopts.xml: Document ne_set_request_expect100.

* doc/ref/opts.xml: Remove ne_set_expect100 documentation.

* doc/manual.xml: Pull in reqopts.xml.

------------------------------------------------------------------------
r695 | joe | 2005-09-14 21:40:44 +0100 (Wed, 14 Sep 2005) | 2 lines

* doc/ref/opts.xml: Update for neon 0.25 API.* doc/ref/opts.xml: Update for neon 0.25 API.* doc/ref/opts.xml: Update for neon 0.25 API.* doc/ref/opts.xml: Update for neon 0.25 API.* doc/ref/opts.xml: Update for neon 0.25 API.* doc/ref/opts.xml: Update for neon 0.25 API.* doc/ref/opts.xml: Update for neon 0.25 API.* doc/ref/opts.xml: Update for neon 0.25 API.

------------------------------------------------------------------------
r692 | joe | 2005-08-29 17:31:34 +0100 (Mon, 29 Aug 2005) | 3 lines

* configure.in, po/it.po: Remove translation which looks too
sitecopy-specific.

------------------------------------------------------------------------
r691 | joe | 2005-08-29 17:29:05 +0100 (Mon, 29 Aug 2005) | 10 lines

* src/ne_i18n.h (ne_i18n_init): Take an encoding parameter.

* src/ne_i18n.c (ne_i18n_init) [HAVE_BIND_TEXTDOMAIN_CODESET]: Call
bind_textdomain_codeset if encoding is specified.

* macros/neon.m4 (NEON_I18N): Fix to enable NLS by default.  Check for
bind_textdomain_codeset.

* test/common/tests.c (main): Pass NULL to ne_i18n_init.

------------------------------------------------------------------------
r680 | joe | 2005-08-19 10:24:20 +0100 (Fri, 19 Aug 2005) | 32 lines

Implement support for internationalization of error message:

* src/Makefile.in (NEON_BASEOBJS): Build ne_i18n.o.

* src/ne_i18n.c: Include config.h, ne_i18n.h. (ne_i18n_init): Renamed
from neon_i18n_init.

* src/ne_i18n.h: Remove library-private definition of '_' and 'N_'
macros.

* src/ne_internal.h: New header; add definitions of _ and N_.

* src/*.c: Update all sources to include ne_internal.h instead of
ne_i18n.h.

* po/: New directory.  Add message catalog template and translated
message catalogs extracted from sitecopy.

* macros/neon-test.m4: Check for setlocale and locale.h.

* test/common/tests.c: Include locale.h, ne_i18n.h.  (main): Call
setlocale and ne_i18n_init.

* test/run.sh: By default disable i18n to allow checks for English
error messages to succeed.

* .release.sh: Compile the gmo files here.

* macros/neon.m4 (NEON_I18N): Add macro.

* configure.in: Use NEON_I18N.  Define ALL_LINGUAS.

------------------------------------------------------------------------
r679 | joe | 2005-08-19 08:24:32 +0100 (Fri, 19 Aug 2005) | 3 lines

* src/ne_socket.c (INADDR_NONE): Define using in_addr_t if system is
missing the definition.

------------------------------------------------------------------------
r678 | joe | 2005-08-19 08:19:45 +0100 (Fri, 19 Aug 2005) | 7 lines

* src/ne_socket.c (ne_addr_resolve) [!USE_GETADDRINFO]: Use in_addr_t
not unsigned long for address; fix for LP64 platforms - patch by
Matthew Sanderson.

* macros/neon.m4 (LIBNEON_SOURCE_CHECKS): Add check for in_addr_t.
Fix check for h_errno declaration.

------------------------------------------------------------------------
r671 | joe | 2005-08-14 18:20:23 +0100 (Sun, 14 Aug 2005) | 5 lines

* src/ne_locks.c (ne_lock, ne_unlock): Don't lose the NE_AUTH etc
return code for non-2xx responses.

* test/lock.c (fail_lockauth, no_creds): Add test case.

------------------------------------------------------------------------
r657 | joe | 2005-07-06 12:08:21 +0100 (Wed, 06 Jul 2005) | 2 lines

* src/ne_redirect.c (post_send): Code cleanup.

------------------------------------------------------------------------
r656 | joe | 2005-07-02 12:20:11 +0100 (Sat, 02 Jul 2005) | 2 lines

Add Jiang.

------------------------------------------------------------------------
r655 | joe | 2005-07-02 12:19:44 +0100 (Sat, 02 Jul 2005) | 2 lines

* macros/neon.m4 (NE_MACOSX): Disable poll on Darwin.

------------------------------------------------------------------------
r654 | joe | 2005-07-02 12:18:37 +0100 (Sat, 02 Jul 2005) | 2 lines

* test/Makefile.in (VALGRIND): Update to work with modern valgrind.

------------------------------------------------------------------------
r651 | joe | 2005-06-30 13:17:33 +0100 (Thu, 30 Jun 2005) | 2 lines

* configure.in: Disable tests-install mode by default.

------------------------------------------------------------------------
r650 | joe | 2005-06-30 13:02:29 +0100 (Thu, 30 Jun 2005) | 2 lines

* src/ne_xml.c: Omit BOM handling for recent releases of libxml2.

------------------------------------------------------------------------
r648 | joe | 2005-06-29 09:54:11 +0100 (Wed, 29 Jun 2005) | 12 lines

* Makefile.in (install-tests): New target.

* configure.in: Add --enable-install-tests to support test suite
installation; only add -no-install to TEST_LDFLAGS if not given.

* test/Makefile.in (install, random.txt): New targets.
(LINK): Use TEST_LDFLAGS.
(ZLIB_HELPERS): Add random.txt.

* test/compress.c (init): Use random.txt in pwd rather than trying to
find NEWS from the srcdir.

------------------------------------------------------------------------
r636 | joe | 2005-06-22 09:21:48 +0100 (Wed, 22 Jun 2005) | 17 lines

Merge r627, r629, r631 from 0.25.x branch:

* src/ne_auth.c (ah_post_send): Print auth_hdr safely.
Remove unused SAFELY macro.

* src/ne_compress.c (process_footer): Don't invoke reader callback
with len=0 here as well when end-of-response is really reached.
(do_inflate): Do pass on the reader callback return value.

* test/compress.c (reader): Catch multiple invocations with len=0.
(retry_accept): Reset the reader state.
(reader_abort, compress_abort): New functions.

* src/ne_xml.c (end_element): Use NE_DBG_XML debug channel for
consistency.


------------------------------------------------------------------------
r635 | joe | 2005-06-22 09:14:15 +0100 (Wed, 22 Jun 2005) | 2 lines

* config.hw.in: Really fix the Win32 build.

------------------------------------------------------------------------
r624 | joe | 2005-06-01 10:13:16 +0100 (Wed, 01 Jun 2005) | 3 lines

* src/ne_openssl.c (ne__negotiate_ssl): Replace the cached session
with the new one if they differ; based on patch by Robert Eiglmaier.

------------------------------------------------------------------------
r623 | joe | 2005-06-01 10:10:12 +0100 (Wed, 01 Jun 2005) | 5 lines

* src/ne_basic.c (ne_get_content_type): Ensure that ->charset is NULL
on exit (Johannes Schneider).

* test/basic.c (content_type): Test that all fields are set.

------------------------------------------------------------------------
r622 | joe | 2005-05-20 01:56:31 +0100 (Fri, 20 May 2005) | 3 lines

* src/ne_xml.c (start_element): Use NE_DBG_XML debug constant.
(ne_xml_parse): Use NE_DBG_XMLPARSE debug constant.

------------------------------------------------------------------------
r621 | joe | 2005-05-20 01:44:36 +0100 (Fri, 20 May 2005) | 2 lines

* src/ne_xml.c (char_data): Tidy up debug message.

------------------------------------------------------------------------
r619 | joe | 2005-05-19 22:06:55 +0100 (Thu, 19 May 2005) | 2 lines

Updates.

------------------------------------------------------------------------
r618 | joe | 2005-05-19 22:04:27 +0100 (Thu, 19 May 2005) | 3 lines

* src/ne_request.h (ne_hook_post_send): Clarify when the post_send
hook runs.

------------------------------------------------------------------------
r616 | joe | 2005-05-14 12:35:50 +0100 (Sat, 14 May 2005) | 2 lines

Credit Vladimir.

------------------------------------------------------------------------
r615 | joe | 2005-05-14 12:35:22 +0100 (Sat, 14 May 2005) | 2 lines

* src/ne_auth.c: Fix Windows SSPI build.

------------------------------------------------------------------------
r614 | joe | 2005-05-12 15:24:53 +0100 (Thu, 12 May 2005) | 3 lines

* INSTALL.win32: Update to reference 0.9.7g from confirmation from
David Reid.

------------------------------------------------------------------------
r613 | joe | 2005-05-11 16:07:05 +0100 (Wed, 11 May 2005) | 3 lines

* src/ne_string.c (b64_alphabet): Use constant array; eliminate last
sizeof(pointer)'s worth of data section in libneon.

------------------------------------------------------------------------
r612 | joe | 2005-05-11 16:01:03 +0100 (Wed, 11 May 2005) | 3 lines

* src/ne_dates.c (rfc1123_weekdays, short_months): Mark pointers as
const.

------------------------------------------------------------------------
r611 | joe | 2005-05-09 15:28:47 +0100 (Mon, 09 May 2005) | 2 lines

* src/ne_request.h: Fix nonsensical API requirement.

------------------------------------------------------------------------
r608 | joe | 2005-05-06 15:25:41 +0100 (Fri, 06 May 2005) | 3 lines

Fix the feature name, thanks to the report on the evening
news from a Mr Fogel.

------------------------------------------------------------------------
r599 | joe | 2005-04-24 19:34:46 +0100 (Sun, 24 Apr 2005) | 4 lines

* macros/neon.m4 (NE_REQUIRE_VERSIONS): New macro, replacing
NEON_REQUIRE.  (NEON_CHECK_VERSION): Just check version against that
reported by 'neon-config --version'; support multiple minor versions.

------------------------------------------------------------------------
r593 | joe | 2005-04-24 11:54:55 +0100 (Sun, 24 Apr 2005) | 2 lines

* neon-config.in: Remove idna support flag.

------------------------------------------------------------------------
r592 | joe | 2005-04-24 11:51:15 +0100 (Sun, 24 Apr 2005) | 2 lines

Synch with 0.25.x branch.

------------------------------------------------------------------------
r588 | joe | 2005-04-24 11:06:37 +0100 (Sun, 24 Apr 2005) | 2 lines

* test/stubs.c [!NE_HAVE_ZLIB] (sd_reader): Fix to match prototype.

------------------------------------------------------------------------
r586 | joe | 2005-04-24 09:00:59 +0100 (Sun, 24 Apr 2005) | 3 lines

* test/request.c (send_bad_offset): Use an empty file and a negative
offset rather than /dev/null.

------------------------------------------------------------------------
r585 | joe | 2005-04-24 08:56:46 +0100 (Sun, 24 Apr 2005) | 2 lines

* macros/neon.m4 (NEON_WARNINGS): Tweak gcc warnings.

------------------------------------------------------------------------
r584 | joe | 2005-04-24 08:55:34 +0100 (Sun, 24 Apr 2005) | 2 lines

* src/Makefile.in (c++.c): Fix to exclude ne_privssl.h too.

------------------------------------------------------------------------
r582 | joe | 2005-04-17 22:29:56 +0100 (Sun, 17 Apr 2005) | 2 lines

* Makefile.in (DIST_HEADERS): Do install ne_xmlreq.h.

------------------------------------------------------------------------
r579 | joe | 2005-04-17 21:54:37 +0100 (Sun, 17 Apr 2005) | 2 lines

* src/ne_stubssl.c (ne_ssl_clicert_name): Match new prototype.

------------------------------------------------------------------------
r577 | joe | 2005-04-17 17:05:27 +0100 (Sun, 17 Apr 2005) | 6 lines

Merge r576 from 0.25.x branch:

* config.hw.in: Define the correct version macros.

* .release.sh: Substitute release correctly.

------------------------------------------------------------------------
r574 | joe | 2005-04-17 16:43:25 +0100 (Sun, 17 Apr 2005) | 2 lines

* src/ne_openssl.c (check_identity): Fix typo.

------------------------------------------------------------------------
r571 | joe | 2005-04-16 17:24:56 +0100 (Sat, 16 Apr 2005) | 2 lines

* src/ne_alloc.c (ne_realloc_ml): Fix realloc tracking.

------------------------------------------------------------------------
r570 | joe | 2005-04-15 15:33:04 +0100 (Fri, 15 Apr 2005) | 4 lines

Fix further memory leak found by --enable-memleak:

* src/ne_openssl.c (check_identity): Destroy buffer on error path.

------------------------------------------------------------------------
r569 | joe | 2005-04-15 14:45:32 +0100 (Fri, 15 Apr 2005) | 6 lines

Fix memory leaks found by --enable-memleak:

* src/ne_openssl.c (check_identity): Destroy buffer on error path.

* test/request.c (iterate_many): Destroy temp buffer.

------------------------------------------------------------------------
r568 | joe | 2005-04-15 02:23:13 +0100 (Fri, 15 Apr 2005) | 5 lines

* src/ne_request.c (body_fd_send): Set session error string if seek
fails, per new interface requirement.

* test/request.c (send_bad_offset): New test.

------------------------------------------------------------------------
r567 | joe | 2005-04-15 02:19:34 +0100 (Fri, 15 Apr 2005) | 4 lines

* src/ne_request.h: Improve general comments.
(ne_request_dispatch, ne_set_request_expect100): Clarify.
(ne_get_session): Mark as const.

------------------------------------------------------------------------
r563 | joe | 2005-04-14 20:05:53 +0100 (Thu, 14 Apr 2005) | 2 lines

* neon-config.in: Fix syntax error.

------------------------------------------------------------------------
r562 | joe | 2005-04-14 20:04:50 +0100 (Thu, 14 Apr 2005) | 3 lines

* Makefile.in (DIST_HEADERS): Don't try to install non-existant
ne_cookies.h.

------------------------------------------------------------------------
r560 | joe | 2005-04-14 19:44:56 +0100 (Thu, 14 Apr 2005) | 3 lines

* test/util-tests.c (versioning): Update for new macros, correct
interface.

------------------------------------------------------------------------
r559 | joe | 2005-04-11 14:55:45 +0100 (Mon, 11 Apr 2005) | 4 lines

* src/ne_ssl.h (ne_ssl_clicert_name): Take const clicert argument.

* src/ne_openssl.c, src/ne_gnutls.c: Adapt likewise.

------------------------------------------------------------------------
r558 | joe | 2005-04-06 09:07:18 +0100 (Wed, 06 Apr 2005) | 5 lines

* configure.in: Use NE_VERSIONS_BUNDLED.

* src/ne_utils.c (ne_version_match): Update for new version macros;
make behaviour and docs match reference documentation.

------------------------------------------------------------------------
r554 | joe | 2005-04-05 20:22:40 +0100 (Tue, 05 Apr 2005) | 5 lines

* macros/neon.m4 (NE_DEFINE_VERSIONS): New macro.
(NE_VERSIONS_BUNDLED): Renamed from NEON_VERSIONS; use
NE_DEFINE_VERSIONS.
(NEON_USE_EXTERNAL): Use NE_DEFINE_VERSIONS.

------------------------------------------------------------------------
r553 | joe | 2005-04-05 16:02:49 +0100 (Tue, 05 Apr 2005) | 2 lines

* src/Makefile.in: Add deps for ne_xmlreq.c.

------------------------------------------------------------------------
r551 | joe | 2005-04-05 11:19:42 +0100 (Tue, 05 Apr 2005) | 2 lines

Update.

------------------------------------------------------------------------
r550 | joe | 2005-04-05 11:19:16 +0100 (Tue, 05 Apr 2005) | 2 lines

* src/ne_request.h: Improve comment wording.

------------------------------------------------------------------------
r549 | joe | 2005-04-05 00:50:26 +0100 (Tue, 05 Apr 2005) | 2 lines

Fix typo.

------------------------------------------------------------------------
r548 | joe | 2005-04-04 21:01:56 +0100 (Mon, 04 Apr 2005) | 2 lines

Updates.

------------------------------------------------------------------------
r547 | joe | 2005-04-04 20:51:33 +0100 (Mon, 04 Apr 2005) | 3 lines

* test/uri-tests.c (leak_authinfo): Remove test; API now clarified
such that current implementation is valid.

------------------------------------------------------------------------
r546 | joe | 2005-04-04 20:50:36 +0100 (Mon, 04 Apr 2005) | 2 lines

* src/ne_uri.h (ne_uri_free, ne_uri_parse): Clarify API.

------------------------------------------------------------------------
r545 | joe | 2005-04-04 20:40:08 +0100 (Mon, 04 Apr 2005) | 4 lines

* src/ne_alloc.c, src/ne_alloc.h (ne_oom_callback): Use a typedef for
the callback argument, to fix warnings with OpenWatcom; patch by
Vitali E. Pelenyov.

------------------------------------------------------------------------
r544 | joe | 2005-04-04 20:34:26 +0100 (Mon, 04 Apr 2005) | 4 lines

* src/ne_request.c (add_fixed_headers): Send "close" token in
Connection header if persistent connections are disabled; patch by Tom
Hoefakker.  Use ne_buffer_czappend throughout.

------------------------------------------------------------------------
r542 | joe | 2005-04-04 18:32:15 +0100 (Mon, 04 Apr 2005) | 6 lines

* test/xmlreq.c: New file.

* test/Makefile.in: Build it.

* test/utils.h: Include child.h.

------------------------------------------------------------------------
r541 | joe | 2005-04-04 18:30:50 +0100 (Mon, 04 Apr 2005) | 8 lines

* src/ne_xmlreq.h (ne_xml_parse_response, ne_xml_dispatch_request):
Specify that session error string is set for XML parse errors.

* src/ne_xmlreq.c (parse_error): New function.
(ne_xml_parse_response): On successful end-of-response, tell
the the XML parser the end of the document is reached.  Use
parse_error() for error handling.

------------------------------------------------------------------------
r540 | joe | 2005-04-04 14:49:25 +0100 (Mon, 04 Apr 2005) | 2 lines

* src/ne_socket.c (ne_service_lookup): Remove function.

------------------------------------------------------------------------
r531 | joe | 2005-03-19 22:30:43 +0000 (Sat, 19 Mar 2005) | 2 lines

* test/request.c: Remove idna_hostname; missed in previous commit.

------------------------------------------------------------------------
r530 | joe | 2005-03-19 22:19:37 +0000 (Sat, 19 Mar 2005) | 7 lines

Avoid use of "read" and "write" since POSIX owns these names and
allows them to be macros.

* src/ne_socket.c (struct iofns): Rename read and write functions to
sread and swrite. 
(ne_sock_read, ne_sock_peek, ne_sock_fullwrite, ne_sock_readline): Synch.

------------------------------------------------------------------------
r529 | joe | 2005-03-19 21:24:27 +0000 (Sat, 19 Mar 2005) | 2 lines

* src/ne_uri.c (uri_paths): Fix URI encoding default.

------------------------------------------------------------------------
r518 | joe | 2005-03-05 09:14:59 +0000 (Sat, 05 Mar 2005) | 11 lines

Remove support for IDNA: IDNA really needs to be done at application
level.

* macros/neon.m4 (NEON_LIBIDN): Remove.

* src/ne_session.c (set_hostinfo): Remove IDNA support.

* src/ne_utils.c, src/ne_utils.h: Don't advertise IDNA feature.

* test/util-tests.c, test/request.c: Remove IDNA tests.

------------------------------------------------------------------------
r517 | joe | 2005-03-03 19:25:11 +0000 (Thu, 03 Mar 2005) | 3 lines

* src/ne_socket.c (NE_ISRESET): Also treat ENOTCONN as a "connection
reset" error.

------------------------------------------------------------------------
r516 | joe | 2005-03-03 19:20:03 +0000 (Thu, 03 Mar 2005) | 3 lines

* macros/neon-xml-parser.m4 (NEON_XML_PARSER): Default to detect
expat; fall back on libxml2.

------------------------------------------------------------------------
r515 | joe | 2005-03-03 19:11:45 +0000 (Thu, 03 Mar 2005) | 3 lines

* macros/neon.m4 (NEON_SSL): Disable GNU TLS support for the 0.25.0
release, since it's not complete yet.

------------------------------------------------------------------------
r512 | joe | 2005-02-28 14:17:09 +0000 (Mon, 28 Feb 2005) | 2 lines

Note string type changes.

------------------------------------------------------------------------
r511 | joe | 2005-02-28 14:16:24 +0000 (Mon, 28 Feb 2005) | 5 lines

Missed in previous commit:

* src/ne_ssl.h (ne_ssl_cert_identity, ne_ssl_cert_name): Define to
return UTF-8 only.

------------------------------------------------------------------------
r510 | joe | 2005-02-28 14:15:59 +0000 (Mon, 28 Feb 2005) | 9 lines

* src/ne_ssl.h (ne_ssl_cert_identity, ne_ssl_cert_name): Define to
return UTF-8 only.

* src/ne_openssl.c (append_dirstring): Factor out from
ne_ssl_readable_dname.  (ne_ssl_readable_dname): Use factored-out
version. (dup_ia5string): New function.
(check_identity): Use append_dirstring to convert commonName
to UTF-8 if necessary; use dup_ia5string.

------------------------------------------------------------------------
r509 | joe | 2005-02-28 14:09:02 +0000 (Mon, 28 Feb 2005) | 9 lines

* src/ne_ssl.h (ne_ssl_cert_identity, ne_ssl_cert_name): Define to
return UTF-8 only.

* src/ne_openssl.c (append_dirstring): Factor out from
ne_ssl_readable_dname.  (ne_ssl_readable_dname): Use factored-out
version. (dup_ia5string): New function.
(check_identity): Use append_dirstring to convert commonName
to UTF-8 if necessary; use dup_ia5string.

------------------------------------------------------------------------
r508 | joe | 2005-02-28 11:54:17 +0000 (Mon, 28 Feb 2005) | 2 lines

* test/xml.c (matches): Test that with-BOM without-prolog also parses.

------------------------------------------------------------------------
r507 | joe | 2005-02-28 11:53:39 +0000 (Mon, 28 Feb 2005) | 3 lines

* src/ne_xml.c (ne_xml_parser_s, ne_xml_parse): Conditionalize BOM
handling to expat <= 1.95.2 and all current versions of libxml2.

------------------------------------------------------------------------
r506 | joe | 2005-02-28 11:07:11 +0000 (Mon, 28 Feb 2005) | 2 lines

* test/compress.c: Fix signedness warning.

------------------------------------------------------------------------
r505 | joe | 2005-02-28 11:03:42 +0000 (Mon, 28 Feb 2005) | 3 lines

* test/socket.c (addr_compare): Fix to pass real raw addresses and
fixed signedness warnings.

------------------------------------------------------------------------
r504 | joe | 2005-02-28 10:54:28 +0000 (Mon, 28 Feb 2005) | 2 lines

Add ne_get_content_type change and reshuffle.

------------------------------------------------------------------------
r503 | joe | 2005-02-28 10:52:09 +0000 (Mon, 28 Feb 2005) | 3 lines

* src/ne_basic.h (ne_get_content_type): Clarify that all fields will
be non-NULL on success.

------------------------------------------------------------------------
r502 | joe | 2005-02-26 19:57:19 +0000 (Sat, 26 Feb 2005) | 2 lines

Note provider-callback error handling API change; fixed bug.

------------------------------------------------------------------------
r501 | joe | 2005-02-26 19:56:24 +0000 (Sat, 26 Feb 2005) | 14 lines


* src/ne_private.h (ne__pull_request_body): Remove prototype.

* src/ne_request.h: Require that request-body-provider callback sets
the session error string if returning errors.

* src/ne_request.c (struct ne_request_s): Remove body_progress field.
(send_request_body): Combine old ne__pull_request_body,
send_request_body and send_with_progress functions into one.  Fix
error handling confusion between provider errors and socket errors;
move NE_RETRY handling here and take a retry flag.  (send_request):
Update to pass retry flag to send_request_body and remove NE_RETRY
handling on errors from same.

------------------------------------------------------------------------
r500 | joe | 2005-02-26 19:24:49 +0000 (Sat, 26 Feb 2005) | 1 line

Ignore ChangeLog
------------------------------------------------------------------------
r499 | joe | 2005-02-26 19:23:52 +0000 (Sat, 26 Feb 2005) | 3 lines

ne_lock_refresh does now DTRT, and D.J.'s cunningly borked proxy
should now be handled.

------------------------------------------------------------------------
r498 | joe | 2005-02-26 19:22:31 +0000 (Sat, 26 Feb 2005) | 6 lines

* src/ne_request.h: Remove EOL definition, namespace violation.

* test/stubs.c, test/lock.c, test/auth.c, src/ne_request.c,
src/ne_request.h, src/ne_props.c, src/ne_acl.c, src/ne_locks.c: Define
EOL.

------------------------------------------------------------------------
r497 | joe | 2005-02-26 19:16:14 +0000 (Sat, 26 Feb 2005) | 3 lines

* src/ne_locks.c (ne_lock_refresh): Always update timeout of passed-in
lock structure, even if new timeout is unknown.

------------------------------------------------------------------------
r496 | joe | 2005-02-26 19:10:19 +0000 (Sat, 26 Feb 2005) | 2 lines

ne_uri_escape escaping rules updated.

------------------------------------------------------------------------
r495 | joe | 2005-02-26 19:09:52 +0000 (Sat, 26 Feb 2005) | 2 lines

* src/ne_uri.h (ne_path_escape): Fix grammar.

------------------------------------------------------------------------
r494 | joe | 2005-02-26 19:02:53 +0000 (Sat, 26 Feb 2005) | 4 lines

* ChangeLog.CVS: Renamed from ChangeLog.

* Makefile.in (ChangeLog): New target.

------------------------------------------------------------------------
r493 | joe | 2005-02-26 18:58:46 +0000 (Sat, 26 Feb 2005) | 2 lines

* macros/neon.m4 (NE_SNPRINTF): Use new trio URL.

------------------------------------------------------------------------
r492 | joe | 2005-02-26 18:57:32 +0000 (Sat, 26 Feb 2005) | 3 lines

* src/ne_socket.c (init_ssl): Call OpenSSL_add_all_algorithms instead
of the specific PKCS12_PBE_add.

------------------------------------------------------------------------
r488 | joe | 2005-02-24 14:42:09 +0000 (Thu, 24 Feb 2005) | 4 lines

* src/ne_auth.c (clean_session, make_gss_error, free_auth): Fixed
signdness mismatch warnings from GSSAPI code; always use unsigned
integers for error codes.

------------------------------------------------------------------------
r483 | joe | 2005-02-24 14:05:44 +0000 (Thu, 24 Feb 2005) | 2 lines

* macros/neon.m4 (NEON_FORMAT): Support type arguments with spaces.

------------------------------------------------------------------------
r481 | joe | 2005-02-14 16:07:35 +0000 (Mon, 14 Feb 2005) | 3 lines

* configure.in: Just AC_DEFINE NEON_IS_LIBRARY; update copyright
notice; be less noisy.

------------------------------------------------------------------------
r480 | joe | 2005-02-14 16:02:58 +0000 (Mon, 14 Feb 2005) | 2 lines

* Makefile.in (clean, subdirs, check): Be less noisy.

------------------------------------------------------------------------
r479 | joe | 2005-02-14 15:43:27 +0000 (Mon, 14 Feb 2005) | 10 lines

* common/tests.c (W): Suppress glibc warn_unused_result annoyance.
(W_RED): New macro.  (child_segv): Use W_RED; do dump core.
(parent_segv): Rename from segv; don't call async-signal-unsafe
fflush(); use W_RED; sleep after kill();
(in_child, main): Install signal handlers for SIGABRT as well
as SIGSEGV.

* common/child.c (server_child, spawn_server_repeat): Suppress glibc
warn_unused_result annoyance; abort if write() fails.

------------------------------------------------------------------------
r477 | joe | 2005-02-11 13:15:22 +0000 (Fri, 11 Feb 2005) | 2 lines

* neon-config.in (--libs): Don't print -L$libdir if $prefix==/usr.

------------------------------------------------------------------------
r464 | joe | 2005-01-27 22:27:26 +0000 (Thu, 27 Jan 2005) | 3 lines

* test/uri-tests.c (leak_authinfo): Add expected-leaky test for
ne_uri_parse leak.

------------------------------------------------------------------------
r463 | joe | 2005-01-27 22:13:10 +0000 (Thu, 27 Jan 2005) | 3 lines

* src/ne_auth.c: Only include ne_private.h for GSSAPI code.
(digest_body): Remove function.

------------------------------------------------------------------------
r462 | joe | 2005-01-27 22:04:44 +0000 (Thu, 27 Jan 2005) | 7 lines

* src/ne_auth.c: Drop qop=auth-int support, sice it is universally
unimplemented by servers and comes with too much baggage.  (struct
auth_challenge): Drop qop_auth_int field.  (digest_challenge,
request_digest, verify_digest_response, auth_challenge, ah_pre_send):
Drop qop=auth-int support.
(auth_body_reader): Remove function.

------------------------------------------------------------------------
r461 | joe | 2005-01-27 21:56:19 +0000 (Thu, 27 Jan 2005) | 2 lines

* src/ne_locks.c (ne_lock): Use ne_xml_dispatch_request.

------------------------------------------------------------------------
r460 | joe | 2005-01-27 21:50:32 +0000 (Thu, 27 Jan 2005) | 1 line

News updates.
------------------------------------------------------------------------
r459 | joe | 2005-01-27 20:05:25 +0000 (Thu, 27 Jan 2005) | 2 lines

* neon.mak: Conditionally enable SSPI support (Vladimir).

------------------------------------------------------------------------
r458 | joe | 2005-01-27 20:04:39 +0000 (Thu, 27 Jan 2005) | 2 lines

* test/cookies.c: Remove file.

------------------------------------------------------------------------
r457 | joe | 2005-01-27 20:03:53 +0000 (Thu, 27 Jan 2005) | 11 lines

Fix SSPI code so that it compiles for Win32 (Vladimir):

* src/ne_sspi.h (ne_sspi_deinit): fixed return type.

* src/ne_sspi.c: Added preprocessor check HAVE_SSPI to allow compilation
without SSPI.
(getMaxTokenSize): removed const qualifier for package parameter because
it has to be passed to a function that takes a not const reference.
(ne_sspi_init, ne_sspi_deinit): Match the function names to the correct
functions.

------------------------------------------------------------------------
r456 | joe | 2005-01-27 20:01:48 +0000 (Thu, 27 Jan 2005) | 2 lines

* neon.mak: Don't build ne_cookies.c (Vladimir).

------------------------------------------------------------------------
r450 | joe | 2005-01-26 16:22:26 +0000 (Wed, 26 Jan 2005) | 2 lines

* src/ne_session.h (ne_set_persist): Clarify lifetime of addrs array.

------------------------------------------------------------------------
r449 | joe | 2005-01-26 14:36:02 +0000 (Wed, 26 Jan 2005) | 7 lines

* src/ne_uri.h (ne_path_escape): Define to percent-encode any
characters barring unreserved and forward-slash.

* src/ne_uri.c (uri_chars): Update to use RF3986 grammar productions.
(path_escape_ch): Replaces ESCAPE.  (ne_path_escape): Clean up, use
new path_escape_ch.

------------------------------------------------------------------------
r448 | joe | 2005-01-26 09:23:36 +0000 (Wed, 26 Jan 2005) | 2 lines

* src/ne_auth.c (get_gss_name): Remove redundant buffer initilization.

------------------------------------------------------------------------
r446 | joe | 2005-01-22 00:00:54 +0000 (Sat, 22 Jan 2005) | 4 lines

* src/ne_request.c (read_message_header, read_response_headers):
Clarify that both functions guarantee to close the connection on
error.

------------------------------------------------------------------------
r445 | joe | 2005-01-21 23:54:36 +0000 (Fri, 21 Jan 2005) | 3 lines

* test/request.c (fail_on_invalid): Test for chunk size overflow and
EOF-at-chunk-size cases.

------------------------------------------------------------------------
r444 | joe | 2005-01-21 23:47:55 +0000 (Fri, 21 Jan 2005) | 3 lines

* test/request.c (fail_on_invalid): Rename from fail_corrupt_chunks;
test for invalid C-L in response.

------------------------------------------------------------------------
r443 | joe | 2005-01-21 23:41:42 +0000 (Fri, 21 Jan 2005) | 4 lines

* src/ne_request.c (ne_begin_request): Reorder message-length logic to
avoid doing unnecessary work.  Fail rather than ignore an invalid
Content-Length response header.

------------------------------------------------------------------------
r442 | joe | 2005-01-21 23:38:57 +0000 (Fri, 21 Jan 2005) | 3 lines

* Makefile.in (cover): Remove all .*da files before running coverage
testing to avoid gcda merge errors.

------------------------------------------------------------------------
r441 | joe | 2005-01-21 17:41:00 +0000 (Fri, 21 Jan 2005) | 1 line

Tweak comment.
------------------------------------------------------------------------
r440 | joe | 2005-01-21 17:28:19 +0000 (Fri, 21 Jan 2005) | 3 lines

* src/ne_request.h (ne_get_response_header,
ne_response_header_iterate): Clarify API guarantees.

------------------------------------------------------------------------
r439 | joe | 2005-01-21 17:23:06 +0000 (Fri, 21 Jan 2005) | 7 lines

Add a response-header iterator interface, needed by OpenOffice:

* src/ne_request.c (struct ne_request_s): Add current_index field.
(ne_response_header_iterate): New function.

* test/request.c (iterate_many, iterate_none): New tests.

------------------------------------------------------------------------
r438 | joe | 2005-01-21 16:28:52 +0000 (Fri, 21 Jan 2005) | 2 lines

* src/ne_request.c (struct field): Remove unused valloc field.

------------------------------------------------------------------------
r437 | joe | 2005-01-21 16:25:12 +0000 (Fri, 21 Jan 2005) | 5 lines

* src/ne_request.c (ne_begin_request): Fix a case where NE_RETRY could
be leaked to the caller if a connection was left open then
ne_set_persist(sess, 0) was called immediately before a request was
sent but suffered a persistent connection timeout.

------------------------------------------------------------------------
r436 | joe | 2005-01-21 16:19:05 +0000 (Fri, 21 Jan 2005) | 5 lines

* src/ne_request.c (HTTP_ERR, HTTP_EXPECT_*): Remove now-unused
macros.  (ne_begin_request, ne_end_request, ne_request_dispatch):
Expand HTTP_ERR usage.


------------------------------------------------------------------------
r435 | joe | 2005-01-21 16:08:53 +0000 (Fri, 21 Jan 2005) | 3 lines

* test/compress.c (tests): retry_notcompress passes since
response-header-handling fixes.

------------------------------------------------------------------------
r434 | joe | 2005-01-21 16:07:05 +0000 (Fri, 21 Jan 2005) | 3 lines

* src/ne_request.c (send_request): Code cleanups, no functional
change.

------------------------------------------------------------------------
r433 | joe | 2005-01-21 16:03:28 +0000 (Fri, 21 Jan 2005) | 2 lines

* src/ne_request.c (ne_request_create): Remove some debugging noise.

------------------------------------------------------------------------
r432 | joe | 2005-01-21 15:59:37 +0000 (Fri, 21 Jan 2005) | 3 lines

* src/ne_request.c (open_connection): Only call ne_close_connection in
ne__negotiate_ssl failure case.

------------------------------------------------------------------------
r431 | joe | 2005-01-21 15:54:26 +0000 (Fri, 21 Jan 2005) | 2 lines

* neon.mak: Build ne_xmlreq.c.

------------------------------------------------------------------------
r430 | joe | 2005-01-20 22:04:23 +0000 (Thu, 20 Jan 2005) | 15 lines

Windows SSPI NTLM/Negotiate implementation from Vladimir Berezniker:

* config.hw.in: Define HAVE_SSPI.

* src/ne_sspi.c, src/ne_sspi.h: New files.

* src/ne_auth.c (auth_scheme): Add new schemes to enum.
[HAVE_SSPI] (auth_session): Add sspi_token, sspi_context fields.
(clean_session): Clean up sspi fields.
(request_sspi, sspi_challenge): New functions.
(auth_challenge, ah_pre_send): Handle Negotiate/NTLM-using-SSPI schemes.

* src/ne_socket.c [HAVE_SSPI] (ne_sock_init, ne_sock_exit):
Initialize/de-initialize SSPI global state.

------------------------------------------------------------------------
r429 | joe | 2005-01-13 19:00:13 +0000 (Thu, 13 Jan 2005) | 2 lines

Reorganise.

------------------------------------------------------------------------
r428 | joe | 2005-01-13 18:53:33 +0000 (Thu, 13 Jan 2005) | 6 lines

Re-drop ne_cookies.[ch], change lost in CVS conversion somehow:

	* ne_cookies.c, ne_cookies.h: Drop cookies support: used old spec
	revision and wasn't very complete anyway.


------------------------------------------------------------------------
r427 | joe | 2005-01-13 18:51:53 +0000 (Thu, 13 Jan 2005) | 2 lines

* test/string-tests.c (append): Test ne_buffer_czappend.

------------------------------------------------------------------------
r426 | joe | 2005-01-13 18:44:00 +0000 (Thu, 13 Jan 2005) | 7 lines

Fixes for some warnings from Solaris cc:

* src/ne_openssl.c (ne_ssl_clicert_read): Pass an int not an unsigned
int to X509_alias_get0.
(ne_ssl_cert_export): Use a char * for the ne_base64 return value to fix
signed-vs-unsigned mismatch.

------------------------------------------------------------------------
r425 | joe | 2005-01-09 13:45:09 +0000 (Sun, 09 Jan 2005) | 2 lines

* src/ne_string.h (ne_buffer_czappend): New macro.

------------------------------------------------------------------------
r424 | joe | 2005-01-09 13:06:22 +0000 (Sun, 09 Jan 2005) | 3 lines

* src/ne_request.c (free_response_headers): Adjust code style, no
functional change.

------------------------------------------------------------------------
r414 | joe | 2005-01-07 15:12:17 +0000 (Fri, 07 Jan 2005) | 6 lines

* src/ne_locks.c (lk_startelm): Set timeout of active lock to
NE_TIMEOUT_INVALID.  (ne_lock_free, ne_lock): Out-of-line NE_FREE.
(ne_lock_refresh): Use ne_xml_dispatch_request; rejig error handling;
really update timeout field of passed-in lock structure if returned
by server.

------------------------------------------------------------------------
r413 | joe | 2005-01-07 00:55:42 +0000 (Fri, 07 Jan 2005) | 4 lines

* src/ne_locks.c (lk_startelm): Only retrive lock-token if not already
known; set session error on abort.
(ne_lock_refresh): Store lock-token in context, simplify error handling.

------------------------------------------------------------------------
r389 | joe | 2005-01-03 10:01:20 +0000 (Mon, 03 Jan 2005) | 3 lines

* macros/neon.m4 (LIBNEON_SOURCE_CHECKS): Only look for gethostbyname
if getaddrinfo is not available.

------------------------------------------------------------------------
r382 | joe | 2005-01-02 13:18:23 +0000 (Sun, 02 Jan 2005) | 4 lines

* macros/neon-xml-parser.m4 (NEON_XML_PARSER, NE_XML_BUNDLED_EXPAT):
Take srcdir, builddir arguments to support VPATH builds correctly.


------------------------------------------------------------------------
r373 | joe | 2004-12-31 17:55:39 +0000 (Fri, 31 Dec 2004) | 4 lines

* src/ne_request.c (read_response_block): Read chunk size lines into
req->respbuf to eliminate the "minimum buffer size" requirement of
ne_read_response_block.

------------------------------------------------------------------------
r372 | joe | 2004-12-31 12:13:22 +0000 (Fri, 31 Dec 2004) | 3 lines

* test/common/tests.h (ONCMP): Fix inverted expected/actual in failure
case.

------------------------------------------------------------------------
r371 | joe | 2004-12-31 12:12:29 +0000 (Fri, 31 Dec 2004) | 7 lines

* src/ne_request.c (free_response_headers): Factor out from
ne_request_destroy.  (ne_request_destroy): Use it.
(ne_begin_request): Free response headers each time the response
is read.

* test/request.c (retry_post_send, reset_headers): New functions.

------------------------------------------------------------------------
r370 | joe | 2004-12-31 11:19:57 +0000 (Fri, 31 Dec 2004) | 3 lines

* src/ne_redirect.c (post_send): C89 compile fix from Vladimir
Berezniker.

------------------------------------------------------------------------
r369 | joe | 2004-12-31 01:36:29 +0000 (Fri, 31 Dec 2004) | 1 line

Docco fix.
------------------------------------------------------------------------
r368 | joe | 2004-12-31 01:11:23 +0000 (Fri, 31 Dec 2004) | 8 lines

* src/ne_auth.c (tokenize): Optionally pass back the separator
character to fix the Negotiate parameter handling.
(auth_challenge): Only grab a Negotiate parameter if the separator
was a space.

* test/auth.c (basic): Test for a Negotiate challenge *without* a
parameter.

------------------------------------------------------------------------
r367 | joe | 2004-12-30 11:55:13 +0000 (Thu, 30 Dec 2004) | 63 lines

Remove callback-based response header handling in favour of
ne_get_response_header interface:

* src/ne_request.h (ne_get_response_header): New function, replacing
ne_add_response_header_handler and ne_add_response_header_catcher.
* src/ne_request.c (struct header_handler): Remove.
(struct field): Add.
(struct ne_request_s): Store a hash of header fields rather than
a hash of callbacks.
(te_hdr_handler, connection_hdr_handler, clength_hdr_handler,
ne_add_response_header_catcher, ne_add_response_header_handler,
ne_duplicate_header, ne_handle_numeric_header):
Remove functions.
(get_response_header_hv, ne_get_response_header, 
add_response_header, remove_response_header): New functions.
(ne_request_create): Don't register the callbacks.
(read_response_headers): Call add_response_header for each
field.
(ne_begin_request): Move handling of Connection, T-E and C-L headers
here.  Comply with 2616/14.10 w.r.t. Connection header handling in
HTTP/1.0 responses.
(ne_request_dispatch): Use ne_discard_response (unrelated).

* src/ne_redirect.c (struct redirect): Remove location field.
(post_send): Adjust to retrieve location header here.

* src/ne_basic.h (ne_get_content_type): Replaces
ne_content_type_handler.

* src/ne_basic.c (dispatch_to_fd): New function.
(get_to_fd, get_lastmodified, clength_hdr_handler, accept_206,
content_range_hdr_handler): Remove functions.
(ne_getmodtime): Adjust to use ne_get_response_header.
(ne_get_range, ne_get, ne_post): Adjust to use dispatch_to_fd.
(ne_get_content_type): Adjust for new API, use ne_get_response_header.
(parse_dav_header, ne_options): Adjust to use ne_get_response_header.

* src/ne_compress.c (struct ne_decompress_s): Add ne_request * field,
remove enchdr field.
(gz_reader): Retrieve C-E header on demand, here.
(ne_decompress_reader, ne_decompress_destroy): Remove C-E response
header duplication.

* src/ne_auth.c (auth_request): Remove auth_hdr, auth_info_hdr
fields.
(ah_collect_header): Remove function.
(ah_create, ah_destroy): Remove response-header callback handling.
(ah_post_send): Retrieve -Authenticate header here; correctly handle
the broken proxy which sends a 401 in response to CONNECT.

* src/ne_locks.c (lk_startelm): Retrieve Lock-Token header here.
(get_ltoken_hdr): Remove function.
(ne_lock, ne_lock_refresh): Remove response-header handling.

* test/basic.c (content_type): Test new interface.

* test/request.c (expect_header_value): Adjust to accept NULL value,
use ne_get_response_header interface.
(multi_header): Test new ne_get_response_header multi-header handling.
(multi_header2, strip_http10_connhdr, strip_http10_connhdr2): New
tests.


------------------------------------------------------------------------
r366 | joe | 2004-12-30 11:38:37 +0000 (Thu, 30 Dec 2004) | 2 lines

* src/ne_compress.c: Debugging message tweaks.

------------------------------------------------------------------------
r365 | joe | 2004-12-30 10:58:08 +0000 (Thu, 30 Dec 2004) | 2 lines

* test/socket.c (peek_expect): Add buffer overflow detection.

------------------------------------------------------------------------
r364 | joe | 2004-12-30 10:51:17 +0000 (Thu, 30 Dec 2004) | 2 lines

* test/common/tests.c (main): Fix build for non-NEON_MEMLEAK.

------------------------------------------------------------------------
r363 | joe | 2004-12-30 10:50:20 +0000 (Thu, 30 Dec 2004) | 3 lines

* test/common/tests.c (main): Print a message for tests which are
marked as T_XLEAKY.

------------------------------------------------------------------------
r362 | joe | 2004-12-30 10:23:00 +0000 (Thu, 30 Dec 2004) | 3 lines

* test/utils.c (any_2xx_request): Destroy the request object even if
failing.

------------------------------------------------------------------------
r361 | joe | 2004-12-30 00:11:53 +0000 (Thu, 30 Dec 2004) | 5 lines

* src/ne_xmlreq.c (ne_xml_parse_response, ne_xml_dispatch_request):
New file, new functions.

* src/Makefile.in (NEON_DAVOBJS): Add ne_xmlreq.*o.

------------------------------------------------------------------------
r360 | joe | 2004-12-24 14:49:02 +0000 (Fri, 24 Dec 2004) | 3 lines

* src/ne_request.c (ne_read_response_to_fd, ne_discard_response): New
functions.

------------------------------------------------------------------------
r359 | joe | 2004-12-13 14:13:27 +0000 (Mon, 13 Dec 2004) | 6 lines

* src/ne_auth.c (auth_challenge): Fix previous commit; stop parsing if
ne_token() reaches end-of-string.

* test/auth.c (negotiate_regress): Add test.


------------------------------------------------------------------------
r358 | joe | 2004-12-09 22:22:26 +0000 (Thu, 09 Dec 2004) | 3 lines

* src/ne_auth.c (auth_challenge): Grab the Negotiate parameter
properly.

------------------------------------------------------------------------
r357 | joe | 2004-12-01 08:42:49 +0000 (Wed, 01 Dec 2004) | 11 lines

From Vladimir Berezniker: update Win32 make file to match the
preprocessor definition changes applied to source code in r256:

* neon.mak:
   OpenSSL: Change NEON_SSL to NE_HAVE_SSL and add a missing HAVE_OPENSSL.
   ZLib: Change NEON_ZLIB to NE_HAVE_ZLIB.
   Expat: Replace NEON_NODAV with NE_HAVE_DAV

* config.hw.in: Discard no longer used USE_DAV_LOCKS.


------------------------------------------------------------------------
r356 | joe | 2004-11-18 10:09:07 +0000 (Thu, 18 Nov 2004) | 11 lines

Win32 build update from Branko Čibej:

Change the Win32 build to compile ZLib from sources, and change the
ZLib versin requirement. This doesn't change neon.mak's external
interface.

* neon.mak: Add parameters and targets for building ZLib from source.

* INSTALL.win32: Update the documentation, and note that the ZLib version
 must be at least 1.2.1.

------------------------------------------------------------------------
r355 | joe | 2004-11-18 09:50:27 +0000 (Thu, 18 Nov 2004) | 5 lines

Win32 build fix from Vladimir Berezniker:

* src/ne_dates.c: Add windows.h to the list of include files to provide
definition of TIME_ZONE_INFORMATION on WIN32 platforms.

------------------------------------------------------------------------
r354 | joe | 2004-11-15 14:47:52 +0000 (Mon, 15 Nov 2004) | 7 lines

Improve OpenSSL error handling, fixing "SSL error: (null)" errors from
interrupted Subversion checkouts over SSL; now reported as
"Interrupted system call" as expected:

* src/ne_socket.c (error_ossl): Always check the OpenSSL error stack
for SSL errors other than SSL_ERROR_ZERO_RETURN.

------------------------------------------------------------------------
r353 | joe | 2004-11-11 14:38:49 +0000 (Thu, 11 Nov 2004) | 3 lines

* test/socket.c (begin) [SOCKET_SSL]: Update to pass third argument to
ne_sock_connect_ssl.

------------------------------------------------------------------------
r352 | joe | 2004-10-31 22:33:28 +0000 (Sun, 31 Oct 2004) | 2 lines

* macros/neon.m4 (NEON_SSL): Require GNU TLS 1.0.22 or later.

------------------------------------------------------------------------
r351 | joe | 2004-10-31 19:17:00 +0000 (Sun, 31 Oct 2004) | 3 lines

* src/ne_openssl.c (ne__negotiate_ssl): Set freechain to fix
certificate chain leak for an SSLv2 connection.

------------------------------------------------------------------------
r350 | joe | 2004-10-31 19:14:47 +0000 (Sun, 31 Oct 2004) | 1 line

Doc fix.
------------------------------------------------------------------------
r349 | joe | 2004-10-31 19:13:43 +0000 (Sun, 31 Oct 2004) | 11 lines

* src/ne_socket.c (ne_sock_connect_ssl): Take a userdata parameter;
attach this as OpenSSL "app data" pointer and GNU TLS "session
pointer".

* src/ne_openssl.c (provide_client_cert): Adapt to use right app data
pointer.  (ne__negotiate_ssl): Pass session pointer to
ne_sock_connect_ssl.

* src/ne_gnutls.c (ne__negotiate_ssl): Pass session pointer to
ne_sock_connect_ssl.

------------------------------------------------------------------------
r348 | joe | 2004-10-31 18:44:31 +0000 (Sun, 31 Oct 2004) | 3 lines

* Makefile.in (uncover, cover): Remove all .*da files before
re-running coverage testing.

------------------------------------------------------------------------
r347 | joe | 2004-10-31 18:43:41 +0000 (Sun, 31 Oct 2004) | 8 lines

Improve ne_socket.c coverage:

* test/socket.c (addr_make_v4, addr_make_v6): Test ne_iaddr_typeof.
(addr_compare): Fix ne_iaddr_cmp tests with v6 addresses.
(expect_close, expect_read): Fix error messages.  (fullread_expect,
line_overflow, line_long_chunked, expect_block_timeout, blocking,
block_timeout): New functions.

------------------------------------------------------------------------
r346 | joe | 2004-10-31 15:03:54 +0000 (Sun, 31 Oct 2004) | 1 line

Doc fix.
------------------------------------------------------------------------
r345 | joe | 2004-10-31 12:15:55 +0000 (Sun, 31 Oct 2004) | 7 lines

* src/ne_compress.c (struct ne_decompress_s): Stop using a union to
decode the gzip header; rename in.buf to header, incount to hdrcount.
(HDR_ID1, HDR_ID2, HDR_CMETH, HDR_FLAGS, HDR_MTIME, HDR_XFLAGS,
HDR_OS): New macros.
(parse_header): Decode the header in-place using new macros.
(gz_reader): Adjust for new field names.

------------------------------------------------------------------------
r344 | joe | 2004-10-31 12:01:06 +0000 (Sun, 31 Oct 2004) | 2 lines

* test/compress.c (do_fetch): Do call ne_decompress_destroy still.

------------------------------------------------------------------------
r343 | joe | 2004-10-31 11:53:35 +0000 (Sun, 31 Oct 2004) | 7 lines

* Makefile.in (uncover): New target.
(cover): Adapt for modern gcc.

* src/Makefile.in (clean): Clean more.

* test/Makefile.in (clean): Clean more.

------------------------------------------------------------------------
r342 | joe | 2004-10-30 12:54:26 +0100 (Sat, 30 Oct 2004) | 3 lines

* src/ne_utils.c (ne_has_support): Avoid a leading 'return 1' without
a case statement when *no* features are supported.

------------------------------------------------------------------------
r339 | joe | 2004-10-30 12:41:53 +0100 (Sat, 30 Oct 2004) | 5 lines

* src/ne_compress.c (ne_decompress_reader) [!HAVE_ZLIB]: Update
for new interface.

* test/stubs.c (stub_decompress): Update for new interface.

------------------------------------------------------------------------
r337 | joe | 2004-10-25 21:17:32 +0100 (Mon, 25 Oct 2004) | 4 lines

Missed in previous commit:

* test/Makefile.in (ZLIB_HELPERS, empty.gz): New helper targets.

------------------------------------------------------------------------
r336 | joe | 2004-10-25 21:12:16 +0100 (Mon, 25 Oct 2004) | 15 lines

Update ne_decompress interface to handle errors by aborting the
response rather than returning errors via ne_decompress_destroy.

* src/ne_compress.c (struct ne_decompress_s): Remove NE_Z_ERROR state.
(parse_header, do_inflate): Don't set error state. 
(gz_reader): Do truncated response handling properly at
end-of-response.  Don't set state to NE_Z_ERROR on error cases, just
return failure and abort the response. 
(ne_decompress_destroy): Return void, do no error handling here.

* test/compress.c (reader): Abort on failure.
(do_fetch): Handle errors returned via ne_request_dispatch rather
than ne_decompress_destroy.
(fail_trailing_1b, fail_empty, notcomp_empty): New tests.

------------------------------------------------------------------------
r335 | joe | 2004-10-25 20:34:34 +0100 (Mon, 25 Oct 2004) | 2 lines

* test/ssl.c (cert_identities): Check the simplest case first.

------------------------------------------------------------------------
r334 | joe | 2004-10-25 20:11:55 +0100 (Mon, 25 Oct 2004) | 5 lines

* src/ne_gnutls.c (ne_ssl_context_trustcert): Fix for GNU TLS 1.0
(Aleix).
(check_certificate): Less debugging noise
(ne__negotiate_ssl): Remove unused variable, tweak debug message.

------------------------------------------------------------------------
r333 | joe | 2004-10-25 10:44:33 +0100 (Mon, 25 Oct 2004) | 3 lines

* src/ne_gnutls.c (check_identity): Fix handling of multiple names in
the subjectAltName extension (per the two_subject_altname2 test).

------------------------------------------------------------------------
r332 | joe | 2004-10-24 21:10:29 +0100 (Sun, 24 Oct 2004) | 1 line

Note that expect100 is now sensible, and that ne_lock_refresh is not.
------------------------------------------------------------------------
r331 | joe | 2004-10-24 18:44:49 +0100 (Sun, 24 Oct 2004) | 4 lines

* src/ne_gnutls.c (check_identity): Return -1 if no CN field found.
(make_peers_chain, check_certificates): New function.
(ne__negotiate_ssl): Retrieve and verify the peer certificate chain.

------------------------------------------------------------------------
r330 | joe | 2004-10-24 16:50:33 +0100 (Sun, 24 Oct 2004) | 7 lines

* src/ne_gnutls.c (ne__negotiate_ssl): Mark pointers as const, prepare for
doing cert verification.
(ne_ssl_context_trustcert): Implement.
(pkcs12_parse): Don't try and determine encryptedness here.
(ne_ssl_clicert_read): Verify the MAC using an empty password.
(ne_ssl_clicert_decrypt): Verify the MAC using the given password.

------------------------------------------------------------------------
r329 | joe | 2004-10-24 15:46:32 +0100 (Sun, 24 Oct 2004) | 2 lines

* src/ne_gnutls.c (pkcs12_parse): Fix GCC warnings from unhandled enum fields.

------------------------------------------------------------------------
r328 | joe | 2004-10-24 13:55:14 +0100 (Sun, 24 Oct 2004) | 9 lines

Based on patch from Aleix Conchillo Flaque:

* src/ne_gnutls.c (ne_ssl_clicert_free): Conditionally free the pkey,
subject fields.
(x509_crt_copy): New function.
(dup_client_cert): Fix memory handling.
(pkcs12_parse): Take pointers to pkey, crt, name.
(ne_ssl_clicert_read, ne_ssl_clicert_decrypt): Adjust accordingly.

------------------------------------------------------------------------
r327 | joe | 2004-10-22 09:41:46 +0100 (Fri, 22 Oct 2004) | 6 lines

From Aleix Conchillo Flaque:

* src/ne_gnutls.c (ne_ssl_context_trustcert): Implement pending
GnuTLS fix.
(pkcs12_parse): Fix certificate handling.

------------------------------------------------------------------------
r326 | joe | 2004-10-20 07:17:34 +0100 (Wed, 20 Oct 2004) | 6 lines

PKCS#12 support for GnuTLS interface from Aleix Conchillo Flaque:

* src/ne_gnutls.c (ne_ssl_clicert_free, dup_client_cert,
ne_ssl_clicert_read, ne_ssl_clicert_encrypted, ne_ssl_clicert_decrypt,
ne_ssl_clicert_owner, ne_ssl_clicert_owner, pkcs12_parse): New functions.

------------------------------------------------------------------------
r325 | joe | 2004-10-19 13:39:34 +0100 (Tue, 19 Oct 2004) | 8 lines

* src/ne_xml.c (invalid_ncname): Factor out macro for NCName
checking.
(declare_nspaces): Use invalid_ncname macro.  Don't compare 'xmlns'
case-insensitively.
(expand_qname): Use invalid_ncname macro.

* test/xml.c (fail_match): Skip correct checks for the time being.

------------------------------------------------------------------------
r324 | joe | 2004-10-17 21:32:44 +0100 (Sun, 17 Oct 2004) | 7 lines

* src/ne_gnutls.c (oid_find_highest_index): New function.
(append_rdn): Use oid_find_highest_index to find all RDNs using given
OID.
(ne_ssl_readable_dname): Add #if'd out better code which can be used
once GnuTLS bugs are fixed.
(check_identity): Use oid_find_highest_index.

------------------------------------------------------------------------
r323 | joe | 2004-10-17 21:07:29 +0100 (Sun, 17 Oct 2004) | 7 lines

* test/openssl.conf [reqDN.twoOU]: New section.

* test/makekeys.sh: Produce a twoou.cert certificate with two OU fields.

* test/ssl.c (dname_readable): Test for printing of certificate with
two OU fields.

------------------------------------------------------------------------
r322 | joe | 2004-10-17 19:18:20 +0100 (Sun, 17 Oct 2004) | 8 lines

* test/utils.c (serve_infinite): Move from props.c

* test/props.c (serve_infinite): Remove function.

* test/request.c (serve_infinite_folds, serve_infinite_headers):
Remove functions.  (unbounded_headers, unbounded_folding): Adjust to
use serve_infinite.

------------------------------------------------------------------------
r321 | joe | 2004-10-17 19:08:55 +0100 (Sun, 17 Oct 2004) | 3 lines

* src/ne_request.c (debug_dump_request): Revert part of previous
change: only print unsanitized request to debug channel by default.

------------------------------------------------------------------------
r320 | joe | 2004-10-17 19:07:06 +0100 (Sun, 17 Oct 2004) | 3 lines

* src/ne_request.c (debug_dump_request): Only jump through
request-sanitization debug hoops if really necessary.

------------------------------------------------------------------------
r319 | joe | 2004-10-17 18:58:31 +0100 (Sun, 17 Oct 2004) | 4 lines

* src/ne_request.c (read_response_block): Update comments, style.
Remove unnecessary early return for zero-length chunk.  No functional
changes.

------------------------------------------------------------------------
r318 | joe | 2004-10-17 18:22:22 +0100 (Sun, 17 Oct 2004) | 1 line

Fix typo.
------------------------------------------------------------------------
r317 | joe | 2004-10-17 18:19:37 +0100 (Sun, 17 Oct 2004) | 10 lines

Prevent memory exhaustion in PROPFIND response parsing by a hostile
server:

* src/ne_props.c (struct ne_prop_result_set): Add counter field.
(start_propstat, start_prop): Enforce a limit of 1024 properties per
resource.

* test/props.c (serve_infinite, unbounded_response,
unbounded_propstats, unbounded_props): New functions.

------------------------------------------------------------------------
r316 | joe | 2004-10-17 18:06:22 +0100 (Sun, 17 Oct 2004) | 5 lines

* src/ne_207.h (ne_207_start_propstat): Specify that a NULL return
value means that the parse is aborted.

* src/ne_207.c (start_element): Abort parsing as above.

------------------------------------------------------------------------
r315 | joe | 2004-10-17 14:06:00 +0100 (Sun, 17 Oct 2004) | 10 lines

* src/ne_xml.h (ne_xml_parse): Returns an error if parsing fails.
(ne_xml_failed): Redefine in terms of ne_xml_parse return value.

* src/ne_xml.c (ne_xml_parse): Return p->failure.  (ne_xml_parse_v):
Pass through return value from ne_xml_parse.

* test/xml.c (parse_match): Check ne_xml_parse() return value; handle
match_chunked test mode.
(matches): Test for UTF-8 BOM handling in chunked mode.

------------------------------------------------------------------------
r314 | joe | 2004-10-17 13:59:26 +0100 (Sun, 17 Oct 2004) | 2 lines

* doc/ref/iaddr.xml: Document ne_iaddr_typeof.

------------------------------------------------------------------------
r313 | joe | 2004-10-17 13:53:52 +0100 (Sun, 17 Oct 2004) | 2 lines

* src/ne_socket.h: Docs tweaks.

------------------------------------------------------------------------
r312 | joe | 2004-10-17 13:22:07 +0100 (Sun, 17 Oct 2004) | 7 lines

* src/ne_request.c (read_response_block): Document to always close the
connection on error.  (ne_read_response_block): Close the connection
if the reader callback fails.

* test/request.c (abort_reader): Check that the connection is closed
if after the abort.

------------------------------------------------------------------------
r311 | joe | 2004-10-14 21:26:59 +0100 (Thu, 14 Oct 2004) | 3 lines

* INSTALL.win32, neon.mak: Update to support ENABLE_IPV6 flag. (Kai
Sommerfeld).

------------------------------------------------------------------------
r310 | joe | 2004-10-14 13:11:30 +0100 (Thu, 14 Oct 2004) | 4 lines

* src/ne_socket.c: Include ws2tcpip.h if USE_GETADDRINFO is defined
(Kai Sommerfeld).  (ne_iaddr_print): Use getnameinfo/NI_NUMERICHOST if
inet_ntop is not available.

------------------------------------------------------------------------
r308 | joe | 2004-10-11 20:59:58 +0100 (Mon, 11 Oct 2004) | 21 lines

Allow response body callbacks to return an error:

* src/ne_request.h (ne_block_reader): Return error code.

* src/ne_request.c (ne_read_response_block): Fail with -1 if a reader
callback returns an error.

* src/ne_xml.c (ne_xml_parse_v): Return 0 (for the moment).

* src/ne_basic.c (get_to_fd): Return error.

* src/ne_compress.c (gz_reader): Return 0 (mostly), or pass through.

* src/ne_auth.c (auth_body_reader): Return 0.

* test/compress.c (reader): Return error.

* test/request.c (collector): Return 0.
(abortive_reader, abort_reader): New functions.


------------------------------------------------------------------------
r307 | joe | 2004-10-10 22:11:54 +0100 (Sun, 10 Oct 2004) | 4 lines

* src/Makefile.in: Pick up top_builddir from autoconf.

* configure.in: Let autoconf define top_builddir.

------------------------------------------------------------------------
r303 | joe | 2004-10-10 21:47:06 +0100 (Sun, 10 Oct 2004) | 9 lines

* src/ne_openssl.c (check_identity): Only match iPAddress names
against the hostname used for the session rather than the server IP
address.
(check_certificate, populate_cert): Update callers.

* test/ssl.c (fail_ssl_request): Take hostname argument, update
callers.
(fail_host_ipaltname): New test.

------------------------------------------------------------------------
r302 | joe | 2004-10-10 18:44:56 +0100 (Sun, 10 Oct 2004) | 2 lines

* Makefile.in (distclean): Remove neon.pc.

------------------------------------------------------------------------
r301 | joe | 2004-10-09 11:38:46 +0100 (Sat, 09 Oct 2004) | 3 lines

* src/ne_stubssl.c (ne_ssl_context_create): Take mode argument.
(ne_ssl_context_set_verify): New function.

------------------------------------------------------------------------
r300 | joe | 2004-10-08 15:07:26 +0100 (Fri, 08 Oct 2004) | 4 lines

* tests/common/tests.c (main): Print XFAIL in reverse video so it
stands out better, and use a white foreground for SKIPPED so it's
readable.

------------------------------------------------------------------------
r299 | joe | 2004-10-08 08:14:45 +0100 (Fri, 08 Oct 2004) | 2 lines

Compress THANKS, update copyright in README and AUTHORS.

------------------------------------------------------------------------
r298 | joe | 2004-10-07 21:25:00 +0100 (Thu, 07 Oct 2004) | 6 lines

* test/ssl.c (fail_bad_ipaltname): New function.

* test/openssl.conf, test/makekeys.sh: Create altname6.cert. Correct
altname5.cert to have a bad CN field to prevent false positives if
ipAddress altnames are not handled.

------------------------------------------------------------------------
r297 | joe | 2004-10-07 20:22:56 +0100 (Thu, 07 Oct 2004) | 4 lines

* src/ne_gnutls.c (read_to_datum): New function.
(mmap_file, munmap_file): Remove functions.
(ne_ssl_cert_read): Use read_to_datum.

------------------------------------------------------------------------
r296 | joe | 2004-10-07 14:47:20 +0100 (Thu, 07 Oct 2004) | 3 lines

* macros/neon.m4 (NEON_GSSAPI): Support --without-gssapi flag to
disable Negotiate support.

------------------------------------------------------------------------
r295 | joe | 2004-10-07 13:57:44 +0100 (Thu, 07 Oct 2004) | 12 lines

* src/ne_gnutls.c (struct ne_ssl_dname_s): Reference the cert and
subject/issuer flag.  (append_rdn): New function.
(ne_ssl_readable_dname): Reimplement to generate dname on the fly,
using append_rdn.
(ne_ssl_dname_cmp): Break.
(check_identity): Check against commonName correctly.
(ne_ssl_cert_write, ne_ssl_cert_export, ne_ssl_cert_digest):
Remove unused variables.
(populate_cert): Populate new dn structures correctly.
(ne_ssl_cert_free): Don't free dnames.
(ne_ssl_cert_import): Fix memory leak.

------------------------------------------------------------------------
r294 | joe | 2004-10-07 11:47:28 +0100 (Thu, 07 Oct 2004) | 2 lines

* test/ssl.c (ccert_unencrypted): Fail if ne_ssl_clicert_read returns NULL.

------------------------------------------------------------------------
r293 | joe | 2004-10-07 08:13:54 +0100 (Thu, 07 Oct 2004) | 3 lines

* src/ne_gnutls.c (ne_ssl_cert_import): Fix to import as DER not PEM.
(ne_ssl_cert_export): Handle arbitrary length certificates.

------------------------------------------------------------------------
r292 | joe | 2004-10-07 08:06:20 +0100 (Thu, 07 Oct 2004) | 6 lines

GNU TLS updates from Aleix:

* src/ne_gnutls.c (match_hostname, check_identity): New functions.
(ne_ssl_cert_cmp, ne_ssl_cert_digest): Simplify.
(x509_get_dn): Fix buffer length handling.

------------------------------------------------------------------------
r291 | joe | 2004-10-07 08:00:15 +0100 (Thu, 07 Oct 2004) | 10 lines

* src/ne_ssl.h (ne_ssl_context_set_verify): New function.
(ne_ssl_context_create): Change flags argument to 'mode'.

* src/ne_openssl.c (ne_ssl_context_create): Update to handle modes.
(ne_ssl_context_set_verify): Implement.

* src/ne_gnutls.c (ne_ssl_cert_validity): Fix date format and
use correct buffers.
(ne_ssl_context_set_verify): Implement.

------------------------------------------------------------------------
r290 | joe | 2004-10-06 22:46:01 +0100 (Wed, 06 Oct 2004) | 2 lines

* test/socket.c: Remove OpenSSL includes (Aleix).

------------------------------------------------------------------------
r289 | joe | 2004-10-06 12:16:58 +0100 (Wed, 06 Oct 2004) | 8 lines

Fix slow startup problems with GNU TLS:

* src/ne_privssl.h (struct ne_ssl_context_s) [HAVE_GNUTLS]: Remove
_params fields.

* src/ne_gnutls.c (ne_ssl_context_create, ne_ssl_context_destroy):
Don't generate temporary RSA keys or DH paramaters.

------------------------------------------------------------------------
r288 | joe | 2004-10-06 11:58:53 +0100 (Wed, 06 Oct 2004) | 3 lines

* src/ne_socket.c (ne_sock_accept_ssl) [HAVE_OPENSSL]: Fix to return 0
for SSL_accept() success.

------------------------------------------------------------------------
r287 | joe | 2004-10-06 11:22:57 +0100 (Wed, 06 Oct 2004) | 3 lines

* test/socket.c (read_reset, write_reset, line_closure, ssl_closure):
Print socket error string for failure cases.

------------------------------------------------------------------------
r286 | joe | 2004-10-06 11:16:58 +0100 (Wed, 06 Oct 2004) | 2 lines

* src/ne_socket.c (read_gnutls): Return NE_SOCK_CLOSED on EOF.

------------------------------------------------------------------------
r285 | joe | 2004-10-06 09:43:05 +0100 (Wed, 06 Oct 2004) | 8 lines

Fix write handling with GNU TLS:

* src/ne_socket.c (struct iofns): Redefine write semantics to allow
short writes.
(write_raw): Drop short write handling, return bytes written.
(write_ossl, write_gnutls): Return bytes written.
(ne_sock_fullwrite): Handle short writes here.

------------------------------------------------------------------------
r284 | joe | 2004-10-06 09:30:48 +0100 (Wed, 06 Oct 2004) | 31 lines

Simplify and extend abstraction of SSL layer:

* src/ne_privssl.h: Make ne_ssl_socket a typedef.
[HAVE_GNUTLS]: Remove union cred, gnutls_session pointer.
(ne__sock_sslsock): Add prototype.

* src/ne_socket.h (ne_sock_accept_ssl): Replaces ne_sock_switch_ssl.
Remove ne_sock_sslsock prototype.

* src/ne_socket.c: Include ne_privssl.h later.
(readable_ossl, error_ossl, write_ossl, readable_gnutls, error_gnutls,
read_gnutls, write_gnutls, ne_sock_connect_ssl): Adjust for
ne_ssl_socket change.  (ne__sock_sslsock): Rename from
ne_sock_sslsock.  (ne_sock_accept_ssl): New function.
(ne_sock_switch_ssl): Remove function.

* src/ne_ssl.h (ne_ssl_context_create): Take flags argument.
(ne_ssl_context_keypair): New prototype.
(ne_ssl_context_trustcert): Renamed from ne_ssl_ctx_trustcert.

* src/ne_openssl.c (ne_ssl_context_create): Take flags.
(ne_ssl_context_keypair): Implement.
(ne__negotiate_ssl): Adjust to use ne__sock_sslsock.

* src/ne_gnutls.c (ne_ssl_context_create): Take flags, adjust
for ctx->cred change.
(ne_ssl_context_keypair): Implement.

* test/socket.c (init_ssl): Switch to use ne_ssl_context for the
server context rather than OpenSSL directly.

------------------------------------------------------------------------
r283 | joe | 2004-10-06 09:15:30 +0100 (Wed, 06 Oct 2004) | 2 lines

* src/Makefile.in: Add deps for ne_gnutls.lo.

------------------------------------------------------------------------
r282 | joe | 2004-10-05 21:50:01 +0100 (Tue, 05 Oct 2004) | 3 lines

* test/socket.c (serve_reset): New function.
(write_reset, read_reset): Use it.

------------------------------------------------------------------------
r281 | joe | 2004-10-05 21:22:35 +0100 (Tue, 05 Oct 2004) | 1 line

Suffer the aclocal noise for the time being.
------------------------------------------------------------------------
r280 | joe | 2004-10-05 21:21:40 +0100 (Tue, 05 Oct 2004) | 11 lines

Continued work on GNU TLS support, from Aleix Conchillo Flaque:

* src/ne_gnutls.c (ne__negotiate_ssl): Rename from ne_negotiate_ssl.

* src/ne_socket.c [HAVE_GNUTLS] (init_ssl): Call gnutls_global_init.
(ne_sock_exit): Call gnutls_global_deinit.
(check_alert, readable_gnutls, error_gnutls, read_gnutls, write_gnutls):
New functions.
(ne_sock_switch_ssl, ne_sock_connect_ssl, ne_sock_close): Add GNU TLS
specific implementations.

------------------------------------------------------------------------
r279 | joe | 2004-10-05 21:12:19 +0100 (Tue, 05 Oct 2004) | 6 lines

CygWin fixes:

* src/ne_socket.c (NE_ISRESET): Treat ECONNABORTED like ECONNRESET.
(ne_sock_connect): Don't compare fd numbers to FD_SETSIZE on Win32, do
use ne_close().

------------------------------------------------------------------------
r275 | joe | 2004-10-04 22:46:13 +0100 (Mon, 04 Oct 2004) | 6 lines

* src/ne_request.c (ne_begin_request): Don't treat 205 like 204, per
http-wg clarification:
http://lists.w3.org/Archives/Public/ietf-http-wg/2004JulSep/0081.html

* test/request.c (no_body_205): Remove test.

------------------------------------------------------------------------
r274 | joe | 2004-10-04 22:20:31 +0100 (Mon, 04 Oct 2004) | 17 lines

Begin integration of GNU TLS support from Aleix Conchillo Flaque:

* macros/neon.m4 (NE_CHECK_OPENSSLVER): Renamed from NE_CHECK_SSLVER.
(NEON_SSL): Add detection support for GNU TLS.  Define HAVE_GNUTLS or
HAVE_OPENSSL as appropriate.

* src/ne_utils.c (version_string): Update to include GNU TLS version
string.

* src/ne_privssl.h (HAVE_GNUTLS): Add alternative private structure
definitions.

* src/ne_auth.c (get_cnonce): Adjust to use HAVE_OPENSSL rather than
NE_HAVE_SSL.

* src/ne_gnutls.c: New file.

------------------------------------------------------------------------
r273 | joe | 2004-10-04 21:56:57 +0100 (Mon, 04 Oct 2004) | 3 lines

* src/ne_socket.c (ne_sock_connect): Use htons not ntohs (Aleix
Conchillo Flaque).

------------------------------------------------------------------------
r270 | joe | 2004-10-02 23:26:42 +0100 (Sat, 02 Oct 2004) | 1 line

Add clog to svn:ignore.
------------------------------------------------------------------------
r269 | joe | 2004-10-02 23:25:13 +0100 (Sat, 02 Oct 2004) | 7 lines

Merge r266, r267 from 0.24.x branch:

* config.hw.in: Define HAVE_SETSOCKOPT to enable Nagle on Windows.

* macros/neon.m4: Check for socket() in ws2_32 for CygWin.


------------------------------------------------------------------------
r268 | joe | 2004-10-02 23:19:52 +0100 (Sat, 02 Oct 2004) | 1 line

Convert .cvsignore to svn:ignore.
------------------------------------------------------------------------
r256 | joe | 2004-10-02 20:38:59 +0100 (Sat, 02 Oct 2004) | 1 line

Merge trunk up to current neon CVS HEAD.
------------------------------------------------------------------------
r255 | joe | 2004-10-02 20:34:48 +0100 (Sat, 02 Oct 2004) | 1 line

Branch trunk from 0.24.4 on 0.24.x branch.
------------------------------------------------------------------------
r251 | joe | 2004-10-02 20:31:06 +0100 (Sat, 02 Oct 2004) | 1 line

Import neon-0.24.4.
------------------------------------------------------------------------
r249 | joe | 2004-10-02 20:29:59 +0100 (Sat, 02 Oct 2004) | 1 line

Import neon-0.24.3.
------------------------------------------------------------------------
r247 | joe | 2004-10-02 20:25:57 +0100 (Sat, 02 Oct 2004) | 1 line

Import neon-0.24.2.
------------------------------------------------------------------------
r244 | joe | 2004-10-02 20:15:53 +0100 (Sat, 02 Oct 2004) | 1 line

Import neon-0.24.1.
------------------------------------------------------------------------
r243 | joe | 2004-10-02 19:47:02 +0100 (Sat, 02 Oct 2004) | 2 lines

Import neon 0.24.0 to begin 0.24.x branch.

------------------------------------------------------------------------
