From b4f7b962f3f9c3704fb550209eb5389e5f19b7ce Mon Sep 17 00:00:00 2001 From: MSVSphere Packaging Team Date: Tue, 26 Nov 2024 19:14:57 +0300 Subject: [PATCH] import sanlock-3.9.4-2.el10 --- .gitignore | 1 + .sanlock.metadata | 1 + ...ck-fix-invalid-strcpy-in-direct-dump.patch | 50 +++ SPECS/sanlock.spec | 334 ++++++++++++++++++ 4 files changed, 386 insertions(+) create mode 100644 .gitignore create mode 100644 .sanlock.metadata create mode 100644 SOURCES/0001-sanlock-fix-invalid-strcpy-in-direct-dump.patch create mode 100644 SPECS/sanlock.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..be493f4 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/sanlock-3.9.4.tar.gz diff --git a/.sanlock.metadata b/.sanlock.metadata new file mode 100644 index 0000000..a75f268 --- /dev/null +++ b/.sanlock.metadata @@ -0,0 +1 @@ +044f58080f9b445b3761408e37953d60d8257d49 SOURCES/sanlock-3.9.4.tar.gz diff --git a/SOURCES/0001-sanlock-fix-invalid-strcpy-in-direct-dump.patch b/SOURCES/0001-sanlock-fix-invalid-strcpy-in-direct-dump.patch new file mode 100644 index 0000000..22eb98b --- /dev/null +++ b/SOURCES/0001-sanlock-fix-invalid-strcpy-in-direct-dump.patch @@ -0,0 +1,50 @@ +From 5b34da78d33c2fca7dc3d2c49ae6d395d90c48c1 Mon Sep 17 00:00:00 2001 +From: David Teigland +Date: Wed, 14 Aug 2024 11:51:17 -0500 +Subject: [PATCH] sanlock: fix invalid strcpy in direct dump + +If a lockspace or resource name is the full 48 characters +in length, then the ondisk name field does not contain a +terminating null character and strcpy fails. +--- + src/direct.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/src/direct.c b/src/direct.c +index f70dc19d5ef2..3bc7659e905c 100644 +--- a/src/direct.c ++++ b/src/direct.c +@@ -730,8 +730,8 @@ int direct_dump(struct task *task, char *dump_path, int force_mode) + if (!lr->owner_id && !lr->owner_generation) + continue; + +- strcpy(sname, lr->space_name); +- strcpy(rname, lr->resource_name); ++ memcpy(sname, lr->space_name, NAME_ID_SIZE); ++ memcpy(rname, lr->resource_name, NAME_ID_SIZE); + + printf("%08llu %36s %48s %010llu %04llu %04llu", + (unsigned long long)(start_offset + ((sector_nr + i) * sector_size)), +@@ -754,8 +754,8 @@ int direct_dump(struct task *task, char *dump_path, int force_mode) + leader_record_in(lr_end, &lr_in); + lr = &lr_in; + +- strcpy(sname, lr->space_name); +- strcpy(rname, lr->resource_name); ++ memcpy(sname, lr->space_name, NAME_ID_SIZE); ++ memcpy(rname, lr->resource_name, NAME_ID_SIZE); + + printf("%08llu %36s %48s %010llu %04llu %04llu %llu", + (unsigned long long)(start_offset + (sector_nr * sector_size)), +@@ -806,7 +806,7 @@ int direct_dump(struct task *task, char *dump_path, int force_mode) + rindex_header_in(rh_end, &rh_in); + rh = &rh_in; + +- strcpy(sname, rh->lockspace_name); ++ memcpy(sname, rh->lockspace_name, NAME_ID_SIZE); + + printf("%08llu %36s rindex_header 0x%x %d %u %llu\n", + (unsigned long long)(start_offset + (sector_nr * sector_size)), +-- +2.46.0 + diff --git a/SPECS/sanlock.spec b/SPECS/sanlock.spec new file mode 100644 index 0000000..7256434 --- /dev/null +++ b/SPECS/sanlock.spec @@ -0,0 +1,334 @@ +Name: sanlock +Version: 3.9.4 +Release: 2%{?dist} +Summary: A shared storage lock manager +License: GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.0-or-later +URL: https://pagure.io/sanlock/ +BuildRequires: gcc +BuildRequires: libaio-devel +BuildRequires: libblkid-devel +BuildRequires: libuuid-devel +BuildRequires: make +BuildRequires: systemd-units +Requires: %{name}-lib = %{version}-%{release} +Requires(post): systemd-units +Requires(post): systemd-sysv +Requires(preun): systemd-units +Requires(postun): systemd-units +Source0: https://releases.pagure.org/sanlock/%{name}-%{version}.tar.gz + +Patch0: 0001-sanlock-fix-invalid-strcpy-in-direct-dump.patch + +%description +The sanlock daemon manages leases for applications on hosts using shared storage. + +%prep +%setup -q +%patch0 -p1 -b .backup0 + +%build +%set_build_flags +# upstream does not require configure +# upstream does not support _smp_mflags +CFLAGS=$RPM_OPT_FLAGS make -C wdmd +CFLAGS=$RPM_OPT_FLAGS make -C src + +%install +rm -rf $RPM_BUILD_ROOT +make -C src \ + install LIBDIR=%{_libdir} \ + DESTDIR=$RPM_BUILD_ROOT +make -C wdmd \ + install LIBDIR=%{_libdir} \ + DESTDIR=$RPM_BUILD_ROOT + +install -D -m 0644 init.d/sanlock.service.native $RPM_BUILD_ROOT/%{_unitdir}/sanlock.service +install -D -m 0755 init.d/systemd-wdmd $RPM_BUILD_ROOT/usr/lib/systemd/systemd-wdmd +install -D -m 0644 init.d/wdmd.service $RPM_BUILD_ROOT/%{_unitdir}/wdmd.service + +install -p -D -m 0644 src/sanlock.sysusers $RPM_BUILD_ROOT/%{_sysusersdir}/sanlock.conf + +install -D -m 0644 src/logrotate.sanlock \ + $RPM_BUILD_ROOT/etc/logrotate.d/sanlock + +install -D -m 0644 src/sanlock.conf \ + $RPM_BUILD_ROOT/etc/sanlock/sanlock.conf + +install -D -m 0644 init.d/wdmd.sysconfig \ + $RPM_BUILD_ROOT/etc/sysconfig/wdmd + +install -Dd -m 0755 $RPM_BUILD_ROOT/etc/wdmd.d +install -Dd -m 0775 $RPM_BUILD_ROOT/%{_localstatedir}/run/sanlock + +%pre +%sysusers_create_compat sanlock.sysusers + +%post +%systemd_post wdmd.service sanlock.service + +%preun +%systemd_preun wdmd.service sanlock.service + +%postun +%systemd_postun wdmd.service sanlock.service + +%files +/usr/lib/systemd/systemd-wdmd +%{_unitdir}/sanlock.service +%{_unitdir}/wdmd.service +%{_sbindir}/sanlock +%{_sbindir}/wdmd +%dir %{_sysconfdir}/wdmd.d +%dir %{_sysconfdir}/sanlock +%dir %attr(-,sanlock,sanlock) %{_localstatedir}/run/sanlock +%{_mandir}/man8/wdmd* +%{_mandir}/man8/sanlock* +%config(noreplace) %{_sysconfdir}/logrotate.d/sanlock +%config(noreplace) %{_sysconfdir}/sanlock/sanlock.conf +%config(noreplace) %{_sysconfdir}/sysconfig/wdmd +%{_sysusersdir}/sanlock.conf + +%package lib +Summary: A shared storage lock manager library + +%description lib +The %{name}-lib package contains the runtime libraries for sanlock, +a shared storage lock manager. +Hosts connected to a common SAN can use this to synchronize their +access to the shared disks. + +%ldconfig_scriptlets lib + +%files lib +%{_libdir}/libsanlock.so.* +%{_libdir}/libsanlock_client.so.* +%{_libdir}/libwdmd.so.* + +%package devel +Summary: Development files for %{name} +Requires: %{name}-lib = %{version}-%{release} + +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. + +%files devel +%{_libdir}/libwdmd.so +%{_includedir}/wdmd.h +%{_libdir}/libsanlock.so +%{_libdir}/libsanlock_client.so +%{_includedir}/sanlock.h +%{_includedir}/sanlock_rv.h +%{_includedir}/sanlock_admin.h +%{_includedir}/sanlock_resource.h +%{_includedir}/sanlock_direct.h +%{_libdir}/pkgconfig/libsanlock.pc +%{_libdir}/pkgconfig/libsanlock_client.pc + +%changelog +* Tue Nov 26 2024 MSVSphere Packaging Team - 3.9.4-2 +- Rebuilt for MSVSphere 10 + +* Wed Aug 14 2024 David Teigland - 3.9.4-2 +- fix invalid strcpy in direct dump + +* Fri Aug 09 2024 David Teigland - 3.9.4-1 +- new upstream release, adopt sysusers, drop python bindings + +* Mon Jun 24 2024 Troy Dawson - 3.9.0-3 +- Bump release for June 2024 mass rebuild + +* Sat Jan 27 2024 Fedora Release Engineering - 3.9.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Dec 15 2023 David Teigland - 3.9.0-1 +- rebase to new upstream release + +* Sat Jul 22 2023 Fedora Release Engineering - 3.8.5-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jun 13 2023 Python Maint - 3.8.5-3 +- Rebuilt for Python 3.12 + +* Sat Jan 21 2023 Fedora Release Engineering - 3.8.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Tue Oct 18 2022 David Teigland - 3.8.5-1 +- Update to sanlock-3.8.5 + +* Sat Jul 23 2022 Fedora Release Engineering - 3.8.4-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Jun 13 2022 Python Maint - 3.8.4-5 +- Rebuilt for Python 3.11 + +* Sat Jan 22 2022 Fedora Release Engineering - 3.8.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Jul 23 2021 Fedora Release Engineering - 3.8.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Jun 04 2021 Python Maint - 3.8.4-2 +- Rebuilt for Python 3.10 + +* Thu Jun 03 2021 David Teigland 3.8.4-1 +- New upstream release + +* Wed Feb 24 2021 David Teigland 3.8.3-1 +- New upstream release +- Drop sanlk-reset which is not used. + +* Wed Jan 27 2021 Fedora Release Engineering - 3.8.1-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Sat Aug 08 2020 Nir Soffer - 3.8.1-7 +- Enable LTO + +* Sun Aug 02 2020 Nir Soffer - 3.8.1-6 +- Removing extra linkeer args, hopefully fix python build + +* Sat Aug 01 2020 Fedora Release Engineering - 3.8.1-5 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jul 29 2020 Fedora Release Engineering - 3.8.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jul 08 2020 Jeff Law - 3.8.1-3 +- Disable LTO + +* Tue May 26 2020 Miro Hrončok - 3.8.1-2 +- Rebuilt for Python 3.9 + +* Sat May 2 2020 Nir Soffer - 3.8.1-1 +- Update to sanlock-3.8.1 + +* Thu Jan 30 2020 Fedora Release Engineering - 3.8.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Mon Aug 19 2019 Miro Hrončok - 3.8.0-3 +- Rebuilt for Python 3.8 + +* Fri Jul 26 2019 Fedora Release Engineering - 3.8.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Wed Jun 12 2019 Nir Soffer - 3.8.0-1 +- Update to sanlock-3.8.0 +- Convert spec to python 3 + +* Tue May 21 2019 Nir Soffer - 3.7.3-1 +- Update to sanlock-3.7.3 +- Add missing BuildRequires and Requires + +* Fri Apr 12 2019 Nir Soffer - 3.7.1-2 +- Cleanup up align and sector constants + +* Mon Apr 8 2019 Nir Soffer - 3.7.1-1 +- Update to sanlock 3.7.1 +- Fix read_resource_owners (414abfe) + +* Wed Mar 20 2019 Nir Soffer - 3.7.0-1 +- remove unneeded with_systemd macro +- update to sanlock 3.7.0 + +* Sat Feb 2 2019 Nir Soffer - 3.6.0-8 +- fix build on Fedora rawhide + +* Thu Jan 24 2019 David Teigland - 3.6.0-7 +- lockfile ownership + +* Sat Jul 14 2018 Fedora Release Engineering - 3.6.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Thu Apr 12 2018 Iryna Shcherbina - 3.6.0-5 +- Update Python 2 dependency declarations to new packaging standards + (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) + +* Wed Mar 14 2018 David Teigland - 3.6.0-4 +- change makefile flags + +* Wed Mar 14 2018 David Teigland - 3.6.0-3 +- rebuild with set_build_flags + +* Fri Feb 09 2018 Fedora Release Engineering - 3.6.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Tue Dec 12 2017 David Teigland - 3.6.0-1 +- Update to sanlock-3.6.0, drop fence_sanlock + +* Sun Aug 20 2017 Zbigniew Jędrzejewski-Szmek - 3.5.0-6 +- Add Provides for the old name without %%_isa + +* Sun Aug 20 2017 Zbigniew Jędrzejewski-Szmek - 3.5.0-5 +- Add Provides for the old name without %%_isa + +* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek - 3.5.0-4 +- Python 2 binary package renamed to python2-sanlock + See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3 + +* Thu Aug 03 2017 Fedora Release Engineering - 3.5.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 3.5.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Mon May 01 2017 David Teigland - 3.5.0-1 +- Update to sanlock-3.5.0 + +* Sat Feb 11 2017 Fedora Release Engineering - 3.4.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Tue Jul 19 2016 Fedora Release Engineering - 3.4.0-2 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Fri Jun 10 2016 David Teigland - 3.4.0-1 +- Update to sanlock-3.4.0 + +* Tue Feb 23 2016 David Teigland - 3.3.0-2 +- remove exclusive arch + +* Mon Feb 22 2016 David Teigland - 3.3.0-1 +- Update to sanlock-3.3.0 + +* Tue Dec 01 2015 David Teigland - 3.2.4-2 +- wdmd: prevent probe while watchdog is used + +* Fri Jun 19 2015 David Teigland - 3.2.4-1 +- Update to sanlock-3.2.4 + +* Fri May 22 2015 David Teigland - 3.2.3-2 +- add pkgconfig files + +* Wed May 20 2015 David Teigland - 3.2.3-1 +- Update to sanlock-3.2.3 + +* Thu Oct 30 2014 David Teigland - 3.2.2-2 +- checksum endian fix + +* Mon Sep 29 2014 David Teigland - 3.2.2-1 +- Update to sanlock-3.2.2 + +* Thu Aug 21 2014 David Teigland - 3.2.1-1 +- Update to sanlock-3.2.1 + +* Mon Aug 18 2014 David Teigland - 3.2.0-1 +- Update to sanlock-3.2.0 + +* Wed Jan 29 2014 David Teigland - 3.1.0-2 +- version interface + +* Tue Jan 07 2014 David Teigland - 3.1.0-1 +- Update to sanlock-3.1.0 + +* Fri Dec 27 2013 Daniel Mach - 3.0.1-3 +- Mass rebuild 2013-12-27 + +* Thu Aug 01 2013 David Teigland - 3.0.1-2 +- use /usr/lib instead of /lib + +* Wed Jul 31 2013 David Teigland - 3.0.1-1 +- Update to sanlock-3.0.1 + +* Wed Jul 24 2013 David Teigland - 3.0.0-1 +- Update to sanlock-3.0.0 +