Hi Dale,
if you want, you can try
mkdir -p /usr/local/portage/net-libs
cp -ax /usr/portage/net-libs/neon /usr/local/portage/net-libs/
echo 'PORTDIR_OVERLAY="/usr/local/portage"' >> /etc/make.conf
mkdir -p /usr/local/portage/net-libs/
cp verify_peer2.patch /usr/local/portage/net-libs/files/
cp neon-0.29.6.ebuild /usr/local/portage/net-libs/neon/
ebuild /usr/local/portage/net-libs/neon-0.29.6.ebuild manifest
USE="-ssl gnutls" emerge net-libs/neon kde-base/kscd
with the attached patch and ebuild. neon compiles, but i dont want to
install kscd on my server ;)
attach it to the bug report if it works, please.
Am 07.10.2011 10:47, schrieb Dale:
Jonas de Buhr wrote:
Am 07.10.2011 10:03, schrieb Dale:
/usr/lib64/libneon.so.27: undefined reference to
`gnutls_certificate_verify_peers'
gnutls_certificate_verify_peers is deprecated in gnutls.
you could try emerging net-libs/neon with
USE="-gnutls ssl"
for a quick workaround.
For those who run into this, just remove the gnutls flag and do a emerge
-uvaDN world. I had it in make.conf so I must have needed it at some
point in the past. Man that is a old USE line. lol
Thanks for the tip. It worked.
Dale
:-) :-)
# Copyright 1999-2011 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.ebuild,v 1.8
2011/07/20 22:14:39 halcy0n Exp $
EAPI="3"
inherit autotools libtool versionator
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
~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}
dev-util/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
AT_M4DIR="macros" eautoreconf
elibtoolize
epatch "${FILESDIR}/verify_peers2.patch"
}
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=/etc/ssl/certs/ca-certificates.crt"
elif use ssl; then
myconf+=" --with-ssl=openssl"
fi
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]
}
pkg_postinst() {
ewarn "Neon has a policy of breaking API across minor versions, this
means"
ewarn "that any package that links against Neon may be broken after"
ewarn "updating. They will remain broken until they are ported to the"
ewarn "new API. You can downgrade Neon to the previous version by
doing:"
ewarn
ewarn " emerge --oneshot
'<${CATEGORY}/${PN}-$(get_version_component_range 1-2 ${PV})'"
ewarn
ewarn "You may also have to downgrade any package that has not been"
ewarn "ported to the new API yet."
}
diff -u -r neon-0.29.6/src/ne_socket.c neon-0.29.6_patched/src/ne_socket.c
--- neon-0.29.6/src/ne_socket.c 2010-10-09 18:07:17.000000000 +0200
+++ neon-0.29.6_patched/src/ne_socket.c 2011-10-07 12:18:22.000000000 +0200
@@ -1660,6 +1660,7 @@
int ne_sock_accept_ssl(ne_socket *sock, ne_ssl_context *ctx)
{
+ unsigned int status;
int ret;
ne_ssl_socket ssl;
@@ -1697,7 +1698,7 @@
if (ret < 0) {
return error_gnutls(sock, ret);
}
- if (ctx->verify && gnutls_certificate_verify_peers(ssl)) {
+ if (ctx->verify && gnutls_certificate_verify_peers2(ssl, &status)) {
set_error(sock, _("Client certificate verification failed"));
return NE_SOCK_ERROR;
}