commit
8c7a30700c
@ -0,0 +1 @@
|
||||
SOURCES/tinyxml_2_6_2.tar.gz
|
@ -0,0 +1 @@
|
||||
cba3f50dd657cb1434674a03b21394df9913d764 SOURCES/tinyxml_2_6_2.tar.gz
|
@ -0,0 +1,23 @@
|
||||
Description: In stamp always advance the pointer if *p= 0xef
|
||||
.
|
||||
The current implementation only advanced if 0xef is followed
|
||||
by two non-zero bytes. In case of malformed input (0xef should be
|
||||
the start byte of a three byte character) this leads to an infinite
|
||||
loop. (CVE-2021-42260)
|
||||
Origin: https://sourceforge.net/p/tinyxml/git/merge-requests/1/
|
||||
|
||||
--- a/tinyxmlparser.cpp
|
||||
+++ b/tinyxmlparser.cpp
|
||||
@@ -274,6 +274,12 @@ void TiXmlParsingData::Stamp( const char* now, TiXmlEncoding encoding )
|
||||
else
|
||||
{ p +=3; ++col; } // A normal character.
|
||||
}
|
||||
+ else
|
||||
+ {
|
||||
+ // TIXML_UTF_LEAD_0 (239) is the start character of a 3 byte sequence, so
|
||||
+ // there is something wrong here. Just advance the pointer to evade infinite loops
|
||||
+ ++p;
|
||||
+ }
|
||||
}
|
||||
else
|
||||
{
|
@ -0,0 +1,28 @@
|
||||
From: Guilhem Moulin <guilhem@debian.org>
|
||||
Date: Sat, 30 Dec 2023 14:15:54 +0100
|
||||
Subject: Avoid reachable assertion via crafted XML document with a '\0'
|
||||
located after whitespace
|
||||
|
||||
Bug: https://www.forescout.com/resources/sierra21-vulnerabilities
|
||||
Bug-Debian: https://bugs.debian.org/1059315
|
||||
Bug-Debian: https://security-tracker.debian.org/tracker/CVE-2023-34194
|
||||
Bug-Debian: https://security-tracker.debian.org/tracker/CVE-2023-40462
|
||||
---
|
||||
tinyxmlparser.cpp | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/tinyxmlparser.cpp b/tinyxmlparser.cpp
|
||||
index 8aa0dfa..1601962 100644
|
||||
--- a/tinyxmlparser.cpp
|
||||
+++ b/tinyxmlparser.cpp
|
||||
@@ -1606,6 +1606,10 @@ const char* TiXmlDeclaration::Parse( const char* p, TiXmlParsingData* data, TiXm
|
||||
}
|
||||
|
||||
p = SkipWhiteSpace( p, _encoding );
|
||||
+ if ( !p || !*p )
|
||||
+ {
|
||||
+ break;
|
||||
+ }
|
||||
if ( StringEqual( p, "version", true, _encoding ) )
|
||||
{
|
||||
TiXmlAttribute attrib;
|
@ -0,0 +1,12 @@
|
||||
diff -up tinyxml/tinyxml.h~ tinyxml/tinyxml.h
|
||||
--- tinyxml/tinyxml.h~ 2007-11-30 22:39:36.000000000 +0100
|
||||
+++ tinyxml/tinyxml.h 2007-11-30 22:39:36.000000000 +0100
|
||||
@@ -26,6 +26,8 @@ distribution.
|
||||
#ifndef TINYXML_INCLUDED
|
||||
#define TINYXML_INCLUDED
|
||||
|
||||
+#define TIXML_USE_STL 1
|
||||
+
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning( push )
|
||||
#pragma warning( disable : 4530 )
|
@ -0,0 +1,55 @@
|
||||
diff -up tinyxml/tinyxml.cpp.orig tinyxml/tinyxml.cpp
|
||||
--- tinyxml/tinyxml.cpp.orig 2011-05-15 04:24:57.000000000 +0200
|
||||
+++ tinyxml/tinyxml.cpp 2024-01-03 14:55:14.246379618 +0100
|
||||
@@ -57,30 +57,7 @@ void TiXmlBase::EncodeString( const TIXM
|
||||
{
|
||||
unsigned char c = (unsigned char) str[i];
|
||||
|
||||
- if ( c == '&'
|
||||
- && i < ( (int)str.length() - 2 )
|
||||
- && str[i+1] == '#'
|
||||
- && str[i+2] == 'x' )
|
||||
- {
|
||||
- // Hexadecimal character reference.
|
||||
- // Pass through unchanged.
|
||||
- // © -- copyright symbol, for example.
|
||||
- //
|
||||
- // The -1 is a bug fix from Rob Laveaux. It keeps
|
||||
- // an overflow from happening if there is no ';'.
|
||||
- // There are actually 2 ways to exit this loop -
|
||||
- // while fails (error case) and break (semicolon found).
|
||||
- // However, there is no mechanism (currently) for
|
||||
- // this function to return an error.
|
||||
- while ( i<(int)str.length()-1 )
|
||||
- {
|
||||
- outString->append( str.c_str() + i, 1 );
|
||||
- ++i;
|
||||
- if ( str[i] == ';' )
|
||||
- break;
|
||||
- }
|
||||
- }
|
||||
- else if ( c == '&' )
|
||||
+ if ( c == '&' )
|
||||
{
|
||||
outString->append( entity[0].str, entity[0].strLength );
|
||||
++i;
|
||||
diff -up tinyxml/xmltest.cpp.orig tinyxml/xmltest.cpp
|
||||
--- tinyxml/xmltest.cpp.orig 2011-05-15 04:24:57.000000000 +0200
|
||||
+++ tinyxml/xmltest.cpp 2024-01-03 14:55:14.247379623 +0100
|
||||
@@ -1366,6 +1366,16 @@ int main()
|
||||
}*/
|
||||
}
|
||||
|
||||
+ #ifdef TIXML_USE_STL
|
||||
+ {
|
||||
+ TiXmlDocument xml;
|
||||
+ xml.Parse("<foo>foo&#xa+bar</foo>");
|
||||
+ std::string str;
|
||||
+ str << xml;
|
||||
+ XmlTest( "Entity escaping", "<foo>foo&#xa+bar</foo>", str.c_str() );
|
||||
+ }
|
||||
+ #endif
|
||||
+
|
||||
/* 1417717 experiment
|
||||
{
|
||||
TiXmlDocument xml;
|
@ -0,0 +1,10 @@
|
||||
prefix=@prefix@
|
||||
exec_prefix=@exec_prefix@
|
||||
libdir=@libdir@
|
||||
includedir=@includedir@
|
||||
|
||||
Name: TinyXML
|
||||
Description: A simple, small, C++ XML parser
|
||||
Version: @version@
|
||||
Libs: -L${libdir} -ltinyxml
|
||||
Cflags: -I${includedir} -DTIXML_USE_STL=YES
|
@ -0,0 +1,216 @@
|
||||
%global _hardened_build 1
|
||||
|
||||
%define underscore_version 2_6_2
|
||||
|
||||
Name: tinyxml
|
||||
Version: 2.6.2
|
||||
Release: 30%{?dist}
|
||||
Summary: A simple, small, C++ XML parser
|
||||
License: zlib
|
||||
URL: http://www.grinninglizard.com/tinyxml/
|
||||
Source0: http://downloads.sourceforge.net/%{name}/%{name}_%{underscore_version}.tar.gz
|
||||
Source1: tinyxml.pc.in
|
||||
Patch0: tinyxml-2.5.3-stl.patch
|
||||
# https://sourceforge.net/p/tinyxml/patches/_discuss/thread/fa2235db/f16d/attachment/entity.patch
|
||||
Patch1: tinyxml-issue51.patch
|
||||
Patch2: https://sources.debian.org/data/main/t/tinyxml/2.6.2-6.1/debian/patches/CVE-2021-42260.patch
|
||||
Patch3: https://sources.debian.org/data/main/t/tinyxml/2.6.2-6.1/debian/patches/CVE-2023-34194.patch
|
||||
|
||||
BuildRequires: gcc-c++
|
||||
|
||||
%description
|
||||
TinyXML is a simple, small, C++ XML parser that can be easily integrating
|
||||
into other programs. Have you ever found yourself writing a text file parser
|
||||
every time you needed to save human readable data or serialize objects?
|
||||
TinyXML solves the text I/O file once and for all.
|
||||
(Or, as a friend said, ends the Just Another Text File Parser problem.)
|
||||
|
||||
|
||||
%package devel
|
||||
Summary: Development files for %{name}
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
%description devel
|
||||
The %{name}-devel package contains libraries and header files for
|
||||
developing applications that use %{name}.
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n %{name}
|
||||
|
||||
|
||||
%build
|
||||
%{set_build_flags}
|
||||
mv changes.txt changes.txt-orig
|
||||
iconv -f ISO-8859-1 -t UTF-8 changes.txt-orig > changes.txt
|
||||
rm -f changes.txt-orig
|
||||
# Not really designed to be build as lib, DYI
|
||||
for i in tinyxml.cpp tinystr.cpp tinyxmlerror.cpp tinyxmlparser.cpp; do
|
||||
${CXX} $RPM_OPT_FLAGS -fPIC -o $i.o -c $i
|
||||
done
|
||||
${CXX} $RPM_LD_FLAGS -shared -o lib%{name}.so.0.%{version} \
|
||||
-Wl,-soname,lib%{name}.so.0 *.cpp.o
|
||||
|
||||
|
||||
%install
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
# Not really designed to be build as lib, DYI
|
||||
mkdir -p $RPM_BUILD_ROOT%{_libdir}
|
||||
mkdir -p $RPM_BUILD_ROOT%{_includedir}
|
||||
install -m 755 lib%{name}.so.0.%{version} $RPM_BUILD_ROOT%{_libdir}
|
||||
ln -s lib%{name}.so.0.%{version} $RPM_BUILD_ROOT%{_libdir}/lib%{name}.so.0
|
||||
ln -s lib%{name}.so.0.%{version} $RPM_BUILD_ROOT%{_libdir}/lib%{name}.so
|
||||
install -p -m 644 %{name}.h $RPM_BUILD_ROOT%{_includedir}
|
||||
|
||||
mkdir -p %{buildroot}%{_libdir}/pkgconfig
|
||||
sed -e 's![@]prefix[@]!%{_prefix}!g' \
|
||||
-e 's![@]exec_prefix[@]!%{_exec_prefix}!g' \
|
||||
-e 's![@]libdir[@]!%{_libdir}!g' \
|
||||
-e 's![@]includedir[@]!%{_includedir}!g' \
|
||||
-e 's![@]version[@]!%{version}!g' \
|
||||
%{SOURCE1} > %{buildroot}%{_libdir}/pkgconfig/%{name}.pc
|
||||
|
||||
|
||||
%check
|
||||
%{set_build_flags}
|
||||
${CXX} $RPM_OPT_FLAGS -DTIXML_USE_STL -fPIE -ltinyxml -L%{buildroot}%{_libdir} -o xmltest xmltest.cpp
|
||||
chmod +x xmltest
|
||||
LD_LIBRARY_PATH=%{buildroot}%{_libdir} ./xmltest
|
||||
|
||||
|
||||
%files
|
||||
%doc changes.txt readme.txt
|
||||
%{_libdir}/*.so.*
|
||||
|
||||
%files devel
|
||||
%doc docs/*
|
||||
%{_includedir}/*
|
||||
%{_libdir}/*.so
|
||||
%{_libdir}/pkgconfig/%{name}.pc
|
||||
|
||||
|
||||
%changelog
|
||||
* Wed Dec 25 2024 Arkady L. Shane <tigro@msvsphere-os.ru> - 2.6.2-30
|
||||
- Rebuilt for MSVSphere 10
|
||||
|
||||
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.2-30
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||
|
||||
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.2-29
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Wed Jan 03 2024 Dominik Mierzejewski <dominik@greysector.net> - 2.6.2-28
|
||||
- apply Debian patch to fix CVE-2021-42260 (rhbz#2253716, rhbz#2253718)
|
||||
- apply Debian patch to fix CVE-2023-34194 and its duplicate, CVE-2023-40462
|
||||
(rhbz#2254376, rhbz#2254381)
|
||||
- fix incorrect text element encoding (upstream isssue #51)
|
||||
- compile and run tests
|
||||
|
||||
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.2-27
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.2-26
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.2-25
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.2-24
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.2-23
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.2-22
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.2-21
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.2-20
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.2-19
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.2-18
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.2-17
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Fri Feb 23 2018 Florian Weimer <fweimer@redhat.com> - 2.6.2-16
|
||||
- Use LDFLAGS from redhat-rpm-config
|
||||
|
||||
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.2-15
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.2-14
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.2-13
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.2-12
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.2-11
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.6.2-10
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
|
||||
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 2.6.2-9
|
||||
- Rebuilt for GCC 5 C++11 ABI change
|
||||
|
||||
* Thu Mar 26 2015 Kalev Lember <kalevlember@gmail.com> - 2.6.2-8
|
||||
- Rebuilt for GCC 5 ABI change
|
||||
|
||||
* Fri Jan 09 2015 François Cami <fcami@fedoraproject.org> - 2.6.2-7
|
||||
- Use PIC.
|
||||
|
||||
* Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.6.2-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||
|
||||
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.6.2-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||
|
||||
* Fri Apr 04 2014 Scott K Logan <logans@cottsay.net> - 2.6.2-4
|
||||
- Fix wrong pkgconfig path
|
||||
|
||||
* Sat Mar 01 2014 Scott K Logan <logans@cottsay.net> - 2.6.2-3
|
||||
- Add basic pkgconfig
|
||||
|
||||
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.6.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||
|
||||
* Thu Jan 17 2013 François Cami <fcami@fedoraproject.org> - 2.6.2-1
|
||||
- Update to 2.6.2
|
||||
- Fix changes.txt encoding
|
||||
|
||||
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.6.1-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||
|
||||
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.6.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
||||
|
||||
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.6.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
||||
|
||||
* Mon May 03 2010 Rakesh Pandit <rakesh@fedoraproject.org> - 2.6.1-1
|
||||
- Updated to 2.6.1
|
||||
|
||||
* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.5.3-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
||||
|
||||
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.5.3-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
|
||||
|
||||
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 2.5.3-3
|
||||
- Autorebuild for GCC 4.3
|
||||
|
||||
* Fri Dec 14 2007 Hans de Goede <j.w.r.degoede@hhs.nl> 2.5.3-2
|
||||
- Various improvements from review (bz 407571)
|
||||
|
||||
* Fri Nov 30 2007 Hans de Goede <j.w.r.degoede@hhs.nl> 2.5.3-1
|
||||
- Initial Fedora Package
|
Loading…
Reference in new issue