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

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


Branch: CURRENT, Version: 0.5.1, Package name: py311-asn1-0.5.1, 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:
[pkgtools/cwrappers]

Master sites:

Filesize: 143.686 KB

Version history: (Expand)


CVS history: (Expand)


   2023-11-21 19:55:18 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-asn1: updated to 0.5.1

Revision 0.5.1, released 20-11-2023

- Added support for PyPy 3.10 and Python 3.12
- Updated RTD configuration to include a dummy index.rst
  redirecting to contents.html, ensuring compatibility with
  third-party documentation and search indexes.
- Fixed the API breakage wih decoder.decode(substrateFun=...).

  A substrateFun passed to ``decoder.decode()`` can now be either
  v0.4 Non-Streaming or v0.5 Streaming. pyasn1 will detect and
  handle both cases transparently.

  A substrateFun passed to one of the new streaming decoders is
  still expected to be v0.5 Streaming only.
   2023-04-26 18:04:51 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-asn1: updated to 0.5.0

Revision 0.5.0, released 19-04-2023

- Change `RealEncoder.supportIndefLenMode` type to a boolean
- Fix CI for py39 test environment
- Replace all snmplabs.com links
- Use correct SPDX identifier for the license
- Re-add ``tagMap`` and ``typeMap`` module level attributes to all
  encoder and decoder modules. They are aliases for ``TAG_MAP`` and
  ``TYPE_MAP``
- Restore API for passing for ``tagMap`` and ``typeMap`` arguments
  to ``Encoder`` and ``Decoder`` classes by name and position,
- Re-add ``tagMap`` and ``typeMap`` module level attributes to all
  encoder and decoder modules. They are aliases for ``TAG_MAP`` and
  ``TYPE_MAP``
- Restore API for passing for ``tagMap`` and ``typeMap`` arguments
  to ``Encoder`` and ``Decoder`` classes by name and position,
- Make BER/CER/DER decoders streaming and suspendible

  The goal of this change is to make the decoder yielding on input
  data starvation and resuming from where it stopped whenever the
  caller decides to try again (hopefully making sure that some more
  input becomes available).

  This change makes it possible for the decoder to operate on streams
  of data (meaning that the entire DER blob might not be immediately
  available on input).

  On top of that, the decoder yields partially reconstructed ASN.1
  object on input starvation making it possible for the caller to
  inspect what has been decoded so far and possibly consume partial
  ASN.1 data.

  All these new feature are natively available through
  `StreamingDecoder` class. Previously published API is implemented
  as a thin wrapper on top of that ensuring backward compatibility.
- Added support for Python 3.8, 3.9, 3.10, 3.11
- Removed support for EOL Pythons 2.4, 2.5, 2.6, 3.2, 3.3, 3.4, 3.5
- Added support for PyPy 3.7, 3.8, 3.9
- Modernized packaging and testing. pyasn1 now uses ``setup.cfg``,
  ``pyproject.toml``, [build](https://pypi.org/project/build/), and
  GitHub Actions.
- PyPI package ownership for `pyasn1` and `pyasn1-module` has been
  transfered to *Christian Heimes* and *Simon Pichugin* in
- The upstream repositories for `pyasn1` and `pyasn1-modules` are now
  in the GitHub organization https://github.com/pyasn1/.
   2022-01-04 21:55:40 by Thomas Klausner | Files touched by this commit (1595)
Log message:
*: bump PKGREVISION for egg.mk users

They now have a tool dependency on py-setuptools instead of a DEPENDS
   2021-10-26 13:18:07 by Nia Alarie | Files touched by this commit (605)
Log message:
security: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes

Unfetchable distfiles (fetched conditionally?):
./security/cyrus-sasl/distinfo \ 
cyrus-sasl-dedad73e5e7a75d01a5f3d5a6702ab8ccd2ff40d.patch.v2
   2021-10-07 16:54:50 by Nia Alarie | Files touched by this commit (606)
Log message:
security: Remove SHA1 hashes for distfiles
   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
  called.
  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
  GeneralizedTime.
- Fixed AnyDecoder to accept possible TagMap as asn1Spec
  to make dumping raw value operational