aboutsummaryrefslogtreecommitdiff
path: root/mail/sid-milter
diff options
context:
space:
mode:
authorDirk Meyer <dinoex@FreeBSD.org>2005-03-09 05:38:44 +0000
committerDirk Meyer <dinoex@FreeBSD.org>2005-03-09 05:38:44 +0000
commitc69fe5c0c3d7c548d306b5a415459abf6bb6698a (patch)
tree7db7202d31b5e721fdb605ef8ddd9da0785a5e2f /mail/sid-milter
parentffd33921274bab928c7796cfe5347e2435f69b8a (diff)
downloadports-c69fe5c0c3d7c548d306b5a415459abf6bb6698a.tar.gz
ports-c69fe5c0c3d7c548d306b5a415459abf6bb6698a.zip
open source implementation of the Sender ID specification as defined
by the Internet Engineering Task Force's (IETF) MARID Working Group (Mail Authorization Records in DNS). sid-milter implements the -core and -protocol specifications. Additionally, sid-milter implements the "SPF Classic" record protocol (v=spf1) as defined by the SPF community. WWW: http://sendmail.net/sid-milter/
Notes
Notes: svn path=/head/; revision=130676
Diffstat (limited to 'mail/sid-milter')
-rw-r--r--mail/sid-milter/Makefile82
-rw-r--r--mail/sid-milter/distinfo2
-rw-r--r--mail/sid-milter/files/milter-sid.sh48
-rw-r--r--mail/sid-milter/files/patch-sid-filter.c123
-rw-r--r--mail/sid-milter/files/site.config.m46
-rw-r--r--mail/sid-milter/files/site.config.m4.milter2
-rw-r--r--mail/sid-milter/pkg-descr9
-rw-r--r--mail/sid-milter/pkg-plist11
8 files changed, 283 insertions, 0 deletions
diff --git a/mail/sid-milter/Makefile b/mail/sid-milter/Makefile
new file mode 100644
index 000000000000..e18e79a6ae5c
--- /dev/null
+++ b/mail/sid-milter/Makefile
@@ -0,0 +1,82 @@
+# New ports collection makefile for: sid-milter
+# Date created: 18. Dec 2004
+# Whom: dirk.meyer@dinoex.sub.org
+#
+# $FreeBSD$
+#
+
+PORTNAME= sid-milter
+PORTVERSION= 0.2.5
+CATEGORIES= mail
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
+MASTER_SITE_SUBDIR= sid-milter
+
+MAINTAINER= dinoex@FreeBSD.org
+COMMENT= An sid and spf milter for Sendmail
+
+.if !defined(SENDMAIL_MILTER_IN_BASE)
+.if defined(SENDMAIL_WITH_SHARED_MILTER)
+LIB_DEPENDS+= milter.3:${PORTSDIR}/mail/${SENDMAIL_MILTER_PORT}
+.else
+BUILD_DEPENDS+= ${LOCALBASE}/lib/libmilter.a:${PORTSDIR}/mail/${SENDMAIL_MILTER_PORT}
+.endif
+.endif
+
+RESTRICTED= may incorporate intellectual property, possible patent issues
+
+SENDMAIL_MILTER_PORT?= sendmail
+USE_REINPLACE= yes
+MAKE_ENV+= LDFLAGS="${LDFLAGS}"
+WCONF= ${WRKSRC}/devtools/Site
+MAN3= ar.3
+MAN8= sid-filter.8
+INCFILES= libar/ar.h
+DOCSFILES= INSTALL KNOWNBUGS LICENSE README README-SenderID RELEASE_NOTES
+
+SITE+= ${FILESDIR}/site.config.m4
+.if !defined(SENDMAIL_MILTER_IN_BASE)
+SITE+= ${FILESDIR}/site.config.m4.milter
+.endif
+
+.include <bsd.port.pre.mk>
+
+.if defined(SENDMAIL_WITHOUT_MILTER)
+pre-fetch:
+ @${ECHO_MSG}
+ @${ECHO_MSG} You must unset variable SENDMAIL_WITHOUT_MILTER,
+ @${ECHO_MSG} and rebuild sendmail in the ports
+ @${FALSE}
+.endif
+
+pre-configure:
+ @${SED} -e "s=%%PREFIX%%=${PREFIX}=" ${FILESDIR}/milter-sid.sh \
+ > ${WRKSRC}/milter-sid.sh
+ ${REINPLACE_CMD} -e 's|-pthread|${PTHREAD_LIBS}|' \
+ -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
+ ${WRKSRC}/devtools/OS/FreeBSD
+ ${SED} -e "s|%%PREFIX%%|${PREFIX}|g" \
+ -e "s|%%LOCALBASE%%|${LOCALBASE}|g" \
+ ${SITE} > ${WCONF}/site.config.m4
+
+post-install:
+ ${INSTALL_SCRIPT} ${WRKSRC}/milter-sid.sh \
+ ${PREFIX}/etc/rc.d/milter-sid.sh.sample
+.for i in ${MAN3}
+ @${RM} -f ${MANPREFIX}/man/cat3/${i} ${MANPREFIX}/man/cat3/${i}.gz
+ ${INSTALL_MAN} ${WRKSRC}/*/${i} ${MANPREFIX}/man/man3/
+.endfor
+.for i in ${MAN8}
+ @${RM} -f ${MANPREFIX}/man/cat8/${i} ${MANPREFIX}/man/cat8/${i}.gz
+ ${INSTALL_MAN} ${WRKSRC}/*/${i} ${MANPREFIX}/man/man8/
+.endfor
+.for i in ${INCFILES}
+ ${INSTALL_DATA} ${WRKSRC}/${i} ${PREFIX}/include/
+.endfor
+.if !defined(NOPORTDOCS)
+ ${MKDIR} ${DOCSDIR}
+.for i in ${DOCSFILES}
+ ${INSTALL_DATA} ${WRKSRC}/${i} ${DOCSDIR}/
+.endfor
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/mail/sid-milter/distinfo b/mail/sid-milter/distinfo
new file mode 100644
index 000000000000..3010502cdc80
--- /dev/null
+++ b/mail/sid-milter/distinfo
@@ -0,0 +1,2 @@
+MD5 (sid-milter-0.2.5.tar.gz) = e258571b141242a77f6d567938e173dc
+SIZE (sid-milter-0.2.5.tar.gz) = 283159
diff --git a/mail/sid-milter/files/milter-sid.sh b/mail/sid-milter/files/milter-sid.sh
new file mode 100644
index 000000000000..a644fca5fee9
--- /dev/null
+++ b/mail/sid-milter/files/milter-sid.sh
@@ -0,0 +1,48 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+if ! test -x %%PREFIX%%/libexec/sid-filter
+then
+ exit 0
+fi
+sid_filter_args="-t -r 0"
+case "$1" in
+start)
+ cd /root
+ sh "${0}" wait
+ rm -f /var/run/sid-filter.pid /var/run/sid-filter
+ %%PREFIX%%/libexec/sid-filter -l -p local:/var/run/sid-filter \
+ -P /var/run/sid-filter.pid ${sid_filter_args}
+ echo -n ' sid-filter'
+ ;;
+stop)
+ if test -r /var/run/sid-filter.pid
+ then
+ kill `head -1 /var/run/sid-filter.pid`
+ else
+ echo " sid-filter: not running" 2>&1
+ fi
+ sh "${0}" wait
+ rm -f /var/run/sid-filter.pid
+ ;;
+wait)
+ while ps -ax -o pid,command | fgrep sid-filter
+ do
+ echo "please wait"
+ sleep 1
+ done
+ ;;
+reload)
+ if test -r /var/run/sid-filter.pid
+ then
+ kill -USR1 `head -1 /var/run/sid-filter.pid`
+ else
+ echo " sid-filter: not running" 2>&1
+ fi
+ ;;
+*)
+ echo "Usage: ${0##*/}: { start | stop | reload }" >&2
+ exit 64
+ ;;
+esac
diff --git a/mail/sid-milter/files/patch-sid-filter.c b/mail/sid-milter/files/patch-sid-filter.c
new file mode 100644
index 000000000000..cde26c1af3ff
--- /dev/null
+++ b/mail/sid-milter/files/patch-sid-filter.c
@@ -0,0 +1,123 @@
+--- sid-filter/sid-filter.c.orig Fri Dec 3 01:06:22 2004
++++ sid-filter/sid-filter.c Sat Dec 18 22:08:31 2004
+@@ -857,7 +857,7 @@
+ if (dolog)
+ {
+ syslog(LOG_ERR,
+- "%s DNS reply garbled (%d %s)",
++ "%s DNS reply garbled expand1 (%d %s)",
+ sic->ctx_jobid, type, dd);
+ }
+
+@@ -876,8 +876,11 @@
+ if (dolog)
+ {
+ syslog(LOG_ERR,
+- "%s DNS reply garbled (%d %s)",
++ "%s DNS reply garbled type1 (%d %s)",
+ sic->ctx_jobid, type, dd);
++ syslog(LOG_ERR,
++ "rtype=%d, type=%d, class=%d, expected=%d",
++ rtype, type, class, (int)C_IN);
+ }
+
+ return -1;
+@@ -905,7 +908,7 @@
+ if (dolog)
+ {
+ syslog(LOG_ERR,
+- "%s DNS reply garbled (%d %s)",
++ "%s DNS reply garbled expand2 (%d %s)",
+ sic->ctx_jobid, type, dd);
+ }
+
+@@ -918,7 +921,7 @@
+ if (dolog)
+ {
+ syslog(LOG_ERR,
+- "%s DNS reply garbled (%d %s)",
++ "%s DNS reply garbled cp1 (%d %s)",
+ sic->ctx_jobid, type, dd);
+ }
+
+@@ -932,7 +935,7 @@
+ if (dolog)
+ {
+ syslog(LOG_ERR,
+- "%s DNS reply garbled (%d %s)",
++ "%s DNS reply garbled type2 (%d %s)",
+ sic->ctx_jobid, type, dd);
+ }
+
+@@ -948,7 +951,7 @@
+ if (dolog)
+ {
+ syslog(LOG_ERR,
+- "%s DNS reply garbled (%d %s)",
++ "%s DNS reply garbled cp2 (%d %s)",
+ sic->ctx_jobid, type, dd);
+ }
+
+@@ -961,7 +964,7 @@
+ if (dolog)
+ {
+ syslog(LOG_ERR,
+- "%s DNS reply garbled (%d %s)",
++ "%s DNS reply garbled cp3 (%d %s)",
+ sic->ctx_jobid, type, dd);
+ }
+
+@@ -999,7 +1002,7 @@
+ if (dolog)
+ {
+ syslog(LOG_ERR,
+- "%s DNS reply garbled (%d %s)",
++ "%s DNS reply garbled mx (%d %s)",
+ sic->ctx_jobid, type,
+ dd);
+ }
+@@ -1018,7 +1021,7 @@
+ if (dolog)
+ {
+ syslog(LOG_ERR,
+- "%s DNS reply garbled (%d %s)",
++ "%s DNS reply garbled mx expand (%d %s)",
+ sic->ctx_jobid, type,
+ dd);
+ }
+@@ -1047,7 +1050,7 @@
+ if (dolog)
+ {
+ syslog(LOG_ERR,
+- "%s DNS reply garbled (%d %s)",
++ "%s DNS reply garbled ptr (%d %s)",
+ sic->ctx_jobid, type,
+ dd);
+ }
+@@ -1073,7 +1076,7 @@
+ /* sort MX list */
+ for (n = 0; n < nmx; n++)
+ {
+- if (prec[n] > prec[n + 1])
++ if ((n + 1 < nmx) && prec[n] > prec[n + 1])
+ {
+ m = prec[n];
+ prec[n] = prec[n + 1];
+@@ -1772,7 +1775,7 @@
+ }
+
+ sid_msgcleanup(ctx);
+- return SMFIS_TEMPFAIL;
++ return (testmode ? SMFIS_ACCEPT : SMFIS_TEMPFAIL);
+ }
+
+ /* construct the status header's content */
+@@ -1801,7 +1804,7 @@
+ }
+
+ sid_msgcleanup(ctx);
+- return SMFIS_TEMPFAIL;
++ return (testmode ? SMFIS_ACCEPT : SMFIS_TEMPFAIL);
+ }
+
+ sm_strlcat(stathdr, "; spf=", sizeof stathdr);
diff --git a/mail/sid-milter/files/site.config.m4 b/mail/sid-milter/files/site.config.m4
new file mode 100644
index 000000000000..27e89c0c22a6
--- /dev/null
+++ b/mail/sid-milter/files/site.config.m4
@@ -0,0 +1,6 @@
+define(`confEBINDIR',`%%PREFIX%%/libexec')
+define(`confMANROOT',`%%PREFIX%%/man/man')
+define(`confMANROOTMAN',`%%PREFIX%%/man/man')
+define(`confUBINDIR',`%%PREFIX%%/libexec')
+define(`confLIBDIR',`%%PREFIX%%/lib')
+define(`confDONT_INSTALL_CATMAN',`True')
diff --git a/mail/sid-milter/files/site.config.m4.milter b/mail/sid-milter/files/site.config.m4.milter
new file mode 100644
index 000000000000..b02c20ecfe0a
--- /dev/null
+++ b/mail/sid-milter/files/site.config.m4.milter
@@ -0,0 +1,2 @@
+APPENDDEF(`confENVDEF',`-I%%LOCALBASE%%/include')
+APPENDDEF(`confLIBDIRS', `-L%%LOCALBASE%%/lib')
diff --git a/mail/sid-milter/pkg-descr b/mail/sid-milter/pkg-descr
new file mode 100644
index 000000000000..546cfc764c18
--- /dev/null
+++ b/mail/sid-milter/pkg-descr
@@ -0,0 +1,9 @@
+open source implementation of the Sender ID specification as defined
+by the Internet Engineering Task Force's (IETF) MARID Working Group
+(Mail Authorization Records in DNS).
+
+sid-milter implements the -core and -protocol specifications.
+Additionally, sid-milter implements the "SPF Classic" record protocol
+(v=spf1) as defined by the SPF community.
+
+WWW: http://sendmail.net/sid-milter/
diff --git a/mail/sid-milter/pkg-plist b/mail/sid-milter/pkg-plist
new file mode 100644
index 000000000000..7ba07ab13438
--- /dev/null
+++ b/mail/sid-milter/pkg-plist
@@ -0,0 +1,11 @@
+etc/rc.d/milter-sid.sh.sample
+include/ar.h
+lib/libar.a
+libexec/sid-filter
+%%PORTDOCS%%%%DOCSDIR%%/INSTALL
+%%PORTDOCS%%%%DOCSDIR%%/KNOWNBUGS
+%%PORTDOCS%%%%DOCSDIR%%/LICENSE
+%%PORTDOCS%%%%DOCSDIR%%/README
+%%PORTDOCS%%%%DOCSDIR%%/README-SenderID
+%%PORTDOCS%%%%DOCSDIR%%/RELEASE_NOTES
+%%PORTDOCS%%@dirrm %%DOCSDIR%%