From lysenok@mail.midland.com.ua  Fri Oct  5 09:18:17 2007
Return-Path: <lysenok@mail.midland.com.ua>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 2CC2D16A417
	for <FreeBSD-gnats-submit@freebsd.org>; Fri,  5 Oct 2007 09:18:17 +0000 (UTC)
	(envelope-from lysenok@mail.midland.com.ua)
Received: from mail.metcentr.com.ua (mail.metcentr.com.ua [212.82.212.50])
	by mx1.freebsd.org (Postfix) with ESMTP id 1968213C43E
	for <FreeBSD-gnats-submit@freebsd.org>; Fri,  5 Oct 2007 09:18:15 +0000 (UTC)
	(envelope-from lysenok@mail.midland.com.ua)
Received: from mail.midland.com.ua (localhost [127.0.0.1])
	by mail.metcentr.com.ua (8.13.8/8.13.8) with ESMTP id l959HG5U059646
	for <FreeBSD-gnats-submit@freebsd.org>; Fri, 5 Oct 2007 12:17:52 +0300 (EEST)
	(envelope-from lysenok@mail.midland.com.ua)
Received: (from root@localhost)
	by mail.midland.com.ua (8.13.8/8.13.8/Submit) id l959HGfB059645;
	Fri, 5 Oct 2007 12:17:16 +0300 (EEST)
	(envelope-from lysenok)
Message-Id: <200710050917.l959HGfB059645@mail.midland.com.ua>
Date: Fri, 5 Oct 2007 12:17:16 +0300 (EEST)
From: Anton Lysenok <bart@tapolsky.net.ua>
Reply-To: Anton Lysenok <bart@tapolsky.net.ua>
To: FreeBSD-gnats-submit@freebsd.org
Cc:
Subject: [NEW PORT] mail/smfsav: Sendmail Sender Address Validator
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         116948
>Category:       ports
>Synopsis:       [NEW PORT] mail/smfsav: Sendmail Sender Address Validator
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    pav
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Fri Oct 05 09:20:02 GMT 2007
>Closed-Date:    Sun Feb 17 21:18:00 UTC 2008
>Last-Modified:  Sun Feb 17 21:20:01 UTC 2008
>Originator:     Anton Lysenok
>Release:        FreeBSD 6.2-RELEASE-p5 i386
>Organization:
>Environment:
System: FreeBSD xxxx 6.2-RELEASE-p5 FreeBSD 6.2-RELEASE-p5 #0: Mon May 28 13:36:21 EEST 2007 xxxx:xxxx i386


	
>Description:
	
  It's a lightweight, fast and reliable Sendmail milter that implements
a real-time Sender e-Mail Address Verification technology. This technology
can stop some kinds of SPAM with a spoofed sender's e-Mail address.
  Also it implements a real-time Recipient e-Mail Address Verification
technology. It can be useful if your machine is a backup MX for the recipient's
domains or if your machine forwards all e-Mail messages as a relay host for your
domains to another internal or external e-Mail servers.
  It's a lite alternative for the spamilter, milter-sender and milter-ahead
milters.

WWW: http://smfs.sourceforge.net/

- Eugene Kurmanin
me@kurmanin.info

------------------------------
SOME COMMENTS FROM MANTAINER:
Bind package is required only for build, thats why I do not install bind to system. Port's Makefile
only builds bind and includes needed libraries and then cleans bind's work folder.
 
>How-To-Repeat:
	
>Fix:

	

--- smfsav.shar begins here ---
# 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:
#
#	smfsav
#	smfsav/Makefile
#	smfsav/distinfo
#	smfsav/files
#	smfsav/files/patch-smf-sav.conf
#	smfsav/files/patch-smf-sav.c
#	smfsav/files/patch-Makefile
#	smfsav/files/patch-init
#	smfsav/files/patch-install.sh
#	smfsav/files/patch-readme
#	smfsav/pkg-message
#	smfsav/pkg-descr
#	smfsav/pkg-deinstall
#
echo c - smfsav
mkdir -p smfsav > /dev/null 2>&1
echo x - smfsav/Makefile
sed 's/^X//' >smfsav/Makefile << 'END-of-smfsav/Makefile'
X# New ports collection makefile for:   smfsav
X# Date created:        05 October 2007
X# Whom:            Anton Lysenok <bart@tapolsky.net.ua>
X#
X# $FreeBSD$
X#
X
XPORTNAME=	smfsav
XPORTVERSION=	1.4.0
XCATEGORIES=	mail
XMASTER_SITES=	${MASTER_SITE_SOURCEFORGE}
XMASTER_SITE_SUBDIR=	smfs
XDISTNAME=	smf-sav-1.4.0
X
XMAINTAINER=	bart@tapolsky.net.ua
XCOMMENT=	Sendmail Sender Address Validator
X
XBUILD_DEPENDS=	${PORTSDIR}/dns/bind84/work/src/lib/libbind_r.a:${PORTSDIR}/dns/bind84:all \
X	${PORTSDIR}/dns/bind84/work/src/include/arpa/inet.h:${PORTSDIR}/dns/bind84:all \
X	${PORTSDIR}/dns/bind84/work/src/include/arpa/nameser.h:${PORTSDIR}/dns/bind84:all \
X	${PORTSDIR}/dns/bind84/work/src/include/netdb.h:${PORTSDIR}/dns/bind84:all \
X	${PORTSDIR}/dns/bind84/work/src/include/resolv.h:${PORTSDIR}/dns/bind84:all
X
XPLIST_FILES=	sbin/smfsav \
X	etc/smfsav.conf-dist
X
X.if !defined(NOPORTDOCS)
XPLIST_FILES+=	share/doc/${PORTNAME}/COPYING \
X	share/doc/${PORTNAME}/CHANGES \
X	share/doc/${PORTNAME}/README
XPLIST_DIRS=	share/doc/${PORTNAME}
X.endif
X
Xdo-install:
X	@${WRKSRC}/install.sh
X	@${ECHO}
X	${INSTALL_PROGRAM} ${WRKSRC}/smf-sav ${PREFIX}/sbin/smfsav
X	${INSTALL_DATA} ${WRKSRC}/smf-sav.conf ${PREFIX}/etc/smfsav.conf-dist
X	${INSTALL_SCRIPT} ${WRKSRC}/init/smfsav.freebsd ${PREFIX}/etc/rc.d/smfsav
X	${MKDIR} /var/run/smfsav
X	${CHOWN} smfsav:smfsav /var/run/smfsav
X
Xpost-install:
X.if !defined(NOPORTDOCS)
X	${MKDIR} ${DOCSDIR}
X	${INSTALL_DATA} ${WRKSRC}/COPYING ${DOCSDIR}/COPYING
X	${INSTALL_DATA} ${WRKSRC}/ChangeLog ${DOCSDIR}/CHANGES
X	${INSTALL_DATA} ${WRKSRC}/readme ${DOCSDIR}/README
X.endif
X
X	@${CAT} ${PKGMESSAGE}
X
X.include <bsd.port.mk>
END-of-smfsav/Makefile
echo x - smfsav/distinfo
sed 's/^X//' >smfsav/distinfo << 'END-of-smfsav/distinfo'
XMD5 (smf-sav-1.4.0.tar.gz) = 7f3d0b66a2b940c86b47e94afe5f96a2
XSHA256 (smf-sav-1.4.0.tar.gz) = 77a28d012330581b5ecaf126a153f049731c399e294aab0ded53c1b0abab68cc
XSIZE (smf-sav-1.4.0.tar.gz) = 21968
END-of-smfsav/distinfo
echo c - smfsav/files
mkdir -p smfsav/files > /dev/null 2>&1
echo x - smfsav/files/patch-smf-sav.conf
sed 's/^X//' >smfsav/files/patch-smf-sav.conf << 'END-of-smfsav/files/patch-smf-sav.conf'
X--- smf-sav.conf.orig	Wed Oct 25 23:15:10 2006
X+++ smf-sav.conf	Fri Oct  5 10:33:30 2007
X@@ -1,4 +1,4 @@
X-# /etc/mail/smfs/smf-sav.conf
X+# /usr/local/etc/smfsav.conf
X #
X # smf-sav configuration file v1.4.0 (it's read at start)
X #
X@@ -103,9 +103,9 @@
X 
X # Socket used to communicate with a Sendmail daemon
X #
X-# Default: unix:/var/run/smfs/smf-sav.sock
X+# Default: unix:/var/run/smfsav/smfsav.sock
X #
X-#Socket		unix:/var/run/smfs/smf-sav.sock
X+#Socket		unix:/var/run/smfsav/smfsav.sock
X 
X # Facility for logging via a Syslog daemon
X #
END-of-smfsav/files/patch-smf-sav.conf
echo x - smfsav/files/patch-smf-sav.c
sed 's/^X//' >smfsav/files/patch-smf-sav.c << 'END-of-smfsav/files/patch-smf-sav.c'
X--- smf-sav.c.orig	Wed Oct 25 23:15:10 2006
X+++ smf-sav.c	Wed Aug 29 15:54:13 2007
X@@ -20,11 +20,7 @@
X #endif
X 
X #include <arpa/inet.h>
X-#if __linux__ || __sun__
X #include <arpa/nameser.h>
X-#else
X-#include <bind/arpa/nameser.h>
X-#endif
X #include <ctype.h>
X #include <errno.h>
X #include <fcntl.h>
X@@ -33,20 +29,12 @@
X #endif
X #include <grp.h>
X #include <libmilter/mfapi.h>
X-#if __linux__ || __sun__
X #include <netdb.h>
X-#else
X-#include <bind/netdb.h>
X-#endif
X #include <netinet/in.h>
X #include <pthread.h>
X #include <pwd.h>
X #include <regex.h>
X-#if __linux__ || __sun__
X #include <resolv.h>
X-#else
X-#include <bind/resolv.h>
X-#endif
X #include <signal.h>
X #include <stdio.h>
X #include <stdlib.h>
X@@ -68,7 +56,7 @@
X #define hash_size(x)		((unsigned long) 1 << x)
X #define hash_mask(x)		(hash_size(x) - 1)
X 
X-#define CONFIG_FILE		"/etc/mail/smfs/smf-sav.conf"
X+#define CONFIG_FILE		"/usr/local/etc/smfsav.conf"
X #define PUBLIC_NAME		"yourhost.yourdomain.tld"
X #define SAFE_CALLBACK		"postmaster@yourdomain.tld"
X #define SYSLOG_FACILITY		LOG_MAIL
X@@ -81,9 +69,9 @@
X #define TO_PASS_TTL		3600
X #define TO_TEMPFAIL_TTL		300
X #define TO_FAIL_TTL		3600
X-#define WORK_SPACE		"/var/run/smfs"
X-#define OCONN			"unix:" WORK_SPACE "/smf-sav.sock"
X-#define USER			"smfs"
X+#define WORK_SPACE		"/var/run/smfsav"
X+#define OCONN			"unix:" WORK_SPACE "/smfsav.sock"
X+#define USER			"smfsav"
X 
X #define DNS_RETRANS		7
X #define DNS_RETRY		4
END-of-smfsav/files/patch-smf-sav.c
echo x - smfsav/files/patch-Makefile
sed 's/^X//' >smfsav/files/patch-Makefile << 'END-of-smfsav/files/patch-Makefile'
X--- Makefile.orig	Wed Oct 25 23:15:10 2006
X+++ Makefile	Tue Aug 28 14:16:07 2007
X@@ -1,17 +1,17 @@
X CC = gcc
X PREFIX = /usr/local
X SBINDIR = $(PREFIX)/sbin
X-DATADIR = /var/run/smfs
X-CONFDIR = /etc/mail/smfs
X-USER = smfs
X-GROUP = smfs
X-CFLAGS = -O2 -D_REENTRANT -fomit-frame-pointer -I/usr/local/include
X+DATADIR = /var/run/smfsav
X+CONFDIR = $(PREFIX)/etc
X+USER = smfsav
X+GROUP = smfsav
X+CFLAGS = -O2 -D_REENTRANT -fomit-frame-pointer -I/usr/ports/dns/bind84/work/src/include
X 
X # Linux
X-LDFLAGS = -lmilter -lpthread -lresolv
X+#LDFLAGS = -lmilter -lpthread -lresolv
X 
X # FreeBSD (BIND v8 is required)
X-#LDFLAGS = -lmilter -pthread -L/usr/local/lib -lbind_r
X+LDFLAGS = -lmilter -pthread -L/usr/ports/dns/bind84/work/src/lib -lbind_r
X 
X # Solaris
X #LDFLAGS = -lmilter -lpthread -lsocket -lnsl -lresolv
X@@ -30,20 +30,3 @@
X 
X clean:
X 	rm -f smf-sav.o smf-sav
X-
X-install:
X-	@./install.sh
X-	@cp -f -p smf-sav $(SBINDIR)
X-	@if test ! -d $(DATADIR); then \
X-	mkdir -m 700 $(DATADIR); \
X-	chown $(USER):$(GROUP) $(DATADIR); \
X-	fi
X-	@if test ! -d $(CONFDIR); then \
X-	mkdir -m 755 $(CONFDIR); \
X-	fi
X-	@if test ! -f $(CONFDIR)/smf-sav.conf; then \
X-	cp -p smf-sav.conf $(CONFDIR)/smf-sav.conf; \
X-	else \
X-	cp -p smf-sav.conf $(CONFDIR)/smf-sav.conf.new; \
X-	fi
X-	@echo Please, inspect and edit the $(CONFDIR)/smf-sav.conf file.
END-of-smfsav/files/patch-Makefile
echo x - smfsav/files/patch-init
sed 's/^X//' >smfsav/files/patch-init << 'END-of-smfsav/files/patch-init'
X--- init/smfsav.freebsd.orig	Wed Oct 25 23:15:17 2006
X+++ init/smfsav.freebsd	Fri Oct  5 10:27:36 2007
X@@ -1,12 +1,12 @@
X #!/bin/sh
X 
X-# PROVIDE: smf-sav
X+# PROVIDE: smfsav
X # REQUIRE: NETWORKING
X # BEFORE: sendmail
X 
X # Written for FreeBSD.
X #
X-# Copy this file into /etc/rc.d as /etc/rc.d/smfsav
X+# Copy this file into /usr/local/etc/rc.d as /usr/local/etc/rc.d/smfsav
X # Add this line to /etc/rc.conf:
X #
X # smfsav_enable="YES"
X@@ -15,7 +15,7 @@
X 
X name="smfsav"
X rcvar=`set_rcvar`
X-command="/usr/local/sbin/smf-sav"
X+command="/usr/local/sbin/smfsav"
X 
X load_rc_config ${name}
X run_rc_command "$1"
END-of-smfsav/files/patch-init
echo x - smfsav/files/patch-install.sh
sed 's/^X//' >smfsav/files/patch-install.sh << 'END-of-smfsav/files/patch-install.sh'
X--- install.sh.orig	Wed Oct 25 23:15:10 2006
X+++ install.sh	Tue Aug 28 12:13:43 2007
X@@ -1,7 +1,7 @@
X #!/bin/sh
X 
X-USER=smfs
X-GROUP=smfs
X+USER=smfsav
X+GROUP=smfsav
X UNAME=`uname`
X PATH=$PATH:/sbin:/bin:/usr/sbin:/usr/bin
X 
END-of-smfsav/files/patch-install.sh
echo x - smfsav/files/patch-readme
sed 's/^X//' >smfsav/files/patch-readme << 'END-of-smfsav/files/patch-readme'
X--- readme.orig	Wed Oct 25 23:15:10 2006
X+++ readme	Wed Aug 29 16:07:27 2007
X@@ -38,18 +38,18 @@
X make
X make install
X 
X-  Inspect and edit the /etc/mail/smfs/smf-sav.conf file.
X+  Inspect and edit the /usr/local/etc/smfsav.conf file.
X 
X-/usr/local/sbin/smf-sav
X+/usr/local/sbin/smfsav
X or
X-/usr/local/sbin/smf-sav -c /etc/mail/smfs/smf-sav.conf
X+/usr/local/sbin/smfsav -c /usr/local/etc/smfsav.conf
X 
X   Add this milter to start-up scripts before starting a Sendmail daemon.
X Look at the contributed samples of start-up scripts.
X 
X   Add these lines to your Sendmail configuration file (usually sendmail.mc):
X define(`confMILTER_MACROS_HELO', confMILTER_MACROS_HELO`, {verify}')dnl
X-INPUT_MAIL_FILTER(`smf-sav', `S=unix:/var/run/smfs/smf-sav.sock, T=S:30s;R:4m')dnl
X+INPUT_MAIL_FILTER(`smf-sav', `S=unix:/var/run/smfsav/smfsav.sock, T=S:30s;R:4m')dnl
X 
X IMPORTANT: make sure that /var/run is not a group writable directory! If so,
X or chmod 755 /var/run, or if it's impossible switch to another directory.
END-of-smfsav/files/patch-readme
echo x - smfsav/pkg-message
sed 's/^X//' >smfsav/pkg-message << 'END-of-smfsav/pkg-message'
X
X=====================================================================================
X1. Inspect and edit the /usr/local/etc/smfsav.conf file
X2. Add these lines to your Sendmail configuration file (usually sendmail.mc):
X    define(`confMILTER_MACROS_HELO', confMILTER_MACROS_HELO`, {verify}')dnl
X    INPUT_MAIL_FILTER(`smfsav', `S=unix:/var/run/smfsav/smfsav.sock, T=S:30s;R:4m')dnl
X3. Put line smfsav_enable="YES" to /etc/rc.conf file
X4. Run /usr/local/etc/rc.d/smfsav start
X=====================================================================================
END-of-smfsav/pkg-message
echo x - smfsav/pkg-descr
sed 's/^X//' >smfsav/pkg-descr << 'END-of-smfsav/pkg-descr'
X  It's a lightweight, fast and reliable Sendmail milter that implements
Xa real-time Sender e-Mail Address Verification technology. This technology
Xcan stop some kinds of SPAM with a spoofed sender's e-Mail address.
X  Also it implements a real-time Recipient e-Mail Address Verification
Xtechnology. It can be useful if your machine is a backup MX for the recipient's
Xdomains or if your machine forwards all e-Mail messages as a relay host for your
Xdomains to another internal or external e-Mail servers.
X  It's a lite alternative for the spamilter, milter-sender and milter-ahead
Xmilters.
X
XWWW: http://smfs.sourceforge.net/
X
X- Eugene Kurmanin
Xme@kurmanin.info
END-of-smfsav/pkg-descr
echo x - smfsav/pkg-deinstall
sed 's/^X//' >smfsav/pkg-deinstall << 'END-of-smfsav/pkg-deinstall'
X#!/bin/sh
X
Xif [ "$2" = "POST-DEINSTALL" ]; then
X    if test -f /usr/local/etc/rc.d/smfsav; then
X	echo "[*] Removing init script"
X	rm /usr/local/etc/rc.d/smfsav
X    fi
X
X    if /usr/sbin/pw group show "smfsav" 2>&1 >/dev/null; then
X	echo "[*] Removing group \"smfsav\""
X	/usr/sbin/pw groupdel "smfsav"
X    fi
X
X    if /usr/sbin/pw user show "smfsav" 2>&1 >/dev/null; then
X	echo "[*] Removing user \"smfsav\""
X	/usr/sbin/pw userdel "smfsav"
X    fi
X
X    if [ -d /var/run/smfsav ]; then
X	echo "[*] Removing directory \"/var/run/smfsav\""
X	rmdir /var/run/smfsav
X    fi
X
Xfi
END-of-smfsav/pkg-deinstall
exit
--- smfsav.shar ends here ---


>Release-Note:
>Audit-Trail:

From: Bart Tapolsky <bart@tapolsky.net.ua>
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/116948: [NEW PORT] mail/smfsav: Sendmail Sender Address Validator
Date: Tue, 30 Oct 2007 11:58:51 +0200

 Please, take a look this port. I have an update and I can't send it because=
  port is not committed
State-Changed-From-To: open->feedback 
State-Changed-By: pav 
State-Changed-When: Sat Dec 15 21:41:54 UTC 2007 
State-Changed-Why:  
Ooh this looks useful. I was itching to get rid of spamilter for some time. 

Does this really needs bind for anything? I have compiled it just fine without 
bind, just deleted the -lbind_r from LDFLAGS.  Haven't tried running yet. 

You need to include the rc.d script in the pkg-plist, otherwise it would not be 
in the binary package. 

Do I see correctly, that your port removed user smfsav in deinstall, but does 
not create that user anywhere during install? Please reserve UID/GID in 
/usr/ports/UIDs /usr/ports/GIDs, and add pkg-install script to create the user 
and group (see databases/mysql50-server for inspiration). 


Responsible-Changed-From-To: freebsd-ports-bugs->pav 
Responsible-Changed-By: pav 
Responsible-Changed-When: Sat Dec 15 21:41:54 UTC 2007 
Responsible-Changed-Why:  
Track 

http://www.freebsd.org/cgi/query-pr.cgi?pr=116948 

From: Pav Lucistnik <pav@FreeBSD.org>
To: bug-followup@FreeBSD.org, bart@tapolsky.net.ua
Cc:  
Subject: Re: ports/116948: [NEW PORT] mail/smfsav: Sendmail Sender Address
	Validator
Date: Wed, 02 Jan 2008 14:53:54 +0100

 Any update on this one?
 
 -- 
 Pav Lucistnik <pav@oook.cz>
               <pav@FreeBSD.org>
 
 Two sausages are in a frying pan.
 One says, "Geez, it's hot in here isn't it?"
 And the other one says, "Aaaaaah! A talking sausage!"

From: Bart Tapolsky <bart@tapolsky.net.ua>
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/116948: [NEW PORT] mail/smfsav: Sendmail Sender Address Validator
Date: Mon, 28 Jan 2008 14:18:11 +0200

 > ... just deleted the -lbind_r from LDFLAGS.
 
 I'll try it, but I don't promise that it will work.
 
 
 

From: "Bart Tapolsky" <bart@tapolsky.net.ua>
To: bug-followup@FreeBSD.org, bart@tapolsky.net.ua
Cc:  
Subject: Re: ports/116948: [NEW PORT] mail/smfsav: Sendmail Sender Address 
     Validator
Date: Sun, 17 Feb 2008 16:35:33 +0200 (EET)

 ------=_20080217163533_82283
 Content-Type: text/plain; charset="utf-8"
 Content-Transfer-Encoding: 8bit
 
 Hi people!
 
 I have a good news for you!
 
 Here is real working update for this port.
 
 Dear pav! Thank you for your tips.
 
 Some notes:
 
 1. Does smfsav really need bind?
 Yes, smfsav have function that calls some bind's functions to make DNS
 requests
 
 2. Why bind 8?
 bind 9 has different function names, and smfsav can't work with it.
 
 3. Can developer make update for use bind 9?
 No, maybe he is very occupied, but he does not reply my messages
 
 4. Can mantainer make update for use bind 9?
 No, i am not C/C++ programmer. But if some people can make this soft
 working, I will be very glad! :-)
 
 5. Does this port install any components to the system?
 NO! This port DOES NOT install bind 8 daemon, DOES NOT copy any bind 8
 file to the system!
 
 NOTE 2:
 I want to reverse UID 666 and GID 666 for smfsav user.
 
 Thank you.
 ------=_20080217163533_82283
 Content-Type: text/plain; name="smfsav-1.4.0.shar"
 Content-Transfer-Encoding: 8bit
 Content-Disposition: attachment; filename="smfsav-1.4.0.shar"
 
 # 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:
 #
 #	smfsav
 #	smfsav/Makefile
 #	smfsav/distinfo
 #	smfsav/files
 #	smfsav/files/patch-smf-sav.conf
 #	smfsav/files/patch-smf-sav.c
 #	smfsav/files/patch-Makefile
 #	smfsav/files/patch-readme
 #	smfsav/files/smfsav.in
 #	smfsav/pkg-message
 #	smfsav/pkg-descr
 #	smfsav/pkg-deinstall
 #	smfsav/pkg-install
 #
 echo c - smfsav
 mkdir -p smfsav > /dev/null 2>&1
 echo x - smfsav/Makefile
 sed 's/^X//' >smfsav/Makefile << 'END-of-smfsav/Makefile'
 X# New ports collection makefile for: smfsav
 X# Date created:        17 February 2008
 X# Whom:            Anton Lysenok <bart@tapolsky.net.ua>
 X#
 X# $FreeBSD$
 X#
 X
 XPORTNAME=	smfsav
 XPORTVERSION=	1.4.0
 XCATEGORIES=	mail
 XMASTER_SITES=	${MASTER_SITE_SOURCEFORGE}:0 \
 X	${MASTER_SITE_ISC}:1
 XMASTER_SITE_SUBDIR=	smfs/:0 \
 X	bind8/src/8.4.7/:1
 XDISTNAME=       smf-sav-1.4.0
 XDISTFILES=	smf-sav-1.4.0.tar.gz:0 \
 X	bind-src.tar.gz:1
 XDIST_SUBDIR=	${PORTNAME}
 X
 XMAINTAINER=	bart@tapolsky.net.ua
 XCOMMENT=	Sendmail Sender Address Validator
 X
 XPLIST_FILES=	sbin/smfsav \
 X	etc/smfsav.conf-dist
 X
 X.if !defined(NOPORTDOCS)
 XPLIST_FILES+=	%%PORTDOCS%%%%DOCSDIR%%/COPYING \
 X	%%PORTDOCS%%%%DOCSDIR%%/CHANGES \
 X	%%PORTDOCS%%%%DOCSDIR%%/README
 XPLIST_DIRS=	share/doc/${PORTNAME}
 X.endif
 X
 XUSE_RC_SUBR=    smfsav
 X
 Xpre-build:
 X	@${ECHO}
 X	@${ECHO} [*] Compiling BIND 8 to make SmfSav able to resolve DNS names
 X	${MAKE} all -C ${WRKDIR}/src
 X	@${ECHO}
 X	@${ECHO} [*] Compiling SmfSav
 X
 Xdo-install:
 X	${INSTALL_PROGRAM} ${WRKSRC}/smf-sav ${PREFIX}/sbin/smfsav
 X	${INSTALL_DATA} ${WRKSRC}/smf-sav.conf ${PREFIX}/etc/smfsav.conf-dist
 X
 Xpost-install:
 X.if !defined(NOPORTDOCS)
 X	${MKDIR} ${DOCSDIR}
 X	${INSTALL_DATA} ${WRKSRC}/COPYING ${DOCSDIR}/COPYING
 X	${INSTALL_DATA} ${WRKSRC}/ChangeLog ${DOCSDIR}/CHANGES
 X	${INSTALL_DATA} ${WRKSRC}/readme ${DOCSDIR}/README
 X.endif
 X
 X	${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
 X	@${CAT} ${PKGMESSAGE}
 X
 X.include <bsd.port.mk>
 END-of-smfsav/Makefile
 echo x - smfsav/distinfo
 sed 's/^X//' >smfsav/distinfo << 'END-of-smfsav/distinfo'
 XMD5 (smfsav/smf-sav-1.4.0.tar.gz) = 7f3d0b66a2b940c86b47e94afe5f96a2
 XSHA256 (smfsav/smf-sav-1.4.0.tar.gz) = 77a28d012330581b5ecaf126a153f049731c399e294aab0ded53c1b0abab68cc
 XSIZE (smfsav/smf-sav-1.4.0.tar.gz) = 21968
 XMD5 (smfsav/bind-src.tar.gz) = 3a801b15791647beb90c226d2674eb4d
 XSHA256 (smfsav/bind-src.tar.gz) = a0ef8506227797ee57a6c9488fc9ef355ba2fc1fa4616fe68abf0ed6cd009b68
 XSIZE (smfsav/bind-src.tar.gz) = 1484718
 END-of-smfsav/distinfo
 echo c - smfsav/files
 mkdir -p smfsav/files > /dev/null 2>&1
 echo x - smfsav/files/patch-smf-sav.conf
 sed 's/^X//' >smfsav/files/patch-smf-sav.conf << 'END-of-smfsav/files/patch-smf-sav.conf'
 X--- smf-sav.conf.orig	2006-10-25 23:15:10.000000000 +0300
 X+++ smf-sav.conf	2008-02-17 14:25:26.000000000 +0200
 X@@ -1,4 +1,4 @@
 X-# /etc/mail/smfs/smf-sav.conf
 X+# /usr/local/etc/smfsav.conf
 X #
 X # smf-sav configuration file v1.4.0 (it's read at start)
 X #
 X@@ -97,15 +97,15 @@
 X 
 X # Run as a selected user (smf-sav must be started by root)
 X #
 X-# Default: smfs
 X+# Default: smfsav
 X #
 X-#User		smfs
 X+#User		smfsav
 X 
 X # Socket used to communicate with a Sendmail daemon
 X #
 X-# Default: unix:/var/run/smfs/smf-sav.sock
 X+# Default: unix:/var/run/smfsav.sock
 X #
 X-#Socket		unix:/var/run/smfs/smf-sav.sock
 X+#Socket		unix:/var/run/smfsav.sock
 X 
 X # Facility for logging via a Syslog daemon
 X #
 END-of-smfsav/files/patch-smf-sav.conf
 echo x - smfsav/files/patch-smf-sav.c
 sed 's/^X//' >smfsav/files/patch-smf-sav.c << 'END-of-smfsav/files/patch-smf-sav.c'
 X--- smf-sav.c.orig	Wed Oct 25 23:15:10 2006
 X+++ smf-sav.c	Wed Aug 29 15:54:13 2007
 X@@ -20,11 +20,7 @@
 X #endif
 X 
 X #include <arpa/inet.h>
 X-#if __linux__ || __sun__
 X #include <arpa/nameser.h>
 X-#else
 X-#include <bind/arpa/nameser.h>
 X-#endif
 X #include <ctype.h>
 X #include <errno.h>
 X #include <fcntl.h>
 X@@ -33,20 +29,12 @@
 X #endif
 X #include <grp.h>
 X #include <libmilter/mfapi.h>
 X-#if __linux__ || __sun__
 X #include <netdb.h>
 X-#else
 X-#include <bind/netdb.h>
 X-#endif
 X #include <netinet/in.h>
 X #include <pthread.h>
 X #include <pwd.h>
 X #include <regex.h>
 X-#if __linux__ || __sun__
 X #include <resolv.h>
 X-#else
 X-#include <bind/resolv.h>
 X-#endif
 X #include <signal.h>
 X #include <stdio.h>
 X #include <stdlib.h>
 X@@ -68,7 +56,7 @@
 X #define hash_size(x)		((unsigned long) 1 << x)
 X #define hash_mask(x)		(hash_size(x) - 1)
 X 
 X-#define CONFIG_FILE		"/etc/mail/smfs/smf-sav.conf"
 X+#define CONFIG_FILE		"/usr/local/etc/smfsav.conf"
 X #define PUBLIC_NAME		"yourhost.yourdomain.tld"
 X #define SAFE_CALLBACK		"postmaster@yourdomain.tld"
 X #define SYSLOG_FACILITY		LOG_MAIL
 X@@ -81,9 +69,9 @@
 X #define TO_PASS_TTL		3600
 X #define TO_TEMPFAIL_TTL		300
 X #define TO_FAIL_TTL		3600
 X-#define WORK_SPACE		"/var/run/smfs"
 X-#define OCONN			"unix:" WORK_SPACE "/smf-sav.sock"
 X-#define USER			"smfs"
 X+#define WORK_SPACE		"/var/run"
 X+#define OCONN			"unix:" WORK_SPACE "/smfsav.sock"
 X+#define USER			"smfsav"
 X 
 X #define DNS_RETRANS		7
 X #define DNS_RETRY		4
 END-of-smfsav/files/patch-smf-sav.c
 echo x - smfsav/files/patch-Makefile
 sed 's/^X//' >smfsav/files/patch-Makefile << 'END-of-smfsav/files/patch-Makefile'
 X--- Makefile.orig	2006-10-25 23:15:10.000000000 +0300
 X+++ Makefile	2008-02-17 14:19:30.000000000 +0200
 X@@ -1,17 +1,17 @@
 X CC = gcc
 X PREFIX = /usr/local
 X SBINDIR = $(PREFIX)/sbin
 X-DATADIR = /var/run/smfs
 X-CONFDIR = /etc/mail/smfs
 X-USER = smfs
 X-GROUP = smfs
 X-CFLAGS = -O2 -D_REENTRANT -fomit-frame-pointer -I/usr/local/include
 X+DATADIR = /var/run/smfsav
 X+CONFDIR = $(PREFIX)/etc
 X+USER = smfsav
 X+GROUP = smfsav
 X+CFLAGS = -O2 -D_REENTRANT -fomit-frame-pointer -I../src/include
 X 
 X # Linux
 X-LDFLAGS = -lmilter -lpthread -lresolv
 X+#LDFLAGS = -lmilter -lpthread -lresolv
 X 
 X # FreeBSD (BIND v8 is required)
 X-#LDFLAGS = -lmilter -pthread -L/usr/local/lib -lbind_r
 X+LDFLAGS = -lmilter -pthread -L../src/lib -lbind_r
 X 
 X # Solaris
 X #LDFLAGS = -lmilter -lpthread -lsocket -lnsl -lresolv
 X@@ -30,20 +30,3 @@
 X 
 X clean:
 X 	rm -f smf-sav.o smf-sav
 X-
 X-install:
 X-	@./install.sh
 X-	@cp -f -p smf-sav $(SBINDIR)
 X-	@if test ! -d $(DATADIR); then \
 X-	mkdir -m 700 $(DATADIR); \
 X-	chown $(USER):$(GROUP) $(DATADIR); \
 X-	fi
 X-	@if test ! -d $(CONFDIR); then \
 X-	mkdir -m 755 $(CONFDIR); \
 X-	fi
 X-	@if test ! -f $(CONFDIR)/smf-sav.conf; then \
 X-	cp -p smf-sav.conf $(CONFDIR)/smf-sav.conf; \
 X-	else \
 X-	cp -p smf-sav.conf $(CONFDIR)/smf-sav.conf.new; \
 X-	fi
 X-	@echo Please, inspect and edit the $(CONFDIR)/smf-sav.conf file.
 END-of-smfsav/files/patch-Makefile
 echo x - smfsav/files/patch-readme
 sed 's/^X//' >smfsav/files/patch-readme << 'END-of-smfsav/files/patch-readme'
 X--- readme.orig	2006-10-25 23:15:10.000000000 +0300
 X+++ readme	2008-02-17 14:50:09.000000000 +0200
 X@@ -38,21 +38,18 @@
 X make
 X make install
 X 
 X-  Inspect and edit the /etc/mail/smfs/smf-sav.conf file.
 X+  Inspect and edit the /usr/local/etc/smfsav.conf file.
 X 
 X-/usr/local/sbin/smf-sav
 X+/usr/local/sbin/smfsav
 X or
 X-/usr/local/sbin/smf-sav -c /etc/mail/smfs/smf-sav.conf
 X+/usr/local/sbin/smfsav -c /usr/local/etc/smfsav.conf
 X 
 X   Add this milter to start-up scripts before starting a Sendmail daemon.
 X Look at the contributed samples of start-up scripts.
 X 
 X   Add these lines to your Sendmail configuration file (usually sendmail.mc):
 X define(`confMILTER_MACROS_HELO', confMILTER_MACROS_HELO`, {verify}')dnl
 X-INPUT_MAIL_FILTER(`smf-sav', `S=unix:/var/run/smfs/smf-sav.sock, T=S:30s;R:4m')dnl
 X-
 X-IMPORTANT: make sure that /var/run is not a group writable directory! If so,
 X-or chmod 755 /var/run, or if it's impossible switch to another directory.
 X+INPUT_MAIL_FILTER(`smfsav', `S=unix:/var/run/smfsav.sock, T=S:30s;R:4m')dnl
 X 
 X IMPORTANT: make sure that libmilter is compiled with BROKEN_PTHREAD_SLEEP defined.
 X If this symbol is not defined, libmilter will use sleep() in signal-handler thread,
 END-of-smfsav/files/patch-readme
 echo x - smfsav/files/smfsav.in
 sed 's/^X//' >smfsav/files/smfsav.in << 'END-of-smfsav/files/smfsav.in'
 X#!/bin/sh
 X
 X# PROVIDE: smfsav
 X# REQUIRE: NETWORKING
 X# BEFORE: sendmail
 X
 X# Written for FreeBSD.
 X#
 X# $FreeBSD$
 X#
 X# Copy this file into /usr/local/etc/rc.d as /usr/local/etc/rc.d/smfsav
 X# Add this line to /etc/rc.conf:
 X#
 X# smfsav_enable="YES"
 X
 X. /etc/rc.subr
 X
 Xname="smfsav"
 Xrcvar=`set_rcvar`
 Xcommand="/usr/local/sbin/smfsav"
 X
 Xload_rc_config ${name}
 Xrun_rc_command "$1"
 X
 END-of-smfsav/files/smfsav.in
 echo x - smfsav/pkg-message
 sed 's/^X//' >smfsav/pkg-message << 'END-of-smfsav/pkg-message'
 X
 X=====================================================================================
 X1. Inspect and edit the /usr/local/etc/smfsav.conf file
 X2. Add these lines to your Sendmail configuration file (usually sendmail.mc):
 X    define(`confMILTER_MACROS_HELO', confMILTER_MACROS_HELO`, {verify}')dnl
 X    INPUT_MAIL_FILTER(`smfsav', `S=unix:/var/run/smfsav.sock, T=S:30s;R:4m')dnl
 X3. Put line smfsav_enable="YES" to /etc/rc.conf file
 X4. Run /usr/local/etc/rc.d/smfsav start
 X=====================================================================================
 END-of-smfsav/pkg-message
 echo x - smfsav/pkg-descr
 sed 's/^X//' >smfsav/pkg-descr << 'END-of-smfsav/pkg-descr'
 X  It's a lightweight, fast and reliable Sendmail milter that implements
 Xa real-time Sender e-Mail Address Verification technology. This technology
 Xcan stop some kinds of SPAM with a spoofed sender's e-Mail address.
 X  Also it implements a real-time Recipient e-Mail Address Verification
 Xtechnology. It can be useful if your machine is a backup MX for the recipient's
 Xdomains or if your machine forwards all e-Mail messages as a relay host for your
 Xdomains to another internal or external e-Mail servers.
 X  It's a lite alternative for the spamilter, milter-sender and milter-ahead
 Xmilters.
 X
 XWWW: http://smfs.sourceforge.net/
 X
 X- Eugene Kurmanin
 Xme@kurmanin.info
 END-of-smfsav/pkg-descr
 echo x - smfsav/pkg-deinstall
 sed 's/^X//' >smfsav/pkg-deinstall << 'END-of-smfsav/pkg-deinstall'
 X#!/bin/sh
 X
 X#
 X# $FreeBSD$
 X#
 X
 XPATH=$PATH:/bin:/usr/sbin
 Xexport PATH
 X
 Xif [ "$2" = "POST-DEINSTALL" ]; then
 X
 X    if pw group show -g 666 2>&1 >/dev/null; then
 X	echo "[*] Removing group \"smfsav\""
 X	pw groupdel -g 666
 X    fi
 X
 X    if pw user show -u 666 2>&1 >/dev/null; then
 X	echo "[*] Removing user \"smfsav\""
 X	pw userdel -u 666
 X    fi
 X
 X    if [ -d /var/run/smfsav ]; then
 X	echo "[*] Removing directory \"/var/run/smfsav\""
 X        rmdir /var/run/smfsav
 X    fi
 X
 Xfi
 END-of-smfsav/pkg-deinstall
 echo x - smfsav/pkg-install
 sed 's/^X//' >smfsav/pkg-install << 'END-of-smfsav/pkg-install'
 X#!/bin/sh
 X
 X#
 X# $FreeBSD$
 X#
 X
 XPATH=$PATH:/bin:/usr/sbin
 Xexport PATH
 X
 X
 Xif [ "$2" = "POST-INSTALL" ]; then
 X
 X    if grep "^smfsav:" /etc/group > /dev/null; then
 X	:
 X	else
 X	echo "[*] Adding group \"smfsav\""
 X	pw groupadd -n smfsav -g 666
 X    fi
 X
 X    if grep "^smfsav:" /etc/passwd > /dev/null; then
 X	:
 X	else
 X	echo "[*] Adding user \"smfsav\""
 X	pw useradd -c SMFSAV -g smfsav -n smfsav -d /nonexistent -s /usr/sbin/nologin -u 666
 X    fi
 X    
 X    echo "[*] Creating directory \"/var/run/smfsav\""
 X    mkdir /var/run/smfsav
 X    chown smfsav:smfsav /var/run/smfsav
 X    chmod 700 /var/run/smfsav
 X
 Xfi
 END-of-smfsav/pkg-install
 exit
 
 ------=_20080217163533_82283--
 
 

From: "Bart Tapolsky" <bart@tapolsky.net.ua>
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/116948: [NEW PORT] mail/smfsav: Sendmail Sender Address 
     Validator
Date: Sun, 17 Feb 2008 17:01:57 +0200 (EET)

 ------=_20080217170157_89234
 Content-Type: text/plain; charset="utf-8"
 Content-Transfer-Encoding: 8bit
 
 Sorry, sorry, sorry!
 
 Previos patch is incorrect and doesnt work.
 
 This is correct one.
 
 
 ------=_20080217170157_89234
 Content-Type: text/plain; name="smfsav-1.4.0.shar"
 Content-Transfer-Encoding: 8bit
 Content-Disposition: attachment; filename="smfsav-1.4.0.shar"
 
 # 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:
 #
 #	smfsav
 #	smfsav/Makefile
 #	smfsav/distinfo
 #	smfsav/files
 #	smfsav/files/patch-smf-sav.conf
 #	smfsav/files/patch-smf-sav.c
 #	smfsav/files/patch-Makefile
 #	smfsav/files/patch-readme
 #	smfsav/files/smfsav.in
 #	smfsav/pkg-message
 #	smfsav/pkg-descr
 #	smfsav/pkg-deinstall
 #	smfsav/pkg-install
 #
 echo c - smfsav
 mkdir -p smfsav > /dev/null 2>&1
 echo x - smfsav/Makefile
 sed 's/^X//' >smfsav/Makefile << 'END-of-smfsav/Makefile'
 X# New ports collection makefile for: smfsav
 X# Date created:        17 February 2008
 X# Whom:            Anton Lysenok <bart@tapolsky.net.ua>
 X#
 X# $FreeBSD$
 X#
 X
 XPORTNAME=	smfsav
 XPORTVERSION=	1.4.0
 XCATEGORIES=	mail
 XMASTER_SITES=	${MASTER_SITE_SOURCEFORGE}:0 \
 X	${MASTER_SITE_ISC}:1
 XMASTER_SITE_SUBDIR=	smfs/:0 \
 X	bind8/src/8.4.7/:1
 XDISTNAME=       smf-sav-1.4.0
 XDISTFILES=	smf-sav-1.4.0.tar.gz:0 \
 X	bind-src.tar.gz:1
 XDIST_SUBDIR=	${PORTNAME}
 X
 XMAINTAINER=	bart@tapolsky.net.ua
 XCOMMENT=	Sendmail Sender Address Validator
 X
 XPLIST_FILES=	sbin/smfsav \
 X	etc/smfsav.conf-dist
 X
 X.if !defined(NOPORTDOCS)
 XPLIST_FILES+=	%%PORTDOCS%%%%DOCSDIR%%/COPYING \
 X	%%PORTDOCS%%%%DOCSDIR%%/CHANGES \
 X	%%PORTDOCS%%%%DOCSDIR%%/README
 XPLIST_DIRS=	share/doc/${PORTNAME}
 X.endif
 X
 XUSE_RC_SUBR=    smfsav
 X
 Xpre-build:
 X	@${ECHO}
 X	@${ECHO} [*] Compiling BIND 8 to make SmfSav able to resolve DNS names
 X	${MAKE} all -C ${WRKDIR}/src
 X	@${ECHO}
 X	@${ECHO} [*] Compiling SmfSav
 X
 Xdo-install:
 X	${INSTALL_PROGRAM} ${WRKSRC}/smf-sav ${PREFIX}/sbin/smfsav
 X	${INSTALL_DATA} ${WRKSRC}/smf-sav.conf ${PREFIX}/etc/smfsav.conf-dist
 X
 Xpost-install:
 X.if !defined(NOPORTDOCS)
 X	${MKDIR} ${DOCSDIR}
 X	${INSTALL_DATA} ${WRKSRC}/COPYING ${DOCSDIR}/COPYING
 X	${INSTALL_DATA} ${WRKSRC}/ChangeLog ${DOCSDIR}/CHANGES
 X	${INSTALL_DATA} ${WRKSRC}/readme ${DOCSDIR}/README
 X.endif
 X
 X	${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
 X	@${CAT} ${PKGMESSAGE}
 X
 X.include <bsd.port.mk>
 END-of-smfsav/Makefile
 echo x - smfsav/distinfo
 sed 's/^X//' >smfsav/distinfo << 'END-of-smfsav/distinfo'
 XMD5 (smfsav/smf-sav-1.4.0.tar.gz) = 7f3d0b66a2b940c86b47e94afe5f96a2
 XSHA256 (smfsav/smf-sav-1.4.0.tar.gz) = 77a28d012330581b5ecaf126a153f049731c399e294aab0ded53c1b0abab68cc
 XSIZE (smfsav/smf-sav-1.4.0.tar.gz) = 21968
 XMD5 (smfsav/bind-src.tar.gz) = 3a801b15791647beb90c226d2674eb4d
 XSHA256 (smfsav/bind-src.tar.gz) = a0ef8506227797ee57a6c9488fc9ef355ba2fc1fa4616fe68abf0ed6cd009b68
 XSIZE (smfsav/bind-src.tar.gz) = 1484718
 END-of-smfsav/distinfo
 echo c - smfsav/files
 mkdir -p smfsav/files > /dev/null 2>&1
 echo x - smfsav/files/patch-smf-sav.conf
 sed 's/^X//' >smfsav/files/patch-smf-sav.conf << 'END-of-smfsav/files/patch-smf-sav.conf'
 X--- smf-sav.conf.orig	2006-10-25 23:15:10.000000000 +0300
 X+++ smf-sav.conf	2008-02-17 14:25:26.000000000 +0200
 X@@ -1,4 +1,4 @@
 X-# /etc/mail/smfs/smf-sav.conf
 X+# /usr/local/etc/smfsav.conf
 X #
 X # smf-sav configuration file v1.4.0 (it's read at start)
 X #
 X@@ -97,15 +97,15 @@
 X 
 X # Run as a selected user (smf-sav must be started by root)
 X #
 X-# Default: smfs
 X+# Default: smfsav
 X #
 X-#User		smfs
 X+#User		smfsav
 X 
 X # Socket used to communicate with a Sendmail daemon
 X #
 X-# Default: unix:/var/run/smfs/smf-sav.sock
 X+# Default: unix:/var/run/smfsav/smfsav.sock
 X #
 X-#Socket		unix:/var/run/smfs/smf-sav.sock
 X+#Socket		unix:/var/run/smfsav/smfsav.sock
 X 
 X # Facility for logging via a Syslog daemon
 X #
 END-of-smfsav/files/patch-smf-sav.conf
 echo x - smfsav/files/patch-smf-sav.c
 sed 's/^X//' >smfsav/files/patch-smf-sav.c << 'END-of-smfsav/files/patch-smf-sav.c'
 X--- smf-sav.c.orig	Wed Oct 25 23:15:10 2006
 X+++ smf-sav.c	Wed Aug 29 15:54:13 2007
 X@@ -20,11 +20,7 @@
 X #endif
 X 
 X #include <arpa/inet.h>
 X-#if __linux__ || __sun__
 X #include <arpa/nameser.h>
 X-#else
 X-#include <bind/arpa/nameser.h>
 X-#endif
 X #include <ctype.h>
 X #include <errno.h>
 X #include <fcntl.h>
 X@@ -33,20 +29,12 @@
 X #endif
 X #include <grp.h>
 X #include <libmilter/mfapi.h>
 X-#if __linux__ || __sun__
 X #include <netdb.h>
 X-#else
 X-#include <bind/netdb.h>
 X-#endif
 X #include <netinet/in.h>
 X #include <pthread.h>
 X #include <pwd.h>
 X #include <regex.h>
 X-#if __linux__ || __sun__
 X #include <resolv.h>
 X-#else
 X-#include <bind/resolv.h>
 X-#endif
 X #include <signal.h>
 X #include <stdio.h>
 X #include <stdlib.h>
 X@@ -68,7 +56,7 @@
 X #define hash_size(x)		((unsigned long) 1 << x)
 X #define hash_mask(x)		(hash_size(x) - 1)
 X 
 X-#define CONFIG_FILE		"/etc/mail/smfs/smf-sav.conf"
 X+#define CONFIG_FILE		"/usr/local/etc/smfsav.conf"
 X #define PUBLIC_NAME		"yourhost.yourdomain.tld"
 X #define SAFE_CALLBACK		"postmaster@yourdomain.tld"
 X #define SYSLOG_FACILITY		LOG_MAIL
 X@@ -81,9 +69,9 @@
 X #define TO_PASS_TTL		3600
 X #define TO_TEMPFAIL_TTL		300
 X #define TO_FAIL_TTL		3600
 X-#define WORK_SPACE		"/var/run/smfs"
 X-#define OCONN			"unix:" WORK_SPACE "/smf-sav.sock"
 X-#define USER			"smfs"
 X+#define WORK_SPACE		"/var/run/smfsav"
 X+#define OCONN			"unix:" WORK_SPACE "/smfsav.sock"
 X+#define USER			"smfsav"
 X 
 X #define DNS_RETRANS		7
 X #define DNS_RETRY		4
 END-of-smfsav/files/patch-smf-sav.c
 echo x - smfsav/files/patch-Makefile
 sed 's/^X//' >smfsav/files/patch-Makefile << 'END-of-smfsav/files/patch-Makefile'
 X--- Makefile.orig	2006-10-25 23:15:10.000000000 +0300
 X+++ Makefile	2008-02-17 14:19:30.000000000 +0200
 X@@ -1,17 +1,17 @@
 X CC = gcc
 X PREFIX = /usr/local
 X SBINDIR = $(PREFIX)/sbin
 X-DATADIR = /var/run/smfs
 X-CONFDIR = /etc/mail/smfs
 X-USER = smfs
 X-GROUP = smfs
 X-CFLAGS = -O2 -D_REENTRANT -fomit-frame-pointer -I/usr/local/include
 X+DATADIR = /var/run/smfsav
 X+CONFDIR = $(PREFIX)/etc
 X+USER = smfsav
 X+GROUP = smfsav
 X+CFLAGS = -O2 -D_REENTRANT -fomit-frame-pointer -I../src/include
 X 
 X # Linux
 X-LDFLAGS = -lmilter -lpthread -lresolv
 X+#LDFLAGS = -lmilter -lpthread -lresolv
 X 
 X # FreeBSD (BIND v8 is required)
 X-#LDFLAGS = -lmilter -pthread -L/usr/local/lib -lbind_r
 X+LDFLAGS = -lmilter -pthread -L../src/lib -lbind_r
 X 
 X # Solaris
 X #LDFLAGS = -lmilter -lpthread -lsocket -lnsl -lresolv
 X@@ -30,20 +30,3 @@
 X 
 X clean:
 X 	rm -f smf-sav.o smf-sav
 X-
 X-install:
 X-	@./install.sh
 X-	@cp -f -p smf-sav $(SBINDIR)
 X-	@if test ! -d $(DATADIR); then \
 X-	mkdir -m 700 $(DATADIR); \
 X-	chown $(USER):$(GROUP) $(DATADIR); \
 X-	fi
 X-	@if test ! -d $(CONFDIR); then \
 X-	mkdir -m 755 $(CONFDIR); \
 X-	fi
 X-	@if test ! -f $(CONFDIR)/smf-sav.conf; then \
 X-	cp -p smf-sav.conf $(CONFDIR)/smf-sav.conf; \
 X-	else \
 X-	cp -p smf-sav.conf $(CONFDIR)/smf-sav.conf.new; \
 X-	fi
 X-	@echo Please, inspect and edit the $(CONFDIR)/smf-sav.conf file.
 END-of-smfsav/files/patch-Makefile
 echo x - smfsav/files/patch-readme
 sed 's/^X//' >smfsav/files/patch-readme << 'END-of-smfsav/files/patch-readme'
 X--- readme.orig	2006-10-25 23:15:10.000000000 +0300
 X+++ readme	2008-02-17 14:50:09.000000000 +0200
 X@@ -38,21 +38,18 @@
 X make
 X make install
 X 
 X-  Inspect and edit the /etc/mail/smfs/smf-sav.conf file.
 X+  Inspect and edit the /usr/local/etc/smfsav.conf file.
 X 
 X-/usr/local/sbin/smf-sav
 X+/usr/local/sbin/smfsav
 X or
 X-/usr/local/sbin/smf-sav -c /etc/mail/smfs/smf-sav.conf
 X+/usr/local/sbin/smfsav -c /usr/local/etc/smfsav.conf
 X 
 X   Add this milter to start-up scripts before starting a Sendmail daemon.
 X Look at the contributed samples of start-up scripts.
 X 
 X   Add these lines to your Sendmail configuration file (usually sendmail.mc):
 X define(`confMILTER_MACROS_HELO', confMILTER_MACROS_HELO`, {verify}')dnl
 X-INPUT_MAIL_FILTER(`smf-sav', `S=unix:/var/run/smfs/smf-sav.sock, T=S:30s;R:4m')dnl
 X-
 X-IMPORTANT: make sure that /var/run is not a group writable directory! If so,
 X-or chmod 755 /var/run, or if it's impossible switch to another directory.
 X+INPUT_MAIL_FILTER(`smfsav', `S=unix:/var/run/smfsav/smfsav.sock, T=S:30s;R:4m')dnl
 X 
 X IMPORTANT: make sure that libmilter is compiled with BROKEN_PTHREAD_SLEEP defined.
 X If this symbol is not defined, libmilter will use sleep() in signal-handler thread,
 END-of-smfsav/files/patch-readme
 echo x - smfsav/files/smfsav.in
 sed 's/^X//' >smfsav/files/smfsav.in << 'END-of-smfsav/files/smfsav.in'
 X#!/bin/sh
 X
 X# PROVIDE: smfsav
 X# REQUIRE: NETWORKING
 X# BEFORE: sendmail
 X
 X# Written for FreeBSD.
 X#
 X# $FreeBSD$
 X#
 X# Copy this file into /usr/local/etc/rc.d as /usr/local/etc/rc.d/smfsav
 X# Add this line to /etc/rc.conf:
 X#
 X# smfsav_enable="YES"
 X
 X. /etc/rc.subr
 X
 Xname="smfsav"
 Xrcvar=`set_rcvar`
 Xcommand="/usr/local/sbin/smfsav"
 X
 Xload_rc_config ${name}
 Xrun_rc_command "$1"
 X
 END-of-smfsav/files/smfsav.in
 echo x - smfsav/pkg-message
 sed 's/^X//' >smfsav/pkg-message << 'END-of-smfsav/pkg-message'
 X
 X=====================================================================================
 X1. Inspect and edit the /usr/local/etc/smfsav.conf file
 X2. Add these lines to your Sendmail configuration file (usually sendmail.mc):
 X    define(`confMILTER_MACROS_HELO', confMILTER_MACROS_HELO`, {verify}')dnl
 X    INPUT_MAIL_FILTER(`smfsav', `S=unix:/var/run/smfsav/smfsav.sock, T=S:30s;R:4m')dnl
 X3. Put line smfsav_enable="YES" to /etc/rc.conf file
 X4. Run /usr/local/etc/rc.d/smfsav start
 X=====================================================================================
 END-of-smfsav/pkg-message
 echo x - smfsav/pkg-descr
 sed 's/^X//' >smfsav/pkg-descr << 'END-of-smfsav/pkg-descr'
 X  It's a lightweight, fast and reliable Sendmail milter that implements
 Xa real-time Sender e-Mail Address Verification technology. This technology
 Xcan stop some kinds of SPAM with a spoofed sender's e-Mail address.
 X  Also it implements a real-time Recipient e-Mail Address Verification
 Xtechnology. It can be useful if your machine is a backup MX for the recipient's
 Xdomains or if your machine forwards all e-Mail messages as a relay host for your
 Xdomains to another internal or external e-Mail servers.
 X  It's a lite alternative for the spamilter, milter-sender and milter-ahead
 Xmilters.
 X
 XWWW: http://smfs.sourceforge.net/
 X
 X- Eugene Kurmanin
 Xme@kurmanin.info
 END-of-smfsav/pkg-descr
 echo x - smfsav/pkg-deinstall
 sed 's/^X//' >smfsav/pkg-deinstall << 'END-of-smfsav/pkg-deinstall'
 X#!/bin/sh
 X
 X#
 X# $FreeBSD$
 X#
 X
 XPATH=$PATH:/bin:/usr/sbin
 Xexport PATH
 X
 Xif [ "$2" = "POST-DEINSTALL" ]; then
 X
 X    if pw group show -g 666 2>&1 >/dev/null; then
 X	echo "[*] Removing group \"smfsav\""
 X	pw groupdel -g 666
 X    fi
 X
 X    if pw user show -u 666 2>&1 >/dev/null; then
 X	echo "[*] Removing user \"smfsav\""
 X	pw userdel -u 666
 X    fi
 X
 X    if [ -d /var/run/smfsav ]; then
 X	echo "[*] Removing directory \"/var/run/smfsav\""
 X        rmdir /var/run/smfsav
 X    fi
 X
 Xfi
 END-of-smfsav/pkg-deinstall
 echo x - smfsav/pkg-install
 sed 's/^X//' >smfsav/pkg-install << 'END-of-smfsav/pkg-install'
 X#!/bin/sh
 X
 X#
 X# $FreeBSD$
 X#
 X
 XPATH=$PATH:/bin:/usr/sbin
 Xexport PATH
 X
 X
 Xif [ "$2" = "POST-INSTALL" ]; then
 X
 X    if grep "^smfsav:" /etc/group > /dev/null; then
 X	:
 X	else
 X	echo "[*] Adding group \"smfsav\""
 X	pw groupadd -n smfsav -g 666
 X    fi
 X
 X    if grep "^smfsav:" /etc/passwd > /dev/null; then
 X	:
 X	else
 X	echo "[*] Adding user \"smfsav\""
 X	pw useradd -c SMFSAV -g smfsav -n smfsav -d /nonexistent -s /usr/sbin/nologin -u 666
 X    fi
 X    
 X    echo "[*] Creating directory \"/var/run/smfsav\""
 X    mkdir /var/run/smfsav
 X    chown smfsav:smfsav /var/run/smfsav
 X    chmod 700 /var/run/smfsav
 X
 Xfi
 END-of-smfsav/pkg-install
 exit
 
 ------=_20080217170157_89234--
 
 
State-Changed-From-To: feedback->closed 
State-Changed-By: pav 
State-Changed-When: Sun Feb 17 21:12:59 UTC 2008 
State-Changed-Why:  
New port added, thanks you! 

http://www.freebsd.org/cgi/query-pr.cgi?pr=116948 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/116948: commit references a PR
Date: Sun, 17 Feb 2008 21:17:03 +0000 (UTC)

 pav         2008-02-17 21:16:47 UTC
 
   FreeBSD ports repository
 
   Modified files:
     mail                 Makefile 
   Added files:
     mail/smfsav          Makefile distinfo pkg-deinstall pkg-descr 
                          pkg-install 
     mail/smfsav/files    patch-Makefile patch-readme 
                          patch-smf-sav.c patch-smf-sav.conf 
                          pkg-message.in smfsav.in 
   Log:
     It's a lightweight, fast and reliable Sendmail milter that implements
   a real-time Sender e-Mail Address Verification technology. This technology
   can stop some kinds of SPAM with a spoofed sender's e-Mail address.
     Also it implements a real-time Recipient e-Mail Address Verification
   technology. It can be useful if your machine is a backup MX for the recipient's
   domains or if your machine forwards all e-Mail messages as a relay host for your
   domains to another internal or external e-Mail servers.
     It's a lite alternative for the spamilter, milter-sender and milter-ahead
   milters.
   
   WWW: http://smfs.sourceforge.net/
   
   PR:             ports/116948
   Submitted by:   Anton Lysenok / Bart Tapolsky <bart@tapolsky.net.ua>
   
   Revision  Changes    Path
   1.898     +1 -0      ports/mail/Makefile
   1.1       +59 -0     ports/mail/smfsav/Makefile (new)
   1.1       +6 -0      ports/mail/smfsav/distinfo (new)
   1.1       +48 -0     ports/mail/smfsav/files/patch-Makefile (new)
   1.1       +28 -0     ports/mail/smfsav/files/patch-readme (new)
   1.1       +57 -0     ports/mail/smfsav/files/patch-smf-sav.c (new)
   1.1       +28 -0     ports/mail/smfsav/files/patch-smf-sav.conf (new)
   1.1       +9 -0      ports/mail/smfsav/files/pkg-message.in (new)
   1.1       +24 -0     ports/mail/smfsav/files/smfsav.in (new)
   1.1       +27 -0     ports/mail/smfsav/pkg-deinstall (new)
   1.1       +14 -0     ports/mail/smfsav/pkg-descr (new)
   1.1       +32 -0     ports/mail/smfsav/pkg-install (new)
 _______________________________________________
 cvs-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/cvs-all
 To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
 
>Unformatted:
