commit 120e1b3007e8213b0ecb2afbfc382b5019f80bee Author: Adrian Schröter Date: Fri Jun 16 15:05:25 2023 +0200 Sync from SUSE:ALP:Source:Standard:1.0 libplist revision 7934553a10bfea6c1c507ad1acc536bf diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..fecc750 --- /dev/null +++ b/.gitattributes @@ -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 diff --git a/2.3.0.tar.gz b/2.3.0.tar.gz new file mode 100644 index 0000000..c9c37d1 --- /dev/null +++ b/2.3.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9be5dbe3985b0b5f2ebff8583c21df30f5e825f9245a803b5ad7560528e0153c +size 218819 diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..b98836f --- /dev/null +++ b/baselibs.conf @@ -0,0 +1,2 @@ +libplist-2_0-4 +libplist++-2_0-4 diff --git a/libplist.changes b/libplist.changes new file mode 100644 index 0000000..825fae2 --- /dev/null +++ b/libplist.changes @@ -0,0 +1,373 @@ +------------------------------------------------------------------- +Mon Apr 24 10:50:09 UTC 2023 - Sebastian Wagner + +- 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 + +- Add python-rpm-macros to BuildRequires (boo#1194756). + +------------------------------------------------------------------- +Mon Dec 6 12:13:55 UTC 2021 - Fabian Vogt + +- 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 + +- Obsolete old python 2 plist module. It conflicts with the + python 3 version. + +------------------------------------------------------------------- +Sun Nov 8 10:54:21 UTC 2020 - Christophe Giboudeaux + +- 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 + +- 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 + +- 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 diff --git a/libplist.spec b/libplist.spec new file mode 100644 index 0000000..3054739 --- /dev/null +++ b/libplist.spec @@ -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