ports/142399: new port: mail/policyd-spf-fs, SPF policy daemon for Postfix written in C

Takao TAGAMI tahkun-ports at milkcup.jp
Sun Jan 24 14:49:26 UTC 2010


Dear nemoliu.

I am sorry for the delay in answering. 
PORTVERSION pointed out was corrected.

The changed file is only Makefile.
But all files are sent by way of precaution. 


# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	postfix-policyd-spf-fs
#	postfix-policyd-spf-fs/pkg-descr
#	postfix-policyd-spf-fs/distinfo
#	postfix-policyd-spf-fs/Makefile
#	postfix-policyd-spf-fs/files
#	postfix-policyd-spf-fs/files/patch-Makefile
#	postfix-policyd-spf-fs/files/patch-policyd-spf-fs.c
#	postfix-policyd-spf-fs/pkg-message
#	postfix-policyd-spf-fs/pkg-plist
#
echo c - postfix-policyd-spf-fs
mkdir -p postfix-policyd-spf-fs > /dev/null 2>&1
echo x - postfix-policyd-spf-fs/pkg-descr
sed 's/^X//' >postfix-policyd-spf-fs/pkg-descr << 'd2690f22ce80c050e9cf2606230a4934'
XIt implements SPF for postfix, as a policy daemon.
XThis is a C port of policyd for Postfix.
X
XWWW: http://www.freestone.net/software/policyd-spf-fs/
X
XTakao TAGAMI <tahkun-ports at milkcup.jp>
d2690f22ce80c050e9cf2606230a4934
echo x - postfix-policyd-spf-fs/distinfo
sed 's/^X//' >postfix-policyd-spf-fs/distinfo << '6db06c9b5b9ae00b49e728327b0ae22e'
XMD5 (policyd-spf-fs-0+svn27.tar.gz) = 82acfd48ebde35ef15947973c975ec11
XSHA256 (policyd-spf-fs-0+svn27.tar.gz) = 51da5c49cc40ba34312fda6f28538c611a10cfe5b99090a2daf336595d1d1689
XSIZE (policyd-spf-fs-0+svn27.tar.gz) = 19173
6db06c9b5b9ae00b49e728327b0ae22e
echo x - postfix-policyd-spf-fs/Makefile
sed 's/^X//' >postfix-policyd-spf-fs/Makefile << '75368233bb3eff115162100668fb14f1'
X# New ports collection makefile for:	policyd-spf-sf
X# Date created:				22 Dec 2009
X# Whom:					Takao TAGAMI<tahkun-ports at milkcup.jp>
X#
X# $FreeBSD:$
X#
X
XPORTNAME=		policyd-spf-fs
XPORTVERSION=		0.23
XCATEGORIES=		mail
XMASTER_SITES=		ftp://ftp.freestone.net/pub/policyd-spf-fs/ \
X			http://www.freestone.net/ftp/policyd-spf-fs/
XPKGNAMEPREFIX=		postfix-
XDISTNAME=		${PORTNAME}-0+svn27
X
XMAINTAINER=		tahkun-ports at milkcup.jp
XCOMMENT=		SPF policy daemon for Postfix written in C
X
XLIB_DEPENDS=		spf2:${PORTSDIR}/mail/libspf2
X
XCONFLICTS=		policyd-1.* policyd-spf-1*
X
XUSE_GMAKE=		yes
X
XMAN1=			policyd-spf-fs.1
X
Xpost-install:
X	@${CAT} ${PKGMESSAGE}
X
X.include <bsd.port.mk>
75368233bb3eff115162100668fb14f1
echo c - postfix-policyd-spf-fs/files
mkdir -p postfix-policyd-spf-fs/files > /dev/null 2>&1
echo x - postfix-policyd-spf-fs/files/patch-Makefile
sed 's/^X//' >postfix-policyd-spf-fs/files/patch-Makefile << '08eb86371c73620a07285e7893457bff'
X*** Makefile.orig	Tue Sep 11 19:30:28 2007
X--- Makefile	Tue Dec 22 13:38:13 2009
X***************
X*** 1,13 ****
X  # $Id: Makefile 24 2007-09-11 10:30:28Z cramer $
X  
X  PREFIX	?= /usr/local
X! BIN     = $(DISTPATH)$(PREFIX)/bin
X! MAN	= $(DISTPATH)$(PREFIX)/share/man/man1
X  
X  CC = gcc
X! CFLAGS = -g -O2 -Wall -DHAVE_GETOPT_LONG_ONLY
X! INCLUDE = -I /usr/include/spf2
X! LIBS = -lspf2 -lpthread -lnsl -lresolv
X  
X  .PHONY: install
X  .PHONY: all
X--- 1,13 ----
X  # $Id: Makefile 24 2007-09-11 10:30:28Z cramer $
X  
X  PREFIX	?= /usr/local
X! SBIN     = $(DISTPATH)$(PREFIX)/sbin
X! MAN	= $(DISTPATH)$(PREFIX)/man/man1
X  
X  CC = gcc
X! CFLAGS = -g -O2 -Wall -DHAVE_GETOPT_LONG_ONLY -DHAVE_NS_TYPE
X! INCLUDE = -I /usr/local/include/spf2
X! LIBS = -lspf2 -lpthread -L/usr/local/lib
X  
X  .PHONY: install
X  .PHONY: all
X***************
X*** 24,30 ****
X  
X  install: policyd-spf-fs policyd-spf-fs.1
X  	strip policyd-spf-fs
X! 	install policyd-spf-fs $(BIN)
X  	install policyd-spf-fs.1 $(MAN)
X  	
X  install_restart:
X--- 24,30 ----
X  
X  install: policyd-spf-fs policyd-spf-fs.1
X  	strip policyd-spf-fs
X! 	install policyd-spf-fs $(SBIN)
X  	install policyd-spf-fs.1 $(MAN)
X  	
X  install_restart:
X***************
X*** 34,37 ****
X  
X  clean:
X  	rm -f *~ *.o policyd-spf-fs
X! 	
X\ No newline at end of file
X--- 34,37 ----
X  
X  clean:
X  	rm -f *~ *.o policyd-spf-fs
X! 
08eb86371c73620a07285e7893457bff
echo x - postfix-policyd-spf-fs/files/patch-policyd-spf-fs.c
sed 's/^X//' >postfix-policyd-spf-fs/files/patch-policyd-spf-fs.c << 'dc9f0a5fda2334eb70b570f18ff5a9e4'
X*** policyd-spf-fs.c.orig	Tue Sep 11 20:06:29 2007
X--- policyd-spf-fs.c	Tue Dec 22 16:45:22 2009
X***************
X*** 100,106 ****
X  }
X  
X  #define CONTINUE_DUNNO(s) { \
X! 	printf("action=PREPEND X-Received-SPF: %s\n", s); \
X  	printf("action=%s\n\n", POSTFIX_DUNNO); \
X  	fflush(stdout); res=255; \
X  	if (opts->debug) \
X--- 100,106 ----
X  }
X  
X  #define CONTINUE_DUNNO(s) { \
X! 	printf("action=PREPEND Received-SPF: %s\n", s); \
X  	printf("action=%s\n\n", POSTFIX_DUNNO); \
X  	fflush(stdout); res=255; \
X  	if (opts->debug) \
X***************
X*** 345,353 ****
X        switch (spf_response->result) {
X                  case SPF_RESULT_PASS:
X                          strcpy(result, POSTFIX_DUNNO);
X!                         printf("action=PREPEND X-%s\n",SPF_response_get_received_spf(spf_response));
X                          snprintf(spf_comment, RESULTSIZE, SPF_response_get_received_spf(spf_response));
X                          break;
X                  case SPF_RESULT_FAIL:
X                  	strcpy(result, POSTFIX_REJECT);
X                          snprintf(spf_comment, RESULTSIZE,"SPF Reject: %s",
X--- 345,354 ----
X        switch (spf_response->result) {
X                  case SPF_RESULT_PASS:
X                          strcpy(result, POSTFIX_DUNNO);
X!                         printf("action=PREPEND %s\n",SPF_response_get_received_spf(spf_response));
X                          snprintf(spf_comment, RESULTSIZE, SPF_response_get_received_spf(spf_response));
X                          break;
X+ /*
X                  case SPF_RESULT_FAIL:
X                  	strcpy(result, POSTFIX_REJECT);
X                          snprintf(spf_comment, RESULTSIZE,"SPF Reject: %s",
X***************
X*** 356,361 ****
X--- 357,363 ----
X                                                                  : (spf_response->header_comment
X                                                                          ? spf_response->header_comment
X                                                                          : "")));
X+ */
X                          break;
X                  case SPF_RESULT_TEMPERROR:
X                  case SPF_RESULT_PERMERROR:
X***************
X*** 367,378 ****
X                                                                  : ""));
X  			spf_comment[0]='\0';
X                          break;
X                  case SPF_RESULT_SOFTFAIL:
X                  case SPF_RESULT_NEUTRAL: 
X                  case SPF_RESULT_NONE:    
X                  default:
X                          strcpy(result, POSTFIX_DUNNO);
X!                         printf("action=PREPEND X-%s\n",SPF_response_get_received_spf(spf_response));
X                          snprintf(spf_comment, RESULTSIZE, SPF_response_get_received_spf(spf_response));
X                          break;
X          }
X--- 369,381 ----
X                                                                  : ""));
X  			spf_comment[0]='\0';
X                          break;
X+                 case SPF_RESULT_FAIL:
X                  case SPF_RESULT_SOFTFAIL:
X                  case SPF_RESULT_NEUTRAL: 
X                  case SPF_RESULT_NONE:    
X                  default:
X                          strcpy(result, POSTFIX_DUNNO);
X!                         printf("action=PREPEND %s\n",SPF_response_get_received_spf(spf_response));
X                          snprintf(spf_comment, RESULTSIZE, SPF_response_get_received_spf(spf_response));
X                          break;
X          }
dc9f0a5fda2334eb70b570f18ff5a9e4
echo x - postfix-policyd-spf-fs/pkg-message
sed 's/^X//' >postfix-policyd-spf-fs/pkg-message << '05316f3a51c77d7d7f3d650532509302'
X-----------------------------------------------------------------
XAdd the following to master.cf
X
X# Policy daemon for SPF
Xspf-policy  unix  -       n       n       -       -       spawn
X        user=nobody argv=/usr/local/sbin/policyd-spf-fs --debug=1
X
X
XAnd this to main.cf
X
Xsmtpd_sender_restrictions =
X   your policy here
X   ...
X   reject_unknown_sender_domain
X   reject_unverified_sender
X   check_policy_service unix:private/spf-policy
X
XPlease do postfix in restart after it changes. 
X-----------------------------------------------------------------
05316f3a51c77d7d7f3d650532509302
echo x - postfix-policyd-spf-fs/pkg-plist
sed 's/^X//' >postfix-policyd-spf-fs/pkg-plist << 'd98384d76b2c759a6cf9be8f98f15431'
Xsbin/policyd-spf-fs
d98384d76b2c759a6cf9be8f98f15431
exit



More information about the freebsd-ports-bugs mailing list