summaryrefslogtreecommitdiff
path: root/community/python2-gnutls
diff options
context:
space:
mode:
Diffstat (limited to 'community/python2-gnutls')
-rw-r--r--community/python2-gnutls/PKGBUILD23
-rw-r--r--community/python2-gnutls/gnutls3.patch271
2 files changed, 294 insertions, 0 deletions
diff --git a/community/python2-gnutls/PKGBUILD b/community/python2-gnutls/PKGBUILD
new file mode 100644
index 000000000..3a7c86a04
--- /dev/null
+++ b/community/python2-gnutls/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: PKGBUILD 74655 2012-08-01 13:54:20Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Hugo Doria <hugo@archlinux.org>
+# Contributor: N3RD3X <n3rd3x@linuxmail.org>
+
+pkgname=python2-gnutls
+pkgver=1.2.4
+pkgrel=2
+pkgdesc="Python wrapper for the GNUTLS library"
+arch=('i686' 'x86_64')
+url="http://cheeseshop.python.org/pypi/python-gnutls"
+depends=('python2' 'gnutls')
+license=('LGPL')
+source=(http://pypi.python.org/packages/source/p/python-gnutls/python-gnutls-${pkgver}.tar.gz
+ gnutls3.patch)
+md5sums=('e3536c421291a791869d875a41dcb26a'
+ '24bc95d9f5e71e9f5e180706cbb09248')
+
+build() {
+ cd ${srcdir}/python-gnutls-${pkgver}
+ patch -Np0 <$srcdir/gnutls3.patch
+ python2 setup.py install --root=${pkgdir}
+}
diff --git a/community/python2-gnutls/gnutls3.patch b/community/python2-gnutls/gnutls3.patch
new file mode 100644
index 000000000..5110de2f2
--- /dev/null
+++ b/community/python2-gnutls/gnutls3.patch
@@ -0,0 +1,271 @@
+diff -ru gnutls/library/functions.py gnutls.fixed/library/functions.py
+--- gnutls/library/functions.py 2011-08-19 04:48:14.000000000 +0100
++++ gnutls.fixed/library/functions.py 2012-08-01 11:56:43.450975419 +0100
+@@ -4,7 +4,7 @@
+ import sys
+ from ctypes import *
+
+-from gnutls.library import libgnutls, libgnutls_extra
++from gnutls.library import libgnutls
+ from gnutls.library.types import *
+
+
+@@ -121,14 +121,6 @@
+ gnutls_certificate_get_peers.argtypes = [gnutls_session_t, POINTER(c_uint)]
+ gnutls_certificate_get_peers.restype = POINTER(gnutls_datum_t)
+
+-gnutls_certificate_get_x509_cas = libgnutls.gnutls_certificate_get_x509_cas
+-gnutls_certificate_get_x509_cas.argtypes = [gnutls_certificate_credentials_t, POINTER(POINTER(gnutls_x509_crt_t)), POINTER(c_uint)]
+-gnutls_certificate_get_x509_cas.restype = None
+-
+-gnutls_certificate_get_x509_crls = libgnutls.gnutls_certificate_get_x509_crls
+-gnutls_certificate_get_x509_crls.argtypes = [gnutls_certificate_credentials_t, POINTER(POINTER(gnutls_x509_crl_t)), POINTER(c_uint)]
+-gnutls_certificate_get_x509_crls.restype = None
+-
+ gnutls_certificate_send_x509_rdn_sequence = libgnutls.gnutls_certificate_send_x509_rdn_sequence
+ gnutls_certificate_send_x509_rdn_sequence.argtypes = [gnutls_session_t, c_int]
+ gnutls_certificate_send_x509_rdn_sequence.restype = None
+@@ -221,10 +213,6 @@
+ gnutls_certificate_type_set_priority.argtypes = [gnutls_session_t, POINTER(c_int)]
+ gnutls_certificate_type_set_priority.restype = c_int
+
+-gnutls_certificate_verify_peers = libgnutls.gnutls_certificate_verify_peers
+-gnutls_certificate_verify_peers.argtypes = [gnutls_session_t]
+-gnutls_certificate_verify_peers.restype = c_int
+-
+ gnutls_certificate_verify_peers2 = libgnutls.gnutls_certificate_verify_peers2
+ gnutls_certificate_verify_peers2.argtypes = [gnutls_session_t, POINTER(c_uint)]
+ gnutls_certificate_verify_peers2.restype = c_int
+@@ -393,10 +381,6 @@
+ gnutls_error_to_alert.argtypes = [c_int, POINTER(c_int)]
+ gnutls_error_to_alert.restype = c_int
+
+-gnutls_extra_check_version = libgnutls_extra.gnutls_extra_check_version
+-gnutls_extra_check_version.argtypes = [c_char_p]
+-gnutls_extra_check_version.restype = c_char_p
+-
+ gnutls_fingerprint = libgnutls.gnutls_fingerprint
+ gnutls_fingerprint.argtypes = [gnutls_digest_algorithm_t, POINTER(gnutls_datum_t), c_void_p, POINTER(size_t)]
+ gnutls_fingerprint.restype = c_int
+@@ -409,10 +393,6 @@
+ gnutls_global_init.argtypes = []
+ gnutls_global_init.restype = c_int
+
+-gnutls_global_init_extra = libgnutls_extra.gnutls_global_init_extra
+-gnutls_global_init_extra.argtypes = []
+-gnutls_global_init_extra.restype = c_int
+-
+ gnutls_global_set_log_function = libgnutls.gnutls_global_set_log_function
+ gnutls_global_set_log_function.argtypes = [gnutls_log_func]
+ gnutls_global_set_log_function.restype = None
+@@ -461,86 +441,6 @@
+ gnutls_hex_encode.argtypes = [POINTER(gnutls_datum_t), c_char_p, POINTER(size_t)]
+ gnutls_hex_encode.restype = c_int
+
+-gnutls_ia_allocate_client_credentials = libgnutls_extra.gnutls_ia_allocate_client_credentials
+-gnutls_ia_allocate_client_credentials.argtypes = [POINTER(gnutls_ia_client_credentials_t)]
+-gnutls_ia_allocate_client_credentials.restype = c_int
+-
+-gnutls_ia_allocate_server_credentials = libgnutls_extra.gnutls_ia_allocate_server_credentials
+-gnutls_ia_allocate_server_credentials.argtypes = [POINTER(gnutls_ia_server_credentials_t)]
+-gnutls_ia_allocate_server_credentials.restype = c_int
+-
+-gnutls_ia_enable = libgnutls_extra.gnutls_ia_enable
+-gnutls_ia_enable.argtypes = [gnutls_session_t, c_int]
+-gnutls_ia_enable.restype = None
+-
+-gnutls_ia_endphase_send = libgnutls_extra.gnutls_ia_endphase_send
+-gnutls_ia_endphase_send.argtypes = [gnutls_session_t, c_int]
+-gnutls_ia_endphase_send.restype = c_int
+-
+-gnutls_ia_extract_inner_secret = libgnutls_extra.gnutls_ia_extract_inner_secret
+-gnutls_ia_extract_inner_secret.argtypes = [gnutls_session_t, c_char_p]
+-gnutls_ia_extract_inner_secret.restype = None
+-
+-gnutls_ia_free_client_credentials = libgnutls_extra.gnutls_ia_free_client_credentials
+-gnutls_ia_free_client_credentials.argtypes = [gnutls_ia_client_credentials_t]
+-gnutls_ia_free_client_credentials.restype = None
+-
+-gnutls_ia_free_server_credentials = libgnutls_extra.gnutls_ia_free_server_credentials
+-gnutls_ia_free_server_credentials.argtypes = [gnutls_ia_server_credentials_t]
+-gnutls_ia_free_server_credentials.restype = None
+-
+-gnutls_ia_generate_challenge = libgnutls_extra.gnutls_ia_generate_challenge
+-gnutls_ia_generate_challenge.argtypes = [gnutls_session_t, size_t, c_char_p]
+-gnutls_ia_generate_challenge.restype = c_int
+-
+-gnutls_ia_get_client_avp_ptr = libgnutls_extra.gnutls_ia_get_client_avp_ptr
+-gnutls_ia_get_client_avp_ptr.argtypes = [gnutls_ia_client_credentials_t]
+-gnutls_ia_get_client_avp_ptr.restype = c_void_p
+-
+-gnutls_ia_get_server_avp_ptr = libgnutls_extra.gnutls_ia_get_server_avp_ptr
+-gnutls_ia_get_server_avp_ptr.argtypes = [gnutls_ia_server_credentials_t]
+-gnutls_ia_get_server_avp_ptr.restype = c_void_p
+-
+-gnutls_ia_handshake = libgnutls_extra.gnutls_ia_handshake
+-gnutls_ia_handshake.argtypes = [gnutls_session_t]
+-gnutls_ia_handshake.restype = c_int
+-
+-gnutls_ia_handshake_p = libgnutls_extra.gnutls_ia_handshake_p
+-gnutls_ia_handshake_p.argtypes = [gnutls_session_t]
+-gnutls_ia_handshake_p.restype = c_int
+-
+-gnutls_ia_permute_inner_secret = libgnutls_extra.gnutls_ia_permute_inner_secret
+-gnutls_ia_permute_inner_secret.argtypes = [gnutls_session_t, size_t, c_char_p]
+-gnutls_ia_permute_inner_secret.restype = c_int
+-
+-gnutls_ia_recv = libgnutls_extra.gnutls_ia_recv
+-gnutls_ia_recv.argtypes = [gnutls_session_t, c_char_p, size_t]
+-gnutls_ia_recv.restype = ssize_t
+-
+-gnutls_ia_send = libgnutls_extra.gnutls_ia_send
+-gnutls_ia_send.argtypes = [gnutls_session_t, c_char_p, size_t]
+-gnutls_ia_send.restype = ssize_t
+-
+-gnutls_ia_set_client_avp_function = libgnutls_extra.gnutls_ia_set_client_avp_function
+-gnutls_ia_set_client_avp_function.argtypes = [gnutls_ia_client_credentials_t, gnutls_ia_avp_func]
+-gnutls_ia_set_client_avp_function.restype = None
+-
+-gnutls_ia_set_client_avp_ptr = libgnutls_extra.gnutls_ia_set_client_avp_ptr
+-gnutls_ia_set_client_avp_ptr.argtypes = [gnutls_ia_client_credentials_t, c_void_p]
+-gnutls_ia_set_client_avp_ptr.restype = None
+-
+-gnutls_ia_set_server_avp_function = libgnutls_extra.gnutls_ia_set_server_avp_function
+-gnutls_ia_set_server_avp_function.argtypes = [gnutls_ia_server_credentials_t, gnutls_ia_avp_func]
+-gnutls_ia_set_server_avp_function.restype = None
+-
+-gnutls_ia_set_server_avp_ptr = libgnutls_extra.gnutls_ia_set_server_avp_ptr
+-gnutls_ia_set_server_avp_ptr.argtypes = [gnutls_ia_server_credentials_t, c_void_p]
+-gnutls_ia_set_server_avp_ptr.restype = None
+-
+-gnutls_ia_verify_endphase = libgnutls_extra.gnutls_ia_verify_endphase
+-gnutls_ia_verify_endphase.argtypes = [gnutls_session_t, c_char_p]
+-gnutls_ia_verify_endphase.restype = c_int
+-
+ gnutls_init = libgnutls.gnutls_init
+ gnutls_init.argtypes = [POINTER(gnutls_session_t), gnutls_connection_end_t]
+ gnutls_init.restype = c_int
+@@ -733,10 +633,6 @@
+ gnutls_psk_free_server_credentials.argtypes = [gnutls_psk_server_credentials_t]
+ gnutls_psk_free_server_credentials.restype = None
+
+-gnutls_psk_netconf_derive_key = libgnutls.gnutls_psk_netconf_derive_key
+-gnutls_psk_netconf_derive_key.argtypes = [c_char_p, c_char_p, c_char_p, POINTER(gnutls_datum_t)]
+-gnutls_psk_netconf_derive_key.restype = c_int
+-
+ gnutls_psk_server_get_username = libgnutls.gnutls_psk_server_get_username
+ gnutls_psk_server_get_username.argtypes = [gnutls_session_t]
+ gnutls_psk_server_get_username.restype = c_char_p
+@@ -857,10 +753,6 @@
+ gnutls_session_enable_compatibility_mode.argtypes = [gnutls_session_t]
+ gnutls_session_enable_compatibility_mode.restype = None
+
+-gnutls_session_get_client_random = libgnutls.gnutls_session_get_client_random
+-gnutls_session_get_client_random.argtypes = [gnutls_session_t]
+-gnutls_session_get_client_random.restype = c_void_p
+-
+ gnutls_session_get_data = libgnutls.gnutls_session_get_data
+ gnutls_session_get_data.argtypes = [gnutls_session_t, c_void_p, POINTER(size_t)]
+ gnutls_session_get_data.restype = c_int
+@@ -873,18 +765,10 @@
+ gnutls_session_get_id.argtypes = [gnutls_session_t, c_void_p, POINTER(size_t)]
+ gnutls_session_get_id.restype = c_int
+
+-gnutls_session_get_master_secret = libgnutls.gnutls_session_get_master_secret
+-gnutls_session_get_master_secret.argtypes = [gnutls_session_t]
+-gnutls_session_get_master_secret.restype = c_void_p
+-
+ gnutls_session_get_ptr = libgnutls.gnutls_session_get_ptr
+ gnutls_session_get_ptr.argtypes = [gnutls_session_t]
+ gnutls_session_get_ptr.restype = c_void_p
+
+-gnutls_session_get_server_random = libgnutls.gnutls_session_get_server_random
+-gnutls_session_get_server_random.argtypes = [gnutls_session_t]
+-gnutls_session_get_server_random.restype = c_void_p
+-
+ gnutls_session_is_resumed = libgnutls.gnutls_session_is_resumed
+ gnutls_session_is_resumed.argtypes = [gnutls_session_t]
+ gnutls_session_is_resumed.restype = c_int
+@@ -905,10 +789,6 @@
+ gnutls_set_default_priority.argtypes = [gnutls_session_t]
+ gnutls_set_default_priority.restype = c_int
+
+-gnutls_sign_algorithm_get_name = libgnutls.gnutls_sign_algorithm_get_name
+-gnutls_sign_algorithm_get_name.argtypes = [gnutls_sign_algorithm_t]
+-gnutls_sign_algorithm_get_name.restype = c_char_p
+-
+ gnutls_sign_callback_get = libgnutls.gnutls_sign_callback_get
+ gnutls_sign_callback_get.argtypes = [gnutls_session_t, POINTER(c_void_p)]
+ gnutls_sign_callback_get.restype = gnutls_sign_func
+@@ -937,14 +817,6 @@
+ gnutls_transport_set_errno.argtypes = [gnutls_session_t, c_int]
+ gnutls_transport_set_errno.restype = None
+
+-gnutls_transport_set_global_errno = libgnutls.gnutls_transport_set_global_errno
+-gnutls_transport_set_global_errno.argtypes = [c_int]
+-gnutls_transport_set_global_errno.restype = None
+-
+-gnutls_transport_set_lowat = libgnutls.gnutls_transport_set_lowat
+-gnutls_transport_set_lowat.argtypes = [gnutls_session_t, c_int]
+-gnutls_transport_set_lowat.restype = None
+-
+ gnutls_transport_set_ptr = libgnutls.gnutls_transport_set_ptr
+ gnutls_transport_set_ptr.argtypes = [gnutls_session_t, gnutls_transport_ptr_t]
+ gnutls_transport_set_ptr.restype = None
+@@ -1501,10 +1373,6 @@
+ gnutls_x509_privkey_sign_hash.argtypes = [gnutls_x509_privkey_t, POINTER(gnutls_datum_t), POINTER(gnutls_datum_t)]
+ gnutls_x509_privkey_sign_hash.restype = c_int
+
+-gnutls_x509_privkey_verify_data = libgnutls.gnutls_x509_privkey_verify_data
+-gnutls_x509_privkey_verify_data.argtypes = [gnutls_x509_privkey_t, c_uint, POINTER(gnutls_datum_t), POINTER(gnutls_datum_t)]
+-gnutls_x509_privkey_verify_data.restype = c_int
+-
+ gnutls_x509_rdn_get = libgnutls.gnutls_x509_rdn_get
+ gnutls_x509_rdn_get.argtypes = [POINTER(gnutls_datum_t), c_char_p, POINTER(size_t)]
+ gnutls_x509_rdn_get.restype = c_int
+diff -ru gnutls/library/__init__.py gnutls.fixed/library/__init__.py
+--- gnutls/library/__init__.py 2011-11-11 17:23:49.000000000 +0000
++++ gnutls.fixed/library/__init__.py 2012-08-01 11:57:42.284290997 +0100
+@@ -53,6 +53,9 @@
+ else:
+ raise RuntimeError('cannot find lib%s on this system' % name)
+
++def do_nothing(*args, **kwargs):
++ pass
++
+
+ def initialize_gcrypt():
+ from ctypes import c_void_p
+@@ -104,7 +107,7 @@
+ libgcrypt = load_library(name='gcrypt', version=11)
+ gcry_control = libgcrypt.gcry_control
+ else:
+- gcry_control = libgnutls.gcry_control
++ gcry_control = do_nothing
+
+ gcry_control(GCRYCTL_SET_THREAD_CBS, c_void_p(gcrypt_thread_callbacks_ptr))
+ if system == 'cygwin':
+@@ -117,12 +120,10 @@
+
+
+
+-libgnutls = load_library(name='gnutls', version=26)
+-libgnutls_extra = load_library(name='gnutls-extra', version=26)
++libgnutls = load_library(name='gnutls', version=28)
+
+ initialize_gcrypt()
+ libgnutls.gnutls_global_init()
+-libgnutls_extra.gnutls_global_init_extra()
+
+
+ from gnutls.library import constants
+@@ -136,9 +137,6 @@
+ if functions.gnutls_check_version(__need_version__) is None:
+ version = functions.gnutls_check_version(None)
+ raise RuntimeError("Found GNUTLS library version %s, but at least version %s is required" % (version, __need_version__))
+-if functions.gnutls_extra_check_version(__need_version__) is None:
+- version = functions.gnutls_extra_check_version(None)
+- raise RuntimeError("Found GNUTLS extra library version %s, but at least version %s is required" % (version, __need_version__))
+
+
+ del get_system_name, library_locations, load_library, initialize_gcrypt