Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package nfs-utils for openSUSE:Factory 
checked in at 2022-03-11 21:39:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nfs-utils (Old)
 and      /work/SRC/openSUSE:Factory/.nfs-utils.new.25692 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "nfs-utils"

Fri Mar 11 21:39:59 2022 rev:168 rq:960295 version:unknown

Changes:
--------
--- /work/SRC/openSUSE:Factory/nfs-utils/nfs-utils.changes      2021-11-04 
16:16:16.693281922 +0100
+++ /work/SRC/openSUSE:Factory/.nfs-utils.new.25692/nfs-utils.changes   
2022-03-11 21:40:01.442016488 +0100
@@ -1,0 +2,20 @@
+Tue Mar  8 20:58:54 UTC 2022 - Dirk M??ller <dmuel...@suse.com>
+
+- add reenable-nfsv2.patch for reverting nfsv2 deprecation until
+  test coverage is fixed  (poo#106679)
+
+-------------------------------------------------------------------
+Thu Mar  3 10:08:47 UTC 2022 - Martin Li??ka <mli...@suse.cz>
+
+- Add gcc12-fix.patch upstream fix for GCC 12 compiler.
+
+-------------------------------------------------------------------
+Mon Jan 31 07:24:41 UTC 2022 - Petr Vorel <pvo...@suse.cz>
+
+- Update to version 2.6.1
+  - https://kernel.org/pub/linux/utils/nfs-utils/2.6.1/2.6.1-Changelog
+- remove patches from this release:
+  - 0001-gssd-fix-crash-in-debug-message.patch,
+  - Add-disable-sbin-override-for-when-sbin-is-a-symlink.patch
+
+-------------------------------------------------------------------

Old:
----
  0001-gssd-fix-crash-in-debug-message.patch
  Add-disable-sbin-override-for-when-sbin-is-a-symlink.patch
  nfs-utils-2.5.4.tar.xz

New:
----
  gcc12-fix.patch
  nfs-utils-2.6.1.tar.xz
  reenable-nfsv2.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ nfs-utils.spec ++++++
--- /var/tmp/diff_new_pack.aQiQya/_old  2022-03-11 21:40:02.230017049 +0100
+++ /var/tmp/diff_new_pack.aQiQya/_new  2022-03-11 21:40:02.234017051 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package nfs-utils
 #
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -22,7 +22,7 @@
 %endif
 
 Name:           nfs-utils
-Version:        2.5.4
+Version:        2.6.1
 Release:        0
 Summary:        Support Utilities for Kernel nfsd
 License:        GPL-2.0-or-later
@@ -42,9 +42,8 @@
 Source26:       nfs.conf
 Source27:       nfs-kernel-server.tmpfiles.conf
 Patch0:         nfs-utils-1.0.7-bind-syntax.patch
-Patch1:         0001-gssd-fix-crash-in-debug-message.patch
-Patch2:         Add-disable-sbin-override-for-when-sbin-is-a-symlink.patch
-
+Patch1:         gcc12-fix.patch
+Patch2:         reenable-nfsv2.patch
 BuildRequires:  e2fsprogs-devel
 BuildRequires:  gcc-c++
 BuildRequires:  libtool

++++++ gcc12-fix.patch ++++++
>From 7f8463fe702174bd613df9d308cc899af25ae02e Mon Sep 17 00:00:00 2001
From: Steve Dickson <ste...@redhat.com>
Date: Wed, 23 Feb 2022 15:19:51 -0500
Subject: [PATCH] systemd: Fix format-overflow warning

rpc-pipefs-generator.c:35:23: error: '%s' directive output between 0 and 
2147483653 bytes may exceed minimum required size of 4095 
[-Werror=format-overflow=]
   35 |         sprintf(path, "%s/%s", dirname, pipefs_unit);
      |                       ^

Signed-off-by: Steve Dickson <ste...@redhat.com>
---
 systemd/rpc-pipefs-generator.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/systemd/rpc-pipefs-generator.c b/systemd/rpc-pipefs-generator.c
index c24db56..7b2bb4f 100644
--- a/systemd/rpc-pipefs-generator.c
+++ b/systemd/rpc-pipefs-generator.c
@@ -28,11 +28,12 @@ static int generate_mount_unit(const char *pipefs_path, 
const char *pipefs_unit,
 {
        char    *path;
        FILE    *f;
+       size_t size = (strlen(dirname) + 1 + strlen(pipefs_unit));
 
-       path = malloc(strlen(dirname) + 1 + strlen(pipefs_unit));
+       path = malloc(size);
        if (!path)
                return 1;
-       sprintf(path, "%s/%s", dirname, pipefs_unit);
+       snprintf(path, size, "%s/%s", dirname, pipefs_unit);
        f = fopen(path, "w");
        if (!f)
        {
-- 
1.8.3.1


++++++ nfs-utils-2.5.4.tar.xz -> nfs-utils-2.6.1.tar.xz ++++++
++++ 2059 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/nfs-utils-2.5.4/configure.ac new/nfs-utils-2.6.1/configure.ac
--- old/nfs-utils-2.5.4/configure.ac    2021-06-10 20:07:47.000000000 +0200
+++ new/nfs-utils-2.6.1/configure.ac    2022-01-10 16:07:16.000000000 +0100
@@ -1,6 +1,6 @@
 dnl Process this file with autoconf to produce a configure script.
 dnl
-AC_INIT([linux nfs-utils],[2.5.4],[linux-...@vger.kernel.org],[nfs-utils])
+AC_INIT([linux nfs-utils],[2.6.1],[linux-...@vger.kernel.org],[nfs-utils])
 AC_CANONICAL_BUILD([])
 AC_CANONICAL_HOST([])
 AC_CONFIG_MACRO_DIR(aclocal)
@@ -187,6 +187,12 @@
        enable_libmount=no
 fi
 
+AC_ARG_ENABLE(sbin-override,
+       [AC_HELP_STRING([--disable-sbin-override],
+               [Don't force nfsdcltrack and mount helpers into /sbin: always 
honour --sbindir])],
+       enable_sbin_override=$enableval,
+       enable_sbin_override=yes)
+       AM_CONDITIONAL(CONFIG_SBIN_OVERRIDE, [test "$enable_sbin_override" = 
"yes"])
 AC_ARG_ENABLE(junction,
        [AC_HELP_STRING([--enable-junction],
                        [enable support for NFS junctions @<:@default=no@:>@])],
@@ -688,9 +694,28 @@
 AC_SUBST([_sysconfdir])
 AC_CONFIG_COMMANDS_PRE([eval eval _sysconfdir=$sysconfdir])
 
+# make _statedir available for substituion in config files
+# 2 "evals" needed late to expand variable names.
+AC_SUBST([_statedir])
+AC_CONFIG_COMMANDS_PRE([eval eval _statedir=$statedir])
+
+if test "$statedir" = "/var/lib/nfs"; then
+       rpc_pipefsmount="var-lib-nfs-rpc_pipefs.mount"
+else
+       rpc_pipefsmount="$(systemd-escape -p "$statedir/rpc_pipefs").mount"
+fi
+AC_SUBST(rpc_pipefsmount)
+
+# make _rpc_pipefsmount available for substituion in config files
+# 2 "evals" needed late to expand variable names.
+AC_SUBST([_rpc_pipefsmount])
+AC_CONFIG_COMMANDS_PRE([eval eval _rpc_pipefsmount=$rpc_pipefsmount])
+
 AC_CONFIG_FILES([
        Makefile
        systemd/rpc-gssd.service
+       systemd/rpc_pipefs.target
+       systemd/var-lib-nfs-rpc_pipefs.mount
        linux-nfs/Makefile
        support/Makefile
        support/export/Makefile
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/nfs-utils-2.5.4/install-dep new/nfs-utils-2.6.1/install-dep
--- old/nfs-utils-2.5.4/install-dep     1970-01-01 01:00:00.000000000 +0100
+++ new/nfs-utils-2.6.1/install-dep     2022-01-10 16:07:16.000000000 +0100
@@ -0,0 +1,21 @@
+#!/bin/bash
+#install dependencies for compiling from source code
+
+#RHEL/Fedora/CentOS-Stream/Rocky
+command -v dnf >/dev/null || command -v yum >/dev/null && {
+       yum install -y automake libtool make gcc rpcgen libtirpc-devel 
libevent-devel sqlite-devel device-mapper-devel \
+               libblkid-devel krb5-devel libuuid-devel
+}
+
+#Debian/ubuntu
+command -v apt >/dev/null && {
+       apt install -o APT::Install-Suggests=0 -o APT::Install-Recommends=0 
--ignore-missing -y \
+               autotools-dev automake make libtool pkg-config libtirpc-dev 
libevent-dev libsqlite3-dev \
+               libdevmapper-dev libblkid-dev libkrb5-dev libkeyutils-dev 
uuid-dev
+}
+
+#openSUSE Leap
+command -v zypper >/dev/null && {
+       zypper in --no-recommends -y automake libtool make gcc rpcgen 
libtirpc-devel libevent-devel sqlite-devel \
+               device-mapper-devel libblkid-devel krb5-devel libuuid-devel
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/nfs-utils-2.5.4/nfs.conf new/nfs-utils-2.6.1/nfs.conf
--- old/nfs-utils-2.5.4/nfs.conf        2021-06-10 20:07:47.000000000 +0200
+++ new/nfs-utils-2.6.1/nfs.conf        2022-01-10 16:07:16.000000000 +0100
@@ -68,7 +68,6 @@
 # lease-time=90
 # udp=n
 # tcp=y
-# vers2=n
 # vers3=y
 # vers4=y
 # vers4.0=y
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/nfs-utils-2.5.4/support/export/v4clients.c 
new/nfs-utils-2.6.1/support/export/v4clients.c
--- old/nfs-utils-2.5.4/support/export/v4clients.c      2021-06-10 
20:07:47.000000000 +0200
+++ new/nfs-utils-2.6.1/support/export/v4clients.c      2022-01-10 
16:07:16.000000000 +0100
@@ -10,6 +10,7 @@
 #include <sys/inotify.h>
 #include <errno.h>
 #include "export.h"
+#include "version.h"
 
 /* search.h declares 'struct entry' and nfs_prot.h
  * does too.  Easiest fix is to trick search.h into
@@ -23,6 +24,8 @@
 
 void v4clients_init(void)
 {
+       if (linux_version_code() < MAKE_VERSION(5, 3, 0))
+               return;
        if (clients_fd >= 0)
                return;
        clients_fd = inotify_init1(IN_NONBLOCK);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/nfs-utils-2.5.4/support/include/version.h 
new/nfs-utils-2.6.1/support/include/version.h
--- old/nfs-utils-2.5.4/support/include/version.h       1970-01-01 
01:00:00.000000000 +0100
+++ new/nfs-utils-2.6.1/support/include/version.h       2022-03-11 
21:40:02.578017296 +0100
@@ -0,0 +1 @@
+symbolic link to ../../utils/mount/version.h
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/nfs-utils-2.5.4/support/nfs/cacheio.c 
new/nfs-utils-2.6.1/support/nfs/cacheio.c
--- old/nfs-utils-2.5.4/support/nfs/cacheio.c   2021-06-10 20:07:47.000000000 
+0200
+++ new/nfs-utils-2.6.1/support/nfs/cacheio.c   2022-01-10 16:07:16.000000000 
+0100
@@ -213,7 +213,6 @@
 void
 cache_flush(void)
 {
-       struct stat stb;
        int c;
        char stime[32];
        char path[200];
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/nfs-utils-2.5.4/support/nfsidmap/nss.c 
new/nfs-utils-2.6.1/support/nfsidmap/nss.c
--- old/nfs-utils-2.5.4/support/nfsidmap/nss.c  2021-06-10 20:07:47.000000000 
+0200
+++ new/nfs-utils-2.6.1/support/nfsidmap/nss.c  2022-01-10 16:07:16.000000000 
+0100
@@ -365,10 +365,8 @@
 out_buf:
        free(buf);
 out_name:
-       if (dostrip)
-               free(localname);
-       if (get_reformat_group())
-               free(ref_name);
+       free(localname);
+       free(ref_name);
 out:
        return err;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/nfs-utils-2.5.4/support/nfsidmap/regex.c 
new/nfs-utils-2.6.1/support/nfsidmap/regex.c
--- old/nfs-utils-2.5.4/support/nfsidmap/regex.c        2021-06-10 
20:07:47.000000000 +0200
+++ new/nfs-utils-2.6.1/support/nfsidmap/regex.c        2022-01-10 
16:07:16.000000000 +0100
@@ -157,6 +157,7 @@
        IDMAP_LOG(4, ("regexp_getpwnam: name '%s' mapped to '%s'",
                  name, localname));
 
+       free(localname);
        *err_p = 0;
        return pw;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/nfs-utils-2.5.4/systemd/Makefile.am new/nfs-utils-2.6.1/systemd/Makefile.am
--- old/nfs-utils-2.5.4/systemd/Makefile.am     2021-06-10 20:07:47.000000000 
+0200
+++ new/nfs-utils-2.6.1/systemd/Makefile.am     2022-01-10 16:07:16.000000000 
+0100
@@ -12,7 +12,9 @@
     rpc-statd-notify.service \
     rpc-statd.service \
     \
-    proc-fs-nfsd.mount \
+    proc-fs-nfsd.mount
+
+rpc_pipefs_mount_file = \
     var-lib-nfs-rpc_pipefs.mount
 
 if CONFIG_NFSV4
@@ -51,8 +53,7 @@
 man7_MANS      = nfs.systemd.man
 EXTRA_DIST = $(unit_files) $(man5_MANS) $(man7_MANS)
 
-unit_dir = /usr/lib/systemd/system
-generator_dir = /usr/lib/systemd/system-generators
+generator_dir = $(unitdir)/../system-generators
 
 EXTRA_PROGRAMS = nfs-server-generator rpc-pipefs-generator
 genexecdir = $(generator_dir)
@@ -75,4 +76,5 @@
 install-data-hook: $(unit_files)
        mkdir -p $(DESTDIR)/$(unitdir)
        cp $(unit_files) $(DESTDIR)/$(unitdir)
+       cp $(rpc_pipefs_mount_file) $(DESTDIR)/$(unitdir)/$(rpc_pipefsmount)
 endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/nfs-utils-2.5.4/systemd/rpc-pipefs-generator.c 
new/nfs-utils-2.6.1/systemd/rpc-pipefs-generator.c
--- old/nfs-utils-2.5.4/systemd/rpc-pipefs-generator.c  2021-06-10 
20:07:47.000000000 +0200
+++ new/nfs-utils-2.6.1/systemd/rpc-pipefs-generator.c  2022-01-10 
16:07:16.000000000 +0100
@@ -21,7 +21,7 @@
 #include "conffile.h"
 #include "systemd.h"
 
-#define RPC_PIPEFS_DEFAULT "/var/lib/nfs/rpc_pipefs"
+#define RPC_PIPEFS_DEFAULT NFS_STATEDIR "/rpc_pipefs"
 
 static int generate_mount_unit(const char *pipefs_path, const char 
*pipefs_unit,
                               const char *dirname)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/nfs-utils-2.5.4/systemd/rpc_pipefs.target.in 
new/nfs-utils-2.6.1/systemd/rpc_pipefs.target.in
--- old/nfs-utils-2.5.4/systemd/rpc_pipefs.target.in    1970-01-01 
01:00:00.000000000 +0100
+++ new/nfs-utils-2.6.1/systemd/rpc_pipefs.target.in    2022-01-10 
16:07:16.000000000 +0100
@@ -0,0 +1,3 @@
+[Unit]
+Requires=@_rpc_pipefsmount@
+After=@_rpc_pipefsmount@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/nfs-utils-2.5.4/systemd/var-lib-nfs-rpc_pipefs.mount.in 
new/nfs-utils-2.6.1/systemd/var-lib-nfs-rpc_pipefs.mount.in
--- old/nfs-utils-2.5.4/systemd/var-lib-nfs-rpc_pipefs.mount.in 1970-01-01 
01:00:00.000000000 +0100
+++ new/nfs-utils-2.6.1/systemd/var-lib-nfs-rpc_pipefs.mount.in 2022-01-10 
16:07:16.000000000 +0100
@@ -0,0 +1,10 @@
+[Unit]
+Description=RPC Pipe File System
+DefaultDependencies=no
+After=systemd-tmpfiles-setup.service
+Conflicts=umount.target
+
+[Mount]
+What=sunrpc
+Where=@_statedir@/rpc_pipefs
+Type=rpc_pipefs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/nfs-utils-2.5.4/tools/mountstats/mountstats.py 
new/nfs-utils-2.6.1/tools/mountstats/mountstats.py
--- old/nfs-utils-2.5.4/tools/mountstats/mountstats.py  2021-06-10 
20:07:47.000000000 +0200
+++ new/nfs-utils-2.6.1/tools/mountstats/mountstats.py  2022-01-10 
16:07:16.000000000 +0100
@@ -482,8 +482,11 @@
             count = stats[1]
             if count != 0:
                 print('%s:' % stats[0])
+                ops_pcnt = 0
+                if sends != 0:
+                    ops_pcnt = (count * 100) / sends
                 print('\t%d ops (%d%%)' % \
-                    (count, ((count * 100) / sends)), end=' ')
+                    (count, ops_pcnt), end=' ')
                 retrans = stats[2] - count
                 if retrans != 0:
                     print('\t%d retrans (%d%%)' % (retrans, ((retrans * 100) / 
count)), end=' ')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/nfs-utils-2.5.4/tools/rpcgen/rpc_main.c 
new/nfs-utils-2.6.1/tools/rpcgen/rpc_main.c
--- old/nfs-utils-2.5.4/tools/rpcgen/rpc_main.c 2021-06-10 20:07:47.000000000 
+0200
+++ new/nfs-utils-2.6.1/tools/rpcgen/rpc_main.c 2022-01-10 16:07:16.000000000 
+0100
@@ -62,6 +62,12 @@
 #define EXTEND 1               /* alias for TRUE */
 #define DONT_EXTEND    0       /* alias for FALSE */
 
+#ifdef __APPLE__
+# if __DARWIN_ONLY_64_BIT_INO_T
+#  define stat64 stat
+# endif
+#endif
+
 struct commandline
   {
     int cflag;                 /* xdr C routines */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/nfs-utils-2.5.4/utils/blkmapd/device-discovery.c 
new/nfs-utils-2.6.1/utils/blkmapd/device-discovery.c
--- old/nfs-utils-2.5.4/utils/blkmapd/device-discovery.c        2021-06-10 
20:07:47.000000000 +0200
+++ new/nfs-utils-2.6.1/utils/blkmapd/device-discovery.c        2022-01-10 
16:07:16.000000000 +0100
@@ -63,7 +63,7 @@
 #define EVENT_SIZE (sizeof(struct inotify_event))
 #define EVENT_BUFSIZE (1024 * EVENT_SIZE)
 
-#define RPCPIPE_DIR    "/var/lib/nfs/rpc_pipefs"
+#define RPCPIPE_DIR    NFS_STATEDIR "/rpc_pipefs"
 #define PID_FILE       "/run/blkmapd.pid"
 
 #define CONF_SAVE(w, f) do {                   \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/nfs-utils-2.5.4/utils/gssd/gssd.c new/nfs-utils-2.6.1/utils/gssd/gssd.c
--- old/nfs-utils-2.5.4/utils/gssd/gssd.c       2021-06-10 20:07:47.000000000 
+0200
+++ new/nfs-utils-2.6.1/utils/gssd/gssd.c       2022-01-10 16:07:16.000000000 
+0100
@@ -1016,7 +1016,7 @@
                keytabfile = s;
        s = conf_get_str("gssd", "cred-cache-directory");
        if (s)
-               ccachedir = s;
+               ccachedir = strdup(s);
        s = conf_get_str("gssd", "preferred-realm");
        if (s)
                preferred_realm = s;
@@ -1070,7 +1070,8 @@
                                keytabfile = optarg;
                                break;
                        case 'd':
-                               ccachedir = optarg;
+                               free(ccachedir);
+                               ccachedir = strdup(optarg);
                                break;
                        case 't':
                                context_timeout = atoi(optarg);
@@ -1133,7 +1134,6 @@
        }
 
        if (ccachedir) {
-               char *ccachedir_copy;
                char *ptr;
 
                for (ptr = ccachedir, i = 2; *ptr; ptr++)
@@ -1141,8 +1141,7 @@
                                i++;
 
                ccachesearch = malloc(i * sizeof(char *));
-               ccachedir_copy = strdup(ccachedir);
-               if (!ccachedir_copy || !ccachesearch) {
+               if (!ccachesearch) {
                        printerr(0, "malloc failure\n");
                        exit(EXIT_FAILURE);
                }
@@ -1274,6 +1273,7 @@
 
        free(preferred_realm);
        free(ccachesearch);
+       free(ccachedir);
 
        return rc < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/nfs-utils-2.5.4/utils/gssd/gssd.h new/nfs-utils-2.6.1/utils/gssd/gssd.h
--- old/nfs-utils-2.5.4/utils/gssd/gssd.h       2021-06-10 20:07:47.000000000 
+0200
+++ new/nfs-utils-2.6.1/utils/gssd/gssd.h       2022-01-10 16:07:16.000000000 
+0100
@@ -39,7 +39,7 @@
 #include <pthread.h>
 
 #ifndef GSSD_PIPEFS_DIR
-#define GSSD_PIPEFS_DIR                "/var/lib/nfs/rpc_pipefs"
+#define GSSD_PIPEFS_DIR                NFS_STATEDIR "/rpc_pipefs"
 #endif
 #define DNOTIFY_SIGNAL         (SIGRTMIN + 3)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/nfs-utils-2.5.4/utils/gssd/krb5_util.c 
new/nfs-utils-2.6.1/utils/gssd/krb5_util.c
--- old/nfs-utils-2.5.4/utils/gssd/krb5_util.c  2021-06-10 20:07:47.000000000 
+0200
+++ new/nfs-utils-2.6.1/utils/gssd/krb5_util.c  2022-01-10 16:07:16.000000000 
+0100
@@ -673,8 +673,8 @@
            *c = tolower(*c);
 
        if (get_verbosity() && strcmp(inhost, outhost))
-               printerr(1, "%s(0x%0lx): inhost '%s' different than 
outhost'%s'\n", 
-                       inhost, outhost);
+               printerr(1, "%s(0x%0lx): inhost '%s' different than outhost 
'%s'\n", 
+                        __func__, tid, inhost, outhost);
 
        retval = 0;
 out:
@@ -1129,6 +1129,12 @@
                            *str = '\0';
                            *ret_princname = strdup(princstring);
                            *ret_realm = strdup(str+1);
+                           if (!*ret_princname || !*ret_realm) {
+                                   free(*ret_princname);
+                                   free(*ret_realm);
+                                   *ret_princname = NULL;
+                                   *ret_realm = NULL;
+                           }
                    }
                    k5_free_unparsed_name(context, princstring);
                }
@@ -1350,15 +1356,19 @@
                if (retval)
                        continue;
                if (i + 1 > listsize) {
+                       char **tmplist;
                        listsize += listinc;
-                       l = (char **)
+                       tmplist = (char **)
                                realloc(l, listsize * sizeof(char *));
-                       if (l == NULL) {
+                       if (tmplist == NULL) {
+                               gssd_free_krb5_machine_cred_list(l);
                                retval = ENOMEM;
                                goto out_lock;
                        }
+                       l = tmplist;
                }
                if ((l[i++] = strdup(ple->ccname)) == NULL) {
+                       gssd_free_krb5_machine_cred_list(l);
                        retval = ENOMEM;
                        goto out_lock;
                }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/nfs-utils-2.5.4/utils/gssd/svcgssd_krb5.c 
new/nfs-utils-2.6.1/utils/gssd/svcgssd_krb5.c
--- old/nfs-utils-2.5.4/utils/gssd/svcgssd_krb5.c       2021-06-10 
20:07:47.000000000 +0200
+++ new/nfs-utils-2.6.1/utils/gssd/svcgssd_krb5.c       2022-01-10 
16:07:16.000000000 +0100
@@ -46,7 +46,7 @@
 #include "gss_oids.h"
 #include "err_util.h"
 #include "svcgssd_krb5.h"
-#include "../mount/version.h"
+#include "version.h"
 
 #define MYBUFLEN 1024
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/nfs-utils-2.5.4/utils/idmapd/idmapd.c 
new/nfs-utils-2.6.1/utils/idmapd/idmapd.c
--- old/nfs-utils-2.5.4/utils/idmapd/idmapd.c   2021-06-10 20:07:47.000000000 
+0200
+++ new/nfs-utils-2.6.1/utils/idmapd/idmapd.c   2022-01-10 16:07:16.000000000 
+0100
@@ -73,7 +73,7 @@
 #include "nfslib.h"
 
 #ifndef PIPEFS_DIR
-#define PIPEFS_DIR  "/var/lib/nfs/rpc_pipefs/"
+#define PIPEFS_DIR  NFS_STATEDIR "/rpc_pipefs/"
 #endif
 
 #ifndef NFSD_DIR
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/nfs-utils-2.5.4/utils/mount/Makefile.am 
new/nfs-utils-2.6.1/utils/mount/Makefile.am
--- old/nfs-utils-2.5.4/utils/mount/Makefile.am 2021-06-10 20:07:47.000000000 
+0200
+++ new/nfs-utils-2.6.1/utils/mount/Makefile.am 2022-01-10 16:07:16.000000000 
+0100
@@ -1,8 +1,10 @@
 ## Process this file with automake to produce Makefile.in
 
-# These binaries go in /sbin (not /usr/sbin), and that cannot be
-# overridden at config time.
-sbindir = /sbin
+# These binaries go in /sbin (not /usr/sbin), unless CONFIG_SBIN_OVERRIDE
+# is disabled as may be appropriate when /sbin is a symlink.
+# Note that we don't use "if CONFIG_SBIN_OVERRIDE" as that
+# causes autotools to notice the override and disable it.
+@CONFIG_SBIN_OVERRIDE_TRUE@sbindir = /sbin
 
 man8_MANS      = mount.nfs.man umount.nfs.man
 man5_MANS      = nfs.man
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/nfs-utils-2.5.4/utils/mount/configfile.c 
new/nfs-utils-2.6.1/utils/mount/configfile.c
--- old/nfs-utils-2.5.4/utils/mount/configfile.c        2021-06-10 
20:07:47.000000000 +0200
+++ new/nfs-utils-2.6.1/utils/mount/configfile.c        2022-01-10 
16:07:16.000000000 +0100
@@ -71,7 +71,7 @@
 int mnt_alias_sz = (sizeof(mnt_alias_tab)/sizeof(mnt_alias_tab[0]));
 
 static const char *version_keys[] = {
-       "v2", "v3", "v4", "vers", "nfsvers", "minorversion", NULL
+       "v3", "v4", "vers", "nfsvers", "minorversion", NULL
 };
 
 static int strict;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/nfs-utils-2.5.4/utils/mount/mount.nfs.man 
new/nfs-utils-2.6.1/utils/mount/mount.nfs.man
--- old/nfs-utils-2.5.4/utils/mount/mount.nfs.man       2021-06-10 
20:07:47.000000000 +0200
+++ new/nfs-utils-2.6.1/utils/mount/mount.nfs.man       2022-01-10 
16:07:16.000000000 +0100
@@ -27,7 +27,7 @@
 .BR mount.nfs4
 must be used for mounting NFSv4 file systems while
 .BR mount.nfs
-must be used for NFSv3 and v2.
+must be used for NFSv3.
 
 .SH OPTIONS
 .TP
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/nfs-utils-2.5.4/utils/mount/network.c 
new/nfs-utils-2.6.1/utils/mount/network.c
--- old/nfs-utils-2.5.4/utils/mount/network.c   2021-06-10 20:07:47.000000000 
+0200
+++ new/nfs-utils-2.6.1/utils/mount/network.c   2022-01-10 16:07:16.000000000 
+0100
@@ -97,7 +97,7 @@
 };
 
 static const char *nfs_version_opttbl[] = {
-       "v2",
+       "v2", /* no longer supported */
        "v3",
        "v4",
        "vers",
@@ -429,10 +429,6 @@
        if (resvp) {
                if (bindresvport(so, &laddr) < 0)
                        goto err_bindresvport;
-       } else {
-               cc = bind(so, SAFE_SOCKADDR(&laddr), namelen);
-               if (cc < 0)
-                       goto err_bind;
        }
        if (type == SOCK_STREAM || (conn && type == SOCK_DGRAM)) {
                cc = connect_to(so, SAFE_SOCKADDR(saddr), namelen,
@@ -464,17 +460,6 @@
        close(so);
        return RPC_ANYSOCK;
 
-err_bind:
-       rpc_createerr.cf_stat = RPC_SYSTEMERROR;
-       rpc_createerr.cf_error.re_errno = errno;
-       if (verbose) {
-               nfs_error(_("%s: Unable to bind to %s socket: errno %d (%s)\n"),
-                       progname, p_prot == IPPROTO_UDP ? _("UDP") : _("TCP"),
-                       errno, strerror(errno));
-       }
-       close(so);
-       return RPC_ANYSOCK;
-
 err_connect:
        rpc_createerr.cf_stat = RPC_SYSTEMERROR;
        rpc_createerr.cf_error.re_errno = errno;
@@ -1290,7 +1275,7 @@
        else if (found < 0)
                return 1;
        else if (found <= 2 ) {
-               /* v2, v3, v4 */
+               /* v3, v4 */
                version_val = version_key + 1;
                version->v_mode = V_SPECIFIC;
        } else if (found > 2 ) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/nfs-utils-2.5.4/utils/mount/nfs.man new/nfs-utils-2.6.1/utils/mount/nfs.man
--- old/nfs-utils-2.5.4/utils/mount/nfs.man     2021-06-10 20:07:47.000000000 
+0200
+++ new/nfs-utils-2.6.1/utils/mount/nfs.man     2022-01-10 16:07:16.000000000 
+0100
@@ -12,7 +12,7 @@
 to allow file sharing between systems residing
 on a local area network.
 Depending on kernel configuration, the Linux NFS client may
-support NFS versions 2, 3, 4.0, 4.1, or 4.2.
+support NFS versions 3, 4.0, 4.1, or 4.2.
 .P
 The
 .BR mount (8)
@@ -416,6 +416,19 @@
 option may also be used by some pNFS drivers to decide how many
 connections to set up to the data servers.
 .TP 1.5i
+.BR max_connect= n
+While
+.BR nconnect
+option sets a limit on the number of connections that can be established
+to a given server IP,
+.BR max_connect
+option allows the user to specify maximum number of connections to different
+server IPs that belong to the same NFSv4.1+ server (session trunkable
+connections) up to a limit of 16. When client discovers that it established
+a client ID to an already existing server, instead of dropping the newly
+created network transport, the client will add this new connection to the
+list of available transports for that RPC client.
+.TP 1.5i
 .BR rdirplus " / " nordirplus
 Selects whether to use NFS v3 or v4 READDIRPLUS requests.
 If this option is not specified, the NFS client uses READDIRPLUS requests
@@ -555,6 +568,13 @@
 and <kernel_source>/Documentation/filesystems/caching
 for detail on how to configure the FS-Cache facility.
 Default value is nofsc.
+.TP 1.5i
+.B sloppy
+The
+.B sloppy
+option is an alternative to specifying
+.BR mount.nfs " -s " option.
+
 .SS "Options for NFS versions 2 and 3 only"
 Use these options, along with the options in the above subsection,
 for NFS versions 2 and 3 only.
@@ -934,11 +954,6 @@
 .BR nfsmount.conf(5)
 for details.
 .SH EXAMPLES
-To mount an export using NFS version 2,
-use the
-.B nfs
-file system type and specify the
-.B nfsvers=2
 mount option.
 To mount using NFS version 3,
 use the
@@ -965,13 +980,6 @@
        server:/export  /mnt    nfs     defaults        0 0
 .fi
 .P
-Here is an example from an /etc/fstab file for an NFS version 2 mount over UDP.
-.P
-.nf
-.ta 8n +16n +6n +6n +30n
-       server:/export  /mnt    nfs     nfsvers=2,proto=udp     0 0
-.fi
-.P
 This example shows how to mount using NFS version 4 over TCP
 with Kerberos 5 mutual authentication.
 .P
@@ -1064,7 +1072,7 @@
 can safely be allowed to default to the largest values supported by
 both client and server, independent of the network's MTU size.
 .SS "Using the mountproto mount option"
-This section applies only to NFS version 2 and version 3 mounts
+This section applies only to NFS version 3 mounts
 since NFS version 4 does not use a separate protocol for mount
 requests.
 .P
@@ -1467,7 +1475,7 @@
 mount option.
 .SS "Using file locks with NFS"
 The Network Lock Manager protocol is a separate sideband protocol
-used to manage file locks in NFS version 2 and version 3.
+used to manage file locks in NFS version 3.
 To support lock recovery after a client or server reboot,
 a second sideband protocol --
 known as the Network Status Manager protocol --
@@ -1887,8 +1895,6 @@
 .br
 RFC 793 for the TCP specification.
 .br
-RFC 1094 for the NFS version 2 specification.
-.br
 RFC 1813 for the NFS version 3 specification.
 .br
 RFC 1832 for the XDR specification.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/nfs-utils-2.5.4/utils/mount/nfsmount.conf 
new/nfs-utils-2.6.1/utils/mount/nfsmount.conf
--- old/nfs-utils-2.5.4/utils/mount/nfsmount.conf       2021-06-10 
20:07:47.000000000 +0200
+++ new/nfs-utils-2.6.1/utils/mount/nfsmount.conf       2022-01-10 
16:07:16.000000000 +0100
@@ -28,7 +28,7 @@
 # This statically named section defines global mount 
 # options that can be applied on all NFS mount.
 #
-# Protocol Version [2,3,4]
+# Protocol Version [3,4]
 # This defines the default protocol version which will
 # be used to start the negotiation with the server.
 # Defaultvers=4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/nfs-utils-2.5.4/utils/mount/stropts.c 
new/nfs-utils-2.6.1/utils/mount/stropts.c
--- old/nfs-utils-2.5.4/utils/mount/stropts.c   2021-06-10 20:07:47.000000000 
+0200
+++ new/nfs-utils-2.6.1/utils/mount/stropts.c   2022-01-10 16:07:16.000000000 
+0100
@@ -339,16 +339,25 @@
 
 static int nfs_insert_sloppy_option(struct mount_options *options)
 {
-       if (!sloppy || linux_version_code() < MAKE_VERSION(2, 6, 27))
+       if (linux_version_code() < MAKE_VERSION(2, 6, 27))
                return 1;
 
-       if (po_insert(options, "sloppy") == PO_FAILED)
-               return 0;
+       if (po_contains(options, "sloppy")) {
+               po_remove_all(options, "sloppy");
+               sloppy++;
+       }
+
+       if (sloppy) {
+               if (po_insert(options, "sloppy") == PO_FAILED)
+                       return 0;
+       }
+
        return 1;
 }
 
 static int nfs_set_version(struct nfsmount_info *mi)
 {
+
        if (!nfs_nfs_version(mi->type, mi->options, &mi->version))
                return 0;
 
@@ -1008,7 +1017,6 @@
        }
 
        switch (mi->version.major) {
-               case 2:
                case 3:
                        result = nfs_try_mount_v3v2(mi, FALSE);
                        break;
@@ -1239,6 +1247,14 @@
        if (!nfs_validate_options(mi))
                return EX_FAIL;
 
+       /* 
+        * NFS v2 has been deprecated
+        */
+       if (mi->version.major == 2) {
+               mount_error(mi->spec, mi->node, EOPNOTSUPP);
+               return EX_FAIL;
+       }
+
        /*
         * Avoid retry and negotiation logic when remounting
         */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/nfs-utils-2.5.4/utils/mountd/rmtab.c 
new/nfs-utils-2.6.1/utils/mountd/rmtab.c
--- old/nfs-utils-2.5.4/utils/mountd/rmtab.c    2021-06-10 20:07:47.000000000 
+0200
+++ new/nfs-utils-2.6.1/utils/mountd/rmtab.c    2022-01-10 16:07:16.000000000 
+0100
@@ -233,6 +233,9 @@
                        m->ml_directory = strdup(rep->r_path);
 
                        if (m->ml_hostname == NULL || m->ml_directory == NULL) {
+                               free(m->ml_hostname);
+                               free(m->ml_directory);
+                               free(m);
                                mountlist_freeall(mlist);
                                mlist = NULL;
                                xlog(L_ERROR, "%s: memory allocation failed",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/nfs-utils-2.5.4/utils/nfsd/nfsd.c new/nfs-utils-2.6.1/utils/nfsd/nfsd.c
--- old/nfs-utils-2.5.4/utils/nfsd/nfsd.c       2021-06-10 20:07:47.000000000 
+0200
+++ new/nfs-utils-2.6.1/utils/nfsd/nfsd.c       2022-01-10 16:07:16.000000000 
+0100
@@ -226,7 +226,6 @@
                                }
                                /* FALLTHRU */
                        case 3:
-                       case 2:
                                NFSCTL_VERUNSET(versbits, c);
                                break;
                        default:
@@ -251,7 +250,6 @@
                                        minorvers = minorversset = minormask;
                                /* FALLTHRU */
                        case 3:
-                       case 2:
                                NFSCTL_VERSET(versbits, c);
                                break;
                        default:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/nfs-utils-2.5.4/utils/nfsd/nfsd.man new/nfs-utils-2.6.1/utils/nfsd/nfsd.man
--- old/nfs-utils-2.5.4/utils/nfsd/nfsd.man     2021-06-10 20:07:47.000000000 
+0200
+++ new/nfs-utils-2.6.1/utils/nfsd/nfsd.man     2022-01-10 16:07:16.000000000 
+0100
@@ -57,7 +57,7 @@
 .B rpc.nfsd
 does not offer certain versions of NFS. The current version of
 .B rpc.nfsd
-can support major NFS versions 2,3,4 and the minor versions 4.0, 4.1 and 4.2.
+can support major NFS versions 3,4 and the minor versions 4.0, 4.1 and 4.2.
 .TP
 .B \-s " or " \-\-syslog
 By default,
@@ -84,7 +84,7 @@
 .B rpc.nfsd
 offer certain versions of NFS. The current version of
 .B rpc.nfsd
-can support major NFS versions 2,3,4 and the minor versions 4.0, 4.1 and 4.2.
+can support major NFS versions 3,4 and the minor versions 4.0, 4.1 and 4.2.
 .TP
 .B \-L " or " \-\-lease-time seconds
 Set the lease-time used for NFSv4.  This corresponds to how often
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/nfs-utils-2.5.4/utils/nfsd/nfssvc.c new/nfs-utils-2.6.1/utils/nfsd/nfssvc.c
--- old/nfs-utils-2.5.4/utils/nfsd/nfssvc.c     2021-06-10 20:07:47.000000000 
+0200
+++ new/nfs-utils-2.6.1/utils/nfsd/nfssvc.c     2022-01-10 16:07:16.000000000 
+0100
@@ -25,7 +25,7 @@
 #include "nfslib.h"
 #include "xlog.h"
 #include "nfssvc.h"
-#include "../mount/version.h"
+#include "version.h"
 
 #ifndef NFSD_FS_DIR
 #define NFSD_FS_DIR      "/proc/fs/nfsd"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/nfs-utils-2.5.4/utils/nfsdcld/nfsdcld.c 
new/nfs-utils-2.6.1/utils/nfsdcld/nfsdcld.c
--- old/nfs-utils-2.5.4/utils/nfsdcld/nfsdcld.c 2021-06-10 20:07:47.000000000 
+0200
+++ new/nfs-utils-2.6.1/utils/nfsdcld/nfsdcld.c 2022-01-10 16:07:16.000000000 
+0100
@@ -45,7 +45,7 @@
 #include "cld.h"
 #include "cld-internal.h"
 #include "sqlite.h"
-#include "../mount/version.h"
+#include "version.h"
 #include "conffile.h"
 #include "legacy.h"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/nfs-utils-2.5.4/utils/nfsdcltrack/Makefile.am 
new/nfs-utils-2.6.1/utils/nfsdcltrack/Makefile.am
--- old/nfs-utils-2.5.4/utils/nfsdcltrack/Makefile.am   2021-06-10 
20:07:47.000000000 +0200
+++ new/nfs-utils-2.6.1/utils/nfsdcltrack/Makefile.am   2022-01-10 
16:07:16.000000000 +0100
@@ -1,8 +1,11 @@
 ## Process this file with automake to produce Makefile.in
 
-# These binaries go in /sbin (not /usr/sbin), and that cannot be
-# overridden at config time. The kernel "knows" the /sbin name.
-sbindir = /sbin
+# These binaries go in /sbin (not /usr/sbin) as the kernel "knows" the
+# /sbin name.  If /sbin is a symlink, CONFIG_SBIN_OVERRIDE can be
+# disabled to install in /usr/sbin anyway.
+# Note that we don't use "if CONFIG_SBIN_OVERRIDE" as that
+# causes autotools to notice the override and disable it.
+@CONFIG_SBIN_OVERRIDE_TRUE@sbindir = /sbin
 
 man8_MANS      = nfsdcltrack.man
 EXTRA_DIST     = $(man8_MANS)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/nfs-utils-2.5.4/utils/nfsdcltrack/nfsdcltrack.c 
new/nfs-utils-2.6.1/utils/nfsdcltrack/nfsdcltrack.c
--- old/nfs-utils-2.5.4/utils/nfsdcltrack/nfsdcltrack.c 2021-06-10 
20:07:47.000000000 +0200
+++ new/nfs-utils-2.6.1/utils/nfsdcltrack/nfsdcltrack.c 2022-01-10 
16:07:16.000000000 +0100
@@ -33,6 +33,7 @@
 #include <sys/stat.h>
 #include <sys/types.h>
 #include <fcntl.h>
+#include <inttypes.h>
 #include <unistd.h>
 #include <libgen.h>
 #include <sys/inotify.h>
@@ -507,7 +508,7 @@
 {
        int ret;
        char *tail;
-       time_t gracetime;
+       uint64_t gracetime;
 
 
        ret = sqlite_prepare_dbh(storagedir);
@@ -525,7 +526,7 @@
        if (*tail)
                return -EINVAL;
 
-       xlog(D_GENERAL, "%s: grace done. gracetime=%ld", __func__, gracetime);
+       xlog(D_GENERAL, "%s: grace done. gracetime=%"PRIu64, __func__, 
gracetime);
 
        ret = sqlite_remove_unreclaimed(gracetime);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/nfs-utils-2.5.4/utils/nfsdcltrack/sqlite.c 
new/nfs-utils-2.6.1/utils/nfsdcltrack/sqlite.c
--- old/nfs-utils-2.5.4/utils/nfsdcltrack/sqlite.c      2021-06-10 
20:07:47.000000000 +0200
+++ new/nfs-utils-2.6.1/utils/nfsdcltrack/sqlite.c      2022-01-10 
16:07:16.000000000 +0100
@@ -46,6 +46,7 @@
 #include <sys/stat.h>
 #include <sys/types.h>
 #include <fcntl.h>
+#include <inttypes.h>
 #include <unistd.h>
 #include <sqlite3.h>
 #include <linux/limits.h>
@@ -539,12 +540,12 @@
  * remove any client records that were not reclaimed since grace_start.
  */
 int
-sqlite_remove_unreclaimed(time_t grace_start)
+sqlite_remove_unreclaimed(uint64_t grace_start)
 {
        int ret;
        char *err = NULL;
 
-       ret = snprintf(buf, sizeof(buf), "DELETE FROM clients WHERE time < %ld",
+       ret = snprintf(buf, sizeof(buf), "DELETE FROM clients WHERE time < 
%"PRIu64,
                        grace_start);
        if (ret < 0) {
                return ret;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/nfs-utils-2.5.4/utils/nfsdcltrack/sqlite.h 
new/nfs-utils-2.6.1/utils/nfsdcltrack/sqlite.h
--- old/nfs-utils-2.5.4/utils/nfsdcltrack/sqlite.h      2021-06-10 
20:07:47.000000000 +0200
+++ new/nfs-utils-2.6.1/utils/nfsdcltrack/sqlite.h      2022-01-10 
16:07:16.000000000 +0100
@@ -26,7 +26,7 @@
 int sqlite_remove_client(const unsigned char *clname, const size_t namelen);
 int sqlite_check_client(const unsigned char *clname, const size_t namelen,
                                const bool has_session);
-int sqlite_remove_unreclaimed(const time_t grace_start);
+int sqlite_remove_unreclaimed(const uint64_t grace_start);
 int sqlite_query_reclaiming(const time_t grace_start);
 
 #endif /* _SQLITE_H */

++++++ reenable-nfsv2.patch ++++++
This reverts 
https://git.kernel.org/pub/scm/linux/kernel/git/rw/nfs-utils.git/commit/?id=2c2c36c59fa1de2ff7fd28917e54700ecb39b730
and 
https://git.kernel.org/pub/scm/linux/kernel/git/rw/nfs-utils.git/commit/?id=2c2c36c59fa1de2ff7fd28917e54700ecb39b730

as openqa is still testing NFSv2
see https://progress.opensuse.org/issues/106679

--- nfs-utils-2.6.1.orig/utils/mount/configfile.c
+++ nfs-utils-2.6.1/utils/mount/configfile.c
@@ -71,7 +71,7 @@ struct mnt_alias {
 int mnt_alias_sz = (sizeof(mnt_alias_tab)/sizeof(mnt_alias_tab[0]));
 
 static const char *version_keys[] = {
-       "v3", "v4", "vers", "nfsvers", "minorversion", NULL
+       "v2", "v3", "v4", "vers", "nfsvers", "minorversion", NULL
 };
 
 static int strict;
--- nfs-utils-2.6.1.orig/utils/mount/stropts.c
+++ nfs-utils-2.6.1/utils/mount/stropts.c
@@ -1017,6 +1017,7 @@ static int nfs_try_mount(struct nfsmount
        }
 
        switch (mi->version.major) {
+               case 2:
                case 3:
                        result = nfs_try_mount_v3v2(mi, FALSE);
                        break;
@@ -1247,14 +1248,6 @@ static int nfsmount_start(struct nfsmoun
        if (!nfs_validate_options(mi))
                return EX_FAIL;
 
-       /* 
-        * NFS v2 has been deprecated
-        */
-       if (mi->version.major == 2) {
-               mount_error(mi->spec, mi->node, EOPNOTSUPP);
-               return EX_FAIL;
-       }
-
        /*
         * Avoid retry and negotiation logic when remounting
         */
--- nfs-utils-2.6.1.orig/utils/nfsd/nfsd.c
+++ nfs-utils-2.6.1/utils/nfsd/nfsd.c
@@ -226,6 +226,7 @@ main(int argc, char **argv)
                                }
                                /* FALLTHRU */
                        case 3:
+                       case 2:
                                NFSCTL_VERUNSET(versbits, c);
                                break;
                        default:
@@ -250,6 +251,7 @@ main(int argc, char **argv)
                                        minorvers = minorversset = minormask;
                                /* FALLTHRU */
                        case 3:
+                       case 2:
                                NFSCTL_VERSET(versbits, c);
                                break;
                        default:

Reply via email to