pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/security/py-tlslite Update to 0.4.8. From the changelog:
details: https://anonhg.NetBSD.org/pkgsrc/rev/995ee3ca6a7a
branches: trunk
changeset: 356549:995ee3ca6a7a
user: schmonz <schmonz%pkgsrc.org@localhost>
date: Sun Jan 01 21:50:30 2017 +0000
description:
Update to 0.4.8. From the changelog:
0.4.8 - 11/12/2014
- Added more acknowledgements and security considerations
0.4.7 - 11/12/2014
- Added TLS 1.2 support (Yngve Pettersen and Paul Sokolovsky)
- Don't offer SSLv3 by default (e.g. POODLE)
- Fixed bug with PyCrypto_RSA integration
- Fixed harmless bug that added non-prime into sieves list
- Added "make test" and "make test-dev" targets (Hubert Kario)
0.4.5 - 3/20/2013
- **API CHANGE**: TLSClosedConnectionError instead of ValueError when writing
to a closed connection. This inherits from socket.error, so should
interact better with SocketServer (see http://bugs.python.org/issue14574)
and other things expecting a socket.error in this situation.
- Added support for RC4-MD5 ciphersuite (if enabled in settings)
- This is allegedly necessary to connect to some Internet servers.
- Added TLSConnection.unread() function
- Switched to New-style classes (inherit from 'object')
- Minor cleanups
0.4.4 - 2/25/2013
- Added Python 3 support (Martin von Loewis)
- Added NPN client support (Marcelo Fernandez)
- Switched to RC4 as preferred cipher
- faster in Python, avoids "Lucky 13" timing attacks
- Fixed bug when specifying ciphers for anon ciphersuites
- Made RSA hashAndVerify() tolerant of sigs w/o encoded NULL AlgorithmParam
- (this function is not used for TLS currently, and this tolerance may
not even be necessary)
0.4.3 - 9/27/2012
- Minor bugfix (0.4.2 doesn't load tackpy)
0.4.2 - 9/25/2012
- Updated TACK (compatible with tackpy 0.9.9)
0.4.1 - 5/22/2012
- Fixed RSA padding bugs (w/help from John Randolph)
- Updated TACK (compatible with tackpy 0.9.7)
- Added SNI
- Added NPN server support (Sam Rushing/Google)
- Added AnonDH (Dimitris Moraitis)
- Added X509CertChain.parsePemList
- Improved XML-RPC (Kees Bos)
0.4.0 - 2/11/2012
- Fixed pycrypto support
- Fixed python 2.6 problems
0.3.9.x - 2/7/2012
Much code cleanup, in particular decomposing the handshake functions so they
are readable. The main new feature is support for TACK, an experimental
authentication method that provides a new way to pin server certificates (See
https://github.com/moxie0/Convergence/wiki/TACK ).
Also:
- Security Fixes
- Sends SCSV ciphersuite as per RFC 5746, to signal non-renegotiated
Client Hello. Does not support renegotiation (never has).
- Change from e=3 to e=65537 for generated RSA keys, not strictly
necessary but mitigates risk of sloppy verifier.
- 1/(n-1) countermeasure for BEAST.
- Behavior changes:
- Split cmdline into tls.py and tlstest.py, improved options.
- Formalized LICENSE.
- Defaults to closing socket after sending close_notify, fixes hanging.
problem that would occur sometime when waiting for other party's
close_notify.
- Update SRP to RFC 5054 compliance.
- Removed client handshake "callbacks", no longer support the SRP
re-handshake idiom within a single handshake function.
- Bugfixes
- Added hashlib support, removes Deprecation Warning due to sha and md5.
- Handled GeneratorExit exceptions that are a new Python feature, and
interfere with the async code if not handled.
- Removed:
- Shared keys (it was based on an ancient I-D, not TLS-PSK).
- cryptlib support, it wasn't used much, we have enough other options.
- cryptoIDs (TACK is better).
- win32prng extension module, as os.urandom is now available.
- Twisted integration (unused?, slowed down loading).
- Jython code (ancient, didn't work).
- Compat support for python versions < 2.7.
- Additions
- Support for TACK via TACKpy.
- Support for CertificateRequest.certificate_authorities ("reqCAs")
- Added TLSConnection.shutdown() to better mimic socket.
- Enabled Session resumption for XMLRPCTransport.
diffstat:
security/py-tlslite/Makefile | 26 +-
security/py-tlslite/PLIST | 311 +++++++---------
security/py-tlslite/distinfo | 13 +-
security/py-tlslite/patches/patch-setup.py | 13 +
security/py-tlslite/patches/patch-tests_httpsserver.sh | 10 +
security/py-tlslite/patches/patch-tests_tlstest.py | 15 +
6 files changed, 210 insertions(+), 178 deletions(-)
diffs (truncated from 444 to 300 lines):
diff -r ee8f35206b8b -r 995ee3ca6a7a security/py-tlslite/Makefile
--- a/security/py-tlslite/Makefile Sun Jan 01 18:19:58 2017 +0000
+++ b/security/py-tlslite/Makefile Sun Jan 01 21:50:30 2017 +0000
@@ -1,20 +1,32 @@
-# $NetBSD: Makefile,v 1.12 2017/01/01 14:43:56 wiz Exp $
+# $NetBSD: Makefile,v 1.13 2017/01/01 21:50:30 schmonz Exp $
-DISTNAME= tlslite-0.3.8
+DISTNAME= tlslite-0.4.8
PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
-PKGREVISION= 2
CATEGORIES= security python
-MASTER_SITES= ${HOMEPAGE}
+MASTER_SITES= ${MASTER_SITE_GITHUB:=trevp/}
+
+GITHUB_PROJECT= tlslite
+GITHUB_TAG= v${PKGVERSION_NOREV}
MAINTAINER= schmonz%NetBSD.org@localhost
HOMEPAGE= http://trevp.net/tlslite/
COMMENT= SSL 3.0, TLS 1.0, and TLS 1.1 in Python
LICENSE= public-domain
-PYTHON_SELF_CONFLICT= yes
-PYTHON_VERSIONS_INCOMPATIBLE= 34 35 36 # not yet ported as of 0.3.8
-
USE_LANGUAGES= # none
+post-extract:
+ mv ${WRKSRC}/scripts/tls.py ${WRKSRC}/scripts/tls${PYVERSSUFFIX}.py
+ mv ${WRKSRC}/scripts/tlsdb.py ${WRKSRC}/scripts/tlsdb${PYVERSSUFFIX}.py
+
+REPLACE_PYTHON= setup.py tests/httpsclient.py tests/tlstest.py
+
+SUBST_CLASSES+= pyclash
+SUBST_STAGE.pyclash= do-configure
+SUBST_FILES.pyclash= setup.py tests/tlstest.py tests/httpsserver.sh
+SUBST_SED.pyclash= -e 's|@PYTHONBIN@|${PYTHONBIN}|g'
+SUBST_SED.pyclash+= -e 's|@PYVERSSUFFIX@|${PYVERSSUFFIX}|g'
+
.include "../../lang/python/distutils.mk"
+.include "../../lang/python/application.mk"
.include "../../mk/bsd.pkg.mk"
diff -r ee8f35206b8b -r 995ee3ca6a7a security/py-tlslite/PLIST
--- a/security/py-tlslite/PLIST Sun Jan 01 18:19:58 2017 +0000
+++ b/security/py-tlslite/PLIST Sun Jan 01 21:50:30 2017 +0000
@@ -1,184 +1,163 @@
-@comment $NetBSD: PLIST,v 1.4 2012/04/08 20:21:55 wiz Exp $
-bin/tls.py
-bin/tlsdb.py
+@comment $NetBSD: PLIST,v 1.5 2017/01/01 21:50:30 schmonz Exp $
+bin/tls${PYVERSSUFFIX}.py
+bin/tlsdb${PYVERSSUFFIX}.py
${PYSITELIB}/${EGG_FILE}
-${PYSITELIB}/tlslite/BaseDB.py
-${PYSITELIB}/tlslite/BaseDB.pyc
-${PYSITELIB}/tlslite/BaseDB.pyo
-${PYSITELIB}/tlslite/Checker.py
-${PYSITELIB}/tlslite/Checker.pyc
-${PYSITELIB}/tlslite/Checker.pyo
-${PYSITELIB}/tlslite/FileObject.py
-${PYSITELIB}/tlslite/FileObject.pyc
-${PYSITELIB}/tlslite/FileObject.pyo
-${PYSITELIB}/tlslite/HandshakeSettings.py
-${PYSITELIB}/tlslite/HandshakeSettings.pyc
-${PYSITELIB}/tlslite/HandshakeSettings.pyo
-${PYSITELIB}/tlslite/Session.py
-${PYSITELIB}/tlslite/Session.pyc
-${PYSITELIB}/tlslite/Session.pyo
-${PYSITELIB}/tlslite/SessionCache.py
-${PYSITELIB}/tlslite/SessionCache.pyc
-${PYSITELIB}/tlslite/SessionCache.pyo
-${PYSITELIB}/tlslite/SharedKeyDB.py
-${PYSITELIB}/tlslite/SharedKeyDB.pyc
-${PYSITELIB}/tlslite/SharedKeyDB.pyo
-${PYSITELIB}/tlslite/TLSConnection.py
-${PYSITELIB}/tlslite/TLSConnection.pyc
-${PYSITELIB}/tlslite/TLSConnection.pyo
-${PYSITELIB}/tlslite/TLSRecordLayer.py
-${PYSITELIB}/tlslite/TLSRecordLayer.pyc
-${PYSITELIB}/tlslite/TLSRecordLayer.pyo
-${PYSITELIB}/tlslite/VerifierDB.py
-${PYSITELIB}/tlslite/VerifierDB.pyc
-${PYSITELIB}/tlslite/VerifierDB.pyo
-${PYSITELIB}/tlslite/X509.py
-${PYSITELIB}/tlslite/X509.pyc
-${PYSITELIB}/tlslite/X509.pyo
-${PYSITELIB}/tlslite/X509CertChain.py
-${PYSITELIB}/tlslite/X509CertChain.pyc
-${PYSITELIB}/tlslite/X509CertChain.pyo
${PYSITELIB}/tlslite/__init__.py
+${PYSITELIB}/tlslite/__init__.pyo
${PYSITELIB}/tlslite/__init__.pyc
-${PYSITELIB}/tlslite/__init__.pyo
-${PYSITELIB}/tlslite/api.py
-${PYSITELIB}/tlslite/api.pyc
${PYSITELIB}/tlslite/api.pyo
-${PYSITELIB}/tlslite/constants.py
-${PYSITELIB}/tlslite/constants.pyc
+${PYSITELIB}/tlslite/api.pyc
+${PYSITELIB}/tlslite/basedb.pyo
+${PYSITELIB}/tlslite/basedb.pyc
+${PYSITELIB}/tlslite/checker.pyo
+${PYSITELIB}/tlslite/checker.pyc
${PYSITELIB}/tlslite/constants.pyo
-${PYSITELIB}/tlslite/errors.py
-${PYSITELIB}/tlslite/errors.pyc
+${PYSITELIB}/tlslite/constants.pyc
${PYSITELIB}/tlslite/errors.pyo
-${PYSITELIB}/tlslite/integration/AsyncStateMachine.py
-${PYSITELIB}/tlslite/integration/AsyncStateMachine.pyc
-${PYSITELIB}/tlslite/integration/AsyncStateMachine.pyo
-${PYSITELIB}/tlslite/integration/ClientHelper.py
-${PYSITELIB}/tlslite/integration/ClientHelper.pyc
-${PYSITELIB}/tlslite/integration/ClientHelper.pyo
-${PYSITELIB}/tlslite/integration/HTTPTLSConnection.py
-${PYSITELIB}/tlslite/integration/HTTPTLSConnection.pyc
-${PYSITELIB}/tlslite/integration/HTTPTLSConnection.pyo
-${PYSITELIB}/tlslite/integration/IMAP4_TLS.py
-${PYSITELIB}/tlslite/integration/IMAP4_TLS.pyc
-${PYSITELIB}/tlslite/integration/IMAP4_TLS.pyo
-${PYSITELIB}/tlslite/integration/IntegrationHelper.py
-${PYSITELIB}/tlslite/integration/IntegrationHelper.pyc
-${PYSITELIB}/tlslite/integration/IntegrationHelper.pyo
-${PYSITELIB}/tlslite/integration/POP3_TLS.py
-${PYSITELIB}/tlslite/integration/POP3_TLS.pyc
-${PYSITELIB}/tlslite/integration/POP3_TLS.pyo
-${PYSITELIB}/tlslite/integration/SMTP_TLS.py
-${PYSITELIB}/tlslite/integration/SMTP_TLS.pyc
-${PYSITELIB}/tlslite/integration/SMTP_TLS.pyo
-${PYSITELIB}/tlslite/integration/TLSAsyncDispatcherMixIn.py
-${PYSITELIB}/tlslite/integration/TLSAsyncDispatcherMixIn.pyc
-${PYSITELIB}/tlslite/integration/TLSAsyncDispatcherMixIn.pyo
-${PYSITELIB}/tlslite/integration/TLSSocketServerMixIn.py
-${PYSITELIB}/tlslite/integration/TLSSocketServerMixIn.pyc
-${PYSITELIB}/tlslite/integration/TLSSocketServerMixIn.pyo
-${PYSITELIB}/tlslite/integration/TLSTwistedProtocolWrapper.py
-${PYSITELIB}/tlslite/integration/TLSTwistedProtocolWrapper.pyc
-${PYSITELIB}/tlslite/integration/TLSTwistedProtocolWrapper.pyo
-${PYSITELIB}/tlslite/integration/XMLRPCTransport.py
-${PYSITELIB}/tlslite/integration/XMLRPCTransport.pyc
-${PYSITELIB}/tlslite/integration/XMLRPCTransport.pyo
+${PYSITELIB}/tlslite/errors.pyc
+${PYSITELIB}/tlslite/handshakesettings.pyo
+${PYSITELIB}/tlslite/handshakesettings.pyc
+${PYSITELIB}/tlslite/mathtls.pyo
+${PYSITELIB}/tlslite/mathtls.pyc
+${PYSITELIB}/tlslite/messages.pyo
+${PYSITELIB}/tlslite/messages.pyc
+${PYSITELIB}/tlslite/session.pyo
+${PYSITELIB}/tlslite/session.pyc
+${PYSITELIB}/tlslite/sessioncache.pyo
+${PYSITELIB}/tlslite/sessioncache.pyc
+${PYSITELIB}/tlslite/tlsconnection.pyo
+${PYSITELIB}/tlslite/tlsconnection.pyc
+${PYSITELIB}/tlslite/tlsrecordlayer.pyo
+${PYSITELIB}/tlslite/tlsrecordlayer.pyc
+${PYSITELIB}/tlslite/verifierdb.pyo
+${PYSITELIB}/tlslite/verifierdb.pyc
+${PYSITELIB}/tlslite/x509.pyo
+${PYSITELIB}/tlslite/x509.pyc
+${PYSITELIB}/tlslite/x509certchain.pyo
+${PYSITELIB}/tlslite/x509certchain.pyc
+${PYSITELIB}/tlslite/api.py
+${PYSITELIB}/tlslite/basedb.py
+${PYSITELIB}/tlslite/checker.py
+${PYSITELIB}/tlslite/constants.py
+${PYSITELIB}/tlslite/errors.py
+${PYSITELIB}/tlslite/handshakesettings.py
${PYSITELIB}/tlslite/integration/__init__.py
+${PYSITELIB}/tlslite/integration/__init__.pyo
${PYSITELIB}/tlslite/integration/__init__.pyc
-${PYSITELIB}/tlslite/integration/__init__.pyo
+${PYSITELIB}/tlslite/integration/asyncstatemachine.pyo
+${PYSITELIB}/tlslite/integration/asyncstatemachine.pyc
+${PYSITELIB}/tlslite/integration/clienthelper.pyo
+${PYSITELIB}/tlslite/integration/clienthelper.pyc
+${PYSITELIB}/tlslite/integration/httptlsconnection.pyo
+${PYSITELIB}/tlslite/integration/httptlsconnection.pyc
+${PYSITELIB}/tlslite/integration/imap4_tls.pyo
+${PYSITELIB}/tlslite/integration/imap4_tls.pyc
+${PYSITELIB}/tlslite/integration/pop3_tls.pyo
+${PYSITELIB}/tlslite/integration/pop3_tls.pyc
+${PYSITELIB}/tlslite/integration/smtp_tls.pyo
+${PYSITELIB}/tlslite/integration/smtp_tls.pyc
+${PYSITELIB}/tlslite/integration/tlsasyncdispatchermixin.pyo
+${PYSITELIB}/tlslite/integration/tlsasyncdispatchermixin.pyc
+${PYSITELIB}/tlslite/integration/tlssocketservermixin.pyo
+${PYSITELIB}/tlslite/integration/tlssocketservermixin.pyc
+${PYSITELIB}/tlslite/integration/xmlrpcserver.pyo
+${PYSITELIB}/tlslite/integration/xmlrpcserver.pyc
+${PYSITELIB}/tlslite/integration/xmlrpctransport.pyo
+${PYSITELIB}/tlslite/integration/xmlrpctransport.pyc
+${PYSITELIB}/tlslite/integration/asyncstatemachine.py
+${PYSITELIB}/tlslite/integration/clienthelper.py
+${PYSITELIB}/tlslite/integration/httptlsconnection.py
+${PYSITELIB}/tlslite/integration/imap4_tls.py
+${PYSITELIB}/tlslite/integration/pop3_tls.py
+${PYSITELIB}/tlslite/integration/smtp_tls.py
+${PYSITELIB}/tlslite/integration/tlsasyncdispatchermixin.py
+${PYSITELIB}/tlslite/integration/tlssocketservermixin.py
+${PYSITELIB}/tlslite/integration/xmlrpcserver.py
+${PYSITELIB}/tlslite/integration/xmlrpctransport.py
${PYSITELIB}/tlslite/mathtls.py
-${PYSITELIB}/tlslite/mathtls.pyc
-${PYSITELIB}/tlslite/mathtls.pyo
${PYSITELIB}/tlslite/messages.py
-${PYSITELIB}/tlslite/messages.pyc
-${PYSITELIB}/tlslite/messages.pyo
-${PYSITELIB}/tlslite/utils/AES.py
-${PYSITELIB}/tlslite/utils/AES.pyc
-${PYSITELIB}/tlslite/utils/AES.pyo
-${PYSITELIB}/tlslite/utils/ASN1Parser.py
-${PYSITELIB}/tlslite/utils/ASN1Parser.pyc
-${PYSITELIB}/tlslite/utils/ASN1Parser.pyo
-${PYSITELIB}/tlslite/utils/Cryptlib_AES.py
-${PYSITELIB}/tlslite/utils/Cryptlib_AES.pyc
-${PYSITELIB}/tlslite/utils/Cryptlib_AES.pyo
-${PYSITELIB}/tlslite/utils/Cryptlib_RC4.py
-${PYSITELIB}/tlslite/utils/Cryptlib_RC4.pyc
-${PYSITELIB}/tlslite/utils/Cryptlib_RC4.pyo
-${PYSITELIB}/tlslite/utils/Cryptlib_TripleDES.py
-${PYSITELIB}/tlslite/utils/Cryptlib_TripleDES.pyc
-${PYSITELIB}/tlslite/utils/Cryptlib_TripleDES.pyo
-${PYSITELIB}/tlslite/utils/OpenSSL_AES.py
-${PYSITELIB}/tlslite/utils/OpenSSL_AES.pyc
-${PYSITELIB}/tlslite/utils/OpenSSL_AES.pyo
-${PYSITELIB}/tlslite/utils/OpenSSL_RC4.py
-${PYSITELIB}/tlslite/utils/OpenSSL_RC4.pyc
-${PYSITELIB}/tlslite/utils/OpenSSL_RC4.pyo
-${PYSITELIB}/tlslite/utils/OpenSSL_RSAKey.py
-${PYSITELIB}/tlslite/utils/OpenSSL_RSAKey.pyc
-${PYSITELIB}/tlslite/utils/OpenSSL_RSAKey.pyo
-${PYSITELIB}/tlslite/utils/OpenSSL_TripleDES.py
-${PYSITELIB}/tlslite/utils/OpenSSL_TripleDES.pyc
-${PYSITELIB}/tlslite/utils/OpenSSL_TripleDES.pyo
-${PYSITELIB}/tlslite/utils/PyCrypto_AES.py
-${PYSITELIB}/tlslite/utils/PyCrypto_AES.pyc
-${PYSITELIB}/tlslite/utils/PyCrypto_AES.pyo
-${PYSITELIB}/tlslite/utils/PyCrypto_RC4.py
-${PYSITELIB}/tlslite/utils/PyCrypto_RC4.pyc
-${PYSITELIB}/tlslite/utils/PyCrypto_RC4.pyo
-${PYSITELIB}/tlslite/utils/PyCrypto_RSAKey.py
-${PYSITELIB}/tlslite/utils/PyCrypto_RSAKey.pyc
-${PYSITELIB}/tlslite/utils/PyCrypto_RSAKey.pyo
-${PYSITELIB}/tlslite/utils/PyCrypto_TripleDES.py
-${PYSITELIB}/tlslite/utils/PyCrypto_TripleDES.pyc
-${PYSITELIB}/tlslite/utils/PyCrypto_TripleDES.pyo
-${PYSITELIB}/tlslite/utils/Python_AES.py
-${PYSITELIB}/tlslite/utils/Python_AES.pyc
-${PYSITELIB}/tlslite/utils/Python_AES.pyo
-${PYSITELIB}/tlslite/utils/Python_RC4.py
-${PYSITELIB}/tlslite/utils/Python_RC4.pyc
-${PYSITELIB}/tlslite/utils/Python_RC4.pyo
-${PYSITELIB}/tlslite/utils/Python_RSAKey.py
-${PYSITELIB}/tlslite/utils/Python_RSAKey.pyc
-${PYSITELIB}/tlslite/utils/Python_RSAKey.pyo
-${PYSITELIB}/tlslite/utils/RC4.py
-${PYSITELIB}/tlslite/utils/RC4.pyc
-${PYSITELIB}/tlslite/utils/RC4.pyo
-${PYSITELIB}/tlslite/utils/RSAKey.py
-${PYSITELIB}/tlslite/utils/RSAKey.pyc
-${PYSITELIB}/tlslite/utils/RSAKey.pyo
-${PYSITELIB}/tlslite/utils/TripleDES.py
-${PYSITELIB}/tlslite/utils/TripleDES.pyc
-${PYSITELIB}/tlslite/utils/TripleDES.pyo
+${PYSITELIB}/tlslite/session.py
+${PYSITELIB}/tlslite/sessioncache.py
+${PYSITELIB}/tlslite/tlsconnection.py
+${PYSITELIB}/tlslite/tlsrecordlayer.py
${PYSITELIB}/tlslite/utils/__init__.py
+${PYSITELIB}/tlslite/utils/__init__.pyo
${PYSITELIB}/tlslite/utils/__init__.pyc
-${PYSITELIB}/tlslite/utils/__init__.pyo
-${PYSITELIB}/tlslite/utils/cipherfactory.py
+${PYSITELIB}/tlslite/utils/aes.pyo
+${PYSITELIB}/tlslite/utils/aes.pyc
+${PYSITELIB}/tlslite/utils/asn1parser.pyo
+${PYSITELIB}/tlslite/utils/asn1parser.pyc
+${PYSITELIB}/tlslite/utils/cipherfactory.pyo
${PYSITELIB}/tlslite/utils/cipherfactory.pyc
-${PYSITELIB}/tlslite/utils/cipherfactory.pyo
-${PYSITELIB}/tlslite/utils/codec.py
+${PYSITELIB}/tlslite/utils/codec.pyo
${PYSITELIB}/tlslite/utils/codec.pyc
-${PYSITELIB}/tlslite/utils/codec.pyo
-${PYSITELIB}/tlslite/utils/compat.py
+${PYSITELIB}/tlslite/utils/compat.pyo
${PYSITELIB}/tlslite/utils/compat.pyc
-${PYSITELIB}/tlslite/utils/compat.pyo
-${PYSITELIB}/tlslite/utils/cryptomath.py
-${PYSITELIB}/tlslite/utils/cryptomath.pyc
${PYSITELIB}/tlslite/utils/cryptomath.pyo
-${PYSITELIB}/tlslite/utils/dateFuncs.py
-${PYSITELIB}/tlslite/utils/dateFuncs.pyc
-${PYSITELIB}/tlslite/utils/dateFuncs.pyo
-${PYSITELIB}/tlslite/utils/hmac.py
-${PYSITELIB}/tlslite/utils/hmac.pyc
-${PYSITELIB}/tlslite/utils/hmac.pyo
-${PYSITELIB}/tlslite/utils/jython_compat.py
Home |
Main Index |
Thread Index |
Old Index