diff options
author | 2001-01-02 03:54:25 +0000 | |
---|---|---|
committer | 2001-01-02 03:54:25 +0000 | |
commit | 0535d1111b705780cfeef55874e4093f5caf0ce4 (patch) | |
tree | a48096d5ff83a33f16b21a642f2aa39523b286cf /net-mail/courier-imap | |
parent | work in progress (diff) | |
download | historical-0535d1111b705780cfeef55874e4093f5caf0ce4.tar.gz historical-0535d1111b705780cfeef55874e4093f5caf0ce4.tar.bz2 historical-0535d1111b705780cfeef55874e4093f5caf0ce4.zip |
courier-imap now has SSL support, and is better organized
Diffstat (limited to 'net-mail/courier-imap')
-rw-r--r-- | net-mail/courier-imap/courier-imap-1.3.0.ebuild | 67 | ||||
-rwxr-xr-x | net-mail/courier-imap/files/courier-imap | 38 | ||||
-rwxr-xr-x | net-mail/courier-imap/files/courier-imap-ssl | 75 | ||||
-rw-r--r-- | net-mail/courier-imap/files/digest-courier-imap-1.3.0 | 1 | ||||
-rwxr-xr-x | net-mail/courier-imap/files/mkimapdcert | 39 |
5 files changed, 207 insertions, 13 deletions
diff --git a/net-mail/courier-imap/courier-imap-1.3.0.ebuild b/net-mail/courier-imap/courier-imap-1.3.0.ebuild new file mode 100644 index 000000000000..cef6f568755d --- /dev/null +++ b/net-mail/courier-imap/courier-imap-1.3.0.ebuild @@ -0,0 +1,67 @@ +# Copyright 1999-2000 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License, v2 or later +# Author Daniel Robbins <drobbins@gentoo.org> +# $Header: /var/cvsroot/gentoo-x86/net-mail/courier-imap/courier-imap-1.3.0.ebuild,v 1.1 2001/01/02 03:54:22 drobbins Exp $ + +A=${P}.tar.gz +S=${WORKDIR}/${P} +DESCRIPTION="An IMAP daemon designed specifically for maildirs" +SRC_URI="http://download.sourceforge.net/courier/${A}" +HOMEPAGE="http://www.courier-mta.org/" + +DEPEND=">=sys-libs/glibc-2.1.3" + +#This package is complete if you just need basic IMAP functionality. Here are some things that +#still need fixing: +#supervise support (of course) +#creation of imapd-ssl, pop3-ssl, pop3 init.d scripts (I only converted the imapd.rc script) +#tweaking of config files. +#My RC script is configured to look for maildirs in ~/.maildir (my preference, and the official +#Gentoo Linux standard location) instead of the more traditional and icky ~/Maildir. +#We need to add an /etc/mail.conf. + +src_compile() { + cd ${S} + try ./configure --sysconfdir=/etc/courier-imap --prefix=/usr --bindir=/usr/sbin --libexecdir=/usr/lib/courier-imap --localstatedir=/var/lib/courier-imap --with-authdaemonvar=/var/lib/courier-imap/authdaemon --without-authldap --with-db=db --disable-root-check + try make +} + +src_install () { + cd ${S} + mkdir -p ${D}/etc/pam.d + make install DESTDIR=${D} + cd ${D}/etc/courier-imap + local x + for x in pop3d pop3d-ssl imapd imapd-ssl + do + mv ${x}.dist ${x} + done + cd ${D}/usr/sbin + for x in * + do + if [ -L ${x} ] + then + rm ${x} + fi + done + cd ../share + mv * ../sbin + cd .. + rm -rf share + cd ${D}/etc/pam.d + for x in * + do + cp ${x} ${x}.orig + sed -e 's#/lib/security/##g' ${x}.orig > ${x} + rm ${x}.orig + done + exeinto /etc/rc.d/init.d + doexe ${FILESDIR}/courier-imap* + rm ${D}/usr/sbin/mkimapdcert + exeinto /usr/sbin + doexe ${FILESDIR}/mkimapdcert +} + +pkg_config() { + ${ROOT}/usr/sbin/rc-update add courier-imap +} diff --git a/net-mail/courier-imap/files/courier-imap b/net-mail/courier-imap/files/courier-imap index a55aa8b46852..65e689cabccf 100755 --- a/net-mail/courier-imap/files/courier-imap +++ b/net-mail/courier-imap/files/courier-imap @@ -7,17 +7,26 @@ opts="start stop" prefix=/usr exec_prefix=${prefix} -bindir=${exec_prefix}/bin -libexecdir=${exec_prefix}/libexec +bindir=/usr/sbin +libexecdir=/usr/lib/courier-imap -. /etc/courier-imap/imapd.config -. /etc/courier-imap/imapd-ssl.config +. /etc/courier-imap/imapd +. /etc/courier-imap/imapd-ssl +if [ -e /etc/mail.conf ] +then + . /etc/mail.conf +fi +if [ -z "$MAILDIR" ] +then + export MAILDIR=".maildir" +fi start() { + ebegin "Starting $SERVICE" LIBAUTHMODULES="" for f in `echo $AUTHMODULES` do - LIBAUTHMODULES="$LIBAUTHMODULES ${exec_prefix}/libexec/authlib/$f" + LIBAUTHMODULES="$LIBAUTHMODULES /usr/lib/courier-imap/authlib/$f" done if test -x ${libexecdir}/authlib/authdaemond @@ -26,27 +35,30 @@ start() { fi ulimit -d $IMAP_ULIMITD - /usr/bin/env - /bin/sh -c " . /etc/courier-imap/imapd.config ; \ - . /etc/courier-imap/imapd-ssl.config ; \ + /usr/bin/env - /bin/sh -c " . /etc/courier-imap/imapd ; \ + . /etc/courier-imap/imapd-ssl ; \ IMAP_STARTTLS=$IMAPDSTARTTLS ; export IMAP_STARTTLS ; \ - `sed -n '/^#/d;/=/p' </etc/courier-imap/imapd.config | \ + `sed -n '/^#/d;/=/p' </etc/courier-imap/imapd | \ sed 's/=.*//;s/^/export /;s/$/;/'` - `sed -n '/^#/d;/=/p' </etc/courier-imap/imapd-ssl.config | \ + `sed -n '/^#/d;/=/p' </etc/courier-imap/imapd-ssl | \ sed 's/=.*//;s/^/export /;s/$/;/'` - ${exec_prefix}/libexec/couriertcpd -address=$ADDRESS \ - -stderrlogger=${exec_prefix}/libexec/logger \ + /usr/lib/courier-imap/couriertcpd -address=$ADDRESS \ + -stderrlogger=/usr/lib/courier-imap/logger \ -maxprocs=$MAXDAEMONS -maxperip=$MAXPERIP \ -pid=$PIDFILE $TCPDOPTS \ $PORT ${exec_prefix}/sbin/imaplogin $LIBAUTHMODULES \ - ${exec_prefix}/bin/imapd .maildir" + /usr/sbin/imapd $MAILDIR" + eend $? "Started $SERVICE." "Error starting $SERVICE." } stop() { - ${exec_prefix}/libexec/couriertcpd -pid=$PIDFILE -stop + ebegin "Stopping $SERVICE" + /usr/lib/courier-imap/couriertcpd -pid=$PIDFILE -stop if test -x ${libexecdir}/authlib/authdaemond then ${libexecdir}/authlib/authdaemond stop fi + eend $? "Stopped $SERVICE." "Error stopping $SERVICE." } doservice ${@} diff --git a/net-mail/courier-imap/files/courier-imap-ssl b/net-mail/courier-imap/files/courier-imap-ssl new file mode 100755 index 000000000000..982bdbeefc85 --- /dev/null +++ b/net-mail/courier-imap/files/courier-imap-ssl @@ -0,0 +1,75 @@ +#! /bin/sh +#RCUPDATE:3 4:72:Required for rc-update +. /etc/rc.d/config/functions + +SERVICE=courier-imapd-ssl +opts="start stop" + +prefix=/usr +exec_prefix=${prefix} +bindir=/usr/sbin +libexecdir=/usr/lib/courier-imap + +. /etc/courier-imap/imapd +. /etc/courier-imap/imapd-ssl +if [ -e /etc/mail.conf ] +then + . /etc/mail.conf +fi +if [ -z "$MAILDIR" ] +then + export MAILDIR=".maildir" +fi + +gencert() { + if [ ! -e /etc/courier-imap/imapd.pem ] + then + ebegin "Generating $SERVICE certificate (make take 1-2 minutes)" + /usr/sbin/mkimapdcert > /dev/null 2> /dev/null + eend $? "Generated certificate." "Error generating certificate." + fi +} + +start() { + gencert + ebegin "Starting $SERVICE" + LIBAUTHMODULES="" + for f in `echo $AUTHMODULES` + do + LIBAUTHMODULES="$LIBAUTHMODULES /usr/lib/courier-imap/authlib/$f" + done + + if test -x ${libexecdir}/authlib/authdaemond + then + /usr/bin/env - ${libexecdir}/authlib/authdaemond start + fi + + ulimit -d $IMAP_ULIMITD + /usr/bin/env - /bin/sh -c " . /etc/courier-imap/imapd ; \ + . /etc/courier-imap/imapd-ssl ; \ + IMAP_TLS=1 ; export IMAP_TLS ; \ + `sed -n '/^#/d;/=/p' </etc/courier-imap/imapd | \ + sed 's/=.*//;s/^/export /;s/$/;/'` + `sed -n '/^#/d;/=/p' </etc/courier-imap/imapd-ssl | \ + sed 's/=.*//;s/^/export /;s/$/;/'` + /usr/lib/courier-imap/couriertcpd -address=$SSLADDRESS \ + -stderrlogger=/usr/lib/courier-imap/logger \ + -maxprocs=$MAXDAEMONS -maxperip=$MAXPERIP \ + -pid=$SSLPIDFILE $TCPDOPTS \ + $SSLPORT $COURIERTLS -server -tcpd \ + ${exec_prefix}/sbin/imaplogin $LIBAUTHMODULES \ + /usr/sbin/imapd $MAILDIR" + eend $? "Started $SERVICE." "Error starting $SERVICE." +} + +stop() { + ebegin "Stopping $SERVICE" + /usr/lib/courier-imap/couriertcpd -pid=$SSLPIDFILE -stop + if test -x ${libexecdir}/authlib/authdaemond + then + ${libexecdir}/authlib/authdaemond stop + fi + eend $? "Stopped $SERVICE." "Error stopping $SERVICE." +} + +doservice ${@} diff --git a/net-mail/courier-imap/files/digest-courier-imap-1.3.0 b/net-mail/courier-imap/files/digest-courier-imap-1.3.0 new file mode 100644 index 000000000000..5b78dd03dd10 --- /dev/null +++ b/net-mail/courier-imap/files/digest-courier-imap-1.3.0 @@ -0,0 +1 @@ +MD5 ee1c27d0da2222dfb6fd0c000b8c852e courier-imap-1.3.0.tar.gz diff --git a/net-mail/courier-imap/files/mkimapdcert b/net-mail/courier-imap/files/mkimapdcert new file mode 100755 index 000000000000..fce5e896b9b2 --- /dev/null +++ b/net-mail/courier-imap/files/mkimapdcert @@ -0,0 +1,39 @@ +#! /bin/sh +# +# $Id: mkimapdcert,v 1.1 2001/01/02 03:54:25 drobbins Exp $ +# +# Copyright 2000 Double Precision, Inc. See COPYING for +# distribution information. +# +# This is a short script to quickly generate a self-signed X.509 key for +# IMAP over SSL. Normally this script would get called by an automatic +# package installation routine. + +test -x /usr/bin/openssl || exit 0 + +prefix="/usr" +pemfile="/etc/courier-imap/imapd.pem" +randfile="/etc/courier-imap/imapd.rand" + +if test -f $pemfile +then + echo "$pemfile already exists." + exit 1 +fi + +cp /dev/null $pemfile +chmod 600 $pemfile +chown root $pemfile + +cleanup() { + rm -f $pemfile + rm -f $randfile + exit 1 +} + +dd if=/dev/urandom of=$randfile count=1 2>/dev/null +/usr/bin/openssl req -new -x509 -days 365 -nodes \ + -config /etc/courier-imap/imapd.cnf -out $pemfile -keyout $pemfile || cleanup +/usr/bin/openssl gendh -rand $randfile 512 >> $pemfile || cleanup +/usr/bin/openssl x509 -subject -dates -fingerprint -noout -in $pemfile || cleanup +rm -f $randfile |