Sync from SUSE:SLFO:Main iniparser revision 065f4eb894c318a5a8574830a962e74a

This commit is contained in:
2025-05-28 11:15:38 +02:00
parent 3a487031c3
commit 63859110de
9 changed files with 96 additions and 65 deletions

View File

@ -1,13 +0,0 @@
diff --git a/src/iniparser.c b/src/iniparser.c
index 4cffb96..7cffe7a 100644
--- a/src/iniparser.c
+++ b/src/iniparser.c
@@ -327,6 +327,7 @@ void iniparser_dumpsection_ini(const dictionary * d, const char * s, FILE * f)
if (d==NULL || f==NULL) return ;
if (! iniparser_find_entry(d, s)) return ;
+ if (strlen(s) > sizeof(keym)) return ;
seclen = (int)strlen(s);
fprintf(f, "\n[%s]\n", s);

View File

@ -1 +1 @@
libiniparser1
libiniparser4

18
fix-tests.patch Normal file
View File

@ -0,0 +1,18 @@
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -29,11 +29,12 @@ set(FETCHCONTENT_QUIET OFF)
FetchContent_Declare(
unity
GIT_REPOSITORY "https://github.com/throwtheswitch/unity.git"
- GIT_PROGRESS TRUE
- PATCH_COMMAND ${CMAKE_COMMAND} -E copy
- ${CMAKE_CURRENT_LIST_DIR}/unity_config.h ./src/)
+ GIT_PROGRESS TRUE)
FetchContent_MakeAvailable(unity)
+
+file(COPY "${CMAKE_CURRENT_LIST_DIR}/unity_config.h" DESTINATION "${unity_SOURCE_DIR}/src/")
+
target_compile_definitions(unity PUBLIC UNITY_INCLUDE_CONFIG_H
UNITY_USE_COMMAND_LINE_ARGS)

BIN
iniparser-4.2.1.tar.gz (Stored with Git LFS)

Binary file not shown.

BIN
iniparser-4.2.6.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -1,8 +1,43 @@
-------------------------------------------------------------------
Thu Feb 27 13:07:37 UTC 2025 - Yunus Acar <yunus.acar@suse.com>
Thu Jan 23 17:31:42 UTC 2025 - Yunus Acar <yunus.acar@suse.com>
- Add CVE-2025-0633.patch (bsc#1237377)
Fix heap overflow in iniparser_dumpsection_ini()
- Add fix-tests.patch: Makes the tests work with the "offline"
CMake option (FETCHCONTENT_SOURCE_DIR_UNITY)
- Drop iniparser_remove_rpath.patch: Not needed anymore because of
the switch to CMake
- Update to version 4.2.6:
* CVE-2025-0633 (bsc#1237377)
Fix heap overflow in iniparser_dumpsection_ini()
* Add test to reproduce heap overflow in
iniparser_dumpsection_ini()
* Fix links to FAQ sites in doxygen generated documentation
* Add packaging status badge to give users and me an overview
* Enable command line arguments for tests
- Update to version 4.2.5:
* Fix stack buffer overflow in iniparser dump functions
* Update doxygen main page, merge it with README and use it as
* new main page
Explain how to build documentation as it not build per default
* Stylize the name iniParser as it used to be done
* Mention CMake options to prevent them from being overlooked
* Add build instructions for MinGW
* Replace outdated installation instructions by link to README
sections
* Remove section numbers from README
* add DESCRIPTION, HOMEPAGE_URL and LANGUAGES in cmake project()
* Fix MSVC build issues
- Update to version 4.2.4:
* Fix paths in generated pkgconfig file
- Update to version 4.2.3:
* Replace our own unit test framework (CuTest) by Unity
* Do not install tests but make them execute in build directory
* Build and run tests and examples on Windows CI runner
* Fix pkgconfig file
- Update to version 4.2.2:
* add CMake Support
* update README
* add Gitlab CI configuration
* This release makes iniparser-meta obsolete.
-------------------------------------------------------------------
Wed May 15 19:07:26 UTC 2024 - Michal Suchanek <msuchanek@suse.com>

View File

@ -17,29 +17,31 @@
# if bumping this, also update baselibs.conf
%define sonum 1
%define sonum 4
%define unity_version 2.6.1
Name: iniparser
Version: 4.2.1
Version: 4.2.6
Release: 0
Summary: Library to parse ini files
License: MIT
Group: System/Libraries
URL: http://ndevilla.free.fr/iniparser/
Source: https://github.com/ndevilla/%{name}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
Source2: baselibs.conf
Patch00: iniparser_remove_rpath.patch
# PATCH-FIX-UPSTREAM CVE-2025-0633.patch bsc#1237377 -- based on commit 072a39a772a38c475e35a1be311304ca99e9de7f
Patch01: CVE-2025-0633.patch
URL: https://gitlab.com/iniparser/iniparser
Source: https://gitlab.com/iniparser/iniparser/-/archive/v%{version}/%{name}-v%{version}.tar.gz#/%{name}-%{version}.tar.gz
Source2: https://github.com/ThrowTheSwitch/Unity/archive/refs/tags/v%{unity_version}.tar.gz#/unity-%{unity_version}.tar.gz
Source3: baselibs.conf
# PATCH-FIX-UPSTREAM - https://gitlab.com/iniparser/iniparser/-/merge_requests/171
Patch: fix-tests.patch
BuildRequires: cmake
BuildRequires: doxygen
BuildRequires: gcc-c++
BuildRequires: pkgconfig
# Test requires
BuildRequires: ruby
%description
Libiniparser offers parsing of ini files from the C level.
%if 0%{?suse_version} == 0 || 0%{?suse_version} > 1100
%define libiniparser_name libiniparser%{sonum}
%else
%define libiniparser_name libiniparser
%endif
%package -n %{libiniparser_name}
Summary: Library to parse ini files
@ -53,11 +55,7 @@ This package includes the libiniparser%{sonum} library.
%package -n libiniparser-devel
Summary: Libraries and Header Files to Develop Programs with libiniparser Support
Group: Development/Libraries/C and C++
%if 0%{?suse_version} == 0 || 0%{?suse_version} > 1100
Requires: %{libiniparser_name} = %{version}
%else
Requires: libiniparser = %{version}
%endif
%description -n libiniparser-devel
This package contains the static libraries and header files needed to
@ -72,34 +70,37 @@ html/index.html with any HTML-capable browser.
Libraries and Header Files to Develop Programs with iniparser Support.
%prep
%setup -q
%autopatch -p1
%autosetup -p1 -b2 -n %{name}-v%{version}
%build
make %{?_smp_mflags} CFLAGS="%{optflags} -fPIC"
make %{?_smp_mflags} CFLAGS="%{optflags} -fPIC" docs
%cmake \
-DBUILD_STATIC_LIBS:BOOL=OFF \
-DBUILD_DOCS:BOOL=ON \
-DCMAKE_INSTALL_DOCDIR:PATH=%{_docdir}/libiniparser-devel \
-DBUILD_TESTING:BOOL=ON \
-DFETCHCONTENT_SOURCE_DIR_UNITY:PATH=%{_builddir}/Unity-%{unity_version}
%cmake_build
%install
install -d -m 0755 %{buildroot}%{_includedir}
install -d -m 0755 %{buildroot}%{_libdir}
install -m 0755 libiniparser.so.%{sonum} %{buildroot}%{_libdir}
install -m 0644 src/{dictionary,iniparser}.h %{buildroot}%{_includedir}
ln -s -f libiniparser.so.%{sonum} %{buildroot}%{_libdir}/libiniparser.so
%cmake_install
%check
ln -s libiniparser.so.%{sonum} libiniparser.so
make %{?_smp_mflags} check
%ctest
%post -n %{libiniparser_name} -p /sbin/ldconfig
%postun -n %{libiniparser_name} -p /sbin/ldconfig
%files -n %{libiniparser_name}
%{_libdir}/libiniparser.so.*
%doc LICENSE
%{_libdir}/*.so.*
%files -n libiniparser-devel
%{_includedir}/*.h
%{_libdir}/libiniparser.so
%doc html
%doc html/
%{_libdir}/*.so
%{_libdir}/cmake/%{name}
%{_libdir}/cmake/unity
%{_libdir}/pkgconfig/%{name}.pc
%{_includedir}/%{name}
%{_includedir}/unity
%exclude %{_libdir}/*.a
%changelog

View File

@ -1,13 +0,0 @@
Index: iniparser/Makefile
===================================================================
--- a/Makefile
+++ b/Makefile
@@ -21,7 +21,7 @@ ARFLAGS = rcv
SHLD = ${CC} ${CFLAGS}
LDSHFLAGS = -shared -Wl,-Bsymbolic
-LDFLAGS += -Wl,-rpath -Wl,/usr/lib -Wl,-rpath,/usr/lib
+LDFLAGS +=
# .so.0 is for version 3.x, .so.1 is 4.x
SO_TARGET ?= libiniparser.so.1

BIN
unity-2.6.1.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.