2010-07-25 John Dennis 0.10 * 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() * The following constants were added: NSS_INIT_READONLY NSS_INIT_NOCERTDB NSS_INIT_NOMODDB NSS_INIT_FORCEOPEN NSS_INIT_NOROOTINIT NSS_INIT_OPTIMIZESPACE NSS_INIT_PK11THREADSAFE NSS_INIT_PK11RELOAD NSS_INIT_NOPK11FINALIZE NSS_INIT_RESERVED NSS_INIT_COOPERATE 2010-05-28 John Dennis 0.9 * Correct definciencies in auth_certificate_callback found in several of the example files and documentation. If you've copied that code you should merge those changes in. * 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 DN RDN AVA CertificateRequest * The following module functions were added: nss.nss.nss_is_initialized() 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() AVA.oid AVA.oid_tag AVA.value AVA.value_str DN.cert_uid DN.common_name DN.country_name DN.dc_name DN.email_address DN.locality_name DN.org_name DN.org_unit_name DN.state_name DN.add_rdn() DN.has_key() RDN.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č 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 * 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 2009-09-21 John Dennis 0.8 * The following methods, properties and functions were added: SecItem.type SecItem.len, SecItem.data PK11SymKey.key_data, PK11SymKey.key_length, PK11SymKey.slot create_context_by_sym_key param_from_iv generate_new_param get_iv_length get_block_size get_pad_mechanism * SecItem's now support indexing and slicing on their data * Clean up parsing and parameter validation of variable arg functions 2009-09-18 John Dennis 0.7 * add support for symmetric encryption/decryption more support for digests (hashes) The following classes were added: PK11SymKey PK11Context The following methods and functions were added: get_best_wrap_mechanism get_best_key_length key_gen derive get_key_length digest_key clone_context digest_begin digest_op cipher_op finalize digest_final read_hex hash_buf sec_oid_tag_str sec_oid_tag_name sec_oid_tag_from_name key_mechanism_type_name key_mechanism_type_from_name pk11_attribute_type_name pk11_attribute_type_from_name get_best_slot get_internal_key_slot create_context_by_sym_key import_sym_key create_digest_context param_from_iv param_from_algid generate_new_param algtag_to_mechanism mechanism_to_algtag The following files were added: test/cipher_test.py test/digest_test.py 2009-07-08 John Dennis 0.6 * fix bug #510343 client_auth_data_callback seg faults if False is returned from callback 2009-07-01 John Dennis 0.5 * restore ssl.nss_init and ssl.nss_shutdown but make them deprecated add __version__ string to nss module 2009-06-30 John Dennis 0.4 * add binding for NSS_NoDB_Init(), bug #509002 move nss_init and nss_shutdown from ssl module to nss module 2009-06-04 John Dennis 0.3 * import to Mozilla CVS, tweak directory layout 2009-05-21 John Dennis 0.2 * apply patch from bug #472805, (Miloslav Trmač) Don't allow closing a socket twice, that causes crashes. New function nss.io.Socket.new_socket_pair() New function nss.io.Socket.poll() New function nss.io.Socket.import_tcp_socket() New method nss.nss.Certificate.get_subject_common_name() New function nss.nss.generate_random() Fix return value creation in SSLSocket.get_security_status New function nss.ssl.SSLSocket.import_tcp_socket() Convert licensing to MPL tri-license