summaryrefslogtreecommitdiff
path: root/security/py-m2crypto
diff options
context:
space:
mode:
authorwiz <wiz>2006-01-14 23:07:26 +0000
committerwiz <wiz>2006-01-14 23:07:26 +0000
commit673daac7eb10223e0adb0bd25393384b847ea967 (patch)
treee7cad27addf9e58317a9cc138a0717c6ce04362d /security/py-m2crypto
parent27754258e8af98eccfb2bf29107d1a7fd68b380c (diff)
downloadpkgsrc-673daac7eb10223e0adb0bd25393384b847ea967.tar.gz
Update to 0.13.1, based on patches from recht@ via tech-pkg.
Additionally, fix it to compile against openssl-0.9.7i, the current pkgsrc version; due to its way of checking compatibility, py-m2crypto is extremely picky about constness. If this works with other versions too, just add them to the pattern. Changes since 0.12/0.11 ------------------------- - Patches from Artur Frysiak. Thanks Artur. = Allow using a passphrase callback in class SMIME. = Added method get0_signers to class PKCS7, which retrieves signers' certificates from a PKCS7 blob. = Added methods as_pem and save_pem to class X509. = Added file version.py. = Allow SSL.Context.load_verify_locations to accept both 'cafile' and 'capath'. - Fixed BIO.read() not reading until EOF. Thanks to Egil Muller for suggestion. - Honour 'mode' parameter in SSL.Connection.makefile. Thanks again to Egil Muller. - Roger Binns contributed epydoc-generated docs for M2Crypto. Thanks Roger. - Peter Teniz contributed patches to create X.509 requests and certificates. Thanks Peter. - Updated Medusa to 0.54. - Make various OpenSSL bignum functions (written long ago) available to Python.
Diffstat (limited to 'security/py-m2crypto')
-rw-r--r--security/py-m2crypto/Makefile20
-rw-r--r--security/py-m2crypto/PLIST5
-rw-r--r--security/py-m2crypto/distinfo14
-rw-r--r--security/py-m2crypto/patches/patch-aa61
-rw-r--r--security/py-m2crypto/patches/patch-ac74
-rw-r--r--security/py-m2crypto/patches/patch-ad13
6 files changed, 175 insertions, 12 deletions
diff --git a/security/py-m2crypto/Makefile b/security/py-m2crypto/Makefile
index 59b253fda81..b301851e523 100644
--- a/security/py-m2crypto/Makefile
+++ b/security/py-m2crypto/Makefile
@@ -1,23 +1,29 @@
-# $NetBSD: Makefile,v 1.13 2005/12/05 20:50:58 rillig Exp $
+# $NetBSD: Makefile,v 1.14 2006/01/14 23:07:26 wiz Exp $
#
-DISTNAME= m2crypto-0.12
-PKGNAME= ${PYPKGPREFIX}-m2crypto-0.12
-PKGREVISION= 2
+DISTNAME= m2crypto-0.13
+PKGNAME= ${PYPKGPREFIX}-${DISTNAME}.1
CATEGORIES= security python
MASTER_SITES= http://sandbox.rulemaker.net/ngps/Dist/
EXTRACT_SUFX= .zip
+PATCH_SITES= ${MASTER_SITES}
+PATCHFILES= 0.13p1.patch
+
MAINTAINER= tech-pkg@NetBSD.org
HOMEPAGE= http://sandbox.rulemaker.net/ngps/m2/
COMMENT= Crypto and SSL toolkit for Python
PYDISTUTILSPKG= yes
-PYTHON_VERSIONS_ACCEPTED= 23 22 21
+PYTHON_VERSIONS_ACCEPTED= 24 23 22 21
-BUILDLINK_DEPENDS.openssl+= openssl>=0.9.7b
+# constness is very different between openssl versions,
+# it seems, and 0.9.7i is the version which currently is
+# in pkgsrc and against which I fixed m2crypto to compile.
+# -- wiz 20060115
+BUILDLINK_DEPENDS.openssl+= openssl-0.9.7i
.include "../../lang/python/extension.mk"
-.include "../../devel/swig-build/buildlink3.mk"
+.include "../../devel/swig/buildlink3.mk"
.include "../../security/openssl/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
diff --git a/security/py-m2crypto/PLIST b/security/py-m2crypto/PLIST
index 1cf9707efef..95506d835fe 100644
--- a/security/py-m2crypto/PLIST
+++ b/security/py-m2crypto/PLIST
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.2 2003/09/14 16:43:55 recht Exp $
+@comment $NetBSD: PLIST,v 1.3 2006/01/14 23:07:26 wiz Exp $
${PYSITELIB}/M2Crypto/ASN1.py
${PYSITELIB}/M2Crypto/ASN1.pyc
${PYSITELIB}/M2Crypto/ASN1.pyo
@@ -87,6 +87,9 @@ ${PYSITELIB}/M2Crypto/__init__.py
${PYSITELIB}/M2Crypto/__init__.pyc
${PYSITELIB}/M2Crypto/__init__.pyo
${PYSITELIB}/M2Crypto/__m2crypto.so
+${PYSITELIB}/M2Crypto/_version.py
+${PYSITELIB}/M2Crypto/_version.pyc
+${PYSITELIB}/M2Crypto/_version.pyo
${PYSITELIB}/M2Crypto/callback.py
${PYSITELIB}/M2Crypto/callback.pyc
${PYSITELIB}/M2Crypto/callback.pyo
diff --git a/security/py-m2crypto/distinfo b/security/py-m2crypto/distinfo
index 8bdb68d8f34..fe1c7d83ac1 100644
--- a/security/py-m2crypto/distinfo
+++ b/security/py-m2crypto/distinfo
@@ -1,5 +1,11 @@
-$NetBSD: distinfo,v 1.3 2005/02/24 13:10:12 agc Exp $
+$NetBSD: distinfo,v 1.4 2006/01/14 23:07:26 wiz Exp $
-SHA1 (m2crypto-0.12.zip) = 33755f36d3d43d4c89281fcc57571eb99e275a3d
-RMD160 (m2crypto-0.12.zip) = c005e8b7e77651bbeb7d2df9267d0b2940ace0fb
-Size (m2crypto-0.12.zip) = 397229 bytes
+SHA1 (m2crypto-0.13.zip) = 53b722f6ca9a3661c42c18360b158f3e7ac5b5c2
+RMD160 (m2crypto-0.13.zip) = b2477dff6f49a80ab5508f18837009b4a634a0df
+Size (m2crypto-0.13.zip) = 410759 bytes
+SHA1 (0.13p1.patch) = e3a097459626f7f016d9f1e118776fa7c97d6328
+RMD160 (0.13p1.patch) = 3ed0aacb7f2d09208e9a6d70a69fbb96fe9c3ad0
+Size (0.13p1.patch) = 1645 bytes
+SHA1 (patch-aa) = bd3195f30548525ae8b3fa13010d39a63bb2abd7
+SHA1 (patch-ac) = ec2d96afcd36157babeb7baa5f5d1c7e2102a57d
+SHA1 (patch-ad) = d19867bfe01323772de76dbe0711d29c33505d2d
diff --git a/security/py-m2crypto/patches/patch-aa b/security/py-m2crypto/patches/patch-aa
new file mode 100644
index 00000000000..f4e2cdafdab
--- /dev/null
+++ b/security/py-m2crypto/patches/patch-aa
@@ -0,0 +1,61 @@
+$NetBSD: patch-aa,v 1.1 2006/01/14 23:07:26 wiz Exp $
+
+--- setup.py.orig 2004-03-28 11:06:59.000000000 +0000
++++ setup.py
+@@ -12,56 +12,6 @@ import os, shutil
+ from distutils.core import setup, Extension
+ from distutils.command import build_ext
+
+-# This copy of swig_sources is from Python 2.2.
+-
+-def swig_sources (self, sources):
+-
+- """Walk the list of source files in 'sources', looking for SWIG
+- interface (.i) files. Run SWIG on all that are found, and
+- return a modified 'sources' list with SWIG source files replaced
+- by the generated C (or C++) files.
+- """
+-
+- new_sources = []
+- swig_sources = []
+- swig_targets = {}
+-
+- # XXX this drops generated C/C++ files into the source tree, which
+- # is fine for developers who want to distribute the generated
+- # source -- but there should be an option to put SWIG output in
+- # the temp dir.
+-
+- if self.swig_cpp:
+- target_ext = '.cpp'
+- else:
+- target_ext = '.c'
+-
+- for source in sources:
+- (base, ext) = os.path.splitext(source)
+- if ext == ".i": # SWIG interface file
+- new_sources.append(base + target_ext)
+- swig_sources.append(source)
+- swig_targets[source] = new_sources[-1]
+- else:
+- new_sources.append(source)
+-
+- if not swig_sources:
+- return new_sources
+-
+- swig = self.find_swig()
+- swig_cmd = [swig, "-python", "-ISWIG"]
+- if self.swig_cpp:
+- swig_cmd.append("-c++")
+-
+- for source in swig_sources:
+- target = swig_targets[source]
+- self.announce("swigging %s to %s" % (source, target))
+- self.spawn(swig_cmd + ["-o", target, source])
+-
+- return new_sources
+-
+-build_ext.build_ext.swig_sources = swig_sources
+-
+ my_inc = os.path.join(os.getcwd(), 'SWIG')
+
+ if os.name == 'nt':
diff --git a/security/py-m2crypto/patches/patch-ac b/security/py-m2crypto/patches/patch-ac
new file mode 100644
index 00000000000..09c5c0d93c2
--- /dev/null
+++ b/security/py-m2crypto/patches/patch-ac
@@ -0,0 +1,74 @@
+$NetBSD: patch-ac,v 1.1 2006/01/14 23:07:26 wiz Exp $
+
+--- SWIG/_ssl.i.orig 2004-03-25 04:41:11.000000000 +0000
++++ SWIG/_ssl.i
+@@ -18,7 +18,7 @@
+ %apply Pointer NONNULL { RSA * };
+ %apply Pointer NONNULL { PyObject *pyfunc };
+
+-%name(ssl_get_error) extern int SSL_get_error(SSL *, int);
++%name(ssl_get_error) extern int SSL_get_error(const SSL *, int);
+ %name(ssl_get_state) extern const char *SSL_state_string(const SSL *);
+ %name(ssl_get_state_v) extern const char *SSL_state_string_long(const SSL *);
+ %name(ssl_get_alert_type) extern const char *SSL_alert_type_string(int);
+@@ -34,13 +34,13 @@
+ %name(ssl_ctx_new) extern SSL_CTX *SSL_CTX_new(SSL_METHOD *);
+ %name(ssl_ctx_free) extern void SSL_CTX_free(SSL_CTX *);
+ %name(ssl_ctx_set_verify_depth) extern void SSL_CTX_set_verify_depth(SSL_CTX *, int);
+-%name(ssl_ctx_get_verify_depth) extern int SSL_CTX_get_verify_depth(SSL_CTX *);
+-%name(ssl_ctx_get_verify_mode) extern int SSL_CTX_get_verify_mode(SSL_CTX *);
++%name(ssl_ctx_get_verify_depth) extern int SSL_CTX_get_verify_depth(const SSL_CTX *);
++%name(ssl_ctx_get_verify_mode) extern int SSL_CTX_get_verify_mode(const SSL_CTX *);
+ %name(ssl_ctx_set_cipher_list) extern int SSL_CTX_set_cipher_list(SSL_CTX *, const char *);
+ %name(ssl_ctx_add_session) extern int SSL_CTX_add_session(SSL_CTX *, SSL_SESSION *);
+ %name(ssl_ctx_remove_session) extern int SSL_CTX_remove_session(SSL_CTX *, SSL_SESSION *);
+ %name(ssl_ctx_set_session_timeout) extern long SSL_CTX_set_timeout(SSL_CTX *, long);
+-%name(ssl_ctx_get_session_timeout) extern long SSL_CTX_get_timeout(SSL_CTX *);
++%name(ssl_ctx_get_session_timeout) extern long SSL_CTX_get_timeout(const SSL_CTX *);
+
+ %name(bio_new_ssl) extern BIO *BIO_new_ssl(SSL_CTX *, int);
+
+@@ -54,29 +54,29 @@
+ %name(ssl_shutdown) extern int SSL_shutdown(SSL *);
+ %name(ssl_do_handshake) extern int SSL_do_handshake(SSL *);
+ %name(ssl_renegotiate) extern int SSL_renegotiate(SSL *);
+-%name(ssl_pending) extern int SSL_pending(SSL *);
++%name(ssl_pending) extern int SSL_pending(const SSL *);
+
+-%name(ssl_get_peer_cert) extern X509 *SSL_get_peer_certificate(SSL *);
+-%name(ssl_get_current_cipher) extern SSL_CIPHER *SSL_get_current_cipher(SSL *);
+-%name(ssl_get_verify_mode) extern int SSL_get_verify_mode(SSL *);
+-%name(ssl_get_verify_depth) extern int SSL_get_verify_depth(SSL *);
+-%name(ssl_get_verify_result) extern long SSL_get_verify_result(SSL *);
+-%name(ssl_get_ssl_ctx) extern SSL_CTX *SSL_get_SSL_CTX(SSL *);
+-%name(ssl_get_default_session_timeout) extern long SSL_get_default_timeout(SSL *);
++%name(ssl_get_peer_cert) extern X509 *SSL_get_peer_certificate(const SSL *);
++%name(ssl_get_current_cipher) extern SSL_CIPHER *SSL_get_current_cipher(const SSL *);
++%name(ssl_get_verify_mode) extern int SSL_get_verify_mode(const SSL *);
++%name(ssl_get_verify_depth) extern int SSL_get_verify_depth(const SSL *);
++%name(ssl_get_verify_result) extern long SSL_get_verify_result(const SSL *);
++%name(ssl_get_ssl_ctx) extern SSL_CTX *SSL_get_SSL_CTX(const SSL *);
++%name(ssl_get_default_session_timeout) extern long SSL_get_default_timeout(const SSL *);
+
+ %name(ssl_set_cipher_list) extern int SSL_set_cipher_list(SSL *, const char *);
+-%name(ssl_get_cipher_list) extern const char *SSL_get_cipher_list(SSL *, int);
++%name(ssl_get_cipher_list) extern const char *SSL_get_cipher_list(const SSL *, int);
+
+-%name(ssl_cipher_get_name) extern const char *SSL_CIPHER_get_name(SSL_CIPHER *);
+-%name(ssl_cipher_get_version) extern char *SSL_CIPHER_get_version(SSL_CIPHER *);
++%name(ssl_cipher_get_name) extern const char *SSL_CIPHER_get_name(const SSL_CIPHER *);
++%name(ssl_cipher_get_version) extern char *SSL_CIPHER_get_version(const SSL_CIPHER *);
+
+-%name(ssl_get_session) extern SSL_SESSION *SSL_get_session(SSL *);
++%name(ssl_get_session) extern SSL_SESSION *SSL_get_session(const SSL *);
+ %name(ssl_get1_session) extern SSL_SESSION *SSL_get1_session(SSL *);
+ %name(ssl_set_session) extern int SSL_set_session(SSL *, SSL_SESSION *);
+ %name(ssl_session_free) extern void SSL_SESSION_free(SSL_SESSION *);
+-%name(ssl_session_print) extern int SSL_SESSION_print(BIO *, SSL_SESSION *);
++%name(ssl_session_print) extern int SSL_SESSION_print(BIO *, const SSL_SESSION *);
+ %name(ssl_session_set_timeout) extern long SSL_SESSION_set_timeout(SSL_SESSION *, long);
+-%name(ssl_session_get_timeout) extern long SSL_SESSION_get_timeout(SSL_SESSION *);
++%name(ssl_session_get_timeout) extern long SSL_SESSION_get_timeout(const SSL_SESSION *);
+
+ %constant int ssl_error_none = SSL_ERROR_NONE;
+ %constant int ssl_error_ssl = SSL_ERROR_SSL;
diff --git a/security/py-m2crypto/patches/patch-ad b/security/py-m2crypto/patches/patch-ad
new file mode 100644
index 00000000000..026aa239dbe
--- /dev/null
+++ b/security/py-m2crypto/patches/patch-ad
@@ -0,0 +1,13 @@
+$NetBSD: patch-ad,v 1.1 2006/01/14 23:07:26 wiz Exp $
+
+--- SWIG/_x509.i.orig 2004-03-21 12:37:46.000000000 +0000
++++ SWIG/_x509.i
+@@ -43,7 +43,7 @@
+ %name(x509_name_entry_free) extern void X509_NAME_ENTRY_free( X509_NAME_ENTRY *);
+ %name(x509_name_entry_create_by_nid) extern X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_NID( X509_NAME_ENTRY **, int, int, unsigned char *, int);
+ %name(x509_name_entry_set_object) extern int X509_NAME_ENTRY_set_object( X509_NAME_ENTRY *, ASN1_OBJECT *);
+-%name(x509_name_entry_set_data) extern int X509_NAME_ENTRY_set_data( X509_NAME_ENTRY *, int, unsigned char *, int);
++%name(x509_name_entry_set_data) extern int X509_NAME_ENTRY_set_data( X509_NAME_ENTRY *, int, const unsigned char *, int);
+ %name(x509_name_entry_get_object) extern ASN1_OBJECT *X509_NAME_ENTRY_get_object(X509_NAME_ENTRY *);
+ %name(x509_name_entry_get_data) extern ASN1_STRING *X509_NAME_ENTRY_get_data(X509_NAME_ENTRY *);
+