svn commit: r459031 - in head/mail/spamilter: . files
Dirk Meyer
dinoex at FreeBSD.org
Mon Jan 15 10:55:03 UTC 2018
Author: dinoex
Date: Mon Jan 15 10:55:01 2018
New Revision: 459031
URL: https://svnweb.freebsd.org/changeset/ports/459031
Log:
- Add IPv6 AAAA Lookups for MtaHostChk
PR: 196756
Submitted by: jvp at lateapex.net
Added:
head/mail/spamilter/files/patch-dns.c (contents, props changed)
head/mail/spamilter/files/patch-dns.h (contents, props changed)
head/mail/spamilter/files/patch-hndlrs.c (contents, props changed)
Modified:
head/mail/spamilter/Makefile
Modified: head/mail/spamilter/Makefile
==============================================================================
--- head/mail/spamilter/Makefile Mon Jan 15 10:37:33 2018 (r459030)
+++ head/mail/spamilter/Makefile Mon Jan 15 10:55:01 2018 (r459031)
@@ -2,7 +2,7 @@
PORTNAME= spamilter
PORTVERSION= 0.60
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= mail
MASTER_SITES= http://www.wanlink.com/spamilter/download/
Added: head/mail/spamilter/files/patch-dns.c
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/mail/spamilter/files/patch-dns.c Mon Jan 15 10:55:01 2018 (r459031)
@@ -0,0 +1,60 @@
+--- dns.c.orig 2005-07-17 19:55:13.000000000 -0500
++++ dns.c 2015-01-21 13:58:59.000000000 -0600
+@@ -58,25 +58,48 @@
+
+ int dns_query_rr_a(const res_state statp, char *fmt, ...)
+ { va_list vl;
+- int x,rc = 0;
+- char *hn = NULL;
++ int x, haveRR = 0;
++ char *hostName = NULL;
+
+ va_start(vl,fmt);
+ if(fmt != NULL && *fmt)
+ {
+- x = vasprintf(&hn,fmt,vl);
+- if(hn != NULL && x > 0)
+- { u_char packet[NS_PACKETSZ];
++ x = vasprintf(&hostName,fmt,vl);
++ if(hostName != NULL && x > 0)
++ { u_char ns_packet[NS_PACKETSZ];
+
+- rc = (res_nquery(statp, hn,ns_c_in,ns_t_a,packet,sizeof(packet)) == -1 ? 0 : 1);
++ haveRR = (res_nquery(statp, hostName, ns_c_in, ns_t_a, ns_packet, sizeof(ns_packet)) == -1 ? 0 : 1);
+ }
+
+- if(hn != NULL)
+- free(hn);
++ if(hostName != NULL)
++ free(hostName);
+ }
+ va_end(vl);
+
+- return(rc);
++ return haveRR;
++}
++
++int dns_query_rr_aaaa(const res_state statp, char *fmt, ...)
++{ va_list vl;
++ int x, haveRR = 0;
++ char *hostName = NULL;
++
++ va_start(vl,fmt);
++ if(fmt != NULL && *fmt)
++ {
++ x = vasprintf(&hostName,fmt,vl);
++ if(hostName != NULL && x > 0)
++ { u_char ns_packet[NS_PACKETSZ];
++
++ haveRR = (res_nquery(statp, hostName, ns_c_in, ns_t_aaaa, ns_packet, sizeof(ns_packet)) == -1 ? 0 : 1);
++ }
++
++ if(hostName != NULL)
++ free(hostName);
++ }
++ va_end(vl);
++
++ return haveRR;
+ }
+
+ int dns_rdnsbl_has_rr_a(const res_state statp, long ip, char *domain)
Added: head/mail/spamilter/files/patch-dns.h
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/mail/spamilter/files/patch-dns.h Mon Jan 15 10:55:01 2018 (r459031)
@@ -0,0 +1,11 @@
+--- dns.h.orig 2004-11-25 18:13:49.000000000 -0600
++++ dns.h 2015-01-21 14:06:33.000000000 -0600
+@@ -47,6 +47,8 @@
+
+ #define mkip(a,b,c,d) ((((a)&0xff)<<24)|(((b)&0xff)<<16)|(((c)&0xff)<<8)|((d)&0xff))
+
++ int dns_query_rr_aaaa(const res_state statp, char *fmt, ...);
++
+ int dns_query_rr_a(const res_state statp, char *fmt, ...);
+ int dns_rdnsbl_has_rr_a(const res_state statp, long ip, char *domain);
+
Added: head/mail/spamilter/files/patch-hndlrs.c
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/mail/spamilter/files/patch-hndlrs.c Mon Jan 15 10:55:01 2018 (r459031)
@@ -0,0 +1,15 @@
+--- hndlrs.c.orig 2005-07-17 19:55:13.000000000 -0500
++++ hndlrs.c 2015-01-21 14:47:27.000000000 -0600
+@@ -466,7 +466,11 @@
+ if(gMtaHostIpfw)
+ mlfi_MtaHostIpfwAction(priv->ipstr,"add");
+ }
+- else if(gMtaHostChk && !priv->islocalnethost && !dns_query_rr_a(priv->statp,priv->helo))
++ else if(gMtaHostChk
++ && !priv->islocalnethost
++ && !dns_query_rr_a(priv->statp,priv->helo)
++ && !dns_query_rr_aaaa(priv->statp,priv->helo)
++ )
+ {
+ mlfi_setreply(ctx,550,"5.7.1","Rejecting due to security policy - Invalid hostname '%s', Please see: %s#invalidhostname",priv->helo,gPolicyUrl);
+ mlfi_debug("envrcpt: Invalid MTA hostname '%s'\n",priv->helo);
More information about the svn-ports-head
mailing list