------------------------------------------------------------------------
r1538 | joe | 2008-08-20 20:45:52 +0100 (Wed, 20 Aug 2008) | 1 line

Tag release 0.28.3.
------------------------------------------------------------------------
r1537 | joe | 2008-08-20 20:45:21 +0100 (Wed, 20 Aug 2008) | 2 lines

* NEWS: Tweak.

------------------------------------------------------------------------
r1536 | joe | 2008-08-20 20:35:19 +0100 (Wed, 20 Aug 2008) | 2 lines

* NEWS, macros/neon.m4: Prepare for 0.28.3.

------------------------------------------------------------------------
r1535 | joe | 2008-08-20 20:32:21 +0100 (Wed, 20 Aug 2008) | 5 lines

Merge r1527 from trunk:

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

------------------------------------------------------------------------
r1534 | joe | 2008-08-20 20:29:56 +0100 (Wed, 20 Aug 2008) | 5 lines

Merge r1530 from trunk:

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

------------------------------------------------------------------------
r1533 | joe | 2008-08-20 20:28:47 +0100 (Wed, 20 Aug 2008) | 13 lines

Merge r1532 from trunk:

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.

------------------------------------------------------------------------
r1526 | joe | 2008-08-05 13:26:05 +0100 (Tue, 05 Aug 2008) | 1 line

* NEWS: Convert to UTF-8.
------------------------------------------------------------------------
r1525 | joe | 2008-08-05 13:20:11 +0100 (Tue, 05 Aug 2008) | 4 lines

Merge r1524 from trunk:

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

------------------------------------------------------------------------
r1516 | joe | 2008-07-25 14:39:21 +0100 (Fri, 25 Jul 2008) | 24 lines

Merge r1505, r1512 from trunk:

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.


* 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.

------------------------------------------------------------------------
r1515 | joe | 2008-07-25 13:59:56 +0100 (Fri, 25 Jul 2008) | 6 lines

Merge r1513 from trunk:

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

Submitted by: Henrik Holst

------------------------------------------------------------------------
r1511 | joe | 2008-07-19 23:01:46 +0100 (Sat, 19 Jul 2008) | 4 lines

Merge r1480 from trunk:

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

------------------------------------------------------------------------
r1510 | joe | 2008-07-19 22:56:05 +0100 (Sat, 19 Jul 2008) | 6 lines

Merge r1509 from trunk:

Update mailing list address throughout.

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

------------------------------------------------------------------------
r1508 | joe | 2008-07-19 22:43:48 +0100 (Sat, 19 Jul 2008) | 8 lines

Merge r1507 from trunk:

* 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.

------------------------------------------------------------------------
r1504 | joe | 2008-07-19 21:17:37 +0100 (Sat, 19 Jul 2008) | 8 lines

Merge r1412, r1415 from trunk:

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

Submitted by: Arfrever Frehtes Taifersar Arahesis

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

------------------------------------------------------------------------
r1503 | joe | 2008-07-19 21:16:07 +0100 (Sat, 19 Jul 2008) | 2 lines

* NEWS: News so far.

------------------------------------------------------------------------
r1502 | joe | 2008-07-19 21:15:40 +0100 (Sat, 19 Jul 2008) | 6 lines

Merge r1500 from trunk:

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

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

------------------------------------------------------------------------
r1501 | joe | 2008-07-19 21:14:36 +0100 (Sat, 19 Jul 2008) | 5 lines

Merge r1460 from trunk:

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

------------------------------------------------------------------------
r1499 | joe | 2008-07-19 13:49:21 +0100 (Sat, 19 Jul 2008) | 12 lines

Merge r1497 from trunk:

* 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.


------------------------------------------------------------------------
r1498 | joe | 2008-07-19 13:16:12 +0100 (Sat, 19 Jul 2008) | 2 lines

* macros/neon.m4 (NE_VERSIONS_BUNDLED): Bump to 0.28.3-dev.

------------------------------------------------------------------------
r1461 | joe | 2008-07-03 13:39:52 +0100 (Thu, 03 Jul 2008) | 6 lines

Merge r1457, r1458 from trunk:

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

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

------------------------------------------------------------------------
r1456 | joe | 2008-07-03 11:11:37 +0100 (Thu, 03 Jul 2008) | 17 lines

Merge r1449, r1451, r1452, r1455 from trunk:

* doc/man.xsl: New file.

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

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

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

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

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


------------------------------------------------------------------------
r1447 | joe | 2008-04-03 12:39:55 +0100 (Thu, 03 Apr 2008) | 2 lines

* NEWS: Update.

------------------------------------------------------------------------
r1446 | joe | 2008-04-03 12:39:23 +0100 (Thu, 03 Apr 2008) | 8 lines

Merge r1442, r1443, r1445 from trunk:

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

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

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

------------------------------------------------------------------------
r1440 | joe | 2008-04-03 12:10:01 +0100 (Thu, 03 Apr 2008) | 7 lines

Merge r1439 from trunk:

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

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

------------------------------------------------------------------------
r1437 | joe | 2008-03-29 21:06:27 +0000 (Sat, 29 Mar 2008) | 4 lines

Merge r1405 from trunk:

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

------------------------------------------------------------------------
r1436 | joe | 2008-03-29 21:02:27 +0000 (Sat, 29 Mar 2008) | 4 lines

Merge r1433 from trunk:

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

------------------------------------------------------------------------
r1432 | joe | 2008-03-28 20:03:19 +0000 (Fri, 28 Mar 2008) | 4 lines

Merge r1431 from trunk:

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

------------------------------------------------------------------------
r1409 | joe | 2008-03-13 20:26:51 +0000 (Thu, 13 Mar 2008) | 2 lines

* NEWS, macros/neon.m4: Prepare for 0.28.2.

------------------------------------------------------------------------
r1408 | joe | 2008-03-13 20:26:29 +0000 (Thu, 13 Mar 2008) | 22 lines

Merge r1406, r1407 from trunk:

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.

* 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.

------------------------------------------------------------------------
r1401 | joe | 2008-03-04 11:56:16 +0000 (Tue, 04 Mar 2008) | 4 lines

Merge r1367 from trunk:

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

------------------------------------------------------------------------
r1400 | joe | 2008-03-04 11:54:45 +0000 (Tue, 04 Mar 2008) | 7 lines

Merge r1376, r1377 from trunk:

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

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

------------------------------------------------------------------------
r1399 | joe | 2008-03-03 13:32:17 +0000 (Mon, 03 Mar 2008) | 5 lines

Merge r1398 from trunk:

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

------------------------------------------------------------------------
r1397 | joe | 2008-03-03 10:45:21 +0000 (Mon, 03 Mar 2008) | 2 lines

* NEWS: Tweak.

------------------------------------------------------------------------
r1396 | joe | 2008-03-03 10:43:57 +0000 (Mon, 03 Mar 2008) | 2 lines

* NEWS: Update.

------------------------------------------------------------------------
r1395 | joe | 2008-03-03 10:42:47 +0000 (Mon, 03 Mar 2008) | 2 lines

* po/: make update-po.

------------------------------------------------------------------------
r1394 | joe | 2008-03-03 09:03:52 +0000 (Mon, 03 Mar 2008) | 8 lines

Merge r1393 from trunk:

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

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

* po/zh.po: Renamed to above.  

------------------------------------------------------------------------
r1392 | joe | 2008-02-29 16:33:58 +0000 (Fri, 29 Feb 2008) | 2 lines

* NEWS: Update for 0.28.1 so far, and add complete 0.27.x history.

------------------------------------------------------------------------
r1391 | joe | 2008-02-29 16:30:12 +0000 (Fri, 29 Feb 2008) | 11 lines

Merge r1387, r1388, r1389 from trunk:

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

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

* 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.

------------------------------------------------------------------------
r1390 | joe | 2008-02-29 16:23:20 +0000 (Fri, 29 Feb 2008) | 3 lines

* macros/neon.m4 (NEON_VERSIONS_BUNDLED): Update libtool
versioning logic, bump to .1.

------------------------------------------------------------------------
r1386 | joe | 2008-02-29 16:17:15 +0000 (Fri, 29 Feb 2008) | 2 lines

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

------------------------------------------------------------------------
r1385 | joe | 2008-02-29 10:07:47 +0000 (Fri, 29 Feb 2008) | 21 lines

Merge r1374, r1375 from trunk:

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.


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

Submitted by: joe
Reviewed by: jorton

------------------------------------------------------------------------
r1384 | joe | 2008-02-29 10:05:27 +0000 (Fri, 29 Feb 2008) | 16 lines

Merge r1368, r1369, r1371, r1372, r1373 from trunk:

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

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

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

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

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

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

------------------------------------------------------------------------
r1383 | joe | 2008-02-29 10:01:56 +0000 (Fri, 29 Feb 2008) | 7 lines

Merge r1382 from trunk:

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

Submitted by: joe
Reviewed by: jorton

------------------------------------------------------------------------
r1381 | joe | 2008-02-28 13:19:19 +0000 (Thu, 28 Feb 2008) | 15 lines

Merge r1378, r1379, r1380 from trunk:

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.

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

* test/socket.c: Fail more gracefully.

------------------------------------------------------------------------
r1355 | joe | 2008-02-11 09:32:36 +0000 (Mon, 11 Feb 2008) | 9 lines

Merge r1352, r1354 from trunk:

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

Submitted by: Arfrever Frehtes Taifersar Arahesis

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

------------------------------------------------------------------------
r1350 | joe | 2008-02-08 17:02:05 +0000 (Fri, 08 Feb 2008) | 2 lines

* po/: make update-po.

------------------------------------------------------------------------
r1349 | joe | 2008-02-08 16:58:57 +0000 (Fri, 08 Feb 2008) | 6 lines

Merge r1348 from trunk:

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


------------------------------------------------------------------------
r1347 | joe | 2008-02-08 16:39:29 +0000 (Fri, 08 Feb 2008) | 3 lines

* macros/neon.m4 (NE_ADD_ABITAG): Make no-op to retain neon 0.27
ABI.

------------------------------------------------------------------------
r1346 | joe | 2008-02-08 16:34:27 +0000 (Fri, 08 Feb 2008) | 1 line

Remove stale ChangeLog.
------------------------------------------------------------------------
r1345 | joe | 2008-02-08 14:48:38 +0000 (Fri, 08 Feb 2008) | 15 lines

Merge r1344 from trunk:

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.

------------------------------------------------------------------------
r1343 | joe | 2008-02-08 10:21:40 +0000 (Fri, 08 Feb 2008) | 2 lines

Revert r1295 for 0.28.x.

------------------------------------------------------------------------
r1342 | joe | 2008-02-08 10:19:45 +0000 (Fri, 08 Feb 2008) | 2 lines

Create 0.28.x branch.

------------------------------------------------------------------------
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.

------------------------------------------------------------------------
