bf8a6d
%global build_api_doc 1
bf8a6d
%global with_python2 0
bf8a6d
%global with_python3 0
bf8a6d
bf8a6d
%if (0%{?fedora} > 0 && 0%{?fedora} < 32) || (0%{?rhel} > 0 && 0%{?rhel} <= 7)
bf8a6d
  %global with_python2 1
bf8a6d
%endif
bf8a6d
bf8a6d
%if 0%{?fedora} || 0%{?rhel} >= 8
bf8a6d
  %global with_python3 1
bf8a6d
%endif
bf8a6d
bf8a6d
Name:           python-nss
bf8a6d
Version:        1.0.1
bf8a6d
Release:        10%{?dist}
bf8a6d
Summary:        Python bindings for Network Security Services (NSS)
bf8a6d
bf8a6d
Group:          Development/Languages
bf8a6d
License:        MPLv2.0 or GPLv2+ or LGPLv2+
bf8a6d
URL:            https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Python_binding_for_NSS
bf8a6d
Source0:        https://ftp.mozilla.org/pub/mozilla.org/security/python-nss/releases/PYNSS_RELEASE_1_0_1/src/python-nss-%{version}.tar.bz2
bf8a6d
bf8a6d
Patch1: sphinx.patch
bf8a6d
bf8a6d
%global docdir %{?_pkgdocdir}%{!?_pkgdocdir:%{_docdir}/%{name}-%{version}}
bf8a6d
%global py2dir %{_builddir}/python2-%{name}-%{version}-%{release}
bf8a6d
bf8a6d
# we don't want to provide private python extension libs in either
bf8a6d
#the python2 or python3 dirs
bf8a6d
%global __provides_exclude_from ^(%{python2_sitearch}|%{python3_sitearch})/.*\\.so$
bf8a6d
bf8a6d
BuildRequires: nspr-devel
bf8a6d
BuildRequires: nss-devel
bf8a6d
BuildRequires: python3-devel
bf8a6d
BuildRequires: python3-sphinx
bf8a6d
bf8a6d
%global _description\
bf8a6d
This package provides Python bindings for Network Security Services\
bf8a6d
(NSS) and the Netscape Portable Runtime (NSPR).\
bf8a6d
\
bf8a6d
NSS is a set of libraries supporting security-enabled client and\
bf8a6d
server applications. Applications built with NSS can support SSL v2\
bf8a6d
and v3, TLS, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3\
bf8a6d
certificates, and other security standards. Specific NSS\
bf8a6d
implementations have been FIPS-140 certified.
bf8a6d
bf8a6d
%description %_description
bf8a6d
bf8a6d
%if %{with_python2}
bf8a6d
bf8a6d
%package -n python2-nss
bf8a6d
bf8a6d
BuildRequires: python2-devel
bf8a6d
BuildRequires: python2-setuptools
bf8a6d
BuildRequires: python2-sphinx
bf8a6d
bf8a6d
%{?python_provide:%python_provide python2-nss}
bf8a6d
bf8a6d
Summary: %summary
bf8a6d
%{?python_provide:%python_provide python2-nss}
bf8a6d
bf8a6d
%description -n python2-nss %_description
bf8a6d
bf8a6d
%endif
bf8a6d
bf8a6d
%if %{with_python3}
bf8a6d
bf8a6d
%package -n python3-nss
bf8a6d
bf8a6d
BuildRequires: python3-devel
bf8a6d
BuildRequires: python3-setuptools
bf8a6d
BuildRequires: python3-sphinx
bf8a6d
bf8a6d
%{?python_provide:%python_provide python3-nss}
bf8a6d
bf8a6d
Summary: Python3 bindings for Network Security Services (NSS)
bf8a6d
bf8a6d
%description -n python3-nss %_description
bf8a6d
bf8a6d
%endif
bf8a6d
bf8a6d
%package doc
bf8a6d
Group: Documentation
bf8a6d
Summary: API documentation and examples
bf8a6d
bf8a6d
%description doc
bf8a6d
API documentation and examples
bf8a6d
bf8a6d
%prep
bf8a6d
%setup -q
bf8a6d
%patch1 -p1
bf8a6d
bf8a6d
%if %{with_python2}
bf8a6d
rm -rf %{py2dir}
bf8a6d
cp -a . %{py2dir}
bf8a6d
%endif
bf8a6d
bf8a6d
%build
bf8a6d
%if %{with_python2}
bf8a6d
pushd %{py2dir}
bf8a6d
%py2_build
bf8a6d
popd
bf8a6d
%endif
bf8a6d
bf8a6d
%if %{with_python3}
bf8a6d
%py3_build
bf8a6d
%endif
bf8a6d
bf8a6d
%if %{build_api_doc}
bf8a6d
%{__python3} setup.py build_doc
bf8a6d
%endif
bf8a6d
bf8a6d
bf8a6d
%install
bf8a6d
rm -rf $RPM_BUILD_ROOT
bf8a6d
bf8a6d
%if %{with_python2}
bf8a6d
pushd %{py2dir}
bf8a6d
%py2_install
bf8a6d
popd
bf8a6d
%endif
bf8a6d
bf8a6d
%if %{with_python3}
bf8a6d
%py3_install
bf8a6d
%{__python3} setup.py install_doc --docdir %{docdir} --skip-build --root $RPM_BUILD_ROOT
bf8a6d
bf8a6d
%endif
bf8a6d
bf8a6d
# Remove execution permission from any example/test files in docdir
bf8a6d
find $RPM_BUILD_ROOT/%{docdir} -type f | xargs chmod a-x
bf8a6d
bf8a6d
# Set correct permissions on .so files
bf8a6d
chmod 0755 $RPM_BUILD_ROOT/%{python3_sitearch}/nss/*.so
bf8a6d
bf8a6d
%clean
bf8a6d
%if %{with_python2}
bf8a6d
rm -rf %{py2dir}
bf8a6d
%endif
bf8a6d
bf8a6d
%if %{with_python2}
bf8a6d
bf8a6d
%files -n python2-nss
bf8a6d
%defattr(-,root,root,-)
bf8a6d
%{python2_sitearch}/*
bf8a6d
%doc %{docdir}/ChangeLog
bf8a6d
%doc %{docdir}/LICENSE.gpl
bf8a6d
%doc %{docdir}/LICENSE.lgpl
bf8a6d
%doc %{docdir}/LICENSE.mpl
bf8a6d
%doc %{docdir}/README
bf8a6d
bf8a6d
%endif
bf8a6d
bf8a6d
%if %{with_python3}
bf8a6d
bf8a6d
%files -n python3-nss
bf8a6d
%{python3_sitearch}/*
bf8a6d
%doc %{docdir}/ChangeLog
bf8a6d
%doc %{docdir}/LICENSE.gpl
bf8a6d
%doc %{docdir}/LICENSE.lgpl
bf8a6d
%doc %{docdir}/LICENSE.mpl
bf8a6d
%doc %{docdir}/README
bf8a6d
bf8a6d
%endif
bf8a6d
bf8a6d
%files doc
bf8a6d
%defattr(-,root,root,-)
bf8a6d
%doc %{docdir}/examples
bf8a6d
%doc %{docdir}/test
bf8a6d
%if %{build_api_doc}
bf8a6d
%doc %{docdir}/api
bf8a6d
%endif
bf8a6d
bf8a6d
%changelog
bf8a6d
* Fri Jul  6 2018  <jdennis@redhat.com> - 1.0.1-10
bf8a6d
- Move documentation generator from epydoc to Sphinx autodoc
bf8a6d
- Modify py2/py3 build logic to comply with new guidelines
bf8a6d
bf8a6d
* Wed Jun 27 2018 Charalampos Stratakis <cstratak@redhat.com> - 1.0.1-9
bf8a6d
- Conditionalize the python2 subpackage
bf8a6d
bf8a6d
* Wed Jun 27 2018 Charalampos Stratakis <cstratak@redhat.com> - 1.0.1-8
bf8a6d
- Disable documentation generated by epydoc
bf8a6d
bf8a6d
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-7
bf8a6d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
bf8a6d
bf8a6d
* Fri Jan 26 2018 Iryna Shcherbina <ishcherb@redhat.com> - 1.0.1-6
bf8a6d
- Update Python 2 dependency declarations to new packaging standards
bf8a6d
  (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
bf8a6d
bf8a6d
* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.0.1-5
bf8a6d
- Python 2 binary package renamed to python2-nss
bf8a6d
  See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3
bf8a6d
bf8a6d
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-4
bf8a6d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
bf8a6d
bf8a6d
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-3
bf8a6d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
bf8a6d
bf8a6d
* Fri Jul 07 2017 Igor Gnatenko <ignatenko@redhat.com> - 1.0.1-2
bf8a6d
- Rebuild due to bug in RPM (RHBZ #1468476)
bf8a6d
bf8a6d
* Tue Feb 28 2017 John Dennis <jdennis@redhat.com> - 1.0.1-1
bf8a6d
  * Add TLS 1.3 cipher suites.
bf8a6d
bf8a6d
  * ssl_cipher_info.py now attempts to enable TLS 1.3.
bf8a6d
bf8a6d
  * Fix build issue in setup.py. python-nss can now be build
bf8a6d
    as Python wheel, e.g. `pip wheel -w dist .`
bf8a6d
bf8a6d
  * The following constants were added:
bf8a6d
bf8a6d
    - ssl.TLS_AES_128_GCM_SHA256
bf8a6d
    - ssl.TLS_AES_256_GCM_SHA384
bf8a6d
    - ssl.TLS_CHACHA20_POLY1305_SHA256
bf8a6d
bf8a6d
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-4
bf8a6d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
bf8a6d
bf8a6d
* Mon Dec 19 2016 Miro Hrončok <mhroncok@redhat.com> - 1.0.0-3
bf8a6d
- Rebuild for Python 3.6
bf8a6d
bf8a6d
* Tue Sep 27 2016 John Dennis <jdennis@redhat.com> - 1.0.0-2
bf8a6d
- remove reference to unused tls_chacha20-poly1305-constants.patch
bf8a6d
bf8a6d
* Thu Sep  1 2016 John Dennis <jdennis@redhat.com> - 1.0.0-1
bf8a6d
- Offical 1.0.0 release, only minor tweaks from 1.0.0beta1
bf8a6d
bf8a6d
- Allow custom include root in setup.py as command line arg
bf8a6d
bf8a6d
- Remove checks for whether a socket is open for reading. It's not
bf8a6d
  possible for the binding to know in all cases, especially if the
bf8a6d
  socket is created from an external socket passed in.
bf8a6d
bf8a6d
  * The following module functions were added:
bf8a6d
      - nss.get_all_tokens
bf8a6d
bf8a6d
* Mon Aug 15 2016 John Dennis <jdennis@redhat.com> - 1.0.0-beta1.2.3
bf8a6d
- add tls chacha20 poly1305 constants
bf8a6d
bf8a6d
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0-beta1.2.2
bf8a6d
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
bf8a6d
bf8a6d
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-beta1.2.1
bf8a6d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
bf8a6d
bf8a6d
* Tue Nov 10 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0-beta1.2
bf8a6d
- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5
bf8a6d
bf8a6d
* Fri Nov  6 2015 John Dennis <jdennis@redhat.com> - 1.0.0-beta1.1
bf8a6d
- Resolves: bug #985290 Port to Python3
bf8a6d
- Upgrade to upstream 1.0.0-beta1
bf8a6d
  python-nss now supports both Py2 and Py3, see ChangeLog for details
bf8a6d
  When built for Py2:
bf8a6d
   - text will be a Unicode object
bf8a6d
   - binary data will be a str object
bf8a6d
   - ints will be Python long object
bf8a6d
  When built for Py3:
bf8a6d
   - text will be a str object
bf8a6d
   - binary data will be a bytes object
bf8a6d
   - ints will be a Python int object
bf8a6d
bf8a6d
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.16.0-1
bf8a6d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
bf8a6d
bf8a6d
* Tue Oct 28 2014 John Dennis <jdennis@redhat.com> - 0.16.0-0
bf8a6d
  The primary enhancements in this version is adding support for the
bf8a6d
  setting trust attributes on a Certificate, the SSL version range API,
bf8a6d
  information on the SSL cipher suites and information on the SSL connection.
bf8a6d
bf8a6d
  * The following module functions were added:
bf8a6d
bf8a6d
    - ssl.get_ssl_version_from_major_minor
bf8a6d
    - ssl.get_default_ssl_version_range
bf8a6d
    - ssl.get_supported_ssl_version_range
bf8a6d
    - ssl.set_default_ssl_version_range
bf8a6d
    - ssl.ssl_library_version_from_name
bf8a6d
    - ssl.ssl_library_version_name
bf8a6d
    - ssl.get_cipher_suite_info
bf8a6d
    - ssl.ssl_cipher_suite_name
bf8a6d
    - ssl.ssl_cipher_suite_from_name
bf8a6d
bf8a6d
  * The following deprecated module functions were removed:
bf8a6d
bf8a6d
    - ssl.nssinit
bf8a6d
    - ssl.nss_ini
bf8a6d
    - ssl.nss_shutdown
bf8a6d
bf8a6d
  * The following classes were added:
bf8a6d
bf8a6d
    - SSLCipherSuiteInfo
bf8a6d
    - SSLChannelInfo
bf8a6d
bf8a6d
  * The following class methods were added:
bf8a6d
bf8a6d
    - Certificate.trust_flags
bf8a6d
    - Certificate.set_trust_attributes
bf8a6d
bf8a6d
    - SSLSocket.set_ssl_version_range
bf8a6d
    - SSLSocket.get_ssl_version_range
bf8a6d
    - SSLSocket.get_ssl_channel_info
bf8a6d
    - SSLSocket.get_negotiated_host
bf8a6d
    - SSLSocket.connection_info_format_lines
bf8a6d
    - SSLSocket.connection_info_format
bf8a6d
    - SSLSocket.connection_info_str
bf8a6d
	
bf8a6d
    - SSLCipherSuiteInfo.format_lines
bf8a6d
    - SSLCipherSuiteInfo.format
bf8a6d
bf8a6d
    - SSLChannelInfo.format_lines
bf8a6d
    - SSLChannelInfo.format
bf8a6d
bf8a6d
  * The following class properties were added:
bf8a6d
bf8a6d
    - Certificate.ssl_trust_flags
bf8a6d
    - Certificate.email_trust_flags
bf8a6d
    - Certificate.signing_trust_flags
bf8a6d
bf8a6d
    - SSLCipherSuiteInfo.cipher_suite
bf8a6d
    - SSLCipherSuiteInfo.cipher_suite_name
bf8a6d
    - SSLCipherSuiteInfo.auth_algorithm
bf8a6d
    - SSLCipherSuiteInfo.auth_algorithm_name
bf8a6d
    - SSLCipherSuiteInfo.kea_type
bf8a6d
    - SSLCipherSuiteInfo.kea_type_name
bf8a6d
    - SSLCipherSuiteInfo.symmetric_cipher
bf8a6d
    - SSLCipherSuiteInfo.symmetric_cipher_name
bf8a6d
    - SSLCipherSuiteInfo.symmetric_key_bits
bf8a6d
    - SSLCipherSuiteInfo.symmetric_key_space
bf8a6d
    - SSLCipherSuiteInfo.effective_key_bits
bf8a6d
    - SSLCipherSuiteInfo.mac_algorithm
bf8a6d
    - SSLCipherSuiteInfo.mac_algorithm_name
bf8a6d
    - SSLCipherSuiteInfo.mac_bits
bf8a6d
    - SSLCipherSuiteInfo.is_fips
bf8a6d
    - SSLCipherSuiteInfo.is_exportable
bf8a6d
    - SSLCipherSuiteInfo.is_nonstandard
bf8a6d
bf8a6d
    - SSLChannelInfo.protocol_version
bf8a6d
    - SSLChannelInfo.protocol_version_str
bf8a6d
    - SSLChannelInfo.protocol_version_enum
bf8a6d
    - SSLChannelInfo.major_protocol_version
bf8a6d
    - SSLChannelInfo.minor_protocol_version
bf8a6d
    - SSLChannelInfo.cipher_suite
bf8a6d
    - SSLChannelInfo.auth_key_bits
bf8a6d
    - SSLChannelInfo.kea_key_bits
bf8a6d
    - SSLChannelInfo.creation_time
bf8a6d
    - SSLChannelInfo.creation_time_utc
bf8a6d
    - SSLChannelInfo.last_access_time
bf8a6d
    - SSLChannelInfo.last_access_time_utc
bf8a6d
    - SSLChannelInfo.expiration_time
bf8a6d
    - SSLChannelInfo.expiration_time_utc
bf8a6d
    - SSLChannelInfo.compression_method
bf8a6d
    - SSLChannelInfo.compression_method_name
bf8a6d
    - SSLChannelInfo.session_id
bf8a6d
bf8a6d
  * The following files were added:
bf8a6d
bf8a6d
    - doc/examples/cert_trust.py
bf8a6d
    - doc/examples/ssl_version_range.py
bf8a6d
bf8a6d
  * The following constants were added:
bf8a6d
    - nss.CERTDB_TERMINAL_RECORD
bf8a6d
    - nss.CERTDB_VALID_PEER
bf8a6d
    - nss.CERTDB_TRUSTED
bf8a6d
    - nss.CERTDB_SEND_WARN
bf8a6d
    - nss.CERTDB_VALID_CA
bf8a6d
    - nss.CERTDB_TRUSTED_CA
bf8a6d
    - nss.CERTDB_NS_TRUSTED_CA
bf8a6d
    - nss.CERTDB_USER
bf8a6d
    - nss.CERTDB_TRUSTED_CLIENT_CA
bf8a6d
    - nss.CERTDB_GOVT_APPROVED_CA
bf8a6d
    - ssl.SRTP_AES128_CM_HMAC_SHA1_32
bf8a6d
    - ssl.SRTP_AES128_CM_HMAC_SHA1_80
bf8a6d
    - ssl.SRTP_NULL_HMAC_SHA1_32
bf8a6d
    - ssl.SRTP_NULL_HMAC_SHA1_80
bf8a6d
    - ssl.SSL_CK_DES_192_EDE3_CBC_WITH_MD5
bf8a6d
    - ssl.SSL_CK_DES_64_CBC_WITH_MD5
bf8a6d
    - ssl.SSL_CK_IDEA_128_CBC_WITH_MD5
bf8a6d
    - ssl.SSL_CK_RC2_128_CBC_EXPORT40_WITH_MD5
bf8a6d
    - ssl.SSL_CK_RC2_128_CBC_WITH_MD5
bf8a6d
    - ssl.SSL_CK_RC4_128_EXPORT40_WITH_MD5
bf8a6d
    - ssl.SSL_CK_RC4_128_WITH_MD5
bf8a6d
    - ssl.SSL_FORTEZZA_DMS_WITH_FORTEZZA_CBC_SHA
bf8a6d
    - ssl.SSL_FORTEZZA_DMS_WITH_NULL_SHA
bf8a6d
    - ssl.SSL_FORTEZZA_DMS_WITH_RC4_128_SHA
bf8a6d
    - ssl.SSL_RSA_OLDFIPS_WITH_3DES_EDE_CBC_SHA
bf8a6d
    - ssl.SSL_RSA_OLDFIPS_WITH_DES_CBC_SHA
bf8a6d
    - ssl.TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA
bf8a6d
    - ssl.TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
bf8a6d
    - ssl.TLS_DHE_DSS_WITH_AES_128_GCM_SHA256
bf8a6d
    - ssl.TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA
bf8a6d
    - ssl.TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA
bf8a6d
    - ssl.TLS_DHE_DSS_WITH_DES_CBC_SHA
bf8a6d
    - ssl.TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA
bf8a6d
    - ssl.TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
bf8a6d
    - ssl.TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
bf8a6d
    - ssl.TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
bf8a6d
    - ssl.TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
bf8a6d
    - ssl.TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA
bf8a6d
    - ssl.TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA
bf8a6d
    - ssl.TLS_DHE_RSA_WITH_DES_CBC_SHA
bf8a6d
    - ssl.TLS_DH_ANON_WITH_CAMELLIA_128_CBC_SHA
bf8a6d
    - ssl.TLS_DH_ANON_WITH_CAMELLIA_256_CBC_SHA
bf8a6d
    - ssl.TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA
bf8a6d
    - ssl.TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA
bf8a6d
    - ssl.TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA
bf8a6d
    - ssl.TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA
bf8a6d
    - ssl.TLS_DH_DSS_WITH_DES_CBC_SHA
bf8a6d
    - ssl.TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA
bf8a6d
    - ssl.TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA
bf8a6d
    - ssl.TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA
bf8a6d
    - ssl.TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA
bf8a6d
    - ssl.TLS_DH_RSA_WITH_DES_CBC_SHA
bf8a6d
    - ssl.TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA
bf8a6d
    - ssl.TLS_DH_anon_EXPORT_WITH_RC4_40_MD5
bf8a6d
    - ssl.TLS_DH_anon_WITH_3DES_EDE_CBC_SHA
bf8a6d
    - ssl.TLS_DH_anon_WITH_AES_128_CBC_SHA
bf8a6d
    - ssl.TLS_DH_anon_WITH_AES_256_CBC_SHA
bf8a6d
    - ssl.TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA
bf8a6d
    - ssl.TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA
bf8a6d
    - ssl.TLS_DH_anon_WITH_DES_CBC_SHA
bf8a6d
    - ssl.TLS_DH_anon_WITH_RC4_128_MD5
bf8a6d
    - ssl.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
bf8a6d
    - ssl.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
bf8a6d
    - ssl.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
bf8a6d
    - ssl.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
bf8a6d
    - ssl.TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256
bf8a6d
    - ssl.TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256
bf8a6d
    - ssl.TLS_EMPTY_RENEGOTIATION_INFO_SCSV
bf8a6d
    - ssl.TLS_FALLBACK_SCSV
bf8a6d
    - ssl.TLS_NULL_WITH_NULL_NULL
bf8a6d
    - ssl.TLS_RSA_EXPORT_WITH_DES40_CBC_SHA
bf8a6d
    - ssl.TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5
bf8a6d
    - ssl.TLS_RSA_EXPORT_WITH_RC4_40_MD5
bf8a6d
    - ssl.TLS_RSA_WITH_3DES_EDE_CBC_SHA
bf8a6d
    - ssl.TLS_RSA_WITH_AES_128_CBC_SHA256
bf8a6d
    - ssl.TLS_RSA_WITH_AES_128_GCM_SHA256
bf8a6d
    - ssl.TLS_RSA_WITH_AES_256_CBC_SHA256
bf8a6d
    - ssl.TLS_RSA_WITH_CAMELLIA_128_CBC_SHA
bf8a6d
    - ssl.TLS_RSA_WITH_CAMELLIA_256_CBC_SHA
bf8a6d
    - ssl.TLS_RSA_WITH_DES_CBC_SHA
bf8a6d
    - ssl.TLS_RSA_WITH_IDEA_CBC_SHA
bf8a6d
    - ssl.TLS_RSA_WITH_NULL_MD5
bf8a6d
    - ssl.TLS_RSA_WITH_NULL_SHA
bf8a6d
    - ssl.TLS_RSA_WITH_NULL_SHA256
bf8a6d
    - ssl.TLS_RSA_WITH_RC4_128_MD5
bf8a6d
    - ssl.TLS_RSA_WITH_RC4_128_SHA
bf8a6d
    - ssl.TLS_RSA_WITH_SEED_CBC_SHA
bf8a6d
    - ssl.SSL_VARIANT_DATAGRAM
bf8a6d
    - ssl.SSL_VARIANT_STREAM
bf8a6d
    - ssl.SSL_LIBRARY_VERSION_2
bf8a6d
    - ssl.SSL_LIBRARY_VERSION_3_0
bf8a6d
    - ssl.SSL_LIBRARY_VERSION_TLS_1_0
bf8a6d
    - ssl.SSL_LIBRARY_VERSION_TLS_1_1
bf8a6d
    - ssl.SSL_LIBRARY_VERSION_TLS_1_2
bf8a6d
    - ssl.SSL_LIBRARY_VERSION_TLS_1_3
bf8a6d
    - ssl.ssl2
bf8a6d
    - ssl.ssl3
bf8a6d
    - ssl.tls1.0
bf8a6d
    - ssl.tls1.1
bf8a6d
    - ssl.tls1.2
bf8a6d
    - ssl.tls1.3
bf8a6d
bf8a6d
   * The following methods were missing thread locks, this has been fixed.
bf8a6d
bf8a6d
     - nss.nss_initialize
bf8a6d
     - nss.nss_init_context
bf8a6d
     - nss.nss_shutdown_context
bf8a6d
bf8a6d
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.15.0-5
bf8a6d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
bf8a6d
bf8a6d
* Mon Jun 30 2014 Toshio Kuratomi <toshio@fedoraproject.org> - 0.15.0-4
bf8a6d
- Replace python-setuptools-devel BR with python-setuptools
bf8a6d
bf8a6d
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.15.0-3
bf8a6d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
bf8a6d
bf8a6d
* Fri May  2 2014 John Dennis <jdennis@redhat.com> - 0.15.0-2
bf8a6d
- resolves bug #1087031, bad parameter spec for check_ocsp_status
bf8a6d
bf8a6d
* Fri Jan 31 2014 John Dennis <jdennis@redhat.com> - 0.15.0-1
bf8a6d
- fix fedora bug 1060314, CSR extensions sometimes not found
bf8a6d
  Also adds support for accessing CSR attributes.
bf8a6d
  See doc/Changelog for details
bf8a6d
bf8a6d
* Wed Nov 13 2013 Ville Skyttä <ville.skytta@iki.fi> - 0.14.0-3
bf8a6d
- Install docs to %%{_pkgdocdir} where available (#994060).
bf8a6d
bf8a6d
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.14.0-2
bf8a6d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
bf8a6d
bf8a6d
* Mon May 13 2013 John Dennis <jdennis@redhat.com> - 0.14-1
bf8a6d
  External Changes:
bf8a6d
  -----------------
bf8a6d
bf8a6d
  The primary enhancements in this version is support of certifcate
bf8a6d
  validation, OCSP support, and support for the certificate "Authority
bf8a6d
  Information Access" extension.
bf8a6d
bf8a6d
  Enhanced certifcate validation including CA certs can be done via
bf8a6d
  Certificate.verify() or Certificate.is_ca_cert(). When cert
bf8a6d
  validation fails you can now obtain diagnostic information as to why
bf8a6d
  the cert failed to validate. This is encapsulated in the
bf8a6d
  CertVerifyLog class which is a iterable collection of
bf8a6d
  CertVerifyLogNode objects. Most people will probablby just print the
bf8a6d
  string representation of the returned CertVerifyLog object. Cert
bf8a6d
  validation logging is handled by the Certificate.verify() method.
bf8a6d
  Support has also been added for the various key usage and cert type
bf8a6d
  entities which feature prominently during cert validation.
bf8a6d
bf8a6d
bf8a6d
  * Certificate() constructor signature changed from
bf8a6d
bf8a6d
    Certificate(data=None, der_is_signed=True)
bf8a6d
bf8a6d
    to
bf8a6d
bf8a6d
    Certificate(data, certdb=cert_get_default_certdb(), perm=False, nickname=None)
bf8a6d
bf8a6d
    This change was necessary because all certs should be added to the
bf8a6d
    NSS temporary database when they are loaded, but earlier code
bf8a6d
    failed to to that. It's is not likely that an previous code was
bf8a6d
    failing to pass initialization data or the der_is_signed flag so
bf8a6d
    this change should be backwards compatible.
bf8a6d
bf8a6d
  * Fix bug #922247, PKCS12Decoder.database_import() method. Importing into
bf8a6d
    a NSS database would sometimes fail or segfault.
bf8a6d
bf8a6d
  * Error codes and descriptions were updated from upstream NSPR & NSS.
bf8a6d
bf8a6d
  * The password callback did not allow for breaking out of a password
bf8a6d
    prompting loop, now if None is returned from the password callback
bf8a6d
    the password prompting is terminated.
bf8a6d
bf8a6d
  * nss.nss_shutdown_context now called from InitContext destructor,
bf8a6d
    this assures the context is shutdown even if the programmer forgot
bf8a6d
    to. It's still best to explicitly shut it down, this is just
bf8a6d
    failsafe.
bf8a6d
bf8a6d
  * Support was added for shutdown callbacks.
bf8a6d
bf8a6d
  * The following classes were added:
bf8a6d
    - nss.CertVerifyLogNode
bf8a6d
    - nss.CertVerifyLog
bf8a6d
    - error.CertVerifyError (exception)
bf8a6d
    - nss.AuthorityInfoAccess
bf8a6d
    - nss.AuthorityInfoAccesses
bf8a6d
bf8a6d
bf8a6d
  * The following class methods were added:
bf8a6d
    - nss.Certificate.is_ca_cert
bf8a6d
    - nss.Certificate.verify
bf8a6d
    - nss.Certificate.verify_with_log
bf8a6d
    - nss.Certificate.get_cert_chain
bf8a6d
    - nss.Certificate.check_ocsp_status
bf8a6d
    - nss.PK11Slot.list_certs
bf8a6d
    - nss.CertVerifyLogNode.format_lines
bf8a6d
    - nss.CertVerifyLog.format_lines
bf8a6d
    - nss.CRLDistributionPts.format_lines
bf8a6d
bf8a6d
  * The following class properties were added:
bf8a6d
    - nss.CertVerifyLogNode.certificate
bf8a6d
    - nss.CertVerifyLogNode.error
bf8a6d
    - nss.CertVerifyLogNode.depth
bf8a6d
    - nss.CertVerifyLog.count
bf8a6d
bf8a6d
  * The following module functions were added:
bf8a6d
    - nss.x509_cert_type
bf8a6d
    - nss.key_usage_flags
bf8a6d
    - nss.list_certs
bf8a6d
    - nss.find_certs_from_email_addr
bf8a6d
    - nss.find_certs_from_nickname
bf8a6d
    - nss.nss_get_version
bf8a6d
    - nss.nss_version_check
bf8a6d
    - nss.set_shutdown_callback
bf8a6d
    - nss.get_use_pkix_for_validation
bf8a6d
    - nss.set_use_pkix_for_validation
bf8a6d
    - nss.enable_ocsp_checking
bf8a6d
    - nss.disable_ocsp_checking
bf8a6d
    - nss.set_ocsp_cache_settings
bf8a6d
    - nss.set_ocsp_failure_mode
bf8a6d
    - nss.set_ocsp_timeout
bf8a6d
    - nss.clear_ocsp_cache
bf8a6d
    - nss.set_ocsp_default_responder
bf8a6d
    - nss.enable_ocsp_default_responder
bf8a6d
    - nss.disable_ocsp_default_responder
bf8a6d
bf8a6d
  * The following files were added:
bf8a6d
      src/py_traceback.h
bf8a6d
      doc/examples/verify_cert.py
bf8a6d
      test/test_misc.py
bf8a6d
bf8a6d
  * The following constants were added:
bf8a6d
    - nss.KU_DIGITAL_SIGNATURE
bf8a6d
    - nss.KU_NON_REPUDIATION
bf8a6d
    - nss.KU_KEY_ENCIPHERMENT
bf8a6d
    - nss.KU_DATA_ENCIPHERMENT
bf8a6d
    - nss.KU_KEY_AGREEMENT
bf8a6d
    - nss.KU_KEY_CERT_SIGN
bf8a6d
    - nss.KU_CRL_SIGN
bf8a6d
    - nss.KU_ENCIPHER_ONLY
bf8a6d
    - nss.KU_ALL
bf8a6d
    - nss.KU_DIGITAL_SIGNATURE_OR_NON_REPUDIATION
bf8a6d
    - nss.KU_KEY_AGREEMENT_OR_ENCIPHERMENT
bf8a6d
    - nss.KU_NS_GOVT_APPROVED
bf8a6d
    - nss.PK11CertListUnique
bf8a6d
    - nss.PK11CertListUser
bf8a6d
    - nss.PK11CertListRootUnique
bf8a6d
    - nss.PK11CertListCA
bf8a6d
    - nss.PK11CertListCAUnique
bf8a6d
    - nss.PK11CertListUserUnique
bf8a6d
    - nss.PK11CertListAll
bf8a6d
    - nss.certUsageSSLClient
bf8a6d
    - nss.certUsageSSLServer
bf8a6d
    - nss.certUsageSSLServerWithStepUp
bf8a6d
    - nss.certUsageSSLCA
bf8a6d
    - nss.certUsageEmailSigner
bf8a6d
    - nss.certUsageEmailRecipient
bf8a6d
    - nss.certUsageObjectSigner
bf8a6d
    - nss.certUsageUserCertImport
bf8a6d
    - nss.certUsageVerifyCA
bf8a6d
    - nss.certUsageProtectedObjectSigner
bf8a6d
    - nss.certUsageStatusResponder
bf8a6d
    - nss.certUsageAnyCA
bf8a6d
    - nss.ocspMode_FailureIsVerificationFailure
bf8a6d
    - nss.ocspMode_FailureIsNotAVerificationFailure
bf8a6d
bf8a6d
  * cert_dump.py extended to print NS_CERT_TYPE_EXTENSION
bf8a6d
bf8a6d
  * cert_usage_flags, nss_init_flags now support optional repr_kind parameter
bf8a6d
bf8a6d
  Internal Changes:
bf8a6d
  -----------------
bf8a6d
bf8a6d
  * Reimplement exception handling
bf8a6d
    - NSPRError is now derived from StandardException instead of
bf8a6d
      EnvironmentError. It was never correct to derive from
bf8a6d
      EnvironmentError but was difficult to implement a new subclassed
bf8a6d
      exception with it's own attributes, using EnvironmentError had
bf8a6d
      been expedient.
bf8a6d
bf8a6d
    - NSPRError now derived from StandardException, provides:
bf8a6d
      * errno (numeric error code)
bf8a6d
      * strerror (error description associated with error code)
bf8a6d
      * error_message (optional detailed message)
bf8a6d
      * error_code (alias for errno)
bf8a6d
      * error_desc (alias for strerror)
bf8a6d
bf8a6d
    - CertVerifyError derived from NSPRError, extends with:
bf8a6d
      * usages (bitmask of returned usages)
bf8a6d
      * log (CertVerifyLog object)
bf8a6d
bf8a6d
  * Expose error lookup to sibling modules
bf8a6d
bf8a6d
  * Use macros for bitmask_to_list functions to reduce code
bf8a6d
    duplication and centralize logic.
bf8a6d
bf8a6d
  * Add repr_kind parameter to cert_trust_flags_str()
bf8a6d
bf8a6d
  * Add support for repr_kind AsEnumName to bitstring table lookup.
bf8a6d
bf8a6d
  * Add cert_type_bitstr_to_tuple() lookup function
bf8a6d
bf8a6d
  * Add PRTimeConvert(), used to convert Python time values
bf8a6d
    to PRTime, centralizes conversion logic, reduces duplication
bf8a6d
bf8a6d
  * Add UTF8OrNoneConvert to better handle unicode parameters which
bf8a6d
    are optional.
bf8a6d
bf8a6d
  * Add Certificate_summary_format_lines() utility to generate
bf8a6d
    concise certificate identification info for output.
bf8a6d
bf8a6d
  * Certificate_new_from_CERTCertificate now takes add_reference parameter
bf8a6d
    to properly reference count certs, should fix shutdown busy problems.
bf8a6d
bf8a6d
  * Add print_traceback(), print_cert() debugging support.
bf8a6d
bf8a6d
* Mon Feb 18 2013 John Dennis <jdennis@redhat.com> - 0.13-1
bf8a6d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
bf8a6d
bf8a6d
* Mon Oct  8 2012 John Dennis <jdennis@redhat.com> - 0.13-0
bf8a6d
- Update to version 0.13
bf8a6d
  Introduced in 0.13:
bf8a6d
bf8a6d
  * Fix NSS SECITEM_CompareItem bug via workaround.
bf8a6d
bf8a6d
  * Fix incorrect format strings in PyArg_ParseTuple* for:
bf8a6d
    - GeneralName
bf8a6d
    - BasicConstraints
bf8a6d
    - cert_x509_key_usage
bf8a6d
bf8a6d
  * Fix bug when decoding certificate BasicConstraints extension
bf8a6d
bf8a6d
  * Fix hang in setup_certs.
bf8a6d
bf8a6d
  * For NSS >= 3.13 support CERTDB_TERMINAL_RECORD
bf8a6d
bf8a6d
  * You can now query for a specific certificate extension
bf8a6d
    Certficate.get_extension()
bf8a6d
bf8a6d
  * The following classes were added:
bf8a6d
    - RSAGenParams
bf8a6d
bf8a6d
  * The following class methods were added:
bf8a6d
    - nss.nss.Certificate.get_extension
bf8a6d
    - nss.nss.PK11Slot.generate_key_pair
bf8a6d
    - nss.nss.DSAPublicKey.format
bf8a6d
    - nss.nss.DSAPublicKey.format_lines
bf8a6d
bf8a6d
  * The following module functions were added:
bf8a6d
    - nss.nss.pub_wrap_sym_key
bf8a6d
bf8a6d
  * The following internal utilities were added:
bf8a6d
    - PyString_UTF8
bf8a6d
    - SecItem_new_alloc()
bf8a6d
bf8a6d
  * The following class constructors were modified to accept
bf8a6d
    intialization parameters
bf8a6d
bf8a6d
    - KEYPQGParams (DSA generation parameters)
bf8a6d
bf8a6d
  * The PublicKey formatting (i.e. format_lines) was augmented
bf8a6d
    to format DSA keys (formerly it only recognized RSA keys).
bf8a6d
bf8a6d
  * Allow lables and values to be justified when printing objects
bf8a6d
bf8a6d
  * The following were deprecated:
bf8a6d
    - nss.nss.make_line_pairs (replaced by nss.nss.make_line_fmt_tuples)
bf8a6d
bf8a6d
    Deprecated Functionality:
bf8a6d
    -------------------------
bf8a6d
    - make_line_pairs() has been replaced by make_line_fmt_tuples()
bf8a6d
      because 2-valued tuples were not sufficently general. It is
bf8a6d
      expected very few programs will have used this function, it's mostly
bf8a6d
      used internally but provided as a support utility.
bf8a6d
bf8a6d
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.12-4
bf8a6d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
bf8a6d
bf8a6d
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.12-3
bf8a6d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
bf8a6d
bf8a6d
* Thu Nov 17 2011 John Dennis <jdennis@redhat.com> - 0.12-2
bf8a6d
- add patch python-nss-0.12-rsapssparams.patch to fix build problem
bf8a6d
  which appears only with nss 3.13 and later.
bf8a6d
bf8a6d
* Mon Jun  6 2011 John Dennis <jdennis@redhat.com> - 0.12-1
bf8a6d
  * Major new enhancement is additon of PKCS12 support and
bf8a6d
    AlgorithmID's.
bf8a6d
bf8a6d
  * setup.py build enhancements
bf8a6d
    - Now searches for the NSS and NSPR header files rather
bf8a6d
      than hardcoding their location. This makes building friendlier
bf8a6d
      on other systems (i.e. debian)
bf8a6d
    - Now takes optional command line arguments, -d or --debug
bf8a6d
      will turn on debug options during the build.
bf8a6d
bf8a6d
  * Fix reference counting bug in PK11_password_callback() which
bf8a6d
    contributed to NSS not being able to shutdown due to
bf8a6d
    resources still in use.
bf8a6d
bf8a6d
  * Add UTF-8 support to ssl.config_server_session_id_cache()
bf8a6d
bf8a6d
  * Added unit tests for cipher, digest, client_server.
bf8a6d
bf8a6d
  * All unittests now run, added test/run_tests to invoke
bf8a6d
    full test suite.
bf8a6d
bf8a6d
  * Fix bug in test/setup_certs.py, hardcoded full path to
bf8a6d
    libnssckbi.so was causing failures on 64-bit systems,
bf8a6d
    just use the libnssckbi.so basename, modutil will find
bf8a6d
    it on the standard search path.
bf8a6d
bf8a6d
  * doc/examples/cert_dump.py uses new AlgorithmID class to
bf8a6d
    dump Signature Algorithm
bf8a6d
bf8a6d
  * doc/examples/ssl_example.py now can cleanly shutdown NSS.
bf8a6d
bf8a6d
  * Exception error messages now include PR error text if available.
bf8a6d
bf8a6d
  * The following classes were replaced:
bf8a6d
    - SignatureAlgorithm replaced by new class AlgorithmID
bf8a6d
bf8a6d
  * The following classes were added:
bf8a6d
    - AlgorithmID
bf8a6d
    - PKCS12DecodeItem
bf8a6d
    - PKCS12Decoder
bf8a6d
bf8a6d
  * The following class methods were added:
bf8a6d
    - PK11Slot.authenticate()
bf8a6d
    - PK11Slot.get_disabled_reason()
bf8a6d
    - PK11Slot.has_protected_authentication_path()
bf8a6d
    - PK11Slot.has_root_certs()
bf8a6d
    - PK11Slot.is_disabled()
bf8a6d
    - PK11Slot.is_friendly()
bf8a6d
    - PK11Slot.is_internal()
bf8a6d
    - PK11Slot.is_logged_in()
bf8a6d
    - PK11Slot.is_removable()
bf8a6d
    - PK11Slot.logout()
bf8a6d
    - PK11Slot.need_login()
bf8a6d
    - PK11Slot.need_user_init()
bf8a6d
    - PK11Slot.user_disable()
bf8a6d
    - PK11Slot.user_enable()
bf8a6d
    - PKCS12DecodeItem.format()
bf8a6d
    - PKCS12DecodeItem.format_lines()
bf8a6d
    - PKCS12Decoder.database_import()
bf8a6d
    - PKCS12Decoder.format()
bf8a6d
    - PKCS12Decoder.format_lines()
bf8a6d
bf8a6d
  * The following class properties were added:
bf8a6d
    - AlgorithmID.id_oid
bf8a6d
    - AlgorithmID.id_str
bf8a6d
    - AlgorithmID.id_tag
bf8a6d
    - AlgorithmID.parameters
bf8a6d
    - PKCS12DecodeItem.certificate
bf8a6d
    - PKCS12DecodeItem.friendly_name
bf8a6d
    - PKCS12DecodeItem.has_key
bf8a6d
    - PKCS12DecodeItem.shroud_algorithm_id
bf8a6d
    - PKCS12DecodeItem.signed_cert_der
bf8a6d
    - PKCS12DecodeItem.type
bf8a6d
    - SignedData.data
bf8a6d
    - SignedData.der
bf8a6d
bf8a6d
  * The following module functions were added:
bf8a6d
    - nss.nss.dump_certificate_cache_info()
bf8a6d
    - nss.nss.find_slot_by_name()
bf8a6d
    - nss.nss.fingerprint_format_lines()
bf8a6d
    - nss.nss.get_internal_slot()
bf8a6d
    - nss.nss.is_fips()
bf8a6d
    - nss.nss.need_pw_init()
bf8a6d
    - nss.nss.nss_init_read_write()
bf8a6d
    - nss.nss.pk11_disabled_reason_name()
bf8a6d
    - nss.nss.pk11_disabled_reason_str()
bf8a6d
    - nss.nss.pk11_logout_all()
bf8a6d
    - nss.nss.pkcs12_cipher_from_name()
bf8a6d
    - nss.nss.pkcs12_cipher_name()
bf8a6d
    - nss.nss.pkcs12_enable_all_ciphers()
bf8a6d
    - nss.nss.pkcs12_enable_cipher()
bf8a6d
    - nss.nss.pkcs12_export()
bf8a6d
    - nss.nss.pkcs12_map_cipher()
bf8a6d
    - nss.nss.pkcs12_set_nickname_collision_callback()
bf8a6d
    - nss.nss.pkcs12_set_preferred_cipher()
bf8a6d
    - nss.nss.token_exists()
bf8a6d
    - nss.ssl.config_mp_server_sid_cache()
bf8a6d
    - nss.ssl.config_server_session_id_cache_with_opt()
bf8a6d
    - nss.ssl.get_max_server_cache_locks()
bf8a6d
    - nss.ssl.set_max_server_cache_locks()
bf8a6d
    - nss.ssl.shutdown_server_session_id_cache()
bf8a6d
bf8a6d
  * The following constants were added:
bf8a6d
    - nss.nss.int.PK11_DIS_COULD_NOT_INIT_TOKEN
bf8a6d
    - nss.nss.int.PK11_DIS_NONE
bf8a6d
    - nss.nss.int.PK11_DIS_TOKEN_NOT_PRESENT
bf8a6d
    - nss.nss.int.PK11_DIS_TOKEN_VERIFY_FAILED
bf8a6d
    - nss.nss.int.PK11_DIS_USER_SELECTED
bf8a6d
    - nss.nss.int.PKCS12_DES_56
bf8a6d
    - nss.nss.int.PKCS12_DES_EDE3_168
bf8a6d
    - nss.nss.int.PKCS12_RC2_CBC_128
bf8a6d
    - nss.nss.int.PKCS12_RC2_CBC_40
bf8a6d
    - nss.nss.int.PKCS12_RC4_128
bf8a6d
    - nss.nss.int.PKCS12_RC4_40
bf8a6d
bf8a6d
  * The following files were added:
bf8a6d
    - test/run_tests
bf8a6d
    - test/test_cipher.py (replaces cipher_test.py)
bf8a6d
    - test/test_client_server.py
bf8a6d
    - test/test_digest.py (replaces digest_test.py)
bf8a6d
    - test/test_pkcs12.py
bf8a6d
bf8a6d
  * The following were deprecated:
bf8a6d
    - SignatureAlgorithm
bf8a6d
bf8a6d
* Tue Mar 22 2011 John Dennis <jdennis@redhat.com> - 0.11-2
bf8a6d
- Resolves: #689059
bf8a6d
  Add family parameter to Socket constructors in examples and doc.
bf8a6d
  Mark implicit family parameter as deprecated.
bf8a6d
  Raise exception if Socket family does not match NetworkAddress family.
bf8a6d
  Add --server-subject to setup_certs.py (made testing IPv6 easier without DNS)
bf8a6d
bf8a6d
* Mon Feb 21 2011 John Dennis <jdennis@redhat.com> - 0.11-1
bf8a6d
  * Better support for IPv6
bf8a6d
bf8a6d
  * Add AddrInfo class to support IPv6 address resolution. Supports
bf8a6d
    iteration over it's set of NetworkAddress objects and provides
bf8a6d
    hostname, canonical_name object properties.
bf8a6d
bf8a6d
  * Add PR_AI_* constants.
bf8a6d
bf8a6d
  * NetworkAddress constructor and NetworkAddress.set_from_string() added
bf8a6d
    optional family parameter. This is necessary for utilizing
bf8a6d
    PR_GetAddrInfoByName().
bf8a6d
bf8a6d
  * NetworkAddress initialized via a string paramter are now initalized via
bf8a6d
    PR_GetAddrInfoByName using family.
bf8a6d
bf8a6d
  * Add NetworkAddress.address property to return the address sans the
bf8a6d
    port as a string. NetworkAddress.str() includes the port. For IPv6 the
bf8a6d
    a hex string must be enclosed in brackets if a port is appended to it,
bf8a6d
    the bracketed hex address with appended with a port is unappropriate
bf8a6d
    in some circumstances, hence the new address property to permit either
bf8a6d
    the address string with a port or without a port.
bf8a6d
bf8a6d
  * Fix the implementation of the NetworkAddress.family property, it was
bf8a6d
    returning bogus data due to wrong native data size.
bf8a6d
bf8a6d
  * HostEntry objects now support iteration and indexing of their
bf8a6d
    NetworkAddress members.
bf8a6d
bf8a6d
  * Add io.addr_family_name() function to return string representation of
bf8a6d
    PR_AF_* constants.
bf8a6d
bf8a6d
  * Modify example and test code to utilize AddrInfo instead of deprecated
bf8a6d
    NetworkAddress functionality. Add address family command argument to
bf8a6d
    ssl_example.
bf8a6d
bf8a6d
  * Fix pty import statement in test/setup_certs.py
bf8a6d
bf8a6d
    Deprecated Functionality:
bf8a6d
    -------------------------
bf8a6d
bf8a6d
  * NetworkAddress initialized via a string paramter is now
bf8a6d
    deprecated. AddrInfo should be used instead.
bf8a6d
bf8a6d
  * NetworkAddress.set_from_string is now deprecated. AddrInfo should be
bf8a6d
    used instead.
bf8a6d
bf8a6d
  * NetworkAddress.hostentry is deprecated. It was a bad idea,
bf8a6d
    NetworkAddress objects can support both IPv4 and IPv6, but a HostEntry
bf8a6d
    object can only support IPv4. Plus the implementation depdended on
bf8a6d
    being able to perform a reverse DNS lookup which is not always
bf8a6d
    possible.
bf8a6d
bf8a6d
  * HostEntry.get_network_addresses() and HostEntry.get_network_address()
bf8a6d
    are now deprecated. In addition their port parameter is now no longer
bf8a6d
    respected. HostEntry objects now support iteration and
bf8a6d
    indexing of their NetworkAddress and that should be used to access
bf8a6d
    their NetworkAddress objects instead.
bf8a6d
bf8a6d
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.10-4
bf8a6d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
bf8a6d
bf8a6d
* Tue Jan 11 2011 John Dennis <jdennis@redhat.com> - 0.10-3
bf8a6d
- Fix all rpmlint warnings
bf8a6d
- doc for license, changelog etc. now in main package,
bf8a6d
  doc subpackage now only contains api doc, examples, test, etc.
bf8a6d
- Filter provides for .so files
bf8a6d
- Remove execute permission on everything in docdir
bf8a6d
- Capitalize description
bf8a6d
bf8a6d
* Tue Jan 11 2011 John Dennis <jdennis@redhat.com> - 0.10-2
bf8a6d
- split documentation out into separate doc sub-package
bf8a6d
  and make building api documentation optional
bf8a6d
bf8a6d
* Mon Jan 10 2011 John Dennis <jdennis@redhat.com> - 0.10-1
bf8a6d
- The following classes were added:
bf8a6d
    InitParameters
bf8a6d
    InitContext
bf8a6d
bf8a6d
-The following module functions were added:
bf8a6d
    nss.nss.nss_initialize()
bf8a6d
    nss.nss.nss_init_context()
bf8a6d
    nss.nss.nss_shutdown_context()
bf8a6d
    nss.nss.nss_init_flags()
bf8a6d
bf8a6d
* Thu Jul 22 2010 David Malcolm <dmalcolm@redhat.com> - 0.9-9
bf8a6d
- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild
bf8a6d
bf8a6d
* Fri Jul 16 2010 John Dennis <jdennis@redhat.com> - 0.9-8
bf8a6d
- add nss_is_initialized()
bf8a6d
bf8a6d
* Thu Jul  8 2010 John Dennis <jdennis@redhat.com> - 0.9-7
bf8a6d
- Remove nss_init_nodb() when nss modules loads from previous version
bf8a6d
  apparently this prevents subsequent calls to nss_init with a
bf8a6d
  database to silently fail.
bf8a6d
- Clean up some cruft in doc/examples/verify_server.py
bf8a6d
bf8a6d
* Thu Jun 24 2010 John Dennis <jdennis@redhat.com> - 0.9-6
bf8a6d
- Invoke nss_init_nodb() when nss modules loads, this prevents segfaults
bf8a6d
  in NSS if Python programmer forgot to call one of the NSS
bf8a6d
  initialization routines.
bf8a6d
bf8a6d
- Rename the classes X500Name, X500RDN, X500AVA to DN, RDN, AVA
bf8a6d
  respectively.
bf8a6d
bf8a6d
- DN and RDN objects now return a list of their contents when indexed by
bf8a6d
  type, this is to support multi-valued items.
bf8a6d
bf8a6d
- Fix bug where AVA object's string representation did not include it's
bf8a6d
  type.
bf8a6d
bf8a6d
- Enhance test/test_cert_components.py unit test to test for above
bf8a6d
  changes.
bf8a6d
bf8a6d
- Add CertificateRequest object
bf8a6d
bf8a6d
* Mon Jun 14 2010 John Dennis <jdennis@redhat.com> - 0.9-5
bf8a6d
- Fix incomplete read bug (due to read ahead buffer bookkeeping).
bf8a6d
- Remove python-nss specific httplib.py, no longer needed
bf8a6d
  python-nss now compatible with standard library
bf8a6d
- Rewrite httplib_example.py to use standard library and illustrate
bf8a6d
  ssl, non-ssl, connection class, http class usage
bf8a6d
bf8a6d
* Wed Jun  9 2010 John Dennis <jdennis@redhat.com> - 0.9-4
bf8a6d
- add nss.cert_usage_flags(), use it in ssl_example.py
bf8a6d
bf8a6d
* Sun Jun  6 2010 John Dennis <jdennis@redhat.com> - 0.9-3
bf8a6d
- Add format_lines() & format() methods to the new certificate extension objects.
bf8a6d
- Add printing of certificate extensions.
bf8a6d
- Add BasicContstraints certificate extension.
bf8a6d
- Fix several reference counting and memory problems discovered with valgrind.
bf8a6d
bf8a6d
* Tue Jun  1 2010 John Dennis <jdennis@redhat.com> - 0.9-2
bf8a6d
- fold in more ref counting patches from Miloslav Trmač <mitr@redhat.com>
bf8a6d
  into upstream.
bf8a6d
  Did not bump upstream version, just bumped release ver in this spec file.
bf8a6d
bf8a6d
* Fri May 28 2010 John Dennis <jdennis@redhat.com> - 0.9-1
bf8a6d
- Unicode objects now accepted as well as str objects for
bf8a6d
  interfaces expecting a string.
bf8a6d
bf8a6d
- Sockets were enhanced thusly:
bf8a6d
    - Threads will now yield during blocking IO.
bf8a6d
    - Socket.makefile() reimplemented
bf8a6d
          file object methods that had been missing (readlines(), sendall(),
bf8a6d
          and iteration) were implemented, makefile now just returns the same
bf8a6d
          Socket object but increments an "open" ref count. Thus a Socket
bf8a6d
          object behaves like a file object and must be closed once for each
bf8a6d
          makefile() call before it's actually closed.
bf8a6d
    - Sockets now support the iter protocol
bf8a6d
    - Add Socket.readlines(), Socket.sendall()
bf8a6d
bf8a6d
- The following classes were added:
bf8a6d
    AuthKeyID
bf8a6d
    BasicConstraints
bf8a6d
    CRLDistributionPoint
bf8a6d
    CRLDistributionPts
bf8a6d
    CertificateExtension
bf8a6d
    GeneralName
bf8a6d
    SignedCRL
bf8a6d
    X500AVA
bf8a6d
    X500Name
bf8a6d
    X500RDN
bf8a6d
bf8a6d
- The following module functions were added:
bf8a6d
    nss.nss.cert_crl_reason_from_name()
bf8a6d
    nss.nss.cert_crl_reason_name()
bf8a6d
    nss.nss.cert_general_name_type_from_name()
bf8a6d
    nss.nss.cert_general_name_type_name()
bf8a6d
    nss.nss.cert_usage_flags()
bf8a6d
    nss.nss.decode_der_crl()
bf8a6d
    nss.nss.der_universal_secitem_fmt_lines()
bf8a6d
    nss.nss.import_crl()
bf8a6d
    nss.nss.make_line_pairs()
bf8a6d
    nss.nss.oid_dotted_decimal()
bf8a6d
    nss.nss.oid_str()
bf8a6d
    nss.nss.oid_tag()
bf8a6d
    nss.nss.oid_tag_name()
bf8a6d
    nss.nss.read_der_from_file()
bf8a6d
    nss.nss.x509_alt_name()
bf8a6d
    nss.nss.x509_ext_key_usage()
bf8a6d
    nss.nss.x509_key_usage()
bf8a6d
bf8a6d
- The following class methods and properties were added:
bf8a6d
  Note: it's a method if the name is suffixed with (), a propety otherwise
bf8a6d
    Socket.next()
bf8a6d
    Socket.readlines()
bf8a6d
    Socket.sendall()
bf8a6d
    SSLSocket.next()
bf8a6d
    SSLSocket.readlines()
bf8a6d
    SSLSocket.sendall()
bf8a6d
    AuthKeyID.key_id
bf8a6d
    AuthKeyID.serial_number
bf8a6d
    AuthKeyID.get_general_names()
bf8a6d
    CRLDistributionPoint.issuer
bf8a6d
    CRLDistributionPoint.get_general_names()
bf8a6d
    CRLDistributionPoint.get_reasons()
bf8a6d
    CertDB.find_crl_by_cert()
bf8a6d
    CertDB.find_crl_by_name()
bf8a6d
    Certificate.extensions
bf8a6d
    CertificateExtension.critical
bf8a6d
    CertificateExtension.name
bf8a6d
    CertificateExtension.oid
bf8a6d
    CertificateExtension.oid_tag
bf8a6d
    CertificateExtension.value
bf8a6d
    GeneralName.type_enum
bf8a6d
    GeneralName.type_name
bf8a6d
    GeneralName.type_string
bf8a6d
    SecItem.der_to_hex()
bf8a6d
    SecItem.get_oid_sequence()
bf8a6d
    SecItem.to_hex()
bf8a6d
    SignedCRL.delete_permanently()
bf8a6d
    X500AVA.oid
bf8a6d
    X500AVA.oid_tag
bf8a6d
    X500AVA.value
bf8a6d
    X500AVA.value_str
bf8a6d
    X500Name.cert_uid
bf8a6d
    X500Name.common_name
bf8a6d
    X500Name.country_name
bf8a6d
    X500Name.dc_name
bf8a6d
    X500Name.email_address
bf8a6d
    X500Name.locality_name
bf8a6d
    X500Name.org_name
bf8a6d
    X500Name.org_unit_name
bf8a6d
    X500Name.state_name
bf8a6d
    X500Name.add_rdn()
bf8a6d
    X500Name.has_key()
bf8a6d
    X500RDN.has_key()
bf8a6d
bf8a6d
- The following module functions were removed:
bf8a6d
  Note: use nss.nss.oid_tag() instead
bf8a6d
    nss.nss.sec_oid_tag_from_name()
bf8a6d
    nss.nss.sec_oid_tag_name()
bf8a6d
    nss.nss.sec_oid_tag_str()
bf8a6d
bf8a6d
- The following files were added:
bf8a6d
    doc/examples/cert_dump.py
bf8a6d
    test/test_cert_components.py
bf8a6d
bf8a6d
- Apply patches from  Miloslav Trmač <mitr@redhat.com>
bf8a6d
  for ref counting and threading support. Thanks Miloslav!
bf8a6d
bf8a6d
- Review all ref counting, numerous ref counting fixes
bf8a6d
bf8a6d
- Implement cyclic garbage collection support by
bf8a6d
  adding object traversal and clear methods
bf8a6d
bf8a6d
- Identify static variables, move to thread local storage
bf8a6d
bf8a6d
bf8a6d
* Wed Mar 24 2010 John Dennis <jdennis@redhat.com> - 0.8-2
bf8a6d
- change %%define to %%global
bf8a6d
bf8a6d
* Mon Sep 21 2009 John Dennis <jdennis@redhat.com> - 0.8-1
bf8a6d
- The following methods, properties  and functions were added:
bf8a6d
  SecItem.type SecItem.len, SecItem.data
bf8a6d
  PK11SymKey.key_data, PK11SymKey.key_length, PK11SymKey.slot
bf8a6d
  create_context_by_sym_key
bf8a6d
  param_from_iv
bf8a6d
  generate_new_param
bf8a6d
  get_iv_length
bf8a6d
  get_block_size
bf8a6d
  get_pad_mechanism
bf8a6d
- SecItem's now support indexing and slicing on their data
bf8a6d
- Clean up parsing and parameter validation of variable arg functions
bf8a6d
bf8a6d
* Fri Sep 18 2009 John Dennis <jdennis@redhat.com> - 0.7-1
bf8a6d
- add support for symmetric encryption/decryption
bf8a6d
  more support for digests (hashes)
bf8a6d
bf8a6d
  The following classes were added:
bf8a6d
  PK11SymKey PK11Context
bf8a6d
bf8a6d
  The following methods and functions were added:
bf8a6d
  get_best_wrap_mechanism          get_best_key_length
bf8a6d
  key_gen                          derive
bf8a6d
  get_key_length                   digest_key
bf8a6d
  clone_context                    digest_begin
bf8a6d
  digest_op                        cipher_op
bf8a6d
  finalize                         digest_final
bf8a6d
  read_hex                         hash_buf
bf8a6d
  sec_oid_tag_str                  sec_oid_tag_name
bf8a6d
  sec_oid_tag_from_name            key_mechanism_type_name
bf8a6d
  key_mechanism_type_from_name     pk11_attribute_type_name
bf8a6d
  pk11_attribute_type_from_name    get_best_slot
bf8a6d
  get_internal_key_slot            create_context_by_sym_key
bf8a6d
  import_sym_key                   create_digest_context
bf8a6d
  param_from_iv                    param_from_algid
bf8a6d
  generate_new_param               algtag_to_mechanism
bf8a6d
  mechanism_to_algtag
bf8a6d
bf8a6d
  The following files were added:
bf8a6d
  cipher_test.py digest_test.py
bf8a6d
bf8a6d
* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6-3
bf8a6d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
bf8a6d
bf8a6d
* Thu Jul  9 2009 John Dennis <jdennis@redhat.com> - 0.6-2
bf8a6d
- restore nss.nssinit(), make deprecated
bf8a6d
bf8a6d
* Wed Jul  8 2009 John Dennis <jdennis@redhat.com> - 0.6-1
bf8a6d
- fix bug #510343 client_auth_data_callback seg faults if False
bf8a6d
  is returned from callback
bf8a6d
bf8a6d
* Wed Jul  1 2009 John Dennis <jdennis@redhat.com> - 0.5-1
bf8a6d
- restore ssl.nss_init and ssl.nss_shutdown but make them deprecated
bf8a6d
  add __version__ string to nss module
bf8a6d
bf8a6d
* Tue Jun 30 2009 John Dennis <jdennis@redhat.com> - 0.4-1
bf8a6d
- add binding for NSS_NoDB_Init(), bug #509002
bf8a6d
  move nss_init and nss_shutdown from ssl module to nss module
bf8a6d
bf8a6d
* Thu Jun  4 2009 John Dennis <jdennis@redhat.com> - 0.3-1
bf8a6d
- installed source code in Mozilla CVS repository
bf8a6d
  update URL tag to point to CVS repositoy
bf8a6d
  (not yet a valid URL, still have to coordinate with Mozilla)
bf8a6d
  minor tweak to src directory layout
bf8a6d
bf8a6d
* Mon Jun  1 2009 John Dennis <jdennis@redhat.com> - 0.2-1
bf8a6d
- Convert licensing to MPL tri-license
bf8a6d
- apply patch from bug #472805, (Miloslav Trmač)
bf8a6d
  Don't allow closing a socket twice, that causes crashes.
bf8a6d
  New function nss.io.Socket.new_socket_pair()
bf8a6d
  New function nss.io.Socket.poll()
bf8a6d
  New function nss.io.Socket.import_tcp_socket()
bf8a6d
  New method nss.nss.Certificate.get_subject_common_name()
bf8a6d
  New function nss.nss.generate_random()
bf8a6d
  Fix return value creation in SSLSocket.get_security_status
bf8a6d
  New function nss.ssl.SSLSocket.import_tcp_socket()
bf8a6d
bf8a6d
* Thu Feb 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1-3
bf8a6d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
bf8a6d
bf8a6d
* Sat Nov 29 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 0.1-2
bf8a6d
- Rebuild for Python 2.6
bf8a6d
bf8a6d
* Tue Sep  9 2008 John Dennis <jdennis@redhat.com> - 0.1-1
bf8a6d
- clean up ssl_example.py, fix arg list in get_cert_nicknames,
bf8a6d
   make certdir cmd line arg consistent with other NSS tools
bf8a6d
- update httplib.py to support client auth, add httplib_example.py which illustrates it's use
bf8a6d
- fix some documentation
bf8a6d
- fix some type usage which were unsafe on 64-bit
bf8a6d
bf8a6d
* Wed Jul  9 2008 John Dennis <jdennis@redhat.com> - 0.0-2
bf8a6d
- add docutils to build requires so restructured text works
bf8a6d
bf8a6d
* Fri Jun 27 2008 John Dennis <jdennis@redhat.com> - 0.0-1
bf8a6d
- initial release