pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/security/py-asn1 Revision 0.3.1:



details:   https://anonhg.NetBSD.org/pkgsrc/rev/b0ef979b382d
branches:  trunk
changeset: 365854:b0ef979b382d
user:      adam <adam%pkgsrc.org@localhost>
date:      Thu Jul 27 18:36:10 2017 +0000

description:
Revision 0.3.1:
- ASN.1 types __init__(), .clone() and .subtype() signatures
  refactored into keyword arguments to simplify their signatures.
- ASN.1 types initialization refactored to minimize the use of
  relatively expensive isNoValue() call
- Lazily pre-populate list of values of Sequence/Set/Choice types
- NamedTypes comparison made more efficient
- More efficient constraints computation and code clean up
- The __getitem__() implementation of some ASN.1 types & tag object
  refactored for better performance
- BER/CER/DER value encoders refactored to produce either tuple of
  bytes or octet-stream depending on what is more optimal
- Reduced the frequency of expensive isinstance() calls
- Tag-related classes optimized, refactored into properties and
  documented.
- The NamedValues implementation refactored to mimic Python dict, its use
  in ASN.1 types refactored into properties and better documented.
  WARNING: this change introduces a deviation from original API.
- NamedType family of classes overhauled, optimized and documented.
- The `componentType` attribute of constructed ASN.1 types turned
  read-only on instances.
- Sequence/Set DER/CER/DER decoder optimized to skip the case of
  reordered components handling when not necessary.
- Tags and constraints-related getter methods refactored into read-only
  instance attributes.
- The .hasValue() method refactored into .isValue property. All ASN.1
  objects now support them, not just scalars.
- The Real.{isInfinity, isPlusInfinity, isMinusInfinity} methods
  refactored into properties and renamed into IsInf, IsPlusInf and isMinusInf
- The end-of-octets type refactored to ensure it is a singleton. Codecs
  changed to rely on that for better performance.
- Codecs lookup made more efficient at BER/CER/DER decoder main loop by
  assigning `typeId` to every ASN.1 type, not just ambiguous ones.
- The .getComponent*() methods of constructed ASN.1 types changed
  to lazily instantiate underlying type rather than return `None`.
  This should simplify its API as initialization like `X[0][1] = 2` becomes
  possible.
  WARNING: this change introduces a deviation from the original API.
- The .setComponent*() methods of SetOf/SequenceOf types changed not
  to allow uninitialized "holes" inside the sequences of their components.
  They now behave similarly to Python lists.
  WARNING: this change introduces a deviation from the original API.
- Default and optional components en/decoding of Constructed type
  refactored towards better efficiency and more control.
- OctetsString and Any decoder optimized to avoid creating ASN.1
  objects for chunks of substrate. Instead they now join substrate
  chunks together and create ASN.1 object from it just once.
- The GeneralizedTime and UTCTime types now support to/from Python
  datetime object conversion.
- Unit tests added for the `compat` sub-package.
- Fixed BitString named bits initialization bug.
- Fixed non-functional tag cache (when running Python 2) at DER decoder.
- Fixed chunked encoding restriction on DER encoder.
- Fixed SET components ordering at DER encoder.
- Fixed BIT STRING & OCTET STRING encoding to be always non-chunked (e.g.
  primitive) at DER encoder
- Fixed `compat.integer.from_bytes()` behaviour on empty input.

diffstat:

 security/py-asn1/Makefile |   4 ++--
 security/py-asn1/PLIST    |  11 ++++++++++-
 security/py-asn1/distinfo |  10 +++++-----
 3 files changed, 17 insertions(+), 8 deletions(-)

diffs (58 lines):

diff -r 0b3626db8fb1 -r b0ef979b382d security/py-asn1/Makefile
--- a/security/py-asn1/Makefile Thu Jul 27 18:33:54 2017 +0000
+++ b/security/py-asn1/Makefile Thu Jul 27 18:36:10 2017 +0000
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.10 2017/04/19 11:24:38 jperkin Exp $
+# $NetBSD: Makefile,v 1.11 2017/07/27 18:36:10 adam Exp $
 
-DISTNAME=      pyasn1-0.2.3
+DISTNAME=      pyasn1-0.3.1
 PKGNAME=       ${PYPKGPREFIX}-${DISTNAME:S/^py//}
 CATEGORIES=    security
 MASTER_SITES=  ${MASTER_SITE_PYPI:=p/pyasn1/}
diff -r 0b3626db8fb1 -r b0ef979b382d security/py-asn1/PLIST
--- a/security/py-asn1/PLIST    Thu Jul 27 18:33:54 2017 +0000
+++ b/security/py-asn1/PLIST    Thu Jul 27 18:36:10 2017 +0000
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.8 2017/04/08 11:25:11 adam Exp $
+@comment $NetBSD: PLIST,v 1.9 2017/07/27 18:36:10 adam Exp $
 ${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
 ${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
 ${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
@@ -55,12 +55,21 @@
 ${PYSITELIB}/pyasn1/compat/binary.py
 ${PYSITELIB}/pyasn1/compat/binary.pyc
 ${PYSITELIB}/pyasn1/compat/binary.pyo
+${PYSITELIB}/pyasn1/compat/calling.py
+${PYSITELIB}/pyasn1/compat/calling.pyc
+${PYSITELIB}/pyasn1/compat/calling.pyo
+${PYSITELIB}/pyasn1/compat/dateandtime.py
+${PYSITELIB}/pyasn1/compat/dateandtime.pyc
+${PYSITELIB}/pyasn1/compat/dateandtime.pyo
 ${PYSITELIB}/pyasn1/compat/integer.py
 ${PYSITELIB}/pyasn1/compat/integer.pyc
 ${PYSITELIB}/pyasn1/compat/integer.pyo
 ${PYSITELIB}/pyasn1/compat/octets.py
 ${PYSITELIB}/pyasn1/compat/octets.pyc
 ${PYSITELIB}/pyasn1/compat/octets.pyo
+${PYSITELIB}/pyasn1/compat/string.py
+${PYSITELIB}/pyasn1/compat/string.pyc
+${PYSITELIB}/pyasn1/compat/string.pyo
 ${PYSITELIB}/pyasn1/debug.py
 ${PYSITELIB}/pyasn1/debug.pyc
 ${PYSITELIB}/pyasn1/debug.pyo
diff -r 0b3626db8fb1 -r b0ef979b382d security/py-asn1/distinfo
--- a/security/py-asn1/distinfo Thu Jul 27 18:33:54 2017 +0000
+++ b/security/py-asn1/distinfo Thu Jul 27 18:36:10 2017 +0000
@@ -1,6 +1,6 @@
-$NetBSD: distinfo,v 1.7 2017/04/08 11:25:11 adam Exp $
+$NetBSD: distinfo,v 1.8 2017/07/27 18:36:10 adam Exp $
 
-SHA1 (pyasn1-0.2.3.tar.gz) = e30253a024d1388a96be8e84245a0d38f47467ff
-RMD160 (pyasn1-0.2.3.tar.gz) = f83df6b353bd9d194f60c875263216716815a955
-SHA512 (pyasn1-0.2.3.tar.gz) = b268dd458bca41f879389412570b4ce72585ac0c671275e0f4edec2ede5cf44d2473b08349f7d8b827cb21d14561c0209a5bf3698596a01ea770c2166eaa7fbf
-Size (pyasn1-0.2.3.tar.gz) = 94862 bytes
+SHA1 (pyasn1-0.3.1.tar.gz) = 41c50f49fa343ee119e2a00f1ced7281dba2760f
+RMD160 (pyasn1-0.3.1.tar.gz) = 2ccf0d96e131ae98fb87f32d184d2dff8915a36f
+SHA512 (pyasn1-0.3.1.tar.gz) = 608c6bb32b2077d3ff21b3c789c451e75e31e9cba514800bcb3d987da91b8331cae5dc855c469d8acf299c550be24adcdaeaae2b2c46f9878597bd6576984868
+Size (pyasn1-0.3.1.tar.gz) = 108718 bytes



Home | Main Index | Thread Index | Old Index