aboutsummaryrefslogtreecommitdiffstats
path: root/mail
diff options
context:
space:
mode:
authoravl <avl@FreeBSD.org>2009-10-03 12:39:07 +0800
committeravl <avl@FreeBSD.org>2009-10-03 12:39:07 +0800
commit0922d30b913e8e38fa1d1699a5c9d8b936ea4d63 (patch)
treea06f00025cec59b0eec765a19ebe1704b3130ff2 /mail
parent1a702902d4a54fbfc23d1b4027b6b94b127459f9 (diff)
downloadfreebsd-ports-gnome-0922d30b913e8e38fa1d1699a5c9d8b936ea4d63.tar.gz
freebsd-ports-gnome-0922d30b913e8e38fa1d1699a5c9d8b936ea4d63.tar.zst
freebsd-ports-gnome-0922d30b913e8e38fa1d1699a5c9d8b936ea4d63.zip
- Fix ipfw issues
- Bump PORTREVISION PR: ports/139306 Submitted by: Olli Hauer <ohauer at gmx.de> (maintainer) Approved by: tabthorpe, glarkin (mentors, implicit)
Diffstat (limited to 'mail')
-rw-r--r--mail/spamd/Makefile2
-rw-r--r--mail/spamd/files/patch-spamd__grey.c29
2 files changed, 30 insertions, 1 deletions
diff --git a/mail/spamd/Makefile b/mail/spamd/Makefile
index 7a8cf0f4117b..b0f233b6f110 100644
--- a/mail/spamd/Makefile
+++ b/mail/spamd/Makefile
@@ -7,7 +7,7 @@
PORTNAME= spamd
PORTVERSION= 4.5.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= mail
MASTER_SITES= BERLIOS
MASTER_SITE_SUBDIR=freebsdspamd
diff --git a/mail/spamd/files/patch-spamd__grey.c b/mail/spamd/files/patch-spamd__grey.c
new file mode 100644
index 000000000000..a98d2f5254ed
--- /dev/null
+++ b/mail/spamd/files/patch-spamd__grey.c
@@ -0,0 +1,29 @@
+--- ./spamd/grey.c.orig
++++ ./spamd/grey.c
+@@ -329,9 +329,10 @@
+ {
+ ipfw_table_entry ent;
+ int i;
+- static int ipfw_socket;
++ static int ipfw_socket = 0;
+
+- ipfw_socket = socket(AF_INET, SOCK_RAW, IPPROTO_RAW);
++ if (ipfw_socket == 0)
++ ipfw_socket = socket(AF_INET, SOCK_RAW, IPPROTO_RAW);
+
+ if (debug)
+ fprintf(stderr, "configure ipfw tabno: %d\n", ipfw_tabno);
+@@ -363,8 +364,11 @@
+ inet_aton(addrs[i], (struct in_addr *)&ent.addr);
+ if (setsockopt(ipfw_socket, IPPROTO_IP, IP_FW_TABLE_ADD, &ent, sizeof(ent)) < 0)
+ {
+- syslog_r(LOG_INFO, &sdata, "IPFW setsockopt(IP_FW_TABLE_ADD) (%m)");
+- return(-1);
++ /* work around dups */
++ if (errno != EEXIST) {
++ syslog_r(LOG_INFO, &sdata, "IPFW setsockopt(IP_FW_TABLE_ADD) (%m)");
++ return(-1);
++ }
+ }
+ }
+