summaryrefslogtreecommitdiff
path: root/mail
diff options
context:
space:
mode:
authorJim Mock <jim@FreeBSD.org>2001-02-09 20:32:37 +0000
committerJim Mock <jim@FreeBSD.org>2001-02-09 20:32:37 +0000
commit9de42e9adc15c2ac8340074bc220ad5ef23eaef6 (patch)
tree717fa6830b559d4677716859b06e714187d74128 /mail
parentMake the library installation permission safe. (diff)
Add drac, a daemon to dynamically update a relay authorization map for
Sendmail, Postfix, and other MTAs that support it. PR: 24134 Submitted by: Anders Nordby <anders@fix.no>
Notes
Notes: svn path=/head/; revision=38143
Diffstat (limited to 'mail')
-rw-r--r--mail/Makefile1
-rw-r--r--mail/drac/Makefile40
-rw-r--r--mail/drac/distinfo1
-rw-r--r--mail/drac/files/patch-aa49
-rw-r--r--mail/drac/files/patch-ab31
-rw-r--r--mail/drac/files/patch-ac12
-rw-r--r--mail/drac/pkg-comment1
-rw-r--r--mail/drac/pkg-descr11
-rw-r--r--mail/drac/pkg-plist3
9 files changed, 149 insertions, 0 deletions
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 <anders@fix.no>
+#
+# $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 <bsd.port.mk>
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