Commit Graph

36 Commits

Author SHA1 Message Date
Miss Skeleton (bot) 65894cac08
bpo-42051: Reject XML entity declarations in plist files (GH-22760)
(cherry picked from commit 05ee790f4d)

Co-authored-by: Ronald Oussoren <ronaldoussoren@mac.com>
2020-10-19 19:35:23 -07:00
Jon Janzen fe934e1d03 [3.8] Slightly improve plistlib test coverage. (GH-17025) (GH-17028)
* Add missing test class (mistake in GH-4455)

* Increase coverage with 4 more test cases

* Rename neg_uid to huge_uid in test_modified_uid_huge

* Replace test_main() with unittest.main()

* Update plistlib docs.
(cherry picked from commit d0d9f7cfa3)

Co-authored-by: Jon Janzen <jjjonjanzen@gmail.com>
2019-11-02 16:48:22 +02:00
Jon Janzen c981ad16b0 bpo-26707: Enable plistlib to read UID keys. (GH-12153)
Plistlib currently throws an exception when asked to decode a valid
.plist file that was generated by Apple's NSKeyedArchiver. Specifically,
this is caused by a byte 0x80 (signifying a UID) not being understood.

This fixes the problem by enabling the binary plist reader and writer
to read and write plistlib.UID objects.
2019-05-15 23:14:38 +03:00
Serhiy Storchaka 0e069a1597
Fix implementation dependent assertion in test_plistlib. (#4813)
It is failed with an advanced optimizer.
2017-12-12 19:03:08 +02:00
Serhiy Storchaka a897aeeef6
bpo-32072: Fix issues with binary plists. (#4455)
* Fixed saving bytearrays.
* Identical objects will be saved only once.
* Equal references will be load as identical objects.
* Added support for saving and loading recursive data structures.
2017-11-30 23:26:11 +02:00
Serhiy Storchaka db91e0fe24
bpo-31897: Convert unexpected errors when read bogus binary plists into InvalidFileException. (#4171) 2017-10-31 14:05:53 +02:00
Serhiy Storchaka edef358ed6 bpo-29196: Removed old-deprecated classes Plist, Dict and _InternalDict (#488)
in the plistlib module.  Dict values in the result of functions
readPlist() and readPlistFromBytes() are now exact dicts.
2017-05-15 13:21:31 +03:00
Serhiy Storchaka db8d6265fa Issue #28321: Fixed writing non-BMP characters with binary format in plistlib. 2016-10-04 20:08:29 +03:00
Serhiy Storchaka 7338ebc4ba Issue #28321: Fixed writing non-BMP characters with binary format in plistlib. 2016-10-04 20:04:30 +03:00
Martin Panter d04d21373f Issue #27109: Add InvalidFileException to __all__, by Jacek Kołodziej 2016-06-06 02:00:50 +00:00
Serhiy Storchaka 47d1d7f48a Issue #26711: Fixed the comparison of plistlib.Data with other types. 2016-05-01 13:36:42 +03:00
Serhiy Storchaka dd1bcdf618 Issue #26711: Fixed the comparison of plistlib.Data with other types. 2016-05-01 13:36:16 +03:00
Serhiy Storchaka e437a10d15 Issue #23277: Remove unused imports in tests. 2016-04-24 21:41:02 +03:00
Serhiy Storchaka 94ad49fabc Issue #26709: Fixed Y2038 problem in loading binary PLists. 2016-04-08 15:00:02 +03:00
Serhiy Storchaka 8966759b03 Issue #21888: plistlib's load() and loads() now work if the fmt parameter is
specified.
2014-07-23 18:49:31 +03:00
Serhiy Storchaka 065266450e Issue #21538: The plistlib module now supports loading of binary plist files
when reference or offset size is not a power of two.
2014-05-23 16:13:33 +03:00
Ronald Oussoren 94e44a935b Issue #14455: fix handling of unsigned long long values for binary plist files
Values in the range of an unsigned long long, but outside of the range
of a signed long long were serialized as a negative value.

Due to a bug in PyObjC my test scripts indicated that the previous behavior
matched Apple's plist code, instead the handle large unsigned values correctly.

The change to plistlib.py is from a patch by Serhiy.
2014-02-06 11:19:18 +01:00
Ronald Oussoren 6db6653bbc Issue #14455: Fix some issues with plistlib
* Negative integer support in binary plists was broken

* Better exception for invalid data

* Fix the versionadded/versionchanged markup in the documentation

* Add the interface cleanup to what's new for 3.4
2014-01-15 11:32:35 +01:00
Ronald Oussoren c5cf797342 Issue #14455: plistlib now supports binary plists and has an updated API.
This patch adds support for binary plists on OSX to plistlib (based
on a patch by 'dpounces').

The patch also cleans up the API for the plistlib module.
2013-11-21 15:46:49 +01:00
Ronald Oussoren 326edfde56 Ensure that plistlib doesn't corrupt deeply nested datastructures
Without this changeset plistlib would write empty tags for plistlib.Data
objects in deeply nested datastructures.

Fixes #17353
2013-04-23 13:47:22 +02:00
Hynek Schlawack 52209d3a1e #14835: Make plistlib output empty arrays & dicts like OS X
Patch by Sidney San Martín.
2012-05-29 12:04:54 +02:00
Ned Deily 32b5cb0a66 Issue #985064: Make plistlib more resilient to faulty input plists.
Patch by Mher Movsisyan.
2011-05-28 03:02:30 -07:00
Ned Deily b8e59f77e6 Issue #985064: Make plistlib more resilient to faulty input plists.
Patch by Mher Movsisyan.
2011-05-28 02:19:19 -07:00
Ronald Oussoren ae2a0aeb3c Merged revisions 80298 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r80298 | ronald.oussoren | 2010-04-21 08:00:35 +0200 (Wed, 21 Apr 2010) | 2 lines

  Sync test_plistlib.py with plistlib.py
........
2010-04-21 06:01:23 +00:00
Benjamin Peterson ee8712cda4 #2621 rename test.test_support to test.support 2008-05-20 21:35:26 +00:00
Christian Heimes 05e8be17fd Merged revisions 60990-61002 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r60990 | eric.smith | 2008-02-23 17:05:26 +0100 (Sat, 23 Feb 2008) | 1 line

  Removed duplicate Py_CHARMASK define.  It's already defined in Python.h.
........
  r60991 | andrew.kuchling | 2008-02-23 17:23:05 +0100 (Sat, 23 Feb 2008) | 4 lines

  #1330538: Improve comparison of xmlrpclib.DateTime and datetime instances.
  Remove automatic handling of datetime.date and datetime.time.
  This breaks backward compatibility, but python-dev discussion was strongly
  against this automatic conversion; see the bug for a link.
........
  r60994 | andrew.kuchling | 2008-02-23 17:39:43 +0100 (Sat, 23 Feb 2008) | 1 line

  #835521: Add index entries for various pickle-protocol methods and attributes
........
  r60995 | andrew.kuchling | 2008-02-23 18:10:46 +0100 (Sat, 23 Feb 2008) | 2 lines

  #1433694: minidom's .normalize() failed to set .nextSibling for last element.
  Fix by Malte Helmert
........
  r61000 | christian.heimes | 2008-02-23 18:40:11 +0100 (Sat, 23 Feb 2008) | 1 line

  Patch #2167 from calvin: Remove unused imports
........
  r61001 | christian.heimes | 2008-02-23 18:42:31 +0100 (Sat, 23 Feb 2008) | 1 line

  Patch #1957: syslogmodule: Release GIL when calling syslog(3)
........
  r61002 | christian.heimes | 2008-02-23 18:52:07 +0100 (Sat, 23 Feb 2008) | 2 lines

  Issue #2051 and patch from Alexander Belopolsky:
  Permission for pyc and pyo files are inherited from the py file.
........
2008-02-23 18:30:17 +00:00
Neal Norwitz eaa16f9737 Try to fix test_plistlib so it uses bytes consistently in this call 2007-08-30 06:37:08 +00:00
Guido van Rossum cd869d8d41 SF patch# 1769016 by James Brotchie.
Change plistlib to use bytes instead of strings.
Fix test_plistlib accordingly.
2007-08-07 14:26:40 +00:00
Guido van Rossum ef87d6ed94 Rip out all the u"..." literals and calls to unicode(). 2007-05-02 19:09:54 +00:00
Just van Rossum 2dae7646c3 On second thought: "Errors should never pass silently", so barf when a
string contains control chars that are illegal for XML
2004-11-12 09:36:12 +00:00
Just van Rossum 48ecaccf9e testing control chars and non-dict root objects 2004-11-12 08:34:32 +00:00
Just van Rossum fc93e17598 - Added tests for the string load/dump function.
- Added a chunk of plist data as generated by Cocoa's NSDictionary and
  verify we output the same (including formatting)
- Changed the "literal" plist code to match the raw test data
2004-10-26 11:02:08 +00:00
Just van Rossum 16c3e08931 use new readPlist() and writePlist() functions 2004-10-02 14:06:18 +00:00
Just van Rossum bcc58e87e8 - added (c)StringIO tests; cStringIO usage failed in the previous
version of plistlib.py (r1.2)
2003-07-01 20:22:30 +00:00
Tim Peters 669454e9dc Whitespace normalization. 2003-03-07 17:30:48 +00:00
Jack Jansen 838e76af2c Test suite for the plistlib module. 2003-02-25 12:58:58 +00:00