summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Vershilov <qnikst@gentoo.org>2012-11-28 11:17:14 +0000
committerAlexander Vershilov <qnikst@gentoo.org>2012-11-28 11:17:14 +0000
commitefbf669a25e552250d17a6952ca0756f4c928ade (patch)
tree60ceeb0213e416b8535ea57e2c6228490d7c130a /net-libs/neon
parentversion bump (diff)
downloadhistorical-efbf669a25e552250d17a6952ca0756f4c928ade.tar.gz
historical-efbf669a25e552250d17a6952ca0756f4c928ade.tar.bz2
historical-efbf669a25e552250d17a6952ca0756f4c928ade.zip
backporting patches for gnutls (#440936)
Package-Manager: portage-2.2.0_alpha142/cvs/Linux x86_64
Diffstat (limited to 'net-libs/neon')
-rw-r--r--net-libs/neon/ChangeLog8
-rw-r--r--net-libs/neon/Manifest4
-rw-r--r--net-libs/neon/files/neon-0.29.6-gnutls-3-backport.patch96
-rw-r--r--net-libs/neon/neon-0.29.6-r2.ebuild103
4 files changed, 209 insertions, 2 deletions
diff --git a/net-libs/neon/ChangeLog b/net-libs/neon/ChangeLog
index 2e1331d266d4..9991f3d44b6a 100644
--- a/net-libs/neon/ChangeLog
+++ b/net-libs/neon/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for net-libs/neon
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-libs/neon/ChangeLog,v 1.45 2012/11/01 15:52:27 qnikst Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-libs/neon/ChangeLog,v 1.46 2012/11/28 11:17:14 qnikst Exp $
+
+*neon-0.29.6-r2 (28 Nov 2012)
+
+ 28 Nov 2012; Alexander Vershilov <qnikst@gentoo.org>
+ +files/neon-0.29.6-gnutls-3-backport.patch, +neon-0.29.6-r2.ebuild:
+ backporting patches for gnutls (#440936)
01 Nov 2012; Alexander Vershilov <qnikst@gentoo.org>
+files/neon-0.29.6-gnutls-3-functions.patch,
diff --git a/net-libs/neon/Manifest b/net-libs/neon/Manifest
index e637995f5f1f..4855504e3f0b 100644
--- a/net-libs/neon/Manifest
+++ b/net-libs/neon/Manifest
@@ -1,7 +1,9 @@
+AUX neon-0.29.6-gnutls-3-backport.patch 2830 SHA256 b1ff6b7bd5a0b48109c82e5968a63241c7eb4235a93e0a1b2a7bf8e6e5a5d515 SHA512 46fe323e34294a1b0102edc4422d8037a4aa16a2ed0b3a445086d9e8a8091fc695eb736d847c30f7bb41df57a6a77b998c822dbb628b828d9532783c4b6d87b2 WHIRLPOOL 2c3ccfe8816f7a9bd7c03fe648784466e9e0c5b6aae68f7fc9b7cfeb84d1b1be2b2a982950806811e691e4f2963c054d6043eea083bffbc94c3bf28e2d15fe41
AUX neon-0.29.6-gnutls-3-functions.patch 4867 SHA256 3d1e50fe2fc79e92e42acbab179a41e9c1c0f96d6f72c19a9f650eebc1f1bd11 SHA512 d278085db6d0d75db67881bedc11c323317a28e70a0f474a5c4d29f1b0d96f4cef2a59d4af1dbfed175e496b091f3dbb9f604d67a45d11638bc1a597729b8e73 WHIRLPOOL 78e40d87f6ad1f0754b566a43700e50934e954f460b6b4c5f704ca7da67af123018b0eb8939a4ff3ab421d937a2007089408be07fb6a995c8946269850ca0db3
AUX neon-0.29.6-gnutls-3-types.patch 1996 SHA256 1a2aabc6183abe942d5cf547a6f3dd2f28ba98b3e709f718527ba0d9c6969ae3 SHA512 7a139c36329f1125007184da4c50dbe50747486336835e67601033be82ed8ad0838d7af05f9737c8849c76cad0ec4494fffb8390062c268ae747a41a7ac7773d WHIRLPOOL b1432084f5726cfa8460876d99742366238e5d063b86088793d4d80945cd6b6a913a682c05204cab13bfffeabeaff81a9b0e552961811c4d07610a339c28cfa5
AUX neon-0.29.6-no-ssl-check.patch 834 SHA256 4377b91e901c61feb9ddecc0160cda6717fe24d6caeac8c912ec19a71565bd0e SHA512 36577a6da214e0b354ab646ec678b58d30a56680d8dad1a325025f844b487c58768778da4ac9f6e86e327f5b849c0cc538824672aff5eb611adb11631f03f4f5 WHIRLPOOL 973a2de0606ec2749d174b4dfb1e9ae615c4d3941d6e065e9c3c6df820d64245a8b239166770e187a3d7bac2e0d046edf27bfe938441f4c5e0a43c3aa30a4691
DIST neon-0.29.6.tar.gz 882267 SHA256 9c640b728d6dc80ef1e48f83181166ab6bc95309cece5537e01ffdd01b96eb43 SHA512 26424f30936170a28fdb0188e10985c2b0e1e4266c4c1832384a02b69828741eb1370015646656f979cc74f2fd6a092d0d32bca401c04939b9890db3fb696260 WHIRLPOOL 8b77ed8a52eec1993b41d19963252ce2637c3ff1e21fbbdfd54a8416fff4f9827d03827e51ca3712a92dc529ed329444b4ce3603f547a66420e9a2b750017b03
EBUILD neon-0.29.6-r1.ebuild 2883 SHA256 ed2805a8362fdfd90d5d4d2cdca2bf5bf1b1c90ef9a0a807657f06188868e2a2 SHA512 d425f25b8d716c1a82b1e929737eeb2f1bd6f468fb1abefb9e4888256e1bd2c344ff370a01cc1ba84554f6fd454aa04ba48fc16b59a72906d9b4c3e585e3e5f3 WHIRLPOOL 68ab92026645dd2fb345106c0744ddb15f86e6542b130269eb9d639531400dfcfccf97d57d44c349670fc4b899e41e17dae2deb9e6e731315b41c0b873808d57
-MISC ChangeLog 25533 SHA256 f78a62ad5142a7b3c89b5e851006b9cb6312f4b37ca1e03c8eed907e05205abd SHA512 5b10c409a01bb4c6dcdcb34fb009e6a16443abcf8195d25b433c16a4ce2ab3cc374c03b125e1d437c9c9c7256de2b3e45ccfb0cc0bdc92e655ee072206a393e1 WHIRLPOOL acaf4b5b61d701e9812fb3e609a6dd8540394dc6c3587969cffa4333b0e5fbc1d1da7ef55db0784a5f89a37a742d6cae05c5b28e24e130f464c3b4a29876552b
+EBUILD neon-0.29.6-r2.ebuild 2952 SHA256 c3577324470e1b717df291b17d26ea1a99773a51ba1cae333c8706b3e845d56c SHA512 ac1e02b2794a40cc91ed49aa82453fce1d01047f9b8ffe87788dd14e46528a65c4d2f65eaf67774dc0eb05e9d24776af8a2f3f18387c7e3e5772553d24a04545 WHIRLPOOL 9042ea9723240466e5b1cb254592252b0c0b32814f5a74f7760187a4a033bdf24802b919bb5ed101d36c34ce56c3e3e2dcb23cdd940083cdcc2ec979a37a27ab
+MISC ChangeLog 25733 SHA256 58d8de7cf7c4222bf4c4a4bf8cb487441e05f08feca1efd20733a86d82191033 SHA512 1b5caf533545d5e02e27c4d8a57cbecea8032c16f5b3ed976cba2bfad32c119823ab91fb225003ea00885c3da22ecbdb5b2e28444396f5da28b341ecdf85b895 WHIRLPOOL dd2062745ad4cb1024a16a24700e6375eca61793b623a381df3edf15ae6b766ed66893471090cdaec35f0a0ebfb6448319a59ca3b8976f7d89ecf236e542728a
MISC metadata.xml 1208 SHA256 2697b773cf5d2673a1bfd349724f0ef0a70ecea111713373ba348cee6e075ca1 SHA512 e08f9806282d877c9db6ae6c08aac05c3c0e2104338117d4047a9e31afca5dd0b648b5acd6410477960516cf27788e0c41c108995192231a5aa2676beac23934 WHIRLPOOL fc07bf5d350a6225788567f0fb0adb5e8caf2ce3e20af586236fec938d784d8218cd9d6d426ba6623f544b5f34d07274e1d008be78048e67f366a7db2fcc1e39
diff --git a/net-libs/neon/files/neon-0.29.6-gnutls-3-backport.patch b/net-libs/neon/files/neon-0.29.6-gnutls-3-backport.patch
new file mode 100644
index 000000000000..e699741ea4a2
--- /dev/null
+++ b/net-libs/neon/files/neon-0.29.6-gnutls-3-backport.patch
@@ -0,0 +1,96 @@
+BUGZILLA-GENTOO: https://bugs.gentoo.org/show_bug.cgi?id=440936,
+BUGZILLA-GNUTLS: https://savannah.gnu.org/support/index.php?108189
+
+This patch fixes situation when subversion fails on some https sources
+due incorrect handing of issuers in neon library.
+
+Patch is backported from upstream.
+
+diff --git a/src/ne_gnutls.c b/src/ne_gnutls.c
+index 5a5dca9..0eef990 100644
+--- a/src/ne_gnutls.c
++++ b/src/ne_gnutls.c
+@@ -1,6 +1,6 @@
+ /*
+ neon SSL/TLS support using GNU TLS
+- Copyright (C) 2002-2010, Joe Orton <joe@manyfish.co.uk>
++ Copyright (C) 2002-2011, Joe Orton <joe@manyfish.co.uk>
+ Copyright (C) 2004, Aleix Conchillo Flaque <aleix@member.fsf.org>
+
+ This library is free software; you can redistribute it and/or
+@@ -486,7 +486,7 @@ static ne_ssl_certificate *populate_cert(ne_ssl_certificate *cert,
+ static gnutls_x509_crt x509_crt_copy(gnutls_x509_crt src)
+ {
+ int ret;
+- size_t size;
++ size_t size = 0;
+ gnutls_datum tmp;
+ gnutls_x509_crt dest;
+
+@@ -680,6 +680,11 @@ void ne_ssl_context_set_flag(ne_ssl_context *ctx, int flag, int value)
+ /* SSLv2 not supported. */
+ }
+
++int ne_ssl_context_get_flag(ne_ssl_context *ctx, int flag)
++{
++ return 0;
++}
++
+ void ne_ssl_context_destroy(ne_ssl_context *ctx)
+ {
+ gnutls_certificate_free_credentials(ctx->cred);
+@@ -1128,6 +1133,21 @@ static int pkcs12_parse(gnutls_pkcs12_t p12, gnutls_x509_privkey *pkey,
+
+ ne_ssl_client_cert *ne_ssl_clicert_read(const char *filename)
+ {
++ gnutls_datum datum;
++ ne_ssl_client_cert *cc;
++
++ if (read_to_datum(filename, &datum))
++ return NULL;
++
++ cc = ne_ssl_clicert_import(datum.data, datum.size);
++
++ ne_free(datum.data);
++
++ return cc;
++}
++
++ne_ssl_client_cert *ne_ssl_clicert_import(const unsigned char *buffer, size_t buflen)
++{
+ int ret;
+ gnutls_datum data;
+ gnutls_pkcs12_t p12;
+@@ -1136,15 +1156,14 @@ ne_ssl_client_cert *ne_ssl_clicert_read(const char *filename)
+ gnutls_x509_crt cert = NULL;
+ gnutls_x509_privkey pkey = NULL;
+
+- if (read_to_datum(filename, &data))
+- return NULL;
++ data.data = buffer;
++ data.size = buflen;
+
+ if (gnutls_pkcs12_init(&p12) != 0) {
+ return NULL;
+ }
+
+ ret = gnutls_pkcs12_import(p12, &data, GNUTLS_X509_FMT_DER, 0);
+- ne_free(data.data);
+ if (ret < 0) {
+ gnutls_pkcs12_deinit(p12);
+ return NULL;
+
+diff --git a/src/ne_gnutls.c b/src/ne_gnutls.c
+index 0eef990..2ed90c2 100644
+--- a/src/ne_gnutls.c
++++ b/src/ne_gnutls.c
+@@ -60,6 +60,9 @@ GCRY_THREAD_OPTION_PTHREAD_IMPL;
+ #include "ne_private.h"
+ #include "ne_privssl.h"
+
++
++ne_ssl_client_cert *ne_ssl_clicert_import(const unsigned char *buffer, size_t buflen);
++
+ #if LIBGNUTLS_VERSION_NUMBER >= 0x020302
+ /* The GnuTLS DN functions in 2.3.2 and later allow a simpler DN
+ * abstraction to be used. */
diff --git a/net-libs/neon/neon-0.29.6-r2.ebuild b/net-libs/neon/neon-0.29.6-r2.ebuild
new file mode 100644
index 000000000000..6085fb058b34
--- /dev/null
+++ b/net-libs/neon/neon-0.29.6-r2.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-libs/neon/neon-0.29.6-r2.ebuild,v 1.1 2012/11/28 11:17:13 qnikst Exp $
+
+EAPI="4"
+
+inherit autotools eutils libtool
+
+DESCRIPTION="HTTP and WebDAV client library"
+HOMEPAGE="http://www.webdav.org/neon/"
+SRC_URI="http://www.webdav.org/neon/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc expat gnutls kerberos libproxy nls pkcs11 ssl static-libs zlib"
+IUSE_LINGUAS="cs de fr ja nn pl ru tr zh_CN"
+for lingua in ${IUSE_LINGUAS}; do
+ IUSE+=" linguas_${lingua}"
+done
+unset lingua
+RESTRICT="test"
+
+RDEPEND="expat? ( dev-libs/expat )
+ !expat? ( dev-libs/libxml2 )
+ gnutls? (
+ app-misc/ca-certificates
+ >=net-libs/gnutls-2.0
+ pkcs11? ( dev-libs/pakchois )
+ )
+ !gnutls? ( ssl? (
+ >=dev-libs/openssl-0.9.6f
+ pkcs11? ( dev-libs/pakchois )
+ ) )
+ kerberos? ( virtual/krb5 )
+ libproxy? ( net-libs/libproxy )
+ nls? ( virtual/libintl )
+ zlib? ( sys-libs/zlib )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ local lingua linguas
+ for lingua in ${IUSE_LINGUAS}; do
+ use linguas_${lingua} && linguas+=" ${lingua}"
+ done
+ sed -i -e "s/ALL_LINGUAS=.*/ALL_LINGUAS=\"${linguas}\"/g" configure.in
+
+ epatch "${FILESDIR}"/${PN}-0.29.6-no-ssl-check.patch
+ epatch "${FILESDIR}"/${PN}-0.29.6-gnutls-3-functions.patch
+ epatch "${FILESDIR}"/${PN}-0.29.6-gnutls-3-types.patch
+ epatch "${FILESDIR}"/${PN}-0.29.6-gnutls-3-backport.patch
+ AT_M4DIR="macros" eautoreconf
+
+ elibtoolize
+}
+
+src_configure() {
+ local myconf=()
+
+ if has_version sys-libs/glibc; then
+ einfo "Enabling SSL library thread-safety using POSIX threads..."
+ myconf+=(--enable-threadsafe-ssl=posix)
+ fi
+
+ if use expat; then
+ myconf+=(--with-expat)
+ else
+ myconf+=(--with-libxml2)
+ fi
+
+ if use gnutls; then
+ myconf+=(--with-ssl=gnutls --with-ca-bundle="${EPREFIX}/etc/ssl/certs/ca-certificates.crt")
+ elif use ssl; then
+ myconf+=(--with-ssl=openssl)
+ fi
+
+ # work around broken check, we really need -lintl on Solaris
+ [[ ${CHOST} == *-solaris* ]] && export ne_cv_libsfor_bindtextdomain=-lintl
+
+ econf \
+ --enable-shared \
+ $(use_with kerberos gssapi) \
+ $(use_with libproxy) \
+ $(use_enable nls) \
+ $(use_with pkcs11 pakchois) \
+ $(use_enable static-libs static) \
+ $(use_with zlib) \
+ "${myconf[@]}"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install-lib install-headers install-config install-nls || die "emake install failed"
+
+ find "${ED}" -name "*.la" -print0 | xargs -0 rm -f
+
+ if use doc; then
+ emake DESTDIR="${D}" install-docs || die "emake install-docs failed"
+ fi
+
+ dodoc AUTHORS BUGS NEWS README THANKS TODO
+ doman doc/man/*.[1-8]
+}