diff --git a/mail/Makefile b/mail/Makefile index c36b75b3f4ce..7f2e9aaf71c4 100644 --- a/mail/Makefile +++ b/mail/Makefile @@ -18,6 +18,7 @@ SUBDIR += cvsmail SUBDIR += cyrus SUBDIR += distribute + SUBDIR += drac SUBDIR += elm SUBDIR += elm+ME SUBDIR += emil diff --git a/mail/drac/Makefile b/mail/drac/Makefile new file mode 100644 index 000000000000..cd4398ab7274 --- /dev/null +++ b/mail/drac/Makefile @@ -0,0 +1,40 @@ +# New ports collection makefile for: drac +# Date created: 07 January 2001 +# Whom: Anders Nordby +# +# $FreeBSD$ +# + +PORTNAME= drac +PORTVERSION= 1.11 +CATEGORIES= mail +MASTER_SITES= ftp://ftp.cc.umanitoba.ca/src/ \ + http://www.freenix.no/~anders/ \ + ftp://totem.fix.no/pub/mirrors/misc/ +DISTNAME= ${PORTNAME} +EXTRACT_SUFX= .tar.Z + +MAINTAINER= anders@fix.no + +NO_WRKSUBDIR= yes + +MAN3= dracauth.3 +MAN1= rpc.dracd.1 + +post-patch: + @${PERL} -pi -e "s|%%PREFIX%%|${PREFIX}|g" ${WRKSRC}/rpc.dracd.1m + @${ECHO} "================================================================================" + @${ECHO} "Use make -DWITH_POSTFIX or -DWITH_EXIM with this port for databases compatible" + @${ECHO} "with those MTAs." + @${ECHO} "================================================================================" + +do-install: + @${INSTALL_PROGRAM} ${WRKSRC}/rpc.dracd ${PREFIX}/sbin/ + @${INSTALL_DATA} ${WRKSRC}/drac.h ${PREFIX}/include/ + @${INSTALL_DATA} ${WRKSRC}/libdrac.a ${PREFIX}/lib/ +.if !defined(NOPORTDOCS) + @${INSTALL_MAN} ${WRKSRC}/dracauth.3 ${PREFIX}/man/man3/ + @${INSTALL_MAN} ${WRKSRC}/rpc.dracd.1m ${PREFIX}/man/man1/rpc.dracd.1 +.endif + +.include diff --git a/mail/drac/distinfo b/mail/drac/distinfo new file mode 100644 index 000000000000..c7839ae4d7d8 --- /dev/null +++ b/mail/drac/distinfo @@ -0,0 +1 @@ +MD5 (drac.tar.Z) = 0b714b32c06b4ebd1779add6c8221248 diff --git a/mail/drac/files/patch-aa b/mail/drac/files/patch-aa new file mode 100644 index 000000000000..fcef405752d7 --- /dev/null +++ b/mail/drac/files/patch-aa @@ -0,0 +1,49 @@ +--- Makefile.old Mon Nov 20 16:35:16 2000 ++++ Makefile Sun Jan 14 20:06:47 2001 +@@ -5,9 +5,10 @@ + + # Paths + +-INSTALL = /usr/ucb/install +-EBIN = /usr/local/sbin +-MAN = /usr/local/man/man ++INSTALL = install ++EBIN = ${PREFIX}/sbin ++MAN = ${PREFIX}/man/man ++ETC_DIR = ${PREFIX}/etc + + # OS-Dependant settings + +@@ -33,20 +34,26 @@ + # -DCIDR_KEY # keys in CIDR format + # -DTERM_KD # keys and data nul-terminated + +-DEFS = -DTI_RPC -DFCNTL_LOCK -DSYSINFO ++.if defined(WITH_POSTFIX) ++DEFS= -DSOCK_RPC -DFLOCK_LOCK -DGETHOST -DDASH_C -DTERM_KD ++.elif defined(WITH_EXIM) ++DEFS= -DSOCK_RPC -DFLOCK_LOCK -DGETHOST -DDASH_C -DTERM_KD -DREQ_HASH -DCIDR_KEY ++.else ++DEFS= -DSOCK_RPC -DFLOCK_LOCK -DGETHOST -DDASH_C ++.endif + + # Compiler flags + CC = cc + RANLIB = : +-CFLAGS = $(DEFS) -g -I/usr/local/src/db/db-3.1.17/build_unix ++CFLAGS = $(DEFS) -g -I${PREFIX}/include -DDBFILE=\"$(ETC_DIR)/dracd.db\" -DALFILE=\"$(ETC_DIR)/dracd.allow\" + #CFLAGS = $(DEFS) -g -I/usr/local/src/db/db-2.4.14/Unix + #CFLAGS = $(DEFS) -g -I/usr/local/src/db/db.1.85/PORT/sunos.5.2/include +-LDLIBS = -L/usr/local/src/db/db-3.1.17/build_unix -lnsl -ldb ++LDLIBS = + #LDLIBS = -L/usr/local/src/db/db-2.4.14/Unix -lnsl -ldb + #LDLIBS = -L/usr/local/src/db/db.1.85/PORT/sunos.5.2 -lnsl -ldb +-TSTLIBS = -L. -ldrac -lnsl +-RPCGENFLAGS = +-#RPCGENFLAGS = -C ++TSTLIBS = -L. -ldrac ++#RPCGENFLAGS = ++RPCGENFLAGS = -C + + # Man sections + MANLIB = 3 diff --git a/mail/drac/files/patch-ab b/mail/drac/files/patch-ab new file mode 100644 index 000000000000..8868dd82e8ba --- /dev/null +++ b/mail/drac/files/patch-ab @@ -0,0 +1,31 @@ +--- rpc.dracd.1m.old Sun Jan 14 19:18:52 2001 ++++ rpc.dracd.1m Sun Jan 14 19:19:28 2001 +@@ -16,13 +16,13 @@ + \f4rpc.dracd\f1 + is the Dynamic Relay Authorization Control server. + It uses the Berkeley db package to maintain a relay authorization +-map for sendmail, by default \f4/etc/mail/dracd.db\f1. ++map for sendmail, by default \f4%%PREFIX%%/etc/dracd.db\f1. + POP and IMAP mail servers make an RPC call to add an entry to the + authorization cache after they have authenticated each user. + The daemon, rpc.dracd, adds or updates entries in the cache, and + periodically expires old entries. + Only trusted mail servers are permitted to communicate with rpc.dracd, +-as controlled by \f4/etc/mail/dracd.allow\f1. ++as controlled by \f4%%PREFIX%%/etc/dracd.allow\f1. + If this file does not exist, all local IP addresses are permitted. + .SS Allow File Format + The Allow File file consists of entries of the form: +@@ -58,10 +58,10 @@ + .SH FILES + .PD 0 + .TP 30 +-.B /etc/mail/dracd.db ++.B %%PREFIX%%/etc/dracd.db + default database file + .TP +-.B /etc/mail/dracd.allow ++.B %%PREFIX%%/etc/dracd.allow + default allow file. + .PD + .SH SEE ALSO diff --git a/mail/drac/files/patch-ac b/mail/drac/files/patch-ac new file mode 100644 index 000000000000..43e1990df242 --- /dev/null +++ b/mail/drac/files/patch-ac @@ -0,0 +1,12 @@ +--- rpc.dracd.c.old Sun Jan 14 20:53:02 2001 ++++ rpc.dracd.c Sun Jan 14 20:53:10 2001 +@@ -36,9 +36,6 @@ + #endif + #include "drac.h" + +-#define DBFILE "/etc/mail/dracd.db" +-#define ALFILE "/etc/mail/dracd.allow" +- + struct net_def { + struct net_def *nd_next; + struct in_addr nd_mask; diff --git a/mail/drac/pkg-comment b/mail/drac/pkg-comment new file mode 100644 index 000000000000..15e2cb9e4464 --- /dev/null +++ b/mail/drac/pkg-comment @@ -0,0 +1 @@ +Dynamic Relay Authorization Control, a pop-before-smtp implementation diff --git a/mail/drac/pkg-descr b/mail/drac/pkg-descr new file mode 100644 index 000000000000..0548afa4897a --- /dev/null +++ b/mail/drac/pkg-descr @@ -0,0 +1,11 @@ +DRAC is a daemon that dynamically updates a relay authorization map for +Sendmail, Postfix and other MTA's that supports it. It provides a way to allow +legitimate users to relay mail through an SMTP server, while still preventing +others from using it as a spam relay. User's IP addresses are added to the map +immediately after they have authenticated to the POP or IMAP server. By +default, map entries expire after 30 minutes, but can be renewed by additional +authentication. Periodically checking mail on a POP server is sufficient to do +this. The POP and SMTP servers can be on a POP server is sufficient to do this. +The POP and SMTP servers can be on different hosts. + +WWW: http://mail.cc.umanitoba.ca/drac/ diff --git a/mail/drac/pkg-plist b/mail/drac/pkg-plist new file mode 100644 index 000000000000..20661fba7750 --- /dev/null +++ b/mail/drac/pkg-plist @@ -0,0 +1,3 @@ +sbin/rpc.dracd +include/drac.h +lib/libdrac.a