Sync from SUSE:ALP:Source:Standard:1.0 libplist revision 7934553a10bfea6c1c507ad1acc536bf

This commit is contained in:
Adrian Schröter 2023-06-16 15:05:25 +02:00
commit 120e1b3007
5 changed files with 566 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

BIN
2.3.0.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

2
baselibs.conf Normal file
View File

@ -0,0 +1,2 @@
libplist-2_0-4
libplist++-2_0-4

373
libplist.changes Normal file
View File

@ -0,0 +1,373 @@
-------------------------------------------------------------------
Mon Apr 24 10:50:09 UTC 2023 - Sebastian Wagner <sebix@sebix.at>
- Update to version 2.3.0:
- Changes:
* Rename PLIST_UINT to PLIST_INT and add plist_new_int() and plist_get_int_val()
* Add support for JSON format
* Add support for OpenStep format
* Introduce error codes and format constants
* Add return value to import/export functions to allow returning error codes
* Add new plist_sort function
* Add several human-readable output-only formats
* Add new plist_write_to_string/_stream/_file functions
* Add new plist_print function
* Add new plist_read_from_file function
* Add new plist_mem_free() function
* Add a few C++ methods
* Add C++ interface test
* Add PLIST_NULL type
* Some code housekeeping (mostly clang-tidy)
- Breaking:
* plist_from_memory() gets additional parameter
- Bugfixes:
* Fix multiple bugs in all of the parsers
* Fix handling of PLIST_UID nodes
-------------------------------------------------------------------
Mon Jan 17 21:12:33 UTC 2022 - Michael Gorse <mgorse@suse.com>
- Add python-rpm-macros to BuildRequires (boo#1194756).
-------------------------------------------------------------------
Mon Dec 6 12:13:55 UTC 2021 - Fabian Vogt <fvogt@suse.com>
- Drop incorrect Provides/Obsoletes of library packages
- Avoid libplist{,++} capabilities by using the library names directly
- Use %autosetup
- Use install with -D instead of mkdir
-------------------------------------------------------------------
Tue Sep 28 16:56:24 UTC 2021 - Michael Gorse <mgorse@suse.com>
- Obsolete old python 2 plist module. It conflicts with the
python 3 version.
-------------------------------------------------------------------
Sun Nov 8 10:54:21 UTC 2020 - Christophe Giboudeaux <christophe@krop.fr>
- Update baselibs.conf.
- Stop obsoleting 'virtual' provides. The package manager
will take care of package updates.
- Also rename libplist-devel to libplist-2_0-devel.
- Add missing provides/obsoletes for devel packages.
-------------------------------------------------------------------
Mon Sep 21 07:37:06 UTC 2020 - Stefan Elser <suse@foomaster.de>
- Update to 2.2.0:
- Rename library and all related files by adding an API version resulting in libplist-2.0 and libplist++-2.0
- bplist: Improve recursion check performance by at least 30% for large files
- Add new plist_val_compare(), plist_val_contains() helper functions
- plistutil: Added ability for files to be read from stdin
- plistutil: Added ability to specify output format
- Fix/suppress several compiler warnings
- Fix: Return NULL from plist_copy() if passed a NULL pointer instead of asserting
- Fix removal of docs directory on make clean
-------------------------------------------------------------------
Thu Mar 12 10:18:43 UTC 2020 - Tomáš Chvátal <tchvatal@suse.com>
- Update to 2.1.0:
* Add new plist_get_data_ptr() and plist_get_string_ptr() for direct access to underlying buffer
* Increase precision when converting PLIST_REAL nodes to XML
* Fix several issues in libcnary (UaF, segfault, memory leak)
* Fix copying of hash table entries when cloning array/dict nodes
* cython: Implement load()/loads() and dump()/dumps() to match up with plistlib (Python 3.4)
* Add new plist_dict_item_get_key() for retrieving key node of a dict item
* Add new plist_array_item_remove() to allow removing an array's child node without relying on the index
* Make plist_array_get_item_index() return UINT_MAX instead of 0 when node can't be found
* Add index lookup table for large PLIST_ARRAY nodes
* Add iterator for array nodes: plist_array_new_iter(), plist_array_next_item()
* Improve performance of plist_dict_next_item() drastically
* Improve performance and memory usage when writing XML plists
* Improve performance and memory usage when writing binary plists
* Allow building with sanitizers (without fuzzers)
* Prevent store to misaligned address when writing real/date nodes
* Work around misaligned reads in binary plist parser
* Integrate fuzzing targets (libFuzzer) into project
* Add sanitizers (ASAN, UBSAN) when building fuzzers (--with-fuzzers)
-------------------------------------------------------------------
Mon May 1 20:48:19 UTC 2017 - mgorse@suse.com
- update to version 2.0.0:
* Improved malformed XML and binary plist detection and error
handling
* Add parser debug/error output (when compiled with
--enable-debug), controlled via environment variables
* Fix unicode character handling
* Add PLIST_IS_* helper macros for the different node types
* Extend date/time range and date conversion issues
* Plug several memory leaks
* Speed improvements for handling large plist files
* Includes security fixes for:
* CVE-2017-6440, CVE-2017-6439, CVE-2017-6438, CVE-2017-6437,
* CVE-2017-6436, CVE-2017-6435, CVE-2017-5836, CVE-2017-5835,
* CVE-2017-5834, * CVE-2017-5545, * CVE-2017-7982 (boo#1035312)
... and several others that didn't receive any CVE (yet).
-------------------------------------------------------------------
Thu Feb 2 01:25:43 UTC 2017 - jengelh@inai.de
- RPM group assignment fixes
-------------------------------------------------------------------
Wed Jan 25 15:39:22 UTC 2017 - i@marguerite.su
- update version 1.12+git20170119.6a44dfb
* xplist: Fix limiited but possible XXE security vulnerability
with XML
* plistutil: use static buffer for stat()
* plistutil: Plug some memory leaks
* bplist: Fix possible crash in plist_from_bin() caused by access
to already freed memory
* bplist: Plug memory leaks caused by unused and unfreed buffer
* bplist: Refactor binary plist parsing in a recursive way
* xplist: Get rid of setlocale() and use custom function to print
floating point values
* Node.cpp: let plist_t operations free _node when in a container
* cython: Fix module build with libplist already installed
* bplist: Speed up plist_to_bin conversion for large plists
* Implemented plist_is_binary() and plist_from_memory()
* plist_data_compare: Make sure to compare the node sizes for integer
nodes
* xplist: Plug memory leak when converting PLIST_UID nodes to XML
* Change internal storage of PLIST_DATE values from struct timeval
to double
* Use time64 implementation by Michael G Schwern to extend allowed
date/time range
* remove libxml2 in favor of custom XML parsing
* base64: Rework base64decode to handle split encoded data correctly
* plistutil: Prevent OOB heap buffer read by checking input size
* plistutil: Use plist_is_binary() to check for binary plist data
* bplist: Improve UINT_TO_HOST macro, remove uint24_from_be function
* bplist: Check for invalid offset_size in bplist trailer
* bplist: Use proper struct for binary plist trailer
* bplist: Check for invalid ref_size in bplist trailer
- fixed CVE-2017-5209, boo#1019531
* The base64decode function in base64.c allows attackers to
obtaiin sensitive info from process memory or cause a denial
of service (buffer over-read) via split encoded Apple Property
List data.
-------------------------------------------------------------------
Tue Oct 21 22:40:00 UTC 2014 - m.szulecki@libimobiledevice.org
- Enable %check as it is provided by libplist and improves quality
-------------------------------------------------------------------
Fri Oct 17 03:30:00 CEST 2014 - m.szulecki@libimobiledevice.org
- Update to version 1.12
* Fix plist_from_bin() changing value nodes to key nodes in dictionaries
* Avoid exporting non-public symbols
* Prevent crash in plist_from_bin() when parsing unusual binary plists
* Fix crash in String|Key::GetValue() and actually make C++ interface work
* Fix memory leaks in new_xml_plist() and parse_real_node()
* Fix header guards to conform to C++ standard
* Update Cython based Python bindings and remove plist_new_key()
* Fix key nodes not being output correctly if they contained XML entities
* Fix handling and storage of signed vs. unsigned integer values
* Fix date handling to respect the "Mac Epoch" instead of "Unix Epoch"
* Remove plist_set_type() as it should not be used
* Fix deprecated macros to work with older LLVM/Clang
* Fix various shadowed declarations
* Add documentation to explicitly describe memory buffer ownership
* Fix memory leak in plist_from_bin()
* Add various test cases based on fixes
* Fix wrong timezone related date/time conversion of date nodes
* Fix endian detection on MIPS architecture
* Fix parallel build for autotools
-------------------------------------------------------------------
Mon Jun 16 15:29:11 UTC 2014 - i@marguerite.su
- update version 1.11
* Deprecated plist_dict_insert_item() in favor of plist_dict_set_item()
* Updated cython bindings for Python 3.x
* Removed swig python bindings
* Changed build system to autotools
* Added new plist_dict_merge() function
* WIN32 (MinGW) + OSX compilation fixes
* Made base64 decoding thread safe
- remove patch: libplist-1.8-pkgconfig.patch
* upstream fixed
- added plist.pxd, needed by python-imobiledevice build
-------------------------------------------------------------------
Mon Apr 15 12:54:38 UTC 2013 - mmeister@suse.com
- Added url as source.
Please see http://en.opensuse.org/SourceUrls
-------------------------------------------------------------------
Tue Aug 28 15:52:14 UTC 2012 - cfarrell@suse.com
- license update: LGPL-2.1+
LGPL-2.1 can be relicensed to GPL without further permission. No need to
explicitly call out the GPL as a license option. Fedora has been using
LGPL-2.1+ for awhile so gain compatibility there too
-------------------------------------------------------------------
Mon Apr 09 15:45:03 CEST 2012 - opensuse@sukimashita.com
- Allow compilation on 11.4 by disabling cython bindings
-------------------------------------------------------------------
Mon Apr 02 15:54:57 CEST 2012 - opensuse@sukimashita.com
- Update to version 1.8
* Add Cython based Python bindings
* Fix memory corruption in libcnary
* Fix building on Big Endian systems
* Removed glib dependency, libplist now uses bundled libcnary
* Fix building of Python bindings with GCC 4.6
- Do not build SWIG bindings for Python
- Remove gcc46_build_fix.patch due to upstream fixes
- Update pkgconfig patch
-------------------------------------------------------------------
Tue Jan 31 10:50:25 UTC 2012 - jengelh@medozas.de
- Remove redundant tags/sections per specfile guideline suggestions
- Parallel building using %_smp_mflags
-------------------------------------------------------------------
Wed Oct 5 12:24:02 UTC 2011 - uli@suse.com
- cross-build fix: set cmake root, python paths
- cross-build workaround: move installed files from sysroot to
real root
-------------------------------------------------------------------
Tue Jun 28 13:59:00 UTC 2011 - aj@suse.de
- Add baselibs.conf - needed by usbmuxd's baselibs.conf.
-------------------------------------------------------------------
Mon May 16 22:18:07 UTC 2011 - cgiboudeaux@gmx.com
- Add gcc46_build_fix.patch. Fixes build with GCC4.6
-------------------------------------------------------------------
Sun Mar 20 18:17:36 CEST 2011 - opensuse@sukimashita.com
- Update to version 1.4
* New maintainer and source location
* Update AUTHORS from git history
* Fix Unicode writing in binary plists
* Update plist doctype
* Fix Dictionary copy constructor
* Fix Mac OS X library install path detection
* Plug memory leak when writing Unicode data
- Remove pkgconfig patch due to upstream fixes
-------------------------------------------------------------------
Wed Dec 8 21:18:28 UTC 2010 - cristian.rodriguez@opensuse.org
- Fix both -devel package dependencies and broken pkgconfig file
-------------------------------------------------------------------
Tue Apr 27 11:20:20 CEST 2010 - opensuse@sukimashita.com
- Update to version 1.3
* Endianness, alignment and type-punning fixes
* Fix armel floating point endianess
* Allow compiling with mingw on Windows
* Minor bugfixes
-------------------------------------------------------------------
Thu Apr 1 00:17:48 CEST 2010 - vuntz@opensuse.org
- Clean up packaging, based on what I did in multimedia:libs.
-------------------------------------------------------------------
Thu Mar 25 11:14:40 CET 2010 - meissner@suse.de
- run prepare_spec
-------------------------------------------------------------------
Fri Jan 22 01:40:54 CEST 2010 - opensuse@sukimashita.com
- Update to version 1.2
* Fix xml entity conversion
* Silence build warnings
- Remove upstreamed patches
-------------------------------------------------------------------
Sat Jan 09 11:07:34 CEST 2010 - opensuse@sukimashita.com
- Add patches to fix xml entity conversion and tests
-------------------------------------------------------------------
Wed Dec 30 18:33:27 CEST 2009 - opensuse@sukimashita.com
- Update to version 1.1
* Fix use of integer nodes within Python Bindings
-------------------------------------------------------------------
Tue Dec 08 00:20:17 CEST 2009 - opensuse@sukimashita.com
- Update to version 1.0
* Bugfixes
* Remove deprecated API
-------------------------------------------------------------------
Wed Oct 28 21:01:57 CEST 2009 - opensuse@sukimashita.com
- Update to version 0.16
* Build fixes
* Fix issues with SWIG
-------------------------------------------------------------------
Sat Oct 24 23:53:01 CEST 2009 - opensuse@sukimashita.com
- Update to version 0.15
* Build fixes
- Update to version 0.14
* Add C++ binding
* Refactor API
* Bugfixes
-------------------------------------------------------------------
Sun Jul 19 00:06:10 CEST 2009 - opensuse@sukimashita.com
- Update to version 0.13
* Add plist_copy for deep node copies
* Add node setter functions
* Unlink nodes from parent if free'd
* Update Python bindings
-------------------------------------------------------------------
Wed May 06 01:06:10 CEST 2009 - opensuse@sukimashita.com
- Update to version 0.12
* Merge ascii and unicode handling in PLIST_STRING using UTF-8
* Remove unicode related declaration in API (breaks API&ABI)
* Fix bad variable type for date elements
* Silence compiler warnings
* Plugged few memory leaks
-------------------------------------------------------------------
Wed Apr 22 00:02:19 CET 2009 - opensuse@sukimashita.com
- Update to version 0.11
* Fix Python binding segfaults
* Python API additions
* Better binary buffer handling in Python bindings
-------------------------------------------------------------------
Sun Apr 12 19:17:41 CET 2009 - opensuse@sukimashita.com
- Update to version 0.10
-------------------------------------------------------------------
Tue Apr 07 10:20:57 CET 2009 - opensuse@sukimashita.com
- Add patch to fix uninitialized buffer
-------------------------------------------------------------------
Sat Apr 04 11:08:16 CET 2009 - opensuse@sukimashita.com
- Initial package created

165
libplist.spec Normal file
View File

@ -0,0 +1,165 @@
#
# spec file for package libplist
#
# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define cname libplist-2_0-4
%define cppname libplist++-2_0-4
Name: libplist
Version: 2.3.0
Release: 0
Summary: Library for handling Apple Binary and XML Property Lists
License: GPL-2.0-only AND LGPL-2.1-or-later
URL: https://github.com/libimobiledevice/libplist
Source: https://github.com/libimobiledevice/libplist/archive/%{version}.tar.gz
Source99: baselibs.conf
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: gcc-c++
BuildRequires: libtool
BuildRequires: pkgconfig
BuildRequires: python-rpm-macros
BuildRequires: python3-Cython >= 0.17
BuildRequires: pkgconfig(python3)
%description
libplist is a library for handling Apple Binary and XML Property Lists.
%package -n %{cname}
Summary: Library for handling Apple Binary and XML Property Lists
%description -n %{cname}
libplist is a library for handling Apple Binary and XML Property Lists.
%package -n %{cppname}
Summary: Library for handling Apple Binary and XML Property Lists
%description -n %{cppname}
libplist is a library for handling Apple Binary and XML Property Lists.
%package -n plistutil
Summary: Library for handling Apple Binary and XML Property Lists
Requires: %{cname} = %{version}
Provides: plutil = %{version}
%description -n plistutil
libplist is a library for handling Apple Binary and XML Property Lists.
This package contains an utility to convert PList files from binary to XML and
from XML to binary.
%package -n libplist-2_0-devel
Summary: Library for handling Apple Binary and XML Property Lists -- Development Files
Provides: libplist-devel = %{version}
Obsoletes: libplist-devel < %{version}
Requires: %{cname} = %{version}
%description -n libplist-2_0-devel
libplist is a library for handling Apple Binary and XML Property Lists.
This package contains the development files for C.
%package -n libplist++-2_0-devel
Summary: Library for handling Apple Binary and XML Property Lists -- Development Files
Provides: libplist++-devel = %{version}
Obsoletes: libplist++-devel < %{version}
Requires: %{cppname} = %{version}
Requires: pkgconfig(libplist-2.0)
%description -n libplist++-2_0-devel
libplist is a library for handling Apple Binary and XML Property Lists.
This package contains the development files for C++.
%package -n python3-plist
Summary: Library for handling Apple Binary and XML Property Lists -- Python Bindings
Requires: %{cname} = %{version}
Requires: python3-Cython >= 0.17
Obsoletes: python-plist < %{version}
Conflicts: python-plist
%description -n python3-plist
libplist is a library for handling Apple Binary and XML Property Lists.
This package contains the python bindings.
%prep
%autosetup -p1
%build
autoreconf -fvi
%configure --disable-static PACKAGE_VERSION=%{version}
%make_build
%check
TZ=Europe/Vienna make check VERBOSE=1
%install
%make_install
find %{buildroot} -type f -name "*.la" -delete -print
# needed by python-imobiledevice build
install -D -m 0644 cython/plist.pxd %{buildroot}%{_includedir}/plist/cython/plist.pxd
%post -n %{cname} -p /sbin/ldconfig
%postun -n %{cname} -p /sbin/ldconfig
%post -n %{cppname} -p /sbin/ldconfig
%postun -n %{cppname} -p /sbin/ldconfig
%files -n %{cname}
%license COPYING COPYING.LESSER
%doc AUTHORS README.md NEWS
%{_libdir}/libplist-2.0.so.*
%files -n %{cppname}
%license COPYING COPYING.LESSER
%doc AUTHORS README.md NEWS
%{_libdir}/libplist++-2.0.so.*
%files -n plistutil
%{_bindir}/plistutil
%{_mandir}/man1/plistutil.1%{?ext_man}
%files -n libplist-2_0-devel
%dir %{_includedir}/plist
%{_includedir}/plist/plist.h
%{_libdir}/libplist-2.0.so
%{_libdir}/pkgconfig/libplist-2.0.pc
%files -n libplist++-2_0-devel
%dir %{_includedir}/plist
%{_includedir}/plist/plist++.h
%{_includedir}/plist/Array.h
%{_includedir}/plist/Boolean.h
%{_includedir}/plist/Data.h
%{_includedir}/plist/Date.h
%{_includedir}/plist/Dictionary.h
%{_includedir}/plist/Integer.h
%{_includedir}/plist/Key.h
%{_includedir}/plist/Uid.h
%{_includedir}/plist/Node.h
%{_includedir}/plist/Real.h
%{_includedir}/plist/String.h
%{_includedir}/plist/Structure.h
%{_libdir}/libplist++-2.0.so
%{_libdir}/pkgconfig/libplist++-2.0.pc
%files -n python3-plist
%dir %{_includedir}/plist/cython
%{_includedir}/plist/cython/plist.pxd
%{python3_sitearch}/plist.so
%changelog