Download raw body.
UPDATE: libnfs 7.0.0
Here is an update to libnfs 7.0.0.
All depends build Ok.
* 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
UPDATE: libnfs 7.0.0