From: Theo Buehler Subject: Re: [update] neon 0.35.0 To: ports@openbsd.org Date: Thu, 30 Oct 2025 19:56:17 +0100 On Fri, Oct 24, 2025 at 05:17:06PM +0200, Theo Buehler wrote: > Now that we have SSL_SESSION_dup() in libssl.so.60.2, we can update this > port. This passes most of regress except for six client cert related > tests which I didn't look at closely (may well be related to the store > stuff). > > Is anyone using this and could give this a spin? I am going to commit this soon. Index: Makefile =================================================================== RCS file: /cvs/ports/net/neon/Makefile,v diff -u -p -r1.61 Makefile --- Makefile 26 Aug 2025 16:08:32 -0000 1.61 +++ Makefile 24 Oct 2025 14:19:31 -0000 @@ -1,9 +1,8 @@ COMMENT= HTTP and WebDAV client library, with C interface -DISTNAME= neon-0.34.2 -REVISION= 1 +DISTNAME= neon-0.35.0 -SHARED_LIBS += neon 31.4 # 34.2 +SHARED_LIBS += neon 31.5 # 34.2 CATEGORIES= net www devel Index: distinfo =================================================================== RCS file: /cvs/ports/net/neon/distinfo,v diff -u -p -r1.27 distinfo --- distinfo 17 Jul 2025 15:53:18 -0000 1.27 +++ distinfo 24 Oct 2025 13:04:18 -0000 @@ -1,2 +1,2 @@ -SHA256 (neon-0.34.2.tar.gz) = +Yzjx0MAvgXt3wXcy9ykmLFNQMKJ93MZXdGlWc/6WFY= -SIZE (neon-0.34.2.tar.gz) = 936809 +SHA256 (neon-0.35.0.tar.gz) = FGevtz814/XQ6f1wYowUy6Jmpl4qH7bj+UXuM4XIWVs= +SIZE (neon-0.35.0.tar.gz) = 949492 Index: patches/patch-src_ne_openssl_c =================================================================== RCS file: patches/patch-src_ne_openssl_c diff -N patches/patch-src_ne_openssl_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_ne_openssl_c 24 Oct 2025 15:12:51 -0000 @@ -0,0 +1,33 @@ +Don't use store, replace SSL_CIPHER_standard_name() by existin API and +don't try to run EVP_DigestInit() with NULL md, this ends in tears. + +Index: src/ne_openssl.c +--- src/ne_openssl.c.orig ++++ src/ne_openssl.c +@@ -86,7 +86,7 @@ typedef const unsigned char ne_d2i_uchar; + #define EVP_PKEY_get0_RSA(evp) (evp->pkey.rsa) + #endif + +-#if OPENSSL_VERSION_NUMBER >= 0x10101000 ++#if OPENSSL_VERSION_NUMBER >= 0x10101000 && !defined(LIBRESSL_VERSION_NUMBER) + /* OpenSSL 1.1.1 has STORE. */ + #define HAVE_OPENSSL111 + #include +@@ -795,7 +795,7 @@ int ne__negotiate_ssl(ne_session *sess) + const SSL_CIPHER *ciph = SSL_get_current_cipher(ssl); + + sess->status.hs.protocol = ne_sock_getproto(sess->socket); +- sess->status.hs.ciphersuite = SSL_CIPHER_standard_name(ciph); ++ sess->status.hs.ciphersuite = SSL_CIPHER_get_name(ciph); + sess->notify_cb(sess->notify_ud, ne_status_handshake, &sess->status); + } + +@@ -1358,6 +1358,8 @@ char *ne_vstrhash(unsigned int flags, va_list ap) + unsigned char v[EVP_MAX_MD_SIZE]; + unsigned int vlen; + const char *arg; ++ ++ if (!md) return NULL; + + ctx = EVP_MD_CTX_new(); + if (!ctx) return NULL; Index: patches/patch-test_ssl_c =================================================================== RCS file: patches/patch-test_ssl_c diff -N patches/patch-test_ssl_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-test_ssl_c 24 Oct 2025 15:10:46 -0000 @@ -0,0 +1,13 @@ +Disable test depending on + +Index: test/ssl.c +--- test/ssl.c.orig ++++ test/ssl.c +@@ -2093,7 +2093,6 @@ ne_test tests[] = { + T_XFAIL(pkcs11_dsa), /* unclear why this fails currently. */ + #endif + T(notifier), +- T(clicert_uri), + + T(NULL) + }; Index: patches/patch-test_utils_c =================================================================== RCS file: /cvs/ports/net/neon/patches/patch-test_utils_c,v diff -u -p -r1.1 patch-test_utils_c --- patches/patch-test_utils_c 17 Jul 2025 15:53:18 -0000 1.1 +++ patches/patch-test_utils_c 24 Oct 2025 14:12:24 -0000 @@ -8,4 +8,4 @@ Index: test/utils.c +#include #include "ne_session.h" - + #include "ne_string.h" Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/net/neon/pkg/PLIST,v diff -u -p -r1.18 PLIST --- pkg/PLIST 17 Jul 2025 15:53:18 -0000 1.18 +++ pkg/PLIST 24 Oct 2025 14:15:25 -0000 @@ -30,6 +30,7 @@ lib/libneon.la lib/pkgconfig/neon.pc @man man/man1/neon-config.1 @man man/man3/ne_add_request_header.3 +@man man/man3/ne_addr_canonical.3 @man man/man3/ne_addr_destroy.3 @man man/man3/ne_addr_error.3 @man man/man3/ne_addr_first.3 @@ -55,6 +56,7 @@ lib/pkgconfig/neon.pc @man man/man3/ne_get_request_target.3 @man man/man3/ne_get_response_header.3 @man man/man3/ne_get_response_location.3 +@man man/man3/ne_get_response_retry_after.3 @man man/man3/ne_get_scheme.3 @man man/man3/ne_get_server_hostport.3 @man man/man3/ne_get_session_flag.3 @@ -113,6 +115,8 @@ lib/pkgconfig/neon.pc @man man/man3/ne_ssl_clicert_decrypt.3 @man man/man3/ne_ssl_clicert_encrypted.3 @man man/man3/ne_ssl_clicert_free.3 +@man man/man3/ne_ssl_clicert_fromuri.3 +@man man/man3/ne_ssl_clicert_import.3 @man man/man3/ne_ssl_clicert_name.3 @man man/man3/ne_ssl_clicert_owner.3 @man man/man3/ne_ssl_clicert_read.3