diff options
author | Daniel Black <dragonheart@gentoo.org> | 2007-11-12 20:11:07 +0000 |
---|---|---|
committer | Daniel Black <dragonheart@gentoo.org> | 2007-11-12 20:11:07 +0000 |
commit | 99adf238ed497413f61a4d4aa6bdd393e8802701 (patch) | |
tree | bed2720f8e24572464fc6dce467c2adb88a54560 /net-misc | |
parent | amd64 stable wrt #198845 (diff) | |
download | gentoo-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/ChangeLog | 8 | ||||
-rw-r--r-- | net-misc/curl/curl-7.17.1.ebuild | 114 | ||||
-rw-r--r-- | net-misc/curl/files/curl-7.17.1-null-handler-segfault.patch | 69 | ||||
-rw-r--r-- | net-misc/curl/files/digest-curl-7.17.1 | 3 |
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 |