diff options
author | Jory Pratt <anarchy@gentoo.org> | 2006-05-08 22:12:27 +0000 |
---|---|---|
committer | Jory Pratt <anarchy@gentoo.org> | 2006-05-08 22:12:27 +0000 |
commit | 119fc84befcc0692c2dca6bf56665ff686b59ba0 (patch) | |
tree | 47a61348ccbad0d10e1ba6a9ee230c719d3763f7 /net-mail/vpopmail | |
parent | Add default /etc/papersize + minimal doc, no use-flag since it is easy to change (diff) | |
download | gentoo-2-119fc84befcc0692c2dca6bf56665ff686b59ba0.tar.gz gentoo-2-119fc84befcc0692c2dca6bf56665ff686b59ba0.tar.bz2 gentoo-2-119fc84befcc0692c2dca6bf56665ff686b59ba0.zip |
revision bump, security fix wrt bug #132674
(Portage version: 2.1_pre10-r3)
Diffstat (limited to 'net-mail/vpopmail')
-rw-r--r-- | net-mail/vpopmail/ChangeLog | 7 | ||||
-rw-r--r-- | net-mail/vpopmail/files/digest-vpopmail-5.4.16 | 3 | ||||
-rw-r--r-- | net-mail/vpopmail/vpopmail-5.4.16.ebuild | 249 |
3 files changed, 258 insertions, 1 deletions
diff --git a/net-mail/vpopmail/ChangeLog b/net-mail/vpopmail/ChangeLog index bdc9fb649401..53abd4cef5f8 100644 --- a/net-mail/vpopmail/ChangeLog +++ b/net-mail/vpopmail/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for net-mail/vpopmail # Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-mail/vpopmail/ChangeLog,v 1.68 2006/02/20 22:12:11 hansmi Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-mail/vpopmail/ChangeLog,v 1.69 2006/05/08 22:12:27 anarchy Exp $ + +*vpopmail-5.4.16 (08 May 2006) + + 08 May 2006; Jory A. Pratt <anarchy@gentoo.org> +vpopmail-5.4.16.ebuild: + revision bump, plus security fix wrt bug #132674 20 Feb 2006; Michael Hanselmann <hansmi@gentoo.org> vpopmail-5.4.6-r1.ebuild, -vpopmail-5.4.9-r2.ebuild, diff --git a/net-mail/vpopmail/files/digest-vpopmail-5.4.16 b/net-mail/vpopmail/files/digest-vpopmail-5.4.16 new file mode 100644 index 000000000000..f54a51a8fd7f --- /dev/null +++ b/net-mail/vpopmail/files/digest-vpopmail-5.4.16 @@ -0,0 +1,3 @@ +MD5 7e98f368333c678879e2a3f7686f8ab7 vpopmail-5.4.16.tar.gz 453019 +RMD160 de385ee6dbe0edf7ccb2e88c5b967669711d1e2b vpopmail-5.4.16.tar.gz 453019 +SHA256 c1ea76e404082a116795dc3c49933b26f79cdbb49bca5ebc4fa170403a5e3c7a vpopmail-5.4.16.tar.gz 453019 diff --git a/net-mail/vpopmail/vpopmail-5.4.16.ebuild b/net-mail/vpopmail/vpopmail-5.4.16.ebuild new file mode 100644 index 000000000000..a1852d76e22a --- /dev/null +++ b/net-mail/vpopmail/vpopmail-5.4.16.ebuild @@ -0,0 +1,249 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-mail/vpopmail/vpopmail-5.4.16.ebuild,v 1.1 2006/05/08 22:12:27 anarchy Exp $ + +inherit eutils gnuconfig fixheadtails + +# TODO: all ldap, sybase support +#MY_PV=${PV/_/-} +#MY_P=${PN}-${MY_PV} +HOMEPAGE="http://www.inter7.com/index.php?page=vpopmail" +DESCRIPTION="A collection of programs to manage virtual email domains and accounts on your Qmail mail servers." +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 arm ~hppa ppc sparc x86" +IUSE="mysql ipalias clearpasswd" +# vpopmail will NOT build if non-root. +RESTRICT="nouserpriv" +DEPEND_COMMON="virtual/qmail + mysql? ( >=dev-db/mysql-3.23 )" +DEPEND="sys-apps/sed + sys-apps/ucspi-tcp + ${DEPEND_COMMON}" +RDEPEND="${DEPEND_COMMON} + virtual/cron" + +# S="${WORKDIR}/${MY_P}" + +# Define vpopmail home dir in /etc/password if different +VPOP_DEFAULT_HOME="/var/vpopmail" +VPOP_HOME="$VPOP_DEFAULT_HOME" + +# This makes sure the variable is set, and that it isn't null. +vpopmail_set_homedir() { + VPOP_HOME=`getent passwd vpopmail | cut -d: -f6` + if [ -z "$VPOP_HOME" ]; then + echo -ne "\a" + eerror "vpopmail's home directory is null in passwd data!" + eerror "You probably want to check that out." + eerror "Continuing with default." + VPOP_HOME="${VPOP_DEFAULT_HOME}" + else + einfo "Setting VPOP_HOME to: $VPOP_HOME" + fi +} + +pkg_setup() { + enewgroup vpopmail 89 + enewuser vpopmail 89 -1 ${VPOP_DEFAULT_HOME} vpopmail + upgradewarning +} + +src_unpack() { + # cd ${WORKDIR} + # unpack ${MY_P}.tar.gz + unpack ${A} + cd ${S} + + epatch ${FILESDIR}/${PN}-5.4.9-access.violation.patch || die "failed to patch." + epatch ${FILESDIR}/${PN}-lazy.patch || die "failed to patch." + + sed -i \ + 's|Maildir|.maildir|g' \ + vchkpw.c vconvert.c vdelivermail.c \ + vpopbull.c vpopmail.c vqmaillocal.c \ + vuserinfo.c maildirquota.c \ + || die "failed to change Maildir to .maildir" + sed -i \ + '/printf.*vpopmail/s:vpopmail (:(:' \ + vdelivermail.c vpopbull.c vqmaillocal.c \ + || die "failed to remove vpopmail advertisement" + + gnuconfig_update + aclocal || die "aclocal failed" + WANT_AUTOMAKE="1.6" automake --add-missing || die "automake failed." + autoconf || die "reconfigure failed." + ht_fix_file ${S}/cdb/Makefile || die "failed to fix file" +} + +src_compile() { + vpopmail_set_homedir + + use ipalias \ + && myopts="${myopts} --enable-ip-alias-domains=y" \ + || myopts="${myopts} --enable-ip-alias-domains=n" + + use mysql \ + && myopts="${myopts} --enable-auth-module=mysql \ + --enable-libs=/usr/include/mysql \ + --enable-libdir=/usr/lib/mysql \ + --enable-sql-logging=y \ + --enable-auth-logging=y \ + --enable-valias=y \ + --enable-mysql-replication=n \ + --enable-mysql-limits" + + # Bug 20127 + use clearpasswd \ + && myopts="${myopts} --enable-clear-passwd=y" \ + || myopts="${myopts} --enable-clear-passwd=n" + + econf \ + ${myopts} \ + --sbindir=/usr/sbin \ + --bindir=/usr/bin \ + --sysconfdir=${VPOP_HOME}/etc \ + --enable-qmaildir=/var/qmail \ + --enable-qmail-newu=/var/qmail/bin/qmail-newu \ + --enable-qmail-inject=/var/qmail/bin/qmail-inject \ + --enable-qmail-newmrh=/var/qmail/bin/qmail-newmrh \ + --enable-vpopuser=vpopmail \ + --enable-many-domains=y \ + --enable-vpopgroup=vpopmail \ + --enable-file-locking=y \ + --enable-file-sync=y \ + --enable-md5-passwords=y \ + --enable-logging=y \ + --enable-log-name=vpopmail \ + --enable-qmail-ext \ + --disable-tcp-rules-prog --disable-tcpserver-file --disable-roaming-users \ + || die + + # TCPRULES for relaying is now considered obsolete, use relay-ctrl instead + #--enable-tcprules-prog=/usr/bin/tcprules --enable-tcpserver-file=/etc/tcp.smtp \ + #--enable-roaming-users=y --enable-relay-clear-minutes=60 \ + #--disable-rebuild-tcpserver-file \ + + emake || die "Make failed." +} + +src_install() { + vpopmail_set_homedir + + make DESTDIR=${D} install || die + dosed ${VPOP_HOME}/etc/inc_deps + dosed ${VPOP_HOME}/etc/lib_deps + + into /var/vpopmail + dobin ${FILESDIR}/vpopmail-Maildir-dotmaildir-fix.sh + into /usr + + # Install documentation. + dodoc AUTHORS ChangeLog FAQ INSTALL README* + dodoc doc/doc_html/* doc/man_html/* + rm -rf ${D}/${VPOP_HOME}/doc + dosym /usr/share/doc/${PF}/ ${VPOP_HOME}/doc + + # Create /etc/vpopmail.conf + if use mysql ; then + einfo "Installing vpopmail mysql configuration file" + dodir /etc + #config file position + mv ${D}/var/vpopmail/etc/vpopmail.mysql ${D}/etc/vpopmail.conf + dosym /etc/vpopmail.conf /var/vpopmail/etc/vpopmail.mysql + sed -e '12d' -i ${D}/etc/vpopmail.conf + echo '# Read-only DB' >>${D}/etc/vpopmail.conf + echo 'localhost|0|vpopmail|secret|vpopmail' >>${D}/etc/vpopmail.conf + echo '# Write DB' >>${D}/etc/vpopmail.conf + echo 'localhost|0|vpopmail|secret|vpopmail' >>${D}/etc/vpopmail.conf + # lock down perms + fperms 640 /etc/vpopmail.conf + fowners root:vpopmail /etc/vpopmail.conf + fi + + # Install a proper cronjob instead of the old nastiness + #einfo "Installing cronjob" + #dodir /etc/cron.hourly + #insinto /etc/cron.hourly + #doins ${FILESDIR}/vpopmail.clearopensmtp + #fperms +x /etc/cron.hourly/vpopmail.clearopensmtp + + einfo "Installing env.d entry" + dodir /etc/env.d + insinto /etc/env.d + doins ${FILESDIR}/99vpopmail + + # Configure b0rked. We'll do this manually + #echo "-I${VPOP_HOME}/include" > ${D}/${VPOP_HOME}/etc/inc_deps + #local libs_extra + #use mysql && libs_extra="-L/usr/lib/mysql -lmysqlclient -lz" || libs_extra="" + #echo "-L${VPOP_HOME}/lib -lvpopmail ${libs_extra}" > ${D}/${VPOP_HOME}/etc/lib_deps + + einfo "Locking down vpopmail permissions" + # secure things more, i don't want the vpopmail user being able to write this stuff! + chown -R root:0 ${D}${VPOP_HOME}/{bin,etc,include} + chown root:vpopmail ${D}${VPOP_HOME}/bin/vchkpw + chmod 4711 ${D}${VPOP_HOME}/bin/vchkpw +} + +pkg_preinst() { + vpopmail_set_homedir + + # Keep DATA + keepdir ${VPOP_HOME}/domains + + # This is a workaround until portage handles binary packages+users better. + pkg_setup + + upgradewarning +} + +pkg_postinst() { + einfo "Performing post-installation routines for ${P}." + + if use mysql ; then + echo + einfo "You have 'mysql' turned on in your USE" + einfo "Vpopmail needs a VALID MySQL USER. Let's call it 'vpopmail'" + einfo "You MUST add it and then specify its passwd in the /etc/vpopmail.conf file" + echo + einfo "First log into mysql as your mysql root user and pass. Then:" + einfo "> create database vpopmail;" + einfo "> use mysql;" + einfo "> grant select, insert, update, delete, create, drop on vpopmail.* to" + einfo " vpopmail@localhost identified by 'your password';" + einfo "> flush privileges;" + echo + einfo "If you have problems with vpopmail not accepting mail properly," + einfo "please ensure that /etc/vpopmail.conf is chmod 640 and" + einfo "owned by root:vpopmail" + fi + # do this for good measure + if [ -e /etc/vpopmail.conf ] ; then + chmod 640 /etc/vpopmail.conf + chown root:vpopmail /etc/vpopmail.conf + fi + + upgradewarning +} + +pkg_postrm() { + vpopmail_set_homedir + + einfo "The vpopmail DATA will NOT be removed automatically." + einfo "You can delete them manually by removing the ${VPOP_HOME} directory." +} + +upgradewarning() { + ewarn "Massive important warning if you are upgrading to 5.2.1-r8 or older" + ewarn "The internal structure of the mail storage has changed for" + ewarn "consistancy with the rest of Gentoo! Please review and utilize the " + ewarn "script at /var/vpopmail/bin/vpopmail-Maildir-dotmaildir-fix.sh" + ewarn "to upgrade your system! (It can do conversions both ways)." + ewarn "You should be able to run it right away without any changes." + echo + einfo "Use of vpopmail's tcp.smtp[.cdb] is also deprecated now, consider" + einfo "using net-mail/relay-ctrl instead." +} |