neon is an HTTP/1.1 and WebDAV client library, with a C interface. Features:
- 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 Win32
- 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 interface
- 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
- Github repository
- Mailing list
- List archive
- neon-commits list
- Debian: packages
- Fedora: package, bugs
- Gentoo: package
- Solaris: OpenCSW package
Patches, feature requests, bug reports, questions etc. can be sent to the neon mailing list (for which a web archive is also available). Alternatively, file pull requests or issues in the neon github repository. The neon-commits list receives commit messages from pushes to Github.
Changes in release neon 0.31.2, 20th June 2020
- Fix ne_md5_read_ctx() with OpenSSL on big-endian architectures.
- Fix GCC 10 warning in PKCS#11 build.
- Fix OpenSSL build w/o deprecated APIs (Rosen Penev).
- Fix unnecessary MD5 test for non-Digest auth (Sebastian Reschke).
- Fix hang on SSL connection close with IIS (issue #11).
- Fix ar, ranlib detection when cross-compiling (Sergei Trofimovich).
Changes in release neon 0.31.1, 17th April 2020
- ADMIN: The neon website has moved to https://notroj.github.io/neon/
- Restore ne_md5_read_ctx() in OpenSSL build.
- Fix gcc warnings on Ubuntu (Jan-Marek Glogowski).
- Fix various spelling mistakes in docs and headers (thanks to FOSSIES).
- Fix ne_asctime_parse() (Eugenij-W).
- Fix build with LibreSSL (Juan RP).
Changes in release neon 0.31.0, 24th March 2020
- Interface changes:
- none, API and ABI backwards-compatible with 0.27.x and later
- New interfaces and features:
- add more gcc “nonnull” attributes to ne_request_* functions.
- for OpenSSL builds, ne_md5 code uses the OpenSSL implementation
- add NE_SESSFLAG_SHAREPOINT session flag which enables workarounds< for RFC non-compliance issues in Sharepoint (thanks to Jan-Marek Glogowski and Giuseppe Castagno)
- ne_uri.h: add ne_path_escapef() in support of above
- ne_207.h: add ne_207_set_flags() likewise in support of above
- API clarification:
- ne_version_match() behaviour now matches actual 0.27+ ABI history
- Bug fixes:
- fixes for OpenSSL 1.1.1 and TLSv1.3 support
- fix crash with GnuTLS in client cert support (Henrik Holst)
- fix possible crash in ne_set_request_flag()
- fix build with libxml2 2.9.10 and later
- fix handling lock timeouts >LONG_MAX (Giuseppe Castagno)