Re: UPDATE: libnfs 7.0.0
Kurt Miller <[email protected]>
| Newsgroups | gmane.os.openbsd.ports |
|---|---|
| Message-ID | <010001a01ba616ab-a6b926d6-b5f8-4204-bc71-1374ed78349a-000000@email.amazonses.com> |
On Aug 8, 2026, at 9:47 PM, Brad Smith <[email protected]> wrote: > > Here is an update to libnfs 7.0.0. > > All depends build Ok. > Working on fio update on sparc64 and I noticed the libnfs.so <http://libnfs.so/> symbol _null_auth conflicts with _null_auth in libc.so <http://libc.so/>: fio:/usr/lib/libc.so.103.0: /usr/local/lib/libnfs.so.3.0 : WARNING: symbol(_null_auth) size mismatch, relink your program oracle$ objdump -x /usr/lib/libc.so.103.0 | grep _null_auth 00000000003f61e0 g O .bss 0000000000000018 _null_auth oracle$ objdump -x /usr/local/lib/libnfs.so.3.0 | grep _null_auth 0000000000368070 g O .bss 0000000000000020 _null_auth I’m not sure what the fix for this should be. -Kurt > > * Sat Aug 08 2026 : Version 7.0.0 > - SONAME bumped to 17. struct rpc_stats grew, so this release is not > ABI compatible with 6.x and dependent packages must be rebuilt > - Security: fix a remotely triggerable crash from a forged AUTH_GSS > reply verifier > - Security: bound the ZDR array element count and string/opaque > padding so a short reply cannot drive a huge allocation or read > outside the receive buffer > - Security: implement RPC record fragment reassembly > - Security: fix several heap over-reads where a length delimited XDR > string was used as a NUL terminated C string > - Security: fix a one byte overflow in nfs_readlink() > - Security: fix an infinite readdir loop against a server that never > advances the cookie > - Fix a PDU leak of ~14KB on every mount > - New API: [p]readv[_async], nfs_readv, rpc_set_timeout is now public > - New "readonly" URL argument, and mountport support in the URL > - NFSv4: read rdev/nfs_dev, honour the server's readmax/writemax, > and fix O_EXCL handling on create > - RPC: high/low priority send queue, eventfd based service thread > wakeups, PDU telemetry, and a 100MB maximum transfer size > - TLS: fail mtls when credentials are unavailable rather than > silently downgrading, and support kernels without TLS_1_3_VERSION > - New optional servers/ directory containing rpcbind, rpc.statd and > an NFSv3 server skeleton, all under the MIT license > - portmapper v4 support, including GETADDRLIST > - Many portability fixes for Windows/MSVC, macOS, PS2, arm32 and > riscv64, and the cmake build now builds the examples > > * Sat Dec 14 2024 : Version 6.0.2 > - Fix compile issue on 32 bit platforms > - Fix windows build > > * Fri Dec 13 2024 : Version 6.0.1 > - Fix compile bug on MacOS > - Add autotools support to enable tls > > * Wed Dec 11 2024 : Version 6.0.0 > - KRB5/i/p support > - TLS support > - READ3/4 Zero-Copy > - New API that breaks some signatures. Check LIBNFS_API_V2 > > * Sun Feb 11 2024 : Version 5.0.3 > - drop *BSD support from github workflows > - workflow: indicate that the linux workflow also runs the tests > - Add workflow to build PS2 > - Add workflow running make test > - ps2 bonus: Remove old implementations > - ps2: Fix linkage with a missing file > - Fix ps2 warnings and remove read macros > - update INSTALL build with cmake and debugging enable > - Update waitpdu_len when a pdu times out. > - ci: Build examples and run tests on Linux > - Fix building examples/nfsclient-raw.c > - Allow setting a limit on the number of commands in-flight. > - Always close the socket. > - Handle small reads for record marker field. > - Reset state on reconnect. > - Check return value from adjust_inbuf. > - README: Document that new development has shifted to libnfs-next-gen branch > - fix compiler warning > - Patch to support NLM Share > - rpc: re-add fragment handling when reading from socket. > - change read_from_socket to use a state machine > - Write multiple pdus at once. > - Added NFS4.1 EXCHANGE_ID and BIND_CONN_TO_SESSION > - Added poll_timeout parameter > - Completed NFS 4.1 defintion of open_claim4 > - NFS3: we do not need to provide an alloc-hint to write3 > - Fix deprecation warnings on modern macOS > - Restore Cygwin CI (official GH action from Cygwin maintainers). > - Change Windows writev & readv polyfills to static inline. > - Fix integer size for readdirs dircount/maxcount > - Add OpenBSD back to the workflow > - Add windows workflow and add missing readv/writev replacements to win32 > - Remove BSD from the github workflows. > - Remove CYGWIN github workflow. The cygwin action is abandonware > - Modify LD_PRELOAD toy doc > - Add options to set dircount/maxcount for readdir() > - compile fix for mac > - write3: make sure we do not add too many iovectors > - Change WRITE3 to become zero-copy usinf iovectors for the data. > - Switch writing PDUs to the socket use iovectors. > - Add CodeQL workflow for GitHub code scanning > - github: switch openbsd to 7.0 and try again > - github: switch OpenBSD workflow to use 7.2 instead of 6.9 > - multithreading.c: do not wake up immediately if there are no events to process > - Reduced memory allocations. > - Expose further configuration options > - tests: disable test_8000 for now > - rpm: fix building RPMs > - rpc: fix use after free on init_context failure > - tests: fix failure in 0201 > - rpc: only scan for tiemout out RPCs every second instead of every I/O > - rpc: make it possible to tweak the number of lists we hash to for waitpdu > - libnfs-sync: fail all pdus before returning error from wait_for_nfs_reply > - cmake: update utils to be installed > - socket: remove debugging printf > - Deduplicate paths in CMakeLists.txt. > - Add -no-undefined linker flag for shared library > - Link shared library with ws2_32 > > > Index: Makefile > =================================================================== > RCS file: /cvs/ports/devel/libnfs/Makefile,v > retrieving revision 1.11 > diff -u -p -u -p -r1.11 Makefile > --- Makefile 4 Mar 2026 09:46:42 -0000 1.11 > +++ Makefile 8 Aug 2026 23:40:43 -0000 > @@ -1,12 +1,12 @@ > COMMENT= client library for accessing NFS > > +DISTNAME= libnfs-7.0.0pl20260708 > GH_ACCOUNT= sahlberg > GH_PROJECT= libnfs > -GH_TAGNAME= libnfs-5.0.2 > -PKGNAME= ${GH_TAGNAME} > +GH_COMMIT= 8d4c2f6057acb6a01a316fbb7eea1c05a06e34c6 > CATEGORIES= devel net > > -SHARED_LIBS= nfs 2.2 > +SHARED_LIBS= nfs 3.0 > > HOMEPAGE= https://github.com/sahlberg/libnfs > > @@ -17,9 +17,11 @@ PERMIT_PACKAGE= Yes > > WANTLIB= c > > -AUTOCONF_VERSION= 2.69 > -AUTOMAKE_VERSION= 1.16 > +MODULES= devel/cmake > > -CONFIGURE_STYLE= autoreconf > +CONFIGURE_ARGS+=-DENABLE_UTILS=ON \ > + -DINSTALL_MAN_DIR="${PREFIX}/man" > + > +NO_TEST= Yes > > .include <bsd.port.mk> > Index: distinfo > =================================================================== > RCS file: /cvs/ports/devel/libnfs/distinfo,v > retrieving revision 1.6 > diff -u -p -u -p -r1.6 distinfo > --- distinfo 4 Mar 2026 09:46:42 -0000 1.6 > +++ distinfo 8 Aug 2026 23:40:43 -0000 > @@ -1,2 +1,2 @@ > -SHA256 (libnfs-libnfs-5.0.2.tar.gz) = Y35WZDsZ2p+6mPBoR3iMTa0wi3IxVqZHSAQQNdzfm9M= > -SIZE (libnfs-libnfs-5.0.2.tar.gz) = 281154 > +SHA256 (libnfs-7.0.0pl20260708-8d4c2f60.tar.gz) = ZUqmlJD4r0SdLOryavOtWOiQphUVgdlGxwQxk8Mil3A= > +SIZE (libnfs-7.0.0pl20260708-8d4c2f60.tar.gz) = 389218 > Index: patches/patch-include_nfsc_libnfs_h > =================================================================== > RCS file: patches/patch-include_nfsc_libnfs_h > diff -N patches/patch-include_nfsc_libnfs_h > --- patches/patch-include_nfsc_libnfs_h 11 Mar 2022 18:50:37 -0000 1.5 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,13 +0,0 @@ > -Index: include/nfsc/libnfs.h > ---- include/nfsc/libnfs.h.orig > -+++ include/nfsc/libnfs.h > -@@ -38,6 +38,9 @@ > - #ifdef __cplusplus > - extern "C" { > - #endif > -+#if defined(__OpenBSD__) > -+#include <sys/time.h> /* gettimeofday */ > -+#endif > - > - #define LIBNFS_FEATURE_READAHEAD > - #define LIBNFS_FEATURE_PAGECACHE > Index: pkg/PLIST > =================================================================== > RCS file: /cvs/ports/devel/libnfs/pkg/PLIST,v > retrieving revision 1.4 > diff -u -p -u -p -r1.4 PLIST > --- pkg/PLIST 11 Mar 2022 18:50:37 -0000 1.4 > +++ pkg/PLIST 8 Aug 2026 23:40:43 -0000 > @@ -13,8 +13,12 @@ include/nfsc/libnfs-raw-rquota.h > include/nfsc/libnfs-raw.h > include/nfsc/libnfs-zdr.h > include/nfsc/libnfs.h > -@static-lib lib/libnfs.a > -lib/libnfs.la > +lib/cmake/ > +lib/cmake/libnfs/ > +lib/cmake/libnfs/FindNFS.cmake > +lib/cmake/libnfs/libnfs-config${MODCMAKE_BUILD_SUFFIX} > +lib/cmake/libnfs/libnfs-config-version.cmake > +lib/cmake/libnfs/libnfs-config.cmake > @lib lib/libnfs.so.${LIBnfs_VERSION} > lib/pkgconfig/libnfs.pc > @man man/man1/nfs-cat.1 >