Blob Blame History Raw
------------------------------------------------------------------------
r1989 | joe | 2016-09-30 10:01:07 +0100 (Fri, 30 Sep 2016) | 1 line

Tag release 0.30.2.
------------------------------------------------------------------------
r1988 | joe | 2016-09-30 09:53:25 +0100 (Fri, 30 Sep 2016) | 1 line

Bump release.
------------------------------------------------------------------------
r1987 | joe | 2016-09-30 09:51:39 +0100 (Fri, 30 Sep 2016) | 1 line

News.
------------------------------------------------------------------------
r1986 | joe | 2016-09-30 09:51:26 +0100 (Fri, 30 Sep 2016) | 2 lines

* po/: make update-po.

------------------------------------------------------------------------
r1985 | joe | 2016-09-30 09:47:02 +0100 (Fri, 30 Sep 2016) | 8 lines

Merge r1976, r1977 from trunk:

* test/makekeys.sh: Don't put generated files in $srcdir.

* test/ssl.c (init, fail_expired, fail_notvalid): Fix for VPATH
  builds.


------------------------------------------------------------------------
r1984 | joe | 2016-09-30 09:46:00 +0100 (Fri, 30 Sep 2016) | 15 lines

Merge r1973, r1974, r1975 from trunk:

* src/ne_openssl.c, src/ne_auth.c, src/ne_socket.c: Fix build with
  OpenSSL 1.1.  Patch by Kurt Roeckx.

* src/ne_pkcs11.c: Create RSA_METHOD once per provider, rather than
  dynamically.  Add OpenSSL 1.1.0 compatibility.
  (pk11_rsa_finish): Remove.
  (pk11_init): Create RSA_METHOD here, ...
  (ne_ssl_pkcs11_provider_destroy): ... destroy it here.

* src/ne_openssl.c (ne__ssl_clicert_exkey_import): Rewrite to be
  OpenSSL 1.1 compatible.  Catch non-RSA keys early.


------------------------------------------------------------------------
r1983 | joe | 2016-09-30 09:44:03 +0100 (Fri, 30 Sep 2016) | 8 lines

Merge r1967, r1968, r1969 from trunk:

* test/ssl.c (fail_expired, fail_notvalid): Fix CA.

* test/props.c: Remove unused variable.

* test/socket.c: Remove unused variable.

------------------------------------------------------------------------
r1966 | joe | 2015-09-02 21:53:32 +0100 (Wed, 02 Sep 2015) | 31 lines

Merge r1961, r1962, r1963, r1964, r1965 from trunk:

* test/makekeys.sh, test/openssl.conf: Use 2048-bit RSA keys throughout.

* test/ssl.c (fail_notvalid, fail_expired): Use generated keys.

* test/ssl.c (nulcn_identity): Fail only if the NUL byte was interpreted
  precisely.

Rewrite GnuTLS PKCS#11 support to work (exclusively) with the new
GnuTLS 3.x API.

* src/ne_privssl.h: Drop session-wide signing callback in favour of
  per-clicert signing callback API.

* src/ne_socket.c (ne_sock_connect_ssl): Likewise.

* src/ne_gnutls.c: Store a signing function in the ccert object.
  (dup_client_cert): Dupe the above.
  (provide_client_cert): Support new retrieve API and new signing
  callback.
  (ne__ssl_clicert_exkey_import): Take callback & userdata.
  
* src/ne_pkcs11.c (pk11_sign_callback): Adjust for privkey-based
  signing API.
  (ne_ssl_set_pkcs11_provider): Drop session-global callback.
  
* macros/neon.m4 (NEON_SSL): Check for new retrieve API,
  gnutls_privkey_import_ext.  Enable PKCS#11 if latter present.


------------------------------------------------------------------------
r1959 | joe | 2014-09-23 14:18:59 +0100 (Tue, 23 Sep 2014) | 2 lines

* macros/neon.m4: Bump to 0.30.1.

------------------------------------------------------------------------
r1958 | joe | 2014-09-23 14:16:27 +0100 (Tue, 23 Sep 2014) | 1 line

More news.
------------------------------------------------------------------------
r1957 | joe | 2014-09-23 14:15:51 +0100 (Tue, 23 Sep 2014) | 9 lines

Merge r1956 from trunk:

Fix PKCS#11 support with OpenSSL for TLS 1.2:

* src/ne_pkcs11.c (pk11_rsa_encrypt, pk11_rsa_method): Reimplemented
  pk11_rsa_sign as rsa_private_encrypt callback for RSA method.
  (pk11_rsa_init): Removed.


------------------------------------------------------------------------
r1955 | joe | 2014-09-22 16:47:49 +0100 (Mon, 22 Sep 2014) | 2 lines

* po/: make update-po.

------------------------------------------------------------------------
r1954 | joe | 2014-09-22 16:47:12 +0100 (Mon, 22 Sep 2014) | 9 lines

Merge r1951, r1952, r1953 from trunk:

* doc/ref/neon.xml: LFS doc tweak.

* src/ne_gnutls.c (ne_ssl_readable_dname): Remove unused variable.

* src/ne_gnutls.c (ne_ssl_clicert_import): Cast away warning.


------------------------------------------------------------------------
r1950 | joe | 2014-09-20 20:33:03 +0100 (Sat, 20 Sep 2014) | 2 lines

News is good news.

------------------------------------------------------------------------
r1949 | joe | 2014-09-20 20:31:25 +0100 (Sat, 20 Sep 2014) | 5 lines

Merge r1948 from trunk:

* src/ne_gnutls.c (ne_ssl_context_destroy): Fix memory leak (Werner Baumann, Patrick Ohly).


------------------------------------------------------------------------
r1947 | joe | 2014-09-20 20:24:21 +0100 (Sat, 20 Sep 2014) | 2 lines

* po/: make update-po.

------------------------------------------------------------------------
r1945 | joe | 2014-09-20 20:21:43 +0100 (Sat, 20 Sep 2014) | 9 lines

Merge r1943, r1944 from trunk:

* neon.pc.in: Reorder Libs/Libs.private to fix static linking (Alan H).

* test/socket.c (addr_reverse): Succeed if returned name uses hostname as 
  prefix, and only warn for non-empty strings which don't match.

Reviewed by: joe

------------------------------------------------------------------------
r1942 | joe | 2014-09-20 20:05:23 +0100 (Sat, 20 Sep 2014) | 7 lines

Merge r1941 from trunk:

* src/ne_socket.c (ne_addr_destroy): Fix possible crash on Windows
  for address lookup error cases.  (Olivier Goffart)

Reviewed by: joe

------------------------------------------------------------------------
r1940 | joe | 2014-09-20 19:59:52 +0100 (Sat, 20 Sep 2014) | 8 lines

Merge r1938, r1939 from trunk:

* src/ne_openssl.c (ne__negotiate_ssl): Don't fail hard for SSL cert
  change, invoke verify callback.

* configure.ac: Rename from configure.in.


------------------------------------------------------------------------
r1936 | joe | 2013-09-30 16:45:36 +0100 (Mon, 30 Sep 2013) | 7 lines

Merge 1933,1935 from trunk:

* doc/ref/reqbody.xml: Doc fixes.

* macros/neon-test.m4 (NEON_TEST): Check for signal.h.


------------------------------------------------------------------------
r1934 | joe | 2013-09-30 16:39:58 +0100 (Mon, 30 Sep 2013) | 2 lines

Branch 0.30.x

------------------------------------------------------------------------
r1932 | joe | 2013-07-31 17:00:59 +0100 (Wed, 31 Jul 2013) | 2 lines

Tag 0.30, third time lucky.

------------------------------------------------------------------------
r1930 | joe | 2013-07-31 16:55:25 +0100 (Wed, 31 Jul 2013) | 3 lines

* macros/neon.m4, configure.in: Fix ABI versioning for backwards-compat
  with 0.27.x.

------------------------------------------------------------------------
r1928 | joe | 2013-07-31 16:48:33 +0100 (Wed, 31 Jul 2013) | 2 lines

* po/: make update-po.

------------------------------------------------------------------------
r1925 | joe | 2013-07-31 16:36:53 +0100 (Wed, 31 Jul 2013) | 2 lines

* src/ne_socket.c: Another GnuTLS 3.x deprecation warning fix.

------------------------------------------------------------------------
r1924 | joe | 2013-07-31 16:35:34 +0100 (Wed, 31 Jul 2013) | 1 line

Drop -dev.
------------------------------------------------------------------------
r1923 | joe | 2013-07-31 16:34:39 +0100 (Wed, 31 Jul 2013) | 1 line

Note GnuTLS 3.x fixes.
------------------------------------------------------------------------
r1922 | joe | 2013-07-31 16:22:20 +0100 (Wed, 31 Jul 2013) | 2 lines

* src/ne_gnutls.c (provide_client_cert): Avoid segfaults with GnuTLS 3.x.

------------------------------------------------------------------------
r1921 | joe | 2013-07-31 15:46:50 +0100 (Wed, 31 Jul 2013) | 2 lines

* test/.gdbinit: New file.

------------------------------------------------------------------------
r1920 | joe | 2013-07-31 15:46:37 +0100 (Wed, 31 Jul 2013) | 2 lines

* test/common/child.c: More debugging.

------------------------------------------------------------------------
r1919 | joe | 2013-07-31 15:40:56 +0100 (Wed, 31 Jul 2013) | 6 lines

* test/request.c (status, status_chunked): Revert r1910.  Expect hostname of
  127.0.0.1.

* test/utils.c (session_server, sessi


------------------------------------------------------------------------
r1918 | joe | 2013-07-31 15:21:04 +0100 (Wed, 31 Jul 2013) | 3 lines

* src/ne_gnutls.c (x509_crt_copy, make_peers_chain): Fix potential segv,
  patch by Matthias Petschick.

------------------------------------------------------------------------
r1917 | joe | 2013-07-31 15:15:05 +0100 (Wed, 31 Jul 2013) | 3 lines

* src/ne_privssl.h, src/ne_gnutls.c, src/ne_socket.c: Avoid olde GnuTLS types,
  avoiding deprecation warnings.

------------------------------------------------------------------------
r1916 | joe | 2013-07-31 15:08:25 +0100 (Wed, 31 Jul 2013) | 5 lines

Omitted in previous commit:

* src/ne_socket.c: Support build with GnuTLS 3, patch by Bartosz
  Brachaczek.

------------------------------------------------------------------------
r1915 | joe | 2013-07-31 15:05:23 +0100 (Wed, 31 Jul 2013) | 3 lines

* src/ne_gnutls.c, macros/neon.m4: Support build with GnuTLS 3, patch by
  Bartosz Brachaczek.

------------------------------------------------------------------------
r1914 | joe | 2013-07-31 14:56:22 +0100 (Wed, 31 Jul 2013) | 2 lines

* macros/ld-version-script.m4: Update from gnulib.

------------------------------------------------------------------------
r1913 | joe | 2013-07-31 14:50:34 +0100 (Wed, 31 Jul 2013) | 2 lines

* test/common/tests.c (main): Note fatal errors.

------------------------------------------------------------------------
r1912 | joe | 2013-07-31 14:49:58 +0100 (Wed, 31 Jul 2013) | 2 lines

* test/ssl.c: Disable SSLv2 test, redundant with modern SSL libraries.

------------------------------------------------------------------------
r1911 | joe | 2013-07-26 19:33:54 +0100 (Fri, 26 Jul 2013) | 2 lines

* src/ne_request.c (send_request_body): Use chunk length without prefix in progress.

------------------------------------------------------------------------
r1910 | joe | 2013-07-26 19:32:08 +0100 (Fri, 26 Jul 2013) | 4 lines

* test/request.c (print_addr, notifier): Factor out from status; fix for
  multiple mappings from "localhost" addr.
  (status_plain, status_chunked): Adapt to use notifier.

------------------------------------------------------------------------
r1909 | joe | 2013-07-26 19:25:09 +0100 (Fri, 26 Jul 2013) | 2 lines

* src/ne_request.c (send_request_body): Fix double counting.

------------------------------------------------------------------------
r1908 | joe | 2013-07-26 19:08:37 +0100 (Fri, 26 Jul 2013) | 3 lines

* test/request.c (retry_after_abort): Correctly catch errors.
  Re-order tests to avoid triggering some weird glibc getaddrinfo issue.

------------------------------------------------------------------------
r1907 | joe | 2013-07-26 18:58:53 +0100 (Fri, 26 Jul 2013) | 2 lines

* macros/neon.m4 (NEON_I18N): Check for bindtextdomain with -liconv. (Brad Smith)

------------------------------------------------------------------------
r1906 | joe | 2013-07-26 18:57:48 +0100 (Fri, 26 Jul 2013) | 4 lines

* src/ne_socket.c: Include sys/uio.h for writev(2) (Brad Smith).

* macros/neon.m4: Check for it.

------------------------------------------------------------------------
r1905 | joe | 2013-07-26 18:51:23 +0100 (Fri, 26 Jul 2013) | 8 lines

Support chunked bodies; patch by Julien Reichel.

* src/ne_request.c (send_request_body): Support chunked bodies.
  (set_body_length): Negative length implies chunked, not C-L.
  (send_request): Adjust for chunked.

* src/ne_request.h: Update ne_set_request_body_provider API.

------------------------------------------------------------------------
r1904 | joe | 2013-07-26 18:38:05 +0100 (Fri, 26 Jul 2013) | 2 lines

* src/ne_basic.h: Update comment.

------------------------------------------------------------------------
r1903 | joe | 2013-07-26 17:17:08 +0100 (Fri, 26 Jul 2013) | 1 line

Win32 fixes.
------------------------------------------------------------------------
r1902 | joe | 2013-07-26 17:16:21 +0100 (Fri, 26 Jul 2013) | 3 lines

* config.hw.in, src/ne_defs.h: Add LFS support for Win32 (patch by
Diego Santa Cruz).

------------------------------------------------------------------------
r1901 | joe | 2013-07-26 17:15:19 +0100 (Fri, 26 Jul 2013) | 2 lines

* config.hw.in, src/ne_openssl.c: Add thread-safety support for SSL on Windows.

------------------------------------------------------------------------
r1900 | joe | 2013-07-26 17:11:57 +0100 (Fri, 26 Jul 2013) | 2 lines

* test/run-tests.sh: Use MALLOC_PERTURB.

------------------------------------------------------------------------
r1899 | joe | 2013-07-26 17:11:35 +0100 (Fri, 26 Jul 2013) | 1 line

Changes in trunk.
------------------------------------------------------------------------
r1898 | joe | 2013-07-26 17:10:53 +0100 (Fri, 26 Jul 2013) | 2 lines

* test/utils.c (proxied_session_server): Debug more.

------------------------------------------------------------------------
r1897 | joe | 2013-07-26 17:08:57 +0100 (Fri, 26 Jul 2013) | 5 lines

* src/ne_session.c (free_proxies): Fix possible double-free. 
(patch by Diego Santa Cruz)

* test/session.c (proxies): Add test case.

------------------------------------------------------------------------
r1896 | joe | 2013-03-18 10:33:56 +0000 (Mon, 18 Mar 2013) | 4 lines

* src/ne_md5.c (md5_finish_ctx): Fix aliasing problem.

http://permalink.gmane.org/gmane.comp.gnu.binutils/58378

------------------------------------------------------------------------
r1895 | joe | 2012-07-06 22:23:20 +0100 (Fri, 06 Jul 2012) | 3 lines

* src/ne_socket.c (ne_sock_connect_ssl): Drop OpenSSL version check,
  inappropriate with OpenSSL 1.x; patch by Mike Frysinger.

------------------------------------------------------------------------
r1894 | joe | 2012-07-06 08:55:32 +0100 (Fri, 06 Jul 2012) | 2 lines

* src/ne_auth.c: Fix build, from Nathanael Rensen.

------------------------------------------------------------------------
r1893 | joe | 2012-07-05 21:46:03 +0100 (Thu, 05 Jul 2012) | 3 lines

* src/ne_socket.c (timed_connect, ne_sock_connect): Capture socket
  error code correctly for Windows.  (Vlad Grachov)

------------------------------------------------------------------------
r1892 | joe | 2012-07-05 21:41:43 +0100 (Thu, 05 Jul 2012) | 7 lines

Patch from Nathanael Rensen:

* src/ne_auth.c (ah_post_send): Clear SSPI context for any
  non-auth-failure response code.

* src/ne_sspi.c (ne_sspi_clear_context): Clear continueNeeded flag.

------------------------------------------------------------------------
r1891 | joe | 2012-07-04 09:41:44 +0100 (Wed, 04 Jul 2012) | 3 lines

* test/makekeys.sh: Use 1024 bit RSA keys to prevent weird OpenSSL
  test failures.

------------------------------------------------------------------------
r1890 | joe | 2012-06-26 11:13:33 +0100 (Tue, 26 Jun 2012) | 2 lines

* test/utils.c (fakeproxied_session_server): New function.

------------------------------------------------------------------------
r1889 | joe | 2012-06-26 11:12:55 +0100 (Tue, 26 Jun 2012) | 3 lines

* test/common/child.c (new_spawn_server2): Factored out, return
  address used.  Fix to ensure local host address is resolved.

------------------------------------------------------------------------
r1888 | joe | 2012-06-26 11:02:58 +0100 (Tue, 26 Jun 2012) | 6 lines

* src/ne_session.c (ne_set_addrlist2): Factored out of
  ne_set_addrlist, take port as argument.
  (ne_set_addrlist): Reimplement using the above.

* src/neon.vers: Add ne_set_addrlist2.

------------------------------------------------------------------------
r1887 | joe | 2012-06-26 09:17:20 +0100 (Tue, 26 Jun 2012) | 7 lines

* src/ne_auth.h: Add NE_AUTH_GSSAPI_ONLY, NE_AUTH_SSPI.

* src/ne_auth.c: Adjust for new constants.
  (auth_register): Map NE_AUTH_GSSAPI to _GSSAPI_ONLY|_SSPI

Patch by Nathanael Rensen <nathanael.rensen zettaserve.com>

------------------------------------------------------------------------
r1886 | joe | 2012-06-25 12:21:39 +0100 (Mon, 25 Jun 2012) | 3 lines

* test/ssl.c (fail_ssl_request_with_error2): Fix tests with "fake" hostname
  where localhost maps to multiple addresses.

------------------------------------------------------------------------
r1885 | joe | 2012-05-22 15:43:58 +0100 (Tue, 22 May 2012) | 2 lines

* test/uri-tests.c (cmp): Don't depend on exact magnitude of *cmp.

------------------------------------------------------------------------
r1882 | joe | 2012-01-19 22:17:13 +0000 (Thu, 19 Jan 2012) | 2 lines

* test/basic.c (options2): Untabify.

------------------------------------------------------------------------
r1881 | joe | 2012-01-19 22:16:11 +0000 (Thu, 19 Jan 2012) | 6 lines

* src/ne_basic.h: Add NE_CAP_EXT_MKCOL.

* src/ne_basic.c (options_map): Add NE_CAP_EXT_MKCOL.

* test/basic.c (options2): Add test.

------------------------------------------------------------------------
r1874 | joe | 2011-12-09 13:43:02 +0000 (Fri, 09 Dec 2011) | 3 lines

* src/ne_socket.c (ne_iaddr_reverse) [!USE_GETADDRINFO]:
  Fix build with Open Watcom compiler.  (NormW <normanwheeler bigpond.com)

------------------------------------------------------------------------
r1873 | joe | 2011-12-09 13:41:20 +0000 (Fri, 09 Dec 2011) | 2 lines

* src/ne_gnutls.c (ne_ssl_context_get_flag): Add function.

------------------------------------------------------------------------
r1872 | joe | 2011-12-09 13:39:10 +0000 (Fri, 09 Dec 2011) | 5 lines

* src/ne_openssl.c (ne_ssl_context_create): Fail hard with non-SSL
  build on request for SSLv2 server context
  (ne_ssl_context_get_flag): Fix build.


------------------------------------------------------------------------
r1871 | joe | 2011-12-09 10:56:12 +0000 (Fri, 09 Dec 2011) | 2 lines

* test/common/tests.c (main): Fix grammar.

------------------------------------------------------------------------
r1866 | joe | 2011-11-25 00:15:10 +0000 (Fri, 25 Nov 2011) | 3 lines

* src/ne_openssl.c (ne_ssl_context_create): Disable TLS ticket support
  since it inhibits testing of session caching.

------------------------------------------------------------------------
r1865 | joe | 2011-11-25 00:11:34 +0000 (Fri, 25 Nov 2011) | 13 lines

Fix build and test suite for OpenSSL without SSLv2 support.

* src/ne_openssl.c (ne_ssl_context_get_flag): New function.
  (ne_ssl_context_create): Fix compile without SSLv2.
 
* src/ne_session.c (ne_set_session_flag): Retrieve SSLv2
  flag value after setting it.

* src/ne_ssl.h, src/neon.vers: Add ne_ssl_context_get_flag.

* test/ssl.c (simple_sslv2): Retrieve flag setting and skip
  test if it was not enabled.

------------------------------------------------------------------------
r1864 | joe | 2011-11-22 23:26:30 +0000 (Tue, 22 Nov 2011) | 3 lines

* src/ne_uri.c (ne_path_escape): Fix over-allocation of memory.
  (Pierre Crokaert <pct actl.be>)

------------------------------------------------------------------------
r1863 | joe | 2011-10-03 23:33:52 +0100 (Mon, 03 Oct 2011) | 3 lines

* src/ne_socket.c (ne_addr_resolve): Use a bit-wise 
  comparison, suggested by Ivan Zhakov.

------------------------------------------------------------------------
r1862 | joe | 2011-10-03 22:48:59 +0100 (Mon, 03 Oct 2011) | 3 lines

* src/ne_socket.c (timed_connect): Don't overwrite an error when
  resetting fd flags.

------------------------------------------------------------------------
r1861 | joe | 2011-10-03 22:41:51 +0100 (Mon, 03 Oct 2011) | 2 lines

* src/ne_socket.c: Tweak comment.

------------------------------------------------------------------------
r1860 | joe | 2011-10-03 22:35:49 +0100 (Mon, 03 Oct 2011) | 3 lines

* src/ne_request.c (ne_set_request_flag, ne_get_request_flag): Fix 
  warnings with gcc 4.5 -Wenum-compare.

------------------------------------------------------------------------
r1859 | joe | 2011-09-18 21:05:37 +0100 (Sun, 18 Sep 2011) | 2 lines

* test/common/child.c: Better debugging output.

------------------------------------------------------------------------
r1858 | joe | 2011-09-18 21:04:49 +0100 (Sun, 18 Sep 2011) | 2 lines

* src/neon.vers: No version 0.31 needed (yet?!).

------------------------------------------------------------------------
r1857 | joe | 2011-09-18 21:04:23 +0100 (Sun, 18 Sep 2011) | 2 lines

* src/Makefile.in: Update deps.

------------------------------------------------------------------------
r1856 | joe | 2011-09-18 20:58:06 +0100 (Sun, 18 Sep 2011) | 3 lines

* src/ne_auth.c (continue_sspi, auth_register): Use the proxy hostname
  for proxy auth with SSPI.

------------------------------------------------------------------------
r1855 | joe | 2011-09-14 10:15:08 +0100 (Wed, 14 Sep 2011) | 3 lines

* test/common/child.c (spawn_server, spawn_server_repeat): Better
  debugging output.

------------------------------------------------------------------------
r1854 | joe | 2011-09-14 09:53:24 +0100 (Wed, 14 Sep 2011) | 3 lines

* test/request.c, test/ssl.c, test/redirect.c: Fix various
  memory leaks in the test suite, found by --enable-memleak.

------------------------------------------------------------------------
r1853 | joe | 2011-09-02 10:52:44 +0100 (Fri, 02 Sep 2011) | 3 lines

* src/ne_sspi.c (canonical_hostname): Use NE_ADDR_CANON to determine
  canonical hostname.

------------------------------------------------------------------------
r1852 | joe | 2011-09-02 10:51:02 +0100 (Fri, 02 Sep 2011) | 11 lines

* src/ne_socket.h: Add NE_ADDR_CANON flag, ne_addr_canonical.

* src/ne_socket.c (struct ne_sock_addr_s): Add name field for non-gai.
  (ne_addr_resolve): Handle NE_ADDR_CANON.
  (ne_addr_canonical): New function.
  (ne_addr_destroy): Free name field.

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

* src/neon.vers: Add ne_addr_canonical.

------------------------------------------------------------------------
r1851 | joe | 2011-07-10 20:22:13 +0100 (Sun, 10 Jul 2011) | 3 lines

* test/ssl.c (cache_verify): Trap errors from request dispatch,
  remove unused variable.

------------------------------------------------------------------------
r1850 | joe | 2011-07-10 20:19:26 +0100 (Sun, 10 Jul 2011) | 2 lines

* test/props.c (unbounded_response): Remove set-but-unused variable.

------------------------------------------------------------------------
r1849 | joe | 2011-06-23 14:09:44 +0100 (Thu, 23 Jun 2011) | 2 lines

* src/ne_ssl.h: Tweak wording on ne_ssl_clicert_read,import.

------------------------------------------------------------------------
r1848 | joe | 2011-06-23 13:41:00 +0100 (Thu, 23 Jun 2011) | 2 lines

* NEWS: Synch with 0.29.x.

------------------------------------------------------------------------
r1847 | joe | 2011-06-23 13:40:30 +0100 (Thu, 23 Jun 2011) | 18 lines

* src/ne_ssl.h (ne_ssl_clicert_import): New function.

* src/ne_openssl.c (parse_client_cert): Factor out from
  ne_ssl_clicert_read.
  (ne_ssl_clicert_read): Reimplement using above.
  (ne_ssl_clicert_import): New function.

* src/ne_gnutls.c (ne_ssl_clicert_import): Factor out from
  ne_ssl_clicert_read.
  (ne_ssl_clicert_import): Reimplement using above.

* test/utils.c (file_to_buffer): Move to here...

* test/compress.c (file2buf): ... from here.    
  (do_fetch): Use it.

* test/ssl.c (clicert_import): New test.

------------------------------------------------------------------------
r1846 | joe | 2011-06-17 11:54:54 +0100 (Fri, 17 Jun 2011) | 3 lines

* doc/ref/proxy.xml, doc/ref/sess.xml, doc/manual.xml: Split out, and
  complete, documentation of proxy support.

------------------------------------------------------------------------
r1845 | joe | 2011-05-03 16:27:18 +0100 (Tue, 03 May 2011) | 4 lines

* src/ne_socket.c (ne_sock_accept_ssl) [HAVE_GNUTLS]:
  Require a client cert if necessary, matching behaviour
  w/ OpenSSL.

------------------------------------------------------------------------
r1844 | joe | 2011-05-03 16:26:03 +0100 (Tue, 03 May 2011) | 2 lines

* src/Makefile.in: Update deps.

------------------------------------------------------------------------
r1838 | joe | 2011-05-03 13:04:23 +0100 (Tue, 03 May 2011) | 9 lines

Fix some errors flagged by a Coverity scan:

* src/ne_auth.c (verify_negotiate_response): Check for NULL pointer.

* src/ne_gnutls.c (check_certificate): Initiatialize 'failures'.
  (pkcs12_parse): Check for _crt_init failure.

* src/ne_session.c (ne__ssl_set_verify_err): Pass size-1 to strncat.

------------------------------------------------------------------------
r1837 | joe | 2011-05-03 12:58:24 +0100 (Tue, 03 May 2011) | 5 lines

* src/ne_auth.c
  (ah_post_send): Clear SSPI context only after successful authentication.

Submitted by: Ivan Zhakov <ivan visualsvn.com>

------------------------------------------------------------------------
r1836 | joe | 2011-05-03 12:57:03 +0100 (Tue, 03 May 2011) | 6 lines

* src/ne_gnutls.c (ne__ssl_init): Fix for GnuTLS with Nettle.

* src/ne_auth.c (get_cnonce): Likewise.

Submitted by: Arfrever Frehtes Taifersar Arahesis <arfrever.fta gmail.com>

------------------------------------------------------------------------
r1833 | joe | 2011-03-01 13:23:43 +0000 (Tue, 01 Mar 2011) | 3 lines

* src/ne_request.c (ne_request_create): Pass copied method to
  pre_send hooks to avoid lifetime issues (Patrick Ohly).

------------------------------------------------------------------------
r1828 | joe | 2010-11-11 12:23:05 +0000 (Thu, 11 Nov 2010) | 4 lines

* src/ne_gnutls.c (provide_client_cert): Return success with no cert
  if no cert is available; match behaviour with OpenSSL.  Thanks to
  Patrick Ohly.

------------------------------------------------------------------------
r1827 | joe | 2010-11-07 19:41:27 +0000 (Sun, 07 Nov 2010) | 2 lines

* doc/ref/iaddr.xml: Update ne_iaddr_* docs.

------------------------------------------------------------------------
r1819 | joe | 2010-10-09 17:01:29 +0100 (Sat, 09 Oct 2010) | 3 lines

* src/ne_socket.c (ne_sock_connect_ssl): Ignore TLS warnings
  during handshake (Bryan Cain).

------------------------------------------------------------------------
r1818 | joe | 2010-10-09 16:56:20 +0100 (Sat, 09 Oct 2010) | 5 lines

* test/socket.c (addr_reverse) [HAVE_GETHOSTNAME]: Accept system
  hostname as reverse of 127.0.0.1.

* macros/neon-test.m4 (NEON_TEST): Check for gethostname().

------------------------------------------------------------------------
r1811 | joe | 2010-09-28 12:55:07 +0100 (Tue, 28 Sep 2010) | 7 lines

* src/ne_session.c (ne__ssl_match_hostname): Deny a wildcard match
  against anything which parses as an IP address.

* test/ssl.c (fail_wildcard_ip): Add test case.

* test/makekeys.sh: Generate test wildcard IP cert.

------------------------------------------------------------------------
r1810 | joe | 2010-09-28 09:49:04 +0100 (Tue, 28 Sep 2010) | 2 lines

* test/request.c: Adjust to new test API throughout.

------------------------------------------------------------------------
r1809 | joe | 2010-09-28 09:47:07 +0100 (Tue, 28 Sep 2010) | 5 lines

* src/ne_request.c (open_connection): If SOCKS proxy fails, set return
  value to NE_ERROR.

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

------------------------------------------------------------------------
r1805 | joe | 2010-09-22 20:23:49 +0100 (Wed, 22 Sep 2010) | 4 lines

* src/ne_auth.c (ah_post_send): Always clear the SSPI context.
(Danil Shopyrin)


------------------------------------------------------------------------
r1804 | joe | 2010-09-04 14:17:30 +0100 (Sat, 04 Sep 2010) | 2 lines

* test/ssl.c (fail_ssl_request_with_error2): Document better.

------------------------------------------------------------------------
r1803 | joe | 2010-09-04 14:16:22 +0100 (Sat, 04 Sep 2010) | 2 lines

* src/ne_session.h: Wording tweak.

------------------------------------------------------------------------
r1802 | joe | 2010-09-04 14:15:29 +0100 (Sat, 04 Sep 2010) | 2 lines

* macros/neon.m4 (NE_CHECK_FUNCS): Fix AI_ADDRCONFIG detection.

------------------------------------------------------------------------
r1801 | joe | 2010-05-05 09:25:17 +0100 (Wed, 05 May 2010) | 7 lines

* src/ne_request.c (body_fd_send): Handle read() errors; thanks to Lou
  Montulli.

* test/request.c (serve_mirror, send_length): Add test case.

* test/Makefile.in (foobar.txt): Create test file.

------------------------------------------------------------------------
r1799 | joe | 2010-04-23 10:02:28 +0100 (Fri, 23 Apr 2010) | 2 lines

* src/ne_socket.c (raw_poll): Check for execptions in select().

------------------------------------------------------------------------
r1798 | joe | 2010-04-21 21:41:01 +0100 (Wed, 21 Apr 2010) | 3 lines

* test/lock.c (fake_session): New function.
  (everywhere): Replace use of make_session with fake_session.

------------------------------------------------------------------------
r1797 | joe | 2010-04-21 21:30:46 +0100 (Wed, 21 Apr 2010) | 3 lines

* src/ne_auth.c: Add handling of 2xx responses in SSPI code.
(Danil Shopyrin <danil visualsvn.com>)

------------------------------------------------------------------------
r1795 | joe | 2010-03-29 10:14:16 +0100 (Mon, 29 Mar 2010) | 2 lines

* doc/ref/reqflags.xml: Doc tweak.

------------------------------------------------------------------------
r1794 | joe | 2010-03-29 09:49:56 +0100 (Mon, 29 Mar 2010) | 3 lines

* src/ne_session.c (ne_session_create): Fix to enable SNI by default again.
  (Tobias Gruetzmacher)

------------------------------------------------------------------------
r1793 | joe | 2010-03-25 07:57:36 +0000 (Thu, 25 Mar 2010) | 2 lines

* doc/ref/: Fix some refpurposes.

------------------------------------------------------------------------
r1792 | joe | 2010-03-11 10:03:38 +0000 (Thu, 11 Mar 2010) | 2 lines

* src/ne_request.c (do_connect): Tweak debugging.

------------------------------------------------------------------------
r1780 | joe | 2010-01-11 10:23:06 +0000 (Mon, 11 Jan 2010) | 3 lines

* test/socket.c (ssl_closure, ssl_truncate): Don't expect clean
  closure.

------------------------------------------------------------------------
r1779 | joe | 2010-01-10 22:42:55 +0000 (Sun, 10 Jan 2010) | 3 lines

* test/socket.c (ssl_closure, ssl_truncate): Don't expect clean
  closure.

------------------------------------------------------------------------
r1778 | joe | 2010-01-10 21:53:58 +0000 (Sun, 10 Jan 2010) | 2 lines

* src/ne_socket.c (ne_sock_accept): Set the socket error string.

------------------------------------------------------------------------
r1777 | joe | 2010-01-08 11:09:36 +0000 (Fri, 08 Jan 2010) | 4 lines

* src/ne_defs.h: Only define NE_PRIVATE if undefined.

* configure.in: Define NE_PRIVATE to 'extern' for a static build.

------------------------------------------------------------------------
r1770 | joe | 2009-12-30 21:26:50 +0000 (Wed, 30 Dec 2009) | 5 lines

* src/ne_openssl.c (verify_callback): Handle OpenSSL error code
  X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT as an untrusted cert.

Submitted by: Tom C <tomc.neon pnl.gov>

------------------------------------------------------------------------
r1764 | joe | 2009-12-15 22:19:06 +0000 (Tue, 15 Dec 2009) | 1 line

NEWS: Sync with 0.29.x branch.
------------------------------------------------------------------------
r1761 | joe | 2009-12-14 21:43:45 +0000 (Mon, 14 Dec 2009) | 2 lines

* test/session.c: Avoid hard-coded references to port 7777.

------------------------------------------------------------------------
r1760 | joe | 2009-12-14 21:43:22 +0000 (Mon, 14 Dec 2009) | 3 lines

* test/auth.c: Adjust to use {proxied_,}session_server API, avoid
  hard-coded use of port 7777.

------------------------------------------------------------------------
r1759 | joe | 2009-12-14 21:41:24 +0000 (Mon, 14 Dec 2009) | 4 lines

* test/common/child.c (new_spawn_server): Take 'repeat' argument.

* test/socket.c, test/utils.c: Adjust accordingly.

------------------------------------------------------------------------
r1758 | joe | 2009-12-14 21:01:35 +0000 (Mon, 14 Dec 2009) | 2 lines

* test/utils.c (proxied_session_server): Take scheme argument.

------------------------------------------------------------------------
r1757 | joe | 2009-12-14 20:56:20 +0000 (Mon, 14 Dec 2009) | 2 lines

* test/socket.c, test/stubs.c: Adapt for {proxied_}session_server.

------------------------------------------------------------------------
r1756 | joe | 2009-12-14 20:55:43 +0000 (Mon, 14 Dec 2009) | 3 lines

* test/auth.c, test/redirect.c, test/props.c: Adapt to use
  session_server, proxied_session_server.

------------------------------------------------------------------------
r1755 | joe | 2009-12-14 20:52:45 +0000 (Mon, 14 Dec 2009) | 3 lines

* test/utils.c (session_server, proxied_session_server): New
  functions.  (make_session): Use session_server.

------------------------------------------------------------------------
r1754 | joe | 2009-12-14 20:48:40 +0000 (Mon, 14 Dec 2009) | 2 lines

* test/common/child.c, child.h (new_spawn_server): New function.

------------------------------------------------------------------------
r1750 | joe | 2009-12-02 21:38:17 +0000 (Wed, 02 Dec 2009) | 2 lines

* src/ne_gnutls.c (map_verify_failures): Fix build for GnuTLS < 2.8.

------------------------------------------------------------------------
r1748 | joe | 2009-12-02 21:16:17 +0000 (Wed, 02 Dec 2009) | 8 lines

Clear sspi_token buffer after each request.

* src/ne_auth.c (request_sspi): Return NULL if sspi_token is not present.

* src/ne_auth.c (ah_post_send): Clear the buffered sspi_token.

Submitted by: Danil Shopyrin <danil visualsvn.com>

------------------------------------------------------------------------
r1747 | joe | 2009-12-02 21:15:12 +0000 (Wed, 02 Dec 2009) | 2 lines

* src/ne_ntlm.c (mkhash): Fix buffer overflow (basic@mozdev.org).

------------------------------------------------------------------------
r1746 | kso | 2009-11-19 22:36:08 +0000 (Thu, 19 Nov 2009) | 5 lines

* src/ne_ntlm.c (ne__ntlm_authenticate)
* src/ne_auth.c (ntlm_challenge)
  - in case of session timeout, do not call auth callback; use
    existing credentials.

------------------------------------------------------------------------
r1745 | kso | 2009-11-13 09:29:37 +0000 (Fri, 13 Nov 2009) | 1 line

* src/ne_utils.c, src/ne_utils.h : Added NE_FEATURE_SSPI.
------------------------------------------------------------------------
r1744 | kso | 2009-11-13 08:56:21 +0000 (Fri, 13 Nov 2009) | 1 line

fixed 'missing symbol' win2k runtime problem.
------------------------------------------------------------------------
r1742 | joe | 2009-10-25 10:20:19 +0000 (Sun, 25 Oct 2009) | 3 lines

* src/ne_session.c (ne_session_create): Only enable SNI by default if
  the server hostname does not parse as a numeric IP address.

------------------------------------------------------------------------
r1739 | joe | 2009-09-26 20:56:52 +0100 (Sat, 26 Sep 2009) | 2 lines

* config.hw.in: Fix socklen_t with recent SDKs, thanks to Stefan Kung.

------------------------------------------------------------------------
r1738 | joe | 2009-09-26 20:55:51 +0100 (Sat, 26 Sep 2009) | 3 lines

* src/ne_socket.c (ne_sock_close) [HAVE_OPENSSL]: Ensure SSL
  connection is shut down cleanly.

------------------------------------------------------------------------
r1726 | joe | 2009-09-13 12:37:13 +0100 (Sun, 13 Sep 2009) | 3 lines

* src/ne_socket.c (ne_sock_close) [HAVE_OPENSSL]: Ensure SSL
  connection is shut down cleanly.

------------------------------------------------------------------------
r1724 | joe | 2009-09-12 21:03:49 +0100 (Sat, 12 Sep 2009) | 8 lines

* macros/neon.m4 (LIBNEON_SOURCE_CHECKS): Require inet_pton for
  getaddrinfo support.

* src/ne_socket.c (ne_sock_accept_ssl): Add debug log output if
  session is resumed.

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

------------------------------------------------------------------------
r1722 | joe | 2009-09-04 08:35:11 +0100 (Fri, 04 Sep 2009) | 4 lines

* Makefile.in, README: Collect copyright notices from po/*.

* po/: Update copyright notices.

------------------------------------------------------------------------
r1719 | joe | 2009-09-04 08:14:03 +0100 (Fri, 04 Sep 2009) | 2 lines

* po/pl.po: Update, from Arfrever Frehtes Taifersar Arahesis.

------------------------------------------------------------------------
r1718 | joe | 2009-09-04 08:12:58 +0100 (Fri, 04 Sep 2009) | 1 line

* macros/neon.m4: Bump to 0.30.0-dev.
------------------------------------------------------------------------
r1714 | joe | 2009-09-02 21:26:39 +0100 (Wed, 02 Sep 2009) | 3 lines

* macros/neon.m4 (LIBNEON_SOURCE_CHECKS): Require inet_pton for
  getaddrinfo support.

------------------------------------------------------------------------
r1713 | joe | 2009-09-02 21:25:59 +0100 (Wed, 02 Sep 2009) | 5 lines

* src/ne_request.c (socks_origin_lookup): New function.
  (open_connection): Use it to fix support for SOCKSv4 servers.

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

------------------------------------------------------------------------
r1711 | joe | 2009-09-02 18:28:56 +0100 (Wed, 02 Sep 2009) | 5 lines

* src/ne_socket.c (ne_iaddr_parse) [!USE_GETADDRINFO]: Fail for IPv6
  addresses.

* test/socket.c (addr_make_v6) [!TEST_IPV6]: Test for failure.

------------------------------------------------------------------------
r1710 | joe | 2009-09-02 17:06:11 +0100 (Wed, 02 Sep 2009) | 7 lines

* src/ne_socket.c (ne_iaddr_parse): New function.
  
* test/socket.c (check_is_raw127): Factored out from addr_make_v4.
  (parse_v4): New function.
  (addr_make_v6): Test ne_iaddr_parse for IPv6 addresses.
  (socks_proxy): Fix for non-v6-enabled builds.

------------------------------------------------------------------------
r1709 | joe | 2009-09-02 16:50:05 +0100 (Wed, 02 Sep 2009) | 4 lines

* test/util-socks.c (read_socks_0string): Pass through context string.
  (socks_server): Fail for v4 server without expected address.
  Don't write "ok" message for v4 server without say_hello flag.

------------------------------------------------------------------------
r1705 | joe | 2009-09-02 15:40:13 +0100 (Wed, 02 Sep 2009) | 2 lines

* macros/neon.m4: Import from gnulib.

------------------------------------------------------------------------
r1704 | joe | 2009-09-02 15:39:40 +0100 (Wed, 02 Sep 2009) | 5 lines

* configure.in: Use a GNU linker script if supported, to enable
  symbol versioning.

* src/neon.vers: Add linker script.

------------------------------------------------------------------------
r1703 | joe | 2009-09-02 15:04:43 +0100 (Wed, 02 Sep 2009) | 5 lines

* src/ne_defs.h: Define NE_PRIVATE.

* src/ne_privssl.h, src/ne_ntlm.h, src/ne_private.h: Mark all
  functions with NE_PRIVATE.

------------------------------------------------------------------------
r1702 | joe | 2009-09-02 14:51:05 +0100 (Wed, 02 Sep 2009) | 2 lines

* NEWS: Update.

------------------------------------------------------------------------
r1701 | joe | 2009-09-01 21:49:56 +0100 (Tue, 01 Sep 2009) | 12 lines

Minor cleanups to NTLM code:

* src/ne_ntlm.c:  Rename ne_ntlm_* to ne__ntlm_*.
  (mkhash): Use ne_malloc/ne_free.  Avoid shadowing MD4 global.
  (ne_output_ntlm): Use ne_snprintf; cast size to size_t.
  (ne__ntlm_create_context): Return context pointer, don't fail.
  (ne__ntlm_destroy_context): Remove error path.
  (ne__ntlm_getRequestToken): Reflow.
  (ne_ntlm_clear_context): Remove noop function.

* src/ne_ntlm.h, src/ne_auth.c: Adjust accordingly.

------------------------------------------------------------------------
r1700 | joe | 2009-09-01 21:13:12 +0100 (Tue, 01 Sep 2009) | 7 lines

Split NE_AUTH_NEGOTIATE into NE_AUTH_GSSAPI and NE_AUTH_NTLM:

* src/ne_auth.h (NE_AUTH_GSSAPI, NE_AUTH_NTLM): New constants.

* src/ne_auth.c (auth_register): Map NE_AUTH_NEGOTIATE into
  NE_AUTH_GSSAPI | NE_AUTH_NTLM.

------------------------------------------------------------------------
r1699 | joe | 2009-09-01 16:09:13 +0100 (Tue, 01 Sep 2009) | 3 lines

* src/ne_auth.c (digest_challenge): Simpler check for initial 
  challenge.

------------------------------------------------------------------------
r1698 | joe | 2009-09-01 15:56:59 +0100 (Tue, 01 Sep 2009) | 2 lines

* macros/neon.m4 (NEON_SSL): Define NTLM for OpenSSL builds.

------------------------------------------------------------------------
r1697 | joe | 2009-09-01 15:56:18 +0100 (Tue, 01 Sep 2009) | 2 lines

* src/Makefile.in: Build ne_ntlm.c.

------------------------------------------------------------------------
r1696 | joe | 2009-09-01 15:44:59 +0100 (Tue, 01 Sep 2009) | 2 lines

* src/ne_auth.c: Whitespace changes.

------------------------------------------------------------------------
r1695 | joe | 2009-09-01 15:27:20 +0100 (Tue, 01 Sep 2009) | 2 lines

* NEWS: Update.

------------------------------------------------------------------------
r1694 | joe | 2009-09-01 15:27:02 +0100 (Tue, 01 Sep 2009) | 2 lines

* README: Remove dupe.

------------------------------------------------------------------------
r1693 | joe | 2009-09-01 15:26:32 +0100 (Tue, 01 Sep 2009) | 9 lines

Fix handling of stale=true in a RFC2069-style Digest challenge:

* src/ne_auth.c (digest_challenge): Relax check for stale=true to cover
  2069-style Digest auth.

* test/auth.c (make_digest_header, digest_failure): Check for
  handling of stale=true with 2069 Digest.


------------------------------------------------------------------------
r1692 | joe | 2009-08-19 14:19:41 +0100 (Wed, 19 Aug 2009) | 2 lines

* doc/security.xml: Wording fix.

------------------------------------------------------------------------
r1687 | joe | 2009-08-18 15:18:53 +0100 (Tue, 18 Aug 2009) | 12 lines

Security fix for CVE-2009-2473: prevent the "billion laughs" attack
against expat:

* src/ne_xml.c (ne_xml_create) [HAVE_EXPAT]: Register entity
  decl handler.
  [HAVE_LIBXML]: Use xmlCtxtUseOptions interface.
  (entity_declaration): New function.

* test/xml.c (fail_parse): Add billion laughs test case.

* test/run.sh: Limit run-time CPU use to 120 seconds.

------------------------------------------------------------------------
r1686 | joe | 2009-08-18 14:50:29 +0100 (Tue, 18 Aug 2009) | 2 lines

* test/ssl.c (fail_nul_*): Fix for VPATH builds.

------------------------------------------------------------------------
r1681 | joe | 2009-08-18 14:12:29 +0100 (Tue, 18 Aug 2009) | 27 lines

Security fix for CVE-2009-2474, handling of "NUL" bytes in certificate
names:

* src/ne_private.h (ne__ssl_match_hostname): Take cn len, make cn
  const.

* src/ne_session.c (ne__ssl_match_hostname): Drop handling of
  unqualified hostnames; check CN length matches.

* src/ne_gnutls.c (check_identity): Adjust accordingly.

* src/ne_openssl.c (append_dirstring): Use a quoted append for ASCII
  data.  Check for embedded NUL bytes in UTF-8 data.
  (dup_ia5string): Use quoted append.  

* test/ssl.c (struct ssl_server_args): Add key field.
  (ssl_server): Use key field from args.
  (fail_ssl_request_with_error2): Rename from
  fail_ssl_request_with_error, add host, fakehost 
  parameters.
  (fail_ssl_request_with_error): Reimplement using
  fail_ssl_request_with_error2.
  (fail_nul_cn, fail_nul_san, nulcn_identity): New tests.

* test/nulca.pem, test/nulcn.pem, test/nulsan.pem, test/nulsrv.key:
  Add test cases, thanks to Tomas Hoger <thoger redhat.com>.

------------------------------------------------------------------------
r1680 | joe | 2009-08-11 16:50:33 +0100 (Tue, 11 Aug 2009) | 8 lines

* src/ne_string.c (qappend_count, quoted_append): Factor out from
  ne_buffer_qappend.
  (ne_strnqdup): New function.

* src/ne_string.h (ne_strnqdup): New prototype.

* test/string-tests.c (qappend): Test for it.

------------------------------------------------------------------------
r1679 | joe | 2009-08-11 15:15:33 +0100 (Tue, 11 Aug 2009) | 6 lines

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

* src/ne_string.h (ne_buffer_qappend): New prototype.

* test/string-tests.c (qappend): New test case.

------------------------------------------------------------------------
r1678 | joe | 2009-08-11 15:08:20 +0100 (Tue, 11 Aug 2009) | 2 lines

* Makefile.in: Avoid dupes in copyright notices.

------------------------------------------------------------------------
r1677 | joe | 2009-08-07 10:54:36 +0100 (Fri, 07 Aug 2009) | 2 lines

* test/openssl.conf: Sign certs using SHA1 since GnuTLS fails MD5-signed certs.

------------------------------------------------------------------------
r1676 | joe | 2009-08-05 14:58:52 +0100 (Wed, 05 Aug 2009) | 6 lines

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

* src/ne_string.h (ne_buffer_qappend): New prototype.

* test/string-tests.c (qappend): New test case.

------------------------------------------------------------------------
r1675 | joe | 2009-08-05 14:01:26 +0100 (Wed, 05 Aug 2009) | 2 lines

* src/ne_socket.c (ne_sock_peer): Fix strict-aliasing issue.

------------------------------------------------------------------------
r1671 | joe | 2009-07-02 22:15:24 +0100 (Thu, 02 Jul 2009) | 2 lines

* README: "make update-copyright"

------------------------------------------------------------------------
r1670 | joe | 2009-07-02 22:14:33 +0100 (Thu, 02 Jul 2009) | 3 lines

* src/ne_session.c: Updata copyright notices; Tommi's code
  was long-since replaced.

------------------------------------------------------------------------
r1669 | joe | 2009-07-02 22:12:36 +0100 (Thu, 02 Jul 2009) | 3 lines

* src/ne_openssl.c, src/ne_socket.c: Update copyright notices; 
  Tommi's code was long-since replaced.

------------------------------------------------------------------------
r1668 | joe | 2009-07-02 22:03:44 +0100 (Thu, 02 Jul 2009) | 2 lines

* macros/neon.m4 (NEON_LIBPROXY): Correctly handle --without-libproxy.

------------------------------------------------------------------------
r1667 | joe | 2009-07-02 22:01:16 +0100 (Thu, 02 Jul 2009) | 2 lines

* test/util-socks.c: Remove unnecessary #include.

------------------------------------------------------------------------
r1666 | joe | 2009-07-02 10:07:18 +0100 (Thu, 02 Jul 2009) | 3 lines

* macros/neon.m4 (LIBNEON_SOURCE_CHECKS): Silence warnings with autoconf
  2.6x; use AC_USE_SYSTEM_EXTENSIONS.

------------------------------------------------------------------------
r1665 | joe | 2009-07-02 10:05:48 +0100 (Thu, 02 Jul 2009) | 2 lines

* configure.in: Reorder to prevent autoconf 2.6x warnings.

------------------------------------------------------------------------
r1662 | joe | 2009-06-09 14:30:51 +0100 (Tue, 09 Jun 2009) | 6 lines

* src/ne_socket.c (timed_connect): Only enable O_NONBLOCK if it 
  is not already enabled.
  (ne_sock_connect): Use SOCK_NONBLOCK if available, and
  use of SOCK_CLOEXEC has not previously failed, and a
  connect timeout is configured.

------------------------------------------------------------------------
r1661 | joe | 2009-06-09 11:33:43 +0100 (Tue, 09 Jun 2009) | 2 lines

* README, Makefile.in: Update copyright-notice-collector.

------------------------------------------------------------------------
r1658 | joe | 2009-06-09 11:17:55 +0100 (Tue, 09 Jun 2009) | 3 lines

* src/ne_socket.c (raw_connect): New function.
  (timed_connect): Use it to correctly handle EINTR.

------------------------------------------------------------------------
r1657 | joe | 2009-06-09 11:01:42 +0100 (Tue, 09 Jun 2009) | 2 lines

* src/ne_socket.c (ne_sock_connect): Fix FD_CLOEXEC for !SOCK_CLOEXEC builds.

------------------------------------------------------------------------
r1656 | joe | 2009-06-09 10:54:54 +0100 (Tue, 09 Jun 2009) | 5 lines

* src/ne_socket.c (ne_sock_connect): Fix forward compat with
  new-glibc/ old kernel cases - use SOCK_CLOEXEC only if no previous
  socket() call has failed with EINVAL.  Retry such a failed socket()
  call.

------------------------------------------------------------------------
r1655 | joe | 2009-05-29 15:18:03 +0100 (Fri, 29 May 2009) | 9 lines

* src/ne_session.c (ne__ssl_set_verify_err): Add error strings for
  NE_SSL_BADCHAIN, NE_SSL_REVOKED.

* test/ssl.c (fail_ssl_request_with_error): Renamed from
  fail_ssl_request; take error string and test for it.
  (fail_ssl_request): Reimplment as wrapper for above.
  (fail_expired, fail_wrongCN, fail_untrusted_ca, 
  fail_ca_expired): Use _with_error to test error strings.

------------------------------------------------------------------------
r1654 | joe | 2009-05-29 15:09:21 +0100 (Fri, 29 May 2009) | 3 lines

* src/ne_gnutls.c (ne_ssl_context_create): Enable support for
  X.509v1 CA certs.

------------------------------------------------------------------------
r1653 | joe | 2009-04-30 14:44:52 +0100 (Thu, 30 Apr 2009) | 3 lines

* test/makekeys.sh: Fix to ensure the "bad CAs" do assert the
  CA constraint as true.

------------------------------------------------------------------------
r1652 | joe | 2009-04-30 14:34:20 +0100 (Thu, 30 Apr 2009) | 3 lines

* src/ne_gnutls.c (check_certificate): Correctly check validity times of certs
  within chain.

------------------------------------------------------------------------
r1651 | joe | 2009-04-30 14:19:59 +0100 (Thu, 30 Apr 2009) | 2 lines

* test/ssl.c: Fix typos, no functional change.

------------------------------------------------------------------------
r1650 | kso | 2009-03-26 12:24:32 +0000 (Thu, 26 Mar 2009) | 1 line

initial support for platform-independent NTLM auth
------------------------------------------------------------------------
r1648 | joe | 2009-03-11 13:08:34 +0000 (Wed, 11 Mar 2009) | 3 lines

* macros/neon.m4 (NEON_LIBPROXY): Mark feature as disabled if
built with --without-libproxy.

------------------------------------------------------------------------
r1647 | joe | 2009-03-05 11:49:54 +0000 (Thu, 05 Mar 2009) | 2 lines

* test/uri-tests.c (resolve): Test API guarantee for resolved ->path.

------------------------------------------------------------------------
r1646 | joe | 2009-03-05 11:48:42 +0000 (Thu, 05 Mar 2009) | 2 lines

* src/ne_ssl.h: Improve ne_ssl_clicert_* docs, specify object state.

------------------------------------------------------------------------
r1645 | joe | 2009-03-05 11:48:02 +0000 (Thu, 05 Mar 2009) | 9 lines

Be strict in parsing C-L response header:

* src/ne_request.c (ne_begin_request): Fail for a C-L with trailing
  non-numeric chars, or is an empty string.

* test/request.c (no_body_empty_clength, no_body_bad_clength): Remove tests.
  (fail_on_invalid): Add tests for invalid C-L.


------------------------------------------------------------------------
r1644 | joe | 2009-03-04 14:31:40 +0000 (Wed, 04 Mar 2009) | 2 lines

* test/common/tests.c: Remove sys/signal.h include.

------------------------------------------------------------------------
r1643 | joe | 2009-03-03 21:50:21 +0000 (Tue, 03 Mar 2009) | 3 lines

* src/ne_session.h: Define NE_SSL_REVOKED; bump NE_SSL_FAILMASK, reflow
  NE_SSL_* text.

------------------------------------------------------------------------
r1642 | joe | 2009-03-03 21:45:19 +0000 (Tue, 03 Mar 2009) | 2 lines

* test/: Ignore more.

------------------------------------------------------------------------
r1641 | joe | 2009-03-03 21:44:05 +0000 (Tue, 03 Mar 2009) | 23 lines

Expose the cert verification failure case where a cert higher in the
validation chain is outside its validity-period; test cases and thanks
to Ludwig Nussel:

* src/ne_session.h (NE_SSL_BADCHAIN): New constant.
  (NE_SSL_FAILMASK): Bumped up.

* src/ne_gnutls.c (check_certificate): Check validity period of all
  certs in the chain; flag NE_SSL_BADCHAIN appropriately.
  
* src/ne_openssl.c (verify_cert): New function.
  (check_certificate): Rely on failure bits collected via 
  verify_cert invocations.
  (ne_ssl_context_create): Install verify_cert as OpenSSL 
  verify callback.
  (ne__negotiate_ssl): Clear ctx->failures.

* test/makekeys.sh, test/openssl.conf: Create ca[1-3] with ca1, ca3
  being expired and not-yet-valid respectively; create
  ca[13]server.cert signed by these CAs.

* test/ssl.c (fail_ca_notyetvalid, fail_ca_expired): New test cases.

------------------------------------------------------------------------
r1640 | joe | 2009-03-03 21:34:25 +0000 (Tue, 03 Mar 2009) | 2 lines

* NEWS: Sync with 0.28.x.

------------------------------------------------------------------------
r1639 | joe | 2009-03-03 21:33:34 +0000 (Tue, 03 Mar 2009) | 2 lines

* doc/feat.xml: Update for trunk.

------------------------------------------------------------------------
r1633 | joe | 2009-02-25 14:04:42 +0000 (Wed, 25 Feb 2009) | 3 lines

* doc/man.xsl, doc/manual.xml: Fix <author> and quieten
newer docbook-xsl man page generation.

------------------------------------------------------------------------
r1630 | joe | 2009-02-25 13:50:12 +0000 (Wed, 25 Feb 2009) | 2 lines

* install-sh: Remove; rely on provided version.

------------------------------------------------------------------------
r1628 | joe | 2009-02-25 13:45:09 +0000 (Wed, 25 Feb 2009) | 7 lines

Fix ne_forget_auth():

* src/ne_auth.c (clean_session): Clear ->protocol field; patch frm Kai
  Sommerfeld.

* test/auth.c (serve_forgotten, forget): New test case.

------------------------------------------------------------------------
r1626 | joe | 2009-01-29 01:18:00 +0000 (Thu, 29 Jan 2009) | 2 lines

* macros/neon.m4: Add the hash back into PKCS#11 in output messages.

------------------------------------------------------------------------
r1622 | joe | 2009-01-29 01:13:07 +0000 (Thu, 29 Jan 2009) | 2 lines

* doc/ref/neon.xml: Add pakchois and libproxy namespaces.

------------------------------------------------------------------------
r1621 | joe | 2009-01-29 01:06:30 +0000 (Thu, 29 Jan 2009) | 3 lines

* doc/ref/neon.xml: Add note on lack of async-signal-safety, and
fix a typo.

------------------------------------------------------------------------
r1620 | joe | 2009-01-21 14:01:22 +0000 (Wed, 21 Jan 2009) | 3 lines

* src/ne_socket.c (read_gnutls): Perform a new handshake if required
  and indicated by a gnutls_record_recv() failure.

------------------------------------------------------------------------
r1619 | joe | 2009-01-21 13:39:44 +0000 (Wed, 21 Jan 2009) | 2 lines

* src/ne_basic.h: Docs updates.

------------------------------------------------------------------------
r1618 | joe | 2009-01-14 15:17:11 +0000 (Wed, 14 Jan 2009) | 2 lines

* THANKS: Convert to UTF-8.

------------------------------------------------------------------------
r1617 | joe | 2008-12-10 08:22:49 +0000 (Wed, 10 Dec 2008) | 3 lines

* macros/neon.m4 (LIBNEON_SOURCE_CHECKS): Check for 
  socket functions in -lnetwork, for Haiku.

------------------------------------------------------------------------
r1616 | joe | 2008-11-21 20:45:48 +0000 (Fri, 21 Nov 2008) | 2 lines

* Makefile.in: Fix Makefile/neon-config generation in VPATH builds.

------------------------------------------------------------------------
r1614 | joe | 2008-11-20 21:42:44 +0000 (Thu, 20 Nov 2008) | 2 lines

* src/ne_pkcs11.c (pk11_provide): Fix memory leak.

------------------------------------------------------------------------
r1613 | joe | 2008-11-20 21:30:25 +0000 (Thu, 20 Nov 2008) | 2 lines

* NEWS: More news is good news.

------------------------------------------------------------------------
r1612 | joe | 2008-11-20 21:28:54 +0000 (Thu, 20 Nov 2008) | 2 lines

* configure.in: Add notice for forced PIC usage.

------------------------------------------------------------------------
r1611 | joe | 2008-11-20 21:27:24 +0000 (Thu, 20 Nov 2008) | 2 lines

* macros/neon.m4: Drop SOCKS tests.

------------------------------------------------------------------------
r1610 | joe | 2008-11-20 20:59:09 +0000 (Thu, 20 Nov 2008) | 2 lines

* NEWS: Synch with 0.28.x, update to trunk.

------------------------------------------------------------------------
r1609 | joe | 2008-11-20 20:56:15 +0000 (Thu, 20 Nov 2008) | 3 lines

* src/ne_alloc.c, src/ne_alloc.h (ne_free): Implement as function on Win32,
  thanks to Helge Hess.

------------------------------------------------------------------------
r1599 | joe | 2008-11-04 20:49:35 +0000 (Tue, 04 Nov 2008) | 3 lines

* src/ne_socket.c (ne_sock_connect): Use SOCK_CLOEXEC in place of
  setting the O_CLOEXEC flag, where available.

------------------------------------------------------------------------
r1597 | joe | 2008-11-04 18:24:19 +0000 (Tue, 04 Nov 2008) | 2 lines

* test/request.c (status, status_chunked): Fix memory leak.

------------------------------------------------------------------------
r1594 | joe | 2008-10-31 08:59:02 +0000 (Fri, 31 Oct 2008) | 3 lines

* macros/neon.m4 (NEON_SSL): Configure GnuTLS support via pkg-config
  data if possible.

------------------------------------------------------------------------
r1589 | joe | 2008-10-30 20:10:40 +0000 (Thu, 30 Oct 2008) | 6 lines

* src/ne_gnutls.c (pkcs12_parse): Ignore any but the first key or cert
  encountered.  Should fix issues with PKCS#12 files with embedded CA
  certs, see Debian bug 480041.

* test/ssl.c (client_cert_ca): Add test case.

------------------------------------------------------------------------
r1587 | joe | 2008-10-28 20:56:16 +0000 (Tue, 28 Oct 2008) | 3 lines

* src/ne_session.c (ne_session_sysproxy): Don't use ne_free for memory
  not allocated by neon.

------------------------------------------------------------------------
r1586 | joe | 2008-10-24 16:14:40 +0100 (Fri, 24 Oct 2008) | 5 lines

* test/makekeys.sh, test/openssl.conf: Missed in previous commit; update
  for new altname test cases.

Submitted by: Ludwig Nussel <ludwig.nussel@suse.de>

------------------------------------------------------------------------
r1585 | joe | 2008-10-24 16:13:11 +0100 (Fri, 24 Oct 2008) | 4 lines

* test/ssl.c (wildcard_match_altname, fail_wildcard): New test cases.

Submitted by: Ludwig Nussel <ludwig.nussel@suse.de>

------------------------------------------------------------------------
r1584 | joe | 2008-10-24 16:10:44 +0100 (Fri, 24 Oct 2008) | 4 lines

* test/makekeys.sh: Create useful certs for standalone testing.

Submitted by: Ludwig Nussel <ludwig.nussel@suse.de>

------------------------------------------------------------------------
r1583 | joe | 2008-10-24 16:09:35 +0100 (Fri, 24 Oct 2008) | 2 lines

* test/common/tests.c (print_prefix): Fix for non-quiet mode.

------------------------------------------------------------------------
r1582 | joe | 2008-10-24 16:06:30 +0100 (Fri, 24 Oct 2008) | 3 lines

* test/common/tests.c (print_prefix): New function, factored out of main.
  (main): Use it.

------------------------------------------------------------------------
r1581 | joe | 2008-10-24 12:54:23 +0100 (Fri, 24 Oct 2008) | 2 lines

* src/ne_session.c (ne_session_sysproxy): Free returned proxy array.

------------------------------------------------------------------------
r1579 | joe | 2008-10-24 11:01:33 +0100 (Fri, 24 Oct 2008) | 3 lines

* doc/ref/sessflags.xml: Document _EXPECT100 flag, add xref to 
  reqflags document.

------------------------------------------------------------------------
r1578 | joe | 2008-10-24 10:56:37 +0100 (Fri, 24 Oct 2008) | 7 lines

* src/ne_session.h (ne_session_flag_e): Add NE_SESSFLAG_EXPECT100.

* src/ne_request.c (build_request): Only add Expect header if
  req->body_length is non-zero.
  (ne_request_create): Set NE_REQFLAG_EXPECT100 according to
  NE_SESSFLAG_EXPECT100 value.

------------------------------------------------------------------------
r1570 | joe | 2008-10-14 21:50:24 +0100 (Tue, 14 Oct 2008) | 2 lines

* src/ne_acl.h: Add deprecation notice.

------------------------------------------------------------------------
r1569 | joe | 2008-10-14 20:53:52 +0100 (Tue, 14 Oct 2008) | 2 lines

* test/: Ignore more.

------------------------------------------------------------------------
r1568 | joe | 2008-10-14 20:21:04 +0100 (Tue, 14 Oct 2008) | 2 lines

* Makefile.in (DIST_HEADERS): Add new ACL interface.

------------------------------------------------------------------------
r1567 | joe | 2008-10-14 20:19:41 +0100 (Tue, 14 Oct 2008) | 23 lines

Introduce new ACL interface under separate header, function name, and
restore API/ABI backwards-compat with old ACL interface:

* src/ne_acl3744.c, src/ne_acl3744.h: Renamed from ne_acl.c, ne_acl.h.
  (ne_acl3744_set): Renamed from ne_acl_set.

* src/ne_oldacl.c, src/ne_acl.h: Copied from old ne_acl.c, ne_acl.h on
  0.28.x branch.

* src/Makefile.in: Update deps.

* test/acl3744.c: Renamed from acl.c.
  (test_acl): Call new function name.

* test/oldacl.c: Copied from acl.c on 0.28.x branch.

* test/Makefile.in: Update accordingly.

* macros/neon.m4 (LIBNEON_SOURCE_CHECKS): Update for new source file
  names.

* neon.mak: Update for new source file names.

------------------------------------------------------------------------
r1561 | joe | 2008-10-10 08:35:16 +0100 (Fri, 10 Oct 2008) | 2 lines

* src/ne_session.c (ne_session_system_proxy): Fix "direct" proxy.

------------------------------------------------------------------------
r1560 | joe | 2008-10-09 21:58:58 +0100 (Thu, 09 Oct 2008) | 11 lines

Add support for use of a system-provided default set of proxy servers;
implemented using libproxy:

* macros/neon.m4 (NEON_LIBPROXY): New macro.
  (LIBNEON_SOURCE_CHECKS): Use it.
  (NE_PKG_CONFIG): Fix for non-alpha characters.

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

* src/ne_session.h (ne_session_system_proxy): New prototype.

------------------------------------------------------------------------
r1559 | joe | 2008-10-09 21:18:52 +0100 (Thu, 09 Oct 2008) | 14 lines

Add support for configuring a SOCKS proxy for the HTTP session:

* src/ne_request.c (open_connection): Fix non-proxy error path.  
  Establish connection via SOCKS proxy.

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

* src/ne_session.h (ne_session_socks_proxy): New prototype.

* src/ne_private.h (struct ne_session_s): Add socks_ver, socks_user,
  socks_password fields.

* test/request.c (socks_session, socks_proxy): New functions.

------------------------------------------------------------------------
r1558 | joe | 2008-10-09 21:10:50 +0100 (Thu, 09 Oct 2008) | 17 lines

Factor SOCKS server out test/socket.c to be usable throughout test
suite:

* test/util-socks.c: New file, extracted from socket.c.

* test/utils.h (socks_server, full_write): New prototypes.
  (struct socks_server): Moved here from socket.c; added
  say_hello flag.

* test/utils.c (full_write): Moved here from socket.c.

* test/socket.c (full_write, read_socks_string, read_socks_byte,
  expect_socks_byte, read_socks_0string, socks_server): Removed.
  (begin_socks): Set say_hello flag.

* test/Makefile.in: Build util-socks.lo.

------------------------------------------------------------------------
r1557 | joe | 2008-10-09 19:48:31 +0100 (Thu, 09 Oct 2008) | 40 lines

Add support for multiple proxies and differentiate between a SOCKS and
HTTP proxy (though the former cannot yet be configured or used).
Reimplement addrlist support as a "direct" proxy type.

* src/ne_private.h (struct host_info): Add proxy enum, network field,
  next pointer.
  (struct ne_session_s): Remove addrlist, numaddr, curaddr.
  Remove proxy field, add  proxies, prev_proxy, nexthop fields.
  Remove use_proxy, add any_proxy_http flag.

* src/ne_session.c (free_hostinfo, free_proxies): New functions.
  (ne_session_destroy): Use the above.
  (set_hostinfo): Take type argument, set in structure.
  (ne_session_create): Pass PROXY_NONE to set_hostinfo.
  (ne_session_proxy): Call free_proxies, set sess->any_proxy_http
  flag, and adjust for new sess->proxies structure.
  (ne_set_addrlist): Adjust to set up a "direct" proxy.
  (ne_fill_proxy_uri): Adjust for proxies structure.
  (ne_close_connection): Use nexthop hostname for disconnect notifier.

* src/ne_session.h (ne_session_proxy, ne_set_addrlist,
  ne_fill_proxy_uri): Adjust for multi-proxy semantics.

* src/ne_request.c (aborted): Use sess->nexthop.
  (add_fixed_headers): Use new any_proxy_http flag.  Reflow
  code.  Set Host header here.
  (ne_request_create): Use any_proxy_http flag.
  (build_request): Don't add Host header here.
  (lookup_host): Don't check addrlist.
  (ne_begin_request): Use sess->nexthop in place of proxy flag.
  (resolve_first, resolve_next): Use ->network in place of
  addrlist; drop session paramater.
  (do_connect): Do DNS lookup here; adjust for resolve_*;
  set error message appropriately based on host type, drop
  error parameter.
  (open_connection): Support multiple proxies; adjust to use
  sess->nexthop.

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

------------------------------------------------------------------------
r1556 | joe | 2008-10-06 10:43:06 +0100 (Mon, 06 Oct 2008) | 2 lines

* src/ne_gnutls.c (make_peers_chain): Fix potential segfault.

------------------------------------------------------------------------
r1544 | joe | 2008-09-11 15:39:43 +0100 (Thu, 11 Sep 2008) | 3 lines

* src/ne_pkcs11.c (pk11_rsa_method): Remove redundant flag
  from the RSA_METHOD flags bitfield, and update comment.

------------------------------------------------------------------------
r1543 | joe | 2008-09-08 20:20:22 +0100 (Mon, 08 Sep 2008) | 2 lines

* macros/neon.m4 (NEON_SSL): Fix pakchois/GnuTLS support.

------------------------------------------------------------------------
r1542 | joe | 2008-09-01 09:31:52 +0100 (Mon, 01 Sep 2008) | 2 lines

* src/ne_pkcs11.c: Revert debugging change in previous commit.

------------------------------------------------------------------------
r1541 | joe | 2008-08-31 10:56:10 +0100 (Sun, 31 Aug 2008) | 13 lines

Support PKCS#11 in OpenSSL builds:

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

* src/ne_privssl.h (ne__ssl_clicert_exkey_import): New prototype.

* src/ne_pkcs11.c [HAVE_OPENSSL] (pk11_rsa_sign, pk11_rsa_init,
  pk11_rsa_finish, pk11_rsa_method): New functions.
  (pk11_find_pkey): Ignore DSA privkeys if using OpenSSL.
  (ne_ssl_set_pkcs11_provider): Omit GnuTLS code for OpenSSL.

* macros/neon.m4 (NEON_SSL): Support pakchois with OpenSSL too.

------------------------------------------------------------------------
r1540 | joe | 2008-08-22 12:43:28 +0100 (Fri, 22 Aug 2008) | 2 lines

* po/: make update-po.

------------------------------------------------------------------------
r1539 | joe | 2008-08-22 12:40:26 +0100 (Fri, 22 Aug 2008) | 2 lines

* po/pl.po: Update from Arfrever Frehtes Taifersar Arahesis.

------------------------------------------------------------------------
r1532 | joe | 2008-08-20 19:45:19 +0100 (Wed, 20 Aug 2008) | 11 lines

SECURITY (CVE-2008-3746):

Fix a possible NULL pointer dereference in the Digest domain parameter
support, which allows a malicious server to crash the library,
resulting in a possible denial of service attack.

* src/ne_auth.c (parse_domain): Ensure that URI ->path fields passed
  to ne_uri_resolve are non-NULL.

* test/auth.c (CVE_2008_3746): Add test case.

------------------------------------------------------------------------
r1531 | joe | 2008-08-08 14:26:10 +0100 (Fri, 08 Aug 2008) | 2 lines

* test/request.c (send_bad_offset): Tweak error message.

------------------------------------------------------------------------
r1530 | joe | 2008-08-07 10:03:37 +0100 (Thu, 07 Aug 2008) | 3 lines

* test/request.c (status_chunked, status): Cope with systems where
  'localhost' resolves to ::1 not 127.0.0.1.

------------------------------------------------------------------------
r1529 | joe | 2008-08-06 11:00:07 +0100 (Wed, 06 Aug 2008) | 3 lines

* test/common/child.c (await_server): Describe failure better.
  (spawn_server_addr): Print exit code to debug log.

------------------------------------------------------------------------
r1528 | joe | 2008-08-06 10:53:38 +0100 (Wed, 06 Aug 2008) | 2 lines

* doc/security.xml: Update intro and auth sections.

------------------------------------------------------------------------
r1527 | joe | 2008-08-05 16:32:47 +0100 (Tue, 05 Aug 2008) | 3 lines

* src/ne_uri.h (ne_uri_parse, ne_uri_resolve): Clarify API constraints
and guarantees on path being non-NULL on success.

------------------------------------------------------------------------
r1524 | joe | 2008-08-05 13:19:30 +0100 (Tue, 05 Aug 2008) | 2 lines

* src/ne_session.h: Clarify that progress increments.

------------------------------------------------------------------------
r1522 | joe | 2008-08-03 20:17:23 +0100 (Sun, 03 Aug 2008) | 10 lines

* src/ne_socket.c (struct iofns): Add swritev member.
  (writev_raw, writev_dummy, ne_sock_fullwritev): New functions.

* src/ne_socket.h (struct ne_iovec): New structure.
  (ne_sock_fullwritev): New prototype.

* test/socket.c (full_writev, large_writev): New test case.

Submitted by: Julien.Reichel@spinetix.com, Joe

------------------------------------------------------------------------
r1517 | joe | 2008-07-25 16:37:27 +0100 (Fri, 25 Jul 2008) | 2 lines

* BUGS: Note ca-bundle feature/bug.

------------------------------------------------------------------------
r1514 | joe | 2008-07-25 00:02:36 +0100 (Fri, 25 Jul 2008) | 7 lines

* src/ne_session.c [NE_HAVE_SSL] (ne__ssl_match_hostname): New
  function, merged from duplicate copies in ne_openssl.c/ne_gnutls.c.

* src/ne_private.h (ne__ssl_match_hostname): New prototype.

* src/ne_openssl.c, src/ne_gnutls.c (match_hostname): Remove function.

------------------------------------------------------------------------
r1513 | joe | 2008-07-24 16:42:24 +0100 (Thu, 24 Jul 2008) | 4 lines

* src/ne_request.c (body_fd_send): Fix compiler warnings.

Submitted by: Henrik Holst

------------------------------------------------------------------------
r1512 | joe | 2008-07-20 21:10:11 +0100 (Sun, 20 Jul 2008) | 5 lines

* src/ne_gnutls.c (provide_client_cert): Set ssl_cc_requested flag
  if no client cert is provided.
  (ne__negotiate_ssl): Give useful error message if handshake fails
  and ssl_cc_requested flag is set.

------------------------------------------------------------------------
r1509 | joe | 2008-07-19 22:52:35 +0100 (Sat, 19 Jul 2008) | 4 lines

Update mailing list address throughout.

* doc/using-neon.txt: Remove stale doc.

------------------------------------------------------------------------
r1507 | joe | 2008-07-19 22:40:57 +0100 (Sat, 19 Jul 2008) | 6 lines

* src/ne_auth.c (tokenize): NUL terminate at a closing quote, ignore
  any trailing characters.

* test/auth.c (basic): Add test case for trailing characters after
  quoted value token.

------------------------------------------------------------------------
r1506 | joe | 2008-07-19 22:29:57 +0100 (Sat, 19 Jul 2008) | 4 lines

* src/ne_openssl.c (ne__negotiate_ssl),
  src/ne_gnutls.c (ne__negotiate_ssl): Use phrase "handshake" rather
  than "negotiation" in error message.

------------------------------------------------------------------------
r1505 | joe | 2008-07-19 22:23:13 +0100 (Sat, 19 Jul 2008) | 16 lines

Fail with a useful error message in the case where a client cert is
requested during handshake, none can be provided, and the handshake
fails:

* src/ne_private.h (struct ne_session_s): Add ssl_cc_requested field.

* src/ne_openssl.c (provide_client_cert): Set ssl_cc_requested if
  no cert is provided.
  (ne__negotiate_ssl): Clear ssl_cc_requested before handshake.
  Use different, more useful error message if handshake fails and flag
  is now set.

* test/ssl.c (struct ssl_server_args): Add fail_silently flag.
  (ssl_server): Exit with success if handshake fails and above flag set.
  (no_client_cert): New test case.

------------------------------------------------------------------------
r1500 | joe | 2008-07-19 21:06:06 +0100 (Sat, 19 Jul 2008) | 4 lines

* src/ne_defs.h (ne_attribute_sentinel): New macro.

* src/ne_string.h (ne_concat, ne_buffer_concat): Use it.

------------------------------------------------------------------------
r1497 | joe | 2008-07-19 13:13:10 +0100 (Sat, 19 Jul 2008) | 9 lines

* src/ne_session.h (ne_set_notifier, ne_set_progress): Document existing and
  previous (respectively) API guarantee that a NULL callback deregisters
  an existing callback.

* src/ne_session.c (ne_set_progress): Fix regression in 0.27, support
  NULL progress callback correctly.

* test/request.c (dereg_progress): Add regression test.

------------------------------------------------------------------------
r1480 | joe | 2008-07-10 22:00:05 +0100 (Thu, 10 Jul 2008) | 2 lines

* test/auth.c (check_digest): Fix compiler warnings with gcc 4.3.

------------------------------------------------------------------------
r1479 | joe | 2008-07-10 21:56:54 +0100 (Thu, 10 Jul 2008) | 2 lines

* test/common/tests.c (main): More cosmetic fixes.

------------------------------------------------------------------------
r1478 | joe | 2008-07-10 21:35:59 +0100 (Thu, 10 Jul 2008) | 4 lines

Merge from 0.28.x branch:

* src/ne_auth.c (parse_domain): Fix debug output.

------------------------------------------------------------------------
r1477 | joe | 2008-07-10 09:31:28 +0100 (Thu, 10 Jul 2008) | 3 lines

* test/ssl.c: Use P12_PASSPHRASE for client*.p12 passphrase.
 (init): Fail gracefully if client cert decrypt fails.

------------------------------------------------------------------------
r1476 | joe | 2008-07-09 23:01:35 +0100 (Wed, 09 Jul 2008) | 4 lines

* tests/common/tests.c (main): Fixes for non-quiet mode.

* test/run.sh: Enable quiet mode by default.

------------------------------------------------------------------------
r1475 | joe | 2008-07-09 22:56:50 +0100 (Wed, 09 Jul 2008) | 3 lines

* tests/common/tests.c (main): More cosmetic tweaks for 
quiet mode.

------------------------------------------------------------------------
r1474 | joe | 2008-07-09 21:50:39 +0100 (Wed, 09 Jul 2008) | 2 lines

* test/common/tests.c (main): Fix compiler warnings.

------------------------------------------------------------------------
r1473 | joe | 2008-07-09 21:46:11 +0100 (Wed, 09 Jul 2008) | 2 lines

* test/common/tests.c (main): Cosmetic tweaks to quiet mode.

------------------------------------------------------------------------
r1472 | joe | 2008-07-09 21:38:01 +0100 (Wed, 09 Jul 2008) | 3 lines

* test/common/tests.c (main): Implement a "quiet mode" if
$TEST_QUIET is set in the environment.

------------------------------------------------------------------------
r1471 | joe | 2008-07-09 21:12:25 +0100 (Wed, 09 Jul 2008) | 3 lines

* test/socket.c (socks_proxy, fail_socks): Destroy allocated
  addresses.

------------------------------------------------------------------------
r1470 | joe | 2008-07-09 21:04:56 +0100 (Wed, 09 Jul 2008) | 2 lines

* src/Makefile.in: Factor out LT_COMPILE macro.

------------------------------------------------------------------------
r1466 | joe | 2008-07-09 10:46:30 +0100 (Wed, 09 Jul 2008) | 3 lines

* src/ne_openssl.c (ne_ssl_context_keypair): Load entire chain from
cert file specified.

------------------------------------------------------------------------
r1465 | joe | 2008-07-09 10:37:09 +0100 (Wed, 09 Jul 2008) | 11 lines

Add test case with use of intermediary CA.

* test/ssl.c (intermediary): New test case.

* test/openssl.conf: Add neonca2 section.

* test/makekeys.sh: Create an intermediary cert and EE cert signed by
  that.

* test/Makefile.in (clean, ca-stamp): Clean up the ca2 directory.

------------------------------------------------------------------------
r1462 | joe | 2008-07-04 21:09:08 +0100 (Fri, 04 Jul 2008) | 2 lines

* BUGS: Note test suite issue on RHEL4.

------------------------------------------------------------------------
r1460 | joe | 2008-07-03 12:59:46 +0100 (Thu, 03 Jul 2008) | 3 lines

* test/makekeys.sh: Fix for versions of OpenSSL where ca fails
  if cert subjects are not unique.

------------------------------------------------------------------------
r1459 | joe | 2008-07-03 11:37:24 +0100 (Thu, 03 Jul 2008) | 2 lines

* doc/ref/opts.xml: Remove old example, add xrefs.

------------------------------------------------------------------------
r1458 | joe | 2008-07-03 11:33:55 +0100 (Thu, 03 Jul 2008) | 2 lines

* doc/ref/opts.xml: Document ne_set_connect_timeout and drop ne_set_persist.

------------------------------------------------------------------------
r1457 | joe | 2008-07-03 11:29:00 +0100 (Thu, 03 Jul 2008) | 2 lines

* doc/ref/sessflags.xml: Document NE_SESSFLAG_TLS_SNI.

------------------------------------------------------------------------
r1455 | joe | 2008-07-03 11:06:08 +0100 (Thu, 03 Jul 2008) | 6 lines

* src/ne_socket.c (raw_poll): Work around broken FD_SET on Netware.

* src/ne_defs.h: Pick up time_t on Netware.

Submitted by: Guenter Knauf <gk@gknw.de>

------------------------------------------------------------------------
r1454 | joe | 2008-06-27 17:22:53 +0100 (Fri, 27 Jun 2008) | 4 lines

* README: Update copyright notices.

* Makefile.in (update-copyright): New target.

------------------------------------------------------------------------
r1453 | joe | 2008-06-27 17:12:24 +0100 (Fri, 27 Jun 2008) | 2 lines

* BUGS: Note some issues.

------------------------------------------------------------------------
r1452 | joe | 2008-06-27 17:04:46 +0100 (Fri, 27 Jun 2008) | 3 lines

* src/ne_socket.c (ne_sock_connect): Disable Nagle on Windows even if
TCP_NODELAY is not defined as a macro.

------------------------------------------------------------------------
r1451 | joe | 2008-06-17 15:59:49 +0100 (Tue, 17 Jun 2008) | 3 lines

* configure.in: Build PIC objects in default configuration, unless
  non-PIC explicitly requested.

------------------------------------------------------------------------
r1449 | joe | 2008-04-17 11:04:34 +0100 (Thu, 17 Apr 2008) | 4 lines

* doc/man.xsl: New file.

* Makefile.in: Use man.xsl to customize man page output.

------------------------------------------------------------------------
r1445 | joe | 2008-04-03 12:38:04 +0100 (Thu, 03 Apr 2008) | 2 lines

* src/ne_gnutls.c: Unbreak ts-ssl build.

------------------------------------------------------------------------
r1443 | joe | 2008-04-03 12:36:44 +0100 (Thu, 03 Apr 2008) | 2 lines

* src/ne_gnutls.c: Enable quick-random in gcrypt unconditionally.

------------------------------------------------------------------------
r1442 | joe | 2008-04-03 12:34:20 +0100 (Thu, 03 Apr 2008) | 2 lines

* src/ne_gnutls.c (ne__ssl_init): Enable fast initialization for GnuTLS.

------------------------------------------------------------------------
r1439 | joe | 2008-04-03 11:59:30 +0100 (Thu, 03 Apr 2008) | 5 lines

* test/utils.c (double_serve_sstring): New function.

* test/compress.c (retry_notcompress, retry_compress_helper,
  retry_compress):Use double_serve_sstring.

------------------------------------------------------------------------
r1435 | joe | 2008-03-29 20:54:27 +0000 (Sat, 29 Mar 2008) | 2 lines

* test/ssl.c (parse_chain): Use CA_CERT constant.

------------------------------------------------------------------------
r1434 | joe | 2008-03-29 20:54:04 +0000 (Sat, 29 Mar 2008) | 3 lines

* src/ne_gnutls.c (ne_ssl_dname_cmp): Fix compiler warning without
new-DN suport.

------------------------------------------------------------------------
r1433 | joe | 2008-03-28 20:38:51 +0000 (Fri, 28 Mar 2008) | 2 lines

* test/makekeys.sh: Be quieter on stdout.

------------------------------------------------------------------------
r1431 | joe | 2008-03-28 19:55:34 +0000 (Fri, 28 Mar 2008) | 2 lines

* src/ne_gnutls.c (read_to_datum): Fix fd leak.

------------------------------------------------------------------------
r1430 | joe | 2008-03-28 16:20:29 +0000 (Fri, 28 Mar 2008) | 3 lines

* test/ssl.c (ssl_server): Pass configured CA list as CA names
  and verification CAs, to unbreak OpenSSL tests.

------------------------------------------------------------------------
r1429 | joe | 2008-03-28 16:17:51 +0000 (Fri, 28 Mar 2008) | 10 lines

Fix issues with CA list handling in the SSL server, for GnuTLS:

* test/makekeys.sh: Generate wrongcn.cert signed by the CA.

* test/ssl.c (struct ssl_server_args): Remove send_ca field.
  (check_cert): Update to expect the wrongcn subject name.
  (parse_chain, fail_wrongCN): Update to use the wrongcn cert, and to
  trust the CA cert.  
  (cc_provided_dnames): Stop using the send_ca server args field.

------------------------------------------------------------------------
r1428 | joe | 2008-03-28 15:05:53 +0000 (Fri, 28 Mar 2008) | 4 lines

* src/ne_gnutls.c (provide_client_cert) [HAVE_NEW_DN_API]:
  Properly map the CA names into ne_ssl_dname objects and pass
  these through to the provided callback.

------------------------------------------------------------------------
r1427 | joe | 2008-03-28 14:56:55 +0000 (Fri, 28 Mar 2008) | 11 lines

Rebuild the peer cert chain correctly, with suitable GnuTLS support:

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

* src/ne_gnutls.c [HAVE_GNUTLS_CERTIFICATE_GET_X509_CAS]
  (find_issuer): New function.
  (make_peers_chain): Take creds object.
  [HAVE_GNUTLS_CERTIFICATE_GET_X509_CAS]: Rebuild the cert chain
  from list of trusted CAs.
  (ne__negotiate_ssl): Pass creds object to make_peers_chain.

------------------------------------------------------------------------
r1426 | joe | 2008-03-28 13:40:45 +0000 (Fri, 28 Mar 2008) | 6 lines

* src/ne_gnutls.c: Define HAVE_NEW_DN_API for GnuTLS >= 2.3.2.
  (struct ne_ssl_dname_s) [HAVE_NEW_DN_API]: Represent as
  gnutls_x509_dn_t.
  (ne_ssl_readable_dname, ne_ssl_dname_cmp, populate_cert)
  [HAVE_NEW_DN_API]: Adjust to use new GnuTLS DN interfaces

------------------------------------------------------------------------
r1425 | joe | 2008-03-28 13:08:08 +0000 (Fri, 28 Mar 2008) | 3 lines

* src/ne_pkcs11.c (pk11_find_pkey): Fix logic to reject non-DSA/RSA
  keys.

------------------------------------------------------------------------
r1424 | joe | 2008-03-28 13:06:08 +0000 (Fri, 28 Mar 2008) | 4 lines

* src/ne_pkcs11.c (pk11_find_pkey): Don't require RSA keys; retrieve
  the key type.
  (pk11_sign_callback): Use mechanism appropriate to the key type.

------------------------------------------------------------------------
r1423 | joe | 2008-03-28 12:50:48 +0000 (Fri, 28 Mar 2008) | 7 lines

* test/ssl.c (nss_pkcs11_test): Factor out from pkcs11.
  (pkcs11): Reimplement.
  (pkcs11_dsa): New XFAIL test case.
  
* test/makekeys.sh: Create a client cert with a DSA key, and create a
  second separate NSS database using this.

------------------------------------------------------------------------
r1422 | joe | 2008-03-27 10:51:49 +0000 (Thu, 27 Mar 2008) | 2 lines

* test/socket.c: Drop trailing commas in initializers.

------------------------------------------------------------------------
r1421 | joe | 2008-03-27 10:49:13 +0000 (Thu, 27 Mar 2008) | 13 lines

Add support for initiating a proxy connection via SOCKS v4/v4a/v5
proxy, at socket layer:

* src/ne_socks.c: New file.

* src/ne_socket.h (ne_sock_proxy): New prototype.

* src/Makefile.in, neon.mak: Build ne_socks.c.

* test/socket.c (read_socks_string, read_socks_byte,
  expect_socks_byte, read_socks_0string, socks_server, begin_socks,
  socks_proxy, fail_socks): Add test cases.

------------------------------------------------------------------------
r1420 | joe | 2008-03-27 10:26:01 +0000 (Thu, 27 Mar 2008) | 3 lines

* src/ne_socket.c: Include ne_privssl.h unconditionally, now
it is safe to do so.

------------------------------------------------------------------------
r1419 | joe | 2008-03-26 15:44:28 +0000 (Wed, 26 Mar 2008) | 8 lines

Add interface to set socket error string:

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

* src/ne_socket.h (ne_sock_set_error): New prototype.

* test/socket.c (error): New test case.

------------------------------------------------------------------------
r1418 | joe | 2008-03-17 21:08:01 +0000 (Mon, 17 Mar 2008) | 2 lines

* src/Makefile.in (update-deps): Update for gnutls/pkcs11.

------------------------------------------------------------------------
r1417 | joe | 2008-03-17 21:05:21 +0000 (Mon, 17 Mar 2008) | 2 lines

* src/Makefile.in (update-deps): Fix for generated SSL/etc deps.

------------------------------------------------------------------------
r1416 | joe | 2008-03-17 21:01:51 +0000 (Mon, 17 Mar 2008) | 2 lines

* src/ne_privssl.h: Make safe for inclusion in non-SSL build.

------------------------------------------------------------------------
r1415 | joe | 2008-03-17 14:45:11 +0000 (Mon, 17 Mar 2008) | 2 lines

* autogen.sh: Use libtoolize --install where supported.

------------------------------------------------------------------------
r1414 | joe | 2008-03-17 12:02:49 +0000 (Mon, 17 Mar 2008) | 4 lines

* install-sh: Update to version from libtool 2.2.

Submitted by: Arfrever Frehtes Taifersar Arahesis

------------------------------------------------------------------------
r1413 | joe | 2008-03-17 12:01:46 +0000 (Mon, 17 Mar 2008) | 4 lines

* src/ne_pkcs11.c: Fix typo.

Submitted by: Arfrever Frehtes Taifersar Arahesis

------------------------------------------------------------------------
r1412 | joe | 2008-03-17 12:01:06 +0000 (Mon, 17 Mar 2008) | 4 lines

* configure.in, autogen.sh: Support libtool 2.2.

Submitted by: Arfrever Frehtes Taifersar Arahesis

------------------------------------------------------------------------
r1411 | joe | 2008-03-14 17:09:30 +0000 (Fri, 14 Mar 2008) | 6 lines

* src/ne_socket.h (ne_iaddr_raw): New prototype.

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

* test/socket.c (addr_make_v4, addr_make_v6): Test ne_iaddr_raw.

------------------------------------------------------------------------
r1410 | joe | 2008-03-13 23:31:54 +0000 (Thu, 13 Mar 2008) | 2 lines

* doc/security.xml: Grammar fixes.

------------------------------------------------------------------------
r1407 | joe | 2008-03-13 20:07:46 +0000 (Thu, 13 Mar 2008) | 3 lines

* src/ne_request.c (add_fixed_headers): Do not send "Keep-Alive"
  in the Connection header to a potentially-1.0 proxy, per 2616 rules.

------------------------------------------------------------------------
r1406 | joe | 2008-03-13 19:55:26 +0000 (Thu, 13 Mar 2008) | 17 lines

Fix use of NTLM with some borked proxies which require use of a
persistent connection but don't advertise such support in an
HTTP-compliant manner:

* src/ne_request.c (add_fixed_headers): Add the request header
  "Proxy-Connection: Keep-Alive" for a non-HTTP/1.1 next-hop, iff a
  proxy is configured. 
  (ne_begin_request): Where the next-hop is non-HTTP/1.1, a proxy
  is configured, *and* the conn-auth flag is enabled, enable use of
  persistent connections if the next-hop sends the response header
  "Proxy-Connection: Keep-Alive".

* test/request.c (test_persist_p): Renamed from test_persist.  Take
  proxy flag and enable proxy and conn-auth if set.
  (test_persist): New function.
  (persist_proxy_http10): New test case.

------------------------------------------------------------------------
r1405 | joe | 2008-03-10 16:37:38 +0000 (Mon, 10 Mar 2008) | 2 lines

* doc/xml.xml, doc/ssl.xml: Use id on footnotes for stable doc generation.

------------------------------------------------------------------------
r1404 | joe | 2008-03-10 16:32:23 +0000 (Mon, 10 Mar 2008) | 2 lines

* doc/security.xml: Fix markup.

------------------------------------------------------------------------
r1403 | joe | 2008-03-10 16:28:31 +0000 (Mon, 10 Mar 2008) | 4 lines

* doc/security.xml: New file.

* doc/manual.xml: Include security section.

------------------------------------------------------------------------
r1398 | joe | 2008-03-03 13:31:04 +0000 (Mon, 03 Mar 2008) | 3 lines

* macros/neon-xml-parser.m4 (NEON_XML_PARSER): Define NE_FMT_XML_SIZE
for Subversion-bundled-expat build.

------------------------------------------------------------------------
r1393 | joe | 2008-03-03 09:02:53 +0000 (Mon, 03 Mar 2008) | 6 lines

* configure.in: zh -> zh_CN in ALL_LINGUAS.

* po/zh_CN.po: New translation, from Dongsheng Song.

* po/zh.po: Renamed to above.  

------------------------------------------------------------------------
r1389 | joe | 2008-02-29 16:22:18 +0000 (Fri, 29 Feb 2008) | 5 lines

* src/ne_auth.c (inside_domain): Fix to treat domain as a prefix,
as required by 2617.

* test/auth.c (domains): Tweak test case to cover this.

------------------------------------------------------------------------
r1388 | joe | 2008-02-29 16:19:00 +0000 (Fri, 29 Feb 2008) | 2 lines

* test/request.c: Wrap any_request() calls in ONREQ not CALL, throughout.

------------------------------------------------------------------------
r1387 | joe | 2008-02-29 16:18:18 +0000 (Fri, 29 Feb 2008) | 2 lines

* test/makekeys.sh: Print OpenSSL version for diagnostic purposes.

------------------------------------------------------------------------
r1382 | joe | 2008-02-28 14:59:57 +0000 (Thu, 28 Feb 2008) | 2 lines

* test/openssl.conf: Fix makekeys for some versions of OpenSSL.

------------------------------------------------------------------------
r1380 | joe | 2008-02-28 13:17:55 +0000 (Thu, 28 Feb 2008) | 2 lines

* test/socket.c: Fail more gracefully.

------------------------------------------------------------------------
r1379 | joe | 2008-02-28 12:45:43 +0000 (Thu, 28 Feb 2008) | 3 lines

* src/ne_socket.c (ne_sock_peer): Fix for !AF_INET6 && USE_GAI case;
  thanks to Nico Kadel-Garcia.

------------------------------------------------------------------------
r1378 | joe | 2008-02-28 11:06:15 +0000 (Thu, 28 Feb 2008) | 8 lines

Fix build on systems with getaddrinfo but without AF_INET6.

* src/ne_socket.c (ipv6_disabled) [!AF_INET6]: Define as 1.
  (ne_addr_resolve) [AF_INET6]: Make handling of v6 literals
  conditional.
  (do_bind) [AF_INET6]: Likewise for local bind address.
  (ne_iaddr_typeof, ne_iaddr_cmp): Likewise for address types.

------------------------------------------------------------------------
r1377 | joe | 2008-02-28 10:48:59 +0000 (Thu, 28 Feb 2008) | 3 lines

* src/ne_pkcs11.c (pk11_login): Succeed if login fails with
  CKR_USER_ALREADY_LOGGED_IN.

------------------------------------------------------------------------
r1376 | joe | 2008-02-26 20:36:41 +0000 (Tue, 26 Feb 2008) | 2 lines

* src/ne_pkcs11.c: Add a laundry list.

------------------------------------------------------------------------
r1375 | joe | 2008-02-21 20:48:17 +0000 (Thu, 21 Feb 2008) | 2 lines

* test/ssl.c (pkcs11): Fix typo.

------------------------------------------------------------------------
r1374 | joe | 2008-02-21 20:46:33 +0000 (Thu, 21 Feb 2008) | 13 lines

Add test case for PKCS#11 support using NSS software token:

* configure.in: Check for pk12util, certutil.  Generate test/makekeys.

* test/ssl.c (pkcs11, pkcs11_pin): New functions.

* test/makekeys.sh: Use configure-determined paths for openssl, and
  NSS tools.  Generate nssdb for PKCS#11 testing if NSS tools present.

* test/Makefile.in (ca-stamp): Run generated makekeys in builddir.
  (makekeys): Generate using config.status.
  (clean): Clean nssdb.

------------------------------------------------------------------------
r1373 | joe | 2008-02-20 13:41:43 +0000 (Wed, 20 Feb 2008) | 2 lines

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

------------------------------------------------------------------------
r1372 | joe | 2008-02-19 21:09:43 +0000 (Tue, 19 Feb 2008) | 3 lines

* src/ne_request.c (do_connect): Fail with NE_TIMEOUT for a timed-out
connect() call.

------------------------------------------------------------------------
r1371 | joe | 2008-02-14 22:34:10 +0000 (Thu, 14 Feb 2008) | 3 lines

* src/ne_gnutls.c (check_identity): Ensure that strings are NUL terminated
since this is not explicitly guaranteed by the GnuTLS API.

------------------------------------------------------------------------
r1370 | joe | 2008-02-14 22:20:36 +0000 (Thu, 14 Feb 2008) | 3 lines

* src/ne_openssl.c (provide_client_cert): Simplify slightly to
use an array of dname structures.

------------------------------------------------------------------------
r1369 | joe | 2008-02-14 22:11:57 +0000 (Thu, 14 Feb 2008) | 4 lines

* test/makekeys.sh: Prepend the real CA to the calist.pem.

* test/ssl.c (cc_check_dnames): Update for the above.

------------------------------------------------------------------------
r1368 | joe | 2008-02-11 20:13:47 +0000 (Mon, 11 Feb 2008) | 2 lines

* src/ne_socket.h: Pick up size_t definition on Win32.

------------------------------------------------------------------------
r1367 | joe | 2008-02-11 12:37:26 +0000 (Mon, 11 Feb 2008) | 2 lines

* src/ne_string.c: Fix typo in comment. (Arfrever)

------------------------------------------------------------------------
r1366 | joe | 2008-02-11 12:36:19 +0000 (Mon, 11 Feb 2008) | 4 lines

* macros/neon.m4: Bump to 0.29.

Submitted by: Arfrever Frehtes Taifersar Arahesis

------------------------------------------------------------------------
r1354 | joe | 2008-02-11 09:29:48 +0000 (Mon, 11 Feb 2008) | 3 lines

* macros/neon.m4: Define NE_FMT_NE_OFF_T for external-neon 
library builds.

------------------------------------------------------------------------
r1352 | joe | 2008-02-11 07:52:47 +0000 (Mon, 11 Feb 2008) | 4 lines

* macros/neon.m4 (NEON_SSL): Add --without-pakchois.

Submitted by: Arfrever Frehtes Taifersar Arahesis

------------------------------------------------------------------------
r1348 | joe | 2008-02-08 16:55:35 +0000 (Fri, 08 Feb 2008) | 3 lines

* src/ne_session (ne_session_destroy): Destroy close_conn hooks
to avoid memory leak (thanks, --enable-memleak mode).

------------------------------------------------------------------------
r1344 | joe | 2008-02-08 14:47:40 +0000 (Fri, 08 Feb 2008) | 13 lines

Add a close-connection hook (thanks to Robert J. van der Boon):

* src/ne_private.h (struct ne_session_s): Add close_conn_hooks.

* src/ne_session.c (ne_hook_close_conn, ne_unhook_close_conn): New
  functions.
(ne_close_connection): Run close_conn hooks.

* src/ne_request.h (ne_hook_close_conn, ne_unhook_close_conn): New
  prototypes.

* test/request.c (hook_close_conn, hooks): Add tests.

------------------------------------------------------------------------
r1341 | joe | 2008-02-08 10:16:32 +0000 (Fri, 08 Feb 2008) | 2 lines

* NEWS: No news like good news.

------------------------------------------------------------------------
r1340 | joe | 2008-02-08 10:14:23 +0000 (Fri, 08 Feb 2008) | 3 lines

* neon.mak: Removes quotes around $(MAKE) since nmake quotes
this internally.

------------------------------------------------------------------------
r1338 | joe | 2008-02-07 22:22:07 +0000 (Thu, 07 Feb 2008) | 9 lines

* src/ne_basic.h: Deprecate ne_options API.  Add NE_CAP_* constants,
ne_options2 prototype.

* src/ne_basic.c (options_map): Add options mapping table.
(parse_dav_header): Adjust to use mapping table and capabilities
bitmask.
(ne_options2): New function; renamed from ne_options.
(ne_options): Re-implement on top of ne_options2.

------------------------------------------------------------------------
r1337 | joe | 2008-02-07 17:18:42 +0000 (Thu, 07 Feb 2008) | 2 lines

* Makefile.in: Install ne_pkcs11.h.

------------------------------------------------------------------------
r1336 | joe | 2008-02-07 13:53:47 +0000 (Thu, 07 Feb 2008) | 2 lines

* src/ne_pkcs11.h: Further doc tweaks.

------------------------------------------------------------------------
r1335 | joe | 2008-02-07 13:45:07 +0000 (Thu, 07 Feb 2008) | 5 lines

* src/ne_pkcs11.h: Add interface description for attempt parameter.

* src/ne_pkcs11.c (pk11_login): Start attempt at 1 as per auth
  callbacks.

------------------------------------------------------------------------
r1334 | joe | 2008-02-07 13:40:30 +0000 (Thu, 07 Feb 2008) | 2 lines

* src/ne_pkcs11.c: Clean up debugging.

------------------------------------------------------------------------
r1333 | joe | 2008-02-07 11:06:13 +0000 (Thu, 07 Feb 2008) | 18 lines

Adjust PKCS#11 interfaces to allow a single provider to be shared
between sessions:

* src/ne_session.c (ne_ssl_set_pkcs11_pin): Removed function.

* src/ne_private.h (struct ne_session_s): Remove PKCS#11 pin callback.

* src/ne_pkcs11.c (pk11_find_x509): Take provider object and set
client cert.
(pk11_find_pkey): Take provider object and set private key.
(find_client_cert): Take provider object and pass through.
(pk11_sign_callback, pk11_login, pk11_provide): Take provider object,
adjust accordingly.

(pk11_init, ne_ssl_pkcs11_provider_init, ne_ssl_nsspk11_provider_init,
ne_ssl_pkcs11_provider_destroy, ne_ssl_pkcs11_provider_pin): New
functions.

------------------------------------------------------------------------
r1332 | joe | 2008-02-07 08:31:51 +0000 (Thu, 07 Feb 2008) | 3 lines

* src/ne_gnutls.c (match_hostname, check_identity): Tone down 
the debugging output.

------------------------------------------------------------------------
r1331 | joe | 2008-02-07 08:24:05 +0000 (Thu, 07 Feb 2008) | 4 lines

* src/ne_gnutls.c (ne_ssl_clicert_read): Fail if missing cert or key.
(ne__ssl_clicert_exkey_import): Set decrypted flag on imported
keyless clicert.

------------------------------------------------------------------------
r1330 | joe | 2008-02-06 21:37:26 +0000 (Wed, 06 Feb 2008) | 2 lines

* src/Makefile.in: Regenerate deps.

------------------------------------------------------------------------
r1329 | joe | 2008-02-06 21:31:30 +0000 (Wed, 06 Feb 2008) | 22 lines

Initial support for PKCS#11, based on the pakchois PKCS#11 library:

* src/ne_pkcs11.c, src/ne_pkcs11: New files.

* src/ne_gnutls.c (struct ne_ssl_client_cert_s): Add keyless flag.
(dup_client_cert): Support keyless clicerts.
(ne__ssl_clicert_exkey_import): New function.
(provide_client_cert): Use proper GnuTLS error codes in failure
cases.

* src/ne_privssl.h (ne__ssl_clicert_exkey_import) [HAVE_GNUTLS]: Add
  prototype.

* src/ne_private.h: Include ne_pkcs11.h.
(struct ne_session_s): Add pin callback and userdata.

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

* src/Makefile.in, neon.mak: Build ne_pkcs11.c.

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

------------------------------------------------------------------------
r1328 | joe | 2008-02-06 21:29:44 +0000 (Wed, 06 Feb 2008) | 3 lines

* macros/neon.m4 (NEON_WITH_LIBS): Adjust PKG_CONFIG_PATH 
appropriately.

------------------------------------------------------------------------
r1327 | joe | 2008-02-06 21:19:35 +0000 (Wed, 06 Feb 2008) | 3 lines

* src/ne_alloc.h: Include stdlib.h on all platforms to
pick up free() definition.

------------------------------------------------------------------------
r1326 | joe | 2008-02-06 11:30:41 +0000 (Wed, 06 Feb 2008) | 11 lines

Restore parts of r1315:

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

* src/ne_privssl.h (struct ne_ssl_context_s): Add sign_func, sign_data
  fields.

* src/ne_socket.c (ne_sock_connect_ssl): Set up the sign_func callback
  if non-NULL.


------------------------------------------------------------------------
r1325 | joe | 2008-02-06 11:27:38 +0000 (Wed, 06 Feb 2008) | 8 lines

Re-apply r1317, portion of r1316:

* src/ne_gnutls.c (ne_ssl_clicert_read): Fail if cert or key is missing.

* src/ne_openssl.c (ne_ssl_clicert_read): Fail if private key lacks
  cert or pkey.


------------------------------------------------------------------------
r1324 | joe | 2008-02-06 11:17:54 +0000 (Wed, 06 Feb 2008) | 3 lines

* test/ssl.c, test/makekeys.sh: Restore test cases for PKCS#12 
clicerts with missing halves.

------------------------------------------------------------------------
r1323 | joe | 2008-02-06 11:12:09 +0000 (Wed, 06 Feb 2008) | 2 lines

Revert diff r1320:r1314.

------------------------------------------------------------------------
r1322 | joe | 2008-02-06 10:13:42 +0000 (Wed, 06 Feb 2008) | 2 lines

* src/ne_socket.c (ne_sock_cipher): Fix non-SSL build.

------------------------------------------------------------------------
r1321 | joe | 2008-02-06 09:51:54 +0000 (Wed, 06 Feb 2008) | 2 lines

* NEWS: News so far.

------------------------------------------------------------------------
r1320 | joe | 2008-01-31 15:22:13 +0000 (Thu, 31 Jan 2008) | 2 lines

* src/ne_ssl.h: Update docco for ne_ssl_clicert*_read.

------------------------------------------------------------------------
r1319 | joe | 2008-01-31 15:08:53 +0000 (Thu, 31 Jan 2008) | 6 lines

* test/makekeys.sh: Generate clicert without cert, and encrypted
  clicert without pkey.

* test/ssl.c (load_client_cert): Add tests for more clicert
  variations.

------------------------------------------------------------------------
r1318 | joe | 2008-01-31 12:12:16 +0000 (Thu, 31 Jan 2008) | 3 lines

* src/Makefile.in, Makefile.in: Fix for NE_SSL_LIBNAME for non-GnuTLS
build.

------------------------------------------------------------------------
r1317 | joe | 2008-01-31 11:49:36 +0000 (Thu, 31 Jan 2008) | 3 lines

* src/ne_openssl.c (ne_ssl_clicert_read): Fail if private key lacks
  cert or pkey.

------------------------------------------------------------------------
r1316 | joe | 2008-01-31 11:46:32 +0000 (Thu, 31 Jan 2008) | 21 lines

Add support for PKCS#12 client certs which don't include a private
key:

* src/ne_gnutls.c (struct ne_ssl_client_cert_s): Add keyless flag.
(dup_client_cert): Support keyless clicerts.
(pkcs12_parse): Make pkey handling optional.
(read_client_cert): Factor out from ne_ssl_clicert_read; take additional
key_required flag; fail if cert or key is required and not supplied;
initialize keyless flag.
(ne_ssl_clicert_read): Reimplement using read_client_cert.
(ne_ssl_clicert_exkey_read): New function.
(ne_ssl_clicert_decrypt): Handle keyless failure case.

* src/ne_openssl.c (ne_ssl_clicert_exkey_read): Add stub.

* src/ne_stubssl.c (ne_ssl_clicert_exkey_read): Add stub.

* test/ssl.c (load_client_cert): Test ne_ssl_clicert_exkey_read.

* test/makekeys.sh: Generate keyless ccert.

------------------------------------------------------------------------
r1315 | joe | 2008-01-31 11:40:22 +0000 (Thu, 31 Jan 2008) | 27 lines

Add libneon-gnutls support library to allow use of external signing
callback with GnuTLS:

* src/lib_gnutls.c, src/ne_gnutls.h, neon-gnutls.pc.in: New files.

* src/ne_privssl.h (struct ne_ssl_context_s): Add sign_func, sign_data
  fields.

* macros/neon.m4 (NEON_SSL): Define NE_SSL_LIBNAME; check for
  gnutls_sign_callback_set, add new exports NE_SSL_CFLAGS and
  NE_LIBSSL_LTFLAGS.  Export NEON_LIBEXT in place of NEON_TARGET,
  NE_LIBNEON_LTFLAGS in place of NEON_LINK_FLAGS;

* src/Makefile.in: Add and adjust targets to build libneon-gnutls iff
  configured with GnuTLS support.

* Makefile.in (install-lib-ssl-no, install-lib-ssl-gnutls): New
  targets.

* neon-config.in: Add --la-file=gnutls, --cflags=gnutls support.

* src/ne_socket.c (ne_sock_connect_ssl): Set up the sign_func callback
  if non-NULL.

* configure.in: Adjust for NEON_LINK_FLAGS rename.  Define
  NE_LIBSSL_LTFLAGS.  Generate neon-gnutls.pc.

------------------------------------------------------------------------
r1314 | joe | 2008-01-31 09:54:15 +0000 (Thu, 31 Jan 2008) | 3 lines

* src/ne_socket.c (ne_sock_accept_ssl, ne_sock_connect_ssl): Fix
  compiler warnings on LP64 platforms.

------------------------------------------------------------------------
r1313 | joe | 2008-01-31 09:43:11 +0000 (Thu, 31 Jan 2008) | 4 lines

* src/ne_session.c (ne_get_error): Don't "clean" the error string
  again here, since it may have been localised and hence not be 7-bit
  ASCII.

------------------------------------------------------------------------
r1312 | joe | 2008-01-31 09:09:03 +0000 (Thu, 31 Jan 2008) | 2 lines

* Makefile.in: Add datarootdir to silence autoconf/config.status warning.

------------------------------------------------------------------------
r1311 | joe | 2008-01-31 08:58:21 +0000 (Thu, 31 Jan 2008) | 4 lines

* src/ne_string.c (ascii_printable): Define array.
(ne_strclean): Reimplement using above to be independent
of locale.

------------------------------------------------------------------------
r1310 | joe | 2008-01-30 22:22:31 +0000 (Wed, 30 Jan 2008) | 3 lines

* test/request.c (send_bad_offset): Use a pipe rather than a 
negative offset; better guarantee of failure.

------------------------------------------------------------------------
r1309 | joe | 2008-01-30 22:06:43 +0000 (Wed, 30 Jan 2008) | 2 lines

* src/ne_gnutls.c: Remove now-redundant #includes.

------------------------------------------------------------------------
r1308 | joe | 2008-01-30 21:19:34 +0000 (Wed, 30 Jan 2008) | 2 lines

* config.hw.in: Fix build with VS2008 (Stefan Kung).

------------------------------------------------------------------------
r1307 | joe | 2008-01-30 20:24:59 +0000 (Wed, 30 Jan 2008) | 2 lines

* configure.in: Wording tweak, no functional change.

------------------------------------------------------------------------
r1306 | joe | 2008-01-30 16:59:35 +0000 (Wed, 30 Jan 2008) | 5 lines

* src/ne_basic.c (dispatch_to_fd): Fix handling of ranged PUT with
  unspecified length.  (Submitted by Henrik Holst <henrik witsbits.com>)

* test/basic. (get_eof_range): New test case.

------------------------------------------------------------------------
r1305 | joe | 2008-01-30 16:40:14 +0000 (Wed, 30 Jan 2008) | 2 lines

* src/ne_session.h: Docco update.

------------------------------------------------------------------------
r1304 | joe | 2008-01-30 16:38:19 +0000 (Wed, 30 Jan 2008) | 5 lines

* src/ne_props.c (startelm): Include the namespaces for both element
  and attributes in flat property dumps.

* test/props.c (propfind): Add test case for attribute handling.

------------------------------------------------------------------------
r1303 | joe | 2008-01-30 11:53:32 +0000 (Wed, 30 Jan 2008) | 8 lines

* src/ne_dates.c (GMTOFF) [HAVE_TIMEZONE]: Add definition.
(all callers of GMTOFF): Separate mktime from GMTOFF invocation to
ensure a sequence point between the two.

* macros/neon.m4 (LIBNEON_SOURCE_CHECKS): Update timezone warning.

Submitted by: Alessandro Vesely <vesely tana.it>

------------------------------------------------------------------------
r1302 | joe | 2008-01-30 11:35:52 +0000 (Wed, 30 Jan 2008) | 11 lines

* src/ne_private.h (struct ne_session_s): Add local_addr field.

* src/ne_session.c (ne_set_localaddr): New prototype.

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

* src/ne_request.c (do_connect): Call ne_sock_prebind if local_addr is
  non-NULL.

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

------------------------------------------------------------------------
r1299 | joe | 2007-12-27 21:10:43 +0000 (Thu, 27 Dec 2007) | 2 lines

* src/ne_ssl.h: Docco tweaks.

------------------------------------------------------------------------
r1298 | joe | 2007-12-27 21:08:25 +0000 (Thu, 27 Dec 2007) | 2 lines

* test/request.c: Spelling fix.

------------------------------------------------------------------------
r1297 | joe | 2007-12-16 14:05:07 +0000 (Sun, 16 Dec 2007) | 2 lines

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

------------------------------------------------------------------------
r1296 | joe | 2007-12-16 14:01:46 +0000 (Sun, 16 Dec 2007) | 2 lines

* src/ne_session.h: Clarify when ne_session_proxy may be called.

------------------------------------------------------------------------
r1295 | joe | 2007-12-16 13:58:47 +0000 (Sun, 16 Dec 2007) | 10 lines

* src/ne_acl.h (ne_acl_entry): Rename "apply" field "target", split
  out enums; rename "principal" to "tname"; add single "principles"
  bit-field.  Add NE_ACL_* constants.

* src/ne_acl.c (acl_body): Adjust accordingly.

* test/acl.c: All tests updated accordingly.

Submitted by: Henrik Holst, joe

------------------------------------------------------------------------
r1294 | joe | 2007-12-16 11:24:39 +0000 (Sun, 16 Dec 2007) | 3 lines

* test/socket.c (ssl_session_id): Skip if given a zero-length session
  ID as recent OpenSSL seems to do.

------------------------------------------------------------------------
r1293 | joe | 2007-12-05 16:42:01 +0000 (Wed, 05 Dec 2007) | 2 lines

* src/ne_ssl.h: Doc tweak; server is not a person.

------------------------------------------------------------------------
r1292 | joe | 2007-12-05 16:39:58 +0000 (Wed, 05 Dec 2007) | 11 lines

* src/ne_auth.h (NE_AUTH_ALL, NE_AUTH_DEFAULT): Add new protocol
  codes.

* src/ne_auth.c (auth_register): Interpret NE_AUTH_ALL and
  NE_AUTH_DEFAULT.  
  (auth_register_default): Remove function.
  (ne_set_server_auth, ne_set_proxy_auth): Re-implement 
  using auth_register.

* test/auth.c (defaults): New test case.

------------------------------------------------------------------------
r1291 | joe | 2007-12-05 15:23:40 +0000 (Wed, 05 Dec 2007) | 2 lines

* src/ne_socket.c (ne_sock_cipher): Fix non-SSL build.

------------------------------------------------------------------------
r1290 | joe | 2007-12-05 15:11:24 +0000 (Wed, 05 Dec 2007) | 10 lines

Enable TLS SNI support for GnuTLS builds:

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

* src/ne_gnutls.c (ne__negotiate_ssl): Pass through hostname if SNI
  enabled.

,* src/ne_socket.c [HAVE_GNUTLS] (ne_sock_connect_ssl): Set hostname.

------------------------------------------------------------------------
r1289 | joe | 2007-12-05 15:04:51 +0000 (Wed, 05 Dec 2007) | 6 lines

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

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

* test/socket.c (cipher): Add test case.

------------------------------------------------------------------------
r1288 | joe | 2007-12-05 14:57:54 +0000 (Wed, 05 Dec 2007) | 6 lines

* src/ne_auth.c (inside_domain): Parse request-URI to handle proxies
  correctly.

* test/auth.c (verify_digest_header, serve_digest, domains): Test
  domain handling via proxy.

------------------------------------------------------------------------
r1287 | joe | 2007-12-05 14:31:19 +0000 (Wed, 05 Dec 2007) | 3 lines

* src/ne_auth.c (parse_domain): Fix memory handling (fix tests with
  --enable-memleak).

------------------------------------------------------------------------
r1286 | joe | 2007-12-05 14:16:35 +0000 (Wed, 05 Dec 2007) | 5 lines

* src/ne_auth.c (parse_domain): Fix to parse domain parameter as
  space-separated list.

* test/auth.c (domains): Fix test case.

------------------------------------------------------------------------
r1285 | joe | 2007-12-05 14:14:37 +0000 (Wed, 05 Dec 2007) | 2 lines

* src/ne_auth.c (get_cnonce): Reformat code; no functional change.

------------------------------------------------------------------------
r1284 | joe | 2007-12-05 14:10:57 +0000 (Wed, 05 Dec 2007) | 3 lines

* src/ne_auth.c (get_cnonce): Use gcrypt to create the nonce if
  configured with GnuTLS.

------------------------------------------------------------------------
r1283 | joe | 2007-12-05 11:04:47 +0000 (Wed, 05 Dec 2007) | 2 lines

* src/ne_uri.c (ne_path_unescape): Remove redundant \0 (Hannes Eder).

------------------------------------------------------------------------
r1282 | joe | 2007-12-04 22:02:27 +0000 (Tue, 04 Dec 2007) | 2 lines

* src/ne_md5.c: Use ANSI C prototypes throughout (Hannes Eder).

------------------------------------------------------------------------
r1281 | joe | 2007-12-01 16:07:44 +0000 (Sat, 01 Dec 2007) | 15 lines

Add TLS SNI support and enable by default:

* src/ne_session.h (ne_session_flag_e): Add NE_SESSFLAG_TLS_SNI.

* src/ne_session.c (ne_session_create): Enable the SNI flag by
  default.

* src/ne_privssl.h (struct ne_ssl_context_s): Add hostname field.

* src/ne_socket.c (ne_sock_connect_ssl) [HAVE_OPENSSL]: Enable SNI
  extension if hostname passed-through.

* src/ne_openssl.c (ne__negotiate_ssl): Set hostname field in context,
  if SNI flag enbled.

------------------------------------------------------------------------
r1280 | joe | 2007-11-30 14:12:59 +0000 (Fri, 30 Nov 2007) | 3 lines

* src/ne_socket.c (ne_sock_connect): Fix fd leak on connect() failure;
  regresion since 0.26 (Andrew Teirney).

------------------------------------------------------------------------
r1279 | joe | 2007-11-29 23:05:18 +0000 (Thu, 29 Nov 2007) | 3 lines

* src/ne_openssl.c (ne_ssl_context_create): Enable client session
  cache if creating server context.

------------------------------------------------------------------------
r1278 | joe | 2007-11-26 20:42:08 +0000 (Mon, 26 Nov 2007) | 5 lines

* src/ne_basic.c (ne_getmodtime): Set modtime to -1 if no header
  given.  (Henrik Holst)

* src/ne_basic.h (ne_getmodtime): Clarify interface.

------------------------------------------------------------------------
r1277 | joe | 2007-11-26 20:15:17 +0000 (Mon, 26 Nov 2007) | 6 lines

Add Polish translation, from Arfrever Frehtes Taifersar Arahesis:

* configure.in: Add pl locale.

* po/pl.po: New file.

------------------------------------------------------------------------
r1276 | joe | 2007-11-26 20:07:39 +0000 (Mon, 26 Nov 2007) | 2 lines

* po/: make update-po.

------------------------------------------------------------------------
r1275 | joe | 2007-11-26 15:52:26 +0000 (Mon, 26 Nov 2007) | 4 lines

* src/ne_compress.c (set_zlib_error),
* src/ne_auth.c (challenge_error): Don't mark untranslateable strings
as translatable (patch by Arfrever Frehtes Taifersar Arahesis).

------------------------------------------------------------------------
r1274 | joe | 2007-11-21 11:17:02 +0000 (Wed, 21 Nov 2007) | 3 lines

* src/ne_socket.c (ne_sock_connect): Set the FD_CLOEXEC bit on
the socket fd.

------------------------------------------------------------------------
r1273 | joe | 2007-11-19 15:55:30 +0000 (Mon, 19 Nov 2007) | 15 lines

Add support for domain handling in Digest authentication:

* src/ne_auth.c (struct auth_challenge): Add domain field.
(auth_session): Add domains, ndomains fields.
(free_domains, parse_domain, inside_domain): New functions.
(clean_session): Call free_domains.
(digest_challenge): Parse the domain parameter.
(request_digest): Don't submit credentials if request falls outside
the defined auth domain, if any.
(auth_challenge): Capture the domain parameter.

* test/auth.c (make_digest_header, serve_digest): Update for
handling domains test.
(domains): New test case.

------------------------------------------------------------------------
r1272 | joe | 2007-11-19 13:57:25 +0000 (Mon, 19 Nov 2007) | 3 lines

* doc/: Add documentation for _set_*_flag interfaces, misc. 
updates to neon(3) main page.

------------------------------------------------------------------------
r1271 | joe | 2007-10-31 21:20:59 +0000 (Wed, 31 Oct 2007) | 2 lines

* macros/neon.m4: Fix comment.

------------------------------------------------------------------------
r1270 | joe | 2007-10-24 17:37:35 +0100 (Wed, 24 Oct 2007) | 2 lines

* src/ne_socket.c (ne_socket_s): Reorder for better packing.

------------------------------------------------------------------------
r1269 | joe | 2007-10-22 10:08:29 +0100 (Mon, 22 Oct 2007) | 2 lines

* src/ne_socket.c (do_bind, ne_sock_peer): Fix for !USE_GETADDRINFO build.

------------------------------------------------------------------------
r1268 | joe | 2007-10-22 09:58:19 +0100 (Mon, 22 Oct 2007) | 15 lines

* src/ne_socket.h (ne_sock_peer, ne_sock_prebind): Add prototypes.

* src/ne_socket.c (ne_sock_peer, ne_sock_prebind, do_bind): New
  functions.
(ne_sock_connect): Use do_bind.
(struct ne_socket_s): Add laddr, lport fields.

* macros/neon.m4 (LIBNEON_SOURCE_CHECKS): Define socklen_t if 
not available.

* config.hw.in: Define socklen_t.

* test/socket.c (addr_peer, serve_ppeer, try_prebind, prebind):
New tests.

------------------------------------------------------------------------
r1267 | joe | 2007-10-19 11:25:38 +0100 (Fri, 19 Oct 2007) | 3 lines

* test-common/tests.c (t_context, in_child): Print failure messages to the
child debug log as well as to stderr.

------------------------------------------------------------------------
r1266 | joe | 2007-10-19 11:24:35 +0100 (Fri, 19 Oct 2007) | 2 lines

* src/ne_request.c (build_request): Use ne_buffer_czappend.

------------------------------------------------------------------------
r1264 | joe | 2007-10-19 11:13:02 +0100 (Fri, 19 Oct 2007) | 3 lines

* test/auth.c (serve_digest): Inhibit "server child failure" messages
when the server should quit.

------------------------------------------------------------------------
r1263 | joe | 2007-10-18 15:37:59 +0100 (Thu, 18 Oct 2007) | 6 lines

* src/ne_socket.c (ne_sock_sessid): Don't copy from beyond
  ->session_id array.

* test/socket.c (ssl_session_id): Test that only expected number of
bytes are copied.

------------------------------------------------------------------------
r1262 | joe | 2007-10-18 15:33:15 +0100 (Thu, 18 Oct 2007) | 2 lines

* src/Makefile.in (update-deps): Fix location of config.h.

------------------------------------------------------------------------
r1256 | joe | 2007-09-25 10:22:50 +0100 (Tue, 25 Sep 2007) | 3 lines

* src/ne_auth.c (verify_negotiate_response): Fix crash in GSSAPI
Negotiate response header verification.

------------------------------------------------------------------------
r1253 | joe | 2007-09-11 17:01:20 +0100 (Tue, 11 Sep 2007) | 2 lines

* test/run.sh: Run all test suites despite failures.

------------------------------------------------------------------------
r1252 | joe | 2007-09-09 21:46:28 +0100 (Sun, 09 Sep 2007) | 2 lines

* test/socket.c (serve_reset): Add delay before sending RST.

------------------------------------------------------------------------
r1251 | joe | 2007-09-09 21:44:38 +0100 (Sun, 09 Sep 2007) | 2 lines

* test/request.c (status, status_chunked): Fix memory leak.

------------------------------------------------------------------------
r1250 | joe | 2007-09-09 21:40:11 +0100 (Sun, 09 Sep 2007) | 3 lines

* src/ne_openssl.c: Update comments.  (match_hostname): Remove
debugging.

------------------------------------------------------------------------
r1249 | joe | 2007-09-07 13:24:54 +0100 (Fri, 07 Sep 2007) | 2 lines

* src/Makefile.in (update-deps): New target; regenerate dependencies.

------------------------------------------------------------------------
r1248 | joe | 2007-09-02 21:27:57 +0100 (Sun, 02 Sep 2007) | 7 lines

* configure.in: Set NEON_LINK_FLAGS later; also use -release if ABI 
variations are noted.

* macros/neon.m4 (NE_ADD_ABITAG): New macro.
(NE_LARGEFILE): Add LFS ABI tag if LFS is enabled.
(NEON_COMMON_BUNDLED): Add NODAV ABI tag if DAV support is disabled.

------------------------------------------------------------------------
r1240 | joe | 2007-08-22 13:02:05 +0100 (Wed, 22 Aug 2007) | 2 lines

* macros/neon-xml-parser.m4 (NE_XML_BUNDLED_EXPAT): Define NE_FMT_XML_SIZE.

------------------------------------------------------------------------
r1238 | joe | 2007-08-22 12:57:37 +0100 (Wed, 22 Aug 2007) | 2 lines

* src/ne_session.h: Add forward-compat note for ne_session_status enum.

------------------------------------------------------------------------
r1237 | joe | 2007-08-22 12:55:38 +0100 (Wed, 22 Aug 2007) | 5 lines

* src/ne_session.h: Fix description of total counter for response
progress.

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

------------------------------------------------------------------------
r1235 | joe | 2007-08-22 12:42:13 +0100 (Wed, 22 Aug 2007) | 2 lines

* src/ne_request.c (ne_read_response_block): Fix response progress counter.

------------------------------------------------------------------------
r1232 | joe | 2007-08-21 20:12:30 +0100 (Tue, 21 Aug 2007) | 2 lines

* NEWS: Tweak more.

------------------------------------------------------------------------
r1231 | joe | 2007-08-21 20:09:07 +0100 (Tue, 21 Aug 2007) | 2 lines

* po/: make update-po.

------------------------------------------------------------------------
r1230 | joe | 2007-08-21 20:07:23 +0100 (Tue, 21 Aug 2007) | 2 lines

* NEWS: Tweak.

------------------------------------------------------------------------
r1229 | joe | 2007-08-21 20:06:43 +0100 (Tue, 21 Aug 2007) | 2 lines

* NEWS: Tweak, update.

------------------------------------------------------------------------
r1228 | joe | 2007-08-21 19:59:32 +0100 (Tue, 21 Aug 2007) | 4 lines

* macros/neon.m4: Bump to 0.27.

* NEWS: Update.

------------------------------------------------------------------------
r1227 | joe | 2007-08-21 19:59:07 +0100 (Tue, 21 Aug 2007) | 3 lines

* BUGS: Note a broken HTTP server which would need some custom
hack to be supported.

------------------------------------------------------------------------
r1226 | joe | 2007-08-21 19:56:40 +0100 (Tue, 21 Aug 2007) | 11 lines

Make the notifier and progress interfaces mutually exclusive since the
old interface is only kept for backwards-compatibility.

* src/ne_request.c (notify_status): Don't invoke the progress
callback.

* src/ne_session.c (progress_notifier): New function.
(ne_set_progress): Implement using a notifier callback.

* src/ne_session.h: Note the mutual exclusivity.

------------------------------------------------------------------------
r1225 | joe | 2007-08-21 16:38:12 +0100 (Tue, 21 Aug 2007) | 3 lines

* src/ne_gnutls.c [HAVE_ICONV && HAVE_GNUTLS_X509_DN_GET_RDN_AVA]:
Include errno.h, fix build.

------------------------------------------------------------------------
r1224 | joe | 2007-08-19 09:56:45 +0100 (Sun, 19 Aug 2007) | 6 lines

* src/ne_session.h (ne_ssl_trust_cert): Clarify use with non-SSL session.

* src/ne_session.c (ne_ssl_trust_cert): Do nothing for non-SSL session.

* test/ssl.c (nonssl_trust): New test case.

------------------------------------------------------------------------
r1223 | joe | 2007-08-18 14:28:22 +0100 (Sat, 18 Aug 2007) | 2 lines

* test/socket.c (addr_reverse): Remove debugging code added in r1220.

------------------------------------------------------------------------
r1222 | joe | 2007-08-10 16:26:08 +0100 (Fri, 10 Aug 2007) | 5 lines

Perform hostname canonicalization for SSPI, patch by Yves Martin:

* src/ne_sspi.c (canonical_hostname): New function.
(ne_sspi_create_context): Use the canonical hostname in the SPN.

------------------------------------------------------------------------
r1221 | joe | 2007-08-10 15:39:26 +0100 (Fri, 10 Aug 2007) | 2 lines

* config.hw.in: Fix ne_xml.c build on Win32.

------------------------------------------------------------------------
r1220 | joe | 2007-08-10 14:05:10 +0100 (Fri, 10 Aug 2007) | 7 lines

* src/ne_socket.h (ne_iaddr_reverse),
  src/ne_socket.c (ne_iaddr_reverse): New function.

* test/socket.c (addr_reverse): New tests.

* macros/neon.m4 (LIBNEON_SOURCE_CHECKS): Check for getnameinfo too.

------------------------------------------------------------------------
r1219 | joe | 2007-08-10 11:29:26 +0100 (Fri, 10 Aug 2007) | 9 lines

* src/ne_request.c (ne_begin_request): Ignore the "identity"
transfer-coding since "privoxy" apparently sends it.  Fail for unknown
transfer-codings.

* test/request.c (te_identity): New test, replacing any_te_header.
(fail_on_invalid): Test for failure with unknown transfer-codings.

* doc/using.xml: Update section on transfer-encoding interpretation.

------------------------------------------------------------------------
r1218 | joe | 2007-08-09 10:46:36 +0100 (Thu, 09 Aug 2007) | 11 lines

Fix compiler warnings with expat 2.x API:

* macros/neon.m4 (NEON_FORMAT): Fix use of headers passed to
AC_CHECK_SIZEOF.

* macros/neon-xml-parser.m4 (NE_XML_EXPAT): Check how to print
the XML_Size type, if defined.

* src/ne_xml.c (ne_xml_parse): Use correct format string for
return value of XML_GetCurrentLineNumber.

------------------------------------------------------------------------
r1217 | joe | 2007-08-08 09:29:00 +0100 (Wed, 08 Aug 2007) | 10 lines

* src/ne_session.h (ne_session_flag): Add NE_SESSFLAG_CONNAUTH.

* src/ne_request.c (ne_begin_request): Ignore the IDEMPOTENT flag if
the session CONNAUTH flag is set.

* src/ne_auth.c: Define AUTH_FLAG_CONN_AUTH macro, use for
Negotiate/NTLM schemes.
(ah_pre_send): Remove non-functional hack to clear IDEMPOTENT flag.
(ah_post_send): Set or clear session CONNAUTH flag appropriately.

------------------------------------------------------------------------
r1216 | joe | 2007-07-31 19:28:30 +0100 (Tue, 31 Jul 2007) | 4 lines

* src/ne_uri.c (URI_FRAGMENT): Add macro.
(ne_uri_parse): Add comments and use URI_FRAGMENT; no functional
change.

------------------------------------------------------------------------
r1215 | joe | 2007-07-31 19:19:34 +0100 (Tue, 31 Jul 2007) | 5 lines

* src/ne_session.h (ne_session_flag): Add NE_SESSFLAG_RFC4918.

* src/ne_basic.c (copy_or_move): Use an abs_path in Destination
header, rather than an absoluteURI, iff the 4918 flag is enabled.

------------------------------------------------------------------------
r1214 | joe | 2007-07-31 19:14:25 +0100 (Tue, 31 Jul 2007) | 2 lines

* src/ne_session.h (ne_session_status): Clarify meaning of _recv/_sending.

------------------------------------------------------------------------
r1213 | joe | 2007-07-29 16:38:22 +0100 (Sun, 29 Jul 2007) | 2 lines

Changes so far.

------------------------------------------------------------------------
r1212 | joe | 2007-07-26 13:33:58 +0100 (Thu, 26 Jul 2007) | 4 lines

* src/ne_gnutls.c (check_identity): Take URI object as argument;
handle URI subjectAltNames.
(check_certificate, populate_cert): Adjust accordingly.

------------------------------------------------------------------------
r1211 | joe | 2007-07-20 12:52:33 +0100 (Fri, 20 Jul 2007) | 3 lines

* doc/ref/neon.xml: Add a list of the functions using global state, for clarity.
Add more symbol namespaces used by dependencies of neon.

------------------------------------------------------------------------
r1210 | joe | 2007-07-17 11:11:04 +0100 (Tue, 17 Jul 2007) | 2 lines

* src/ne_session.h: Better docs for ne_session_status_info union.

------------------------------------------------------------------------
r1209 | joe | 2007-07-17 10:47:16 +0100 (Tue, 17 Jul 2007) | 2 lines

* src/ne_session.h: Update ABI note for status union.

------------------------------------------------------------------------
r1208 | joe | 2007-07-16 11:25:10 +0100 (Mon, 16 Jul 2007) | 3 lines

* macros/neon.m4 (NEON_SSL): Don't attempt to prevent incompatibility
with future releases of GnuTLS.

------------------------------------------------------------------------
r1207 | joe | 2007-07-16 08:47:28 +0100 (Mon, 16 Jul 2007) | 2 lines

* src/ne_xml.h, src/ne_socket.h: Documentation updates.

------------------------------------------------------------------------
r1206 | joe | 2007-07-16 08:39:43 +0100 (Mon, 16 Jul 2007) | 3 lines

* src/ne_alloc.h (ne_realloc): Don't mark with malloc attribute, per
GCC manual.

------------------------------------------------------------------------
r1205 | joe | 2007-07-16 07:54:57 +0100 (Mon, 16 Jul 2007) | 3 lines

* src/ne_utils.h, src/ne_md5.h, src/ne_compress.h: Docs updates;
use extern-C everywhere.  No functional changes.

------------------------------------------------------------------------
r1204 | joe | 2007-07-16 07:40:03 +0100 (Mon, 16 Jul 2007) | 2 lines

* src/ne_redirect.h: Cleanup docs; no functional change.

------------------------------------------------------------------------
r1203 | joe | 2007-07-16 07:35:17 +0100 (Mon, 16 Jul 2007) | 2 lines

* src/ne_string.h: More docco cleanup; no functional changes.

------------------------------------------------------------------------
r1202 | joe | 2007-07-16 06:46:30 +0100 (Mon, 16 Jul 2007) | 2 lines

* src/ne_string.h: Update docco for ne_buffer_*; no functional change.

------------------------------------------------------------------------
r1198 | joe | 2007-07-14 21:35:28 +0100 (Sat, 14 Jul 2007) | 2 lines

Update credit roll, copyright notice.

------------------------------------------------------------------------
r1188 | joe | 2007-07-14 10:01:23 +0100 (Sat, 14 Jul 2007) | 2 lines

* test/auth.c (multi_handler): Use any_request().

------------------------------------------------------------------------
r1187 | joe | 2007-07-14 09:55:32 +0100 (Sat, 14 Jul 2007) | 4 lines

* src/ne_auth.c (auth_register): Fix multiple handler use (Werner Baumann)

* test/auth.c (multi_cb, multi_handler): New test case.

------------------------------------------------------------------------
r1185 | joe | 2007-07-14 09:05:02 +0100 (Sat, 14 Jul 2007) | 8 lines

Make the backwards-compat break in the status notification interface
more explicit by renaming the function:

* src/ne_session.h, src/ne_session.c (ne_set_notifier): Renamed from
  ne_set_status.

* test/request.c (status): Adjust accordingly.

------------------------------------------------------------------------
r1184 | joe | 2007-07-14 09:01:58 +0100 (Sat, 14 Jul 2007) | 2 lines

* src/ne_ssl.h: Docs cleanup.

------------------------------------------------------------------------
r1183 | joe | 2007-07-12 21:37:51 +0100 (Thu, 12 Jul 2007) | 6 lines

* src/ne_string.h (ne_buffer_snprintf): New prototype.

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

* test/string-tests.c (buf_print): New test case.

------------------------------------------------------------------------
r1182 | joe | 2007-07-12 11:38:00 +0100 (Thu, 12 Jul 2007) | 6 lines

* src/ne_session.h: Add ne_status_disconnected status type.
(ne_close_connection): Invoke the notifier callback.
(ne_session_destroy): Close the connection earlier.

* test/request.c (status_cb, status): Test ne_status_disconnected.

------------------------------------------------------------------------
r1181 | joe | 2007-07-11 23:23:02 +0100 (Wed, 11 Jul 2007) | 3 lines

* src/ne_gnutls.c (ne__ssl_exit): Implement for recent versions of
GnuTLS, per comment.

------------------------------------------------------------------------
r1180 | joe | 2007-07-03 13:01:39 +0100 (Tue, 03 Jul 2007) | 9 lines

* src/ne_xml.h (ne_xml_resolve_nspace): New interface.

* src/ne_xml.c (ne_xml_resolve_nspace): New function.

* test/xml.c: Adjust all callbacks to take 'struct context' pointer.
(parse_match): Pass a struct context pointer.
(startelm): Add "eval-xmlns-" evaluators.
(matches): Test namespace interfaces.

------------------------------------------------------------------------
r1179 | joe | 2007-07-03 10:14:52 +0100 (Tue, 03 Jul 2007) | 2 lines

* doc/ref/err.xml: Update ne_get_error docs.

------------------------------------------------------------------------
r1178 | joe | 2007-07-02 17:34:33 +0100 (Mon, 02 Jul 2007) | 3 lines

* doc/manual.xml: Split name and version to silence new
docbook-xsl stylesheets.

------------------------------------------------------------------------
r1177 | joe | 2007-07-02 17:24:33 +0100 (Mon, 02 Jul 2007) | 2 lines

* test/request.c (fail_statusline): Adjust for new error message.

------------------------------------------------------------------------
r1176 | joe | 2007-07-02 17:22:55 +0100 (Mon, 02 Jul 2007) | 9 lines

* src/ne_openssl.c (check_identity): Take URI object as argument;
handle URI subjectAltNames.
(check_certificate, populate_cert): Adjust accordingly.

* test/ssl.c (uri_altname, fail_bad_urialtname): Add tests.
(cert_identities): Test the URI-altname cert.

* test/openssl.conf, test/makekeys.sh: Create new test certs.

------------------------------------------------------------------------
r1175 | joe | 2007-07-02 17:17:32 +0100 (Mon, 02 Jul 2007) | 3 lines

* src/ne_request.c, src/ne_redirect.c, src/ne_basic.c: Update error
messages to omit trailing period.

------------------------------------------------------------------------
r1174 | joe | 2007-07-02 17:15:37 +0100 (Mon, 02 Jul 2007) | 3 lines

* test/xml.c (parse_match): Give descriptive failures.
(fail_parse): Enable tests for ill-formed UTF-8.

------------------------------------------------------------------------
r1173 | joe | 2007-06-27 14:43:32 +0100 (Wed, 27 Jun 2007) | 3 lines

* src/ne_gnutls.c (ne_ssl_clicert_read): Update code/comment on
friendly_name handling in encrypted c.certs.

------------------------------------------------------------------------
r1172 | joe | 2007-06-27 14:40:07 +0100 (Wed, 27 Jun 2007) | 3 lines

* src/ne_gnutls.c (pkcs12_parse, ne_ssl_clicert_read): Remove
now-redundant code on encrypted-cert path.

------------------------------------------------------------------------
r1171 | joe | 2007-06-27 14:39:10 +0100 (Wed, 27 Jun 2007) | 3 lines

* src/ne_gnutls.c (pkcs12_parse, ne_ssl_clicert_read): Fix handling of
PKCS#12 client certs with zero-length password.

------------------------------------------------------------------------
r1170 | joe | 2007-06-27 14:03:53 +0100 (Wed, 27 Jun 2007) | 7 lines

* macros/neon.m4 (NEON_SSL): Check for gnutls_x509_dn_get_rdn_ava and
iconv.

* src/ne_gnutls.c [HAVE_GNUTLS_X509_DN_GET_RDN_AVA]
(convert_dirstring, append_dirstring, ne_ssl_readable_dname):
Implement better RDN handling using GnuTLS 1.7.x interfaces.

------------------------------------------------------------------------
r1169 | joe | 2007-06-17 22:20:30 +0100 (Sun, 17 Jun 2007) | 2 lines

* doc/ref/alloc.xml: Fix prototype, thanks to Joshua Swink.

------------------------------------------------------------------------
r1165 | joe | 2007-04-03 21:25:13 +0100 (Tue, 03 Apr 2007) | 5 lines

* 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.

------------------------------------------------------------------------
r1164 | joe | 2007-02-26 17:04:19 +0000 (Mon, 26 Feb 2007) | 3 lines

* Makefile.in (install-nls-yes): Fix for VPATH builds, patch from Hans
Meine.

------------------------------------------------------------------------
r1162 | joe | 2007-02-08 09:45:10 +0000 (Thu, 08 Feb 2007) | 2 lines

* config.hw.in: Define NE_FMT_NE_OFF_T.

------------------------------------------------------------------------
r1161 | joe | 2007-02-07 17:45:05 +0000 (Wed, 07 Feb 2007) | 4 lines

* src/ne_auth.c (ah_post_send): Fix for SSPI to avoid invoking the
NULL response header verification callback (patch from
dicuccio@comcast.net).

------------------------------------------------------------------------
r1160 | joe | 2007-02-07 17:38:50 +0000 (Wed, 07 Feb 2007) | 2 lines

* src/ne_auth.c: Update comment.

------------------------------------------------------------------------
r1159 | joe | 2007-02-07 17:36:25 +0000 (Wed, 07 Feb 2007) | 7 lines

* 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.

------------------------------------------------------------------------
r1158 | joe | 2007-02-06 12:46:23 +0000 (Tue, 06 Feb 2007) | 3 lines

* test/util-tests.c (digest_md5, md5): Meet alignment requirement of
MD5 API.

------------------------------------------------------------------------
r1156 | joe | 2007-02-05 14:10:27 +0000 (Mon, 05 Feb 2007) | 3 lines

* src/ne_socket.c (write_raw): Work around QNX issue passing large
buffers to send() over loopback; send 8K at a time.

------------------------------------------------------------------------
r1155 | joe | 2007-02-05 13:11:00 +0000 (Mon, 05 Feb 2007) | 4 lines

* src/ne_auth.c (verify_negotiate_response): Fix comparison
of Negotiate response header token, and set error message
on failure.

------------------------------------------------------------------------
r1154 | joe | 2007-02-05 13:07:09 +0000 (Mon, 05 Feb 2007) | 3 lines

* src/ne_auth.c (ah_pre_send): Set request idempotent flag
for SSPI to prevent connection closure.

------------------------------------------------------------------------
r1153 | joe | 2007-02-05 10:09:27 +0000 (Mon, 05 Feb 2007) | 2 lines

* src/ne_locks.c (lk_pre_send): Terminate If header with CRLF not LF.

------------------------------------------------------------------------
r1152 | joe | 2007-01-26 00:00:59 +0000 (Fri, 26 Jan 2007) | 5 lines

Build fixes for SSPI code on MingW from Gisle Vanem:

* src/ne_sspi.c: Define SECURITY_ENTRYPOINT if missing.
(base64ToBuffer): Fix cast.

------------------------------------------------------------------------
r1132 | joe | 2007-01-11 22:12:58 +0000 (Thu, 11 Jan 2007) | 13 lines

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.

------------------------------------------------------------------------
r1131 | joe | 2007-01-11 21:33:14 +0000 (Thu, 11 Jan 2007) | 5 lines

* 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.

------------------------------------------------------------------------
r1130 | joe | 2007-01-09 11:24:54 +0000 (Tue, 09 Jan 2007) | 2 lines

* src/ne_auth.c (digest_challenge): Fix comment.

------------------------------------------------------------------------
r1129 | joe | 2007-01-06 14:27:18 +0000 (Sat, 06 Jan 2007) | 10 lines

* src/ne_auth.c (digest_challenge): Fix to fail correctly for invalid
case where stale=true is given with an initial challenge; fix to not
leak sess->nonce for a valid stale challenge.

* test/auth.c (struct digest_parms): Add stale field, enum value.
(make_digest_header): Send stale=true as appropriate.
(serve_digest): Adjust to serve challenges with stale=true.
(digest): Add test for stale=true handling.
(digest_failures): Add test for error stale=true failure case.

------------------------------------------------------------------------
r1128 | joe | 2007-01-05 11:07:32 +0000 (Fri, 05 Jan 2007) | 3 lines

* src/ne_request.c (ne_begin_request): Move call to lookup_host from here...
(open_connection): ...to here; and simplify slightly as a result.

------------------------------------------------------------------------
r1126 | joe | 2007-01-04 18:44:49 +0000 (Thu, 04 Jan 2007) | 13 lines

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.

------------------------------------------------------------------------
r1125 | joe | 2007-01-04 18:08:52 +0000 (Thu, 04 Jan 2007) | 3 lines

* test/auth.c (make_authinfo_header, digest_failures): Add test for
failure to parse the nc paramater in an A-I response header.

------------------------------------------------------------------------
r1124 | joe | 2007-01-03 22:13:05 +0000 (Wed, 03 Jan 2007) | 18 lines

Give descriptive error messages for multiple-challenge authentication
failures:

* src/ne_auth.c (struct auth_class): Add error_noauth field.
(struct auth_protocol): Pass errmsg buffers to challenge callback; 
specify error message location for verify callback.
(challenge_error): New function.
(get_credentials, basic_challenge, continue_negotiate,
negotiate_challenge, digest_challenge): Take errmsg buffer; use
challenge_error on failure.
(verify_negotiate_response): Create errmsg buffer, pass to
continue_negotiate, and set session error string on failure.
(auth_challenge): Create error buffer and build error message during
challenge parsing.

* test/auth.c (digest_failures): Adjust for new error string.
(fail_cb, fail_challenge): Add tests for challenge parse failures.

------------------------------------------------------------------------
r1123 | joe | 2006-12-29 23:34:09 +0000 (Fri, 29 Dec 2006) | 2 lines

* test/socket.c (connect_timeout): Remove redundant code.

------------------------------------------------------------------------
r1121 | joe | 2006-12-28 23:41:31 +0000 (Thu, 28 Dec 2006) | 3 lines

* src/ne_session.h (ne_ssl_set_clicert, ne_ssl_trust_cert): Clarify
lack of lifetime requirement for passed-in objects.

------------------------------------------------------------------------
r1120 | joe | 2006-12-28 23:19:57 +0000 (Thu, 28 Dec 2006) | 2 lines

* TODO: Remove features already added.

------------------------------------------------------------------------
r1119 | joe | 2006-12-28 23:12:18 +0000 (Thu, 28 Dec 2006) | 27 lines

Add support for configurable socket connect timeouts:

* src/ne_socket.h (ne_sock_connect_timeout): New function.
(ne_sock_connect): Clarify timeout handling.

* src/ne_socket.c: Define USE_NONBLOCKING_CONNECT if appropriate.
Define NE_ISINPROGRESS.
(struct ne_socket_s): Add cotimeout field.
(timed_connect): New function.
(connect_socket): Renamed from raw_connect; use timed_connect; takes
socket structure and sets ->error string on failure.
(ne_sock_connect): Adapt to use connect_socket.
(ne_sock_connect_timeout): New function.

* src/ne_private.h (struct ne_session_s): Add cotimeout field.

* src/ne_session.h (ne_set_connect_timeout): New prototype...

* src/ne_session.c (ne_set_connect_timeout): ...implement it.

* src/ne_request.c (do_connect): Set socket timeout if appropriate.

* macros/neon.m4 (LIBNEON_SOURCE_CHECKS): Check for fcntl, getsockopt,
fcntl.h and socklen_t.

* test/socket.c (connect_timeout): Add test (disabled by default).

------------------------------------------------------------------------
r1118 | joe | 2006-12-28 23:04:28 +0000 (Thu, 28 Dec 2006) | 3 lines

* src/ne_socket.c (raw_poll): Factor out from readable_raw.
(readable_raw): Use it.

------------------------------------------------------------------------
r1109 | joe | 2006-12-28 17:20:56 +0000 (Thu, 28 Dec 2006) | 5 lines

Merge r1106 from 0.25.x branch:

* macros/neon-test.m4 (NE_FORMAT_TIMET): Factor out.
(NEON_TEST): Use it.

------------------------------------------------------------------------
r1104 | joe | 2006-11-30 13:03:34 +0000 (Thu, 30 Nov 2006) | 3 lines

* test/request.c (fail_double_lookup, proxy_no_resolve): Use hostname
in the .invalid TLD, reserved by RFC2606.

------------------------------------------------------------------------
r1103 | joe | 2006-11-08 13:41:10 +0000 (Wed, 08 Nov 2006) | 3 lines

* test/socket.c (write_reset): Warn rather than fail for a failure
to elicit an RST.

------------------------------------------------------------------------
r1102 | joe | 2006-10-31 10:35:38 +0000 (Tue, 31 Oct 2006) | 2 lines

Note the reports about a GSSAPI problem.

------------------------------------------------------------------------
r1098 | joe | 2006-10-30 12:35:21 +0000 (Mon, 30 Oct 2006) | 7 lines

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.

------------------------------------------------------------------------
r1097 | joe | 2006-10-30 12:33:34 +0000 (Mon, 30 Oct 2006) | 2 lines

* src/ne_session.h: Remove trailing comma from new enum (Albert Chin).

------------------------------------------------------------------------
r1096 | joe | 2006-10-30 12:32:45 +0000 (Mon, 30 Oct 2006) | 2 lines

* src/ne_session.h: Docs clarification for new notification interface.

------------------------------------------------------------------------
r1095 | joe | 2006-10-24 21:32:50 +0100 (Tue, 24 Oct 2006) | 3 lines

* test/request.c (s_progress): Fix to use ne_off_t types and format
strings.

------------------------------------------------------------------------
r1094 | joe | 2006-10-24 21:26:15 +0100 (Tue, 24 Oct 2006) | 20 lines

Add add new type-safer notification/status API:

* src/ne_session.h (ne_notify_status): Redefine callback type,
passing pointer to ne_session_status_info structure.

* src/ne_request.c (notify_status): Invoke notify callback, and
progress callback as appropriate.
(send_request_body, ne_read_response_block, lookup_host,
ne_begin_request, do_connect): Adjust to set up and invoke
the notify callback.

* src/ne_openssl.c (ne__negotiate_ssl): Drop notify callback
invocation.

* src/ne_private.h (struct ne_session_s): Store status union.

* macros/neon.m4: Define NE_FMT_NE_OFF_T.

* test/request.c (status_cb, status): Add new test.

------------------------------------------------------------------------
r1093 | joe | 2006-10-24 20:45:01 +0100 (Tue, 24 Oct 2006) | 3 lines

* src/ne_auth.c (ah_post_send): Correctly test ->flags against
AUTH_FLAG_VERIFY_NON40x flag.

------------------------------------------------------------------------
r1092 | joe | 2006-10-24 20:40:09 +0100 (Tue, 24 Oct 2006) | 26 lines

Simplify LFS support, drop *64 transition functions:

* src/ne_defs.h: Add ne_off_t typedef.

* src/ne_request.h (ne_set_request_body_fd64,
ne_set_request_body_provider64): Removed.

(ne_set_request_body_fd, ne_set_request_body_provider):
Take ne_off_t arguments.

* src/ne_internal.h: Move LFS definitions here...

* src/ne_request.c: ...from here.
(ne_set_request_body_fd64, ne_set_request_body_provider64): Removed.
(ne_set_request_body_fd, ne_set_request_body_provider): Adjust for
ne_off_t arguments.

* src/ne_basic.h (ne_get_range64): Removed prototype.
(ne_content_range): Use ne_off_t offsets.

* src/ne_basic.c (ne_get_range64): Removed function.
(ne_get_range): Adjust for ne_off_t offsets.

* test/largefile.c (send_high_offset, read_large_response): Adjust to
use normal interfaces.  Save and restore debug mask.

------------------------------------------------------------------------
r1086 | joe | 2006-10-05 19:31:18 +0100 (Thu, 05 Oct 2006) | 9 lines

* 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.

------------------------------------------------------------------------
r1084 | joe | 2006-10-05 14:10:00 +0100 (Thu, 05 Oct 2006) | 7 lines

* 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.

------------------------------------------------------------------------
r1080 | joe | 2006-10-05 13:33:33 +0100 (Thu, 05 Oct 2006) | 3 lines

* macros/neon.m4 (NEON_I18N): Really disable i18n if libintl.h is not
detected.

------------------------------------------------------------------------
r1079 | joe | 2006-10-03 22:03:31 +0100 (Tue, 03 Oct 2006) | 2 lines

* test/request.c (fail_noheader): New regression test.

------------------------------------------------------------------------
r1078 | joe | 2006-10-03 21:31:28 +0100 (Tue, 03 Oct 2006) | 7 lines

Fix error reported for LOCK responses which lack a Lock-Token header:

* 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.

------------------------------------------------------------------------
r1077 | joe | 2006-09-26 10:35:46 +0100 (Tue, 26 Sep 2006) | 14 lines

* src/ne_xmlreq.h (ne_xml_dispatch_request): Update API semantics to
constrain media type of parsed responses.

* src/ne_xmlreq.c (media_type_is_xml): New function.
(ne_xml_dispatch_request): Use it; only parse 2xx responses with XML
media types.

* test/xmlreq.c (startelm): New function.
(success): Check XML is actually parsed.
(types): New test.

* test/lock.c (lock_timeout, lock_shared): Add content-type for XML
responses.

------------------------------------------------------------------------
r1076 | joe | 2006-09-26 10:18:09 +0100 (Tue, 26 Sep 2006) | 2 lines

* src/ne_request.c (ne_begin_request): Remove redundant test.

------------------------------------------------------------------------
r1075 | joe | 2006-09-26 10:13:42 +0100 (Tue, 26 Sep 2006) | 18 lines

Add new hook which runs after the headers have been read:

* src/ne_request.h (ne_post_headers_fn, ne_hook_post_headers): Add
type, prototype.

* src/ne_private.h (struct ne_session_s): Add post_headers_hooks
field.

* src/ne_request.c (ne_begin_request): Run post_headers hooks.

* src/ne_session.c (ne_session_destroy): Destroy post_headers hooks.
(ne_hook_post_headers, ne_unhook_post_headers): New functions.

* test/request.c (status_to_string): New function.
(hook_post_send): Use it.
(hook_post_headers): New function.
(hooks): Test post_headers hook.

------------------------------------------------------------------------
r1073 | joe | 2006-09-13 18:38:32 +0100 (Wed, 13 Sep 2006) | 2 lines

* macros/neon.m4 (NE_OS_MINGW): Update comment, thanks to Matthias Miller.

------------------------------------------------------------------------
r1072 | joe | 2006-09-12 22:04:31 +0100 (Tue, 12 Sep 2006) | 7 lines

Fix library detection on MinGW, based on patch by 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.

------------------------------------------------------------------------
r1071 | joe | 2006-09-12 21:54:17 +0100 (Tue, 12 Sep 2006) | 2 lines

* src/ne_uri.c (ne_path_lower): Avoid use of min() (Matthias Miller).

------------------------------------------------------------------------
r1070 | joe | 2006-09-12 19:51:28 +0100 (Tue, 12 Sep 2006) | 4 lines

* src/ne_acl.h (ne_acl_set): Take const entries array.

* src/ne_acl.c (ne_acl_set, acl_body): Likewise.

------------------------------------------------------------------------
r1069 | joe | 2006-09-12 18:38:57 +0100 (Tue, 12 Sep 2006) | 7 lines

Remove use of session-private interfaces in auth code:

* src/ne_auth.c: Drop ne_private.h #include.
(sspi_challenge) [HAVE_SSPI]: Use ne_fill_server_uri.
(auth_register) [HAVE_GSSAPI]: Use ne_fill_proxy_uri or
ne_fill_server_uri.

------------------------------------------------------------------------
r1068 | joe | 2006-09-12 18:36:41 +0100 (Tue, 12 Sep 2006) | 10 lines

Update for bleeding-edge OpenSSL thread-safety interfaces:

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

* src/ne_openssl.c (thread_id_neon): Update comments.
(ID_CALLBACK_IS_OTHER, ID_CALLBACK_IS_NEON): New macros.
(ne__ssl_init, ne__ssl_exit): Update to use avoid touching the
"id" callback if the idptr interfaces exist, since the default
will be sane.

------------------------------------------------------------------------
r1067 | joe | 2006-09-12 14:52:39 +0100 (Tue, 12 Sep 2006) | 2 lines

* src/ne_string.h (ne_strnzcpy): Avoid expanding argument twice.

------------------------------------------------------------------------
r1065 | joe | 2006-09-05 08:39:48 +0100 (Tue, 05 Sep 2006) | 4 lines

* src/ne_string.c (ascii_tolower): Use integer constants rather than
character constants to fix warnings with Sun cc; patch from Peter
O'Gorman.

------------------------------------------------------------------------
r1064 | joe | 2006-08-09 15:56:04 +0100 (Wed, 09 Aug 2006) | 2 lines

* config.hw.in: Fixes for newer SDKs; patch from Kiyo Kelvin Lee.

------------------------------------------------------------------------
r1063 | joe | 2006-08-09 15:54:51 +0100 (Wed, 09 Aug 2006) | 2 lines

* src/ne_sspi.c (resetContext): Fix build with older SDKs.

------------------------------------------------------------------------
r1062 | joe | 2006-08-09 15:49:12 +0100 (Wed, 09 Aug 2006) | 3 lines

* src/ne_sspi.c (ne_sspi_clear_context): Add missing return statement;
patch from Kiyo Kelvin Lee.

------------------------------------------------------------------------
r1058 | joe | 2006-07-17 12:52:11 +0100 (Mon, 17 Jul 2006) | 2 lines

* config.hw.in: Enable debugging for Win32 build.

------------------------------------------------------------------------
r1057 | joe | 2006-06-29 16:02:03 +0100 (Thu, 29 Jun 2006) | 7 lines

* src/ne_session.h (ne_fill_proxy_uri): New prototype.
(ne_fill_server_uri): Clarify.

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

* test/session.c (fill_proxy_uri): New test.

------------------------------------------------------------------------
r1056 | joe | 2006-06-29 15:44:37 +0100 (Thu, 29 Jun 2006) | 2 lines

* src/ne_auth.c (auth_session): Remove unused fields.

------------------------------------------------------------------------
r1055 | joe | 2006-06-26 12:25:20 +0100 (Mon, 26 Jun 2006) | 3 lines

* src/ne_openssl.c (ne__ssl_init): Call CRYPTO_malloc_init() first per
dev@apr discussion.

------------------------------------------------------------------------
r1054 | joe | 2006-06-26 11:01:29 +0100 (Mon, 26 Jun 2006) | 4 lines

* configure.in: Substitute NEON_PC_LIBS for neon.pc.

* neon.pc.in: Define Libs.Private; use only NEON_PC_LIBS in Libs.

------------------------------------------------------------------------
r1049 | joe | 2006-05-23 21:17:41 +0100 (Tue, 23 May 2006) | 6 lines

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.

------------------------------------------------------------------------
r1046 | joe | 2006-05-11 10:43:43 +0100 (Thu, 11 May 2006) | 1 line

* po/: make update-po.
------------------------------------------------------------------------
r1045 | joe | 2006-05-11 10:41:55 +0100 (Thu, 11 May 2006) | 3 lines

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

------------------------------------------------------------------------
r1044 | joe | 2006-05-09 08:02:43 +0100 (Tue, 09 May 2006) | 6 lines

Win32 build fixes from D.J. Heap:

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

------------------------------------------------------------------------
r1020 | joe | 2006-03-24 12:24:39 +0000 (Fri, 24 Mar 2006) | 2 lines

* test/run.sh: Don't limit virtual memory use.

------------------------------------------------------------------------
r1016 | joe | 2006-03-14 16:57:43 +0000 (Tue, 14 Mar 2006) | 3 lines

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

------------------------------------------------------------------------
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.

------------------------------------------------------------------------