[bundle_next] Add missing fix and fix changelog entries with wrong format #2

Merged
PSuarezHernandez merged 2 commits from PSuarezHernandez/saltbundlepy-pyasn1:bundle_next_fixes into bundle_next 2025-11-13 14:12:52 +01:00
2 changed files with 183 additions and 195 deletions

View File

@@ -1,3 +1,8 @@
-------------------------------------------------------------------
Thu Oct 2 10:58:04 UTC 2025 - Victor Zhestkov <vzhestkov@suse.com>
- Remove explicit set of __brp_python_bytecompile macro in the spec
-------------------------------------------------------------------
Thu Dec 14 15:47:32 UTC 2023 - Victor Zhestkov <vzhestkov@suse.com>
@@ -29,11 +34,11 @@ Thu Dec 14 15:47:32 UTC 2023 - Victor Zhestkov <vzhestkov@suse.com>
* Many bugfixes all around, see CHANGES.rst
- Update to 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
* 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
* 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.
@@ -136,121 +141,115 @@ Tue Sep 19 07:32:21 UTC 2017 - michael@stroeder.com
Thu Sep 7 09:24:51 UTC 2017 - michael@stroeder.com
- updated to upstream release 0.3.4
Revision 0.3.4, released 07-09-2017
Revision 0.3.4, released 07-09-2017
-----------------------------------
* 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
- 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
Revision 0.3.3, released 27-08-2017
Revision 0.3.3, released 27-08-2017
-----------------------------------
- Improved ASN.1 types instantiation performance
- Improved BER/CER/DER decoder performance by not unconditionally casting
substrate into str/bytes.
- Fixed exponential index size growth bug when building ambiguous
NamedTypes tree
- Fixed constructed types decoding failure at BER codec if running
in schema-less mode
- Fixed crash on prettyPrint'ing a SEQUENCE with no defined components
- Fixed SetOf ordering at CER/DER encoder
- Fixed crash on conditional binascii module import
- Fix to TagSet hash value build
* Improved ASN.1 types instantiation performance
* Improved BER/CER/DER decoder performance by not unconditionally casting
substrate into str/bytes.
* Fixed exponential index size growth bug when building ambiguous
NamedTypes tree
* Fixed constructed types decoding failure at BER codec if running
in schema-less mode
* Fixed crash on prettyPrint'ing a SEQUENCE with no defined components
* Fixed SetOf ordering at CER/DER encoder
* Fixed crash on conditional binascii module import
* Fix to TagSet hash value build
-------------------------------------------------------------------
Tue Aug 15 17:32:13 UTC 2017 - michael@stroeder.com
- updated to upstream release 0.3.2
Revision 0.3.2, released 04-08-2017
Revision 0.3.2, released 04-08-2017
-----------------------------------
- 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.
* 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.
-------------------------------------------------------------------
Sat Jul 29 21:01:20 UTC 2017 - michael@stroeder.com
- updated to upstream release 0.3.1
Revision 0.3.1, released 26-07-2017
* 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.
- do not ship doc/source/
Revision 0.3.1, released 26-07-2017
-----------------------------------
- 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.
-------------------------------------------------------------------
Mon Jun 19 05:38:49 UTC 2017 - okurz@suse.com
@@ -270,100 +269,93 @@ Thu Mar 16 13:42:52 UTC 2017 - tbechtold@suse.com
Mon Mar 6 13:28:21 UTC 2017 - michael@stroeder.com
- updated to upstream release 0.2.3
Revision 0.2.3, released 25-02-2017
Revision 0.2.3, released 25-02-2017
-----------------------------------
- Improved SEQUENCE/SET/CHOICE decoding performance by maintaining a single shared
NamedType object for all instances of SEQUENCE/SET object.
- Improved INTEGER encoding/decoding by switching to Python's built-in
integer serialization functions.
- Improved BitString performance by rebasing it onto Python int type and leveraging
fast Integer serialization functions.
- BitString type usability improved in many ways: for example bitshifting and
numeric operation on BitString is now possible.
- Minor ObjectIdentifier type performance optimization.
- ASN.1 character types refactored to keep unicode contents internally
(rather than serialized octet stream) and duck-type it directly.
- ASN.1 OctetString initialized from a Python object performs bytes()
on it when running on Python 3 (used to do str() which is probably
less logical).
- Missing support for NoValue.__sizeof__ added.
- Added checks to make sure SEQUENCE/SET components being assigned
match the prototypes.
- Setter methods for constructed types consistently accept matchTags
and matchConstraints flags to control the strictness of inner
components compatibility verification. Previously, these checks
were tied to verifyConstraints flag, now they are all independent.
- General documentation improvements here and there.
- Fix to __reversed__() magic to make it returning an iterator.
- Test suite simplified and unified.
- The __all__ variable added to most of the Python modules.
- The "test" directory renamed into "tests" not to collide with
the "test" module.
* Improved SEQUENCE/SET/CHOICE decoding performance by maintaining a single shared
NamedType object for all instances of SEQUENCE/SET object.
* Improved INTEGER encoding/decoding by switching to Python's built-in
integer serialization functions.
* Improved BitString performance by rebasing it onto Python int type and leveraging
fast Integer serialization functions.
* BitString type usability improved in many ways: for example bitshifting and
numeric operation on BitString is now possible.
* Minor ObjectIdentifier type performance optimization.
* ASN.1 character types refactored to keep unicode contents internally
(rather than serialized octet stream) and duck-type it directly.
* ASN.1 OctetString initialized from a Python object performs bytes()
on it when running on Python 3 (used to do str() which is probably
less logical).
* Missing support for NoValue.__sizeof__ added.
* Added checks to make sure SEQUENCE/SET components being assigned
match the prototypes.
* Setter methods for constructed types consistently accept matchTags
and matchConstraints flags to control the strictness of inner
components compatibility verification. Previously, these checks
were tied to verifyConstraints flag, now they are all independent.
* General documentation improvements here and there.
* Fix to __reversed__() magic to make it returning an iterator.
* Test suite simplified and unified.
* The __all__ variable added to most of the Python modules.
* The "test" directory renamed into "tests" not to collide with
the "test" module.
-------------------------------------------------------------------
Tue Feb 7 07:35:04 UTC 2017 - michael@stroeder.com
- updated to upstream release 0.2.2 with security fixes
- updated project and source URLs and list of doc files
Revision 0.2.2, released 07-02-2017
Revision 0.2.2, released 07-02-2017
-----------------------------------
* FIX TO A SECURITY WEAKNESS: define length only decoders could have successfully
processed indefinite length serialization.
* FIX TO A SECURITY WEAKNESS: canonical decoders (CER/DER) may have successfully
consumed non-canonical variations of (otherwise valid) serialization.
* Broken Enumerated subtyping fixed.
- FIX TO A SECURITY WEAKNESS: define length only decoders could have successfully
processed indefinite length serialization.
- FIX TO A SECURITY WEAKNESS: canonical decoders (CER/DER) may have successfully
consumed non-canonical variations of (otherwise valid) serialization.
- Broken Enumerated subtyping fixed.
Revision 0.2.1, released 05-02-2017
Revision 0.2.1, released 05-02-2017
-----------------------------------
* FIX TO A SECURITY WEAKNESS: BER decoder improperly cached long tags.
* New "native" codec implemented to transform pyasn1 types to Python built-in types and back.
* Switched to new-style classes.
* Sphinx documentation added.
* BitString improvements:
simple string of binary digits is now supported as initializer
default str() yields string of binary digits (used to yield str(tuple())
binValue and hexValue initializers added
.asNumbers(), .asOctets() and asInteger() representation added
* Components of constructed ASN.1 types can now be populated with
uninitialized ASN.1 objects by assigning either noValue sentinel or
setupComponent() function return in addition to now-legacy None sentinel.
This should improve code readability.
* NoValue class improved to become a singleton and catch more kinds
of access to it.
* Compatibility wrappers str2octs() and oct2strs() fixed to run over
iso-8859-1 encoding.
* Integer changed to emit Real instance if division produces a float.
* True division operation now supported by Integer type.
* The __contains__(), __reverse__() methods implemented for container types
* Iterator protocol support implemented for all container types.
Warning, warning, warning: this change may potentially affect backward
compatibility when:
user class overrides __getitem__() without overriding __iter__()
when user code iterates over SEQUENCE object to get its components (now keys will be yielded)
- FIX TO A SECURITY WEAKNESS: BER decoder improperly cached long tags.
- New "native" codec implemented to transform pyasn1 types to Python built-in types and back.
- Switched to new-style classes.
- Sphinx documentation added.
- BitString improvements:
* Almost complete Python list and dict protocols added to SequenceOf/SetOf and
Sequence/Set respectively
* Fix to divmod operation implementation in Integer type.
* Fix to IntegerDecoder's precomputed value map on Python 3.
* Fix to base ASN.1 types to run in "unicode_literals" mode.
* Fix to composite constraints "+" operands ordering (AbstractConstraintSet.__radd__)
* Fix to constraints merge in .subtype() -- on merge existing constraints are
expanded to accommodate new constraints, not the other way round. When existing
constraints are wrapped in ConstraintsIntersection composite, additional
constraints being added on subtyping effectively further narrow the set of
allowed values, which aligns well with the notion of subtyping.
* Fix to NamedTypes methods to handle .getTagMap() returning None
* Fix to Set/Sequence.setDefaultComponents() to return self
* Copyright notice added to non-trivial source code files.
* Author's email changed, copyright extended to 2017
* simple string of binary digits is now supported as initializer
* default str() yields string of binary digits (used to yield str(tuple())
* binValue and hexValue initializers added
* .asNumbers(), .asOctets() and asInteger() representation added
- Components of constructed ASN.1 types can now be populated with
uninitialized ASN.1 objects by assigning either noValue sentinel or
setupComponent() function return in addition to now-legacy None sentinel.
This should improve code readability.
- NoValue class improved to become a singleton and catch more kinds
of access to it.
- Compatibility wrappers str2octs() and oct2strs() fixed to run over
iso-8859-1 encoding.
- Integer changed to emit Real instance if division produces a float.
- True division operation now supported by Integer type.
- The __contains__(), __reverse__() methods implemented for container types
- Iterator protocol support implemented for all container types.
Warning, warning, warning: this change may potentially affect backward
compatibility when:
* user class overrides __getitem__() without overriding __iter__()
* when user code iterates over SEQUENCE object to get its components (now keys will be yielded)
- Almost complete Python list and dict protocols added to SequenceOf/SetOf and
Sequence/Set respectively
- Fix to divmod operation implementation in Integer type.
- Fix to IntegerDecoder's precomputed value map on Python 3.
- Fix to base ASN.1 types to run in "unicode_literals" mode.
- Fix to composite constraints "+" operands ordering (AbstractConstraintSet.__radd__)
- Fix to constraints merge in .subtype() -- on merge existing constraints are
expanded to accommodate new constraints, not the other way round. When existing
constraints are wrapped in ConstraintsIntersection composite, additional
constraints being added on subtyping effectively further narrow the set of
allowed values, which aligns well with the notion of subtyping.
- Fix to NamedTypes methods to handle .getTagMap() returning None
- Fix to Set/Sequence.setDefaultComponents() to return self
- Copyright notice added to non-trivial source code files.
- Author's email changed, copyright extended to 2017
- updated project and source URLs and list of doc files
-------------------------------------------------------------------
Tue Oct 6 11:18:26 UTC 2015 - hpj@urpla.net
@@ -401,10 +393,10 @@ Sat Jul 4 20:42:15 UTC 2015 - michael@stroeder.com
- When comparing ASN.1 types, by-tag and/or by-constraints matching
can now be performed with the isSuperTypeOf()/isSameTypeWith() optional
flags.
- Constructed types now verify their consistency by invoking
- Constructed types now verify their consistency by invoking
isSameTypeWith(matchTags=True, matchConstraints=False) and
isSuperTypeOf(matchTags=False, matchConstraints=True) for each of their
components rather than isSuperTypeOf() as it used to be. Constriants check
components rather than isSuperTypeOf() as it used to be. Constriants check
could be enforced to isSameTypeWith() with the strictConstraints=True
constructed classes attribute.
- Constructed types can now be initialized with new .setComponents() method
@@ -412,7 +404,7 @@ Sat Jul 4 20:42:15 UTC 2015 - michael@stroeder.com
reflect this change.
- NamedTypes() and NamedValues() made comparable.
- Test coverage extended to cover pyasn1 types __repr__() function.
- The abs(Integer()) & abs(Real()) operation now returns respective pyasn1
- The abs(Integer()) & abs(Real()) operation now returns respective pyasn1
type, not a Python type.
- More Python magic methods implementations added to Integer & Real classes
(e.g. __pos__, __neg__, __round__, __floor__, __ceil__, __trunc__)
@@ -469,7 +461,7 @@ Tue May 7 08:23:39 UTC 2013 - michael@stroeder.com
marker is now detected by both tag and value. Otherwise zero values may
interfere with end-of-octets marker.
- Fix to decoder to fail in cases where tagFormat indicates inappropriate
format for the type (e.g. BOOLEAN is always PRIMITIVE, SET is always
format for the type (e.g. BOOLEAN is always PRIMITIVE, SET is always
CONSTRUCTED and OCTET STRING is either of the two)
- Fix to REAL type encoder to force primitive encoding form encoding.
- Fix to CHOICE decoder to handle explicitly tagged, indefinite length
@@ -551,7 +543,7 @@ Tue Nov 8 06:25:13 UTC 2011 - highwaystar.ru@gmail.com
* Hex/bin string initializer to OctetString object reworked
(in a backward-incompatible manner)
* Fixed float() infinity compatibility issue (affects 2.5 and earlier)
* Fixed a bug/typo at Boolean CER encoder
* Fixed a bug/typo at Boolean CER encoder
* Major overhawl for Python 2.4 -- 3.2 compatibility
+ get rid of old-style types
+ drop string module usage

View File

@@ -19,10 +19,6 @@
%{?!saltbundlepy_module:%define saltbundlepy_module() saltbundlepy-%{**}}
%define pythons saltbundlepy
# Disable python bytecompile for all distros
# It's called explicitly in the spec
%global __brp_python_bytecompile %{nil}
Name: saltbundlepy-pyasn1
Version: 0.5.0
Release: 0