aboutsummaryrefslogtreecommitdiff
path: root/mail/imap-uw
diff options
context:
space:
mode:
authorNick Sayer <nsayer@FreeBSD.org>2001-04-05 03:21:41 +0000
committerNick Sayer <nsayer@FreeBSD.org>2001-04-05 03:21:41 +0000
commit01436013af810a8cc4dba53a30394d502c2ef5e4 (patch)
tree0d2b49359d96fc63fe610173f9f8e4657a051ab3 /mail/imap-uw
parentb56bff15273c81e84cd079fa986719488f796f4a (diff)
downloadports-01436013af810a8cc4dba53a30394d502c2ef5e4.tar.gz
ports-01436013af810a8cc4dba53a30394d502c2ef5e4.zip
Mega cclient port SSL commit redux. This time with maintainer approval.
1. Add support for building cclient with SSL. Warn about the possibility that some ports may have been missed and need ssl added at link time. 2. Update cclient and imap-uw to latest versions. 3. Fix pine4 to add ssl libraries. This can be used as a model for what other ports may need to do. 4. Release MAINTAINERship (by request). Submitted by: anders@fix.no Approved by: petef@databits.net
Notes
Notes: svn path=/head/; revision=40861
Diffstat (limited to 'mail/imap-uw')
-rw-r--r--mail/imap-uw/Makefile40
-rw-r--r--mail/imap-uw/distinfo2
-rw-r--r--mail/imap-uw/files/patch-ab42
-rw-r--r--mail/imap-uw/files/patch-ac16
-rw-r--r--mail/imap-uw/files/patch-ah22
-rw-r--r--mail/imap-uw/files/patch-ai46
-rw-r--r--mail/imap-uw/pkg-message9
7 files changed, 99 insertions, 78 deletions
diff --git a/mail/imap-uw/Makefile b/mail/imap-uw/Makefile
index 8135a1dc42eb..323cc803231e 100644
--- a/mail/imap-uw/Makefile
+++ b/mail/imap-uw/Makefile
@@ -6,7 +6,7 @@
#
PORTNAME= imap
-PORTVERSION= 2000c
+PORTVERSION= 0104031813
CATEGORIES= mail
MASTER_SITES= ftp://ftp.cac.washington.edu/imap/%SUBDIR%/ \
ftp://ftp.funet.fi/pub/mirrors/ftp.cac.washington.edu/mail/%SUBDIR%/ \
@@ -14,18 +14,25 @@ MASTER_SITES= ftp://ftp.cac.washington.edu/imap/%SUBDIR%/ \
ftp://ftp.uni-halle.de/pub/mail/pine/%SUBDIR%/
MASTER_SITE_SUBDIR= . old
PKGNAMESUFFIX= -uw
-DISTFILES= ${DISTNAME}.tar.Z \
- imap-utils.tar.Z
+DISTNAME= imap-2001.BETA.SNAP-${PORTVERSION}
+DISTFILES= ${DISTNAME}.tar.Z imap-utils.tar.Z
-MAINTAINER= petef@databits.net
+MAINTAINER= ports@freebsd.org
LIB_DEPENDS= c-client4.8:${PORTSDIR}/mail/cclient
.if defined(WITH_DRAC)
BUILD_DEPENDS= ${LOCALBASE}/lib/libdrac.a:${PORTSDIR}/mail/drac
.endif
+.if defined(WITH_SSL)
+USE_OPENSSL= yes
+.endif
MAN8= ipopd.8 imapd.8
+.if defined(WITH_SSL)
+ALL_TARGET= bsf SSLTYPE=unix
+.else
ALL_TARGET= bsf
+.endif
.include <bsd.port.pre.mk>
@@ -49,8 +56,9 @@ do-install:
${INSTALL_MAN} \
${WRKSRC}/src/ipopd/ipopd.8c ${PREFIX}/man/man8/ipopd.8
-.if defined(WITH_DRAC)
post-install:
+ @${CAT} ${PKGMESSAGE}
+.if defined(WITH_DRAC)
@${ECHO} "================================================================================"
@${ECHO} "To have DRAC working, you must create ${PREFIX}/etc/dracd.host, containing"
@${ECHO} "the hostname of the DRAC server:"
@@ -58,8 +66,26 @@ post-install:
@${ECHO} "localhost"
@${ECHO} "================================================================================"
.endif
+.if defined(WITH_SSL)
+ @${ECHO} "To create and install a new SSL certificate for imapd and ipop3d, type \"make"
+ @${ECHO} "cert\"."
+ @${ECHO}
+ @${ECHO} "Example inetd config for the SSL services:"
+ @${ECHO}
+ @${ECHO} "pop3s stream tcp nowait root /usr/local/libexec/ipop3d ipop3d"
+ @${ECHO} "imaps stream tcp nowait root /usr/local/libexec/imapd imapd"
+ @${ECHO}
+ @${ECHO} "Remember to recompile and reinstall your cclient port with SSL support too, if"
+ @${ECHO} "you had it installed without SSL support."
+ @${ECHO}
+ @${ECHO} "================================================================================"
+.endif
-post-install:
- @${CAT} ${PKGMESSAGE}
+cert:
+ @${INSTALL} -d -o root -g wheel -m 0755 ${PREFIX}/certs
+ @openssl req -new -x509 -days 365 -nodes -config ${FILESDIR}/imap-uw.cnf -out ${PREFIX}/certs/imapd.pem -keyout ${PREFIX}/certs/imapd.pem
+ @openssl x509 -subject -dates -fingerprint -noout -in ${PREFIX}/certs/imapd.pem
+ @${CHMOD} 700 ${PREFIX}/certs/imapd.pem
+ @${LN} -s ${PREFIX}/certs/imapd.pem ${PREFIX}/certs/ipop3d.pem
.include <bsd.port.post.mk>
diff --git a/mail/imap-uw/distinfo b/mail/imap-uw/distinfo
index 3437048116be..e60e98d340ba 100644
--- a/mail/imap-uw/distinfo
+++ b/mail/imap-uw/distinfo
@@ -1,2 +1,2 @@
-MD5 (imap-2000c.tar.Z) = 90bdc0670812234a0589286798575980
+MD5 (imap-2001.BETA.SNAP-0104031813.tar.Z) = 327a8494019c07880072a855eb24060f
MD5 (imap-utils.tar.Z) = a6453029f201b32e9ed761e662c47b0f
diff --git a/mail/imap-uw/files/patch-ab b/mail/imap-uw/files/patch-ab
index 350c51374d2d..58e39fa4b7e6 100644
--- a/mail/imap-uw/files/patch-ab
+++ b/mail/imap-uw/files/patch-ab
@@ -1,15 +1,33 @@
---- src/osdep/unix/Makefile.old Tue Oct 31 22:55:01 2000
-+++ src/osdep/unix/Makefile Sun Dec 31 19:11:17 2000
-@@ -23,7 +23,7 @@
+--- src/osdep/unix/Makefile.orig Tue Mar 6 07:07:37 2001
++++ src/osdep/unix/Makefile Tue Apr 3 23:48:08 2001
+@@ -22,16 +22,23 @@
+
EXTRAAUTHENTICATORS=
- SPECIALAUTHENTICATORS=
EXTRADRIVERS=mbox
-PASSWDTYPE=std
+PASSWDTYPE=pam
+ SSLTYPE=none
+
+
+ # Extended flags needed for SSL. You may need to modify.
+
+-SSLDIR=/usr/local/ssl
++.if ${OSVERSION} >= 400014
++SSLDIR=/usr
++SSLCERTS=$(PREFIX)/certs
++SSLINCLUDE=$(SSLDIR)/include/openssl
++SSLLIB=$(SSLDIR)/lib
++.else
++SSLDIR=$(PREFIX)
+ SSLCERTS=$(SSLDIR)/certs
+-SSLINCLUDE=$(SSLDIR)/include
++SSLINCLUDE=$(SSLDIR)/include/openssl
+ SSLLIB=$(SSLDIR)/lib
++.endif
+ SSLCRYPTO=-lcrypto
- # Extended flags needed for non-standard passwd types. You may need to modify.
-@@ -37,7 +37,7 @@
+@@ -60,7 +67,7 @@
# AFSLDFLAGS may also need -L/usr/ucblib -lucb
DCECFLAGS= -DDCE_MINIMAL -DPASSWD_OVERRIDE=\"/opt/pop3/passwd/passwd\"
DCELDFLAGS= -ldce
@@ -18,7 +36,7 @@
# Build parameters normally set by the individual port
-@@ -74,7 +74,7 @@
+@@ -97,7 +104,7 @@
# Commands possibly overriden by the individual port
ARRC=ar rc
@@ -27,7 +45,7 @@
LN=ln -s
RANLIB=ranlib
-@@ -92,7 +92,7 @@
+@@ -115,7 +122,7 @@
dummy.o pseudo.o netmsg.o flstring.o fdstring.o \
rfc822.o nntp.o smtp.o imap4r1.o pop3.o \
unix.o mbox.o mbx.o mmdf.o tenex.o mtx.o news.o phile.o mh.o mx.o
@@ -36,12 +54,12 @@
CAT=cat
MAKE=make
-@@ -175,6 +175,15 @@
+@@ -198,6 +205,15 @@
BASECFLAGS="-g -B/usr/lib/big/ -Dvoid=char -Dconst=" \
RANLIB=true ARRC="ar -rc"
+bfp: # FreeBSD Pluggable Authentication Modules
-+ $(BUILD) `cat EXTRASPECIALS` OS=bsi SIGTYPE=psx CHECKPW=pam \
++ $(BUILD) `cat SPECIALS` OS=bsi SIGTYPE=psx CHECKPW=pam \
+ SPOOLDIR=/var \
+ ACTIVEFILE=/usr/local/news/lib/active \
+ RSHPATH=/usr/bin/rsh \
@@ -52,7 +70,7 @@
bs3: # BSD/i386 3.0 or higher
$(BUILD) `$(CAT) SPECIALS` OS=bsi \
CHECKPW=bsi LOGINPW=bsi CRXTYPE=nfs \
-@@ -190,12 +199,13 @@
+@@ -213,12 +229,13 @@
bsf: # FreeBSD
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
@@ -69,7 +87,7 @@
bsi: # BSD/i386
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
-@@ -704,7 +714,7 @@
+@@ -754,7 +771,7 @@
build: clean once $(ARCHIVE)
diff --git a/mail/imap-uw/files/patch-ac b/mail/imap-uw/files/patch-ac
index bbdf5938b565..5529938f0d1c 100644
--- a/mail/imap-uw/files/patch-ac
+++ b/mail/imap-uw/files/patch-ac
@@ -1,18 +1,19 @@
---- src/imapd/Makefile.orig Tue Jan 9 16:08:17 2001
-+++ src/imapd/Makefile Sun Feb 4 11:54:00 2001
-@@ -18,9 +18,9 @@
+--- src/imapd/Makefile.orig Tue Apr 3 23:54:13 2001
++++ src/imapd/Makefile Wed Apr 4 00:05:39 2001
+@@ -18,10 +18,10 @@
# CPYRIGHT, included with this Distribution.
-ALERT=/etc/imapd.alert
+ALERT=$(PREFIX)/etc/imapd.alert
USERALERT=.imapalert
+ SHUTDOWN=/etc/nologin
-ANO=/etc/anonymous.newsgroups
+ANO=$(PREFIX)/etc/anonymous.newsgroups
SHELL= /bin/sh
-@@ -39,21 +39,23 @@
+@@ -40,22 +40,24 @@
# Get local definitions from c-client directory
C = ../c-client
@@ -22,13 +23,14 @@
-CFLAGS = -I$C `cat $C/CFLAGS` $(EXTRACFLAGS) -DANOFILE=\"$(ANO)\" \
+.if defined(WITH_DRAC)
+CFLAGS = `cat $C/CFLAGS` -DANOFILE=\"$(ANO)\" -DETC_DIR=\"$(PREFIX)/etc\" \
-+ -DALERTFILE=\"$(ALERT)\" -DUSERALERTFILE=\"$(USERALERT)\" -DDRAC_AUTH
++ -DALERTFILE=\"$(ALERT)\" -DUSERALERTFILE=\"$(USERALERT)\" -DDRAC_AUTH \
++ -DSHUTDOWNFILE=\"$(SHUTDOWN)\"
+LDFLAGS = $(EXTRALDFLAGS) `cat $C/LDFLAGS` -ldrac
+.else
+CFLAGS = `cat $C/CFLAGS` -DANOFILE=\"$(ANO)\" \
- -DALERTFILE=\"$(ALERT)\" -DUSERALERTFILE=\"$(USERALERT)\"
+ -DALERTFILE=\"$(ALERT)\" -DUSERALERTFILE=\"$(USERALERT)\" \
+ -DSHUTDOWNFILE=\"$(SHUTDOWN)\"
-LDFLAGS = $(CCLIENTLIB) `cat $C/LDFLAGS`
-+
+LDFLAGS = $(EXTRALDFLAGS) `cat $C/LDFLAGS`
+.endif
diff --git a/mail/imap-uw/files/patch-ah b/mail/imap-uw/files/patch-ah
index 7be00ff5b4e0..11985385b6a8 100644
--- a/mail/imap-uw/files/patch-ah
+++ b/mail/imap-uw/files/patch-ah
@@ -1,6 +1,6 @@
---- src/ipopd/ipop3d.c.orig Sun Dec 10 14:31:14 2000
-+++ src/ipopd/ipop3d.c Tue Mar 27 07:10:35 2001
-@@ -35,6 +35,11 @@
+--- src/ipopd/ipop3d.c.old Wed Apr 4 00:19:48 2001
++++ src/ipopd/ipop3d.c Wed Apr 4 00:28:24 2001
+@@ -28,6 +28,11 @@
#include <time.h>
#include "c-client.h"
@@ -10,22 +10,22 @@
+#include <stdlib.h>
+#endif /* DRAC_AUTH */
- /* Autologout timer */
- #define KODTIMEOUT 60*5
-@@ -61,6 +66,12 @@
+ #define CRLF PSOUT ("\015\012") /* primary output terpri */
+
+@@ -57,6 +62,12 @@
/* Global storage */
+#ifdef DRAC_AUTH
-+#define DRACTIMEOUT 10*60 /* check every 10 minutes */
-+time_t lastdrac = 0; /* time of last drac check */
++#define DRACTIMEOUT 10*60 /* check every 10 minutes */
++time_t lastdrac = 0; /* time of last drac check */
+extern char *getenv ();
+#endif /* DRAC_AUTH */
-+
- char *version = "2000.70"; /* server version */
++
+ char *version = "2001.75"; /* server version */
short state = AUTHORIZATION; /* server state */
short critical = NIL; /* non-zero if in critical code */
-@@ -104,7 +115,7 @@
+@@ -100,7 +111,7 @@
#include "linkage.c"
/* initialize server */
server_init ((s = strrchr (argv[0],'/')) ? s + 1 : argv[0],
diff --git a/mail/imap-uw/files/patch-ai b/mail/imap-uw/files/patch-ai
index 15edac731c55..bdf728892d2c 100644
--- a/mail/imap-uw/files/patch-ai
+++ b/mail/imap-uw/files/patch-ai
@@ -1,15 +1,6 @@
---- src/imapd/imapd.c.orig Tue Jan 9 16:11:44 2001
-+++ src/imapd/imapd.c Tue Mar 27 07:16:48 2001
-@@ -17,7 +17,7 @@
- * The full text of our legal notices is contained in the file called
- * CPYRIGHT, included with this Distribution.
- */
--
-+
- /* Primary I/O calls */
-
- #define PBIN getchar /* primary byte input */
-@@ -43,6 +43,11 @@
+--- src/imapd/imapd.c.old Wed Apr 4 00:31:43 2001
++++ src/imapd/imapd.c Wed Apr 4 00:34:15 2001
+@@ -29,6 +29,11 @@
#include "c-client.h"
#include <sys/stat.h>
@@ -19,40 +10,22 @@
+#include <stdlib.h>
+#endif /* DRAC_AUTH */
- /* Timeouts and timers */
-
-@@ -66,7 +71,7 @@
- #define SELECT 1
- #define OPEN 2
- #define LOGOUT 3
--
-+
- /* Body text fetching */
+ #define CRLF PSOUT ("\015\012") /* primary output terpri */
- typedef struct text_args {
-@@ -98,7 +103,7 @@
- char *date; /* current date */
- STRING *message; /* strintstruct of message */
- } MSGDATA;
--
-+
- /* Function prototypes */
-
- int main (int argc,char *argv[]);
-@@ -181,6 +186,12 @@
+@@ -171,6 +176,12 @@
/* Global storage */
+#ifdef DRAC_AUTH
-+#define DRACTIMEOUT 10*60 /* check every 10 minutes */
-+time_t lastdrac = 0; /* time of last drac check */
++#define DRACTIMEOUT 10*60 /* check every 10 minutes */
++time_t lastdrac = 0; /* time of last drac check */
+extern char *getenv ();
+#endif /* DRAC_AUTH */
+
- char *version = "2000.287"; /* version number of this server */
+ char *version = "2001.297"; /* version number of this server */
time_t alerttime = 0; /* time of last alert */
time_t sysalerttime = 0; /* time of last system alert */
-@@ -1139,6 +1150,44 @@
+@@ -1160,6 +1171,45 @@
lasterror ());
return;
}
@@ -94,6 +67,7 @@
+ }
+ }
+#endif /* DRAC_AUTH */
++
/* change in number of messages? */
if (existsquelled || (nmsgs != stream->nmsgs)) {
PSOUT ("* ");
diff --git a/mail/imap-uw/pkg-message b/mail/imap-uw/pkg-message
index a2687d0f55da..ab37cbb21a5a 100644
--- a/mail/imap-uw/pkg-message
+++ b/mail/imap-uw/pkg-message
@@ -5,10 +5,11 @@ pop2 stream tcp nowait root /usr/local/libexec/ipop2d ipop2d
pop3 stream tcp nowait root /usr/local/libexec/ipop3d ipop3d
imap4 stream tcp nowait root /usr/local/libexec/imapd imapd
-If PAM authentication support has been compiled in you may need to add the
-following lines to /etc/pam.conf:
+If PAM authentication support has been compiled in you may need to add
+something like the following lines to /etc/pam.conf (PAM authentication is
+default):
imap auth required pam_unix.so try_first_pass
imap account required pam_unix.so try_first_pass
-pop auth required pam_unix.so try_first_pass
-pop account required pam_unix.so try_first_pass
+pop3 auth required pam_unix.so try_first_pass
+pop3 account required pam_unix.so try_first_pass