------------------------------------------------------------------------ r1201 | joe | 2007-07-14 21:41:55 +0100 (Sat, 14 Jul 2007) | 1 line Tag release 0.26.4. ------------------------------------------------------------------------ r1200 | joe | 2007-07-14 21:40:37 +0100 (Sat, 14 Jul 2007) | 2 lines Note r1158, r1159 backports. ------------------------------------------------------------------------ r1199 | joe | 2007-07-14 21:36:01 +0100 (Sat, 14 Jul 2007) | 5 lines Merge r1198 from trunk: Update credit roll, copyright notice. ------------------------------------------------------------------------ r1197 | joe | 2007-07-14 21:26:40 +0100 (Sat, 14 Jul 2007) | 2 lines * po/: make update-po. ------------------------------------------------------------------------ r1196 | joe | 2007-07-14 21:26:08 +0100 (Sat, 14 Jul 2007) | 2 lines Update. ------------------------------------------------------------------------ r1195 | joe | 2007-07-14 21:25:25 +0100 (Sat, 14 Jul 2007) | 5 lines Revert r1154; _IDEMPOTENT flag is set too late to make a difference: * src/ne_auth.c (ah_pre_send): Set request idempotent flag for SSPI to prevent connection closure. ------------------------------------------------------------------------ r1194 | joe | 2007-07-14 21:21:44 +0100 (Sat, 14 Jul 2007) | 5 lines Merge r1169 from trunk: * doc/ref/alloc.xml: Fix prototype, thanks to Joshua Swink. ------------------------------------------------------------------------ r1193 | joe | 2007-07-14 21:21:14 +0100 (Sat, 14 Jul 2007) | 10 lines Merge r1172, r1173 from trunk: * src/ne_gnutls.c (pkcs12_parse, ne_ssl_clicert_read): Remove now-redundant code on encrypted-cert path. * src/ne_gnutls.c (ne_ssl_clicert_read): Update code/comment on friendly_name handling in encrypted c.certs. ------------------------------------------------------------------------ r1192 | joe | 2007-07-14 17:43:26 +0100 (Sat, 14 Jul 2007) | 6 lines Merge r1174 from trunk: * test/xml.c (parse_match): Give descriptive failures. (fail_parse): Enable tests for ill-formed UTF-8. ------------------------------------------------------------------------ r1191 | joe | 2007-07-14 15:28:25 +0100 (Sat, 14 Jul 2007) | 6 lines Merge r1171 from trunk: * src/ne_gnutls.c (pkcs12_parse, ne_ssl_clicert_read): Fix handling of PKCS#12 client certs with zero-length password. ------------------------------------------------------------------------ r1190 | joe | 2007-07-14 15:27:34 +0100 (Sat, 14 Jul 2007) | 5 lines Merge r1178 from trunk: * doc/manual.xml: Split name and version to silence new docbook-xsl stylesheets. ------------------------------------------------------------------------ r1189 | joe | 2007-07-14 10:03:40 +0100 (Sat, 14 Jul 2007) | 8 lines Merge r1187, r1188 from trunk: * src/ne_auth.c (auth_register): Fix multiple handler use (Werner Baumann) * test/auth.c (multi_cb, multi_handler): New test case. * test/auth.c (multi_handler): Use any_request(). ------------------------------------------------------------------------ r1186 | joe | 2007-07-14 09:27:37 +0100 (Sat, 14 Jul 2007) | 2 lines Fixes so far for 0.26.4. ------------------------------------------------------------------------ r1168 | joe | 2007-04-29 09:24:32 +0100 (Sun, 29 Apr 2007) | 5 lines Merge r1158 from trunk: * test/util-tests.c (digest_md5, md5): Meet alignment requirement of MD5 API. ------------------------------------------------------------------------ r1167 | joe | 2007-04-27 09:49:33 +0100 (Fri, 27 Apr 2007) | 7 lines Merge r1165 from trunk: * src/ne_request.c (proxy_tunnel): Pass back error string and code for CONNECT failure. * test/ssl.c (auth_tunnel_fail): Add regression test for above. ------------------------------------------------------------------------ r1166 | joe | 2007-04-06 16:42:47 +0100 (Fri, 06 Apr 2007) | 16 lines Merge r1159, r1161, r1164 from trunk: * src/ne_string.c (ne_strerror): Handle failure cases for POSIX-style strerror_r; always use a temp buffer and copy back to truncate rather than fail for a short input buffer. * test/string-tests.c (str_errors): Test for handling of bogus errno values into too-short buffer. * src/ne_auth.c (ah_post_send): Fix for SSPI to avoid invoking the NULL response header verification callback (patch from dicuccio@comcast.net). * Makefile.in (install-nls-yes): Fix for VPATH builds, patch from Hans Meine. ------------------------------------------------------------------------ r1157 | joe | 2007-02-06 10:09:10 +0000 (Tue, 06 Feb 2007) | 17 lines Merge r1152, r1153, r1154, r1155, r1156 from trunk: * src/ne_sspi.c: Define SECURITY_ENTRYPOINT if missing. (base64ToBuffer): Fix cast. * src/ne_locks.c (lk_pre_send): Terminate If header with CRLF not LF. * src/ne_auth.c (ah_pre_send): Set request idempotent flag for SSPI to prevent connection closure. * src/ne_auth.c (verify_negotiate_response): Fix comparison of Negotiate response header token, and set error message on failure. * src/ne_socket.c (write_raw): Work around QNX issue passing large buffers to send() over loopback; send 8K at a time. ------------------------------------------------------------------------ r1137 | joe | 2007-01-22 17:59:58 +0000 (Mon, 22 Jan 2007) | 5 lines Merge r1103 from trunk: * test/socket.c (write_reset): Warn rather than fail for a failure to elicit an RST. ------------------------------------------------------------------------ r1136 | joe | 2007-01-22 17:57:47 +0000 (Mon, 22 Jan 2007) | 2 lines * po/: make update-po. ------------------------------------------------------------------------ r1135 | joe | 2007-01-22 17:56:53 +0000 (Mon, 22 Jan 2007) | 2 lines Changes for 0.26.3. ------------------------------------------------------------------------ r1134 | joe | 2007-01-22 16:12:23 +0000 (Mon, 22 Jan 2007) | 15 lines Merge r1132 from trunk: Fix 0.26.x regression; ensure the "attempt" counter passed to creds callbacks reflects the number of invocation of that callback only per request: * src/ne_auth.c (struct auth_handler): Add attempt field. (get_credentials): Use per-handler attempt counter and post-increment same. (ah_create): Reset per-request attempt counters. (auth_register): Initialize attempt counter. * test/auth.c (fail_challenge): Add test for attempt handling regression. ------------------------------------------------------------------------ r1133 | joe | 2007-01-11 22:31:47 +0000 (Thu, 11 Jan 2007) | 7 lines Merge r1131 from trunk: * src/ne_uri.c (uri_lookup): Fix cast to prevent buffer under-read on non-ASCII characters (CVE-2007-0157, Laszlo Boszormenyi). * test/uri-tests.c (parse): Add test case. ------------------------------------------------------------------------ r1127 | joe | 2007-01-04 18:58:03 +0000 (Thu, 04 Jan 2007) | 15 lines Merge r1126 from trunk: Fix nextnonce handling in Digest auth: * src/ne_auth.c (verify_digest_response): Reset nonce-count on receipt of next-nonce parameter in A-I response header. * test/auth.c (struct digest_parms): Add send_nextnonce, num_requests fields. (make_authinfo_header): Invent new nonce if send_nextnonce field is set. (serve_digest, test_digest): Handle num_requests requests. (digest): Set new parameter fields; test for next-nonce handling. (digest_failure): Set new paramater fields. ------------------------------------------------------------------------ r1122 | joe | 2006-12-28 23:45:54 +0000 (Thu, 28 Dec 2006) | 5 lines Merge r1121 from trunk: * src/ne_session.h (ne_ssl_set_clicert, ne_ssl_trust_cert): Clarify lack of lifetime requirement for passed-in objects. ------------------------------------------------------------------------ r1110 | joe | 2006-12-28 17:21:59 +0000 (Thu, 28 Dec 2006) | 5 lines Merge r1109 from trunk: * macros/neon-test.m4 (NE_FORMAT_TIMET): Factor out. (NEON_TEST): Use it. ------------------------------------------------------------------------ r1100 | joe | 2006-10-30 13:20:14 +0000 (Mon, 30 Oct 2006) | 2 lines Update for .2. ------------------------------------------------------------------------ r1099 | joe | 2006-10-30 13:18:51 +0000 (Mon, 30 Oct 2006) | 9 lines Merge r1098 from trunk: Fix real cause of h_errno problem on HP-UX (Albert Chin): * macros/neon.m4: Drop _XOPEN_SOURCE_EXTENDED definition for HP-UX. * src/ne_socket.c: Use HAVE_DECL_H_ERRNO macro correctly. ------------------------------------------------------------------------ r1091 | joe | 2006-10-05 19:39:44 +0100 (Thu, 05 Oct 2006) | 2 lines * NEWS: Matthias not Matthew. ------------------------------------------------------------------------ r1090 | joe | 2006-10-05 19:35:47 +0100 (Thu, 05 Oct 2006) | 2 lines * po/: make update-po. ------------------------------------------------------------------------ r1089 | joe | 2006-10-05 19:34:00 +0100 (Thu, 05 Oct 2006) | 2 lines * NEWS: Update for 0.26.2. ------------------------------------------------------------------------ r1088 | joe | 2006-10-05 19:33:05 +0100 (Thu, 05 Oct 2006) | 2 lines * macros/neon.m4: Bump to 0.26.2. ------------------------------------------------------------------------ r1087 | joe | 2006-10-05 19:32:01 +0100 (Thu, 05 Oct 2006) | 11 lines Merge r1086 from trunk: * macros/neon.m4 (NE_CHECK_OS): Split out from NE_OS_*. Conditionally add _XOPEN_SOURCE_EXTENDED=1 to CPPFLAGS for HP-UXes. (LIBNEON_SOURCE_CHECKS): Remove _XOPEN_SOURCE_EXTENDED definition here. (NE_OS_MINGW, NE_MACOSX): Removed. (NE_SEARCH_LIBS): Adjust for ne_cv_os_uname. * src/ne_socket.c: Don't set _XOPEN_SOURCE_EXTENDED here. ------------------------------------------------------------------------ r1085 | joe | 2006-10-05 14:12:18 +0100 (Thu, 05 Oct 2006) | 9 lines Merge r1084 from trunk: * test/makekeys.sh: Remove hostname-based munging for wildcard cert; always use *.example.com. * test/ssl.c (tunnel_server): New function. (wildcard_match): Use a proxy to avoid using real hostnames. (wildcard_init): Removed function. ------------------------------------------------------------------------ r1083 | joe | 2006-10-05 13:50:26 +0100 (Thu, 05 Oct 2006) | 10 lines Merge r1054, r1065 from trunk: * configure.in: Substitute NEON_PC_LIBS for neon.pc. * neon.pc.in: Define Libs.Private; use only NEON_PC_LIBS in Libs. * src/ne_string.c (ascii_tolower): Use integer constants rather than character constants to fix warnings with Sun cc; patch from Peter O'Gorman. ------------------------------------------------------------------------ r1082 | joe | 2006-10-05 13:40:46 +0100 (Thu, 05 Oct 2006) | 11 lines Merge r1071, r1072, r1073 from trunk: * src/ne_uri.c (ne_path_lower): Avoid use of min() (Matthias Miller). * macros/neon.m4 (NE_OS_MINGW): New macro. (NE_SEARCH_LIBS): Check for function using __stdcall calling convention if on MinGW and library to search is -lws2_32. (LIBNEON_SOURCE_CHECKS): Also check for gethostbyname in -lws2_32. * macros/neon.m4 (NE_OS_MINGW): Update comment, thanks to Matthias Miller. ------------------------------------------------------------------------ r1081 | joe | 2006-10-05 13:37:24 +0100 (Thu, 05 Oct 2006) | 14 lines Merge r1020, r1078, r1079, r1080 from trunk: * test/run.sh: Don't limit virtual memory use. * src/ne_locks.c (struct lock_ctx): Add parser pointer. (lk_startelm): Set XML parser error when failing parse. (ne_lock, ne_lock_refresh): Set parser in context; omit explicit XML parse error handling already done by ne_xml_dispatch_request. * test/request.c (fail_noheader): New regression test. * macros/neon.m4 (NEON_I18N): Really disable i18n if libintl.h is not detected. ------------------------------------------------------------------------ r1066 | joe | 2006-09-05 15:43:47 +0100 (Tue, 05 Sep 2006) | 14 lines Merge r1055, r1058, r1062, r1063, r1064 from trunk: * src/ne_openssl.c (ne__ssl_init): Call CRYPTO_malloc_init() first per dev@apr discussion. * config.hw.in: Enable debugging for Win32 build. * src/ne_sspi.c (ne_sspi_clear_context): Add missing return statement; patch from Kiyo Kelvin Lee. * src/ne_sspi.c (resetContext): Fix build with older SDKs (Kiyo Kelvin Lee). * config.hw.in: Fixes for newer SDKs; patch from Kiyo Kelvin Lee. ------------------------------------------------------------------------ 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. ------------------------------------------------------------------------