From 802313bd61b7535cf7becf40576c08364181c744 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Jul 06 2021 04:09:54 +0000 Subject: import autofs-5.1.4-74.el8 --- diff --git a/SOURCES/autofs-5.1.6-remove-intr-hosts-map-mount-option.patch b/SOURCES/autofs-5.1.6-remove-intr-hosts-map-mount-option.patch new file mode 100644 index 0000000..4b6e188 --- /dev/null +++ b/SOURCES/autofs-5.1.6-remove-intr-hosts-map-mount-option.patch @@ -0,0 +1,113 @@ +autofs-5.1.6 - remove intr hosts map mount option + +From: Ian Kent + +Don't use the intr option on NFS mounts by default, it's been ignored +by the kernel for a long time now. + +Signed-off-by: Ian Kent +--- + CHANGELOG | 1 + + man/auto.master.5.in | 4 ++-- + man/autofs.5 | 4 ++-- + modules/parse_sun.c | 9 +++------ + samples/auto.misc | 2 +- + samples/auto.net | 2 +- + 6 files changed, 10 insertions(+), 12 deletions(-) + +--- autofs-5.1.4.orig/CHANGELOG ++++ autofs-5.1.4/CHANGELOG +@@ -77,6 +77,7 @@ + - add missing description of null map option. + - fix empty mounts list return from unlink_mount_tree(). + - fix nonstrict offset mount fail handling. ++- remove intr hosts map mount option. + + xx/xx/2018 autofs-5.1.5 + - fix flag file permission. +--- autofs-5.1.4.orig/man/auto.master.5.in ++++ autofs-5.1.4/man/auto.master.5.in +@@ -260,8 +260,8 @@ For example, with an entry in the master + accessing /net/myserver will mount exports from myserver on directories below + /net/myserver. + .P +-NOTE: mounts done from a hosts map will be mounted with the "nosuid,nodev,intr" options +-unless overridden by explicitly specifying the "suid", "dev" or "nointr" options in the ++NOTE: mounts done from a hosts map will be mounted with the "nosuid,nodev" options ++unless overridden by explicitly specifying the "suid", "dev" options in the + master map entry. + .SH BUILTIN MAP \-null + If "\-null" is given as the map it is used to tell automount(8) to ignore a subsequent +--- autofs-5.1.4.orig/man/autofs.5 ++++ autofs-5.1.4/man/autofs.5 +@@ -86,13 +86,13 @@ Indirect map: + .RS +.2i + .ta 1.0i 3.0i + .nf +-kernel \-ro,soft,intr ftp.kernel.org:/pub/linux ++kernel \-ro,soft ftp.kernel.org:/pub/linux + boot \-fstype=ext2 :/dev/hda1 + windoze \-fstype=smbfs ://windoze/c + removable \-fstype=ext2 :/dev/hdd + cd \-fstype=iso9660,ro :/dev/hdc + floppy \-fstype=auto :/dev/fd0 +-server \-rw,hard,intr / \-ro myserver.me.org:/ \\ ++server \-rw,hard / \-ro myserver.me.org:/ \\ + /usr myserver.me.org:/usr \\ + /home myserver.me.org:/home + .fi +--- autofs-5.1.4.orig/modules/parse_sun.c ++++ autofs-5.1.4/modules/parse_sun.c +@@ -628,10 +628,9 @@ static int sun_mount(struct autofs_point + int len = strlen(options); + int suid = strstr(options, "suid") ? 0 : 7; + int dev = strstr(options, "dev") ? 0 : 6; +- int nointr = strstr(options, "nointr") ? 0 : 5; + +- if (suid || dev || nointr) { +- char *tmp = alloca(len + suid + dev + nointr + 1); ++ if (suid || dev) { ++ char *tmp = alloca(len + suid + dev + 1); + if (!tmp) { + error(ap->logopt, MODPREFIX + "alloca failed for options"); +@@ -645,8 +644,6 @@ static int sun_mount(struct autofs_point + strcat(tmp, ",nosuid"); + if (dev) + strcat(tmp, ",nodev"); +- if (nointr) +- strcat(tmp, ",intr"); + options = tmp; + } + } else { +@@ -658,7 +655,7 @@ static int sun_mount(struct autofs_point + return -1; + return 1; + } +- strcpy(tmp, "nosuid,nodev,intr"); ++ strcpy(tmp, "nosuid,nodev"); + options = tmp; + } + } +--- autofs-5.1.4.orig/samples/auto.misc ++++ autofs-5.1.4/samples/auto.misc +@@ -6,7 +6,7 @@ + cd -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom + + # the following entries are samples to pique your imagination +-#linux -ro,soft,intr ftp.example.org:/pub/linux ++#linux -ro,soft ftp.example.org:/pub/linux + #boot -fstype=ext2 :/dev/hda1 + #floppy -fstype=auto :/dev/fd0 + #floppy -fstype=ext2 :/dev/fd0 +--- autofs-5.1.4.orig/samples/auto.net ++++ autofs-5.1.4/samples/auto.net +@@ -9,7 +9,7 @@ key="$1" + + # add "nosymlink" here if you want to suppress symlinking local filesystems + # add "nonstrict" to make it OK for some filesystems to not mount +-opts="-fstype=nfs,hard,intr,nodev,nosuid" ++opts="-fstype=nfs,hard,nodev,nosuid" + + for P in /bin /sbin /usr/bin /usr/sbin + do diff --git a/SOURCES/autofs-5.1.7-fix-nonstrict-offset-mount-fail-handling.patch b/SOURCES/autofs-5.1.7-fix-nonstrict-offset-mount-fail-handling.patch new file mode 100644 index 0000000..46572bf --- /dev/null +++ b/SOURCES/autofs-5.1.7-fix-nonstrict-offset-mount-fail-handling.patch @@ -0,0 +1,54 @@ +autofs-5.1.7 - fix nonstrict offset mount fail handling + +From: Ian Kent + +If a triggered offset mount fails automount is not handling nonstrict +mount failure correctly. + +The nonstrict mount failure handling needs to convert an offset mount +failure to a success if the offset subtree below the failed mount is not +empty otherwise it must return the failure. The previous implementation +used -1 to indicate the subtree was empty and that was used to detect +when the mount should fail instead of converting the fail to a success. + +Make the new implementation do the same. + +Signed-off-by: Ian Kent +--- + CHANGELOG | 1 + + lib/mounts.c | 2 +- + modules/parse_sun.c | 2 +- + 3 files changed, 3 insertions(+), 2 deletions(-) + +--- autofs-5.1.4.orig/CHANGELOG ++++ autofs-5.1.4/CHANGELOG +@@ -76,6 +76,7 @@ + - fix lookup_prune_one_cache() refactoring change. + - add missing description of null map option. + - fix empty mounts list return from unlink_mount_tree(). ++- fix nonstrict offset mount fail handling. + + xx/xx/2018 autofs-5.1.5 + - fix flag file permission. +--- autofs-5.1.4.orig/lib/mounts.c ++++ autofs-5.1.4/lib/mounts.c +@@ -1616,7 +1616,7 @@ static int tree_mapent_traverse_subtree( + { + struct traverse_subtree_context *ctxt = ptr; + struct mapent *oe = MAPENT(n); +- int ret = 1; ++ int ret = -1; + + if (n->left) { + ret = tree_mapent_traverse_subtree(n->left, work, ctxt); +--- autofs-5.1.4.orig/modules/parse_sun.c ++++ autofs-5.1.4/modules/parse_sun.c +@@ -1183,7 +1183,7 @@ static int mount_subtree(struct autofs_p + * offsets to be mounted. + */ + rv = sun_mount(ap, name, name, namelen, loc, loclen, options, ctxt); +- if (rv == 0) { ++ if (rv <= 0) { + ret = tree_mapent_mount_offsets(me, 1); + if (!ret) { + tree_mapent_cleanup_offsets(me); diff --git a/SPECS/autofs.spec b/SPECS/autofs.spec index 58cb373..a69b0c3 100644 --- a/SPECS/autofs.spec +++ b/SPECS/autofs.spec @@ -8,7 +8,7 @@ Summary: A tool for automatically mounting and unmounting filesystems Name: autofs Version: 5.1.4 -Release: 71%{?dist} +Release: 74%{?dist} Epoch: 1 License: GPLv2+ Group: System Environment/Daemons @@ -244,6 +244,9 @@ Patch219: autofs-5.1.7-fix-lookup_prune_one_cache-refactoring-change.patch Patch220: autofs-5.1.7-add-missing-description-of-null-map-option.patch Patch221: autofs-5.1.6-fix-empty-mounts-list-return-from-unlink_mount_tree.patch +Patch222: autofs-5.1.7-fix-nonstrict-offset-mount-fail-handling.patch +Patch223: autofs-5.1.6-remove-intr-hosts-map-mount-option.patch + %if %{with_systemd} BuildRequires: systemd-units BuildRequires: systemd-devel @@ -529,6 +532,9 @@ echo %{version}-%{release} > .version %patch220 -p1 %patch221 -p1 +%patch222 -p1 +%patch223 -p1 + %build LDFLAGS=-Wl,-z,now %configure --disable-mount-locking --enable-ignore-busy --with-libtirpc --without-hesiod %{?systemd_configure_arg:} @@ -623,6 +629,23 @@ fi %dir /etc/auto.master.d %changelog +* Tue Jun 22 2021 Ian Kent - 5.1.4-74 +- bz1974309 - Removal of default intr mount option while using -hosts + and host.net + - remove intr hosts map mount option. + - fix previous changelog entry revision. +- Resolves: rhbz#1974309 + +* Fri Jun 18 2021 Ian Kent - 5.1.4-73 +- bz1973025 - /net mount being not cleanly mounted and unmounted + - correct patch, fix nonstrict offset mount fail handling. +- Related: rhbz#1973025 + +* Fri Jun 18 2021 Ian Kent - 5.1.4-72 +- bz1973025 - /net mount being not cleanly mounted and unmounted + - fix nonstrict offset mount fail handling. +- Resolves: rhbz#1973025 + * Tue Jun 08 2021 Ian Kent - 5.1.4-71 - bz1969210 - autofs: already mounted as other than autofs or failed to unlink entry in tree