diff options
Diffstat (limited to 'net-voip')
-rw-r--r-- | net-voip/Manifest.gz | bin | 1222 -> 1220 bytes | |||
-rw-r--r-- | net-voip/telepathy-gabble/Manifest | 2 | ||||
-rw-r--r-- | net-voip/telepathy-gabble/files/telepathy-gabble-0.18.4-openssl-1.1.patch | 223 | ||||
-rw-r--r-- | net-voip/telepathy-gabble/telepathy-gabble-0.18.4-r1.ebuild | 91 | ||||
-rw-r--r-- | net-voip/telepathy-salut/Manifest | 2 | ||||
-rw-r--r-- | net-voip/telepathy-salut/files/telepathy-salut-0.8.1-openssl-1.1.patch | 188 | ||||
-rw-r--r-- | net-voip/telepathy-salut/telepathy-salut-0.8.1-r2.ebuild | 81 |
7 files changed, 587 insertions, 0 deletions
diff --git a/net-voip/Manifest.gz b/net-voip/Manifest.gz Binary files differindex 94e67fe6e223..f6d45a625de3 100644 --- a/net-voip/Manifest.gz +++ b/net-voip/Manifest.gz diff --git a/net-voip/telepathy-gabble/Manifest b/net-voip/telepathy-gabble/Manifest index 0fd9f9aaddb5..beec6fde1b1f 100644 --- a/net-voip/telepathy-gabble/Manifest +++ b/net-voip/telepathy-gabble/Manifest @@ -1,4 +1,6 @@ AUX telepathy-gabble-0.18.4-build-fix-no-jingle.patch 774 BLAKE2B 3a861c8f32d0900003b7553f70144f261bf45f33dd2cfffb54d1a0bbc00a1f99961180d8f848d4e1cf70deee46e9a66fd56af6cc6196787fa4265bbd46034a35 SHA512 e1d2dc3b13ebfb24dab5c73ba9dd930f1ff61a443311dbfb3526a3474bfba96934b24e48c8b098216e8c205c4835143c891697c23b328a6541a72683d4864e11 +AUX telepathy-gabble-0.18.4-openssl-1.1.patch 8670 BLAKE2B 1d7f3133a67b4f17acbbbad0e1ba45421c9d3bbaa7bab4cdc1cffdadaff6a839b197f8b2167c5bb77fef80a68fea6c214fe0fb6b348c06a2a84a020d0d5f4cfe SHA512 f3d5f4aa15efe17a408888a51a5670e512cf3264261b1a11bada080b15ec131c42f222fe9fe9660717d32208988383a75214908adc6e364d4a8903b7ef0f3d2c DIST telepathy-gabble-0.18.4.tar.gz 2584311 BLAKE2B c1708be2ebe0b7dd06b53af1087c349e1a1f0b83dfffe463c72e31e459d2efd4db5bad7ade7a478bd4b91948aade822bfa6c13fe175863759cc98c44beca8178 SHA512 4303f1da7eeadf1f0e69fa881cd8b08dc41f4fd061df3f2ecdc80735d8be3e8cf24d8482f265f1858d8dfed71f62e8bc02c13f9525db8d21c9d927e25fa66218 +EBUILD telepathy-gabble-0.18.4-r1.ebuild 2491 BLAKE2B 4a5f761730f98427953dc928b9d110aaba20c8c58d59d0d772e51fecdf566a150b4ab0e0c73963265c53ce89fbc32bd23adee1218f995167b4651445cf21c54b SHA512 7ec2c69a7fb39a061248d29e1d935bb26114022a4ff2606eac3394e0c8af57c6b5106b91215868cc4a7a308a31da0efd7becb32f1868cbef17484949bbeb13d2 EBUILD telepathy-gabble-0.18.4.ebuild 2442 BLAKE2B 629b0a4ff9f1c428647ffe55c8aa5d7a7340ecad3c0c264bf4fa6c8d9ff33cea16928dd82c6fd5c6c59904580607b924ca9a992f1ee2c4d4d2711e4f28f8f43b SHA512 e7b35b34d3c2008f2268e788381354da358d7f36cb8fa523dcf84ca06a5f29f39a504ae456d1e7e56b5e166925d4f7c8ce8f56acd742e10e7a15280589f75cf8 MISC metadata.xml 314 BLAKE2B a60cf9d111fe68b5946ddc21003298134c31a442c103684cccc1c5b3034d13d3cedee78e8144f1ea1c499cfff62030861798b9397bbba0312ef9103243d90eb3 SHA512 ba54eb3b051b150337d298257eed95007ac3f27ac94850dd7c6b5d4a16014cc89ee08477e4e76e3220e003d6d3c705a7c71aeb9f80e4324df62218eb16e69297 diff --git a/net-voip/telepathy-gabble/files/telepathy-gabble-0.18.4-openssl-1.1.patch b/net-voip/telepathy-gabble/files/telepathy-gabble-0.18.4-openssl-1.1.patch new file mode 100644 index 000000000000..0e0d647b700c --- /dev/null +++ b/net-voip/telepathy-gabble/files/telepathy-gabble-0.18.4-openssl-1.1.patch @@ -0,0 +1,223 @@ +From 68e7fb2f17dd9348e586ef676d8138c4b849a1ce Mon Sep 17 00:00:00 2001 +From: Roel Aaij <roel.aaij@nikhef.nl> +Date: Fri, 26 Oct 2018 15:01:37 +0200 +Subject: [PATCH] openssl: fix build with openssl >= 1.1.0 + +--- + wocky/wocky-openssl-dh1024.c | 10 ++++++++++ + wocky/wocky-openssl-dh2048.c | 10 ++++++++++ + wocky/wocky-openssl-dh4096.c | 10 ++++++++++ + wocky/wocky-openssl-dh512.c | 10 ++++++++++ + wocky/wocky-openssl.c | 38 ++++++++++++++++++++++++++++++++---- + 5 files changed, 74 insertions(+), 4 deletions(-) + +diff --git a/lib/ext/wocky/wocky/wocky-openssl-dh1024.c b/lib/ext/wocky/wocky/wocky-openssl-dh1024.c +index b77fb4c..bb50523 100644 +--- a/lib/ext/wocky/wocky/wocky-openssl-dh1024.c ++++ b/lib/ext/wocky/wocky/wocky-openssl-dh1024.c +@@ -25,11 +25,21 @@ DH *get_dh1024(void) + 0x02, + }; + DH *dh; ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) ++ int r = 0; ++#endif + + if ((dh=DH_new()) == NULL) return(NULL); ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) ++ r = DH_set0_pqg(dh, BN_bin2bn(dh1024_p,sizeof(dh1024_p),NULL), ++ NULL, BN_bin2bn(dh1024_g,sizeof(dh1024_g),NULL)); ++ if (!r) ++ { DH_free(dh); return(NULL); } ++#else + dh->p=BN_bin2bn(dh1024_p,sizeof(dh1024_p),NULL); + dh->g=BN_bin2bn(dh1024_g,sizeof(dh1024_g),NULL); + if ((dh->p == NULL) || (dh->g == NULL)) + { DH_free(dh); return(NULL); } ++#endif + return(dh); + } +diff --git a/lib/ext/wocky/wocky/wocky-openssl-dh2048.c b/lib/ext/wocky/wocky/wocky-openssl-dh2048.c +index c16deb7..d53ceda 100644 +--- a/lib/ext/wocky/wocky/wocky-openssl-dh2048.c ++++ b/lib/ext/wocky/wocky/wocky-openssl-dh2048.c +@@ -36,11 +36,21 @@ DH *get_dh2048(void) + 0x02, + }; + DH *dh; ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) ++ int r = 0; ++#endif + + if ((dh=DH_new()) == NULL) return(NULL); ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) ++ r = DH_set0_pqg(dh, BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL), ++ NULL, BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL)); ++ if (!r) ++ { DH_free(dh); return(NULL); } ++#else + dh->p=BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL); + dh->g=BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL); + if ((dh->p == NULL) || (dh->g == NULL)) + { DH_free(dh); return(NULL); } ++#endif + return(dh); + } +diff --git a/lib/ext/wocky/wocky/wocky-openssl-dh4096.c b/lib/ext/wocky/wocky/wocky-openssl-dh4096.c +index 2854385..93fa7e5 100644 +--- a/lib/ext/wocky/wocky/wocky-openssl-dh4096.c ++++ b/lib/ext/wocky/wocky/wocky-openssl-dh4096.c +@@ -57,11 +57,21 @@ DH *get_dh4096(void) + 0x02, + }; + DH *dh; ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) ++ int r = 0; ++#endif + + if ((dh=DH_new()) == NULL) return(NULL); ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) ++ r = DH_set0_pqg(dh, BN_bin2bn(dh4096_p,sizeof(dh4096_p),NULL), ++ NULL, BN_bin2bn(dh4096_g,sizeof(dh4096_g),NULL)); ++ if (!r) ++ { DH_free(dh); return(NULL); } ++#else + dh->p=BN_bin2bn(dh4096_p,sizeof(dh4096_p),NULL); + dh->g=BN_bin2bn(dh4096_g,sizeof(dh4096_g),NULL); + if ((dh->p == NULL) || (dh->g == NULL)) + { DH_free(dh); return(NULL); } ++#endif + return(dh); + } +diff --git a/lib/ext/wocky/wocky/wocky-openssl-dh512.c b/lib/ext/wocky/wocky/wocky-openssl-dh512.c +index 8e7a278..c2891cd 100644 +--- a/lib/ext/wocky/wocky/wocky-openssl-dh512.c ++++ b/lib/ext/wocky/wocky/wocky-openssl-dh512.c +@@ -20,11 +20,21 @@ DH *get_dh512(void) + 0x02, + }; + DH *dh; ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) ++ int r = 0; ++#endif + + if ((dh=DH_new()) == NULL) return(NULL); ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) ++ r = DH_set0_pqg(dh, BN_bin2bn(dh512_p,sizeof(dh512_p),NULL), ++ NULL, BN_bin2bn(dh512_g,sizeof(dh512_g),NULL)); ++ if (!r) ++ { DH_free(dh); return(NULL); } ++#else + dh->p=BN_bin2bn(dh512_p,sizeof(dh512_p),NULL); + dh->g=BN_bin2bn(dh512_g,sizeof(dh512_g),NULL); + if ((dh->p == NULL) || (dh->g == NULL)) + { DH_free(dh); return(NULL); } ++#endif + return(dh); + } +diff --git a/lib/ext/wocky/wocky/wocky-openssl.c b/lib/ext/wocky/wocky/wocky-openssl.c +index 2201213..18f9981 100644 +--- a/lib/ext/wocky/wocky/wocky-openssl.c ++++ b/lib/ext/wocky/wocky/wocky-openssl.c +@@ -885,7 +885,11 @@ check_peer_name (const char *target, X509 *cert) + int i; + gboolean rval = FALSE; + X509_NAME *subject = X509_get_subject_name (cert); +- X509_CINF *ci = cert->cert_info; ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) ++ const STACK_OF(X509_EXTENSION)* extensions = X509_get0_extensions(cert); ++#else ++ const STACK_OF(X509_EXTENSION)* extensions = cert->cert_info->extensions; ++#endif + static const long nid[] = { NID_commonName, NID_subject_alt_name, NID_undef }; + + /* first, see if the x509 name contains the info we want: */ +@@ -906,16 +910,21 @@ check_peer_name (const char *target, X509 *cert) + * and extract the subject_alt_name from the x509 v3 extensions: if that * + * extension is present, and a string, use that. If it is present, and * + * a multi-value stack, trawl it for the "DNS" entry and use that */ +- if (!rval && (ci->extensions != NULL)) +- for (i = 0; i < sk_X509_EXTENSION_num(ci->extensions) && !rval; i++) ++ if (!rval && (extensions != NULL)) ++ for (i = 0; i < sk_X509_EXTENSION_num(extensions) && !rval; i++) + { +- X509_EXTENSION *ext = sk_X509_EXTENSION_value (ci->extensions, i); ++ X509_EXTENSION *ext = sk_X509_EXTENSION_value (extensions, i); + ASN1_OBJECT *obj = X509_EXTENSION_get_object (ext); + X509V3_EXT_METHOD *convert = NULL; + long ni = OBJ_obj2nid (obj); + const guchar *p; + char *value = NULL; ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) ++ const ASN1_OCTET_STRING* ext_value = X509_EXTENSION_get_data(ext); ++ int len = ASN1_STRING_length(ext_value); ++#else + int len = ext->value->length; ++#endif + void *ext_str = NULL; + + if (ni != NID_subject_alt_name) +@@ -927,7 +936,11 @@ check_peer_name (const char *target, X509 *cert) + if ((convert = (X509V3_EXT_METHOD *) X509V3_EXT_get (ext)) == NULL) + continue; + ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) ++ p = ASN1_STRING_get0_data(ext_value); ++#else + p = ext->value->data; ++#endif + ext_str = ((convert->it != NULL) ? + ASN1_item_d2i (NULL, &p, len, ASN1_ITEM_ptr(convert->it)) : + convert->d2i (NULL, &p, len) ); +@@ -1120,13 +1133,22 @@ _cert_status (WockyTLSSession *session, + X509_STORE *store = SSL_CTX_get_cert_store(session->ctx); + X509 *cert = SSL_get_peer_certificate (session->ssl); + STACK_OF(X509) *chain = SSL_get_peer_cert_chain (session->ssl); ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) ++ X509_VERIFY_PARAM* param = X509_STORE_get0_param(store); ++ long old_flags = X509_VERIFY_PARAM_get_flags(param); ++#else + long old_flags = store->param->flags; ++#endif + long new_flags = old_flags; + DEBUG("No CRL available, but not in strict mode - re-verifying"); + + new_flags &= ~(X509_V_FLAG_CRL_CHECK|X509_V_FLAG_CRL_CHECK_ALL); + ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) ++ X509_VERIFY_PARAM_set_flags(param, new_flags); ++#else + store->param->flags = new_flags; ++#endif + X509_STORE_CTX_init (xctx, store, cert, chain); + X509_STORE_CTX_set_flags (xctx, new_flags); + +@@ -1136,7 +1158,11 @@ _cert_status (WockyTLSSession *session, + status = _cert_status (session, new_code, level, ssl_code); + } + ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) ++ X509_VERIFY_PARAM_set_flags(param, old_flags); ++#else + store->param->flags = old_flags; ++#endif + X509_STORE_CTX_free (xctx); + X509_free (cert); + +@@ -1675,12 +1701,16 @@ wocky_tls_session_init (WockyTLSSession *session) + + if G_UNLIKELY (g_once_init_enter (&initialised)) + { ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) ++ DEBUG ("initialising SSL library and error strings"); ++#else + gint malloc_init_succeeded; + + DEBUG ("initialising SSL library and error strings"); + + malloc_init_succeeded = CRYPTO_malloc_init (); + g_warn_if_fail (malloc_init_succeeded); ++#endif + + SSL_library_init (); + SSL_load_error_strings (); diff --git a/net-voip/telepathy-gabble/telepathy-gabble-0.18.4-r1.ebuild b/net-voip/telepathy-gabble/telepathy-gabble-0.18.4-r1.ebuild new file mode 100644 index 000000000000..fee27c8404b3 --- /dev/null +++ b/net-voip/telepathy-gabble/telepathy-gabble-0.18.4-r1.ebuild @@ -0,0 +1,91 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +# Python is used during build for some scripted source files generation (and twisted tests) +PYTHON_COMPAT=( python2_7 ) + +inherit gnome2 python-any-r1 + +DESCRIPTION="A XMPP connection manager, handles single and multi user chats and voice calls" +HOMEPAGE="https://telepathy.freedesktop.org/" +SRC_URI="https://telepathy.freedesktop.org/releases/${PN}/${P}.tar.gz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-linux" +IUSE="gnutls +jingle libressl plugins test" + +# Prevent false positives due nested configure +QA_CONFIGURE_OPTIONS=".*" + +# FIXME: missing sasl-2 for tests ? (automagic) +# missing libiphb for wocky ? +# x11-libs/gtksourceview:3.0 needed by telepathy-gabble-xmpp-console, bug #495184 +# Keep in mind some deps or higher minimum versions are in ext/wocky/configure.ac +RDEPEND=" + >=dev-libs/glib-2.44:2 + >=sys-apps/dbus-1.1.0 + >=dev-libs/dbus-glib-0.82 + >=net-libs/telepathy-glib-0.19.9 + + dev-libs/libxml2 + dev-db/sqlite:3 + + gnutls? ( >=net-libs/gnutls-2.10.2 ) + !gnutls? ( + libressl? ( dev-libs/libressl:0= ) + !libressl? ( >=dev-libs/openssl-0.9.8g:0=[-bindist] ) + ) + jingle? ( + >=net-libs/libsoup-2.42 + >=net-libs/libnice-0.0.11 ) + plugins? ( x11-libs/gtksourceview:3.0[introspection] ) + + !<net-im/telepathy-mission-control-5.5.0 +" +DEPEND="${RDEPEND} + ${PYTHON_DEPS} + dev-util/glib-utils + >=dev-util/gtk-doc-am-1.17 + dev-libs/libxslt + virtual/pkgconfig +" +# Twisted tests fail if bad ipv6 setup, upstream bug #30565 +# Random twisted tests fail with org.freedesktop.DBus.Error.NoReply for some reason +# pygobject:2 is needed by twisted-17 for gtk2reactor usage by gabble +#test? ( +# dev-python/pygobject:2 +# || ( +# >=dev-python/twisted-16.0.0 +# ( >=dev-python/twisted-core-0.8.2 +# >=dev-python/twisted-words-0.8.2 +# >=dev-python/dbus-python-0.83 +# ) ) +#) + +PATCHES=( + "${FILESDIR}"/${P}-build-fix-no-jingle.patch # build with USE=-jingle, bug #523230 + "${FILESDIR}"/${P}-openssl-1.1.patch # bug #658902 +) + +pkg_setup() { + python-any-r1_pkg_setup +} + +src_configure() { + gnome2_src_configure \ + --disable-coding-style-checks \ + --disable-static \ + --disable-Werror \ + --enable-file-transfer \ + $(use_enable jingle voip) \ + $(use_enable jingle google-relay) \ + $(use_enable plugins) \ + --with-tls=$(usex gnutls gnutls openssl) +} + +src_test() { + # This runs only C tests (see tests/README): + emake -C tests check-TESTS +} diff --git a/net-voip/telepathy-salut/Manifest b/net-voip/telepathy-salut/Manifest index c69448aa4103..2e236fd55ff5 100644 --- a/net-voip/telepathy-salut/Manifest +++ b/net-voip/telepathy-salut/Manifest @@ -1,4 +1,6 @@ AUX telepathy-salut-0.5.0-uninitialized.patch 496 BLAKE2B f697051628069c6a8c6339ddee37133eab9b90b4f43553b501c611d02de4c63c14d3e4e15896987acd6d4b275a6416a777fbbfac962f90e1dd55c10872ff3939 SHA512 a6365b18b5c1f876c990ec4bbf522b2c8708ca73c201e9bac9447e3fc8d8979b3882c977e9393e34031ca2659b0519c841645280a03d11b4bac8e907db816ce9 +AUX telepathy-salut-0.8.1-openssl-1.1.patch 7190 BLAKE2B f66a7a22ac36889aceca1ddcf8ae85438a6ae380f99f1cc068f9df34b7b6763bd773d0669b36f2ab8fc9557ce4d6ef71abd5f011f542b040114b70a909b40a15 SHA512 fa105e35ce369a35e844d7886c22d7c17433db482d0e5ac6156139ae6474dd91045cda7490d460a26adbd35f370aa98ea9c4a5ebdc81d627c022616a9de9c138 DIST telepathy-salut-0.8.1.tar.gz 1823482 BLAKE2B 22f93d48cc749ed74ac1ee4103ea0bf5b1f93b2d14c95a4bd2edde977a5c43db5d5fe54dd246c561ee94f13b4030ab42c011f537a0e6688e8be3ac0aa0f1ca67 SHA512 34537ac9ce0b78015e184963ea79beaa7332ac11803f9683ff34577d9f0a14f7ed287aacb2c00059f2ff2f300c325a09a78a320e83d0a0031ad976da2c197a90 EBUILD telepathy-salut-0.8.1-r1.ebuild 1829 BLAKE2B 6434dc12ef7b7b193e5d246746e5d18f32c84d30fd73f4485d756cbee28ee52bddcf5431a52f632dd9097ff4f800a3f13e6daff60b41c82539c96b734b19aeaf SHA512 383b6c78ed67e26037f5d94d330c1b413929557c47746299ebaf5c22fc5dc3b46db82ae973f8a63d2b86da511a79ad556a5412c6546762b8942a5ff78428bc37 +EBUILD telepathy-salut-0.8.1-r2.ebuild 1967 BLAKE2B ee408703309d8788347b31ae4d9aa928b0f5a795f83b43685f6b1db76f30defbdb2d6570f6b0620c3051ee2336806cf6a939c54f15932419e782d2281e060e68 SHA512 6eedd656ca5aea45153b8500ae70dd4bcfa52c516e6108e6440c2fefc0fd90696d771d4acb32585a8ab849ef0cd27096c0451885edab83caa083c2bcf2b6b8e3 MISC metadata.xml 468 BLAKE2B d56336ab823a1c78eec90379dba336d33b3f0876dba77a95b3b2f8020a50903216c2ee90a77165b182b53d6c11d2a4b85a6f9acb8feff78cf6853ffd9178b612 SHA512 937c35bb0de62fd4a47e937123a16622806383ddc34e3ff1296791942a23fd81db4874c1b37cf2bbc69ece84ad37f9d36cebed328b55a633579712424eea2da0 diff --git a/net-voip/telepathy-salut/files/telepathy-salut-0.8.1-openssl-1.1.patch b/net-voip/telepathy-salut/files/telepathy-salut-0.8.1-openssl-1.1.patch new file mode 100644 index 000000000000..2f4c74e24202 --- /dev/null +++ b/net-voip/telepathy-salut/files/telepathy-salut-0.8.1-openssl-1.1.patch @@ -0,0 +1,188 @@ +From 68e7fb2f17dd9348e586ef676d8138c4b849a1ce Mon Sep 17 00:00:00 2001 +From: Roel Aaij <roel.aaij@nikhef.nl> +Date: Fri, 26 Oct 2018 15:01:37 +0200 +Subject: [PATCH] openssl: fix build with openssl >= 1.1.0 + +--- + wocky/wocky-openssl-dh1024.c | 10 ++++++++++ + wocky/wocky-openssl-dh2048.c | 10 ++++++++++ + wocky/wocky-openssl-dh4096.c | 10 ++++++++++ + wocky/wocky-openssl-dh512.c | 10 ++++++++++ + wocky/wocky-openssl.c | 38 ++++++++++++++++++++++++++++++++---- + 5 files changed, 74 insertions(+), 4 deletions(-) + +diff --git a/lib/ext/wocky/wocky/wocky-openssl-dh1024.c b/lib/ext/wocky/wocky/wocky-openssl-dh1024.c +index b77fb4c..bb50523 100644 +--- a/lib/ext/wocky/wocky/wocky-openssl-dh1024.c ++++ b/lib/ext/wocky/wocky/wocky-openssl-dh1024.c +@@ -25,11 +25,21 @@ DH *get_dh1024(void) + 0x02, + }; + DH *dh; ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) ++ int r = 0; ++#endif + + if ((dh=DH_new()) == NULL) return(NULL); ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) ++ r = DH_set0_pqg(dh, BN_bin2bn(dh1024_p,sizeof(dh1024_p),NULL), ++ NULL, BN_bin2bn(dh1024_g,sizeof(dh1024_g),NULL)); ++ if (!r) ++ { DH_free(dh); return(NULL); } ++#else + dh->p=BN_bin2bn(dh1024_p,sizeof(dh1024_p),NULL); + dh->g=BN_bin2bn(dh1024_g,sizeof(dh1024_g),NULL); + if ((dh->p == NULL) || (dh->g == NULL)) + { DH_free(dh); return(NULL); } ++#endif + return(dh); + } +diff --git a/lib/ext/wocky/wocky/wocky-openssl-dh2048.c b/lib/ext/wocky/wocky/wocky-openssl-dh2048.c +index c16deb7..d53ceda 100644 +--- a/lib/ext/wocky/wocky/wocky-openssl-dh2048.c ++++ b/lib/ext/wocky/wocky/wocky-openssl-dh2048.c +@@ -36,11 +36,21 @@ DH *get_dh2048(void) + 0x02, + }; + DH *dh; ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) ++ int r = 0; ++#endif + + if ((dh=DH_new()) == NULL) return(NULL); ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) ++ r = DH_set0_pqg(dh, BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL), ++ NULL, BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL)); ++ if (!r) ++ { DH_free(dh); return(NULL); } ++#else + dh->p=BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL); + dh->g=BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL); + if ((dh->p == NULL) || (dh->g == NULL)) + { DH_free(dh); return(NULL); } ++#endif + return(dh); + } +diff --git a/lib/ext/wocky/wocky/wocky-openssl-dh4096.c b/lib/ext/wocky/wocky/wocky-openssl-dh4096.c +index 2854385..93fa7e5 100644 +--- a/lib/ext/wocky/wocky/wocky-openssl-dh4096.c ++++ b/lib/ext/wocky/wocky/wocky-openssl-dh4096.c +@@ -57,11 +57,21 @@ DH *get_dh4096(void) + 0x02, + }; + DH *dh; ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) ++ int r = 0; ++#endif + + if ((dh=DH_new()) == NULL) return(NULL); ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) ++ r = DH_set0_pqg(dh, BN_bin2bn(dh4096_p,sizeof(dh4096_p),NULL), ++ NULL, BN_bin2bn(dh4096_g,sizeof(dh4096_g),NULL)); ++ if (!r) ++ { DH_free(dh); return(NULL); } ++#else + dh->p=BN_bin2bn(dh4096_p,sizeof(dh4096_p),NULL); + dh->g=BN_bin2bn(dh4096_g,sizeof(dh4096_g),NULL); + if ((dh->p == NULL) || (dh->g == NULL)) + { DH_free(dh); return(NULL); } ++#endif + return(dh); + } +diff --git a/lib/ext/wocky/wocky/wocky-openssl-dh512.c b/lib/ext/wocky/wocky/wocky-openssl-dh512.c +index 8e7a278..c2891cd 100644 +--- a/lib/ext/wocky/wocky/wocky-openssl-dh512.c ++++ b/lib/ext/wocky/wocky/wocky-openssl-dh512.c +@@ -20,11 +20,21 @@ DH *get_dh512(void) + 0x02, + }; + DH *dh; ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) ++ int r = 0; ++#endif + + if ((dh=DH_new()) == NULL) return(NULL); ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) ++ r = DH_set0_pqg(dh, BN_bin2bn(dh512_p,sizeof(dh512_p),NULL), ++ NULL, BN_bin2bn(dh512_g,sizeof(dh512_g),NULL)); ++ if (!r) ++ { DH_free(dh); return(NULL); } ++#else + dh->p=BN_bin2bn(dh512_p,sizeof(dh512_p),NULL); + dh->g=BN_bin2bn(dh512_g,sizeof(dh512_g),NULL); + if ((dh->p == NULL) || (dh->g == NULL)) + { DH_free(dh); return(NULL); } ++#endif + return(dh); + } +diff --git a/lib/ext/wocky/wocky/wocky-openssl.c b/lib/ext/wocky/wocky/wocky-openssl.c +index 2201213..18f9981 100644 +--- a/lib/ext/wocky/wocky/wocky-openssl.c ++++ b/lib/ext/wocky/wocky/wocky-openssl.c +@@ -885,7 +885,11 @@ check_peer_name (const char *target, X509 *cert) + int i; + gboolean rval = FALSE; + X509_NAME *subject = X509_get_subject_name (cert); +- X509_CINF *ci = cert->cert_info; ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) ++ const STACK_OF(X509_EXTENSION)* extensions = X509_get0_extensions(cert); ++#else ++ const STACK_OF(X509_EXTENSION)* extensions = cert->cert_info->extensions; ++#endif + static const long nid[] = { NID_commonName, NID_subject_alt_name, NID_undef }; + + /* first, see if the x509 name contains the info we want: */ +@@ -906,16 +910,21 @@ check_peer_name (const char *target, X509 *cert) + * and extract the subject_alt_name from the x509 v3 extensions: if that * + * extension is present, and a string, use that. If it is present, and * + * a multi-value stack, trawl it for the "DNS" entry and use that */ +- if (!rval && (ci->extensions != NULL)) +- for (i = 0; i < sk_X509_EXTENSION_num(ci->extensions) && !rval; i++) ++ if (!rval && (extensions != NULL)) ++ for (i = 0; i < sk_X509_EXTENSION_num(extensions) && !rval; i++) + { +- X509_EXTENSION *ext = sk_X509_EXTENSION_value (ci->extensions, i); ++ X509_EXTENSION *ext = sk_X509_EXTENSION_value (extensions, i); + ASN1_OBJECT *obj = X509_EXTENSION_get_object (ext); + X509V3_EXT_METHOD *convert = NULL; + long ni = OBJ_obj2nid (obj); + const guchar *p; + char *value = NULL; ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) ++ const ASN1_OCTET_STRING* ext_value = X509_EXTENSION_get_data(ext); ++ int len = ASN1_STRING_length(ext_value); ++#else + int len = ext->value->length; ++#endif + void *ext_str = NULL; + + if (ni != NID_subject_alt_name) +@@ -927,7 +936,11 @@ check_peer_name (const char *target, X509 *cert) + if ((convert = (X509V3_EXT_METHOD *) X509V3_EXT_get (ext)) == NULL) + continue; + ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) ++ p = ASN1_STRING_get0_data(ext_value); ++#else + p = ext->value->data; ++#endif + ext_str = ((convert->it != NULL) ? + ASN1_item_d2i (NULL, &p, len, ASN1_ITEM_ptr(convert->it)) : + convert->d2i (NULL, &p, len) ); +@@ -1675,12 +1701,16 @@ wocky_tls_session_init (WockyTLSSession *session) + + if G_UNLIKELY (g_once_init_enter (&initialised)) + { ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) ++ DEBUG ("initialising SSL library and error strings"); ++#else + gint malloc_init_succeeded; + + DEBUG ("initialising SSL library and error strings"); + + malloc_init_succeeded = CRYPTO_malloc_init (); + g_warn_if_fail (malloc_init_succeeded); ++#endif + + SSL_library_init (); + SSL_load_error_strings (); diff --git a/net-voip/telepathy-salut/telepathy-salut-0.8.1-r2.ebuild b/net-voip/telepathy-salut/telepathy-salut-0.8.1-r2.ebuild new file mode 100644 index 000000000000..21535ca1b82e --- /dev/null +++ b/net-voip/telepathy-salut/telepathy-salut-0.8.1-r2.ebuild @@ -0,0 +1,81 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 ) +inherit python-any-r1 + +DESCRIPTION="A link-local XMPP connection manager for Telepathy" +HOMEPAGE="https://telepathy.freedesktop.org/" +SRC_URI="https://telepathy.freedesktop.org/releases/${PN}/${P}.tar.gz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-linux" +IUSE="gnutls test" + +RDEPEND=" + >=dev-libs/dbus-glib-0.61 + dev-libs/libxml2 + >=dev-libs/glib-2.28:2 + >=sys-apps/dbus-1.1.0 + >=net-libs/telepathy-glib-0.17.1 + >=net-dns/avahi-0.6.22[dbus] + net-libs/libsoup:2.4 + sys-apps/util-linux + dev-db/sqlite:3 + gnutls? ( >=net-libs/gnutls-2.10.2 ) + !gnutls? ( >=dev-libs/openssl-0.9.8g:0[-bindist] ) +" +DEPEND="${RDEPEND} + ${PYTHON_DEPS} + dev-libs/libxslt + virtual/pkgconfig + test? ( + >=dev-libs/check-0.9.4 + net-libs/libgsasl + || ( + $(python_gen_any_dep 'dev-python/twisted[${PYTHON_USEDEP}]') + $(python_gen_any_dep 'dev-python/twisted-words[${PYTHON_USEDEP}]') + ) + ) +" +# FIXME: needs xmppstream python module +# >=net-dns/avahi-0.6.22[python] + +PATCHES=( + "${FILESDIR}"/${PN}-0.5.0-uninitialized.patch # upstream bug #37701 + "${FILESDIR}"/${P}-openssl-1.1.patch # bug #663994 +) + +python_check_deps() { + if use test ; then + has_version "dev-python/twisted[${PYTHON_USEDEP}]" \ + || has_version "dev-python/twisted-words[${PYTHON_USEDEP}]" + fi +} + +pkg_setup() { + python-any-r1_pkg_setup +} + +src_configure() { + econf \ + --disable-coding-style-checks \ + --disable-plugins \ + --disable-Werror \ + --disable-static \ + --disable-avahi-tests \ + --docdir=/usr/share/doc/${PF} \ + --with-tls=$(usex gnutls gnutls openssl) + #$(use_enable test avahi-tests) + + # false positives according to bug #413581: + # unrecognized options: --disable-plugins, --disable-avahi-tests +} + +src_install() { + MAKEOPTS+=" -j1" default # bug 413581 + find "${D}" -name '*.la' -delete || die +} |