15 Commits

Author SHA1 Message Date
jdennis%redhat.com
be7c7f7a1e Clean up reference counting problems.
Add support for cyclic garbage collection.
Use thread local storage.
General clean up for names, parameters, etc.


git-svn-id: svn://10.0.0.236/trunk@260384 18797224-902f-48f8-a5cc-f745e15eee43
2010-05-27 21:59:26 +00:00
jdennis%redhat.com
8e16474f20 * 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
      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.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


git-svn-id: svn://10.0.0.236/trunk@260296 18797224-902f-48f8-a5cc-f745e15eee43
2010-05-13 14:48:02 +00:00
jdennis%redhat.com
514d140fd0 Fix several problems in auth_certificate_callback().
Add utility to print out SSLUsage flags.
Set the auth_certificate_callback in the client to verify the server,
it was a big problem that had been failing to verify the server cert.
Add new utility to verify a server based on the auth_certificate_callback().


git-svn-id: svn://10.0.0.236/trunk@260027 18797224-902f-48f8-a5cc-f745e15eee43
2010-03-24 16:53:07 +00:00
jdennis%redhat.com
b148275e0b allow building with older versions of python (e.g. 2.4)
and older versions of NSS


git-svn-id: svn://10.0.0.236/trunk@258989 18797224-902f-48f8-a5cc-f745e15eee43
2009-11-14 00:08:32 +00:00
jdennis%redhat.com
a227bd2394 Remove hardcoded names from Trace* macros, use __FUNCTION__ instead
git-svn-id: svn://10.0.0.236/trunk@258452 18797224-902f-48f8-a5cc-f745e15eee43
2009-09-22 14:05:38 +00:00
jdennis%redhat.com
1c53881cc7 make all *_new_from_* names canonical (PythonType _new_from_ NSSType)
git-svn-id: svn://10.0.0.236/trunk@258451 18797224-902f-48f8-a5cc-f745e15eee43
2009-09-22 13:46:22 +00:00
jdennis%redhat.com
534bfca231 * 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


git-svn-id: svn://10.0.0.236/trunk@258428 18797224-902f-48f8-a5cc-f745e15eee43
2009-09-21 19:48:11 +00:00
jdennis%redhat.com
ebdf144458 add wrap_sym_key() and unwrap_sym_key()
git-svn-id: svn://10.0.0.236/trunk@258422 18797224-902f-48f8-a5cc-f745e15eee43
2009-09-19 15:00:58 +00:00
jdennis%redhat.com
c548dd5070 expand support for digests (hashes)
add support for symmetric cipher encryption/decryption
add test code for above
some minor clean up in other areas


git-svn-id: svn://10.0.0.236/trunk@258418 18797224-902f-48f8-a5cc-f745e15eee43
2009-09-18 20:24:57 +00:00
jdennis%redhat.com
c6949ba1d4 fix bug #510343 client_auth_data_callback seg faults if False
is returned from callback


git-svn-id: svn://10.0.0.236/trunk@257676 18797224-902f-48f8-a5cc-f745e15eee43
2009-07-09 12:05:56 +00:00
jdennis%redhat.com
25f00cded3 restore ssl.nss_init and ssl.nss_shutdown but make them deprecated
add __version__ string to nss module


git-svn-id: svn://10.0.0.236/trunk@257618 18797224-902f-48f8-a5cc-f745e15eee43
2009-07-01 19:40:22 +00:00
jdennis%redhat.com
2928c416b8 add binding for NSS_NoDB_Init(), bug #509002
move nss_init and nss_shutdown from ssl module to nss module


git-svn-id: svn://10.0.0.236/trunk@257610 18797224-902f-48f8-a5cc-f745e15eee43
2009-06-30 21:43:30 +00:00
jdennis%redhat.com
aa3835990e Initial import of python NSS binding
git-svn-id: svn://10.0.0.236/trunk@257394 18797224-902f-48f8-a5cc-f745e15eee43
2009-06-04 18:49:50 +00:00
jdennis%redhat.com
84adbd5aad Initial import of python NSS binding code
git-svn-id: svn://10.0.0.236/trunk@257393 18797224-902f-48f8-a5cc-f745e15eee43
2009-06-04 18:48:45 +00:00
jdennis%redhat.com
d2b9456f33 Begin import of python nss binding, create initial root directory.
Add only initial build script to verify newly assigned CVS commit privs work.


git-svn-id: svn://10.0.0.236/trunk@257392 18797224-902f-48f8-a5cc-f745e15eee43
2009-06-04 15:52:25 +00:00