summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Robbins <drobbins@gentoo.org>2001-01-02 03:54:25 +0000
committerDaniel Robbins <drobbins@gentoo.org>2001-01-02 03:54:25 +0000
commit0535d1111b705780cfeef55874e4093f5caf0ce4 (patch)
treea48096d5ff83a33f16b21a642f2aa39523b286cf /net-mail/courier-imap
parentwork in progress (diff)
downloadhistorical-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.ebuild67
-rwxr-xr-xnet-mail/courier-imap/files/courier-imap38
-rwxr-xr-xnet-mail/courier-imap/files/courier-imap-ssl75
-rw-r--r--net-mail/courier-imap/files/digest-courier-imap-1.3.01
-rwxr-xr-xnet-mail/courier-imap/files/mkimapdcert39
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