PaulHowarth/Blog/2011-04-21

Thursday 21st April 2011

Fedora Project

  • Pseudo-merged all active branches of perl-Module-Signature together: master, f15 and f14 are actually merged together, f13 has changelog differences only, el6 and el5 are merged together and have only changelog differences with master, and el4 is the only branch with a non-changelog difference - the absence of buildrequires/requires for perl(Digest::SHA), which isn't available in EPEL-4

Local Packages

  • Updated curl to fix problem with https via http proxy falling back to http (see http://curl.haxx.se/mail/lib-2011-04/0134.html); there's due to be a new upstream release for this issue tomorrow

  • Updated perl-CPAN-Changes to 0.17:

    • Eliminate extra whitespace when release data is not defined (CPAN RT#67441)

    • Require version.pm 0.79, which introduced the $LAX regexp (CPAN RT#67613)

    • Add the option to sort groups
  • Updated python-pyasn1 to 0.0.13b:

    • Major codec re-design
    • Documentation significantly improved
    • ASN.1 Any type is now supported

    • ASN.1 Real type is now supported properly

    • All example ASN.1 modules moved to separate pyasn1-modules package

    • Fix to initial sub-OID overflow condition detection in encoder
    • BitString initialization value verification improved

    • The Set/Sequence.getNameByPosition() method implemented

    • Fix to proper behaviour of PermittedAlphabetConstraint object

    • Fix to improper Boolean substrate handling at CER/DER decoders
    • Objects of Constructed types now support __setitem__()

    • Set/Sequence objects can now be addressed by their field names (string index) and position (integer index)

    • Typo fix to ber.SetDecoder code that prevented guided decoding operation

    • Fix to explicitly tagged items decoding support
    • Fix to OctetString.prettyPrint() to better handle non-printable content

    • Fix to repr() workings of Choice objects

    • Changes towards performance improvement:
      • All dict.has_key() and dict.get() invocations replaced with modern syntax (this breaks compatibility with Python 2.1 and older)

      • Tag and tagset caches introduced to decoder

      • Decoder code improved to prevent unnecessary pyasn1 objects creation

      • Allow disabling components verification when setting components to structured types; this is used by decoder whilst running in guided mode
      • BER decoder for integer values now looks up a small set of pre-computed substrate values to save on decoding
      • A few pre-computed values configured to ObjectIdentifier BER encoder

      • ChoiceDecoder split-off SequenceOf one to save on unnecessary checks

      • Replace slow hasattr()/getattr() calls with isinstance() introspection

      • Track the number of initialized components of Constructed types to save on default/optional components initialization

      • Added a shortcut ObjectIdentifier.asTuple() to be used instead of __getitem__() in hotspots

      • Use Tag.asTuple() and pure integers at tag encoder

      • Introduce and use in decoder the baseTagSet attribute of the built-in ASN.1 types


Recent