View | Details | Raw Unified | Return to bug 231412 | Differences between
and this patch

Collapse All | Expand All

(-)mail/spamassassin/Makefile (-3 / +4 lines)
Lines 2-9 Link Here
2
# $FreeBSD$
2
# $FreeBSD$
3
3
4
PORTNAME=	spamassassin
4
PORTNAME=	spamassassin
5
PORTVERSION=	3.4.1
5
PORTVERSION=	3.4.2
6
PORTREVISION?=	12	# also bump japanese/spamassassin
6
PORTREVISION?=	0	# also bump japanese/spamassassin
7
CATEGORIES?=	mail perl5
7
CATEGORIES?=	mail perl5
8
MASTER_SITES=	APACHE/spamassassin/source CPAN/Mail
8
MASTER_SITES=	APACHE/spamassassin/source CPAN/Mail
9
DISTNAME=	Mail-SpamAssassin-${PORTVERSION}
9
DISTNAME=	Mail-SpamAssassin-${PORTVERSION}
Lines 91-97 Link Here
91
PGSQL_RUN_DEPENDS=	p5-DBD-Pg>=0:databases/p5-DBD-Pg
91
PGSQL_RUN_DEPENDS=	p5-DBD-Pg>=0:databases/p5-DBD-Pg
92
PYZOR_RUN_DEPENDS=	pyzor:mail/pyzor
92
PYZOR_RUN_DEPENDS=	pyzor:mail/pyzor
93
RAZOR_RUN_DEPENDS=	razor-agents>=2.84:mail/razor-agents
93
RAZOR_RUN_DEPENDS=	razor-agents>=2.84:mail/razor-agents
94
RELAY_COUNTRY_RUN_DEPENDS=	p5-Geo-IP>=0:net/p5-Geo-IP \
94
RELAY_COUNTRY_RUN_DEPENDS=	p5-GeoIP2>=0:net/p5-GeoIP2 \
95
			p5-IP-Country>=0:net/p5-IP-Country
95
			p5-IP-Country>=0:net/p5-IP-Country
96
SPF_QUERY_RUN_DEPENDS=	p5-Mail-SPF>=0:mail/p5-Mail-SPF
96
SPF_QUERY_RUN_DEPENDS=	p5-Mail-SPF>=0:mail/p5-Mail-SPF
97
97
Lines 140-145 Link Here
140
		-e 's,B_CONFDIR)/v330.pre,B_CONFDIR)/v330.pre.sample,g' \
140
		-e 's,B_CONFDIR)/v330.pre,B_CONFDIR)/v330.pre.sample,g' \
141
		-e 's,B_CONFDIR)/v340.pre,B_CONFDIR)/v340.pre.sample,g' \
141
		-e 's,B_CONFDIR)/v340.pre,B_CONFDIR)/v340.pre.sample,g' \
142
		-e 's,B_CONFDIR)/v341.pre,B_CONFDIR)/v341.pre.sample,g' \
142
		-e 's,B_CONFDIR)/v341.pre,B_CONFDIR)/v341.pre.sample,g' \
143
		-e 's,B_CONFDIR)/v342.pre,B_CONFDIR)/v342.pre.sample,g' \
143
		-e 's/require DBI/0/' \
144
		-e 's/require DBI/0/' \
144
		${WRKSRC}/Makefile.PL
145
		${WRKSRC}/Makefile.PL
145
	${REINPLACE_CMD} -e '/^CC =/d; \
146
	${REINPLACE_CMD} -e '/^CC =/d; \
(-)mail/spamassassin/distinfo (-2 / +3 lines)
Lines 1-2 Link Here
1
SHA256 (Mail-SpamAssassin-3.4.1.tar.gz) = 9b7a95a594cdca4f265707364478b57813b82a0ec7e520d9bc818bfbcafdd726
1
TIMESTAMP = 1537273902
2
SIZE (Mail-SpamAssassin-3.4.1.tar.gz) = 3174888
2
SHA256 (Mail-SpamAssassin-3.4.2.tar.gz) = 8a1c139ee08f140d3d3fdf13e03d98cf68a5cae27a082c4a614d154565a3c34f
3
SIZE (Mail-SpamAssassin-3.4.2.tar.gz) = 3185452
(-)mail/spamassassin/files/patch-DnsResolver.pm (-12 lines)
Lines 1-12 Link Here
1
--- lib/Mail/SpamAssassin/DnsResolver.pm	2015/07/20 18:23:18	1691991
2
+++ lib/Mail/SpamAssassin/DnsResolver.pm	2015/07/20 18:24:48	1691992
3
@@ -592,6 +592,9 @@
4
   };
5
 
6
   if ($packet) {
7
+    # RD flag needs to be set explicitly since Net::DNS 1.01, Bug 7223	
8
+    $packet->header->rd(1);
9
+
10
   # my $udp_payload_size = $self->{res}->udppacketsize;
11
     my $udp_payload_size = $self->{conf}->{dns_options}->{edns};
12
     if ($udp_payload_size && $udp_payload_size > 512) {
(-)mail/spamassassin/files/patch-bug7199 (-258 lines)
Lines 1-258 Link Here
1
--- spamc/libspamc.c.orig
2
+++ spamc/libspamc.c
3
@@ -1187,7 +1187,7 @@ int message_filter(struct transport *tp,
4
     unsigned int throwaway;
5
     SSL_CTX *ctx = NULL;
6
     SSL *ssl = NULL;
7
-    SSL_METHOD *meth;
8
+    const SSL_METHOD *meth;
9
     char zlib_on = 0;
10
     unsigned char *zlib_buf = NULL;
11
     int zlib_bufsiz = 0;
12
@@ -1213,11 +1213,7 @@ int message_filter(struct transport *tp,
13
     if (flags & SPAMC_USE_SSL) {
14
 #ifdef SPAMC_SSL
15
 	SSLeay_add_ssl_algorithms();
16
-	if (flags & SPAMC_TLSV1) {
17
-	    meth = TLSv1_client_method();
18
-	} else {
19
-	    meth = SSLv3_client_method(); /* default */
20
-	}
21
+	meth = SSLv23_client_method();
22
 	SSL_load_error_strings();
23
 	ctx = SSL_CTX_new(meth);
24
 #else
25
@@ -1596,7 +1592,7 @@ int message_tell(struct transport *tp, c
26
     int failureval;
27
     SSL_CTX *ctx = NULL;
28
     SSL *ssl = NULL;
29
-    SSL_METHOD *meth;
30
+    const SSL_METHOD *meth;
31
 
32
     assert(tp != NULL);
33
     assert(m != NULL);
34
@@ -1604,7 +1600,7 @@ int message_tell(struct transport *tp, c
35
     if (flags & SPAMC_USE_SSL) {
36
 #ifdef SPAMC_SSL
37
 	SSLeay_add_ssl_algorithms();
38
-	meth = SSLv3_client_method();
39
+	meth = SSLv23_client_method();
40
 	SSL_load_error_strings();
41
 	ctx = SSL_CTX_new(meth);
42
 #else
43
--- spamc/spamc.c.orig
44
+++ spamc/spamc.c
45
@@ -368,16 +368,11 @@ read_args(int argc, char **argv,
46
             case 'S':
47
             {
48
                 flags |= SPAMC_USE_SSL;
49
-		if (!spamc_optarg || (strcmp(spamc_optarg,"sslv3") == 0)) {
50
-		    flags |= SPAMC_SSLV3;
51
-		}
52
-		else if (strcmp(spamc_optarg,"tlsv1") == 0) {
53
-		    flags |= SPAMC_TLSV1;
54
-		}
55
-		else {
56
-		    libspamc_log(flags, LOG_ERR, "Please specify a legal ssl version (%s)", spamc_optarg);
57
-		    ret = EX_USAGE;
58
-		}
59
+                if(spamc_optarg) {
60
+                    libspamc_log(flags, LOG_ERR,
61
+                        "Explicit specification of an SSL/TLS version no longer supported.");
62
+                    ret = EX_USAGE;
63
+                }
64
                 break;
65
             }
66
 #endif
67
--- spamd/spamd.raw.orig
68
+++ spamd/spamd.raw
69
@@ -409,7 +409,6 @@ GetOptions(
70
   'sql-config!'              => \$opt{'sql-config'},
71
   'ssl'                      => \$opt{'ssl'},
72
   'ssl-port=s'               => \$opt{'ssl-port'},
73
-  'ssl-version=s'            => \$opt{'ssl-version'},
74
   'syslog-socket=s'          => \$opt{'syslog-socket'},
75
   'syslog|s=s'               => \$opt{'syslog'},
76
   'log-timestamp-fmt:s'      => \$opt{'log-timestamp-fmt'},
77
@@ -744,11 +743,6 @@ if ( defined $ENV{'HOME'} ) {
78
 
79
 # Do whitelist later in tmp dir. Side effect: this will be done as -u user.
80
 
81
-my $sslversion = $opt{'ssl-version'} || 'sslv3';
82
-if ($sslversion !~ /^(?:sslv3|tlsv1)$/) {
83
-  die "spamd: invalid ssl-version: $opt{'ssl-version'}\n";
84
-}
85
-
86
 $opt{'server-key'}  ||= "$LOCAL_RULES_DIR/certs/server-key.pem";
87
 $opt{'server-cert'} ||= "$LOCAL_RULES_DIR/certs/server-cert.pem";
88
 
89
@@ -899,9 +893,8 @@ sub compose_listen_info_string {
90
                       $socket_info->{ip_addr}, $socket_info->{port}));
91
 
92
     } elsif ($socket->isa('IO::Socket::SSL')) {
93
-      push(@listeninfo, sprintf("SSL [%s]:%s, ssl version %s",
94
-                      $socket_info->{ip_addr}, $socket_info->{port},
95
-                      $opt{'ssl-version'}||'sslv3'));
96
+      push(@listeninfo, sprintf("SSL [%r]:%s", $socket_info->{ip_addr},
97
+                      $socket_info->{port}));
98
     }
99
   }
100
 
101
@@ -1072,7 +1065,6 @@ sub server_sock_setup_inet {
102
     $sockopt{V6Only} = 1  if $io_socket_module_name eq 'IO::Socket::IP'
103
                              && IO::Socket::IP->VERSION >= 0.09;
104
     %sockopt = (%sockopt, (
105
-      SSL_version     => $sslversion,
106
       SSL_verify_mode => 0x00,
107
       SSL_key_file    => $opt{'server-key'},
108
       SSL_cert_file   => $opt{'server-cert'},
109
@@ -1093,7 +1085,8 @@ sub server_sock_setup_inet {
110
     if (!$server_inet) {
111
       $diag = sprintf("could not create %s socket on [%s]:%s: %s",
112
                       $ssl ? 'IO::Socket::SSL' : $io_socket_module_name,
113
-                      $adr, $port, $!);
114
+                      $adr, $port, $ssl && $IO::Socket::SSL::SSL_ERROR ?
115
+                      "$!,$IO::Socket::SSL::SSL_ERROR" : $!);
116
       push(@diag_fail, $diag);
117
     } else {
118
       $diag = sprintf("created %s socket on [%s]:%s",
119
@@ -3238,7 +3231,6 @@ Options:
120
  -H [dir], --helper-home-dir[=dir] Specify a different HOME directory
121
  --ssl                             Enable SSL on TCP connections
122
  --ssl-port port                   Override --port setting for SSL connections
123
- --ssl-version sslversion          Specify SSL protocol version to use
124
  --server-key keyfile              Specify an SSL keyfile
125
  --server-cert certfile            Specify an SSL certificate
126
  --socketpath=path                 Listen on a given UNIX domain socket
127
@@ -3727,14 +3719,6 @@ Optionally specifies the port number for
128
 SSL connections (default: whatever --port uses).  See B<--ssl> for
129
 more details.
130
 
131
-=item B<--ssl-version>=I<sslversion>
132
-
133
-Specify the SSL protocol version to use, one of B<sslv3> or B<tlsv1>.
134
-The default, B<sslv3>, is the most flexible, accepting a SSLv3 or
135
-higher hello handshake, then negotiating use of SSLv3 or TLSv1
136
-protocol if the client can accept it.  Specifying B<--ssl-version>
137
-implies B<--ssl>.
138
-
139
 =item B<--server-key> I<keyfile>
140
 
141
 Specify the SSL key file to use for SSL connections.
142
--- spamc/spamc.pod.orig
143
+++ spamc/spamc.pod
144
@@ -177,12 +177,10 @@ The default is 1 time (ie. one attempt a
145
 Sleep for I<sleep> seconds between failed spamd filtering attempts.
146
 The default is 1 second.
147
 
148
-=item B<-S>, B<--ssl>, B<--ssl>=I<sslversion>
149
+=item B<-S>, B<--ssl>, B<--ssl>
150
 
151
 If spamc was built with support for SSL, encrypt data to and from the
152
 spamd process with SSL; spamd must support SSL as well.
153
-I<sslversion> specifies the SSL protocol version to use, either
154
-C<sslv3>, or C<tlsv1>. The default, is C<sslv3>.
155
 
156
 =item B<-t> I<timeout>, B<--timeout>=I<timeout>
157
 
158
--- t/spamd_ssl_tls.t.orig
159
+++ t/spamd_ssl_tls.t
160
@@ -1,28 +0,0 @@ 
161
-#!/usr/bin/perl
162
-
163
-use lib '.'; use lib 't';
164
-use SATest; sa_t_init("spamd_ssl_tls");
165
-use Test; plan tests => (($SKIP_SPAMD_TESTS || !$SSL_AVAILABLE) ? 0 : 9);
166
-
167
-exit if ($SKIP_SPAMD_TESTS || !$SSL_AVAILABLE);
168
-
169
-# ---------------------------------------------------------------------------
170
-
171
-%patterns = (
172
-
173
-q{ Return-Path: sb55sb55@yahoo.com}, 'firstline',
174
-q{ Subject: There yours for FREE!}, 'subj',
175
-q{ X-Spam-Status: Yes, score=}, 'status',
176
-q{ X-Spam-Flag: YES}, 'flag',
177
-q{ X-Spam-Level: **********}, 'stars',
178
-q{ TEST_ENDSNUMS}, 'endsinnums',
179
-q{ TEST_NOREALNAME}, 'noreal',
180
-q{ This must be the very last line}, 'lastline',
181
-
182
-
183
-);
184
-
185
-ok (sdrun ("-L --ssl --ssl-version=tlsv1 --server-key data/etc/testhost.key --server-cert data/etc/testhost.cert",
186
-           "--ssl=tlsv1 < data/spam/001",
187
-           \&patterns_run_cb));
188
-ok_all_patterns();
189
--- t/spamd_ssl_v3.t.orig
190
+++ t/spamd_ssl_v3.t
191
@@ -1,28 +0,0 @@ 
192
-#!/usr/bin/perl
193
-
194
-use lib '.'; use lib 't';
195
-use SATest; sa_t_init("spamd_sslv3");
196
-use Test; plan tests => (($SKIP_SPAMD_TESTS || !$SSL_AVAILABLE) ? 0 : 9);
197
-
198
-exit if ($SKIP_SPAMD_TESTS || !$SSL_AVAILABLE);
199
-
200
-# ---------------------------------------------------------------------------
201
-
202
-%patterns = (
203
-
204
-q{ Return-Path: sb55sb55@yahoo.com}, 'firstline',
205
-q{ Subject: There yours for FREE!}, 'subj',
206
-q{ X-Spam-Status: Yes, score=}, 'status',
207
-q{ X-Spam-Flag: YES}, 'flag',
208
-q{ X-Spam-Level: **********}, 'stars',
209
-q{ TEST_ENDSNUMS}, 'endsinnums',
210
-q{ TEST_NOREALNAME}, 'noreal',
211
-q{ This must be the very last line}, 'lastline',
212
-
213
-
214
-);
215
-
216
-ok (sdrun ("-L --ssl --ssl-version=sslv3 --server-key data/etc/testhost.key --server-cert data/etc/testhost.cert",
217
-           "--ssl=sslv3 < data/spam/001",
218
-           \&patterns_run_cb));
219
-ok_all_patterns();
220
--- t/spamd_ssl_accept_fail.t.orig
221
+++ t/spamd_ssl_accept_fail.t
222
@@ -23,9 +23,9 @@ q{ This must be the very last line}, 'la
223
 
224
 );
225
 
226
-ok (start_spamd ("-L --ssl --ssl-version=sslv3 --server-key data/etc/testhost.key --server-cert data/etc/testhost.cert"));
227
+ok (start_spamd ("-L --ssl --server-key data/etc/testhost.key --server-cert data/etc/testhost.cert"));
228
 ok (spamcrun ("< data/spam/001", \&patterns_run_cb));
229
-ok (spamcrun ("--ssl=sslv3  < data/spam/001", \&patterns_run_cb));
230
+ok (spamcrun ("--ssl < data/spam/001", \&patterns_run_cb));
231
 ok (stop_spamd ());
232
 
233
 ok_all_patterns();
234
--- t/spamd_ssl.t.orig
235
+++ t/spamd_ssl.t
236
@@ -2,10 +2,7 @@ 
237
 
238
 use lib '.'; use lib 't';
239
 use SATest; sa_t_init("spamd_ssl");
240
-use Test; plan tests => (($SKIP_SPAMD_TESTS || !$SSL_AVAILABLE) ? 0 : 9),
241
-    onfail => sub {
242
-	warn "\n\nNote: This may not be a SpamAssassin bug, as some platforms require that you" .
243
-	    "\nspecify a protocol in spamc --ssl option, and possibly in spamd --ssl-version.\n\n" };
244
+use Test; plan tests => (($SKIP_SPAMD_TESTS || !$SSL_AVAILABLE) ? 0 : 9);
245
 
246
 exit if ($SKIP_SPAMD_TESTS || !$SSL_AVAILABLE);
247
 
248
--- MANIFEST.orig
249
+++ MANIFEST
250
@@ -513,8 +513,6 @@ t/spamd_report_ifspam.t
251
 t/spamd_sql_prefs.t
252
 t/spamd_ssl.t
253
 t/spamd_ssl_accept_fail.t
254
-t/spamd_ssl_tls.t
255
-t/spamd_ssl_v3.t
256
 t/spamd_stop.t
257
 t/spamd_symbols.t
258
 t/spamd_syslog.t
(-)mail/spamassassin/files/patch-bug7208 (-29 lines)
Lines 1-29 Link Here
1
--- lib/Mail/SpamAssassin/Plugin/URILocalBL.pm	2015/06/10 12:15:22	1684652
2
+++ lib/Mail/SpamAssassin/Plugin/URILocalBL.pm	2015/06/10 12:18:50	1684653
3
@@ -350,7 +350,7 @@
4
     # look for W3 links only
5
     next unless (defined $info->{types}->{a});
6
 
7
-    while (my($host, $domain) = each $info->{hosts}) {
8
+    while (my($host, $domain) = each %{$info->{hosts}}) {
9
 
10
       # skip if the domain name was matched
11
       if (exists $rule->{exclusions} && exists $rule->{exclusions}->{$domain}) {
12
@@ -374,7 +374,7 @@
13
         }
14
 
15
         if (exists $rule->{countries}) {
16
-          dbg("check: uri_local_bl countries %s\n", join(' ', sort keys $rule->{countries}));
17
+          dbg("check: uri_local_bl countries %s\n", join(' ', sort keys %{$rule->{countries}}));
18
 
19
           my $cc = $self->{geoip}->country_code_by_addr($ip);
20
 
21
@@ -403,7 +403,7 @@
22
         }
23
 
24
         if (exists $rule->{isps}) {
25
-          dbg("check: uri_local_bl isps %s\n", join(' ', map { '"' . $_ . '"'; } sort keys $rule->{isps}));
26
+          dbg("check: uri_local_bl isps %s\n", join(' ', map { '"' . $_ . '"'; } sort keys %{$rule->{isps}}));
27
 
28
           my $isp = $self->{geoisp}->isp_by_name($ip);
29
 
(-)mail/spamassassin/files/patch-bug7231 (-27 lines)
Lines 1-27 Link Here
1
--- lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm	2015/08/04 23:14:23	1694125
2
+++ lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm	2015/08/04 23:16:38	1694126
3
@@ -942,9 +942,8 @@
4
     next unless (defined($str) && defined($dom));
5
     dbg("uridnsbl: got($j) NS for $dom: $str");
6
 
7
-    if ($str =~ /IN\s+NS\s+(\S+)/) {
8
-      my $nsmatch = lc $1;
9
-      $nsmatch =~ s/\.$//;
10
+    if ($rr->type eq 'NS') {
11
+      my $nsmatch = lc $rr->nsdname;  # available since at least Net::DNS 0.14
12
       my $nsrhblstr = $nsmatch;
13
       my $fullnsrhblstr = $nsmatch;
14
 
15
@@ -1025,9 +1024,9 @@
16
     }
17
     dbg("uridnsbl: complete_a_lookup got(%d) A for %s: %s", $j,$hname,$str);
18
 
19
-    local $1;
20
-    if ($str =~ /IN\s+A\s+(\S+)/) {
21
-      $self->lookup_dnsbl_for_ip($pms, $ent->{obj}, $1);
22
+    if ($rr->type eq 'A') {
23
+      my $ip_address = $rr->rdatastr;
24
+      $self->lookup_dnsbl_for_ip($pms, $ent->{obj}, $ip_address);
25
     }
26
   }
27
 }
(-)mail/spamassassin/files/patch-bug7265 (-83 lines)
Lines 1-83 Link Here
1
--- lib/Mail/SpamAssassin/DnsResolver.pm	(revision 1715195)
2
+++ lib/Mail/SpamAssassin/DnsResolver.pm	(working copy)
3
@@ -725,6 +725,37 @@
4
 
5
 ###########################################################################
6
 
7
+=item $id = $res->bgread()
8
+
9
+Similar to C<Net::DNS::Resolver::bgread>.  Reads a DNS packet from
10
+a supplied socket, decodes it, and returns a Net::DNS::Packet object
11
+if successful.  Dies on error.
12
+
13
+=cut
14
+
15
+sub bgread() {
16
+  my ($self) = @_;
17
+  my $sock = $self->{sock};
18
+  my $packetsize = $self->{res}->udppacketsize;
19
+  $packetsize = 512  if $packetsize < 512;  # just in case
20
+  my $data = '';
21
+  my $peeraddr = $sock->recv($data, $packetsize+256);  # with some size margin for troubleshooting
22
+  defined $peeraddr or die "bgread: recv() failed: $!";
23
+  my $peerhost = $sock->peerhost;
24
+  $data ne '' or die "bgread: received empty packet from $peerhost";
25
+  dbg("dns: bgread: received %d bytes from %s", length($data), $peerhost);
26
+  my($answerpkt, $decoded_length) = Net::DNS::Packet->new(\$data);
27
+  $answerpkt or die "bgread: decoding DNS packet failed: $@";
28
+  $answerpkt->answerfrom($peerhost);
29
+  if ($decoded_length ne length($data)) {
30
+    warn sprintf("bgread: received a %d bytes packet from %s, decoded %d bytes\n",
31
+                 length($data), $peerhost, $decoded_length);
32
+  }
33
+  return $answerpkt;
34
+}
35
+
36
+###########################################################################
37
+
38
 =item $nfound = $res->poll_responses()
39
 
40
 See if there are any C<bgsend> reply packets ready, and return
41
@@ -772,13 +803,25 @@
42
     $timeout = 0;  # next time around collect whatever is available, then exit
43
     last  if $nfound == 0;
44
 
45
-    my $packet = $self->{res}->bgread($self->{sock});
46
+    my $packet;
47
+    eval {
48
+      $packet = $self->bgread();
49
+    } or do {
50
+      undef $packet;
51
+      my $eval_stat = $@ ne '' ? $@ : "errno=$!";  chomp $eval_stat;
52
+      # resignal if alarm went off
53
+      die $eval_stat  if $eval_stat =~ /__alarm__ignore__\(.*\)/s;
54
+      info("dns: bad dns reply: %s", $eval_stat);
55
+    };
56
 
57
+#   Bug 7265, use our own bgread()
58
+#   my $packet = $self->{res}->bgread($self->{sock});
59
+
60
     if (!$packet) {
61
-      my $dns_err = $self->{res}->errorstring;
62
-      # resignal if alarm went off
63
-      die "dns (3) $dns_err\n"  if $dns_err =~ /__alarm__ignore__\(.*\)/s;
64
-      info("dns: bad dns reply: $dns_err");
65
+      # error already reported above
66
+#     my $dns_err = $self->{res}->errorstring;
67
+#     die "dns (3) $dns_err\n"  if $dns_err =~ /__alarm__ignore__\(.*\)/s;
68
+#     info("dns: bad dns reply: $dns_err");
69
     } else {
70
       my $header = $packet->header;
71
       if (!$header) {
72
--- lib/Mail/SpamAssassin/Plugin/DKIM.pm	(revision 1715196)
73
+++ lib/Mail/SpamAssassin/Plugin/DKIM.pm	(working copy)
74
@@ -794,7 +794,8 @@
75
         # Only do so if EDNS0 provides a reasonably-sized UDP payload size,
76
         # as our interface does not provide a DNS fallback to TCP, unlike
77
         # the Net::DNS::Resolver::send which does provide it.
78
-        my $res = $self->{main}->{resolver}->get_resolver;
79
+        my $res = $self->{main}->{resolver};
80
+        dbg("dkim: providing our own resolver: %s", ref $res);
81
         Mail::DKIM::DNS::resolver($res);
82
       }
83
     }
(-)mail/spamassassin/files/patch-bug7404 (-23 lines)
Lines 1-23 Link Here
1
--- lib/Mail/SpamAssassin/PerMsgStatus.pm
2
+++ lib/Mail/SpamAssassin/PerMsgStatus.pm
3
@@ -916,16 +916,16 @@
4
     $str .= shift @{$ary};
5
   }
6
   undef $ary;
7
-  chomp ($str); $str .= " [...]\n";
8
 
9
   # in case the last line was huge, trim it back to around 200 chars
10
   local $1;
11
-  $str =~ s/^(.{,200}).*$/$1/gs;
12
+  $str =~ s/^(.{200}).+$/$1 [...]/gm;
13
+  chomp ($str); $str .= "\n";
14
 
15
   # now, some tidy-ups that make things look a bit prettier
16
-  $str =~ s/-----Original Message-----.*$//gs;
17
+  $str =~ s/-----Original Message-----.*$//gm;
18
   $str =~ s/This is a multi-part message in MIME format\.//gs;
19
-  $str =~ s/[-_\*\.]{10,}//gs;
20
+  $str =~ s/[-_*.]{10,}//gs;
21
   $str =~ s/\s+/ /gs;
22
 
23
   # add "Content preview:" ourselves, so that the text aligns
(-)mail/spamassassin/pkg-plist (-13 / +20 lines)
Lines 7-14 Link Here
7
bin/spamc
7
bin/spamc
8
bin/spamd
8
bin/spamd
9
@preunexec rm -rf %D/%%ETCDIR%%/sa-update-keys 2>&1 >/dev/null || true
9
@preunexec rm -rf %D/%%ETCDIR%%/sa-update-keys 2>&1 >/dev/null || true
10
@sample %%ETCDIR%%/init.pre.sample
10
@sample %%ETCDIR%%/local.cf.sample
11
@sample %%ETCDIR%%/local.cf.sample
11
@sample %%ETCDIR%%/init.pre.sample
12
@sample %%ETCDIR%%/v310.pre.sample
12
@sample %%ETCDIR%%/v310.pre.sample
13
@sample %%ETCDIR%%/v312.pre.sample
13
@sample %%ETCDIR%%/v312.pre.sample
14
@sample %%ETCDIR%%/v320.pre.sample
14
@sample %%ETCDIR%%/v320.pre.sample
Lines 15-20 Link Here
15
@sample %%ETCDIR%%/v330.pre.sample
15
@sample %%ETCDIR%%/v330.pre.sample
16
@sample %%ETCDIR%%/v340.pre.sample
16
@sample %%ETCDIR%%/v340.pre.sample
17
@sample %%ETCDIR%%/v341.pre.sample
17
@sample %%ETCDIR%%/v341.pre.sample
18
@sample %%ETCDIR%%/v342.pre.sample
18
include/libspamc.h
19
include/libspamc.h
19
lib/libspamc.so
20
lib/libspamc.so
20
lib/libspamc.so.0
21
lib/libspamc.so.0
Lines 79-86 Link Here
79
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/DKIM.pm
80
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/DKIM.pm
80
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/DNSEval.pm
81
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/DNSEval.pm
81
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/FreeMail.pm
82
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/FreeMail.pm
83
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/FromNameSpoof.pm
82
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/HTMLEval.pm
84
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/HTMLEval.pm
83
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/HTTPSMismatch.pm
85
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/HTTPSMismatch.pm
86
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/HashBL.pm
84
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/Hashcash.pm
87
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/Hashcash.pm
85
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/HeaderEval.pm
88
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/HeaderEval.pm
86
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/ImageInfo.pm
89
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/ImageInfo.pm
Lines 89-99 Link Here
89
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/OneLineBodyRuleType.pm
92
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/OneLineBodyRuleType.pm
90
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/PDFInfo.pm
93
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/PDFInfo.pm
91
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/PhishTag.pm
94
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/PhishTag.pm
95
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/Phishing.pm
92
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/Pyzor.pm
96
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/Pyzor.pm
93
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/Razor2.pm
97
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/Razor2.pm
94
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/RelayCountry.pm
98
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/RelayCountry.pm
95
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/RelayEval.pm
99
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/RelayEval.pm
96
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/ReplaceTags.pm
100
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/ReplaceTags.pm
101
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/ResourceLimits.pm
97
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/Reuse.pm
102
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/Reuse.pm
98
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/Rule2XSBody.pm
103
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/Rule2XSBody.pm
99
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/SPF.pm
104
%%SITE_PERL%%/Mail/SpamAssassin/Plugin/SPF.pm
Lines 119-129 Link Here
119
%%SITE_PERL%%/Mail/SpamAssassin/Util.pm
124
%%SITE_PERL%%/Mail/SpamAssassin/Util.pm
120
%%SITE_PERL%%/Mail/SpamAssassin/Util/DependencyInfo.pm
125
%%SITE_PERL%%/Mail/SpamAssassin/Util/DependencyInfo.pm
121
%%SITE_PERL%%/Mail/SpamAssassin/Util/Progress.pm
126
%%SITE_PERL%%/Mail/SpamAssassin/Util/Progress.pm
122
%%SITE_PERL%%/Mail/SpamAssassin/Util/RegistrarBoundaries.pm
123
%%SITE_PERL%%/Mail/SpamAssassin/Util/ScopedTimer.pm
127
%%SITE_PERL%%/Mail/SpamAssassin/Util/ScopedTimer.pm
124
%%SITE_PERL%%/Mail/SpamAssassin/Util/TieOneStringHash.pm
128
%%SITE_PERL%%/Mail/SpamAssassin/Util/TieOneStringHash.pm
125
%%SITE_PERL%%/Mail/SpamAssassin/Util/TinyRedis.pm
129
%%SITE_PERL%%/Mail/SpamAssassin/Util/TinyRedis.pm
126
%%SITE_PERL%%/spamassassin-run.pod
130
%%SITE_PERL%%/spamassassin-run.pod
131
%%PERL5_MAN1%%/sa-awl.1.gz
132
%%PERL5_MAN1%%/sa-compile.1.gz
133
%%PERL5_MAN1%%/sa-learn.1.gz
134
%%PERL5_MAN1%%/sa-update.1.gz
135
%%PERL5_MAN1%%/spamassassin-run.1.gz
136
%%PERL5_MAN1%%/spamassassin.1.gz
137
%%PERL5_MAN1%%/spamc.1.gz
138
%%PERL5_MAN1%%/spamd.1.gz
127
%%PERL5_MAN3%%/Mail::SpamAssassin.3.gz
139
%%PERL5_MAN3%%/Mail::SpamAssassin.3.gz
128
%%PERL5_MAN3%%/Mail::SpamAssassin::AICache.3.gz
140
%%PERL5_MAN3%%/Mail::SpamAssassin::AICache.3.gz
129
%%PERL5_MAN3%%/Mail::SpamAssassin::ArchiveIterator.3.gz
141
%%PERL5_MAN3%%/Mail::SpamAssassin::ArchiveIterator.3.gz
Lines 165-170 Link Here
165
%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::DCC.3.gz
177
%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::DCC.3.gz
166
%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::DKIM.3.gz
178
%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::DKIM.3.gz
167
%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::DNSEval.3.gz
179
%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::DNSEval.3.gz
180
%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::FromNameSpoof.3.gz
181
%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::HashBL.3.gz
168
%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::Hashcash.3.gz
182
%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::Hashcash.3.gz
169
%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::MIMEEval.3.gz
183
%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::MIMEEval.3.gz
170
%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::MIMEHeader.3.gz
184
%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::MIMEHeader.3.gz
Lines 171-180 Link Here
171
%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::OneLineBodyRuleType.3.gz
185
%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::OneLineBodyRuleType.3.gz
172
%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::PDFInfo.3.gz
186
%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::PDFInfo.3.gz
173
%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::PhishTag.3.gz
187
%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::PhishTag.3.gz
188
%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::Phishing.3.gz
174
%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::Pyzor.3.gz
189
%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::Pyzor.3.gz
175
%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::Razor2.3.gz
190
%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::Razor2.3.gz
176
%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::RelayCountry.3.gz
191
%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::RelayCountry.3.gz
177
%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::ReplaceTags.3.gz
192
%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::ReplaceTags.3.gz
193
%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::ResourceLimits.3.gz
178
%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::Reuse.3.gz
194
%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::Reuse.3.gz
179
%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::Rule2XSBody.3.gz
195
%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::Rule2XSBody.3.gz
180
%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::SPF.3.gz
196
%%PERL5_MAN3%%/Mail::SpamAssassin::Plugin::SPF.3.gz
Lines 196-219 Link Here
196
%%PERL5_MAN3%%/Mail::SpamAssassin::Util.3.gz
212
%%PERL5_MAN3%%/Mail::SpamAssassin::Util.3.gz
197
%%PERL5_MAN3%%/Mail::SpamAssassin::Util::DependencyInfo.3.gz
213
%%PERL5_MAN3%%/Mail::SpamAssassin::Util::DependencyInfo.3.gz
198
%%PERL5_MAN3%%/Mail::SpamAssassin::Util::Progress.3.gz
214
%%PERL5_MAN3%%/Mail::SpamAssassin::Util::Progress.3.gz
199
%%PERL5_MAN3%%/Mail::SpamAssassin::Util::RegistrarBoundaries.3.gz
200
%%PERL5_MAN3%%/spamassassin-run.3.gz
215
%%PERL5_MAN3%%/spamassassin-run.3.gz
201
%%PERL5_MAN1%%/sa-awl.1.gz
202
%%PERL5_MAN1%%/sa-compile.1.gz
203
%%PERL5_MAN1%%/sa-learn.1.gz
204
%%PERL5_MAN1%%/sa-update.1.gz
205
%%PERL5_MAN1%%/spamassassin-run.1.gz
206
%%PERL5_MAN1%%/spamassassin.1.gz
207
%%PERL5_MAN1%%/spamc.1.gz
208
%%PERL5_MAN1%%/spamd.1.gz
209
%%DATADIR%%/languages
216
%%DATADIR%%/languages
210
%%DATADIR%%/sa-update-pubkey.txt
217
%%DATADIR%%/sa-update-pubkey.txt
211
%%DATADIR%%/user_prefs.template
218
%%DATADIR%%/user_prefs.template
212
@comment ##################################################################
219
@comment ##################################################################
213
@postunexec rm -rf /var/lib/spamassassin/2* 2>&1 >/dev/null || true
220
@postunexec rm -rf /var/lib/spamassassin/2* 2>&1 >/dev/null || true
221
@dir /var/db/spamassassin
222
@dir /var/lib
214
@dir /var/lib/spamassassin
223
@dir /var/lib/spamassassin
215
@dir /var/lib
216
@dir /var/db/spamassassin
217
@dir(%%USER%%,%%GROUP%%,) /var/run/spamd
224
@dir(%%USER%%,%%GROUP%%,) /var/run/spamd
218
@comment ##################################################################
225
@comment ##################################################################
219
@postunexec [ -d /var/db/spamassassin ] && echo "If you are no longer using SpamAssassin, remove /var/db/spamassassin"
226
@postunexec [ -d /var/db/spamassassin ] && echo "If you are no longer using SpamAssassin, remove /var/db/spamassassin"

Return to bug 231412