Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package pam_mount for openSUSE:Factory 
checked in at 2026-10-31 23:11:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pam_mount (Old)
 and      /work/SRC/openSUSE:Factory/.pam_mount.new.1255 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "pam_mount"

Sat Oct 31 23:11:46 2026 rev:81 rq:1394200 version:2.23

Changes:
--------
--- /work/SRC/openSUSE:Factory/pam_mount/pam_mount.changes      2025-10-30 
17:11:29.814881719 +0100
+++ /work/SRC/openSUSE:Factory/.pam_mount.new.1255/pam_mount.changes    
2026-10-31 23:14:57.978375707 +0100
@@ -1,0 +2,6 @@
+Sat Oct 31 18:50:49 UTC 2026 - Jan Engelhardt <[email protected]>
+
+- Update to release 2.23
+  * Resolve build failures from new toolchains/modes
+
+-------------------------------------------------------------------

Old:
----
  pam_mount-2.22.tar.asc
  pam_mount-2.22.tar.zst

New:
----
  pam_mount-2.23.tar.asc
  pam_mount-2.23.tar.zst

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

Other differences:
------------------
++++++ pam_mount.spec ++++++
--- /var/tmp/diff_new_pack.E8PwWC/_old  2026-10-31 23:14:58.784409107 +0100
+++ /var/tmp/diff_new_pack.E8PwWC/_new  2026-10-31 23:14:58.786409190 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package pam_mount
 #
-# Copyright (c) 2025 SUSE LLC and contributors
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
 
 Name:           pam_mount
 %define lname   libcryptmount0
-Version:        2.22
+Version:        2.23
 Release:        0
 Summary:        A PAM Module that can Mount Volumes for a User Session
 License:        GPL-2.0-or-later AND LGPL-2.1-or-later

++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.E8PwWC/_old  2026-10-31 23:14:58.820410599 +0100
+++ /var/tmp/diff_new_pack.E8PwWC/_new  2026-10-31 23:14:58.823410723 +0100
@@ -1,5 +1,5 @@
-mtime: 1761822431
-commit: b8dc293a3c21deb821dc19ab2630b813b103aa58d2d5ae4d90b44ed336294dcf
+mtime: 1793472673
+commit: c51ae34ee96cb3ac6e9ec5e7e5a78894228a1a1be59edadf4112b31301fb401e
 url: https://src.opensuse.org/jengelh/pam_mount
 revision: master
 

++++++ build.specials.obscpio ++++++

++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore      1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore      2026-10-31 19:51:13.000000000 +0100
@@ -0,0 +1 @@
+.osc

++++++ pam_mount-2.22.tar.zst -> pam_mount-2.23.tar.zst ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pam_mount-2.22/aclocal.m4 
new/pam_mount-2.23/aclocal.m4
--- old/pam_mount-2.22/aclocal.m4       2025-10-30 12:02:54.238237173 +0100
+++ new/pam_mount-2.23/aclocal.m4       2026-03-26 09:33:03.698738428 +0100
@@ -21,7 +21,7 @@
 To do so, use the procedure documented by the package, typically 
'autoreconf'.])])
 
 # pkg.m4 - Macros to locate and use pkg-config.   -*- Autoconf -*-
-# serial 12 (pkg-config-0.29.2)
+# serial 13 (pkgconf)
 
 dnl Copyright © 2004 Scott James Remnant <[email protected]>.
 dnl Copyright © 2012-2015 Dan Nicholson <[email protected]>
@@ -37,9 +37,7 @@
 dnl General Public License for more details.
 dnl
 dnl You should have received a copy of the GNU General Public License
-dnl along with this program; if not, write to the Free Software
-dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-dnl 02111-1307, USA.
+dnl along with this program; if not, see <https://www.gnu.org/licenses/>.
 dnl
 dnl As a special exception to the GNU General Public License, if you
 dnl distribute this file as part of a program that contains a
@@ -68,8 +66,8 @@
     [m4_fatal([pkg.m4 version $1 or higher is required but 
]PKG_MACROS_VERSION[ found])])
 ])dnl PKG_PREREQ
 
-dnl PKG_PROG_PKG_CONFIG([MIN-VERSION])
-dnl ----------------------------------
+dnl PKG_PROG_PKG_CONFIG([MIN-VERSION], [ACTION-IF-NOT-FOUND])
+dnl ---------------------------------------------------------
 dnl Since: 0.16
 dnl
 dnl Search for the pkg-config tool and set the PKG_CONFIG variable to
@@ -77,6 +75,12 @@
 dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is
 dnl used since that's the first version where most current features of
 dnl pkg-config existed.
+dnl
+dnl If pkg-config is not found or older than specified, it will result
+dnl in an empty PKG_CONFIG variable. To avoid widespread issues with
+dnl scripts not checking it, ACTION-IF-NOT-FOUND defaults to aborting.
+dnl You can specify [PKG_CONFIG=false] as an action instead, which would
+dnl result in pkg-config tests failing, but no bogus error messages.
 AC_DEFUN([PKG_PROG_PKG_CONFIG],
 [m4_pattern_forbid([^_?PKG_[A-Z_]+$])
 
m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
@@ -97,6 +101,9 @@
                AC_MSG_RESULT([no])
                PKG_CONFIG=""
        fi
+fi
+if test -z "$PKG_CONFIG"; then
+       m4_default([$2], [AC_MSG_ERROR([pkg-config not found])])
 fi[]dnl
 ])dnl PKG_PROG_PKG_CONFIG
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pam_mount-2.22/configure new/pam_mount-2.23/configure
--- old/pam_mount-2.22/configure        2025-10-30 12:02:54.809955294 +0100
+++ new/pam_mount-2.23/configure        2026-03-26 09:33:03.976666893 +0100
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.72 for pam_mount 2.22.
+# Generated by GNU Autoconf 2.72 for pam_mount 2.23.
 #
 #
 # Copyright (C) 1992-1996, 1998-2017, 2020-2023 Free Software Foundation,
@@ -611,8 +611,8 @@
 # Identity of this package.
 PACKAGE_NAME='pam_mount'
 PACKAGE_TARNAME='pam_mount'
-PACKAGE_VERSION='2.22'
-PACKAGE_STRING='pam_mount 2.22'
+PACKAGE_VERSION='2.23'
+PACKAGE_STRING='pam_mount 2.23'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -1404,7 +1404,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-'configure' configures pam_mount 2.22 to adapt to many kinds of systems.
+'configure' configures pam_mount 2.23 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1475,7 +1475,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of pam_mount 2.22:";;
+     short | recursive ) echo "Configuration of pam_mount 2.23:";;
    esac
   cat <<\_ACEOF
 
@@ -1619,7 +1619,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-pam_mount configure 2.22
+pam_mount configure 2.23
 generated by GNU Autoconf 2.72
 
 Copyright (C) 2023 Free Software Foundation, Inc.
@@ -1906,7 +1906,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by pam_mount $as_me 2.22, which was
+It was created by pam_mount $as_me 2.23, which was
 generated by GNU Autoconf 2.72.  Invocation command line was
 
   $ $0$ac_configure_args_raw
@@ -2679,7 +2679,7 @@
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
-PACKAGE_RELDATE="2025-10-30"
+PACKAGE_RELDATE="2026-03-26"
 
 
 ac_config_headers="$ac_config_headers config.h"
@@ -3389,7 +3389,7 @@
 
 # Define the identity of the package.
  PACKAGE='pam_mount'
- VERSION='2.22'
+ VERSION='2.23'
 
 
 printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -14124,6 +14124,12 @@
   printf "%s\n" "#define HAVE_SYS_STATVFS_H 1" >>confdefs.h
 
 fi
+ac_fn_c_check_header_compile "$LINENO" "strings.h" "ac_cv_header_strings_h" 
"$ac_includes_default"
+if test "x$ac_cv_header_strings_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_STRINGS_H 1" >>confdefs.h
+
+fi
 
 ac_fn_c_check_member "$LINENO" "struct loop_info64" "lo_file_name" 
"ac_cv_member_struct_loop_info64_lo_file_name" "#include <linux/loop.h>
 "
@@ -14311,6 +14317,9 @@
                PKG_CONFIG=""
        fi
 fi
+if test -z "$PKG_CONFIG"; then
+       as_fn_error $? "pkg-config not found" "$LINENO" 5
+fi
 
 pkg_failed=no
 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libHX >= 4.28" >&5
@@ -15498,7 +15507,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by pam_mount $as_me 2.22, which was
+This file was extended by pam_mount $as_me 2.23, which was
 generated by GNU Autoconf 2.72.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -15566,7 +15575,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config='$ac_cs_config_escaped'
 ac_cs_version="\\
-pam_mount config.status 2.22
+pam_mount config.status 2.23
 configured by $0, generated by GNU Autoconf 2.72,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pam_mount-2.22/configure.ac 
new/pam_mount-2.23/configure.ac
--- old/pam_mount-2.22/configure.ac     2025-10-30 12:02:26.429903357 +0100
+++ new/pam_mount-2.23/configure.ac     2026-03-26 09:31:40.201906467 +0100
@@ -7,8 +7,8 @@
 #      the Free Software Foundation; either version 2 of the License, or
 #      (at your option) any later version.
 #
-AC_INIT([pam_mount], [2.22])
-PACKAGE_RELDATE="2025-10-30"
+AC_INIT([pam_mount], [2.23])
+PACKAGE_RELDATE="2026-03-26"
 AC_PREREQ([2.59])
 AC_CONFIG_AUX_DIR([build-aux])
 AC_CONFIG_HEADERS([config.h])
@@ -53,7 +53,7 @@
 AC_SUBST([regular_CFLAGS])
 
 AC_CHECK_HEADERS([linux/fs.h linux/major.h dev/cgdvar.h dev/vndvar.h])
-AC_CHECK_HEADERS([sys/mdioctl.h sys/mount.h sys/statvfs.h])
+AC_CHECK_HEADERS([sys/mdioctl.h sys/mount.h sys/statvfs.h strings.h])
 AC_CHECK_MEMBERS([struct loop_info64.lo_file_name], [], [],
        [#include <linux/loop.h>])
 AC_CHECK_FUNCS([getgrouplist getgroups setgroups])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pam_mount-2.22/doc/bugs.rst 
new/pam_mount-2.23/doc/bugs.rst
--- old/pam_mount-2.22/doc/bugs.rst     2023-08-17 15:50:57.655065298 +0200
+++ new/pam_mount-2.23/doc/bugs.rst     2026-03-26 09:03:37.756493670 +0100
@@ -93,7 +93,7 @@
 https://bugzilla.mindrot.org/show_bug.cgi?id=688
 
 ``UseLogin yes`` may be used to enable pam_mount — irrespective of
-public key authentification, privilege separation or ``UsePAM=no``. sshd
+public key authentication, privilege separation or ``UsePAM=no``. sshd
 itself will not do anything useful w.r.t. pam_mount, but it will call
 ``/bin/login`` which will then run through the PAM session stage, where
 pam_mount can ask your for a password. Read the sshd documentation
@@ -107,7 +107,7 @@
 failing because of insufficient
 privileges. Some programs and/or distributions and/or pam
 configurations seem to drop the root privileges after successful
-authentification. This goes counter to pam_mount which needs these
+authentication. This goes counter to pam_mount which needs these
 privileges for umount. (May not apply for FUSE mounts.)
 
 Known constellations include
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pam_mount-2.22/doc/news.rst 
new/pam_mount-2.23/doc/news.rst
--- old/pam_mount-2.22/doc/news.rst     2025-10-30 12:02:17.621887537 +0100
+++ new/pam_mount-2.23/doc/news.rst     2026-03-26 09:31:24.673949381 +0100
@@ -1,3 +1,9 @@
+v2.23 (2026-03-26)
+==================
+
+* Resolve build failures from new toolchains/modes (gcc-16/-std=c23)
+
+
 v2.22 (2025-10-30)
 =================
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pam_mount-2.22/qconf new/pam_mount-2.23/qconf
--- old/pam_mount-2.22/qconf    2025-10-07 01:38:06.706934845 +0200
+++ new/pam_mount-2.23/qconf    2022-10-21 21:13:52.818963741 +0200
@@ -1,8 +1,12 @@
-#!/bin/sh -ex
-
-if [ ! -e configure ]; then
-       ./autogen.sh;
-fi;
-exec ./configure CFLAGS=-ggdb3 \
-       LDFLAGS="-Wl,-z -Wl,defs -Wl,--as-needed" \
-       --with-rundir="$PWD/run" "$@";
+#!/bin/sh
+topdir="${0%/*}"
+if [ "$topdir" = "$0" ]; then
+       topdir=.
+fi
+abstopdir=$(readlink -f "$topdir")
+if [ ! -e "${topdir}/configure" ]; then
+       cd "$topdir"
+       autoreconf -fi
+       cd -
+fi
+exec "$topdir/configure" CFLAGS="-O0 -ggdb3" CXXFLAGS="-O0 -ggdb3" "$@"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pam_mount-2.22/src/bdev.c 
new/pam_mount-2.23/src/bdev.c
--- old/pam_mount-2.22/src/bdev.c       2024-10-05 21:17:16.126107070 +0200
+++ new/pam_mount-2.23/src/bdev.c       2026-03-26 09:23:02.038975912 +0100
@@ -1,5 +1,8 @@
 // SPDX-License-Identifier: LGPL-2.1-or-later
-// SPDX-FileCopyrightText: 2008 Jan Engelhardt
+// SPDX-FileCopyrightText: 2026 Jan Engelhardt
+#ifdef HAVE_CONFIG_H
+#      include "config.h"
+#endif
 #include <sys/ioctl.h>
 #include <sys/types.h>
 #include <errno.h>
@@ -8,7 +11,6 @@
 #include <stdio.h>
 #include <string.h>
 #include <unistd.h>
-#include "config.h"
 #ifdef HAVE_LINUX_FS_H
 #      include <linux/fs.h>
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pam_mount-2.22/src/crypto.c 
new/pam_mount-2.23/src/crypto.c
--- old/pam_mount-2.22/src/crypto.c     2025-10-06 13:11:41.458934396 +0200
+++ new/pam_mount-2.23/src/crypto.c     2026-03-26 09:23:02.038975912 +0100
@@ -1,5 +1,9 @@
 // SPDX-License-Identifier: LGPL-2.1-or-later
-// SPDX-FileCopyrightText: 2025 Jan Engelhardt
+// SPDX-FileCopyrightText: 2026 Jan Engelhardt
+#define _POSIX_C_SOURCE 999900L
+#ifdef HAVE_CONFIG_H
+#      include "config.h"
+#endif
 #include <sys/stat.h>
 #include <sys/types.h>
 #include <errno.h>
@@ -16,7 +20,6 @@
 #include <libHX/init.h>
 #include <libHX/string.h>
 #include <libHX/io.h>
-#include "config.h"
 #include "cmt-internal.h"
 #include "libcryptmount.h"
 #include "pam_mount.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pam_mount-2.22/src/log.c new/pam_mount-2.23/src/log.c
--- old/pam_mount-2.22/src/log.c        2024-10-05 21:17:16.129440394 +0200
+++ new/pam_mount-2.23/src/log.c        2026-03-26 09:23:02.038975912 +0100
@@ -1,5 +1,8 @@
 // SPDX-License-Identifier: LGPL-2.1-or-later
-// SPDX-FileCopyrightText: 2006–2009 Jan Engelhardt
+// SPDX-FileCopyrightText: 2026 Jan Engelhardt
+#define _POSIX_C_SOURCE 999900L
+#define _DEFAULT_SOURCE
+#define _BSD_SOURCE /* vsyslog */
 #include <assert.h>
 #include <stdarg.h>
 #include <stdbool.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pam_mount-2.22/src/loop-linux.c 
new/pam_mount-2.23/src/loop-linux.c
--- old/pam_mount-2.22/src/loop-linux.c 2025-10-06 13:16:07.175432756 +0200
+++ new/pam_mount-2.23/src/loop-linux.c 2026-03-26 09:23:02.038975912 +0100
@@ -1,6 +1,8 @@
 // SPDX-License-Identifier: LGPL-2.1-or-later
-// SPDX-FileCopyrightText: 2025 Jan Engelhardt
-#include "config.h"
+// SPDX-FileCopyrightText: 2026 Jan Engelhardt
+#ifdef HAVE_CONFIG_H
+#      include "config.h"
+#endif
 #include <sys/ioctl.h>
 #include <sys/stat.h>
 #include <errno.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pam_mount-2.22/src/loop.c 
new/pam_mount-2.23/src/loop.c
--- old/pam_mount-2.22/src/loop.c       2024-10-05 21:17:16.129440394 +0200
+++ new/pam_mount-2.23/src/loop.c       2026-03-26 09:23:02.038975912 +0100
@@ -1,10 +1,12 @@
 // SPDX-License-Identifier: LGPL-2.1-or-later
-// SPDX-FileCopyrightText: 2008 Jan Engelhardt
+// SPDX-FileCopyrightText: 2026 Jan Engelhardt
+#ifdef HAVE_CONFIG_H
+#      include "config.h"
+#endif
 #include <errno.h>
 #include <stdbool.h>
 #include <stdio.h>
 #include "libcryptmount.h"
-#include "config.h"
 
 /**
  * ehd_loop_setup - associate file to a loop device
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pam_mount-2.22/src/mount.c 
new/pam_mount-2.23/src/mount.c
--- old/pam_mount-2.22/src/mount.c      2025-10-30 11:58:01.340502932 +0100
+++ new/pam_mount-2.23/src/mount.c      2026-03-26 09:23:02.039975908 +0100
@@ -1,8 +1,11 @@
 // SPDX-License-Identifier: LGPL-2.1-or-later
 // SPDX-FileCopyrightText: 2000 Elvis Pfützenreuter
-// SPDX-FileCopyrightText: 2006–2009 Jan Engelhardt
+// SPDX-FileCopyrightText: 2026 Jan Engelhardt
 // SPDX-FileCopyrightText: 2005 Bastian Kleineidam
-#include <config.h>
+#define _POSIX_C_SOURCE 999900L
+#ifdef HAVE_CONFIG_H
+#      include "config.h"
+#endif
 #include <sys/stat.h>
 #include <sys/types.h>
 #include <sys/wait.h>
@@ -15,11 +18,16 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#ifdef HAVE_STRINGS_H
+#      include <strings.h>
+#endif
+#include <time.h>
 #include <unistd.h>
 #include <libHX/ctype_helper.h>
 #include <libHX/defs.h>
 #include <libHX/deque.h>
 #include <libHX/io.h>
+#include <libHX/misc.h>
 #include <libHX/proc.h>
 #include <libmount.h>
 #include <grp.h>
@@ -332,7 +340,7 @@
                            static_cast(long, pe->pw_uid),
                            static_cast(long, pe->pw_gid), strerror(errno));
                } else if (mkdir(dtmp, S_IRWXU | S_IXUGO) == 0) {
-                       /* Was createable as user - ok */
+                       /* Was creatable as user - ok */
                        w4rn("mkdir[%ld] %s\n",
                             static_cast(long, pe->pw_uid), dtmp);
                        *last = '/';
@@ -427,7 +435,7 @@
        }
 
        if (config->command[type] == NULL || config->command[type]->first == 0)
-               l0g("{smb,ncp}umount not defined in pam_count.conf.xml\n");
+               l0g("{smb,ncp}umount not defined in pam_mount.conf.xml\n");
 
        argv = arglist_build(config->command[type], vinfo);
        memset(&proc, 0, sizeof(proc));
@@ -519,7 +527,7 @@
  * mount_set_fsck - set the FSCK environment variable for mount.crypt
  * @config:    configuration
  * @vol:       current volume
- * @vinfo:     variable substituions
+ * @vinfo:     variable substitutions
  */
 static void mount_set_fsck(const struct config *config,
     const struct vol *vol, struct HXformat_map *vinfo)
@@ -878,19 +886,22 @@
        struct vol *vol;
 
        if (HXlist_empty(&config->volume_list.list))
-               /* Avoid needlessy waiting on usleep */
+               /* Avoid needlessy waiting on sleep */
                return;
 
        if (config->sig_hup)
                HXlist_for_each_entry_rev(vol, &config->volume_list, list)
                        run_ofl(config, vol->mountpoint, SIGHUP);
+
+       struct timespec wait_ts = {0, config->sig_wait /* µs */};
+       HX_timespec_mul(&wait_ts, &wait_ts, 1000); /* to ns */
        if (config->sig_term) {
-               usleep(config->sig_wait);
+               nanosleep(&wait_ts, NULL);
                HXlist_for_each_entry_rev(vol, &config->volume_list, list)
                        run_ofl(config, vol->mountpoint, SIGTERM);
        }
        if (config->sig_kill) {
-               usleep(config->sig_wait);
+               nanosleep(&wait_ts, NULL);
                HXlist_for_each_entry_rev(vol, &config->volume_list, list)
                        run_ofl(config, vol->mountpoint, SIGKILL);
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pam_mount-2.22/src/mtcrypt.c 
new/pam_mount-2.23/src/mtcrypt.c
--- old/pam_mount-2.22/src/mtcrypt.c    2025-10-06 13:16:07.179432748 +0200
+++ new/pam_mount-2.23/src/mtcrypt.c    2026-03-26 09:23:02.039975908 +0100
@@ -1,5 +1,6 @@
 // SPDX-License-Identifier: LGPL-2.1-or-later
-// SPDX-FileCopyrightText: 2025 Jan Engelhardt
+// SPDX-FileCopyrightText: 2026 Jan Engelhardt
+#define _POSIX_C_SOURCE 999900L
 #include <sys/mount.h>
 #include <sys/stat.h>
 #include <sys/types.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pam_mount-2.22/src/pam_mount.c 
new/pam_mount-2.23/src/pam_mount.c
--- old/pam_mount-2.22/src/pam_mount.c  2025-10-30 10:56:29.381872261 +0100
+++ new/pam_mount-2.23/src/pam_mount.c  2026-03-26 09:23:02.039975908 +0100
@@ -1,12 +1,15 @@
 // SPDX-License-Identifier: LGPL-2.1-or-later
 // SPDX-FileCopyrightText: 2000 Elvis Pfützenreuter
-// SPDX-FileCopyrightText: 2005–2010 Jan Engelhardt
+// SPDX-FileCopyrightText: 2026 Jan Engelhardt
 // SPDX-FileCopyrightText: 2005 Bastian Kleineidam
 #define PAM_SM_ACCOUNT 1
 #define PAM_SM_AUTH 1
 #define PAM_SM_SESSION 1
 #define PAM_SM_PASSWORD 1
-
+#define _POSIX_C_SOURCE 999900L
+#ifdef HAVE_CONFIG_H
+#      include "config.h"
+#endif
 #include <security/pam_appl.h>
 #include <security/pam_modules.h>
 #include <sys/mman.h>
@@ -20,6 +23,9 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#ifdef HAVE_STRINGS_H
+#      include <strings.h>
+#endif
 #include <unistd.h>
 #include <libHX/defs.h>
 #include <libHX/proc.h>
@@ -247,7 +253,7 @@
        initconfig(&Config);
        parse_pam_args(argc, argv);
        /*
-        * call pam_get_user again because ssh calls PAM fns from seperate
+        * call pam_get_user again because ssh calls PAM fns from separate
         * processes.
         */
        ret = pam_get_user(pamh, &pam_user, NULL);
@@ -262,7 +268,7 @@
                return PAM_SUCCESS;
        }
        /*
-        * FIXME: free me! the dup is requried because result of pam_get_user()
+        * FIXME: free me! the dup is required because result of pam_get_user()
         * disappears (valgrind)
         */
        Config.user = relookup_user(pam_user);
@@ -524,7 +530,7 @@
 static void assert_root(void)
 {
        /*
-        * I know checking for 0 is rather unflexible, but it does - so far -
+        * I know checking for 0 is rather inflexible, but it does - so far -
         * account for all the bugreports involving insufficient permissions.
         */
        if (geteuid() == 0)
@@ -683,7 +689,7 @@
  * user's directories. Returns the PAM error code or %PAM_SUCCESS.
  *
  * FIXME: This function currently always returns %PAM_SUCCESS. Should it
- * return soemthing else when errors occur and all unmounts have been
+ * return something else when errors occur and all unmounts have been
  * attempted?
  */
 PAM_EXTERN EXPORT_SYMBOL int pam_sm_close_session(pam_handle_t *pamh,
@@ -706,7 +712,7 @@
        }
 
        /*
-        * call pam_get_user() again because ssh calls PAM fns from seperate
+        * call pam_get_user() again because ssh calls PAM fns from separate
         * processes.
         */
        ret = pam_get_user(pamh, &pam_user, NULL);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pam_mount-2.22/src/pam_mount.h 
new/pam_mount-2.23/src/pam_mount.h
--- old/pam_mount-2.22/src/pam_mount.h  2025-10-30 11:58:01.340502932 +0100
+++ new/pam_mount-2.23/src/pam_mount.h  2026-03-26 09:23:02.039975908 +0100
@@ -1,19 +1,24 @@
 #ifndef PMT_PAM_MOUNT_H
 #define PMT_PAM_MOUNT_H 1
 
+#ifdef HAVE_CONFIG_H
+#      include "config.h"
+#endif
 #include <sys/types.h>
 #include <limits.h>
 #include <stdbool.h>
 #include <libHX/list.h>
 #include <libHX/option.h>
 #include <libHX/string.h>
-#include "config.h"
 
 #ifdef HAVE_VISIBILITY_HIDDEN
 #      define EXPORT_SYMBOL __attribute__((visibility("default")))
 #else
 #      define EXPORT_SYMBOL
 #endif
+#if defined(__STDC_VERSION__) && __STDC_VERSION__ < 202300L
+#      define nullptr NULL
+#endif
 
 #define sizeof_z(x) (sizeof(x) - 1)
 
@@ -95,8 +100,7 @@
  * @sig_hup:   send SIGHUP to processes keeping mountpoint open
  * @sig_term:  send SIGTERM - " -
  * @sig_kill:  send SIGKILL - " -
- * @sig_wait:  wait this many seconds between sending signals,
- *             in microseconds
+ * @sig_wait:  wait this much time between sending signals, in µs
  */
 struct config {
        /* user logging in */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pam_mount-2.22/src/pmvarrun.c 
new/pam_mount-2.23/src/pmvarrun.c
--- old/pam_mount-2.22/src/pmvarrun.c   2024-10-05 21:17:16.129440394 +0200
+++ new/pam_mount-2.23/src/pmvarrun.c   2026-03-26 09:23:02.040975904 +0100
@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: LGPL-2.1-or-later
 // SPDX-FileCopyrightText: 2004 W. Michael Petullo
-// SPDX-FileCopyrightText: 2005–2011 Jan Engelhardt
+// SPDX-FileCopyrightText: 2026 Jan Engelhardt
 // SPDX-FileCopyrightText: 2005 Bastian Kleineidam
 /*
 pmvarrun.c -- Updates /run/pam_mount/<user>.
@@ -8,7 +8,7 @@
     created with a pam_mount-specific security context (otherwise SELinux
     policy will conflict with whatever called pam_mount.so).
 */
-
+#define _POSIX_C_SOURCE 999900L /* fchown */
 #include <sys/stat.h>
 #include <sys/types.h>
 #include <assert.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pam_mount-2.22/src/rdconf1.c 
new/pam_mount-2.23/src/rdconf1.c
--- old/pam_mount-2.22/src/rdconf1.c    2025-10-30 11:58:01.340502932 +0100
+++ new/pam_mount-2.23/src/rdconf1.c    2026-03-26 09:23:02.040975904 +0100
@@ -1,5 +1,8 @@
 // SPDX-License-Identifier: LGPL-2.1-or-later
 // SPDX-FileCopyrightText: 2025 Jan Engelhardt
+#define _POSIX_C_SOURCE 999900L
+#define _DEFAULT_SOURCE /* getgrouplist [possible glibc-ism] */
+#define _BSD_SOURCE
 #include <errno.h>
 #include <grp.h>
 #include <pwd.h>
@@ -106,7 +109,7 @@
 
 /**
  * expand_user -
- * @user:      username to substitue for placeholder
+ * @user:      username to substitute for placeholder
  * @dest:      buffer to operate on
  * @size:      size of @dest
  *
@@ -250,7 +253,7 @@
                 * leak. In initconfig(), all strings of a command are
                 * duplicated when added to the list, while here we only free
                 * the first element. Because if the default hardcoded argument
-                * list is overriden using .conf.xml, only the first element is
+                * list is overridden using .conf.xml, only the first element is
                 * allocated and the rest are pointers to the same memory
                 * block.
                 */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pam_mount-2.22/src/rdconf2.c 
new/pam_mount-2.23/src/rdconf2.c
--- old/pam_mount-2.22/src/rdconf2.c    2024-10-05 21:17:16.132773718 +0200
+++ new/pam_mount-2.23/src/rdconf2.c    2026-03-26 09:03:37.758493663 +0100
@@ -171,7 +171,7 @@
  * @vpt:       volume descriptor
  *
  * FIXME: check to ensure input is legal and reject all else instead of
- * rejecting everyhing that is illegal.
+ * rejecting everything that is illegal.
  */
 bool volume_record_sane(const struct config *config, const struct vol *vpt)
 {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pam_mount-2.22/src/spawn.c 
new/pam_mount-2.23/src/spawn.c
--- old/pam_mount-2.22/src/spawn.c      2024-10-05 21:17:16.132773718 +0200
+++ new/pam_mount-2.23/src/spawn.c      2026-03-26 09:23:02.041975900 +0100
@@ -1,5 +1,8 @@
 // SPDX-License-Identifier: LGPL-2.1-or-later
-// SPDX-FileCopyrightText: 2006–2008 Jan Engelhardt
+// SPDX-FileCopyrightText: 2026 Jan Engelhardt
+#define _POSIX_C_SOURCE 999900L
+#define _DEFAULT_SOURCE /* getgrouplist */
+#define _BSD_SOURCE /* setgroups */
 #include <errno.h>
 #include <pthread.h>
 #include <signal.h>
@@ -24,7 +27,7 @@
  * spawn_set_sigchld -
  *
  * Save the old SIGCHLD handler and then set SIGCHLD to SIG_DFL. This is used
- * against GDM which does not reap childs as we wanted in its SIGCHLD handler,
+ * against GDM which does not reap children as we wanted in its SIGCHLD 
handler,
  * so we install our own handler. Returns the value from sigaction().
  */
 static void spawn_set_sigchld(void *data)

Reply via email to