summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJory Pratt <anarchy@gentoo.org>2006-05-08 22:12:27 +0000
committerJory Pratt <anarchy@gentoo.org>2006-05-08 22:12:27 +0000
commit119fc84befcc0692c2dca6bf56665ff686b59ba0 (patch)
tree47a61348ccbad0d10e1ba6a9ee230c719d3763f7 /net-mail
parentAdd default /etc/papersize + minimal doc, no use-flag since it is easy to change (diff)
downloadgentoo-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')
-rw-r--r--net-mail/vpopmail/ChangeLog7
-rw-r--r--net-mail/vpopmail/files/digest-vpopmail-5.4.163
-rw-r--r--net-mail/vpopmail/vpopmail-5.4.16.ebuild249
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."
+}