"Fossies" - the Fresh Open Source Software Archive

Member "neon-0.31.2/NEWS" (20 Jun 2020, 66407 Bytes) of package /linux/www/neon-0.31.2.tar.gz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the latest Fossies "Diffs" side-by-side code changes report for "NEWS": 0.31.1_vs_0.31.2.

    1 Changes in release 0.31.2:
    2 * Fix ne_md5_read_ctx() with OpenSSL on big-endian architectures.
    3 * Fix GCC 10 warning in PKCS#11 build.
    4 * Fix OpenSSL build w/o deprecated APIs (Rosen Penev).
    5 * Fix unnecessary MD5 test for non-Digest auth (Sebastian Reschke).
    6 * Fix hang on SSL connection close with IIS (issue #11).
    7 * Fix ar, ranlib detection when cross-compiling (Sergei Trofimovich).
    8 
    9 Changes in release 0.31.1:
   10 * ADMIN: The neon website has moved to https://notroj.github.io/neon/
   11 * Restore ne_md5_read_ctx() in OpenSSL build.
   12 * Fix gcc warnings on Ubuntu (Jan-Marek Glogowski).
   13 * Fix various spelling mistakes in docs and headers (thanks to FOSSIES).
   14 * Fix ne_asctime_parse() (Eugenij-W).
   15 * Fix build with LibreSSL (Juan RP).
   16 
   17 Changes in release 0.31.0:
   18 * Interface changes:
   19  - none, API and ABI backwards-compatible with 0.27.x and later
   20 * New interfaces and features:
   21  - add more gcc "nonnull" attributes to ne_request_* functions.
   22  - for OpenSSL builds, ne_md5 code uses the OpenSSL implementation
   23  - add NE_SESSFLAG_SHAREPOINT session flag which enables workarounds
   24    for RFC non-compliance issues in Sharepoint (thanks to
   25    Jan-Marek Glogowski and Giuseppe Castagno)
   26  - ne_uri.h: add ne_path_escapef() in support of above
   27  - ne_207.h: add ne_207_set_flags() likewise in support of above
   28 * API clarification:
   29  - ne_version_match() behaviour now matches actual 0.27+ ABI history
   30 * Bug fixes:
   31  - fixes for OpenSSL 1.1.1 and TLSv1.3 support
   32  - fix crash with GnuTLS in client cert support (Henrik Holst)
   33  - fix possible crash in ne_set_request_flag()
   34  - fix build with libxml2 2.9.10 and later
   35  - fix handling lock timeouts >LONG_MAX (Giuseppe Castagno)
   36 
   37 Changes in release 0.30.2:
   38 * Add support for OpenSSL 1.1.x (Kurt Roeckx).
   39 * Fix PKCS#11 support under GnuTLS 3.x.
   40  - PKCS#11 API no longer supported with GnuTLS 2.x
   41 
   42 Changes in release 0.30.1:
   43 * Fix memory leak with GnuTLS (Werner Baumann, Patrick Ohly).
   44 * Fix possible crash after DNS lookup errors on Windows (Olivier Goffart).
   45 * Don't fail if the SSL cert changes between connections with OpenSSL,
   46   behaviour now matches that with GnuTLS.
   47 * Fix PKCS#11 support under OpenSSL with TLS 1.2.
   48 * Fix static linking with pkg-config file (Alan H).
   49 
   50 Changes in release 0.30.0:
   51 * Interface changes:
   52  - none, API and ABI backwards-compatible with 0.27.x and later
   53 * New interfaces and features:
   54  - ne_ssl.h: added ne_ssl_clicert_import, ne_ssl_context_get_flag
   55  - ne_session.h: added ne_set_addrlist2
   56  - ne_socket.h: added ne_addr_canonical
   57  - ne_auth.h: added NE_AUTH_GSSAPI_ONLY, NE_AUTH_SSPI (Nathanael Rensen)
   58  - ne_basic.h: added NE_CAP_EXT_MKCOL options test
   59  - ne_request.h: support chunked bodies with negative length passed to
   60    ne_set_request_body_provider (Julien Reichel)
   61 * Bug fixes:
   62  - ne_path_escape: fix excessive memory allocation (Pierre Crokaert)
   63  - SSPI auth: use canonical server hostname, clear SSPI context after
   64    successful auth (Nathanael Rensen)
   65  - build fixes for Open Watcom compiler (NormW)
   66  - fix Win32 error code handling for local ne_sock_prebind bind failure
   67  - Win32: support LFS, thread-safe OpenSSL (Diego Santa Cruz)
   68  - GnuTLS: fix GnuTLS 3.x support (Matthias Petschick, Bartosz Brachaczek)
   69 
   70 Changes in release 0.29.6:
   71 * Don't abort SSL handshake with GnuTLS if a client cert is requested
   72   but none is configured/available (thanks to Patrick Ohly)
   73 * Fix the method string passed to create_request hooks to have the same
   74   lifetime as the request object (Patrick Ohly)
   75 * Docs updates.
   76 
   77 Changes in release 0.29.5:
   78 * Fix GnuTLS handshakes failures with 'TLS warning alert' (Bryan Cain)
   79 * Further fix for SSPI support on Win32 (Danil Shopyrin)
   80 
   81 Changes in release 0.29.4:
   82 * Fix SNI support (Tobias Gruetzmacher)
   83 * Fix possible Solaris linker errors if building static library
   84 * Win32: Fix Kerberos authentication support with SSPI (Danil Shopyrin)
   85 * Fix error handling when pulling a request body from an file
   86   (thanks to Lou Montulli)
   87 * Fix ne_request_dispatch() return value for SOCKS proxy failure cases
   88 * Tighten SSL cert ID checks to deny a wildcard match against an IP address
   89 
   90 Changes in release 0.29.3:
   91 * Change ne_sock_close() to no longer wait for SSL closure alert:
   92  - fixes possible hang with IIS servers when closing SSL connection
   93  - this reverts the behaviour with OpenSSL to match 0.28.x, and
   94    changes the behaviour with GnuTLS to match that with OpenSSL
   95 * Fix memory leak with GnuTLS
   96 * API clarification in ne_sock_close():
   97  - SSL closure handling now documented
   98  - return value semantics fixed to describe the implementation
   99 
  100 Changes in release 0.29.2:
  101 * Fix spurious 'certificate verify failed' errors with OpenSSL (Tom C)
  102 * Fix unnecessary re-authentication with SSPI (Danil Shopyrin)
  103 
  104 Changes in release 0.29.1:
  105 * Fixes for (Unix) NTLM implementation:
  106  - fix handling of session timeout (Kai Sommerfeld)
  107  - fix possible crash (basic@mozdev.org)
  108 * Fix unnecessary re-authentication with SSPI (Danil Shopyrin)
  109 * Build fixes for Win32:
  110   - fix use of socklen_t with recent SDKs (Stefan Kung)
  111   - fix USE_GETADDRINFO on Win2K (Kai Sommerfeld)
  112 * Fix build with versions of GnuTLS older than 2.8.0.
  113 
  114 Changes in release 0.29.0:
  115 * Interface changes:
  116  - none, API and ABI backwards-compatible with 0.28.x and 0.27.x
  117 * New interfaces and features:
  118  - added NTLM auth support for Unix builds (Kai Sommerfeld, Daniel Stenberg)
  119  - ne_auth.h: added NE_AUTH_GSSAPI and NE_AUTH_NTLM auth protocol codes
  120  - added ne_acl3744.h, updated WebDAV ACL support (Henrik Holst)
  121  - added built-in SOCKS v4/v4a/v5 support: ne_socket.h:ne_sock_proxy(),       
  122    and ne_session.h:ne_session_socks_proxy()
  123  - added support for system-default proxies: ne_session_system_proxy(),
  124    implemented using libproxy where available
  125  - ne_session.h: added NE_SESSFLAG_EXPECT100 session flag, SSL verification
  126    failure bits extended by NE_SSL_BADCHAIN and NE_SSL_REVOKED, better 
  127    handling of failures within the cert chain (thanks to Ludwig Nussel)
  128  - ne_utils.h: added feature code NE_FEATURE_SYSPROXY
  129  - ne_socket.h: ne_sock_writev() (Julien Reichel), ne_sock_set_error(),
  130    ne_iaddr_raw(), ne_iaddr_parse()
  131  - ne_string.h: ne_buffer_qappend(), ne_strnqdup()
  132 * Deprecated interfaces:
  133  - ne_acl.h is obsoleted by ne_acl3744.h (but is still present)
  134  - obsolete feature "NE_FEATURE_SOCKS" now never marked present
  135 * Other changes:
  136  - fix handling of "stale" flag in RFC2069-style Digest auth challenge
  137  - ne_free() implemented as a function on Win32 (thanks to Helge Hess)
  138  - symbol versioning used for new symbols, where supported
  139  - ensure SSL connections are closed cleanly with OpenSSL
  140  - fix build with OpenSSL 1.0 beta
  141  - updated Polish (pl) translation (Arfrever Frehtes Taifersar Arahesis)
  142 
  143 Changes in release 0.28.6:
  144 * SECURITY (CVE-2009-2473): Fix "billion laughs" attack against expat;
  145   could allow a Denial of Service attack by a malicious server.
  146 * SECURITY (CVE-2009-2474): Fix handling of an embedded NUL byte in
  147   a certificate subject name with OpenSSL; could allow an undetected
  148   MITM attack against an SSL server if a trusted CA issues such a cert.
  149 
  150 Changes in release 0.28.5:
  151 * Enable support for X.509v1 CA certificates in GnuTLS.
  152 * Fix handling of EINTR in connect() calls.
  153 * Fix use of builds with SOCK_CLOEXEC support on older Linux kernels.
  154 
  155 Changes in release 0.28.4:
  156 * Fix ne_forget_auth (Kai Sommerfeld)
  157 * GnuTLS support fixes:
  158  - fix handling of PKCS#12 client certs with multiple certs or keys
  159  - fix crash with OpenPGP certificate
  160  - use pkg-config data in configure, in preference to libgnutls-config
  161 * Add PKCS#11 support for OpenSSL builds (where pakchois is available)
  162 * Fix small memory leak in PKCS#11 code.
  163 * Fix build on Haiku (scott mc)
  164 
  165 Changes in release 0.28.3:
  166 * SECURITY (CVE-2008-3746): Fix potential NULL pointer dereference in
  167   Digest domain parameter support; could allow a DoS by a malicious server
  168 * Fix parsing of *-Authenticate response header with LWS after quoted value
  169 * Fix ne_set_progress(, NULL, ) to match pre-0.27 behaviour (and not crash)
  170 * Fix to disable Nagle on Win32 with newer toolchain (thanks to Stefan KŁng)
  171 * Fix build on Netware (Guenter Knauf)
  172 * Document existing ne_uri_parse() API postcondition and ne_uri_resolve()
  173   pre/postconditions regarding the ->path field in ne_uri structures 
  174 * Mark ne_{,buffer_}concat with sentinel attribute for GCC >= 4.
  175 * Distinguish the error message for an SSL handshake which fails after a 
  176  client cert was requested.
  177 * Compile with PIC flags by default even for static library builds
  178 
  179 Changes in release 0.28.2:
  180 * Support "Proxy-Connection: Keep-Alive" for compatibility with HTTP/1.0
  181  proxies which require persistent connections for NTLM authentication
  182 * Fix an fd leak in ne_ssl_{,cli}cert_read (GnuTLS only)
  183 * Enable fast initialization in GnuTLS.
  184 
  185 Changes in release 0.28.1:
  186 * Fix Win32 build
  187 * Fix build on SCO OpenServer 5.0.x (thanks to Nico Kadel-Garcia)
  188 * Fix handling of Digest domain parameter values without a trailing slash
  189 * Fix build against apr-util's bundled libexpat.la in Subversion
  190 * Add --without-pakchois to configure (Arfrever Frehtes Taifersar Arahesis)
  191 * zh message catalog renamed to zh_CN, translation updated (Dongsheng Song)
  192 
  193 Changes in release 0.28.0:
  194 * Interface changes:
  195  - none, API and ABI backwards-compatible with 0.27.x
  196 * New interfaces:
  197  - ne_pkcs11.h: added basic PKCS#11 support (requires GnuTLS and pakchois)
  198  - ne_auth.h: added NE_AUTH_ALL and NE_AUTH_DEFAULT constants
  199  - ne_socket.h: added ne_sock_peer(), ne_sock_prebind(), ne_sock_cipher()
  200  - ne_session.h: NE_SESSFLAG_TLSSNI flag added; TLS SNI support is enabled
  201    by default, where supported; ne_set_localaddr() added
  202  - ne_request.h: added close_conn hooks (Robert J. van der Boon)
  203  - ne_basic.h: added ne_options2()
  204 * Other changes:
  205  - add Polish (pl) translation (Arfrever Frehtes Taifersar Arahesis)
  206  - add support for the 'domain' parameter in Digest authentication
  207  - fix fd leak in ne_sock_connect() error path (Andrew Teirney)
  208  - the FD_CLOEXEC flag is set on socket fds
  209  - fix timezone handling in ne_dates for more platforms (Alessandro Vesely)
  210  - fix ne_simple_propfind() to print XML namespaces in flat property values
  211  - fix ne_get_range() for unspecified end-range case (Henrik Holst)
  212  - fix ne_strclean() to be locale-independent and avoid possible Win32 crash
  213  - fix ne_get_error() to not "clean" localized error strings
  214  - fix ne_ssl_clicert_read() to fail for client certs missing cert or key
  215  - Win32: fix build with VS 2008 (Stefan Kueng)
  216  - Win32: fix neon.mak to not double-quote $(MAKE) (Henrik Holst)
  217  - improve strength of Digest cnonces in GnuTLS builds
  218 
  219 Changes in release 0.27.2:
  220 * Fix crash in GSSAPI Negotiate response header verification (regression
  221   since 0.26.x)
  222 
  223 Changes in release 0.27.1:
  224 * Fix regression in response progress counter for notifier/progress callbacks
  225 * Fix interface description for ne_set_notifier() callback; sr.total
  226   is set to -1 not 0 for an indeterminate response length
  227 
  228 Changes in release 0.27.0:
  229 * New interfaces:
  230  - ne_session.h: ne_fill_proxy_uri() retrieves configured proxy,
  231    ne_hook_post_headers() adds a hook after response headers are read,
  232    ne_set_connect_timeout() sets session connection timeout,
  233    NE_SESSFLAG_RFC4918, NE_SESSFLAG_CONNAUTH flags added
  234  - ne_socket.h: ne_sock_connect_timeout() sets connection timeout,
  235    ne_iaddr_reverse() performs reverse DNS lookup
  236  - ne_string.h: ne_buffer_snprintf() prints to a buffer object
  237  - ne_xml.h: ne_xml_resolve_nspace() resolves namespace prefixes
  238 * Interface changes:
  239  - ne_set_notifier() replaces ne_set_status(); finer-grained and type-safe
  240    connection status information now provided; obsoletes ne_set_progress()
  241  - ne_xml_dispatch_request() now only invokes the XML parser for 
  242    response entities with an XML content-type, following RFC 3023 rules
  243  - ne_acl_set() now takes a "const" entries array
  244  - LFS compatibility functions *64 removed: all functions taking an
  245    off_t now take an ne_off_t which is off64_t for LFS builds
  246 * GnuTLS support now mostly feature-complete with OpenSSL support:
  247  - greatly improved SSL distinguished name handling with GnuTLS >= 1.7.8
  248 * Other changes:
  249  - descriptive error messages for authentication failures
  250  - SSPI support uses canonical DNS server name (Yves Martin)
  251  - fixes for handling of "stale" parameter in Digest authentication
  252  - added support for URIs in SSL server certificate subjectAltName field
  253  - fix compiler warnings with expat 2.x
  254  - fix handling of "Transfer-Encoding: identity" responses from privoxy
  255 
  256 Changes in release 0.26.4:
  257 * Fix Negotiate Authentication-Info response header verification with GSSAPI
  258 * Fix multiple handlers with ne_add_{server,proxy}_auth (Werner Baumann)
  259 * Fix SSPI build with some versions of MinGW (Gisle Vanem)
  260 * Fix for SSPI segfault in response header verification (Mike DiCuccio)
  261 * Fix error strings for CONNECT SSL proxy tunnel request failure
  262 * Fix install-nls for VPATH builds (Hans Meine)
  263 * Fix use of unencrypted client certs with GnuTLS
  264 * Fix ne_lock* If: header insertion to use CRLF-terminated headers
  265 * Fix test suite failures on QNX by working around send() length limit
  266 * Fix handling of POSIX strerror_r failure case in ne_strerror
  267 * Fix alignment issues in test suite MD5 code
  268 
  269 Changes in release 0.26.3:
  270 * Fix buffer under-read in URI parser (Laszlo Boszormenyi, CVE-2007-0157)
  271 * Fix regression in handling of "attempt" argument passed to auth callbacks;
  272   ensure the value only increments for each invocation of the callback
  273 * Fix handling of "nextnonce" parameter in Digest authentication
  274 
  275 Changes in release 0.26.2:
  276 * Fix error reported for LOCK responses lacking a Lock-Token header.
  277 * Use Libs.private in neon.pc for newer versions of pkg-config.
  278 * Build fix for platforms without libintl.h.
  279 * Build fixes for MinGW. (Matthias Miller)
  280 * Build fix for h_errno detection on HP-UX 10. (Albert Chin)
  281 * Win32: enable debugging; build fixes with some SDKs. (Kiyo Kelvin Lee)
  282 
  283 Changes in release 0.26.1:
  284 * Build fixes for Win32 (D.J. Heap) and OS X.
  285 * Add Simplified Chinese translation (Dongsheng Song).
  286 
  287 Changes in release 0.26.0:
  288 * Added internationalization support:
  289  - ne_i18n.h exposes ne_i18n_init(), a process-global initializer
  290    which may be required for some applications
  291  - (partial) message catalogs for cs, de, fr, ja, nn, ru and tr
  292  - NE_FEATURE_I18N feature code added to indicate support
  293 * Added support for GnuTLS (thanks to Aleix Conchillo Flaque):
  294  - pass --with-ssl=gnutls to configure; GnuTLS >= 1.0.22 required
  295  - use --with-ca-bundle to specify a default SSL CA root bundle
  296  - some remaining issues with PKCS#12 certs in current GnuTLS releases,
  297    distinguished name handling is sub-standard relative to OpenSSL
  298 * Changes and additions to URI support:
  299  - ne_uri structure: add query, fragment fields; authinfo renamed
  300    to userinfo
  301  - ne_uri_parse() now takes a URI-reference as input rather than 
  302    the previous pseudo-URI syntax; the query and fragment components
  303    are now parsed out.  Many malformed URIs are now rejected
  304  - ne_uri_unparse() changed to respect the new fields
  305  - ne_uri_resolve(): new function; resolves relative URI references
  306  - ne_uri_copy(): new function, copies a URI structure
  307 * Changed results callbacks for ne_lock_discover, PROPFIND interfaces:
  308  - take URI as parsed ne_uri * structure rather than char *
  309 * Added functions which give control over authentication protocol use:
  310  - ne_add_server_auth(), ne_add_proxy_auth()
  311 * Added ne_unhook_* functions to remove hooks
  312 * Added ne_set_session_flags()/ne_get_session_flags() functions:
  313  - flags to disable persistent connection support, enable "ICY"
  314    protocol support, and to disable SSLv2 protocol support.
  315  - replaces ne_set_persist()
  316 * Added ne_set_request_flags()/ne_get_request_flags() functions:
  317  - flags to enable 100-continue support, mark requests as non-idempotent
  318  - replaces ne_set_request_expect100()
  319 * Change ne_md5.h interface to make struct ne_md5_ctx opaque:
  320  - added ne_md5_create_ctx(), ne_md5_destroy_ctx(), ne_md5_reset_ctx(),
  321    ne_md5_finish_ascii(); removed ne_md5_init_ctx()
  322  - fix alignment issues which could cause crashes in Digest code
  323 * Fixed ne_get_range(), added ne_get_range64() (thanks to Lennart Poettering)
  324 * Removed NE_FREE() macro from ne_alloc.h
  325 * Added ne_strcasecmp(), ne_strncasecmp(), ne_tolower() functions
  326   to ne_string.h - locale-independent string comparison
  327 * Changed ne_sock_init()/ne_sock_exit() such that ne_sock_exit() 
  328   only has effect once called an equal number of times to _init().
  329 * Added "--enable-threadsafe-ssl=posix" configure flag, to enable
  330   thread-safe SSL support using POSIX threads in OpenSSL/GnuTLS
  331  - NE_FEATURE_TS_SSL feature code added to indicate support
  332 * The manual is now licensed under the GPL rather than the GFDL
  333 
  334 Changes in release 0.25.5:
  335 * ne_ssl_clicert_decrypt(): catch and fail to load a client cert
  336   with mismatched key/cert pair.
  337 * Fix build issue on AIX 5.1.
  338 * Fix warnings if built against OpenSSL >= 0.9.8.
  339 * Win32: fix issues in SSPI implementation (Stefan KŁng).
  340 
  341 Changes in release 0.25.4:
  342 * GSSAPI fixes for non-MIT implementations (Mikhail Teterin).
  343 * Fix ne_print_request_header() et al to use 8K buffer size on all
  344  platforms (fixes issue with long Destination: URLs on Win32).
  345 * Win32 build fix for !USE_GETADDRINFO configuration.
  346 * Documentation updates.
  347 
  348 Changes in release 0.25.3:
  349 * ne_lock() and ne_unlock(): fix cases where NE_ERROR would be returned 
  350   instead of e.g. NE_AUTH on auth failure.
  351 * Prevent use of poll() on Darwin.
  352 * Fix gethostbyname-based resolver on LP64 platforms (Matthew Sanderson).
  353 
  354 Changes in release 0.25.2:
  355 * Really fix the Win32 build.
  356 
  357 Changes in release 0.25.1:
  358 * ne_get_content_type(): fix cases where the charset field was not set
  359   to NULL after successful return (Johannes Schneider)
  360 * Compressed response handling fixes:
  361  - fix double invocation of reader callback with len=0
  362  - fix cases where the reader callback return value was ignored
  363 * Cache the new SSL session if the old one was expired (Robert Eiglmaier)
  364 * Win32: fix build issues.
  365 
  366 Changes in release 0.25.0:
  367 * New interfaces:
  368  - ne_get_response_header() replaces ne_add_response_header_handler
  369  - ne_read_response_to_fd() and ne_discard_response() for use with
  370    ne_begin_request/ne_end_request style response handling
  371  - ne_xmlreq.h: ne_xml_parse_response() and ne_xml_dispatch_request()
  372  - ne_has_support() for feature detection, replaces ne_support_ssl()
  373  - ne_set_addrlist() can be used to bypass normal DNS hostname resolver
  374  - ne_buffer_czappend(), convenience wrapper for ne_buffer_append.
  375  - ne_iaddr_typeof() returns type of a socket object
  376  - ne_get_content_type() replaces ne_content_type_handler()
  377  - ne_set_request_expect100() replaces ne_set_expect100()
  378 * New interfaces on LFS systems for large file support:
  379  - ne_set_request_body_fd64() call for using an fd opened using O_LARGEFILE
  380  - ne_set_request_body_provider64(), takes an off64_t length argument
  381 * Interface changes:
  382  - ne_set_request_body_fd takes offset and length arguments and returns void
  383  - ne_set_request_body_provider takes length as off_t rather than size_t;
  384    provider callbacks now MUST set session error string if returning an error
  385  - response body reader callback returns an integer and can abort the response
  386  - ne_decompress_destroy() returns void; errors are caught earlier
  387  - ne_xml_failed() replaces ne_xml_valid(), with different return value logic
  388  - ne_xml_parse() can return an error; ne_xml_parse_v() aborts the response if 
  389    the parse either fails or is aborted by a handler returning NE_XML_ABORT
  390  - ne_path_escape() now escapes all but unreserved characters
  391  - ne_ssl_clicert_name() and ne_ssl_cert_identity() clarified to return UTF-8
  392  - ne_ssl_clicert_name() clicert object argument is now const
  393  - ne_uri_parse()/ne_uri_free() memory handling clarified
  394  - removed the buffer length requirement for ne_read_response_block()
  395 * Bug fixes:
  396  - properly handle multiple Authentication challenges per request
  397  - fixes and improvements to the Negotiate auth implementation
  398  - handle proxies which send a 401 auth challenge to a CONNECT request
  399  - XML: handle the UTF-8 BOM even if the underlying parser does not
  400  - Win32: Fix timezone handling (Jiang Lei)
  401  - ne_lock_refresh() works and will update timeout of passed-in lock
  402  - persistent connection timeout handling fixes for CygWin et al
  403  - impose hard limit of 1024 props per resource in ne_props.h response parsing
  404 * New platform-specific features:
  405  - Win32: Negotiate/NTLM support using SSPI (Vladimir Berezniker)
  406  - Win32: Add IPv6 support using ENABLE_IPV6 neon.mak flag (Kai Sommerfeld)
  407 * Removed features:
  408  - the cookies interface has been removed
  409  - removed functions: ne_service_lookup(), ne_put_if_unmodified()
  410  - "qop=auth-int" support removed from Digest auth implementation
  411 * Default XML parser search changed to check for expat before libxml2.
  412 
  413 Changes in release 0.24.7:
  414 * Compression interface fixes:
  415  - fix issues handling content decoding and request retries from
  416  authentication challenges (Justin Erenkrantz)
  417  - fix places where reader callback would receive spurious size=0 calls
  418  - fix to pass user-supplied userdata to user-supplied acceptance callback
  419 * Fix for RFC2617-style digest authentication (Hideaki Takahashi).
  420 * Fix to pick up gethostbyname() on QNX 6.2.
  421 
  422 Changes in release 0.24.6:
  423 * SECURITY (CVE CAN-2004-0398): Fix sscanf overflow in ne_rfc1036_parse,
  424  thanks to Stefan Esser.
  425 * Link libneon against libexpat during Subversion build using bundled neon.
  426 * Win32 build script update (Jon Foster).
  427 
  428 Changes in release 0.24.5:
  429 * SECURITY (CVE CAN-2004-0179): Fix format string vulnerabilities in
  430  XML/207 response handling, reported by greuff@void.at.
  431 * Performance fix: avoid seeding the SSL PRNG if not creating an SSL socket.
  432 * ne_ssl_readable_dname() is now defined to return UTF-8 strings.
  433 * Fix case where gssapi/gssapi_generic.h was included but not present.
  434 * Fix ne_utils.c build on platforms where zlib does "#define const".
  435 * Fix use of ne_proppatch_operation with some C++ compilers.
  436 * Update libtool for fix to --enable-shared on Darwin.
  437 * BeOS: check for gethostbyname in -lbind (David Reid).
  438 
  439 Changes in release 0.24.4:
  440 * Ignore unclean SSL closure when response body is delimited by EOF
  441  ("Could not read response body: Secure connection truncated" errors
  442  with some buggy SSL servers).
  443 * Fix test/ssl.c syntax errors with C89 compilers (Radu Greab).
  444 
  445 Changes in release 0.24.3:
  446 * Respect configure's --datadir argument (Max Bowsher).
  447 * Fix build on Windows when OpenSSL is not used.
  448 * Fix use of SSLv2 (spurious "Server did not present certificate" error).
  449 * When using SSL via a proxy, prevent leaking server auth credentials
  450  to the proxy, or proxy auth credentials to the server.
  451 
  452 Changes in release 0.24.2:
  453 * Fix name resolver with some old versions of glibc.
  454 * Fix problems with configure's "time_t format string" detection.
  455 * Fix problems when a broken Kerberos installation is found.
  456 * When verifying SSL certificates, check iPaddress names in the
  457  subjectAltName extension.
  458 
  459 Changes in release 0.24.1:
  460 * Add support for "GSS-Negotiate" Kerberos authentication scheme (from
  461  Risko Gergely and Burjan Gabor).
  462 * Disable Nagle to improve performance of small requests (thanks to
  463  Jim Whitehead and Teng Xu).
  464 * Fix compatibility with OpenSSL 0.9.6 (broken in 0.24.0).
  465 * Fix prototype mismatch in ne_207.c.
  466 * Define ssize_t from ne_request.h for Win32.
  467 * Prevent segfault on zlib initialization failures.
  468 * ne_sock_init does not fail if PRNG could not be seeded.
  469 * Fix segfault in cookies code (Markus Mueller).
  470 * Documentation updates.
  471 
  472 Changes in release 0.24.0:
  473 * Major changes to XML interface:
  474  - have the start-element callback either accept, decline, abort, 
  475  or return a state integer.
  476  - remove 'struct ne_xml_elm'; callbacks are passed {nspace, name}
  477  strings along with a state integer.
  478  - dropped "collect", "strip-leading-whitespace" modes
  479  - push responsibility for accumulating cdata onto caller; drop 'cdata'
  480  argument from end-element callback.
  481  - don't abort if no handler accepts a particular element, just ignore
  482  that branch of the tree.
  483  - dropped support for libxml 1.x and expat < 1.95.0.
  484  - guarantee that start_element callback is not passed attrs=NULL
  485  - add ne_xml_doc_encoding() to retrieve encoding of parsed XML document.
  486 * Major changes to SSL interface:
  487  - rewrite of interfaces for handling server and client certificates;
  488  ne_ssl.h: many new functions available.
  489  - only PKCS#12-encoded client certs are supported.
  490  - changes to most names of SSL-related functions operating on an
  491  ne_session, e.g. ne_ssl_load_cert->ne_ssl_trust_cert.
  492  - client cert provider callback is passed the set of acceptable CA
  493  names sent by the server
  494  - the entire chain of certs presented by server is now accessible
  495 * Remove unused ne_register_progress() from socket layer.
  496 * Changes to resolver interface: ne_addr_first and _next return const;
  497  ne_addr_print renamed to ne_iaddr_print; ne_iaddr_make and ne_iaddr_free
  498  have been added.
  499 * ne_request_create() now duplicates the method string passed in.
  500 * ne_redirect_location() will now return NULL in some cases.
  501 * Split socket creation to ne_sock_create() from ne_sock_connect:
  502  - should report connect() error messages properly on Win32.
  503 * Fix several memory leaks in error handling paths.
  504 * Add a pkg-config file, neon.pc.in.
  505 
  506 Changes in release 0.23.9:
  507 * Fix inability to connect on AIX 4.3.
  508 * neon-config exports includes needed for OpenSSL given by pkg-config.
  509 * ne_redirect_location will return NULL if redirect hooks have not
  510  been registered for the session (Ralf Mattes <rm@fabula.de>).
  511 
  512 Changes in release 0.23.8:
  513 * SECURITY: Prevent control characters from being included in the
  514  reason_phrase field filled in by ne_parse_statusline(), and in
  515  the session error string.
  516 * Disable getaddrinfo() support on HP-UX; fix resolver for HP-UX 11.11.
  517 * Fix digest auth response verification for >9 responses in session
  518  (bug manifests as "Server was not authenticated correctly" error).
  519 * On Linux, skip slow lookup for IPv6 addresses when IPv6 support is
  520  not loaded in kernel (thanks to Daniel Stenberg for this technique).
  521 * Update to autoconf 2.57 and libtool 1.4.3.
  522 
  523 Changes in release 0.23.7:
  524 * Fix for handling EINTR during write() call (Sergey N Ushakov).
  525 * When available, use pkg-config to determine compiler flags needed to 
  526  use OpenSSL headers and libraries.
  527 
  528 Changes in release 0.23.6:
  529 * Fixes for error handling in socket layer on Win32 from Johan Lindh
  530  and Sergey N Ushakov <ushakov@int.com.ru>:
  531  - meaningful error messages rather than "No error"
  532  - handle persistent connection timeouts properly
  533 * Fix to use RFC2617-style digest auth when possible (had reverted to 
  534  only using RFC2068-style in 0.16.1).
  535 * Fix NULL pointer dereference on certain ill-formed PROPFIND responses.
  536 * Allow ne_sock_init to re-initialize after ne_sock_finish has been called
  537  (Sergey N Ushakov).
  538 
  539 Changes in release 0.23.5:
  540 * Fix rejection of SSL server certificates which had commonName as
  541  the least specific attribute in the subject name.
  542 * Fix to dereference entities (e.g. "&amp;") in attribute values with libxml.
  543 * Fix ne_socket.c build on HP-UX 10.20 (thanks to Branko »ibej)
  544 * Remove misguided insistence on "secure" versions of zlib/OpenSSL;
  545  no checks for zlib version are now performed, only OpenSSL 0.9.6 is
  546  required.  --with-force-ssl, --with-force-zlib option removed.
  547 * Add --with-egd[=PATH] option, conditionally enable EGD support; either 
  548  using EGD socket at PATH, or fall back on system defaults.  $EGDSOCKET 
  549  and $HOME/.entropy are no longer used.
  550 * Add support for `--la-file' argument to neon-config, which prints the
  551  full path of the installed libneon.la file.
  552 
  553 Changes in release 0.23.4:
  554 * Ignore an unclean SSL shutdown on persistent connection timeout
  555  (fixing spurious "Secure connection truncated" errors).
  556 * Fix a segfault on second and subsequent requests using a given
  557  session, when the first fails with NE_LOOKUP.
  558 * Fix configure for gcc installations which produce warnings by default
  559  (such as gcc on hppa2.0n-hp-hpux11.00 using native as)
  560 
  561 Changes in release 0.23.3:
  562 * Further build fixes for Win32 (Blair Zajac).
  563 * Another fix for use of SSL against Tomcat 3.2.
  564 
  565 Changes in release 0.23.2:
  566 * Build fix for Win32 (Blair Zajac).
  567 
  568 Changes in release 0.23.1:
  569 * Identify as correct version, not 0.22.
  570 
  571 Changes in release 0.23.0:
  572 * Improved address resolver (ne_addr_*) replacing ne_name_lookup():
  573  - use getaddrinfo() if found; include support for IPv6 (based on work
  574  by Noriaki Takamiya <takamiya@po.ntts.co.jp>)
  575 * For a hostname with multiple addresses, each address is tried in turn
  576  until a connection is made.
  577 * Support for seeding OpenSSL's PRNG via $EGDSOCKET or $HOME/.entropy,
  578  to enable SSL on platforms which lack a /dev/random device.
  579 * RFC2818 compliance for certificate identity checks in SSL:
  580  - use `dNSname' values in subjectAltName extension if present
  581  - hostname comparison fixed to not be case-sensitive
  582 * Fix interop with buggy SSL implementation in Tomcat 3.2.
  583 * Added NE_DBG_SSL debug channel.
  584 * ne_strerror changed to return the passed-in buffer.
  585 * Added ne_strnzcpy macro to ne_string.h.
  586 * Win32 build fixes, improvements, and documentation updates, from 
  587  Blair Zajac <blair@orcaware.com>.
  588 * Fix ne_sock_init so SIGPIPE signals are ignored even if SSL library
  589  initialization fails (e.g. platforms without /dev/random).
  590 * Added reference documentation:
  591  - ne_sock_init, ne_addr_*.
  592 
  593 Changes in release 0.22.0:
  594 * Remove the const qualifier from the reason_phrase field in ne_status.
  595  - ne_parse_statusline() now strdup's the reason_phrase
  596 * Remove the status_line argument from ne_207_end_propstat and _end_response
  597 * Change ne_session_create, ne_session_proxy, ne_sock_connect, and the 
  598  'port' field of the ne_uri structure to use an unsigned int for port numbers
  599 * ne_uri_defaultport returns unsigned and '0' on an unknown port (not -1).
  600 * Changes to hooks interface:
  601  - pass an ne_request pointer to per-request hooks
  602  - replace "accessor" hooks with ne_{get,set}_{request,session}_private
  603 * Authentication changes:
  604  - the hooks changes fix a segfault if auth is enabled for an SSL session
  605  through a proxy server
  606  - fix ne_forget_auth segfault if either proxy or server auth are not used
  607 * Improvements to persistent connection retry logic and error handling 
  608  in request code; fixing some cases where some errors where incorrectly
  609  treated as a persistent connection timeout
  610  - a TCP RST at the appropriate time is now treated as a persistent 
  611  connection timeout.
  612  - handle persistent connection timeouts on SSL connections
  613 * Changes to SSL support:
  614  - improved error handling
  615  - OpenSSL 0.9.6f or later is required for security fixes and functional
  616  correctness; 0.9.6 or later required for functional correctness
  617  - use --with-force-ssl to override OpenSSL version check
  618  - fix for proxy CONNECT tunnelling with some proxies (e.g. Traffic-Server)
  619  - fix potential segfault if client cert. provider callback is used
  620  - fix to use supplied password callback for PEM-encoded client certificates
  621  (Daniel Berlin <dberlin@dberlin.org>)
  622 * strerror_r is used if available for thread-safe error handling.
  623 * Remove ne_read_file().
  624 * ne_version_match replaces ne_version_minimum (semantics changed slightly).
  625 * XML request bodies use a content-type of "application/xml" now; 
  626  applications can use NE_XML_MEDIA_TYPE from ne_xml.h
  627 * Fix decompress code on big-endian or 64-bit platforms.
  628 * Fix to build on Darwin 6 (aka Mac OS X 10.2) (Wilfredo SŠnchez,
  629  <wsanchez@mit.edu>)
  630 * Win32 changes:
  631  - remove conflict between OpenSSL's X509_NAME and recent versions of
  632  the Platform SDK (Branko »ibej)
  633  - fix inverted debug/non-debug build logic (Branko »ibej)
  634  - add NODAV and OPENSSL_STATIC flags to neon.mak (Gerald Richter)
  635 
  636 Changes in release 0.21.3:
  637 * Fix segfault if using proxy server with SSL session and server
  638  certificate verification fails.
  639 * Fix leak of proxy hostname once per session (if a proxy is used).
  640 * Add --with-libs configure argument; e.g. --with-libs=/usr/local picks
  641  up any support libraries in /usr/local/{lib,include}
  642 
  643 Changes in release 0.21.2:
  644 * Fix 'make install' for VPATH builds.
  645 * Use $(mandir) for installing man pages (Rodney Dawes).
  646 * Follow some simple (yet illegal) relativeURI redirects.
  647 * Always build ne_compress.obj in Win32 build (Branko »ibej).
  648 * Fix decompression logic bug (Justin Erenkrantz <jerenkrantz@apache.org>)
  649  (could give a decompress failure for particular responses)
  650 * Fix ne_proppatch() to submit lock tokens for available locks.
  651 * More optimisation of ne_sock_readline.
  652 
  653 Changes in release 0.21.1:
  654 * Don't include default SSL port in Host request header, which can
  655  help interoperability with misbehaving servers (thanks to Rodney Dawes
  656  <dobey@ximian.com>).
  657 * Don't give a "truncated response" error from ne_decompress_destroy if
  658  the acceptance function returns non-zero.
  659 * Fix for Win32 build (Sander Striker <striker@apache.org>).
  660 * Fix for cookie name/value being free()d (thanks to Dan Mullen).
  661 * Optimisation of ne_sock_readline.
  662 
  663 Changes in release 0.21.0:
  664 * Socket layer implements read buffering; efficiency and performance 
  665  improvement. Based on work by Jeff Johnson <jbj@redhat.com>
  666 * Cleanup of socket interface:
  667  - renamed everything, s/sock_/ne_sock_/, s/SOCK_/NE_SOCK_/
  668  - removed unused and inappropriate interfaces.
  669  - renaming done by Olof Oberg <mill@pedgr571.sn.umu.se>
  670  - see src/ChangeLog for the gory details.
  671 * Fix typoed 'ne_destroy_fn' typedef (Olof Oberg).
  672 * Support OpenSSL/ENGINE branch.
  673 * Bogus ne_utf8_encode/decode functions removed.
  674 * ne_base64() moved to ne_string.[ch].
  675 * ne_token drops 'quotes' parameter; ne_qtoken added.
  676 * ne_buffer_create_sized renamed to ne_buffer_ncreate.
  677 * ne_xml_get_attr takes extra arguments and can resolve namespaces.
  678 * ne_accept_response function type takes const ne_status pointer.
  679 * Drop support for automatically following redirects:
  680  - ne_redirect_register just takes a session pointer
  681  - ne_redirect_location returns an ne_uri pointer
  682 * configure changes: --with-ssl and --with-socks no longer take a directory
  683  argument.  To use SOCKS or SSL libraries/headers in non-system locations, 
  684  use ./configure CPPFLAGS=-I/... LDFLAGS=-L/... 
  685 * Reference documentation included for most of ne_alloc.h and ne_string.h,
  686  and parts of ne_session.h and ne_request.h.
  687  - see installed man pages, HTML documentation.
  688 
  689 Changes in release 0.20.0:
  690 * Major changes to DAV lock handling interface (ne_locks.h):
  691  - struct ne_lock uses a full URI structure to identify locked resource
  692  - ne_lock() requires that owner/token fields are malloc-allocated (or NULL)
  693  on entry
  694  - introduce a "lock store" type, ne_lock_store, to replace the lock session;
  695  accessor functions all renamed to ne_lockstore_*.
  696  - ne_lock_iterate replaced with a first/next "cursor"-style interface
  697  - If: headers use an absoluteURI (RFC2518 compliance fix).
  698  - fix for handling shared locks on DAV servers which return many active locks
  699  in the LOCK response (thanks to Keith Wannamaker)
  700 * Moved URI/path manipulation functions under ne_* namespace (ne_uri.h):
  701  - path handling functions renamed to ne_path_*
  702  - URI structure handling to ne_uri_*; struct uri becomes ne_uri.
  703  - ne_uri_parse doesn't take a 'defaults' parameter any more
  704  - if URI port is unspecified, ne_uri_parse sets port to 0 not -1.
  705  - added ne_uri_unparse and ne_uri_defaultport functions.
  706 * New 'ne_fill_server_uri' function to initialize a URI structure with
  707  the server details for a given session (useful with locks interface).
  708 * ne_decompress_{reader,destroy} are defined as passthrough-functions
  709  if zlib support is not enabled.
  710 * API change: ne_ssl_provide_fn returns void not int.
  711 * Added NE_SSL_FAILMASK for verify failure sanity check.
  712 * Removed return codes NE_SERVERAUTH and and NE_AUTHPROXY; correct
  713  documentation, NE_PROXYAUTH is given for proxy auth failure.
  714 * Require zlib >= 1.1.4 to avoid possible vulnerability in earlier versions.
  715  See http://www.gzip.org/zlib/advisory-2002-03-11.txt for more details.
  716  (version check can be skipped by passing --with-force-zlib to configure)
  717 * New 'ne_ssl_readable_dname' function to create a human-readable string
  718  from an X509 distinguished name.
  719 * Fix support for newer versions of libxml2 (thanks to Jon Trowbridge 
  720  <trow@gnu.org>).
  721 * Fix corruption of reason_phrase in status object returned by
  722  ne_propset_status.
  723 * More lenient handling of whitespace in response headers.
  724 * ne_content_type_handler will give a charset of "ISO-8859-1" if no charset
  725  parameter is specified for a text/* media type (as per RFC2616).
  726 * Miscellaneous cleanups and fixes (Jeff Johnson <jbj@redhat.com>).
  727 
  728 Changes in release 0.19.4:
  729 * Support bundled build of expat 1.95.x (Branko »ibej).
  730 
  731 Changes in release 0.19.3:
  732 * For platforms lacking snprintf or vsnprintf in libc, require trio.
  733 * Add NE_FMT_OFF_T to fix Win32 build (Dan Berlin, Branko »ibej).
  734 * Fix SSL support in Win32 build (Branko »ibej).
  735 
  736 Changes in release 0.19.2:
  737 * Fix non-SSL build broken in 0.19.1.
  738 * Working SOCKSv5 support (thanks to Torsten Kalix <torsten.kalix@bredex.de>)
  739 
  740 Changes in release 0.19.1:
  741 * Add missing stubs for ne_ssl_* functions for non-SSL build.
  742 * Fix some error messages in new SSL code.
  743 
  744 Changes in release 0.19.0:
  745 * Major API change: ne_session_create now takes (scheme, hostname, port) 
  746  arguments: a session is clarified to be "a group of requests to a
  747  certain server".
  748  - removal of ne_session_server, ne_set_secure, and ne_set_proxy_decider
  749  - ne_session_proxy returns void.
  750  - DNS lookups are delayed until request dispatch time.
  751 * Significant improvements to TLS/SSL support:
  752  - SSL is enabled if scheme passed to ne_session_create is "https"
  753  - new interfaces to load CA certs and to load SSL library's bundled CA certs
  754  - add server cert verification callback.  An SSL connection to a server
  755  with an unknown CA will now fail unless a verification callback is used.
  756  - enable SSL session caching (performance improvement)
  757  - support for wildcard server certs where commonName is "*.example.com".
  758  - thanks to Tommi Komulainen for the contribution of code from mutt's
  759  IMAP/SSL implementation under the LGPL, from which bits of this were derived.
  760 * Improved SSL client certificate support:
  761  - far simpler interface, all done at ne_session.h level.
  762  - supports PKCS#12 and PEM-encoded certificates.
  763  - optional callback for only providing client when demanded by server.
  764 * Support for TLS upgrade is removed, since it isn't useful.
  765 * If NEON_SSL is defined, API extensions are available to:
  766  - allow access to the SSL_CTX * to adjust session SSL options
  767  - retrieve the server certificate (X509 *)
  768 * Decompress fixes:
  769  - fix potential segfault in ne_decompress_destroy
  770  - check the CRC of the deflated output (and fail if it doesn't match)
  771  - fail appropriately on truncated responses, and trailing bytes in response. 
  772 * Added ne_set_read_timeout to use configurable timeout on socket reads.
  773 * Malformed response headers will be ignored rather than failing the request.
  774 * ne_set_error takes printf-style vararg.
  775 * Fixes for ne_get_range and improve error handling. 
  776 * Functions which append to an ne_buffer do not return a success value,
  777  but they do use ne_realloc/ne_malloc under the hood now, so an OOM callback
  778  will be used (with the usual caveats).
  779 * XML interface does not strip leading whitespace from cdata by default,
  780  the NE_XML_STRIPWS flag is available to restore this feature if required.
  781 * Upgraded to libtool 1.4.2:
  782  - should fix --enable-shared on Mac OS X 10.1
  783 * Test suite now contains over one hundred tests.
  784 
  785 Changes in release 0.18.5:
  786 * Removed old neon.dsp, neon.dsw.
  787 * Update Win32 build to add OpenSSL and zlib support (Branko »ibej).
  788 * Fix ne_compress.c to compile on Win32 (Branko »ibej).
  789 
  790 Changes in release 0.18.4:
  791 * Fixes for Content-Type parsing using ne_content_type_handler (Greg Stein)
  792  - also now parses the charset parameter from header value.
  793 * Removed ne_concat() function, which didn't work and wasn't used.
  794 
  795 Changes in release 0.18.3:
  796 * Fix parsing lock timeout from server (Arun Garg).
  797 * Send Timeout headers in LOCK and refresh LOCK requests (Arun Garg).
  798 * Updated neon.mak and config.hw.in for Win32 build (patch from
  799  Branko »ibej <brane@xbc.nu>).
  800 * Define XML_BYTE_ORDER for bundled expat build in support macro
  801  NEON_XML_PARSER().
  802 
  803 Changes in release 0.18.2:
  804 * Fix --with-neon=PATH in support macros.
  805 * Support DESTDIR in Makefile install targets (patch by
  806  Pawel Golaszewski <blues@blysk.ds.pg.gda.pl>).
  807 * Portability fixes:
  808  - fix configure check for time_t on some platforms (e.g Solaris 2.6).
  809  - remove expect100_works bitfield in ne_session structure (thanks to 
  810  Yan Periard <yperiard@ems.net>).
  811 
  812 Changes in release 0.18.1:
  813 * Minor fix for authentication: "attempt" counter was not reset correctly
  814  after authentication failed, so subsequent requests would not authenticate
  815  correctly either.
  816 * API change: ne_session_destroy returns void (there was no error case).
  817 * Portability fixes (non-GCC compilers, 64-bit platforms, UnixWare 7)
  818 * Optimisations in string manipulation routines.
  819 * config.hw is included in the release tarball again.
  820 * Improvements in the autoconf support macros:
  821  - check for neon-config in PATH if --with-neon is not given
  822  - stop if --with-neon is used, and the check for external neon fails
  823  - added NEON_WITHOUT_ACL to prevent build of ne_acl.o
  824 
  825 Changes in release 0.18.0:
  826 * API change: authentication callback is passed fixed-size username/password
  827  buffers, and an 'attempt' counter.  Authentication is retried *forever*
  828  until either it succeeds, or the callback returns non-zero.
  829 * API clarifications:
  830  - ne_propname may have a NULL nspace field, indicating the property has no 
  831  namespace.  This holds for properties returned by the propfind interfaces.
  832  - added NE_ELM_PROPS_UNUSED as the lowest element number which should
  833  be used with handlers added to the XML parser returned by 
  834  ne_propfind_get_parser.
  835 * Fixes and cleanups of lock discovery interface.
  836 * Fix for short write handling in ne_get() (thanks to rado <dzusto@yahoo.com>).
  837 * Fix for XML namespace prefix handling where a prefix could be mapped to an 
  838  incorrect URI (e.g. in PROPFINDs against mod_dav with >10 namespaces used)
  839 * Add '--support <feature>' option to neon-config; the script exits with
  840  success if given feature is supported. Known features are ssl, dav, zlib.
  841 * Support for SSL, DAV, zlib is exported by neon.m4 as shell variable 
  842  NEON_SUPPORTS_{SSL,DAV,ZLIB}={yes,no} for bundled and external builds.
  843 * `neon-config --cflags` won't include -I/usr/include for SSL build.
  844 * Fix to call progress callbacks while sending request bodies again.
  845 * Test changes:
  846  - portability fixes, auth interface and progress tests.
  847 
  848 Changes in release 0.17.2:
  849 * Accept Status-Lines with no reason phrase (Jeremy Elson).
  850 * Fix handling of persistent connection timeout, and better error
  851  handling if sending a request fails.
  852 * Fix crashes in locking code.
  853 * Return parse error on XML namespace prefix declaration with
  854  an empty value. Thanks to Julian Reschke.
  855 * Allow passing property names with NULL namespace to ne_proppatch.
  856 * Fix for cross-compilation (Mo DeJong).
  857 * Moved ne_propname definition from ne_207.h to ne_props.h.
  858 * Test changes:
  859  - updated for Status-Line parsing changes (Jeremy Elson)
  860  - better persistent connection tests
  861  - fixed for --disable-webdav build
  862 
  863 Changes in release 0.17.1:
  864 * Add support for ACL method (Arun Garg <arung@pspl.co.in>),
  865  see ne_acl.h.
  866 * Fixes and clean up of libraries exported via `neon-config --libs'
  867 * Fix timezone handling when parsing dates (on some platforms).
  868 * Upgrade to autoconf 2.52 and libtool 1.4 (thanks to Mo DeJong).
  869 * Cleanup/simplification of request dispatching:
  870  - better handling of error cases, including fix for a possible
  871  infinite loop when the server closes the connection prematurely.
  872 * Add '--without-zlib' configure option.
  873 * Test changes:
  874  - prettify output; imitate Perl test suite output.
  875  - add tests for interim 1xx responses, persistent connections, more
  876  unbounded operations.
  877 
  878 Changes in release 0.17.0:
  879 * Add support for decoding gzip Content-Encoding: see ne_compress.h.
  880  - built if zlib is found; `neon-config --cflags' will define NEON_ZLIB if so.
  881 * Rewrite hooks interface to register individual callbacks.
  882  - inspired by the Apache 2.0/APR hooks interface
  883 * Register cookies hooks using ne_cookie_register().
  884 * Clean up configure scripts to enable use of autoconf 2.5x (Mo DeJong).
  885 * Use new endianess configure macro to allow cross-compiling (Mo DeJong).
  886 * Fix invalid C code in sock_init() in Win32 build (Mo DeJong).
  887 * Fix use of signal() on Win32 (Mo DeJong).
  888 * Workaround libxml 1.x string handling not being UTF-8.	
  889 * Test changes:
  890  - add tests for decompression interface.
  891 
  892 Changes in release 0.16.1:
  893 * Also handle write errors in ne_get_range.
  894 * Dump request body blocks in debugging mode.
  895 * Fix ne_shave() causing memory corruption when the result should 
  896   have been the empty string.
  897 * Refactor auth header parsing code; more efficient now. 
  898  - fixes digest auth RFC2617-style broken in 0.16.0
  899 
  900 Changes in release 0.16.0:
  901 * API change: ne_copy takes a depth parameter (thanks to Arun Garg, Medha Atre)
  902 * API change: validate callback to ne_xml also takes a userdata arg.
  903 * Added 'ne_lock_refresh' for performing lock refresh (Arun Garg).
  904 * Add SSL support to Win32 build (Peter Boos <PediB@colorfullife.com>)
  905   (see INSTALL.win32 for details).  Compile with USE_DAV_LOCKS also.
  906 * Remove Server header parser for 100-continue support in ne_options.
  907   (and remove broken_expect100 from ne_server_capabilities).
  908 * Set SIGPIPE disposition to "ignored" in sock_init().
  909 * On platforms with setvbuf(), turn off buffering for the debug log 
  910   stream.
  911 * Ignore repeated calls to sock_init().
  912 * Fixes to error handling in ne_get_range.
  913 * Minor improvements to memory handling in auth code.
  914 * Fix for start_propstat callback being called with NULL response
  915   argument when given invalid XML, causing a segfault in propfind code.
  916 * Test changes:
  917  - add regression test for the propfind segfault.
  918  - handle segfaults better (reap the child, flush the debug log).
  919 
  920 Changes in release 0.15.3:
  921 * Fix --with-expat=DIR build.
  922 
  923 Changes in release 0.15.2:
  924 * Fix Win32 for XML parser changes (Gerald Richter).
  925 * Substitute versions into config.hw at distribution time.
  926 * Add date parser for ISO8601-formatted dates as defined by RFC2518, e.g. 
  927   the creationdate property (Taisuke Yamada <tai@iij.ad.jp>).
  928 * Fix Y2K bug in RFC1036 date parsing algorithm.
  929 * Test changes:
  930  - add tests for date parsing functions.
  931 
  932 Changes in release 0.15.1:
  933 * Win32 update from Gerald Richter <richter@ecos.de>
  934  - new files neon.mak, INSTALL.win32
  935 * Fix for ne_socket.h includes (Mo DeJong).
  936 * More improvements for XML parser selection logic:
  937  - if parser is required, be sure to fail configure if none is found.
  938  - added --with-included-expat for bundled expat logic.
  939 * Rename --enable-debugging to --enable-debug (Mo DeJong).
  940  - added NEON_DEBUG macro to exported autoconf macros.
  941 * Call progress callbacks for request bodies.
  942 * Test changes:
  943  - check that reading response headers is a bounded operation.
  944  - use a pipe between child and parent to avoid race condition and 
  945  tedious sleep().
  946 
  947 Changes in release 0.15.0:
  948 * Major API renaming to use ne_/NE_ namespace:
  949  - http_ to ne_, HTTP_ to NE_, dav_ to ne_, DAV_ to NE_, neon_ to ne_
  950  - hip_xml_ to ne_xml_, HIP_ELM_ to NE_ELM_, HIP_XML_ -> NE_XML_
  951  - sbuffer_ to ne_buffer_
  952  - DEBUG() to NE_DEBUG(), DEBUG_ to NE_DBG_
  953 * Type renames:
  954  - http_req to ne_request
  955  - sbuffer to 'ne_buffer *'
  956 * Note, 'ne_buffer' is not an implicit pointer type, you must 
  957   specify the '*' now, e.g. 'ne_buffer *buf = ne_buffer_create();'.
  958 * ne_buffer is no longer opaque.
  959  - ne_buffer_data() removed: use buf->data instead.
  960  - ne_buffer_size() is a macro.
  961 * Header renames and additions:
  962  - http_request.h -> ne_request.h
  963  - Session code split into ne_session.h
  964  - hip_xml.h -> ne_xml.h, nsocket.h -> ne_socket.h, http_utils.h -> ne_utils.h
  965  - neon_md5.h -> ne_md5.h, dav_207.h -> ne_207.h
  966  - http_basic.h and dav_basic.h merged into ne_basic.h
  967 * New functions:
  968  - ne_token and ne_shave, to obsolete split_string, shave_string.
  969 * Removed: ne_get_request_headers().
  970 * autoconf changes:
  971  - disable building shared neon library by default.
  972  - option --enable-libxml is replaced by --with-libxml1 and
  973  --with-libxml2 to force use of a particular parser.
  974 * Fix auth code to only take MD5 digests of response body blocks when
  975   necessary (thanks to Kai Sommerfeld).
  976 * Fix alignment bug in MD5 code which could cause SIGBUS on Sparc 
  977   architectures (Kai Sommerfeld).
  978 * Rewrite of request body handling:
  979  - ne_set_request_body_fd replaces _stream, using an int fd rather than
  980  a FILE *.
  981  - added ne_set_request_body_provider to give a callback which is called
  982  to provide request body blocks.
  983  - removal of 'use_body' hook in favour of 'ne_pull_request_body' function
  984  to allow hooks to manually read the request body.
  985  - ne_{put,get,post,put_if_unmodified} all take an integer fd rather than a
  986  FILE * stream.
  987 * Test changes:
  988  - added framework for testing "over the wire" (fork a server process)
  989  - added tests for response message length handling, chunked responses, 
  990  header folding, sending request bodies.
  991  - start at listing RFC2616 requirements and whether they are met
  992  or not in test/STATUS.
  993  - test for MD5 alignment bug on Sparc (thanks to Kai Sommerfeld).
  994 
  995 Changes in release 0.14.0:
  996 * Add C++ inclusion safety to http_auth.h (Kai Sommerfeld).
  997 * Define ssize_t on Win32. (Kai Sommerfeld).
  998 * Add C++ inclusion safety to dav_locks.h and ne_alloc.h (thanks to
  999   Gregor Bornemann <Gregor.Bornemann@germany.sun.com>).
 1000 * Significant API change to properties code, to allow use of allprop
 1001   and complex properties:
 1002  - dav_propfind_set_complex and _set_flat are removed.
 1003  - add parameter to dav_propfind_named to take the list of property names 
 1004    to be fetched.
 1005  - new function dav_propfind_set_private to set private callback.
 1006  - all properties not handled by caller are stored as flat properties.
 1007 * Untested: add basic SOCKSv5 support: configure --with-socks.
 1008  - please report success/failure to neon@webdav.org
 1009 * Win32/MSVC build files from Magnus SirwiŲ <sirwio@hotmail.com>.
 1010 * Fix for expat detection from Shane Mayer <shanemayer42@yahoo.com>.
 1011 * Namespace-protect md5 code and more.
 1012  - md5_* -> ne_md5_*
 1013  - ascii_to_md5 -> ne_ascii_to_md5 (and moved to neon_md5.h)
 1014 * Parse authinfo segment in URIs (Johan Lindh <johan@link-Data.com>).
 1015  - added 'authinfo' field to struct uri.
 1016 * New API: hip_xml_get_attr to retrieve attributes.
 1017 * Store language for properties, access with dav_propset_lang.
 1018  - only if property is defined on the property element itself.
 1019 * Started a simple test suite (test/*).
 1020  - includes some simple HTTP server tests.
 1021 * Remove "Content-Length: 0" header for request with no body, fixing
 1022   interop with Squid 2.3-STABLE1 (thanks to Kai Sommerfeld).
 1023 * http_parse_statusline skips leading whitespace. (Johan Lindh). 
 1024 * Partial fix for timezone/date parsing problems.
 1025 
 1026 Changes in release 0.13.0:
 1027 * Fix ne_strndup allocating one byte less than it should (Kai Sommerfeld)
 1028  - if you use uri_parse, this bug may have caused subtle memory corruption 
 1029    in your application. 
 1030 * Revert API changes in 0.12: property values are not UTF-8 encoded/decoded
 1031   internally.  (thanks to Greg Stein)
 1032 * Add another optional argument to NEON_BUNDLED macros, actions to
 1033   be run if bundled build is *not* selected.
 1034 * API change: added argument to http_add_hooks to register cleanup function
 1035   for the cookie.
 1036 * Removed dav_lock_unregister in favour of automatic cleanup when session
 1037   is destroyed.
 1038 * Fixed leaks in redirect code (Kai Sommerfeld).
 1039 * Fixed crashes in hip_xml_destroy (Kai Sommerfeld).
 1040 * Redirects to a different hostname/port/scheme are never followed: the request
 1041   will fail with HTTP_REDIRECT instead.  Redirect notification callback is 
 1042   only called for *followed* redirects.
 1043   New API: http_redirect_location() for retrieving location of last redirect.
 1044 * Authentication is now implemented as a hook, independently of http_request.c:
 1045  - API change: removed 'hostname' argument from auth callbacks.
 1046  - API change: you must now include http_auth.h from your application.
 1047  - Also fixes case of using server and proxy authentication simultaneously
 1048 * Added 'http_forget_auth' to clear authentication session.
 1049 * New API: http_session_hook_private for retrieving private per-session cookie 
 1050   for hooks.
 1051 * API change: http_set_request_body_stream has a return error value.
 1052 * API change: http_set_request_body_buffer now takes the buffer length too.
 1053 * New API: caller-pulls interface for reading response body: 
 1054   http_begin_request, http_end_request, http_read_response_block. 
 1055   An alternative to using the (much simpler) http_request_dispatch.
 1056 * Make --disable-webdav build work.
 1057 * New API: dav_propnames for retrieving property names.
 1058 * New API: dav_propfind_get_request to access request object of handler.
 1059 * API change: progress and connection status callbacks implemented at
 1060   http_request.h level. Socket-level status callbacks removed, progress
 1061   callbacks made per-socket.
 1062 * Supports new expat (Sam TH <sam@uchicago.edu>)
 1063 * Supports libxml2 (in preference to libxml1).
 1064 * API change: added namespace protection to base64 and dates functions:
 1065   all have ne_ prefix now.
 1066 * Fixed ranged GETs where a specific range is requested (Johan Lindh 
 1067   <johan@linkdata.se>).
 1068 * Limit number of response header fields to 100.
 1069 * Allow requests for the '*' URI even if a proxy server is in use.
 1070 * libxml: Get useful error messages for parse errors.
 1071 
 1072 Changes in release 0.12.0:
 1073 * Portability fixes to http_request.c and http_auth.c.
 1074  - fixes digest auth on big-endian architectures.
 1075 * Fix warnings from stray tokens after #endif's in uri.h and string_utils.h.
 1076 * Add C++ inclusion safety to http_redirect.h (Kai Sommerfeld 
 1077   <kai.sommerfeld@germany.sun.com>).
 1078 * Make redirects to a different host work (Kai Sommerfeld).
 1079 * Fix reading response bodies when non-chunked and no Content-Length
 1080   (Kai Sommerfeld).
 1081 * API change: 'http_add_hooks takes a 'const' request object.
 1082 * Fixed memory leaks in session hooks (thanks to Kai Sommerfeld).
 1083 * Fix passing NULL props argument to dav_simple_propfind, to support
 1084   allprop requests.
 1085 **** MAJOR INTERFACE CHANGE ****
 1086  - URIs passed to http_request_create() are NOT escaped by neon. You 
 1087    MUST do this yourself to remain HTTP compliant, using e.g. 
 1088    uri_abspath_escape. (Kai Sommerfeld)
 1089 * Added --disable-webdav flag to configure, to disable DAV support in
 1090   the library.  This allows building neon without an XML parser. 
 1091 * Corresponding NEON_WITHOUT_WEBDAV macro for use in bundled builds.
 1092 * Fix Makefile dependancies.
 1093 * A bundled neon directory builds or doesn't build automatically
 1094   (i.e. you recurse into it unconditionally).
 1095 * API clarification:
 1096  - dav_propset_status may return NULL if the server does not return
 1097    a response for the given property (issue is open for debate).
 1098 * API change up for debate:
 1099  - Property values to dav_proppatch are UTF-8 encoded internally.
 1100  - Property values in dav_propfind_* are UTF-8 decoded internally.
 1101 * API additions: ne_realloc, ne_utf8_encode.
 1102 
 1103 Changes in release 0.11.0:
 1104 * Added SSL client certificate support with 'sock_set_client_cert'.
 1105  - Supports certs in PEM-encoded files.
 1106  - Specify a callback for prompting the user for the password with 
 1107      sock_set_key_prompt.
 1108 * Added 'ne_oom_callback', to register a callback which is used if
 1109   malloc() returns NULL.  (Mike Rosellini <m@icopyright.com>)
 1110 * Register appropriate callback with libxml to handle <![CDATA blocks
 1111   as normal character data (fixes PROPFINDs against sharemation.com).
 1112 * Added 'NEON_REQUIRE' macro to declare that you require a neon library
 1113   of a given minimum version, e.g.  NEON_REQUIRE(0,10) means "I need 
 1114   neon 0.11 or later".  The _BUNDLED macros will fall back on the bundled
 1115   copy if an external library is found which is not of a new enough version.
 1116 * Added neon_version_minimum() function call for run-time version detection.
 1117 * neon_config.h has been removed.
 1118 * Use closesocket() to close sockets on Win32 (Markus Fleck <fleck@isoc.de>).
 1119 
 1120 Changes in release 0.10.1:
 1121 * Default expect-100 to OFF.
 1122 
 1123 Changes in release 0.10.0:
 1124 * hip_xml API changes:
 1125  - The search for a handler for a new child element begins at the
 1126    handler of the parent element, and carries on up the stack.
 1127    (previously, it always started from the base of the stack)
 1128  - Documentation written: doc/parsing-xml.txt
 1129 * Remove memory leaks and tidy debugging output in new properties code.
 1130 * API changes to DAV locking interface: 
 1131  - New function: dav_lock_copy to copy a lock object.
 1132  - Re-ordered arguments to callback of dav_lock_discover, and made the
 1133    lock object passed back const.
 1134  - Fix leaks and crashes due to vague interface definitions.
 1135 * API change to dav_propfind_set_complex: use a callback to return the
 1136   'private' structure.
 1137 * NEON_NORMAL_BUILD and NEON_LIBTOOL_BUILD macros defined for setting
 1138   up neon's Makefile in a bundled build: see macros/neon.m4.
 1139 * NEON_VPATH_BUNDLED macro added which takes separate srcdir and
 1140   builddir arguments for supporting VPATH builds (thanks to Peter Moulder 
 1141   <pjm@bofh.asn.au>).
 1142 * Added optional final argument to NEON_(VPATH_)BUNDLED, which gives
 1143   a set of actions to be run if the bundled build is chosen.
 1144 * NEON_SSL checks for OpenSSL in /usr too.
 1145 * API change: when using http_session_decide_proxy, it MUST be called
 1146   before using http_session_server to prevent the DNS lookup on the origin
 1147   server being optimised out.  The real scheme in use is passed to the 
 1148   callback now.
 1149 * New function, dav_207_ignore_unknown, to ignore any unknown XML fragments
 1150   in the 207 response.  Used by properties layer.
 1151 
 1152 Changes in release 0.9.2:
 1153 * Fix using both dav_propfind_set_complex and dav_propfind_set_flat with the
 1154   same propfind_handler.
 1155 
 1156 Changes in release 0.9.1:
 1157 * dav_propfind interface
 1158  - Guarantee that the 'private' structure will be initialized to zero on
 1159    creation.
 1160  - Make it the *callers* responsibility to free() the private structure.
 1161 * Fix a few arguments/variables which mirrored globally declared symbols.
 1162 
 1163 Changes in release 0.9.0:
 1164 * Removed old dav_propfind_* interface, replaced with a better, more
 1165   powerful, and easier to use interface:
 1166  - 'dav_simple_propfind' interface for just fetching "flat" (byte-string)
 1167    properties.
 1168  - 'dav_propfind_*' interface for fetching flat and/or "complex" (structured
 1169    XML) properties.
 1170  - Lets you retrieve the 'status' information, to see what happened if
 1171    fetching the property failed (e.g 404 Not Found).
 1172 * Fixes to doc/using-neon.txt (thanks to Greg Stein).
 1173 * Allow building when srcdir != builddir (Mo DeJong <mdejong@cygnus.com>)
 1174 
 1175 Changes in release 0.8.1:
 1176 * Fix segfault in PROPFIND code.
 1177 
 1178 Changes in release 0.8.0:
 1179 * Fix for using COPY/MOVE over SSL (thanks to David Sloat).
 1180 * Fix for using a proxy server and SSL.
 1181 * Added 'http_get_scheme' API call.
 1182 * Added 'http_redirect.h' to list of installed headers (thanks to everyone ;).
 1183 * Changes for building on Windows (Peter Boos <PediB@colorfullife.com>)
 1184 * Fixes for building on BeOS (Sam TH <sam@uchicago.edu> and David Reid
 1185   <dreid@jetnet.co.uk>).
 1186 * Add buffering to socket code for pre-BONE BeOS systems (David Reid).
 1187 * Interface changes for hip_xml:
 1188  - Renamed hip_xml_add_(mixed_)handler to hip_xml_push_(mixed_)handler
 1189  - Documentation updates.
 1190  - Added HIP_ELM_UNUSED for lowest element id which should be used.
 1191 *** MAJOR INTERFACE CHANGE ***
 1192  - Removed 'http_status *' pointer from http_request_dispatch.
 1193  - Added http_get_status(req) to retrieve the response-status information
 1194    instead. You don't have to declare an http_status object yourself now.
 1195 * Similarly, added DAV_ELM_207_UNUSED for lowest element id which should
 1196   be used by users of dav_207_* code (incl. use of dav_propfind_*
 1197   code).
 1198 * New NEON_* autoconf macro interface:
 1199  - Use NEON_BUNDLED if sources are bundled, otherwise NEON_LIBRARY.
 1200  - The NEON_XML_PARSER macro is NOT called automatically.  You must
 1201    call this yourself if using NEON_BUNDLED; see doc/using-neon.txt
 1202    for details.
 1203 * Fix use of 'socket' in nsocket.h function prototypes (Greg Stein).
 1204 * Remove extra backslash at line 69 of src/Makefile.incl (Dirk Bergstrom).
 1205 * Examples directory is now a separate package.
 1206 
 1207 Changes in release 0.7.7:
 1208 * Another fix for linking against a libtool-built expat (Greg Stein).
 1209 
 1210 Changes in release 0.7.6:
 1211 * Better check for closed SSL connection after doing SSL_peek. (thanks
 1212   to Jeff Costlow <j.costlow@f5.com>).
 1213 * Attempt at correct sock_block() implementation for SSL.
 1214 * sock_peek() will return SOCK_CLOSED correctly.
 1215 
 1216 Changes in release 0.7.5:
 1217 * Fixed workaround for linking against a libtool-built expat (Greg Stein).
 1218 
 1219 Changes in release 0.7.4:
 1220 * Fix for fd leak on connect failure (David Sloat <d.sloat@f5.com>).
 1221 * Fix for Digest auth against IIS5 (David Sloat).
 1222 * Workaround for linking against a libtool-built libexpat.la (Greg Stein).
 1223 
 1224 Changes in release 0.7.3:
 1225 * Check for -lsocket and -linet in configure.
 1226 * Workaround for SSL problems.
 1227 
 1228 Changes in release 0.7.2:
 1229 * Define SHELL in Makefile (thanks to Eric Mumpower <nocturne@arepa.com>).
 1230 * Added 'all' target to Makefile (Greg Stein <gstein@lyra.org>)
 1231 * Added '--with-expat' argument to configure (Greg Stein)
 1232 * Added 'dav_propfind_destroy' function.
 1233 
 1234 Changes in release 0.7.1:
 1235 * Don't register response body/header authentication callbacks if no 
 1236   credentials-supplying callback has been registered (speed optimisation).
 1237 
 1238 Changes in release 0.7.0:
 1239 * Deprecated use of 'NULL' to http_add_response_header_handler.
 1240   New interface, http_add_response_header_catcher, to register
 1241   a callback which is passed ALL response headers regardless of name.
 1242 * Speed optimisation (~10%?): storing response-header handlers in a
 1243   hash table for faster look.
 1244 * New SBUFFER_CAST() macro for getting to the 'char *' of an sbuffer
 1245   as fast as possible.
 1246 
 1247 Changes in release 0.6.1:
 1248 * Fix for retrying request if connection is closed by server.
 1249 * Make redirect hook work for >1 request per session.
 1250 
 1251 Changes in release 0.6.0:
 1252 * New interface to allow following HTTP redirects (301/302 responses).
 1253   A callback must be given to get user confirmation if the request method
 1254   is not GET, HEAD, or PROPFIND.
 1255 * New interface to determine whether the proxy server should be used
 1256   for a given request: http_session_decide_proxy.
 1257 * Fix nget build again. Support automatic redirects in 'nget'.
 1258 * Add --with-extra-includes and --with-extra-libs configure parameters
 1259   to point configure at 
 1260 
 1261 Changes in release 0.5.1:
 1262 * Prevent segfault if USE_DAV_LOCKS is defined, and a locking session
 1263   is not registered (thanks to David Sloat).
 1264 
 1265 Changes in release 0.5.0:
 1266 * Rename xmalloc, xstrdup etc to ne_malloc, ne_strdup etc.
 1267 * Some speed optimisation in response-header reading.
 1268 * Use 'off_t' rather than 'size_t' in sock_progress callback,
 1269   sock_readfile_blocked, and sock_transfer.
 1270 
 1271 Changes in release 0.4.2:
 1272 * Fix for sending request bodies after getting 100-continue response.
 1273 
 1274 Changes in release 0.4.1:
 1275 * Fix nget build.
 1276 
 1277 Changes in release 0.4.0:
 1278 * Install library headers into .../include/neon not .../include/libneon
 1279 * Install all necessary library headers.
 1280 * Compile support for WebDAV locking throughout the library
 1281 * Rename md5.h to neon_md5.h (avoids conflict with md5.h in OpenSSL)
 1282 * Rename socket.h to nsocket.h (avoids possible conflict with C library)
 1283 * Update licensing notice on macros/neon*.m4: note that these files are
 1284   NOT under the LGPL, and can be used in other packages regardless of
 1285   the license the package uses.
 1286 * Update NEON_LIBRARY m4 function to allow optional specification of
 1287   names of bundled neon/expat source directories.
 1288 * Increase socket read timeout to 60 seconds.
 1289 * Added an POST method: from Sander Alberink <sander.alberink@cmg.nl>.
 1290 * Added 'http_get_request_headers' to return the sbuffer containing
 1291   all request headers.
 1292 * Allow passing NULL as name to http_add_response_header_handler: 
 1293   the handler callback is passed the entire header string, of ALL 
 1294   response headers.
 1295 
 1296 Changes in release 0.3.1:
 1297 * Compile fix for dav_locks.c (thanks to Paul D'Anna)
 1298 
 1299 Changes in release 0.3.0:
 1300 * Rewrite of socket handling layer. All sock_* functions changed.
 1301 * Added basic SSL support: --with-ssl (requires OpenSSL).
 1302   NOTE: Certificates are NOT presented for verification.
 1303 * 'nget' accepts URL's using the 'https' scheme.
 1304 * New example program, 'nserver', to display the Server: string, 
 1305   e.g. 'nserver https://www.eu.c2.net/'
 1306 * Fixed request re-send when persistent connection times out.
 1307 * "Hooks" support: allow external hooks into the HTTP request/
 1308   response dispatch loop.
 1309 * New printf-style interface for adding request headers.
 1310 * Make symbols used in header files C++-safe (Tom Bednarz).
 1311 * WebDAV locking support: lock discovery, LOCK (exclusive/shared)
 1312   UNLOCK. "If:" headers are sent as appropriate. Simple interface
 1313   for implementors of new methods to indicate which locks are 
 1314   required for the method.
 1315 * Primitive HTTP cookies support.
 1316 * Primitive hack at a GNOME-based GUI example program "nbrowse".
 1317   Enable build with --enable-gnome-examples. It crashes, and
 1318   not much else. Requires GNOME and POSIX threads. Example usage:
 1319        'nbrowse dav.ics.uci.edu /msdav/'
 1320   Many thanks to Lee Mallabone for Gtk help, and showing how to
 1321   use Gtk and threads. 
 1322 
 1323 Changes in release 0.2.0:
 1324 * Use libtool: new configure options to select whether to build
 1325   shared and/or static libraries. Should build shared libraries
 1326   portably now.  
 1327 * Complete rewrite of the hip_xml interface to use opaque pointers.
 1328   New functions: hip_xml_create, hip_xml_destroy: create parser.
 1329   hip_xml_{set,get}_error: Access to error string.
 1330   hip_xml_add_handler: Register callbacks for a set of elements.
 1331   hip_xml_valid: Returns whether the parse was valid or not.
 1332   Removed functions: hip_xml_init, hip_xml_finish.
 1333 * Removed functions made reduntant by above changes in dav_207.
 1334 * Don't include config.h in header files
 1335 * Fix PROPFIND allprop request body (Michael Sobolev)
 1336 * Added C++ safety macros around header files.
 1337 * Added neon-config script for getting correct CFLAGS and LIBS
 1338   values for using libneon in applications.
 1339 
 1340 Changes in release 0.1.1:
 1341 * Fix for short writes in GET
 1342 
 1343 Changes in release 0.1.0:
 1344 * Initial release.