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

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

Branch: CURRENT, Version: 0.4.8, Package name: py37-asn1-0.4.8, 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/python37]

Required to build:

Master sites:

SHA1: e0fa19f8fda46a1fa2253477499b116b33f67175
RMD160: 0369a6a759507a1f7a69185115b278657893c595
Filesize: 143.379 KB

Version history: (Expand)

CVS history: (Expand)

   2019-11-18 11:52:39 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-asn1: updated to 0.4.8

Revision 0.4.8:
- Added ability of combining `SingleValueConstraint` and
  `PermittedAlphabetConstraint` objects into one for proper modeling
  `FROM ... EXCEPT ...` ASN.1 clause.
   2019-09-02 09:00:39 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-asn1: updated to 0.4.7

Revision 0.4.7:

- Added `isInconsistent` property to all constructed types. This property
  conceptually replaces `verifySizeSpec` method to serve a more general
  purpose e.g. ensuring all required fields are in a good shape. By default
  this check invokes subtype constraints verification and is run by codecs
  on value de/serialisation.
- Deprecate `subtypeSpec` attributes and keyword argument. It is now
  recommended to pass `ValueSizeConstraint`, as well as all other constraints,
  to `subtypeSpec`.
- Fixed a design bug in a way of how the items assigned to constructed
  types are verified. Now if `Asn1Type`-based object is assigned, its
  compatibility is verified based on having all tags and constraint
  objects as the type in field definition. When a bare Python value is
  assigned, then field type object is cloned and initialized with the
  bare value (constraints verificaton would run at this moment).
- Added `WithComponentsConstraint` along with related
  `ComponentPresentConstraint` and `ComponentAbsentConstraint` classes
  to be used with `Sequence`/`Set` types representing
  `SET ... WITH COMPONENTS ...` like ASN.1 constructs.
   2019-08-03 06:36:59 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-asn1: updated to 0.4.6

Revision 0.4.6:
- Added previously missing SET OF ANY construct encoding/decoding support.
- Added omitEmptyOptionals option which is respected by Sequence
  and Set encoders. When omitEmptyOptionals is set to True, empty
  initialized optional components are not encoded. Default is False.
- New elements to SequenceOf/SetOf objects can now be added at any
  position - the requirement for the new elements to reside at the end
  of the existing ones (i.e. s[len(s)] = 123) is removed.
- List-like slicing support added to SequenceOf/SetOf objects.
- Removed default initializer from SequenceOf/SetOf types to ensure
  consistent behaviour with the rest of ASN.1 types. Before this change,
  SequenceOf/SetOf instances immediately become value objects behaving
  like an empty list. With this change, SequenceOf/SetOf objects
  remain schema objects unless a component is added or .clear() is
  This change can potentially cause incompatibilities with existing
  pyasn1 objects which assume SequenceOf/SetOf instances are value
  objects right upon instantiation.
  The behaviour of Sequence/Set types depends on the componentType
  initializer: if on componentType is given, the behaviour is the
  same as SequenceOf/SetOf have. IF componentType is given, but
  neither optional nor defaulted components are present, the created
  instance remains schema object, If, however, either optional or
  defaulted component isi present, the created instance immediately
  becomes a value object.
- Added .reset() method to all constructed types to turn value object
  into a schema object.
- Added PyAsn1UnicodeDecodeError/PyAsn1UnicodeDecodeError exceptions
  to help the caller treating unicode errors happening internally
  to pyasn1 at the upper layers.
- Added support for subseconds CER/DER encoding edge cases in
  GeneralizedTime codec.
- Fixed 3-digit fractional seconds value CER/DER encoding of
- Fixed AnyDecoder to accept possible TagMap as asn1Spec
  to make dumping raw value operational
   2018-12-31 12:22:15 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-asn1: updated to 0.4.5

Revision 0.4.5:
- Debug logging refactored for more efficiency when disabled and
  for more functionality when in use. Specifically, the global
  LOG object can easily be used from any function/method, not just
  from codec main loop as it used to be.
- More debug logging added to BER family of codecs to ease encoding
  problems troubleshooting.
- Copyright notice extended to the year 2019
- Fixed defaulted constructed SEQUENCE component initialization.
   2018-08-06 21:21:51 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-asn1: updated to 0.4.4

Revision 0.4.4:
- Fixed native encoder type map to include all ASN.1 types
  rather than just ambiguous ones
- Fixed crash in .prettyPrint of Sequence and Set occurring
  at OPTIONAL components
   2018-05-24 09:20:47 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-asn1: updated to 0.4.3

Copyright notice extended to the year 2018
Fixed GeneralizedTime.asDateTime to perform milliseconds conversion correctly
   2017-11-28 10:14:34 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-asn1: updated to 0.4.2

Revision 0.4.2:
- Fixed explicit tag splitting in chunked encoding mode at
  OctetString and BitString encoders

Revision 0.4.1:
- ANY DEFINED BY clause support implemented
- Encoders refactored to take either a value (as ASN.1 object)
  or a Python value plus ASN.1 schema
- BitString decoder optimised for better performance when running on
  constructed encoding
- Constructed types' .getComponentBy*() methods accept the default
  parameter to return instead if schema object is to be returned
- Constructed types' .getComponentBy*() methods accept the instantiate
  parameter to disable automatic inner component instantiation
- The ASN.1 types' __repr__ implementation reworked for better readability
  at the cost of not being eval-compliant
- Most ASN.1 types' __str__ magic methods (except for OctetString and
  character types) reworked to call .prettyPrint() rather than
  .prettyPrint calling __str__ as it was before. The intention is
  to eventually deprecate .prettyPrint() in favor of str().
  The other related change is that str() of enumerations and boolean
  types will return string label instead of number.
- Fixed Choice.clear() to fully reset internal state of the object
- Sphinx documentation rearranged, simplified and reworded
- The isValue singleton is now the only way to indicate ASN.1 schema
  as opposed to ASN.1 schema instance. The legacy None initializer
  support has been removed.
- Changed Null object initialization behaviour: previous default
  value ('') is not set anymore. Thus Null() call produces a
  ASN.1 schema object, while Null('') - value object.
- Migrated all docs and references from SourceForge
- Imports PEP8'ed
- Fixed ASN.1 encoder not to omit empty substrate produced for inner
  component if the inner component belongs to the simple class (as
  opposed to constructed class)
- Fixed CER/DER encoders to respect tagged CHOICE when ordering
  SET components
- Fixed ASN.1 types not to interfere with the Pickle protocol
- Fixed Sequence/SequenceOf types decoding heuristics in schema-less
  decoding mode
   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