./security/py-asn1, ITU Abstract Syntax Notification for Python

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 0.3.7, Package name: py27-asn1-0.3.7, Maintainer: pkgsrc-users

ASN.1 tools for Python

Whenever data structures are described in some machine and programming
language independent and unambiguous way, such specification is called
abstract syntax, by contrast with machine/language specific methods,
which are called 'concrete' or 'transfer' syntaxes.

Abstract syntaxes appear useful in networking as a tool for engineering
protocols in a clear and portable way. Moreover, once a protocol is
described in some abstract language, protocol parsers and builders
could be automatically generated for various computing
architectures/programming languages, thus saving engineers from
implementing low-level transport details by hand.

Abstract Syntax Notation One (ASN.1) is a set of ITU standards
defining particular implementation of abstract data description
language accompanied by a collection of transfer encoding methods.
Perhaps the most widely used among these data serialization methods
is Basic Encoding Rules (BER) together with its derivatives (DER and
CER), while Packed Encoding Rules (PER) aims at most compact data
representation whilst in the wire.


Required to run:
[devel/py-setuptools] [lang/python27]

Required to build:
[pkgtools/cwrappers]

Master sites:

SHA1: a38478ac81d5b88caee1d92ce14185f34303890b
RMD160: af7c0e9dee277ea2764c3b68b5f5ed0959bea837
Filesize: 112.646 KB

Version history: (Expand)


CVS history: (Expand)


   2017-10-06 08:34:36 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-asn1: update to 0.3.7

Revision 0.3.7:
Fixed ASN.1 time types pickling/deepcopy'ing
   2017-09-30 17:12:30 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-asn1: update to 0.3.6

Revision 0.3.6:
* End-of-octets encoding optimized at ASN.1 encoders
* The __getitem__/__setitem__ behavior of Set/Sequence and SetOf/SequenceOf \ 
objects aligned with the canonical Mapping and Sequence protocols in part
* Fixed crash in ASN.1 encoder when encoding an explicitly tagged component of a \ 
Sequence
   2017-09-17 12:18:41 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-asn1: update to 0.3.5

Revision 0.3.5:
Codecs signatures unified and pass the options kwargs through the call chain
Explicit tag encoding optimized to avoid unnecessary copying
End-of-octets sentinel encoding optimized
Refactored ASN.1 codecs properties to silently enforce proper length and chunk \ 
size encoding modes
Fixed DER encoder to always produce primitive encoding
Fixed crash at SequenceOf native decoder
Fixed Real.prettyPrint() to fail gracefully on overflow
Fixed a couple of crashes when debug mode is enabled
   2017-09-08 09:28:31 by Adam Ciarcinski | Files touched by this commit (2)
Log message:
Revision 0.3.4:
- Fixed Native encoder to handle SEQUENCE/SET objects without
  the componentType property
- Added missing component-less SEQUENCE/SET objects dict duck-typing support
- Fixed unnecessary duplicate tags detection at NamesType.tagMap
- Fixed crash at SEQUENCE and SEQUENCE OF CER encoder when running
  in schemaless mode
- Fixed Character types instantiation from OctetString type -- double
  unicode decoding may have scrambled the data
   2017-09-04 06:50:26 by Adam Ciarcinski | Files touched by this commit (1) | Package updated
Log message:
PLIST update
   2017-08-06 21:25:45 by Adam Ciarcinski | Files touched by this commit (3)
Log message:
Revision 0.3.2:
- Fixed SequenceOf/SetOf types initialization syntax to remain
  backward compatible with pyasn1 0.2.*
- Rectified thread safety issues by moving lazy, run-time computation
  into object initializer.
- Fixed .isValue property to return True for empty SetOf/SequenceOf
  objects
- Fixed GeneralizedTime/UTCTime CER/DER codecs to actually get invoked
- Fixed DER/CER encoders handling optional SEQUENCE/SET fields containing
  nested SEQUENCE/SET with optional fields.
- Fixed crash in SequenceOf/SetOf pretty printing and decoding (in some
  cases)
- Fixed documentation markup issues.
   2017-07-27 20:36:10 by Adam Ciarcinski | Files touched by this commit (3)
Log message:
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.
   2017-04-19 13:24:39 by Jonathan Perkin | Files touched by this commit (27)
Log message:
Reset MAINTAINER after tonnerre resigned.