diff options
Diffstat (limited to 'mail/spamd/files')
| -rw-r--r-- | mail/spamd/files/obspamd.in | 64 | ||||
| -rw-r--r-- | mail/spamd/files/obspamlogd.in | 49 | ||||
| -rw-r--r-- | mail/spamd/files/patch-greyc | 131 | ||||
| -rw-r--r-- | mail/spamd/files/patch-greyh | 10 | ||||
| -rw-r--r-- | mail/spamd/files/patch-spamd | 48 | ||||
| -rw-r--r-- | mail/spamd/files/patch-spamd-setup | 110 | ||||
| -rw-r--r-- | mail/spamd/files/patch-spamdm | 89 | ||||
| -rw-r--r-- | mail/spamd/files/pfspamd.sh.in | 49 | ||||
| -rw-r--r-- | mail/spamd/files/pkg-deinstall.in | 21 | ||||
| -rw-r--r-- | mail/spamd/files/pkg-install.in | 125 | ||||
| -rw-r--r-- | mail/spamd/files/pkg-message.in | 42 |
11 files changed, 301 insertions, 437 deletions
diff --git a/mail/spamd/files/obspamd.in b/mail/spamd/files/obspamd.in new file mode 100644 index 000000000000..cfda57c84756 --- /dev/null +++ b/mail/spamd/files/obspamd.in @@ -0,0 +1,64 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: obspamd +# REQUIRE: NETWORKING SERVERS +# BEFORE: DAEMON +# KEYWORD: shutdown + +# +# Define these spamd_* variables in one of these files: +# /etc/rc.conf +# /etc/rc.conf.local +# +# obspamd_enable="YES" # Run the spamd(8) daemon (YES/NO). +# obspamd_flags="" # Extra flags for spamd(8) (if enabled). +# +# DO NOT CHANGE THESE DEFAULT VALUES HERE +# +obspamd_enable=${obspamd_enable:-"NO"} +obspamd_flags=${obspamd_flags:-""} + +. %%RC_SUBR%% + +name="obspamd" +rcvar=`set_rcvar` + +command="%%PREFIX%%/libexec/spamd" +start_precmd="obspamd_precmd" +start_postcmd="obspamd_postcmd" +restart_postcmd="obspamd_postcmd" +pidfile="/var/run/spamd.pid" + +obspamd_precmd() +{ + _rc=0 + echo "${obspamd_flags}" | grep "\-b" 2>&1 > /dev/null + if [ $? -eq 1 ]; then + /sbin/mount -p | grep 'fdescfs.*/dev/fd.*fdescfs.*rw' 2>&1 > /dev/null + _rc=${?} + if [ ${_rc} -ne 0 ]; then + echo "Unable to start spamd in greylisting mode" + echo "" + echo "Please mount fdescfs with the following line in /etc/fstab" + echo "" + echo " fdescfs /dev/fd fdescfs rw 0 0" + echo "" + fi + return ${_rc} + fi +} + +obspamd_postcmd() +{ + if [ -x %%PREFIX%%/sbin/spamd-setup ]; then + if [ -r %%PREFIX%%/etc/spamd/spamd.conf ]; then + %%PREFIX%%/sbin/spamd-setup & + fi + fi +} + +load_rc_config $name +run_rc_command "$1" diff --git a/mail/spamd/files/obspamlogd.in b/mail/spamd/files/obspamlogd.in new file mode 100644 index 000000000000..53fb60a3be99 --- /dev/null +++ b/mail/spamd/files/obspamlogd.in @@ -0,0 +1,49 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: obspamlogd +# REQUIRE: NETWORKING SERVERS obspamd +# BEFORE: DAEMON +# KEYWORD: shutdown + +# +# Define these obspamlogd_* variables in one of these files: +# /etc/rc.conf +# /etc/rc.conf.local +# +# obspamlogd_enable="YES" # Run the spamlogd(8) daemon (YES/NO). +# obspamlogd_flags="" # Extra flags for spamlogd(8) (if enabled). +# +# DO NOT CHANGE THESE DEFAULT VALUES HERE +# +obspamlogd_enable=${obspamlogd_enable:-"NO"} +obspamlogd_flags=${obspamlogd_flags:-""} + +. %%RC_SUBR%% + +name="obspamlogd" +rcvar=`set_rcvar` + +command="%%PREFIX%%/libexec/spamlogd" +start_precmd="${name}_precmd" + +obspamlogd_precmd() +{ + _rc=0 + /sbin/mount -p | grep 'fdescfs.*/dev/fd.*fdescfs.*rw' 2>&1 > /dev/null + _rc=${?} + if [ ${_rc} -ne 0 ]; then + echo "Unable to start ${name}" + echo "" + echo "Please mount fdescfs with the following line in /etc/fstab" + echo "" + echo " fdescfs /dev/fd fdescfs rw 0 0" + echo "" + fi + return ${_rc} +} + +load_rc_config $name +run_rc_command "$1" diff --git a/mail/spamd/files/patch-greyc b/mail/spamd/files/patch-greyc deleted file mode 100644 index 0a626e9f1737..000000000000 --- a/mail/spamd/files/patch-greyc +++ /dev/null @@ -1,131 +0,0 @@ ---- spamd/grey.c Wed Apr 13 03:22:17 2005 -+++ spamd/grey.c Mon Mar 20 15:26:18 2006 -@@ -39,6 +39,10 @@ - #include <unistd.h> - #include <netdb.h> - -+#ifdef IPFW -+#include <netinet/ip_fw.h> -+#endif -+ - #include "grey.h" - - extern time_t passtime, greyexp, whiteexp, trapexp; -@@ -65,13 +69,17 @@ - char *traplist_msg = "\"Your address %A has mailed to spamtraps here\\n\""; - - pid_t db_pid = -1; --int pfdev; - int spamdconf; - -+#ifdef IPFW -+extern int tabno; -+#else -+int pfdev; - static char *pargv[11]= { - "pfctl", "-p", "/dev/pf", "-q", "-t", - "spamd-white", "-T", "replace", "-f" "-", NULL - }; -+#endif - - /* If the parent gets a signal, kill off the children and exit */ - /* ARGSUSED */ -@@ -104,6 +112,7 @@ - return(0); - } - -+#ifndef IPFW - int - configure_pf(char **addrs, int count) - { -@@ -166,11 +175,54 @@ - for (i = 0; i < count; i++) - if (addrs[i] != NULL) - fprintf(pf, "%s/32\n", addrs[i]); -+ - fclose(pf); - waitpid(pid, NULL, 0); - sigaction(SIGCHLD, &sa, NULL); - return(0); - } -+#else -+int -+configure_pf(char **addrs, int count) -+{ -+ static int s = -1; -+ ipfw_table_entry ent; -+ int i; -+ -+ if (s == -1) -+ s = socket(AF_INET, SOCK_RAW, IPPROTO_RAW); -+ if (s < 0) -+ { -+ syslog_r(LOG_INFO, &sdata, "IPFW socket unavailable (%m)"); -+ return(-1); -+ } -+ -+ /* flush the table */ -+ ent.tbl = tabno; -+ if (setsockopt(s, IPPROTO_IP, IP_FW_TABLE_FLUSH, &ent.tbl, sizeof(ent.tbl)) < 0) -+ { -+ syslog_r(LOG_INFO, &sdata, "IPFW setsockopt(IP_FW_TABLE_FLUSH) (%m)"); -+ return(-1); -+ } -+ -+ for (i = 0; i < count; i++) -+ if (addrs[i] != NULL) -+ { -+ /* add addrs[i] to tabno */ -+ ent.tbl = tabno; -+ ent.masklen = 32; -+ ent.value = 0; -+ inet_aton(addrs[i], (struct in_addr *)&ent.addr); -+ if (setsockopt(s, IPPROTO_IP, IP_FW_TABLE_ADD, &ent, sizeof(ent)) < 0) -+ { -+ syslog_r(LOG_INFO, &sdata, "IPFW setsockopt(IP_FW_TABLE_ADD) (%m)"); -+ return(-1); -+ } -+ } -+ -+ return(0); -+} -+#endif - - void - freeaddrlists(void) -@@ -590,11 +642,13 @@ - int i; - struct sigaction sa; - -+#ifndef IPFW - pfdev = open("/dev/pf", O_RDWR); - if (pfdev == -1) { - syslog_r(LOG_ERR, &sdata, "open of /dev/pf failed (%m)"); - exit(1); - } -+#endif - - /* check to see if /var/db/spamd exists, if not, create it */ - if ((i = open(PATH_SPAMD_DB, O_RDWR, 0)) == -1 && errno == ENOENT) { -@@ -636,7 +690,9 @@ - * child, talks to jailed spamd over greypipe, - * updates db. has no access to pf. - */ -+#ifndef IPFW - close(pfdev); -+#endif - setproctitle("(%s update)", PATH_SPAMD_DB); - greyreader(); - /* NOTREACHED */ -@@ -655,7 +711,11 @@ - sigaction(SIGCHLD, &sa, NULL); - sigaction(SIGINT, &sa, NULL); - -+#ifndef IPFW - setproctitle("(pf <spamd-white> update)"); -+#else -+ setproctitle("(ipfw white table update)"); -+#endif - greyscanner(); - /* NOTREACHED */ - exit(1); diff --git a/mail/spamd/files/patch-greyh b/mail/spamd/files/patch-greyh deleted file mode 100644 index 5f9d5c9b5833..000000000000 --- a/mail/spamd/files/patch-greyh +++ /dev/null @@ -1,10 +0,0 @@ ---- spamd/grey.h Thu Mar 16 19:55:33 2006 -+++ spamd/grey.h Thu Mar 16 19:55:56 2006 -@@ -22,6 +22,7 @@ - #define WHITEEXP (60 * 60 * 24 * 36) /* remove white entries after 36 days */ - #define TRAPEXP (60 * 60 * 24) /* hitting a spamtrap blacklists for a day */ - #define PATH_PFCTL "/sbin/pfctl" -+#define PATH_IPFW "/sbin/ipfw" - #define DB_SCAN_INTERVAL 60 - #define PATH_SPAMD_DB "/var/db/spamd" - diff --git a/mail/spamd/files/patch-spamd b/mail/spamd/files/patch-spamd deleted file mode 100644 index 6aea088d3922..000000000000 --- a/mail/spamd/files/patch-spamd +++ /dev/null @@ -1,48 +0,0 @@ ---- spamd/spamd.c Thu Mar 16 20:56:45 2006 -+++ spamd/spamd.c Thu Mar 16 21:07:11 2006 -@@ -123,6 +123,10 @@ - pid_t jail_pid = -1; - u_short cfg_port; - -+#ifdef IPFW -+int tabno=1; -+#endif -+ - extern struct sdlist *blacklists; - - int conffd = -1; -@@ -153,6 +157,10 @@ - " [-G mins:hours:hours] [-n name] [-p port]\n"); - fprintf(stderr, - " [-r reply] [-s secs] [-w window]\n"); -+#ifdef IPFW -+ fprintf(stderr, -+ " [-t table_no]\n"); -+#endif - exit(1); - } - -@@ -958,7 +966,11 @@ - if (gethostname(hostname, sizeof hostname) == -1) - err(1, "gethostname"); - -+#ifdef IPFW -+ while ((ch = getopt(argc, argv, "45b:c:B:p:dgG:r:s:n:vw:t:")) != -1) { -+#else - while ((ch = getopt(argc, argv, "45b:c:B:p:dgG:r:s:n:vw:")) != -1) { -+#endif - switch (ch) { - case '4': - nreply = "450"; -@@ -1015,6 +1027,11 @@ - case 'v': - verbose = 1; - break; -+#ifdef IPFW -+ case 't': -+ tabno = atoi(optarg); -+ break; -+#endif - case 'w': - window = atoi(optarg); - if (window <= 0) diff --git a/mail/spamd/files/patch-spamd-setup b/mail/spamd/files/patch-spamd-setup deleted file mode 100644 index 6b517f056209..000000000000 --- a/mail/spamd/files/patch-spamd-setup +++ /dev/null @@ -1,110 +0,0 @@ ---- spamd-setup/spamd-setup.c.orig Wed Apr 13 01:18:59 2005 -+++ spamd-setup/spamd-setup.c Wed May 10 01:55:13 2006 -@@ -41,6 +41,11 @@ - #include <netdb.h> - #include <zlib.h> - -+#ifdef IPFW -+#include <net/if.h> -+#include <netinet/ip_fw.h> -+#endif -+ - #define PATH_FTP "/usr/bin/ftp" - #define PATH_PFCTL "%%LOCAL_PFCTL%%" - #define PATH_SPAMD_CONF "%%LOCAL_SPAMD_CONF%%" -@@ -93,6 +98,11 @@ - int debug; - int dryrun; - -+#ifdef IPFW -+int tabno=2; -+#endif -+ -+ - u_int32_t - imask(u_int8_t b) - { -@@ -630,6 +640,7 @@ - } - - -+#ifndef IPFW - int - configure_pf(struct cidr **blacklists) - { -@@ -676,6 +687,51 @@ - } - return(0); - } -+#else -+int -+configure_pf(struct cidr **blacklists) -+{ -+ static int s = -1; -+ ipfw_table_entry ent; -+ -+ if (s == -1) -+ s = socket(AF_INET, SOCK_RAW, IPPROTO_RAW); -+ if (s < 0) -+ { -+ err(1, "IPFW socket unavailable"); -+ return(-1); -+ } -+ -+ /* flush the table */ -+ ent.tbl = tabno; -+ if (setsockopt(s, IPPROTO_IP, IP_FW_TABLE_FLUSH, &ent.tbl, sizeof(ent.tbl)) < 0) -+ { -+ err(1, "IPFW setsockopt(IP_FW_TABLE_FLUSH)"); -+ return(-1); -+ } -+ -+ while (*blacklists != NULL) { -+ struct cidr *b = *blacklists; -+ -+ while (b->addr != 0) { -+ /* add b to tabno */ -+ ent.tbl = tabno; -+ ent.masklen = b->bits; -+ ent.value = 0; -+ inet_aton(atop(b->addr), (struct in_addr *)&ent.addr); -+ if (setsockopt(s, IPPROTO_IP, IP_FW_TABLE_ADD, &ent, sizeof(ent)) < 0) -+ { -+ err(1, "IPFW setsockopt(IP_FW_TABLE_ADD)"); -+ return(-1); -+ } -+ b++; -+ } -+ blacklists++; -+ } -+ -+ return(0); -+} -+#endif - - int - getlist(char ** db_array, char *name, struct blacklist *blist, -@@ -773,7 +829,11 @@ - struct servent *ent; - int i, ch; - -+#ifndef IPFW - while ((ch = getopt(argc, argv, "nd")) != -1) { -+#else -+ while ((ch = getopt(argc, argv, "ndt:")) != -1) { -+#endif - switch (ch) { - case 'n': - dryrun = 1; -@@ -781,6 +841,11 @@ - case 'd': - debug = 1; - break; -+#ifdef IPFW -+ case 't': -+ tabno = atoi(optarg); -+ break; -+#endif - default: - break; - } diff --git a/mail/spamd/files/patch-spamdm b/mail/spamd/files/patch-spamdm deleted file mode 100644 index 9b83f8a3dc63..000000000000 --- a/mail/spamd/files/patch-spamdm +++ /dev/null @@ -1,89 +0,0 @@ ---- spamd/spamd.8 Wed Apr 13 03:21:48 2005 -+++ spamd/spamd.8 Mon Mar 20 15:12:10 2006 -@@ -49,6 +49,8 @@ - daemon which rejects false mail. - If the - .Xr pf 4 -+or -+.Xr ipfw 4 - packet filter is configured to redirect port 25 (SMTP) to this daemon, - it will attempt to waste the time and resources of the spam sender. - .Pp -@@ -151,11 +153,15 @@ - which processes a list of spammers' addresses, and applies appropriate - .Xr pfctl 8 - .Em rdr -+or -+.Xr ipfw 8 -+.Em fwd - rules. - .Xr spamd-setup 8 - is run from - .Xr cron 8 . - .Sh REDIRECTING SMTP CONNECTIONS -+.Ss "When using PF" - With - .Xr pf 4 , - connections to port 25 (SMTP) can be redirected to another host or port, -@@ -189,6 +195,8 @@ - can also be used to load addresses into the - .Em <spamd> - table. -+ -+ - .Xr spamd-setup 8 - also has the added benefit of being able to remove addresses from - blacklists, and will connect to -@@ -203,6 +211,52 @@ - This is important as it allows legitimate mail - senders to pressure spam sources into behaving properly so that they - may be removed from the relevant blacklists. -+ -+.Ss "If compiled with IPFW" -+With -+.Xr ipfw 4 , -+the syntax for redirection of TCP sessions is quite different -+from that of -+.Xr pf 4 . -+The -+.Em fwd -+rule used for this purpose are described in -+.Xr ipfw 8 . -+The rules should be added to the ruleset called by /etc/rc.firewall -+to be present at boot time. -+.Bd -literal -offset 4n -+fwd 127.0.0.1,8025 tcp from table(2) to me 25 in -+allow tcp from table(1) to me 25 in -+fwd 127.0.0.1,8025 tcp from any to me 25 in -+.Ed -+.Pp -+Any addresses in the blacklist table -+.Em 2 -+and not in the whitelist table -+.Em 1 -+are then redirected to -+.Nm -+running on port 8025. -+Addresses can be loaded into the blacklist -+.Em table , -+like: -+.Bd -literal -offset 4n -+# ipfw table 1 add a.b.c.d/x -+.Ed -+.Pp -+.Xr spamd-setup 8 -+can also be used to load addresses into the blacklist table -+.Em 2 . -+.Pp -+The -+.Op Fl t Ar table_no -+option to -+.Em spamd -+and -+.Em spamd-setup -+can be used to change the default table -+numbers. -+ - .Sh CONFIGURATION CONNECTIONS - .Nm - listens for configuration connections on the port identified by the diff --git a/mail/spamd/files/pfspamd.sh.in b/mail/spamd/files/pfspamd.sh.in deleted file mode 100644 index e2e2e52ad0a7..000000000000 --- a/mail/spamd/files/pfspamd.sh.in +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/sh -# -# $FreeBSD$ -# - -# PROVIDE: pfspamd -# REQUIRE: NETWORKING -# BEFORE: mail -# KEYWORD: shutdown - -# -# Add the following lines to /etc/rc.conf to enable spamd: -# pfspamd_enable (bool): Set to "NO" by default. -# Set it to "YES" to enable spamd -# pfspamd_flags (str): Set to "" by default. -# Extra flags passed to start command. -# pfspamd_setup_flags (str): Set to "" by default. -# Extra flags passed to spamd-setup command. - -. %%RC_SUBR%% - -name="pfspamd" -rcvar=`set_rcvar` - -command="%%PREFIX%%/libexec/spamd" -start_postcmd="pfspamd_postcmd" -restart_postcmd="pfspamd_postcmd" - -[ -z "$pfspamd_enable" ] && pfspamd_enable="NO" -[ -z "$pfspamd_flags" ] && pfspamd_flags="" -[ -z "$pfspamd_setup_flags" ] && pfspamd_setup_flags="" - -load_rc_config $name - -# we override check_process to avoid conflict with the spamd from sa-spamd -check_process() -{ - ps ax -o pid,command | grep "libexec/spamd" | grep -v grep | awk '{print $1}' -} - - -pfspamd_postcmd() -{ - if [ -x %%PREFIX%%/sbin/spamd-setup ]; then - %%PREFIX%%/sbin/spamd-setup $pfspamd_setup_flags - fi -} - -run_rc_command "$1" diff --git a/mail/spamd/files/pkg-deinstall.in b/mail/spamd/files/pkg-deinstall.in new file mode 100644 index 000000000000..e3951f0366f6 --- /dev/null +++ b/mail/spamd/files/pkg-deinstall.in @@ -0,0 +1,21 @@ +#!/bin/sh +# +# + +SPAMDDIR=%%SPAMDDIR%% +SPAMDUSER=%%SPAMDUSER%% +SPAMDGROUP=%%SPAMDGROUP%% + +if [ "$2" = "POST-DEINSTALL" ]; then + if /usr/sbin/pw group show "${SPAMDGROUP}" 2>&1 >/dev/null; then + echo "You should manually remove the \"${SPAMDGROUP}\" group." + fi + + if /usr/sbin/pw user show "${SPAMDUSER}" 2>&1 >/dev/null; then + echo "You should manually remove the \"${SPAMDUSER}\" user." + fi + + if [ -e "${SPAMDDIR}" ]; then + echo "You should manually remove the \"${SPAMDDIR}\" directory." + fi +fi diff --git a/mail/spamd/files/pkg-install.in b/mail/spamd/files/pkg-install.in new file mode 100644 index 000000000000..337b1f86aa60 --- /dev/null +++ b/mail/spamd/files/pkg-install.in @@ -0,0 +1,125 @@ +#!/bin/sh +# +# + +SPAMDDIR=%%SPAMDDIR%% +SPAMDUSER=%%SPAMDUSER%% +SPAMDGROUP=%%SPAMDGROUP%% +SPAMDUID=%%SPAMDUID%% +SPAMDGID=%%SPAMDGID%% + +ask() { + local question default answer + + question=$1 + default=$2 + if [ -z "${PACKAGE_BUILDING}" ]; then + read -p "${question} [${default}]? " answer + fi + if [ "x${answer}" = "x" ]; then + answer=${default} + fi + echo ${answer} +} + +yesno() { + local default question answer + + question=$1 + default=$2 + while :; do + answer=$(ask "${question}" "${default}") + case "${answer}" in + [Yy][Ee][Ss]|[Yy]) + return 0 + ;; + [Nn][Oo]|[Nn]) + return 1 + ;; + esac + echo "Please answer yes or no." + done +} + +check_service() { + local name number type comment + + name=$1 + number=$2 + type=$3 + comment=$4 + + FILE="/etc/services" + # check + OK=no + HAS_SERVICE=no + COUNT=1 + for i in `grep $name $FILE `; do + if [ $COUNT = 1 ] && [ X"$i" = X"$name" ]; then + HAS_SERVICE=yes + elif [ $COUNT = 2 ] && [ $HAS_SERVICE = yes ] && \ + [ X"$i" = X"$number/$type" ]; then + OK=yes + break + fi + COUNT=`expr ${COUNT} + 1` + done + # add an entry for SERVICE to /etc/services + if [ $OK = no ]; then + echo "This system has no entry for $name in ${FILE}" + if yesno "Would you like to add it automatically?" y; then + mv ${FILE} ${FILE}.bak + (grep -v $name ${FILE}.bak ; \ + echo "$name $number/$type # $comment") \ + >> ${FILE} + rm ${FILE}.bak + else + echo "Please add '$name $number/$type' into ${FILE}, and try again." + return 1 + fi + fi + return 0 +} + + +if [ "$2" = "PRE-INSTALL" ]; then + if /usr/sbin/pw group show "${SPAMDGROUP}" 2>&1 >/dev/null; then + echo "You already have a \"${SPAMDGROUP}\" group, so I will use it." + else + echo "You need a \"${SPAMDGROUP}\" group." + if yesno "Would you like me to create it" "YES"; then + /usr/sbin/pw groupadd "${SPAMDGROUP}" -g "${SPAMDGID}" -h - || \ + /usr/sbin/pw groupadd "${SPAMDGROUP}" -h - || exit + echo "Done." + else + echo "Please create the \"${SPAMDGROUP}\" group manually and try again." + exit 1 + fi + fi + + if /usr/sbin/pw user show "${SPAMDUSER}" 2>&1 >/dev/null; then + echo "You already have a \"${SPAMDUSER}\" user, so I will use it." + else + echo "You need a \"${SPAMDUSER}\" user." + if yesno "Would you like me to create it" "YES"; then + /usr/sbin/pw useradd "${SPAMDUSER}" -u "${SPAMDUID}" -g "${SPAMDGROUP}" -h - -d "${SPAMDDIR}" \ + -s /sbin/nologin -c "spamd pseudo-user" || \ + /usr/sbin/pw useradd "${SPAMDUSER}" -g "${SPAMDGROUP}" -h - -d "${SPAMDDIR}" \ + -s /sbin/nologin -c "spamd pseudo-user" || exit + else + echo "Please create the \"${SPAMDUSER}\" user manually and try again." + exit 1 + fi + fi + + if ! check_service spamd 8025 tcp "spamd(8)"; then + exit 1 + fi + if ! check_service spamd-cfg 8026 tcp "spamd(8) configuration"; then + exit 1 + fi + if ! check_service spamd-sync 8025 udp "spamd(8) synchronisation"; then + exit 1 + fi + +fi diff --git a/mail/spamd/files/pkg-message.in b/mail/spamd/files/pkg-message.in new file mode 100644 index 000000000000..e3c286dbe50a --- /dev/null +++ b/mail/spamd/files/pkg-message.in @@ -0,0 +1,42 @@ +********************************************************************** +To enable spamd you need: + +1) Enable spamd in /etc/rc.conf with the following line: + obspamd_enable="YES" + obspamlogd_enable="YES" + +2) Configuration template is available in %%PREFIX%%/etc/spamd as + spamd.conf.sample file. Copy then to spamd.conf file and + edit to suit your needs. + +3) mount fdescfs to /dev/fd with the following line in /etc/fstab + fdescfs /dev/fd fdescfs rw 0 0 + +4) Add following lines to the pf.conf(5) + + table <spamd-white> persist + no rdr inet proto tcp from <spamd-white> to any \ + port smtp + rdr pass inet proto tcp from any to any \ + port smtp -> 127.0.0.1 port spamd + + !!!!!!!!!!!! -- I M P O T A N T - N O T E S -- !!!!!!!!!!!!!!!!! + ! + ! changes in Ver. 4.1.x: + ! - UID/GID is reserved to: _spamd:_spamd + ! check the owner of /var/db/spamd + ! - greylisting is now the default + ! - paramer: -b is now blacklist (Ver. < 4.1.x it is bind address) + ! - paramer: -l is now listen address + ! - spamdb: format is now HASH, helo/ehlo is also stored in db + ! convert will be done at the first start of spamd + ! if you have scripts that use spamdb review this scripts + ! - config files: new location is %%PREFIX%%/etc/spamd + ! - spamtrapp addresses: remove the surrounding '< >' signs + ! - pfspamd.sh was renamed to the obspamd + ! - IPFW support (beta) added to the sources. + ! See %%PREFIX%%/%%DOCSDIR%%/spamd-ipfw.txt for usage manual. + ! + !!!!!!!!!!!! -- I M P O T A N T - N O T E S -- !!!!!!!!!!!!!!!!! + +********************************************************************** |
