summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Black <dragonheart@gentoo.org>2007-11-12 20:11:07 +0000
committerDaniel Black <dragonheart@gentoo.org>2007-11-12 20:11:07 +0000
commit99adf238ed497413f61a4d4aa6bdd393e8802701 (patch)
treebed2720f8e24572464fc6dce467c2adb88a54560 /net-misc
parentamd64 stable wrt #198845 (diff)
downloadgentoo-2-99adf238ed497413f61a4d4aa6bdd393e8802701.tar.gz
gentoo-2-99adf238ed497413f61a4d4aa6bdd393e8802701.tar.bz2
gentoo-2-99adf238ed497413f61a4d4aa6bdd393e8802701.zip
version bump + patch thanks to Robin - bug #198931
(Portage version: 2.1.3.19)
Diffstat (limited to 'net-misc')
-rw-r--r--net-misc/curl/ChangeLog8
-rw-r--r--net-misc/curl/curl-7.17.1.ebuild114
-rw-r--r--net-misc/curl/files/curl-7.17.1-null-handler-segfault.patch69
-rw-r--r--net-misc/curl/files/digest-curl-7.17.13
4 files changed, 193 insertions, 1 deletions
diff --git a/net-misc/curl/ChangeLog b/net-misc/curl/ChangeLog
index ee5f61c31c4c..ff7c992c6d88 100644
--- a/net-misc/curl/ChangeLog
+++ b/net-misc/curl/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for net-misc/curl
# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/curl/ChangeLog,v 1.108 2007/10/17 20:32:13 dragonheart Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-misc/curl/ChangeLog,v 1.109 2007/11/12 20:11:06 dragonheart Exp $
+
+*curl-7.17.1 (12 Nov 2007)
+
+ 12 Nov 2007; Daniel Black <dragonheart@gentoo.org>
+ +files/curl-7.17.1-null-handler-segfault.patch, +curl-7.17.1.ebuild:
+ version bump + patch thanks to Robin - bug #198931
17 Oct 2007; Daniel Black <dragonheart@gentoo.org> curl-7.17.0.ebuild,
curl-7.17.1_pre20071013.ebuild:
diff --git a/net-misc/curl/curl-7.17.1.ebuild b/net-misc/curl/curl-7.17.1.ebuild
new file mode 100644
index 000000000000..fb68c563f9e1
--- /dev/null
+++ b/net-misc/curl/curl-7.17.1.ebuild
@@ -0,0 +1,114 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/curl/curl-7.17.1.ebuild,v 1.1 2007/11/12 20:11:06 dragonheart Exp $
+
+# NOTE: If you bump this ebuild, make sure you bump dev-python/pycurl!
+
+inherit libtool eutils
+
+#MY_P=${P/_pre/-}
+DESCRIPTION="A Client that groks URLs"
+HOMEPAGE="http://curl.haxx.se/ http://curl.planetmirror.com"
+#SRC_URI="http://cool.haxx.se/curl-daily/${MY_P}.tar.bz2"
+SRC_URI="http://curl.planetmirror.com/download/${P}.tar.bz2"
+
+LICENSE="MIT X11"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd"
+IUSE="ssl ipv6 ldap ares gnutls nss idn kerberos test"
+#IUSE="ssl ipv6 ldap ares gnutls libssh2 nss idn kerberos test"
+
+RDEPEND="gnutls? ( net-libs/gnutls app-misc/ca-certificates )
+ nss? ( !gnutls? ( dev-libs/nss app-misc/ca-certificates ) )
+ ssl? ( !gnutls? ( !nss? ( dev-libs/openssl app-misc/ca-certificates ) ) )
+ ldap? ( net-nds/openldap )
+ idn? ( net-dns/libidn )
+ ares? ( >=net-dns/c-ares-1.4.0 )
+ kerberos? ( virtual/krb5 )"
+# libssh2? ( >=net-libs/libssh2-0.16 )"
+
+# net-libs/libssh2 (masked) --with-libssh2
+# fbopenssl (not in gentoo) --with-spnego
+# krb4 http://web.mit.edu/kerberos/www/krb4-end-of-life.html
+
+DEPEND="${RDEPEND}
+ test? (
+ sys-apps/diffutils
+ dev-lang/perl
+ )"
+# used - but can do without in self test: net-misc/stunnel
+#S="${WORKDIR}"/${MY_P}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+# epatch "${FILESDIR}"/${P}-strip-ldflags.patch
+ epatch "${FILESDIR}"/curl-7.16.2-strip-ldflags.patch
+ epatch "${FILESDIR}"/${P}-null-handler-segfault.patch
+ elibtoolize
+}
+
+src_compile() {
+
+ myconf="$(use_enable ldap)
+ $(use_with idn libidn)
+ $(use_enable kerberos gssapi)
+ $(use_enable ipv6)
+ --enable-http
+ --enable-ftp
+ --enable-gopher
+ --enable-file
+ --enable-dict
+ --enable-manual
+ --enable-telnet
+ --enable-nonblocking
+ --enable-largefile
+ --enable-maintainer-mode
+ --disable-sspi
+ --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt
+ --without-krb4
+ --without-libssh2
+ --without-spnego"
+# $(use_with libssh2)
+
+ if use ipv6 && use ares; then
+ elog "c-ares support disabled because it is incompatible with ipv6."
+ myconf="${myconf} --disable-ares"
+ else
+ myconf="${myconf} $(use_enable ares)"
+ fi
+
+ if use gnutls; then
+ myconf="${myconf} --without-ssl --with-gnutls --without-nss"
+ elif use nss; then
+ myconf="${myconf} --without-ssl --without-gnutls --with-nss"
+ elif use ssl; then
+ myconf="${myconf} --without-gnutls --without-nss --with-ssl"
+ else
+ myconf="${myconf} --without-gnutls --without-nss --without-ssl"
+ fi
+
+ econf ${myconf} || die 'configure failed'
+ emake || die "install failed for current version"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "installed failed for current version"
+ rm -rf "${D}"/etc/
+
+ # https://sourceforge.net/tracker/index.php?func=detail&aid=1705197&group_id=976&atid=350976
+ insinto /usr/share/aclocal
+ doins docs/libcurl/libcurl.m4
+
+ dodoc CHANGES README
+ dodoc docs/FEATURES docs/INTERNALS
+ dodoc docs/MANUAL docs/FAQ docs/BUGS docs/CONTRIBUTE
+}
+
+pkg_postinst() {
+ if [[ -e "${ROOT}"/usr/$(get_libdir)/libcurl.so.3 ]] ; then
+ elog "You must re-compile all packages that are linked against"
+ elog "curl-7.15.* by using revdep-rebuild from gentoolkit:"
+ elog "# revdep-rebuild --library libcurl.so.3"
+ fi
+}
diff --git a/net-misc/curl/files/curl-7.17.1-null-handler-segfault.patch b/net-misc/curl/files/curl-7.17.1-null-handler-segfault.patch
new file mode 100644
index 000000000000..0d3b766e9175
--- /dev/null
+++ b/net-misc/curl/files/curl-7.17.1-null-handler-segfault.patch
@@ -0,0 +1,69 @@
+Segfault in CURL (used from PHP)
+Found by Robin H. Johnson <robbat2@gentoo.org>
+This was because of an invalid URL: /hash/597cfbe5740d2bf91eb4b037e6750bacd76d3729/added
+
+#0 0x00002b33e61ba166 in Curl_disconnect (conn=0xe46210) at url.c:2077
+2077 if(conn->handler->disconnect)
+(gdb) print conn->handler
+$1 = (const struct Curl_handler *) 0x0
+(gdb) bt full
+#0 0x00002b33e61ba166 in Curl_disconnect (conn=0xe46210) at url.c:2077
+ data = (struct SessionHandle *) 0xe363d0
+#1 0x00002b33e61bc27e in Curl_connect (data=0xe363d0, in_connect=0x7fffc6067818, asyncp=0x7fffc6067827, protocol_done=0x7fffc6067826) at url.c:4255
+ connected = false
+ code = CURLE_OK
+ dns = (struct Curl_dns_entry *) 0x0
+#2 0x00002b33e61c67db in Curl_perform (data=0xe363d0) at transfer.c:2333
+ res = CURLE_OK
+ res2 = <value optimized out>
+ conn = (struct connectdata *) 0xe46210
+ newurl = 0x0
+ retry = 232
+#3 0x0000000000472005 in zif_curl_exec ()
+#4 0x000000000061bd42 in ?? ()
+#5 0x000000000061ae23 in execute ()
+#6 0x000000000061b815 in ?? ()
+#7 0x000000000061ae23 in execute ()
+#8 0x00000000005fcef3 in zend_execute_scripts ()
+#9 0x00000000005bd468 in php_execute_script ()
+#10 0x00000000006791ab in main ()
+
+diff -Nuar curl-7.17.1-20071013.orig/lib/url.c curl-7.17.1-20071013/lib/url.c
+--- curl-7.17.1-20071013.orig/lib/url.c 2007-10-13 02:00:02.000000000 +0000
++++ curl-7.17.1-20071013/lib/url.c 2007-11-12 13:13:37.401514781 +0000
+@@ -2594,7 +2594,7 @@
+ curl_socket_t *socks,
+ int numsocks)
+ {
+- if(conn->handler->proto_getsock)
++ if(conn && conn->handler && conn->handler->proto_getsock)
+ return conn->handler->proto_getsock(conn, socks, numsocks);
+ return GETSOCK_BLANK;
+ }
+@@ -4325,7 +4325,7 @@
+ }
+
+ /* this calls the protocol-specific function pointer previously set */
+- if(conn->handler->done)
++ if(conn->handler && conn->handler->done)
+ result = conn->handler->done(conn, status, premature);
+ else
+ result = CURLE_OK;
+@@ -4378,7 +4378,7 @@
+ conn->bits.done = FALSE; /* Curl_done() is not called yet */
+ conn->bits.do_more = FALSE; /* by default there's no curl_do_more() to use */
+
+- if(conn->handler->do_it) {
++ if(conn->handler && conn->handler->do_it) {
+ /* generic protocol-specific function pointer set in curl_connect() */
+ result = conn->handler->do_it(conn, done);
+
+@@ -4441,7 +4441,7 @@
+ {
+ CURLcode result=CURLE_OK;
+
+- if(conn->handler->do_more)
++ if(conn->handler && conn->handler->do_more)
+ result = conn->handler->do_more(conn);
+
+ return result;
diff --git a/net-misc/curl/files/digest-curl-7.17.1 b/net-misc/curl/files/digest-curl-7.17.1
new file mode 100644
index 000000000000..40241f108c80
--- /dev/null
+++ b/net-misc/curl/files/digest-curl-7.17.1
@@ -0,0 +1,3 @@
+MD5 1fa635d1dfde8337c98c82749d75c1de curl-7.17.1.tar.bz2 1721551
+RMD160 8ab8dc7a33a5265dfe25eb0725248c3cd6519510 curl-7.17.1.tar.bz2 1721551
+SHA256 7f668ec49506ffc968a54fde9404183212bb40b226626e9417d941594e06e57b curl-7.17.1.tar.bz2 1721551