From 05052b122f7f3d7e8aceb547cf86c82bbebccfb9 Mon Sep 17 00:00:00 2001 From: Alex Alexander Date: Mon, 14 Nov 2011 23:31:48 +0000 Subject: [PATCH] fix for msn login failures Package-Manager: portage-2.2.0_alpha74/cvs/Linux x86_64 --- net-im/bitlbee/ChangeLog | 8 +- net-im/bitlbee/Manifest | 24 ++- net-im/bitlbee/bitlbee-3.0.3-r1.ebuild | 169 ++++++++++++++++++ .../files/bitlbee-3.0.3-msn-login-fix.patch | 31 ++++ 4 files changed, 223 insertions(+), 9 deletions(-) create mode 100644 net-im/bitlbee/bitlbee-3.0.3-r1.ebuild create mode 100644 net-im/bitlbee/files/bitlbee-3.0.3-msn-login-fix.patch diff --git a/net-im/bitlbee/ChangeLog b/net-im/bitlbee/ChangeLog index fcb7e3308e24..6cef683a6cfa 100644 --- a/net-im/bitlbee/ChangeLog +++ b/net-im/bitlbee/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for net-im/bitlbee # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-im/bitlbee/ChangeLog,v 1.147 2011/10/11 19:33:24 radhermit Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-im/bitlbee/ChangeLog,v 1.148 2011/11/14 23:31:48 wired Exp $ + +*bitlbee-3.0.3-r1 (14 Nov 2011) + + 14 Nov 2011; Alex Alexander +bitlbee-3.0.3-r1.ebuild, + +files/bitlbee-3.0.3-msn-login-fix.patch: + fix for msn login failures 11 Oct 2011; Tim Harder -files/bitlbee-1.2.2-fix_tests_check_set.patch, -bitlbee-1.2.3.ebuild, diff --git a/net-im/bitlbee/Manifest b/net-im/bitlbee/Manifest index 9cf505dd28c1..3714dd77c837 100644 --- a/net-im/bitlbee/Manifest +++ b/net-im/bitlbee/Manifest @@ -2,20 +2,28 @@ Hash: SHA512 AUX bitlbee-3.0-configure.patch 393 RMD160 eb546e7271549cd56b87168ccf0ccb3ffb80742d SHA1 7762bae624acf765d3905b46b84448762694a25f SHA256 615e0cadb52abea5c133f8588b7d772c787bee725f11a986bed90226e5da4acd +AUX bitlbee-3.0.3-msn-login-fix.patch 1117 RMD160 4b2e70e0eb1c440f517fbc088a4bd296adf702a4 SHA1 eaecf7de0f18069d44187e116400c7827a43260b SHA256 547fd543af651d519695324bbebbf208c333f2d17bfbd0742435e09a33d6ae5c AUX bitlbee.confd 62 RMD160 f71fff4ab4fe49eebc071d693896f567291bee54 SHA1 80beb974922b2ff6cf9732a7bce1eb03cc10d870 SHA256 105afc0382fc5adc03ed644dba4e78817015a55432349f259a286ac3c1b06628 AUX bitlbee.initd 605 RMD160 183c4a8117556cb474c01ba4038b357a6716f98e SHA1 3427fa5f558b2957046ef1a6afdd4bc2bb8807e3 SHA256 037091df1746b9a477f07cdac52d99f9310055646ce0e10f859835ba105e3fb4 DIST bitlbee-3.0.3.tar.gz 676417 RMD160 4b537871eef1bb5b6839105bc7bc9f2567e5b8e1 SHA1 4140eb7aaa2c6a39fa059d19f8fbaec0d7a1ebff SHA256 82ca758937ce7bedaab49edec75f4ad45a3102ac3beaa932b64c34fbb1e3af25 +EBUILD bitlbee-3.0.3-r1.ebuild 4515 RMD160 dea59433fda09b95cf70b05e01825345f4b7261f SHA1 93d62950e2df7eb549ed3843e544b30c6a47fd61 SHA256 95766a7790ee9735ab514c6c05dec4a722df341e6719e1d497bbfa4496f299e8 EBUILD bitlbee-3.0.3.ebuild 4438 RMD160 c2f7439307701c30ab6d8b60966348ed75dedba3 SHA1 be603acc6fef1d6e44fcde4d46ad6ebddd516b54 SHA256 06da79c62eb09481bad54b641152cdc10bd9d3a6c9c4ea4ea84348ceb2cdd66e -MISC ChangeLog 22889 RMD160 4496fcb788d89ad08427fe031aa8def71f2cef18 SHA1 369f5bf253cb0eab6f90d407923bb8298cc461fa SHA256 cf0184bb9ecf507ab010ff9b6f98a25e51205d578298b9edf01972c30c04b755 +MISC ChangeLog 23067 RMD160 6ad77b4de7a18eb14b515153e00f220f7770f751 SHA1 a02cf7a3aba11b9243bb7d3126a25ac8a9358f33 SHA256 2bdcb5e4dcca9b660336ffb6dc163b322f1517bb4a31ab03c3e71ce621bfe491 MISC metadata.xml 1026 RMD160 a2745a59703295794f17246716edd8610c10c776 SHA1 59fc3b090bd0b0d6c72ff1c77dcbd96f7207d608 SHA256 e6760ca4cd330d1c84b127e73144a2310f9e0215562246156ce9519112e73726 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.18 (GNU/Linux) -iQEcBAEBCgAGBQJOlJoNAAoJEEqz6FtPBkyjmnMH/2U5Osinx42UlYwB7L6i6ijl -24bPUS7FpM98T/vDfpU3bmrYXB1LDEz+3b2uPGUdHYVsO5vpfoX8PR08DVyYiqfd -5AlAtsTH8C7wSBy+PSTC3Ksxe3FQLFnvo7ua5zC7bkR7C9tKO1Q9g+qy6o5Z4ju8 -0ikY0wMkc3kdE4nmAPiHvlwYibjj0O2s4YNr+wN3TVZIat8y3og6YC01YoLYEpjb -DRZvJpbVk0J1tE+RYogIrMI1re8EfLQYEp3hNccF/V7GVecCW9ZuYfA9Yq4jR9mC -9m8BOgmMW5LOTtK9fwONtYyjYXN7JYzYVX1AWI60UyOp2GOF3twHB/Z8sTvibMk= -=57h4 +iQIcBAEBCgAGBQJOwaT3AAoJEDZF8K7rm0r6nkUP/iLDzagj6uHLq7UCuOfxMgob +UuPlmj582/Dd14WMAIV5drmUFErkfb4DMVqu8arEMFnHVM4NXBIwlAD/6sS9Ie2d +rYrs+CwzyOXootnqggKOV3rLCb6gfeLdcDjloT4wE+y95n+Jmjmgl7763zjloMXz +IUK2V2YwPsEg/oeYyhrzsnG9GJz8Vy0+JQqAhd4upr+Ye+B1Uutf+HmLbclYA/u5 +c+A9CltPptTTZ0sOgnoTnyJ5ntxxXlwofFiqVdPU182LgLMBl8JwCDqyEtMVYS+L +Th7BrzhHCRxeFQZn9yaAFG23TAOI06abX/bmWy60M6n37zwMem8kEJ7uIXz2FP4j +Q+dW7kHj++6hNysD3ugT5GnDtWg0aIJ4CRCYWYXV1oLp6vp8OHzapiVExAPEfkE+ +d5TowCkgvhYsTOMSBVvsIKVtbtQFzHex8xfxvUSNfxaV8s/h3K4ImkRuUUDkWsmx +tpDBH7+oOZxcMwweEdE9CEMNDWAcuAN4j4YoGwvOy0+v32q9c66vwFUFeWD0XAmD +AP4kN4fDiuJ1fpHIQe6B5CCsvuTAokhT8ZcTPvhlloCF7eiow0boSe0CkfmAu3VM +Wa/DOhNQweSX/idt4VrtF17P0Mg4ckBjEV5UQ9PQFzdVn2EE05JKb9i6SazEH932 +V2S9kN1Y4k75kEW6AVgm +=mLMj -----END PGP SIGNATURE----- diff --git a/net-im/bitlbee/bitlbee-3.0.3-r1.ebuild b/net-im/bitlbee/bitlbee-3.0.3-r1.ebuild new file mode 100644 index 000000000000..266258b42b9a --- /dev/null +++ b/net-im/bitlbee/bitlbee-3.0.3-r1.ebuild @@ -0,0 +1,169 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-im/bitlbee/bitlbee-3.0.3-r1.ebuild,v 1.1 2011/11/14 23:31:48 wired Exp $ + +EAPI="4" +inherit eutils multilib + +DESCRIPTION="irc to IM gateway that support multiple IM protocols" +HOMEPAGE="http://www.bitlbee.org/" +SRC_URI="http://get.bitlbee.org/src/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86 ~x86-fbsd" +IUSE="debug gnutls ipv6 +jabber libevent msn nss +oscar otr +plugins purple ssl test twitter +yahoo xinetd" # ldap - Bug 195758 + +COMMON_DEPEND="purple? ( net-im/pidgin ) + libevent? ( dev-libs/libevent ) + !libevent? ( >=dev-libs/glib-2.4 ) + otr? ( net-libs/libotr ) + gnutls? ( net-libs/gnutls ) + !gnutls? ( + nss? ( dev-libs/nss ) + !nss? ( ssl? ( dev-libs/openssl ) ) + )" + # ldap? ( net-nds/openldap )" +DEPEND="${COMMON_DEPEND} + dev-util/pkgconfig + test? ( dev-libs/check )" + +RDEPEND="${COMMON_DEPEND} + virtual/logger + xinetd? ( sys-apps/xinetd )" + +REQUIRED_USE="^^ ( purple || ( jabber msn oscar yahoo ) ) + msn? ( || ( gnutls nss ssl ) ) + jabber? ( !nss )" + +pkg_setup() { + if use jabber && ! use gnutls && ! use ssl ; then + einfo + elog "You have enabled support for Jabber but do not have SSL" + elog "support enabled. This *will* prevent bitlbee from being" + elog "able to connect to SSL enabled Jabber servers. If you need to" + elog "connect to Jabber over SSL, enable ONE of the following use" + elog "flags: gnutls or ssl" + einfo + fi + + enewgroup bitlbee + enewuser bitlbee -1 -1 /var/lib/bitlbee bitlbee +} + +src_prepare() { + sed -i \ + -e "s@/usr/local/sbin/bitlbee@/usr/sbin/bitlbee@" \ + -e "s/nobody/bitlbee/" \ + -e "s/}/ disable = yes\n}/" \ + doc/bitlbee.xinetd || die "sed failed in xinetd" + + sed -i \ + -e "s@mozilla-nss@nss@g" \ + configure || die "sed failed in configure" + + epatch "${FILESDIR}"/${PN}-3.0-configure.patch + + # fix for msn login issues + epatch "${FILESDIR}"/${P}-msn-login-fix.patch +} + +src_configure() { + # ldap hard-disabled for now + local myconf="--ldap=0" + + # setup plugins, protocol, ipv6 and debug + for flag in debug ipv6 msn jabber oscar plugins purple twitter yahoo ; do + if use ${flag} ; then + myconf="${myconf} --${flag}=1" + else + myconf="${myconf} --${flag}=0" + fi + done + + # set otr + if use otr && use plugins ; then + myconf="${myconf} --otr=plugin" + else + if use otr ; then + ewarn "OTR support has been disabled automatically because it" + ewarn "requires the plugins USE flag." + fi + myconf="${myconf} --otr=0" + fi + + # setup ssl use flags + if use gnutls ; then + myconf="${myconf} --ssl=gnutls" + einfo "Using gnutls for SSL support" + elif use ssl ; then + myconf="${myconf} --ssl=openssl" + einfo "Using openssl for SSL support" + elif use nss ; then + myconf="${myconf} --ssl=nss" + einfo "Using nss for SSL support" + else + myconf="${myconf} --ssl=bogus" + einfo "You will not have any encryption support enabled." + fi + + # set event handler + if use libevent ; then + myconf="${myconf} --events=libevent" + else + myconf="${myconf} --events=glib" + fi + + # NOTE: bitlbee's configure script is not an autotool creation, + # so that is why we don't use econf. + ./configure --prefix=/usr --datadir=/usr/share/bitlbee \ + --etcdir=/etc/bitlbee --plugindir=/usr/$(get_libdir)/bitlbee \ + --strip=0 ${myconf} || die "econf failed" + + sed -i \ + -e "/^EFLAGS/s:=:&${LDFLAGS} :" \ + Makefile.settings || die "sed failed" +} + +src_install() { + emake install install-etc install-doc install-dev DESTDIR="${D}" + + keepdir /var/lib/bitlbee + fperms 700 /var/lib/bitlbee + fowners bitlbee:bitlbee /var/lib/bitlbee + + dodoc doc/{AUTHORS,CHANGES,CREDITS,FAQ,README} + dodoc doc/user-guide/user-guide.txt + dohtml doc/user-guide/*.html + + doman doc/bitlbee.8 doc/bitlbee.conf.5 + + if use xinetd ; then + insinto /etc/xinetd.d + newins doc/bitlbee.xinetd bitlbee + fi + + newinitd "${FILESDIR}"/bitlbee.initd bitlbee + newconfd "${FILESDIR}"/bitlbee.confd bitlbee + + keepdir /var/run/bitlbee + fowners bitlbee:bitlbee /var/run/bitlbee + + exeinto /usr/share/bitlbee + cd utils + doexe convert_purple.py bitlbee-ctl.pl +} + +pkg_postinst() { + chown -R bitlbee:bitlbee "${ROOT}"/var/lib/bitlbee + chown -R bitlbee:bitlbee "${ROOT}"/var/run/bitlbee + + einfo + elog "The utils included in bitlbee are now located in /usr/share/bitlbee" + elog + elog "NOTE: The IRSSI script is no longer provided by BitlBee." + elog + elog "The bitlbeed init script has been replaced by bitlbee." + elog "You must update your configuration." + einfo +} diff --git a/net-im/bitlbee/files/bitlbee-3.0.3-msn-login-fix.patch b/net-im/bitlbee/files/bitlbee-3.0.3-msn-login-fix.patch new file mode 100644 index 000000000000..1fcc8bde6795 --- /dev/null +++ b/net-im/bitlbee/files/bitlbee-3.0.3-msn-login-fix.patch @@ -0,0 +1,31 @@ +fix for msn login failures + +http://bugs.bitlbee.org/bitlbee/changeset/devel,824 +--- lib/http_client.c.old ++++ lib/http_client.c +@@ -313,7 +313,7 @@ + req->status_code = -1; + } + +- if( ( req->status_code == 301 || req->status_code == 302 ) && req->redir_ttl-- > 0 ) ++ if( ( req->status_code >= 301 && req->status_code <= 303 ) && req->redir_ttl-- > 0 ) + { + char *loc, *new_request, *new_host; + int error = 0, new_port, new_proto; +@@ -374,10 +374,13 @@ + /* So, now I just allocated enough memory, so I'm + going to use strcat(), whether you like it or not. :-) */ + +- sprintf( new_request, "GET %s HTTP/1.0", url->file ); ++ s = 0; ++ sprintf( new_request, "%s %s HTTP/1.0\r\nHost: %s", ++ req->status_code == 303 || req->request[0] == 'G' ? "GET" : "POST", url->file, url->host ); ++ s = ' '; + +- s = strstr( req->request, "\r\n" ); +- if( s == NULL ) ++ if( !( ( s = strstr( req->request, "\r\nHost: " ) ) && ++ ( s = strstr( s + strlen( "\r\nHost: " ), "\r\n" ) ) ) ) + { + req->status_string = g_strdup( "Error while rebuilding request string" ); + g_free( new_request ); -- 2.26.2