From c7f2096e4fa7d590e99bf86200aaf3f561b60525 Mon Sep 17 00:00:00 2001 From: AlmaLinux RelEng Bot Date: Tue, 7 Apr 2026 20:34:36 -0400 Subject: [PATCH] import Oracle_OSS cifs-utils-7.4-1.el10_1 --- .cifs-utils.metadata | 1 - .gitignore | 2 +- .../0001-Use-explicit-usr-bin-python3.patch | 55 ----- SPECS/cifs-utils.spec => cifs-utils.spec | 206 +++++++++++++----- ...x-parsing-of-commands-and-parameters.patch | 82 +++++++ docs-update-echo_interval-description.patch | 34 +++ sources | 1 + 7 files changed, 268 insertions(+), 113 deletions(-) delete mode 100644 .cifs-utils.metadata delete mode 100644 SOURCES/0001-Use-explicit-usr-bin-python3.patch rename SPECS/cifs-utils.spec => cifs-utils.spec (65%) create mode 100644 cifscreds-fix-parsing-of-commands-and-parameters.patch create mode 100644 docs-update-echo_interval-description.patch create mode 100644 sources diff --git a/.cifs-utils.metadata b/.cifs-utils.metadata deleted file mode 100644 index 411b239..0000000 --- a/.cifs-utils.metadata +++ /dev/null @@ -1 +0,0 @@ -9df055a73d89ed3d536828d0cea304c9e04139d4 SOURCES/cifs-utils-7.0.tar.bz2 diff --git a/.gitignore b/.gitignore index c5bb369..d9f4bdd 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/cifs-utils-7.0.tar.bz2 +cifs-utils-7.4.tar.bz2 diff --git a/SOURCES/0001-Use-explicit-usr-bin-python3.patch b/SOURCES/0001-Use-explicit-usr-bin-python3.patch deleted file mode 100644 index 718c9c9..0000000 --- a/SOURCES/0001-Use-explicit-usr-bin-python3.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 17162396d9ace9396c27826f1c62719186e29ae9 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Pavel=20Filipensk=C3=BD?= -Date: Fri, 20 Jan 2023 20:53:44 +0100 -Subject: [PATCH] Use explicit #!/usr/bin/python3 - ---- - checkopts | 2 +- - smb2-quota | 2 +- - smb2-secdesc | 2 +- - smbinfo | 2 +- - 4 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/checkopts b/checkopts -index 88e70b1..00c4cfd 100755 ---- a/checkopts -+++ b/checkopts -@@ -1,4 +1,4 @@ --#!/usr/bin/env python3 -+#!/usr/bin/python3 - # - # Script to check for inconsistencies between documented mount options - # and implemented kernel options. -diff --git a/smb2-quota b/smb2-quota -index 6d0b8a3..49207c7 100755 ---- a/smb2-quota -+++ b/smb2-quota -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/python3 - # coding: utf-8 - # - # smb2-quota is a cmdline tool to display quota information for the -diff --git a/smb2-secdesc b/smb2-secdesc -index 5886091..534dd92 100755 ---- a/smb2-secdesc -+++ b/smb2-secdesc -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/python3 - # coding: utf-8 - - import array -diff --git a/smbinfo b/smbinfo -index 73c5bb3..766024e 100755 ---- a/smbinfo -+++ b/smbinfo -@@ -1,4 +1,4 @@ --#!/usr/bin/env python3 -+#!/usr/bin/python3 - # -*- coding: utf-8 -*- - # - # smbinfo is a cmdline tool to query SMB-specific file and fs --- -2.38.1 - diff --git a/SPECS/cifs-utils.spec b/cifs-utils.spec similarity index 65% rename from SPECS/cifs-utils.spec rename to cifs-utils.spec index 1b75181..501b005 100644 --- a/SPECS/cifs-utils.spec +++ b/cifs-utils.spec @@ -1,24 +1,41 @@ +## START: Set by rpmautospec +## (rpmautospec version 0.8.1) +## RPMAUTOSPEC: autorelease, autochangelog +%define autorelease(e:s:pb:n) %{?-p:0.}%{lua: + release_number = 1; + base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); + print(release_number + base_release_number - 1); +}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} +## END: Set by rpmautospec + #% define pre_release rc1 %define pre_release %nil +%global bash_completion_dir %(pkg-config --variable=completionsdir bash-completion || echo /etc/bash_completion.d) + Name: cifs-utils -Version: 7.0 -Release: 1%{pre_release}%{?dist} +Version: 7.4 +Release: %autorelease Summary: Utilities for mounting and managing CIFS mounts -Group: System Environment/Daemons -License: GPLv3 +License: GPL-3.0-only URL: http://linux-cifs.samba.org/cifs-utils/ -BuildRequires: libcap-ng-devel libtalloc-devel krb5-devel keyutils-libs-devel autoconf automake libwbclient-devel pam-devel -BuildRequires: python3-docutils +BuildRequires: gcc +BuildRequires: libcap-ng-devel libtalloc-devel krb5-devel keyutils-libs-devel autoconf automake libwbclient-devel pam-devel +BuildRequires: python3-docutils +BuildRequires: make Requires: keyutils Requires(post): /usr/sbin/alternatives Requires(preun): /usr/sbin/alternatives +Recommends: %{name}-info%{?_isa} = %{version}-%{release} + Source0: https://download.samba.org/pub/linux-cifs/cifs-utils/%{name}-%{version}.tar.bz2 -Patch1: 0001-Use-explicit-usr-bin-python3.patch + +Patch0: cifscreds-fix-parsing-of-commands-and-parameters.patch +Patch1: docs-update-echo_interval-description.patch %description The SMB/CIFS protocol is a standard file sharing protocol widely deployed @@ -30,7 +47,6 @@ file system. %package devel Summary: Files needed for building plugins for cifs-utils -Group: Development/Libraries %description devel The SMB/CIFS protocol is a standard file sharing protocol widely deployed @@ -39,7 +55,6 @@ necessary for building ID mapping plugins for cifs-utils. %package -n pam_cifscreds Summary: PAM module to manage NTLM credentials in kernel keyring -Group: System Environment/Base %description -n pam_cifscreds The pam_cifscreds PAM module is a tool for automatically adding @@ -52,10 +67,10 @@ for each user from somewhere. The pam_cifscreds module can be used to provide these credentials to the kernel automatically at login. %prep -%setup -q -n %{name}-%{version}%{pre_release} -%patch1 -p1 +%autosetup -n %{name}-%{version}%{pre_release} -p1 %build +grep -F -r -l '/usr/bin/env python' | xargs --no-run-if-empty -n1 sed -i 's@/usr/bin/env python.*@%python3@g' autoreconf -i %configure --prefix=/usr ROOTSBINDIR=%{_sbindir} make %{?_smp_mflags} @@ -67,42 +82,40 @@ mkdir -p %{buildroot}%{_sysconfdir}/%{name} mkdir -p %{buildroot}%{_sysconfdir}/request-key.d install -m 644 contrib/request-key.d/cifs.idmap.conf %{buildroot}%{_sysconfdir}/request-key.d install -m 644 contrib/request-key.d/cifs.spnego.conf %{buildroot}%{_sysconfdir}/request-key.d +install -Dpm 644 bash-completion/smbinfo %{buildroot}%{_datadir}%{bash_completion_dir}/smbinfo %files -%defattr(-,root,root,-) %doc +%license COPYING %{_bindir}/getcifsacl %{_bindir}/setcifsacl %{_bindir}/cifscreds -%{_bindir}/smbinfo -%{_bindir}/smb2-quota %{_sbindir}/mount.cifs %{_sbindir}/mount.smb3 %{_sbindir}/cifs.upcall %{_sbindir}/cifs.idmap %dir %{_libdir}/%{name} %{_libdir}/%{name}/idmapwb.so -%{_mandir}/man1/getcifsacl.1.gz -%{_mandir}/man1/setcifsacl.1.gz -%{_mandir}/man1/cifscreds.1.gz -%{_mandir}/man1/smbinfo.1.gz -%{_mandir}/man1/smb2-quota.1.gz -%{_mandir}/man8/cifs.upcall.8.gz -%{_mandir}/man8/cifs.idmap.8.gz -%{_mandir}/man8/mount.cifs.8.gz -%{_mandir}/man8/mount.smb3.8.gz -%{_mandir}/man8/idmapwb.8.gz +%{_mandir}/man1/getcifsacl.* +%{_mandir}/man1/setcifsacl.* +%{_mandir}/man1/cifscreds.* +%{_mandir}/man8/cifs.upcall.* +%{_mandir}/man8/cifs.idmap.* +%{_mandir}/man8/mount.cifs.* +%{_mandir}/man8/mount.smb3.* +%{_mandir}/man8/idmapwb.* +%{_datadir}%{bash_completion_dir}/smbinfo %dir %{_sysconfdir}/cifs-utils %ghost %{_sysconfdir}/cifs-utils/idmap-plugin %config(noreplace) %{_sysconfdir}/request-key.d/cifs.idmap.conf %config(noreplace) %{_sysconfdir}/request-key.d/cifs.spnego.conf %post -/usr/sbin/alternatives --install /etc/cifs-utils/idmap-plugin cifs-idmap-plugin %{_libdir}/%{name}/idmapwb.so 10 +alternatives --install /etc/cifs-utils/idmap-plugin cifs-idmap-plugin %{_libdir}/%{name}/idmapwb.so 10 %preun if [ $1 = 0 ]; then - /usr/sbin/alternatives --remove cifs-idmap-plugin %{_libdir}/%{name}/idmapwb.so + alternatives --remove cifs-idmap-plugin %{_libdir}/%{name}/idmapwb.so fi %files devel @@ -112,39 +125,119 @@ fi %{_libdir}/security/pam_cifscreds.so %{_mandir}/man8/pam_cifscreds.8.gz +# This subpackage also serves the purpose of avoiding a Python dependency on +# the main package: https://bugzilla.redhat.com/show_bug.cgi?id=1909288. +%package info +Summary: Additional tools for querying information about CIFS mount +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description info +This subpackage includes additional tools for querying information +about CIFS mount. + +%files info +%{_bindir}/smb2-quota +%{_bindir}/smbinfo +%{_mandir}/man1/smb2-quota.* +%{_mandir}/man1/smbinfo.* + %changelog -* Mon Jan 30 2023 Pavel Filipenský - 7.0-1 -- Update to cifs-utils-7.0 -- Resolves: rhbz#2163373 +## START: Generated by rpmautospec +* Fri Nov 28 2025 Paulo Alcantara - 7.4-1 +- resolves: RHEL-131408 - fix regression with cifscreds(1) -* Thu Dec 12 2019 Sachin Prabhu - 6.8-3 -- Add manual gating tests -- docs: cleanup rst formating -- mount.cifs.rst: document new (no)handlecache mount option -- manpage: update mount.cifs manpage with info about rdma option -- checkopts: add python script to cross check mount options -- mount.cifs.rst: document missing options, correct wrong ones -- checkopts: report duplicated options in man page -- mount.cifs.rst: more cleanups -- mount.cifs.rst: document vers=3 mount option -- mount.cifs.rst: document vers=3.02 mount option -- cifs: Allow DNS resolver key to expire -- mount.cifs: be more verbose and helpful regarding mount errors -- Update mount.cifs with vers=default mount option and SMBv3.0.2 -- mount.cifs.rst: update vers=3.1.1 option description -- getcifsacl: Do not go to parse_sec_desc if getxattr fails. -- getcifsacl: Improve help usage and add -h option. -- setcifsacl: fix adding ACE when owner sid in unexpected location -- cifs.upcall: fix a compiler warning -- mount.cifs Add various missing parms from the help text -- mount.cifs: add more options to help message -- mount.cifs: detect GMT format of snapshot version -- Update man page for mount.cifs to add new options -- mount.cifs.rst: mention kernel version for snapshots -- Fix authors and maintainers +* Fri Mar 07 2025 Paulo Alcantara - 7.2-1 +- resolves: RHEL-82681 - Update to version 7.2 -* Tue Jul 17 2018 Alexander Bokovoy - 6.8-2 -- Use Python 3 version of rst2man utility for generating man pages +* Tue Oct 29 2024 Troy Dawson - 7.1-2 +- Bump release for October 2024 mass rebuild: + +* Tue Oct 08 2024 Pavel Filipenský - 7.1-1 +- resolves: RHEL-61731 - Update to version 7.1 + +* Mon Jun 24 2024 Troy Dawson - 7.0-5 +- Bump release for June 2024 mass rebuild + +* Tue Jan 23 2024 Fedora Release Engineering - 7.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 7.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Jul 19 2023 Fedora Release Engineering - 7.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Feb 23 2023 Pavel Filipenský - 7.0-1 +- SPDX migration + +* Wed Feb 01 2023 Pavel Filipenský - 7.0-1 +- Upstream release 7.0 + +* Wed Jan 18 2023 Fedora Release Engineering - 6.15-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Jul 20 2022 Fedora Release Engineering - 6.15-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sat Apr 30 2022 Alexander Bokovoy - 6.15-1 +- Upstream release 6.15 +- CVE-2022-27239: mount.cifs: fix length check for ip option parsing +- CVE-2022-29869: mount.cifs: fix verbose messages on option parsing +- Fixes: rhbz#2080525 + + +* Wed Feb 02 2022 Alexander Bokovoy - 6.14-1 +- Upstream release 6.14 + +* Wed Jan 19 2022 Fedora Release Engineering - 6.13-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Thu Sep 23 2021 Bruno Wolff III - 6.13-3 +- Actually use the patches + +* Thu Sep 23 2021 Bruno Wolff III - 6.13-2 +- Pull in a couple of upstream fixes slotted for the next release +- fix regression in kerberos mount +- fix crash when mount point does not exist + +* Wed Sep 22 2021 Bruno Wolff III - 6.13-1 +- Fix for CVE-2021-20208: cifs.upcall kerberos auth leak in container +- get/setcifsacl tools are improved to support changing owner, group and SACLs + +* Wed Jul 21 2021 Fedora Release Engineering - 6.11-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Jan 26 2021 Fedora Release Engineering - 6.11-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Fri Dec 18 2020 Jonathan Lebon - 6.11-2 +- Split out -info subpackage for smb2-quota and smbinfo + https://bugzilla.redhat.com/show_bug.cgi?id=1909288 + +* Mon Nov 02 2020 Alexander Bokovoy - 6.11-1 +- Update to v6.11 release +- Resolves: rhbz#1876400 - CVE-2020-14342 - cifs-utils: shell command injection + +* Mon Jul 27 2020 Fedora Release Engineering - 6.9-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jan 28 2020 Fedora Release Engineering - 6.9-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Jul 24 2019 Fedora Release Engineering - 6.9-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sun Apr 21 2019 Jeff Layton - 6.9-1 +- Update to v6.9 release + +* Thu Jan 31 2019 Fedora Release Engineering - 6.8-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Tue Jul 17 2018 Alexander Bokovoy - 6.8-3 +- Use Python 3 version of rst2man + +* Thu Jul 12 2018 Fedora Release Engineering - 6.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Tue Apr 10 2018 Fedora Release Engineering - 6.8-1 - update to 6.8 release @@ -395,3 +488,4 @@ fi * Mon Feb 08 2010 Jeff Layton 4.0a1-1 - first RPM package build +## END: Generated by rpmautospec diff --git a/cifscreds-fix-parsing-of-commands-and-parameters.patch b/cifscreds-fix-parsing-of-commands-and-parameters.patch new file mode 100644 index 0000000..2f2e9df --- /dev/null +++ b/cifscreds-fix-parsing-of-commands-and-parameters.patch @@ -0,0 +1,82 @@ +From 828cb25224cd88b3599d5ca79a7c9435491896db Mon Sep 17 00:00:00 2001 +From: Paulo Alcantara +Date: Tue, 25 Nov 2025 16:30:27 -0300 +Subject: [PATCH 1/2] cifscreds: fix parsing of commands and parameters + +Fix the parsing of '--username' and '--timeout' options as both +require an argument by fixing the value passed in @optstring when +calling getopt_long(3). + +Also fix the matching of commands by breaking the loop when an exact +match is found. Otherwise `cifscreds clear ...` would return +"Ambiguous command" due to "clearall" command. + +* Before patch + +$ ./cifscreds add -u testuser w22-root2.zelda.test +error: Could not resolve address for testuser +$ ./cifscreds add -u testuser -d ZELDA +Password: +$ grep 'cifs:[ad]' /proc/keys +198de7a1 I--Q--- 1 perm 0d0d0000 0 0 logon cifs:d:testuser: 13 + ^^ wrong desc +$ ./cifscreds clear -u testuser w22-root2.zelda.test +Ambiguous command +$ ./cifscreds clear -u testuser -d ZELDA +Ambiguous command + +* After patch + +$ ./cifscreds add -u testuser w22-root2.zelda.test +Password: +$ ./cifscreds add -u testuser -d ZELDA +Password: +$ grep 'cifs:[ad]' /proc/keys +089183a9 I--Q--- 1 perm 0d0d0000 0 0 logon cifs:a:192.168.124.32: 17 +0ca5ed80 I--Q--- 1 perm 0d0d0000 0 0 logon cifs:d:ZELDA: 17 +$ ./cifscreds clear -u testuser w22-root2.zelda.test +$ ./cifscreds clear -u testuser -d ZELDA + +Reported-by: Xiaoli Feng +Reported-by: Jay Shin +Signed-off-by: Paulo Alcantara (Red Hat) +Cc: Steve French +Cc: linux-cifs@vger.kernel.org +--- + cifscreds.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/cifscreds.c b/cifscreds.c +index 295059f9683d..e8713be23d71 100644 +--- a/cifscreds.c ++++ b/cifscreds.c +@@ -71,7 +71,7 @@ static struct command commands[] = { + static struct option longopts[] = { + {"username", 1, NULL, 'u'}, + {"domain", 0, NULL, 'd' }, +- {"timeout", 0, NULL, 't' }, ++ {"timeout", 1, NULL, 't' }, + {NULL, 0, NULL, 0} + }; + +@@ -477,7 +477,7 @@ int main(int argc, char **argv) + if (argc == 1) + return usage(); + +- while((n = getopt_long(argc, argv, "dut:", longopts, NULL)) != -1) { ++ while((n = getopt_long(argc, argv, "du:t:", longopts, NULL)) != -1) { + switch (n) { + case 'd': + arg.keytype = (char) n; +@@ -507,7 +507,7 @@ int main(int argc, char **argv) + if (cmd->name[n] == 0) { + /* exact match */ + best = cmd; +- continue; ++ break; + } + + /* partial match */ +-- +2.51.1 + diff --git a/docs-update-echo_interval-description.patch b/docs-update-echo_interval-description.patch new file mode 100644 index 0000000..790edf4 --- /dev/null +++ b/docs-update-echo_interval-description.patch @@ -0,0 +1,34 @@ +From b9680e868d4bdf9337e542b08a559e9ca5ea6cc0 Mon Sep 17 00:00:00 2001 +From: Paulo Alcantara +Date: Tue, 25 Nov 2025 17:54:04 -0300 +Subject: [PATCH 2/2] docs: update echo_interval description + +It is '3 * echo_interval' since upstream commit f2caf901c1b7 ("cifs: +Fix a race condition with cifs_echo_request"). + +Reported-by: Alexandros Panagiotou +Signed-off-by: Paulo Alcantara (Red Hat) +Cc: Steve French +Cc: linux-cifs@vger.kernel.org +--- + mount.cifs.rst | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/mount.cifs.rst b/mount.cifs.rst +index d4890706a0fe..4b6d47447c0e 100644 +--- a/mount.cifs.rst ++++ b/mount.cifs.rst +@@ -483,8 +483,8 @@ echo_interval=n + sets the interval at which echo requests are sent to the server on an + idling connection. This setting also affects the time required for a + connection to an unresponsive server to timeout. Here n is the echo +- interval in seconds. The reconnection happens at twice the value of the +- echo_interval set for an unresponsive server. ++ interval in seconds. The reconnection happens at three times the ++ value of the echo_interval set for an unresponsive server. + If this option is not given then the default value of 60 seconds is used. + The minimum tunable value is 1 second and maximum can go up to 600 seconds. + +-- +2.51.1 + diff --git a/sources b/sources new file mode 100644 index 0000000..1503a0e --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (cifs-utils-7.4.tar.bz2) = 36fb64ed531e983752be243be488392ba52c3797ac638147a75998b8965448009e95d7ccda187c7d50d753b0ddb87a464a83044064b099d49fffe03a0b6ba739