diff --git a/0001-saveconfig-copy-temp-configfile-with-permissions.patch b/0001-saveconfig-copy-temp-configfile-with-permissions.patch deleted file mode 100644 index e8b7cd2d53f941c713611a2c7b592ad3cb4976ba..0000000000000000000000000000000000000000 --- a/0001-saveconfig-copy-temp-configfile-with-permissions.patch +++ /dev/null @@ -1,53 +0,0 @@ -From b23d061ee0fa7924d2cdce6194c313b9ee06c468 Mon Sep 17 00:00:00 2001 -From: Prasanna Kumar Kalever -Date: Thu, 28 May 2020 20:42:16 +0530 -Subject: [PATCH] saveconfig: copy temp configfile with permissions -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -shutil.copyfile() will not copy permissions, so all the perms that we -set on tempfile will go for a toss, and will be reset to default - -┌──────────────────┬────────┬───────────┬───────┬────────────────┐ -│ Function │ Copies │ Copies │Can use│ Destination │ -│ │metadata│permissions│buffer │may be directory│ -├──────────────────┼────────┼───────────┼───────┼────────────────┤ -│shutil.copy │ No │ Yes │ No │ Yes │ -│shutil.copyfile │ No │ No │ No │ No │ -│shutil.copy2 │ Yes │ Yes │ No │ Yes │ -│shutil.copyfileobj│ No │ No │ Yes │ No │ -└──────────────────┴────────┴───────────┴───────┴────────────────┘ - -Without this fix: ----------------- -$ ls /etc/target/saveconfig.json -l --rw-r--r-- 1 root root 5078 May 28 20:01 /etc/target/saveconfig.json - -With this fix: --------------- -$ ls /etc/target/saveconfig.json -l --rw------- 1 root root 5078 May 28 20:15 /etc/target/saveconfig.json - -Signed-off-by: Prasanna Kumar Kalever ---- - rtslib/root.py | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/rtslib/root.py b/rtslib/root.py -index a101edd..7364154 100644 ---- a/rtslib/root.py -+++ b/rtslib/root.py -@@ -486,7 +486,8 @@ class RTSRoot(CFSNode): - os.fsync(f.fileno()) - f.close() - -- shutil.copyfile(tmp_file, save_file) -+ # copy along with permissions -+ shutil.copy(tmp_file, save_file) - os.remove(tmp_file) - - def restore_from_file(self, restore_file=None, clear_existing=True, --- -1.8.3.1 - diff --git a/0002-saveconfig-open-the-temp-configfile-with-modes-set.patch b/0002-saveconfig-open-the-temp-configfile-with-modes-set.patch deleted file mode 100644 index f2dbbcdfe6a41ed49e1447d674ac51cbe0da24e2..0000000000000000000000000000000000000000 --- a/0002-saveconfig-open-the-temp-configfile-with-modes-set.patch +++ /dev/null @@ -1,46 +0,0 @@ -From dffcf83bead64e959505d64ad587768647caab3a Mon Sep 17 00:00:00 2001 -From: Prasanna Kumar Kalever -Date: Thu, 28 May 2020 19:53:04 +0530 -Subject: [PATCH] saveconfig: open the temp configfile with modes set - -Fixes: #161 -Signed-off-by: Prasanna Kumar Kalever ---- - rtslib/root.py | 21 +++++++++++++++++++-- - 1 file changed, 19 insertions(+), 2 deletions(-) - -diff --git a/rtslib/root.py b/rtslib/root.py -index afe1a53..a101edd 100644 ---- a/rtslib/root.py -+++ b/rtslib/root.py -@@ -461,8 +461,25 @@ class RTSRoot(CFSNode): - - tmp_file = save_file + ".temp" - -- with open(tmp_file, "w+") as f: -- os.fchmod(f.fileno(), stat.S_IRUSR | stat.S_IWUSR) -+ mode = stat.S_IRUSR | stat.S_IWUSR # 0o600 -+ umask = 0o777 ^ mode # Prevents always downgrading umask to 0 -+ -+ # For security, remove file with potentially elevated mode -+ try: -+ os.remove(tmp_file) -+ except OSError: -+ pass -+ -+ umask_original = os.umask(umask) -+ # Even though the old file is first deleted, a race condition is still -+ # possible. Including os.O_EXCL with os.O_CREAT in the flags will -+ # prevent the file from being created if it exists due to a race -+ try: -+ fdesc = os.open(tmp_file, os.O_WRONLY | os.O_CREAT | os.O_EXCL, mode) -+ finally: -+ os.umask(umask_original) -+ -+ with os.fdopen(fdesc, 'w+') as f: - f.write(json.dumps(saveconf, sort_keys=True, indent=2)) - f.write("\n") - f.flush() --- -1.8.3.1 - diff --git a/0003-Fix-EPERM-errors-with-scsi_generic-devices.patch b/0003-Fix-EPERM-errors-with-scsi_generic-devices.patch deleted file mode 100644 index 48a16c6ff4ead504d6d0aeadb8bc3574d300ef59..0000000000000000000000000000000000000000 --- a/0003-Fix-EPERM-errors-with-scsi_generic-devices.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 964520037320534512713e58bf70be6c428097dc Mon Sep 17 00:00:00 2001 -From: Jaroslav -Date: Tue, 7 Jul 2020 11:21:45 +0200 -Subject: [PATCH 1/4] Fix EPERM errors with scsi_generic devices - -Resolves https://github.com/open-iscsi/targetcli-fb/issues/158 ---- - rtslib/utils.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/rtslib/utils.py b/rtslib/utils.py -index eff2205..4bcadea 100644 ---- a/rtslib/utils.py -+++ b/rtslib/utils.py -@@ -114,7 +114,7 @@ def is_dev_in_use(path): - ''' - path = os.path.realpath(str(path)) - try: -- file_fd = os.open(path, os.O_EXCL|os.O_NDELAY) -+ file_fd = os.open(path, os.O_EXCL|os.O_NDELAY|os.O_RDWR) - except OSError: - return True - else: --- -1.8.3.1 - diff --git a/python-rtslib.spec b/python-rtslib.spec index 42e1ec1a1539c12003ae5e5bbf09535fee4c2c80..5160aa8f08f132af49e23b032ebc15599cd2fa01 100644 --- a/python-rtslib.spec +++ b/python-rtslib.spec @@ -1,16 +1,13 @@ %global oname rtslib-fb Name: python-rtslib -Version: 2.1.70 -Release: 8 +Version: 2.1.74 +Release: 1 Summary: Python object API for Linux kernel LIO SCSI target License: ASL 2.0 URL: https://github.com/open-iscsi/%{oname} Source0: %{url}/archive/v%{version}/%{oname}-%{version}.tar.gz -Patch1: 0001-saveconfig-copy-temp-configfile-with-permissions.patch -Patch2: 0002-saveconfig-open-the-temp-configfile-with-modes-set.patch -Patch3: 0003-Fix-EPERM-errors-with-scsi_generic-devices.patch BuildArch: noarch BuildRequires: systemd-units @@ -107,6 +104,9 @@ install -m 644 doc/saveconfig.json.5.gz %{buildroot}%{_mandir}/man5/ %{_mandir}/man5/saveconfig.json.5.gz %changelog +* Tue Nov 16 2021 Miaohe Lin - 2.1.74-1 +- update to rtslib-fb-2.1.74 + * Mon Sep 6 2021 zhanchengbin - 2.1.70-8 - remove "%bcond_with python3" from spec file to resolve local rpmbuild failure issue diff --git a/rtslib-fb-2.1.70.tar.gz b/rtslib-fb-2.1.70.tar.gz deleted file mode 100644 index b49f91a2082e09b530ec54a144a428b99f3dbcb2..0000000000000000000000000000000000000000 Binary files a/rtslib-fb-2.1.70.tar.gz and /dev/null differ diff --git a/rtslib-fb-2.1.74.tar.gz b/rtslib-fb-2.1.74.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..071515c2235f5f81ca56897dfa66d50d8744d631 Binary files /dev/null and b/rtslib-fb-2.1.74.tar.gz differ