# changelog

author: Richard Hughes <rhughes@redhat.com> - 1.0.8-1
changelog:
  - Update to latest upstream version
   * Unbreak subclassing of UniqueApp
   * Remove upstreamed patches


author: Eric Sandeen <sandeen@redhat.com> - 1.0.1-2
changelog:
  - Upstream respun the release tarball to re-include top-level dir
  - drop exclude of bno_plot.py[co], not getting built now?


author: Edward Shishkin <edward@redhat.com> - 1.0.1-4
changelog:
  - blktrace doesn't run when device name is duplicated (#583615)
  - blktrace prints incorrect usage when running w/o parameters (#619201)
  - btreplay cannot work for /dev/cciss/c0d0 device (#650229)
  - option -k doesn't kill running trace (#583624)
  - blkiomon prints nothing when blktrace works with logical volume (#650243)
  - blkparese exit with non-zero status when tracefile doesn't exist (#583695)
  - run time went but blktrace is still running (#595356)
  - inconsistencies in btrecord man page (#595413)
  - undocumented options in blkiomon (#595419)
  - undocumented options in blkparce (#595615)
  - undocumented options in blktrace (#595620)
  - undocumented options in btreplay (#595623)
  - undocumented options in btt (#595628)


author: John Dennis <jdennis@redhat.com> - 0.10-1
changelog:
  - Resolves: #619743, Update to latest upstream, changes include:
  - The following classes were added:
      InitParameters
      InitContext

  -The following module functions were added:
      nss.nss.nss_initialize()
      nss.nss.nss_init_context()
      nss.nss.nss_shutdown_context()
      nss.nss.nss_init_flags()

  - add nss_is_initialized()

  - Remove nss_init_nodb() when nss modules loads from previous version
    apparently this prevents subsequent calls to nss_init with a
    database to silently fail.
  - Clean up some cruft in doc/examples/verify_server.py

  - Invoke nss_init_nodb() when nss modules loads, this prevents segfaults
    in NSS if Python programmer forgot to call one of the NSS
    initialization routines.

  - Rename the classes X500Name, X500RDN, X500AVA to DN, RDN, AVA
    respectively.

  - DN and RDN objects now return a list of their contents when indexed by
    type, this is to support multi-valued items.

  - Fix bug where AVA object's string representation did not include it's
    type.

  - Enhance test/test_cert_components.py unit test to test for above
    changes.

  - Add CertificateRequest object

  - Fix incomplete read bug (due to read ahead buffer bookkeeping).
  - Remove python-nss specific httplib.py, no longer needed
    python-nss now compatible with standard library
  - Rewrite httplib_example.py to use standard library and illustrate
    ssl, non-ssl, connection class, http class usage

  - add nss.cert_usage_flags(), use it in ssl_example.py

  - Add format_lines() & format() methods to the new certificate extension objects.
  - Add printing of certificate extensions.
  - Add BasicContstraints certificate extension.
  - Fix several reference counting and memory problems discovered with valgrind.

  - fold in more ref counting patches from Miloslav Trmač <mitr@redhat.com>
    into upstream.
    Did not bump upstream version, just bumped release ver in this spec file.

  - Unicode objects now accepted as well as str objects for
    interfaces expecting a string.

  - Sockets were enhanced thusly:
      - Threads will now yield during blocking IO.
      - Socket.makefile() reimplemented
            file object methods that had been missing (readlines(), sendall(),
            and iteration) were implemented, makefile now just returns the same
            Socket object but increments an "open" ref count. Thus a Socket
            object behaves like a file object and must be closed once for each
            makefile() call before it's actually closed.
      - Sockets now support the iter protocol
      - Add Socket.readlines(), Socket.sendall()

  - The following classes were added:
      AuthKeyID
      BasicConstraints
      CRLDistributionPoint
      CRLDistributionPts
      CertificateExtension
      GeneralName
      SignedCRL
      X500AVA
      X500Name
      X500RDN

  - The following module functions were added:
      nss.nss.cert_crl_reason_from_name()
      nss.nss.cert_crl_reason_name()
      nss.nss.cert_general_name_type_from_name()
      nss.nss.cert_general_name_type_name()
      nss.nss.cert_usage_flags()
      nss.nss.decode_der_crl()
      nss.nss.der_universal_secitem_fmt_lines()
      nss.nss.import_crl()
      nss.nss.make_line_pairs()
      nss.nss.oid_dotted_decimal()
      nss.nss.oid_str()
      nss.nss.oid_tag()
      nss.nss.oid_tag_name()
      nss.nss.read_der_from_file()
      nss.nss.x509_alt_name()
      nss.nss.x509_ext_key_usage()
      nss.nss.x509_key_usage()

  - The following class methods and properties were added:
    Note: it's a method if the name is suffixed with (), a propety otherwise
      Socket.next()
      Socket.readlines()
      Socket.sendall()
      SSLSocket.next()
      SSLSocket.readlines()
      SSLSocket.sendall()
      AuthKeyID.key_id
      AuthKeyID.serial_number
      AuthKeyID.get_general_names()
      CRLDistributionPoint.issuer
      CRLDistributionPoint.get_general_names()
      CRLDistributionPoint.get_reasons()
      CertDB.find_crl_by_cert()
      CertDB.find_crl_by_name()
      Certificate.extensions
      CertificateExtension.critical
      CertificateExtension.name
      CertificateExtension.oid
      CertificateExtension.oid_tag
      CertificateExtension.value
      GeneralName.type_enum
      GeneralName.type_name
      GeneralName.type_string
      SecItem.der_to_hex()
      SecItem.get_oid_sequence()
      SecItem.to_hex()
      SignedCRL.delete_permanently()
      X500AVA.oid
      X500AVA.oid_tag
      X500AVA.value
      X500AVA.value_str
      X500Name.cert_uid
      X500Name.common_name
      X500Name.country_name
      X500Name.dc_name
      X500Name.email_address
      X500Name.locality_name
      X500Name.org_name
      X500Name.org_unit_name
      X500Name.state_name
      X500Name.add_rdn()
      X500Name.has_key()
      X500RDN.has_key()

  - The following module functions were removed:
    Note: use nss.nss.oid_tag() instead
      nss.nss.sec_oid_tag_from_name()
      nss.nss.sec_oid_tag_name()
      nss.nss.sec_oid_tag_str()

  - The following files were added:
      doc/examples/cert_dump.py
      test/test_cert_components.py

  - Apply patches from  Miloslav Trmač <mitr@redhat.com>
    for ref counting and threading support. Thanks Miloslav!

  - Review all ref counting, numerous ref counting fixes

  - Implement cyclic garbage collection support by
    adding object traversal and clear methods

  - Identify static variables, move to thread local storage


author: John Dennis <jdennis@redhat.com> - 0.10-2
changelog:
  - Related: #619743
  - split documentation out into separate doc sub-package
    and make building api documentation optional


author: John Dennis <jdennis@redhat.com> - 0.10-3
changelog:
  - Related: #619743
  - Fix all rpmlint warnings
  - doc for license, changelog etc. now in main package,
    doc subpackage now only contains api doc, examples, test, etc.
  - Filter provides for .so files
  - Remove execute permission on everything in docdir
  - Capitalize description


author: John Dennis <jdennis@redhat.com> - 0.11-1
changelog:
  - Resolves: #670951
  - Resolves: #674014

    * Better support for IPv6

    * Add AddrInfo class to support IPv6 address resolution. Supports
      iteration over it's set of NetworkAddress objects and provides
      hostname, canonical_name object properties.

    * Add PR_AI_* constants.

    * NetworkAddress constructor and NetworkAddress.set_from_string() added
      optional family parameter. This is necessary for utilizing
      PR_GetAddrInfoByName().

    * NetworkAddress initialized via a string paramter are now initalized via
      PR_GetAddrInfoByName using family.

    * Add NetworkAddress.address property to return the address sans the
      port as a string. NetworkAddress.str() includes the port. For IPv6 the
      a hex string must be enclosed in brackets if a port is appended to it,
      the bracketed hex address with appended with a port is unappropriate
      in some circumstances, hence the new address property to permit either
      the address string with a port or without a port.

    * Fix the implementation of the NetworkAddress.family property, it was
      returning bogus data due to wrong native data size.

    * HostEntry objects now support iteration and indexing of their
      NetworkAddress members.

    * Add io.addr_family_name() function to return string representation of
      PR_AF_* constants.

    * Modify example and test code to utilize AddrInfo instead of deprecated
      NetworkAddress functionality. Add address family command argument to
      ssl_example.

    * Fix pty import statement in test/setup_certs.py

      Deprecated Functionality:
      -------------------------

    * NetworkAddress initialized via a string paramter is now
      deprecated. AddrInfo should be used instead.

    * NetworkAddress.set_from_string is now deprecated. AddrInfo should be
      used instead.

    * NetworkAddress.hostentry is deprecated. It was a bad idea,
      NetworkAddress objects can support both IPv4 and IPv6, but a HostEntry
      object can only support IPv4. Plus the implementation depdended on
      being able to perform a reverse DNS lookup which is not always
      possible.

    * HostEntry.get_network_addresses() and HostEntry.get_network_address()
      are now deprecated. In addition their port parameter is now no longer
      respected. HostEntry objects now support iteration and
      indexing of their NetworkAddress and that should be used to access
      their NetworkAddress objects instead.


author: John Dennis <jdennis@redhat.com> - 0.11-2
changelog:
  - Resolves: #670951
  - Resolves: #674014
    Rebuild enabling api doc generation, it had been disabled because
    the buildroots on 6.1 contained a verion of epydoc that crashed,
    release engineering has updated epydoc in the buildroots.
    There are NO changes in the package source.


author: John Dennis <jdennis@redhat.com> - 0.11-3
changelog:
  - Resolves: #689807
    Add family parameter to Socket constructors in examples and doc.
    Mark implicit family parameter as deprecated.
    Raise exception if Socket family does not match NetworkAddress family.
    Add --server-subject to setup_certs.py (made testing IPv6 easier without DNS)


author: John Dennis <jdennis@redhat.com> - 0.13-0
changelog:
  - Resolves: #827616
  - Resolves: #642795
  - Resolves: #698663
  - Resolves: #796295

    Introduced in 0.13:

    * Fix NSS SECITEM_CompareItem bug via workaround.

    * Fix incorrect format strings in PyArg_ParseTuple* for:
      - GeneralName
      - BasicConstraints
      - cert_x509_key_usage

    * Fix bug when decoding certificate BasicConstraints extension

    * Fix hang in setup_certs.

    * For NSS >= 3.13 support CERTDB_TERMINAL_RECORD

    * You can now query for a specific certificate extension
      Certficate.get_extension()

    * The following classes were added:
      - RSAGenParams

    * The following class methods were added:
      - nss.nss.Certificate.get_extension
      - nss.nss.PK11Slot.generate_key_pair
      - nss.nss.DSAPublicKey.format
      - nss.nss.DSAPublicKey.format_lines

    * The following module functions were added:
      - nss.nss.pub_wrap_sym_key

    * The following internal utilities were added:
      - PyString_UTF8
      - SecItem_new_alloc()

    * The following class constructors were modified to accept
      intialization parameters

      - KEYPQGParams (DSA generation parameters)

    * The PublicKey formatting (i.e. format_lines) was augmented
      to format DSA keys (formerly it only recognized RSA keys).

    * Allow lables and values to be justified when printing objects

    * The following were deprecated:
      - nss.nss.make_line_pairs (replaced by nss.nss.make_line_fmt_tuples)

      Deprecated Functionality:
      -------------------------
      - make_line_pairs() has been replaced by make_line_fmt_tuples()
        because 2-valued tuples were not sufficently general. It is
        expected very few programs will have used this function, it's mostly
        used internally but provided as a support utility.

    Introduced in 0.12:

    * Major new enhancement is additon of PKCS12 support and
      AlgorithmID's.

    * setup.py build enhancements
      - Now searches for the NSS and NSPR header files rather
        than hardcoding their location. This makes building friendlier
        on other systems (i.e. debian)
      - Now takes optional command line arguments, -d or --debug
        will turn on debug options during the build.

    * Fix reference counting bug in PK11_password_callback() which
      contributed to NSS not being able to shutdown due to
      resources still in use.

    * Add UTF-8 support to ssl.config_server_session_id_cache()

    * Added unit tests for cipher, digest, client_server.

    * All unittests now run, added test/run_tests to invoke
      full test suite.

    * Fix bug in test/setup_certs.py, hardcoded full path to
      libnssckbi.so was causing failures on 64-bit systems,
      just use the libnssckbi.so basename, modutil will find
      it on the standard search path.

    * doc/examples/cert_dump.py uses new AlgorithmID class to
      dump Signature Algorithm

    * doc/examples/ssl_example.py now can cleanly shutdown NSS.

    * Exception error messages now include PR error text if available.

    * The following classes were replaced:
      - SignatureAlgorithm replaced by new class AlgorithmID

    * The following classes were added:
      - AlgorithmID
      - PKCS12DecodeItem
      - PKCS12Decoder

    * The following class methods were added:
      - PK11Slot.authenticate()
      - PK11Slot.get_disabled_reason()
      - PK11Slot.has_protected_authentication_path()
      - PK11Slot.has_root_certs()
      - PK11Slot.is_disabled()
      - PK11Slot.is_friendly()
      - PK11Slot.is_internal()
      - PK11Slot.is_logged_in()
      - PK11Slot.is_removable()
      - PK11Slot.logout()
      - PK11Slot.need_login()
      - PK11Slot.need_user_init()
      - PK11Slot.user_disable()
      - PK11Slot.user_enable()
      - PKCS12DecodeItem.format()
      - PKCS12DecodeItem.format_lines()
      - PKCS12Decoder.database_import()
      - PKCS12Decoder.format()
      - PKCS12Decoder.format_lines()

    * The following class properties were added:
      - AlgorithmID.id_oid
      - AlgorithmID.id_str
      - AlgorithmID.id_tag
      - AlgorithmID.parameters
      - PKCS12DecodeItem.certificate
      - PKCS12DecodeItem.friendly_name
      - PKCS12DecodeItem.has_key
      - PKCS12DecodeItem.shroud_algorithm_id
      - PKCS12DecodeItem.signed_cert_der
      - PKCS12DecodeItem.type
      - SignedData.data
      - SignedData.der

    * The following module functions were added:
      - nss.nss.dump_certificate_cache_info()
      - nss.nss.find_slot_by_name()
      - nss.nss.fingerprint_format_lines()
      - nss.nss.get_internal_slot()
      - nss.nss.is_fips()
      - nss.nss.need_pw_init()
      - nss.nss.nss_init_read_write()
      - nss.nss.pk11_disabled_reason_name()
      - nss.nss.pk11_disabled_reason_str()
      - nss.nss.pk11_logout_all()
      - nss.nss.pkcs12_cipher_from_name()
      - nss.nss.pkcs12_cipher_name()
      - nss.nss.pkcs12_enable_all_ciphers()
      - nss.nss.pkcs12_enable_cipher()
      - nss.nss.pkcs12_export()
      - nss.nss.pkcs12_map_cipher()
      - nss.nss.pkcs12_set_nickname_collision_callback()
      - nss.nss.pkcs12_set_preferred_cipher()
      - nss.nss.token_exists()
      - nss.ssl.config_mp_server_sid_cache()
      - nss.ssl.config_server_session_id_cache_with_opt()
      - nss.ssl.get_max_server_cache_locks()
      - nss.ssl.set_max_server_cache_locks()
      - nss.ssl.shutdown_server_session_id_cache()

    * The following constants were added:
      - nss.nss.int.PK11_DIS_COULD_NOT_INIT_TOKEN
      - nss.nss.int.PK11_DIS_NONE
      - nss.nss.int.PK11_DIS_TOKEN_NOT_PRESENT
      - nss.nss.int.PK11_DIS_TOKEN_VERIFY_FAILED
      - nss.nss.int.PK11_DIS_USER_SELECTED
      - nss.nss.int.PKCS12_DES_56
      - nss.nss.int.PKCS12_DES_EDE3_168
      - nss.nss.int.PKCS12_RC2_CBC_128
      - nss.nss.int.PKCS12_RC2_CBC_40
      - nss.nss.int.PKCS12_RC4_128
      - nss.nss.int.PKCS12_RC4_40

    * The following files were added:
      - test/run_tests
      - test/test_cipher.py (replaces cipher_test.py)
      - test/test_client_server.py
      - test/test_digest.py (replaces digest_test.py)
      - test/test_pkcs12.py

    * The following were deprecated:
      - SignatureAlgorithm


author: John Dennis <jdennis@redhat.com> - 0.13-1
changelog:
  - Resolves: #642795
    add python-nss-size_t.patch, some types involved with ssize_t were
    improperly defined causing a segfault on the s390x and ppc64 arches.


author: mrueckert@suse.de
changelog:
  - update to 0.4.2
    ind_helper.c, ind_helper.h:
    Bugs: 1203849 (side effect) made a lot of function arguments
    const in order to remove the cmpi-base warnings.
    added sblim-indication_helper-0.4.2_warnings.patch
    fixes a small warning regarding pointer size


author: Behdad Esfahbod <besfahbo@redhat.com> 0.4.4-1
changelog:
  - Initial package based on package by Theppitak Karoonboonyanan
    and Kamthorn Krairaksa for the OLPC.


author: Jens Petersen <petersen@redhat.com> - 0.4.11-1
changelog:
  - update to 0.4.11
  - repackage and subpackage for new fontpackages-devel:
  - split 90-ttf-thai-tlwg-synthetic.conf per subpackage
  - 65-ttf-thai-tlwg.conf is covered by fontconfig 65-nonlatin.conf
  - moves docs to common subpackage
  - add compat subpackage for upgrades and legacy fonts.*


author: Lukas Nykryn <lnykryn@redhat.com> 0.6.5-11
changelog:
  - set BUGREPORT value to launchpad (#771736)
  - add support for override files (#663594)
  - add usage stanza (#735427)


