neon is an HTTP and WebDAV client library, with a C
- High-level wrappers for common HTTP and WebDAV operations (GET,
MOVE, DELETE, etc)Low-level interface to the HTTP request/response engine, allowing
the use of arbitrary HTTP methods, headers, etc.
- Authentication support including Basic and Digest support, along
with GSSAPI-based Negotiate on Unix, and SSPI-based Negotiate/NTLM on
- SSL/TLS support using OpenSSL or GnuTLS; exposing an abstraction
layer for verifying server certificates, handling client
certificates, and examining certificate properties. Smartcard-based
client certificates are also supported via a PKCS#11 wrapper
- Abstract interface to parsing XML using libxml2 or expat, and
wrappers for simplifying handling XML HTTP response bodies
- WebDAV metadata support; wrappers for PROPFIND and PROPPATCH to
simplify property manipulation.
distributed under the
GNU Library GPL.
Patches, feature requests, bug reports,
questions etc. can be
the neon mailing list (for
which a web
archive is also available). The neon-commits
list receives commit messages from the Subversion repository.
Please note: The neon API is subject to
backwards-incompatible change over minor versions (0.24.x -> 0.25.x)
but is stable across patch releases (0.24.0 -> 0.24.x).
- Fix memory leak with GnuTLS (Werner Baumann, Patrick Ohly).
- Fix possible crash after DNS lookup errors on Windows (Olivier Goffart).
- Don't fail if the SSL cert changes between connections with OpenSSL,
behaviour now matches that with GnuTLS.
- Fix PKCS#11 support under OpenSSL with TLS 1.2.
- Fix static linking with pkg-config file (Alan H)
- Interface changes:
- none, API and ABI backwards-compatible with 0.27.x and later
- New interfaces and features:
- ne_ssl.h: added ne_ssl_clicert_import, ne_ssl_context_get_flag
- ne_session.h: added ne_set_addrlist2
- ne_socket.h: added ne_addr_canonical
- ne_auth.h: added NE_AUTH_GSSAPI_ONLY, NE_AUTH_SSPI (Nathanael Rensen)
- ne_basic.h: added NE_CAP_EXT_MKCOL options test
- ne_request.h: support chunked bodies with negative length passed to
ne_set_request_body_provider (Julien Reichel)
- Bug fixes:
- ne_path_escape: fix excessive memory allocation (Pierre Crokaert)
- SSPI auth: use canonical server hostname, clear SSPI context after
successful auth (Nathanael Rensen)
- build fixes for Open Watcom compiler (NormW)
- fix Win32 error code handling for local ne_sock_prebind bind failure
- Win32: support LFS, thread-safe OpenSSL (Diego Santa Cruz)
- GnuTLS: fix GnuTLS 3.x support (Matthias Petschick, Bartosz Brachaczek)
- Don't abort SSL handshake with GnuTLS if a client cert is requested
but none is configured/available (thanks to Patrick Ohly)
- Fix GnuTLS build with Nettle (Arfrever Frehtes Taifersar Arahesis)
- Win32: Fix handling of SSPI challenges (Ivan Zhakov)
- Fix the method string passed to create_request hooks to have the same
lifetime as the request object (Patrick Ohly)
- Docs updates.
The release history is now archived.