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)
