diff options
author | gahr <gahr@FreeBSD.org> | 2010-02-18 18:54:40 +0800 |
---|---|---|
committer | gahr <gahr@FreeBSD.org> | 2010-02-18 18:54:40 +0800 |
commit | c9e6d5b0a593d9b6b035a13195cc986daf0873ba (patch) | |
tree | d2801bbf1e385d54d3fd7c96ff88d55fa2b5a6af | |
parent | 63f46fe2165aa4814e1b8f2f91ee0327a447af30 (diff) | |
download | freebsd-ports-gnome-c9e6d5b0a593d9b6b035a13195cc986daf0873ba.tar.gz freebsd-ports-gnome-c9e6d5b0a593d9b6b035a13195cc986daf0873ba.tar.zst freebsd-ports-gnome-c9e6d5b0a593d9b6b035a13195cc986daf0873ba.zip |
- Update to 0.10
- Respect NOPORTEXAMPLES
- Remove unnecessary patch, it is now applied upstream
PR: 142784
Submitted by: Sofian Brabez <sbrabez@gmail.com>
Approved by: maintainer timeout (more than 1 month)
Feature safe: yes
-rw-r--r-- | security/py-openssl/Makefile | 13 | ||||
-rw-r--r-- | security/py-openssl/distinfo | 6 | ||||
-rw-r--r-- | security/py-openssl/files/patch-threading | 241 | ||||
-rw-r--r-- | security/py-openssl/pkg-plist | 16 |
4 files changed, 29 insertions, 247 deletions
diff --git a/security/py-openssl/Makefile b/security/py-openssl/Makefile index 4359db5bedcd..4dc8ffc1ee3c 100644 --- a/security/py-openssl/Makefile +++ b/security/py-openssl/Makefile @@ -7,10 +7,9 @@ # PORTNAME= openssl -PORTVERSION= 0.8 -PORTREVISION= 1 +PORTVERSION= 0.10 CATEGORIES= security python -MASTER_SITES= SF/py${PORTNAME}/py${PORTNAME}/${PORTVERSION} +MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} DISTNAME= pyOpenSSL-${PORTVERSION} @@ -23,9 +22,17 @@ USE_PYDISTUTILS= yes PYDISTUTILS_PKGNAME= pyOpenSSL USE_OPENSSL= yes +EXAMPLESDIR= ${PREFIX}/share/examples/py-${PORTNAME} + pre-configure: @${ECHO_CMD} "[build_ext]" >> ${WRKSRC}/setup.cfg @${ECHO_CMD} "include-dirs = ${OPENSSLINC}" >> ${WRKSRC}/setup.cfg @${ECHO_CMD} "library-dirs = ${OPENSSLLIB}" >> ${WRKSRC}/setup.cfg +.if !defined(NOPORTEXAMPLES) +post-install: + ${MKDIR} ${EXAMPLESDIR} + (cd ${WRKSRC}/examples/ && ${COPYTREE_SHARE} \* ${EXAMPLESDIR}) +.endif + .include <bsd.port.mk> diff --git a/security/py-openssl/distinfo b/security/py-openssl/distinfo index 8aff91abb018..5cd5d9459e16 100644 --- a/security/py-openssl/distinfo +++ b/security/py-openssl/distinfo @@ -1,3 +1,3 @@ -MD5 (pyOpenSSL-0.8.tar.gz) = 00377690f224d9e59c833fb0459603f4 -SHA256 (pyOpenSSL-0.8.tar.gz) = 2284411d21f1031f08f23c4f49dc0a341e38b07833495d0fe21a87eb25f3ffe3 -SIZE (pyOpenSSL-0.8.tar.gz) = 193035 +MD5 (pyOpenSSL-0.10.tar.gz) = 34db8056ec53ce80c7f5fc58bee9f093 +SHA256 (pyOpenSSL-0.10.tar.gz) = 4514f8960389042ca2587f9cb801a13f7990387753fc678680b0c084719b5b60 +SIZE (pyOpenSSL-0.10.tar.gz) = 222169 diff --git a/security/py-openssl/files/patch-threading b/security/py-openssl/files/patch-threading deleted file mode 100644 index 2d815e51d39c..000000000000 --- a/security/py-openssl/files/patch-threading +++ /dev/null @@ -1,241 +0,0 @@ - -$FreeBSD$ - -This patch fixes an issue in the py-openssl package that can lead to -interpreter crash with the following error code: - -Fatal Python error: ceval: tstate mix-up -Abort trap: 6 (core dumped) - -Detailed explanation and analysis can be found here: - -https://sourceforge.net/tracker2/?func=detail&aid=2543118&group_id=31249&atid=401760 - ---- src/ssl/connection.c.orig -+++ src/ssl/connection.c -@@ -260,9 +260,9 @@ - if (!PyArg_ParseTuple(args, "s#|i:send", &buf, &len, &flags)) - return NULL; - -- MY_BEGIN_ALLOW_THREADS(self->tstate) -+ MY_BEGIN_ALLOW_THREADS(self->context) - ret = SSL_write(self->ssl, buf, len); -- MY_END_ALLOW_THREADS(self->tstate) -+ MY_END_ALLOW_THREADS(self->context) - - if (PyErr_Occurred()) - { -@@ -305,9 +305,9 @@ - return NULL; - - do { -- MY_BEGIN_ALLOW_THREADS(self->tstate) -+ MY_BEGIN_ALLOW_THREADS(self->context) - ret = SSL_write(self->ssl, buf, len); -- MY_END_ALLOW_THREADS(self->tstate) -+ MY_END_ALLOW_THREADS(self->context) - if (PyErr_Occurred()) - { - flush_error_queue(); -@@ -358,9 +358,9 @@ - if (buf == NULL) - return NULL; - -- MY_BEGIN_ALLOW_THREADS(self->tstate) -+ MY_BEGIN_ALLOW_THREADS(self->context) - ret = SSL_read(self->ssl, PyString_AsString(buf), bufsiz); -- MY_END_ALLOW_THREADS(self->tstate) -+ MY_END_ALLOW_THREADS(self->context) - - if (PyErr_Occurred()) - { -@@ -399,9 +399,9 @@ - if (!PyArg_ParseTuple(args, ":renegotiate")) - return NULL; - -- MY_BEGIN_ALLOW_THREADS(self->tstate); -+ MY_BEGIN_ALLOW_THREADS(self->context); - ret = SSL_renegotiate(self->ssl); -- MY_END_ALLOW_THREADS(self->tstate); -+ MY_END_ALLOW_THREADS(self->context); - - if (PyErr_Occurred()) - { -@@ -428,9 +428,9 @@ - if (!PyArg_ParseTuple(args, ":do_handshake")) - return NULL; - -- MY_BEGIN_ALLOW_THREADS(self->tstate); -+ MY_BEGIN_ALLOW_THREADS(self->context); - ret = SSL_do_handshake(self->ssl); -- MY_END_ALLOW_THREADS(self->tstate); -+ MY_END_ALLOW_THREADS(self->context); - - if (PyErr_Occurred()) - { -@@ -643,9 +643,9 @@ - if (!PyArg_ParseTuple(args, ":shutdown")) - return NULL; - -- MY_BEGIN_ALLOW_THREADS(self->tstate) -+ MY_BEGIN_ALLOW_THREADS(self->context) - ret = SSL_shutdown(self->ssl); -- MY_END_ALLOW_THREADS(self->tstate) -+ MY_END_ALLOW_THREADS(self->context) - - if (PyErr_Occurred()) - { -@@ -969,8 +969,6 @@ - Py_INCREF(Py_None); - self->app_data = Py_None; - -- self->tstate = NULL; -- - fd = PyObject_AsFileDescriptor(self->socket); - if (fd < 0) - { - -$FreeBSD$ - ---- src/ssl/context.c.orig -+++ src/ssl/context.c -@@ -80,7 +80,7 @@ - * we invoke might segfault or blow up the sun. The reverse will be done - * before returning. - */ -- MY_END_ALLOW_THREADS(ctx->tstate); -+ MY_END_ALLOW_THREADS(ctx); - - /* The Python callback is called with a (maxlen,verify,userdata) tuple */ - argv = Py_BuildValue("(iiO)", maxlen, verify, ctx->passphrase_userdata); -@@ -136,7 +136,7 @@ - /* - * This function is returning into OpenSSL. Release the GIL again. - */ -- MY_BEGIN_ALLOW_THREADS(ctx->tstate); -+ MY_BEGIN_ALLOW_THREADS(ctx); - return len; - } - -@@ -162,7 +162,7 @@ - ssl = (SSL *)X509_STORE_CTX_get_app_data(x509_ctx); - conn = (ssl_ConnectionObj *)SSL_get_app_data(ssl); - -- MY_END_ALLOW_THREADS(conn->tstate); -+ MY_END_ALLOW_THREADS(conn->context); - - cert = crypto_X509_New(X509_STORE_CTX_get_current_cert(x509_ctx), 0); - errnum = X509_STORE_CTX_get_error(x509_ctx); -@@ -182,7 +182,7 @@ - c_ret = 0; - } - -- MY_BEGIN_ALLOW_THREADS(conn->tstate); -+ MY_BEGIN_ALLOW_THREADS(conn->context); - return c_ret; - } - -@@ -207,7 +207,7 @@ - * we invoke might segfault or blow up the sun. The reverse will be done - * before returning. - */ -- MY_END_ALLOW_THREADS(conn->tstate); -+ MY_END_ALLOW_THREADS(conn->context); - - argv = Py_BuildValue("(Oii)", (PyObject *)conn, where, _ret); - ret = PyEval_CallObject(conn->context->info_callback, argv); -@@ -225,7 +225,7 @@ - /* - * This function is returning into OpenSSL. Release the GIL again. - */ -- MY_BEGIN_ALLOW_THREADS(conn->tstate); -+ MY_BEGIN_ALLOW_THREADS(conn->context); - return; - } - -@@ -478,9 +478,9 @@ - if (!PyArg_ParseTuple(args, "s|i:use_privatekey_file", &keyfile, &filetype)) - return NULL; - -- MY_BEGIN_ALLOW_THREADS(self->tstate); -+ MY_BEGIN_ALLOW_THREADS(self); - ret = SSL_CTX_use_PrivateKey_file(self->ctx, keyfile, filetype); -- MY_END_ALLOW_THREADS(self->tstate); -+ MY_END_ALLOW_THREADS(self); - - if (PyErr_Occurred()) - { - -$FreeBSD$ - ---- src/ssl/ssl.c -+++ src/ssl/ssl.c -@@ -32,8 +32,6 @@ - - void **crypto_API; - --int _pyOpenSSL_tstate_key; -- - /* Exceptions defined by the SSL submodule */ - PyObject *ssl_Error, /* Base class */ - *ssl_ZeroReturnError, /* Used with SSL_get_error */ -@@ -203,13 +201,6 @@ - if (!init_ssl_connection(dict)) - goto error; - --#ifdef WITH_THREAD -- /* -- * Initialize this module's threading support structures. -- */ -- _pyOpenSSL_tstate_key = PyThread_create_key(); --#endif -- - error: - ; - } - -$FreeBSD$ - ---- src/ssl/ssl.h -+++ src/ssl/ssl.h -@@ -46,10 +46,6 @@ - - #define ssl_API_pointers 2 - --#ifdef WITH_THREAD --extern int _pyOpenSSL_tstate_key; --#endif /* WITH_THREAD */ -- - #ifdef SSL_MODULE - - extern ssl_Context_New_RETURN ssl_Context_New ssl_Context_New_PROTO; - -$FreeBSD$ - ---- src/util.h.orig -+++ src/util.h -@@ -36,18 +36,18 @@ - * in this thread can get it, if it needs to restore the threadstate to run - * some Python. - */ --# define MY_BEGIN_ALLOW_THREADS(ignored) \ -- PyThread_set_key_value(_pyOpenSSL_tstate_key, PyEval_SaveThread()); -+# define MY_BEGIN_ALLOW_THREADS(context) \ -+ (context)->tstate = PyEval_SaveThread(); - - /* - * Get the previous Python threadstate and restore it. - */ --# define MY_END_ALLOW_THREADS(ignored) \ -- PyEval_RestoreThread(PyThread_get_key_value(_pyOpenSSL_tstate_key)); -+# define MY_END_ALLOW_THREADS(context) \ -+ PyEval_RestoreThread((context)->tstate); - - #else --# define MY_BEGIN_ALLOW_THREADS(st) --# define MY_END_ALLOW_THREADS(st) { st = NULL; } -+# define MY_BEGIN_ALLOW_THREADS(context) -+# define MY_END_ALLOW_THREADS(context) { (context)->tstate = NULL; } - #endif - - #if !defined(PY_MAJOR_VERSION) || PY_VERSION_HEX < 0x02000000 diff --git a/security/py-openssl/pkg-plist b/security/py-openssl/pkg-plist index ed41e6568e67..dbacbc4509ef 100644 --- a/security/py-openssl/pkg-plist +++ b/security/py-openssl/pkg-plist @@ -10,9 +10,15 @@ %%PYTHON_SITELIBDIR%%/OpenSSL/test/test_crypto.py %%PYTHON_SITELIBDIR%%/OpenSSL/test/test_crypto.pyc %%PYTHON_SITELIBDIR%%/OpenSSL/test/test_crypto.pyo +%%PYTHON_SITELIBDIR%%/OpenSSL/test/test_rand.py +%%PYTHON_SITELIBDIR%%/OpenSSL/test/test_rand.pyc +%%PYTHON_SITELIBDIR%%/OpenSSL/test/test_rand.pyo %%PYTHON_SITELIBDIR%%/OpenSSL/test/test_ssl.py %%PYTHON_SITELIBDIR%%/OpenSSL/test/test_ssl.pyc %%PYTHON_SITELIBDIR%%/OpenSSL/test/test_ssl.pyo +%%PYTHON_SITELIBDIR%%/OpenSSL/test/util.py +%%PYTHON_SITELIBDIR%%/OpenSSL/test/util.pyo +%%PYTHON_SITELIBDIR%%/OpenSSL/test/util.pyc %%PYTHON_SITELIBDIR%%/OpenSSL/tsafe.py %%PYTHON_SITELIBDIR%%/OpenSSL/tsafe.pyc %%PYTHON_SITELIBDIR%%/OpenSSL/tsafe.pyo @@ -21,3 +27,13 @@ %%PYTHON_SITELIBDIR%%/OpenSSL/version.pyo @dirrm %%PYTHON_SITELIBDIR%%/OpenSSL/test @dirrm %%PYTHON_SITELIBDIR%%/OpenSSL +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/README +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simple/README +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simple/client.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simple/server.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/SecureXMLRPCServer.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/certgen.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/mk_simple_certs.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%//proxy.py +%%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%/simple +%%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%% |