diff options
author | Nathan Phillip Brink <binki@gentoo.org> | 2012-02-03 02:02:37 +0000 |
---|---|---|
committer | Nathan Phillip Brink <binki@gentoo.org> | 2012-02-03 02:02:37 +0000 |
commit | a729b494293104f83b4429e862494d33b12fe070 (patch) | |
tree | 562e198fa615ecc55e860001e7b69d5b87ef84f1 /net-irc | |
parent | Fix dependency to use libmowgli-1. (diff) | |
download | gentoo-2-a729b494293104f83b4429e862494d33b12fe070.tar.gz gentoo-2-a729b494293104f83b4429e862494d33b12fe070.tar.bz2 gentoo-2-a729b494293104f83b4429e862494d33b12fe070.zip |
Bump to unstable atheme-services-7.0.0_alpha11.
(Portage version: 2.2.0_alpha84-r1/cvs/Linux x86_64)
Diffstat (limited to 'net-irc')
3 files changed, 231 insertions, 1 deletions
diff --git a/net-irc/atheme-services/ChangeLog b/net-irc/atheme-services/ChangeLog index 22dfbe0fe73e..25e9fdf92bf2 100644 --- a/net-irc/atheme-services/ChangeLog +++ b/net-irc/atheme-services/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for net-irc/atheme-services # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-irc/atheme-services/ChangeLog,v 1.29 2012/02/03 01:24:17 binki Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-irc/atheme-services/ChangeLog,v 1.30 2012/02/03 02:02:37 binki Exp $ + +*atheme-services-7.0.0_alpha11 (03 Feb 2012) + + 03 Feb 2012; Nathan Phillip Brink <binki@gentoo.org> + +atheme-services-7.0.0_alpha11.ebuild, + +files/atheme-services-7.0.0_alpha11-unrealircd.patch: + Bump to unstable atheme-services-7.0.0_alpha11. 03 Feb 2012; Nathan Phillip Brink <binki@gentoo.org> atheme-services-6.0.9.ebuild, atheme-services-6.0.9-r1.ebuild, diff --git a/net-irc/atheme-services/atheme-services-7.0.0_alpha11.ebuild b/net-irc/atheme-services/atheme-services-7.0.0_alpha11.ebuild new file mode 100644 index 000000000000..54447e0f85a5 --- /dev/null +++ b/net-irc/atheme-services/atheme-services-7.0.0_alpha11.ebuild @@ -0,0 +1,114 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-irc/atheme-services/atheme-services-7.0.0_alpha11.ebuild,v 1.1 2012/02/03 02:02:37 binki Exp $ + +EAPI=4 + +inherit autotools eutils flag-o-matic perl-module + +MY_P=${P/_/-} + +DESCRIPTION="A portable and secure set of open-source and modular IRC services" +HOMEPAGE="http://atheme.net/" +SRC_URI="http://atheme.net/downloads/${MY_P}.tar.bz2" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~sparc ~x86 ~x86-fbsd ~amd64-linux" +IUSE="cracklib largenet ldap nls +pcre perl profile ssl" + +RDEPEND="dev-libs/libmowgli:2 + cracklib? ( sys-libs/cracklib ) + ldap? ( net-nds/openldap ) + nls? ( sys-devel/gettext ) + perl? ( dev-lang/perl ) + pcre? ( dev-libs/libpcre ) + ssl? ( dev-libs/openssl )" +DEPEND="${RDEPEND} + dev-util/pkgconfig" + +S=${WORKDIR}/${MY_P} + +pkg_setup() { + # the dependency calculation puts all of the .c files together and + # overwhelms cc1 with this flag :-( + filter-flags -combine + + if use profile; then + # bug #371119 + ewarn "USE=\"profile\" is incompatible with the hardened profile's -pie flag." + ewarn "Disabling PIE. Please ignore any warning messages about -nopie being invalid." + append-flags -nopie + fi + + enewgroup ${PN} + enewuser ${PN} -1 -1 /var/lib/atheme ${PN} +} + +src_prepare() { + epatch "${FILESDIR}"/${P}-cracklib-automagic.patch + epatch "${FILESDIR}"/${P}-unrealircd.patch + eautoconf + + # fix docdir + sed -i -e 's/\(^DOCDIR.*=.\)@DOCDIR@/\1@docdir@/' extra.mk.in || die + + # basic logging config directive fix + sed -i -e '/^logfile/s;var/\(.*\.log\);'"${EPREFIX}"'/var/log/atheme/\1;g' dist/* || die + + # QA against bundled libs + rm -rf libmowgli-2 || die + + # Get useful information into build.log + sed -i -e '/^\.SILENT:$/d' buildsys.mk.in || die +} + +src_configure() { + econf \ + atheme_cv_c_gcc_w_error_implicit_function_declaration=no \ + --sysconfdir="${EPREFIX}"/etc/${PN} \ + --docdir="${EPREFIX}"/usr/share/doc/${PF} \ + --localstatedir="${EPREFIX}"/var \ + --enable-fhs-paths \ + --disable-warnings \ + --enable-contrib \ + $(use_enable largenet large-net) \ + $(use_with cracklib) \ + $(use_with ldap) \ + $(use_with nls) \ + $(use_enable profile) \ + $(use_with perl) \ + $(use_with pcre) \ + $(use_enable ssl) +} + +src_install() { + emake DESTDIR="${D}" install + + insinto /etc/${PN} + for conf in dist/*.example; do + # The .cron file isn't meant to live in /etc/${PN}, so only + # install a .example version. + [[ ${conf} == *cron* ]] && continue + + newins ${conf} $(basename ${conf} .example) + done + + fowners -R 0:${PN} /etc/${PN} + keepdir /var/{lib,log}/atheme + fowners ${PN}:${PN} /var/{lib,log,run}/atheme + fperms -R go-w,o-rx /etc/${PN} + fperms 750 /etc/${PN} /var/{lib,log,run}/atheme + + newinitd "${FILESDIR}"/${PN}.initd ${PN} + + # contributed scripts and such: + insinto /usr/share/doc/${PF}/contrib + doins contrib/*.{c,pl,php,py,rb} + + if use perl; then + perlinfo + insinto "${VENDOR_LIB#${EPREFIX}}" + doins -r contrib/Atheme{,.pm} + fi +} diff --git a/net-irc/atheme-services/files/atheme-services-7.0.0_alpha11-unrealircd.patch b/net-irc/atheme-services/files/atheme-services-7.0.0_alpha11-unrealircd.patch new file mode 100644 index 000000000000..7b5d69ed6121 --- /dev/null +++ b/net-irc/atheme-services/files/atheme-services-7.0.0_alpha11-unrealircd.patch @@ -0,0 +1,109 @@ +From 5f64c859cba285f4207a08cc4f02dc450a5b600d Mon Sep 17 00:00:00 2001 +From: Nathan Phillip Brink <binki@gentoo.org> +Date: Mon, 28 Nov 2011 05:28:11 +0000 +Subject: [PATCH] libathemecore: Fix NULL dereference when talking to IRCds without UID support. + +Fixes regression caused by c14ab567552c0053cb4c5d184956d0a1a7a5d19f. +--- + include/users.h | 2 +- + libathemecore/services.c | 6 +++--- + libathemecore/users.c | 12 ++++++------ + 3 files changed, 10 insertions(+), 10 deletions(-) + +diff --git a/include/users.h b/include/users.h +index 16deee9..643a23a 100644 +--- a/include/users.h ++++ b/include/users.h +@@ -55,7 +55,7 @@ struct user_ + #define UF_WASENFORCED 0x00002000 /* this user was FNCed once already */ + #define UF_DEAF 0x00004000 /* user does not receive channel msgs */ + +-#define CLIENT_NAME(user) ((user)->uid[0] ? (user)->uid : (user)->nick) ++#define CLIENT_NAME(user) ((user)->uid != NULL ? (user)->uid : (user)->nick) + + typedef struct { + user_t *u; /* User in question. Write NULL here if you delete the user. */ +diff --git a/libathemecore/services.c b/libathemecore/services.c +index abcd7fc..3725234 100644 +--- a/libathemecore/services.c ++++ b/libathemecore/services.c +@@ -245,9 +245,9 @@ void services_init(void) + + MOWGLI_PATRICIA_FOREACH(svs, &state, services_name) + { +- if (ircd->uses_uid && svs->me->uid[0] == '\0') ++ if (ircd->uses_uid && svs->me->uid == NULL) + user_changeuid(svs->me, uid_get()); +- else if (!ircd->uses_uid && svs->me->uid[0] != '\0') ++ else if (!ircd->uses_uid && svs->me->uid != NULL) + user_changeuid(svs->me, NULL); + if (!ircd->uses_uid) + kill_id_sts(NULL, svs->nick, "Attempt to use service nick"); +@@ -311,7 +311,7 @@ void reintroduce_user(user_t *u) + /* Reintroduce with a new UID. This avoids problems distinguishing + * commands targeted at the old and new user. + */ +- if (*u->uid) ++ if (u->uid != NULL) + { + user_changeuid(u, uid_get()); + } +diff --git a/libathemecore/users.c b/libathemecore/users.c +index 432b9ea..18a8855 100644 +--- a/libathemecore/users.c ++++ b/libathemecore/users.c +@@ -134,7 +134,7 @@ user_t *user_add(const char *nick, const char *user, const char *host, + { + wallops("Server %s is introducing nick %s which already exists on %s", + server->name, nick, u2->server->name); +- if (uid != NULL && *u2->uid != '\0') ++ if (uid != NULL && u2->uid != NULL) + { + kill_id_sts(NULL, uid, "Ghost detected via nick collision (new)"); + kill_id_sts(NULL, u2->uid, "Ghost detected via nick collision (old)"); +@@ -244,7 +244,7 @@ void user_delete(user_t *u, const char *comment) + + mowgli_patricia_delete(userlist, u->nick); + +- if (*u->uid) ++ if (u->uid != NULL) + mowgli_patricia_delete(uidlist, u->uid); + + mowgli_node_delete(&u->snode, &u->server->userlist); +@@ -364,13 +364,13 @@ void user_changeuid(user_t *u, const char *uid) + { + return_if_fail(u != NULL); + +- if (*u->uid) ++ if (u->uid != NULL) + mowgli_patricia_delete(uidlist, u->uid); + + strshare_unref(u->uid); + u->uid = strshare_get(uid); + +- if (*u->uid) ++ if (u->uid != NULL) + mowgli_patricia_add(uidlist, u->uid, u); + } + +@@ -420,7 +420,7 @@ bool user_changenick(user_t *u, const char *nick, time_t ts) + slog(LG_INFO, "user_changenick(): nick collision on %s", nick); + if (u2->server == me.me) + { +- if (*u->uid != '\0') ++ if (u->uid != NULL) + { + /* If the changing client has a UID, our + * client will have a UID too and the +@@ -466,7 +466,7 @@ bool user_changenick(user_t *u, const char *nick, time_t ts) + wallops("Server %s is sending nick change from %s to %s which already exists on %s", + u->server->name, u->nick, nick, + u2->server->name); +- if (*u->uid != '\0' && *u2->uid != '\0') ++ if (u->uid != NULL && u2->uid != NULL) + { + kill_id_sts(NULL, u->uid, "Ghost detected via nick change collision (new)"); + kill_id_sts(NULL, u2->uid, "Ghost detected via nick change collision (old)"); +-- +1.7.3.4 + |