<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-194</id>
	<title>Nabble - SpamAssassin - Dev</title>
	<updated>2009-12-21T18:31:55Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/SpamAssassin---Dev-f194.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/SpamAssassin---Dev-f194.html" />
	<subtitle type="html"></subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-26883147</id>
	<title>[Bug 6176] [review] spamc truncates lines read from spamc.conf</title>
	<published>2009-12-21T18:31:55Z</published>
	<updated>2009-12-21T18:31:55Z</updated>
	<author>
		<name>Bugzilla from bugzilla-daemon@bugzilla.spamassassin.org</name>
	</author>
	<content type="html">&lt;a href=&quot;https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6176&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6176&lt;/a&gt;&lt;br&gt;&lt;br&gt;Mark Martinec &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26883147&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mark.Martinec@...&lt;/a&gt;&amp;gt; changed:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;What &amp;nbsp; &amp;nbsp;|Removed &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |Added
&lt;br&gt;----------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Priority|P2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|P1
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Configure bugmail: &lt;a href=&quot;https://issues.apache.org/SpamAssassin/userprefs.cgi?tab=email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/SpamAssassin/userprefs.cgi?tab=email&lt;/a&gt;&lt;br&gt;------- You are receiving this mail because: -------
&lt;br&gt;You are the assignee for the bug.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-Bug-6176--New%3A-spamc-truncates-lines-read-from-spamc.conf-tp24897615p26883147.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26883127</id>
	<title>[Bug 6176] [review] spamc truncates lines read from spamc.conf</title>
	<published>2009-12-21T18:29:01Z</published>
	<updated>2009-12-21T18:29:01Z</updated>
	<author>
		<name>Bugzilla from bugzilla-daemon@bugzilla.spamassassin.org</name>
	</author>
	<content type="html">&lt;a href=&quot;https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6176&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6176&lt;/a&gt;&lt;br&gt;&lt;br&gt;Mark Martinec &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26883127&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mark.Martinec@...&lt;/a&gt;&amp;gt; changed:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;What &amp;nbsp; &amp;nbsp;|Removed &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |Added
&lt;br&gt;----------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Summary|REGRESSION spamc truncates &amp;nbsp;|[review] spamc truncates
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|lines read from spamc.conf &amp;nbsp;|lines read from spamc.conf
&lt;br&gt;&amp;nbsp; Status Whiteboard| &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|needs 2 votes
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Configure bugmail: &lt;a href=&quot;https://issues.apache.org/SpamAssassin/userprefs.cgi?tab=email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/SpamAssassin/userprefs.cgi?tab=email&lt;/a&gt;&lt;br&gt;------- You are receiving this mail because: -------
&lt;br&gt;You are the assignee for the bug.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-Bug-6176--New%3A-spamc-truncates-lines-read-from-spamc.conf-tp24897615p26883127.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26883114</id>
	<title>[Bug 6176] REGRESSION spamc truncates lines read from spamc.conf</title>
	<published>2009-12-21T18:27:27Z</published>
	<updated>2009-12-21T18:27:27Z</updated>
	<author>
		<name>Bugzilla from bugzilla-daemon@bugzilla.spamassassin.org</name>
	</author>
	<content type="html">&lt;a href=&quot;https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6176&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6176&lt;/a&gt;&lt;br&gt;&lt;br&gt;Mark Martinec &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26883114&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mark.Martinec@...&lt;/a&gt;&amp;gt; changed:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;What &amp;nbsp; &amp;nbsp;|Removed &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |Added
&lt;br&gt;----------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp;Attachment #4611|0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |1
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; is obsolete| &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|
&lt;br&gt;&lt;br&gt;--- Comment #17 from Mark Martinec &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26883114&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mark.Martinec@...&lt;/a&gt;&amp;gt; 2009-12-21 18:27:21 UTC ---
&lt;br&gt;Created an attachment (id=4613)
&lt;br&gt;&amp;nbsp;--&amp;gt; (&lt;a href=&quot;https://issues.apache.org/SpamAssassin/attachment.cgi?id=4613&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/SpamAssassin/attachment.cgi?id=4613&lt;/a&gt;)
&lt;br&gt;proposed patch, take 2
&lt;br&gt;&lt;br&gt;Apparently nobody is brave enough to touch the spamc.conf, so I'm
&lt;br&gt;reluctantly doing it. Also fixed a buffer overflow when there
&lt;br&gt;are more than 24 arguments present (command line + from a config file),
&lt;br&gt;and fixed one spelling.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Configure bugmail: &lt;a href=&quot;https://issues.apache.org/SpamAssassin/userprefs.cgi?tab=email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/SpamAssassin/userprefs.cgi?tab=email&lt;/a&gt;&lt;br&gt;------- You are receiving this mail because: -------
&lt;br&gt;You are the assignee for the bug.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-Bug-6176--New%3A-spamc-truncates-lines-read-from-spamc.conf-tp24897615p26883114.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26875695</id>
	<title>[Bug 6247] Replace HABEAS, BSP, SSC with RP Whitelist rules</title>
	<published>2009-12-21T07:40:54Z</published>
	<updated>2009-12-21T07:40:54Z</updated>
	<author>
		<name>Bugzilla from bugzilla-daemon@bugzilla.spamassassin.org</name>
	</author>
	<content type="html">&lt;a href=&quot;https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6247&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6247&lt;/a&gt;&lt;br&gt;&lt;br&gt;John Hardin &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26875695&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jhardin@...&lt;/a&gt;&amp;gt; changed:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;What &amp;nbsp; &amp;nbsp;|Removed &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |Added
&lt;br&gt;----------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CC| &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26875695&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jhardin@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;--- Comment #56 from John Hardin &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26875695&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jhardin@...&lt;/a&gt;&amp;gt; 2009-12-21 07:40:50 UTC ---
&lt;br&gt;(In reply to comment #55)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; when looked at this way, they look more practical. &amp;nbsp;a reliable way to cut the
&lt;br&gt;&amp;gt; FP rate by 17% is definitely useful, although obviously it'd be nice if the
&lt;br&gt;&amp;gt; 6.7% additional FNs was reduced.
&lt;br&gt;&lt;br&gt;Perhaps the suggested metas with the DNSBLs might help with that.
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://ruleqa.spamassassin.org/?rule=%2F&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://ruleqa.spamassassin.org/?rule=%2F&lt;/a&gt;[N_]_RP_
&lt;br&gt;&lt;br&gt;Unfortunately the last network masscheck seems to have only used one corpus so
&lt;br&gt;the results aren't interesting yet; they certainly don't track the earlier
&lt;br&gt;quick analysis I did by pulling the overlaps from the masscheck results (before
&lt;br&gt;I wrote the rules).
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Configure bugmail: &lt;a href=&quot;https://issues.apache.org/SpamAssassin/userprefs.cgi?tab=email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/SpamAssassin/userprefs.cgi?tab=email&lt;/a&gt;&lt;br&gt;------- You are receiving this mail because: -------
&lt;br&gt;You are the assignee for the bug.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-Bug-6247--New%3A-replace-HABEAS-and-BSP-rules-tp26649430p26875695.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26873876</id>
	<title>[Bug 6247] Replace HABEAS, BSP, SSC with RP Whitelist rules</title>
	<published>2009-12-21T05:20:00Z</published>
	<updated>2009-12-21T05:20:00Z</updated>
	<author>
		<name>Bugzilla from bugzilla-daemon@bugzilla.spamassassin.org</name>
	</author>
	<content type="html">&lt;a href=&quot;https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6247&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6247&lt;/a&gt;&lt;br&gt;&lt;br&gt;--- Comment #55 from Justin Mason &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26873876&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jm@...&lt;/a&gt;&amp;gt; 2009-12-21 05:19:51 UTC ---
&lt;br&gt;(In reply to comment #54)
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; &amp;gt; rescore masscheck logs with mcsnapshot + today's trunk Scores
&lt;br&gt;&amp;gt; &amp;gt; HABEAS, BSP and SSC and DNSWL Disabled
&lt;br&gt;&amp;gt; &amp;gt; ==========================
&lt;br&gt;&amp;gt; &amp;gt; # SUMMARY for threshold 5.0:
&lt;br&gt;&amp;gt; &amp;gt; # Correctly non-spam: 703899 &amp;nbsp;99.93%
&lt;br&gt;&amp;gt; &amp;gt; # Correctly spam: &amp;nbsp; &amp;nbsp; 2565063 &amp;nbsp;98.49%
&lt;br&gt;&amp;gt; &amp;gt; # False positives: &amp;nbsp; &amp;nbsp; &amp;nbsp; 467 &amp;nbsp;0.07%
&lt;br&gt;&amp;gt; &amp;gt; # False negatives: &amp;nbsp; &amp;nbsp; 39257 &amp;nbsp;1.51%
&lt;br&gt;&amp;gt; &amp;gt; # TCR(l=50): 41.597904 &amp;nbsp;SpamRecall: 98.493% &amp;nbsp;SpamPrec: 99.982%
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; So that means that 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 467-387
&lt;br&gt;&amp;gt; --&amp;gt; 80 &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;gt; 80/(703899+467)
&lt;br&gt;&amp;gt; --&amp;gt; 0.000113577316338381 &amp;nbsp;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; =&amp;gt; 0.01135% of hams were rescued from being FPs by the DNSWL rules.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 41888-39257
&lt;br&gt;&amp;gt; --&amp;gt; 2631 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;gt; 2631/(2565063+39257)
&lt;br&gt;&amp;gt; --&amp;gt; 0.00101024451680285 &amp;nbsp;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; =&amp;gt; 0.101% of spams were, conversely, allowed through by them.
&lt;/div&gt;&lt;br&gt;actually, I've realised this may be measuring the wrong thing -- since FP% is
&lt;br&gt;much lower (by design) than FN%, it's quite likely that we'll see a
&lt;br&gt;comparatively high rate of hits against spam, even if the rules are useful. &amp;nbsp;A
&lt;br&gt;better way to think about it is in terms of those values compared against the
&lt;br&gt;FP%/FN% rates.
&lt;br&gt;&lt;br&gt;&amp;nbsp; =&amp;gt; 80 hams rescued from the 467 FPs = 17.13% of FPs rescued
&lt;br&gt;&lt;br&gt;&amp;nbsp; =&amp;gt; 2631 spams added to the 39257 FNs = 6.70% additional FNs
&lt;br&gt;&lt;br&gt;when looked at this way, they look more practical. &amp;nbsp;a reliable way to cut the
&lt;br&gt;FP rate by 17% is definitely useful, although obviously it'd be nice if the
&lt;br&gt;6.7% additional FNs was reduced.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Configure bugmail: &lt;a href=&quot;https://issues.apache.org/SpamAssassin/userprefs.cgi?tab=email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/SpamAssassin/userprefs.cgi?tab=email&lt;/a&gt;&lt;br&gt;------- You are receiving this mail because: -------
&lt;br&gt;You are the assignee for the bug.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-Bug-6247--New%3A-replace-HABEAS-and-BSP-rules-tp26649430p26873876.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26873050</id>
	<title>RE: Perl SA util: setuid: oops: fileno(STDIN) [6]</title>
	<published>2009-12-21T03:59:25Z</published>
	<updated>2009-12-21T03:59:25Z</updated>
	<author>
		<name>Cory Hawkless</name>
	</author>
	<content type="html">&lt;html xmlns:v=&quot;urn:schemas-microsoft-com:vml&quot; xmlns:o=&quot;urn:schemas-microsoft-com:office:office&quot; xmlns:w=&quot;urn:schemas-microsoft-com:office:word&quot; xmlns:m=&quot;http://schemas.microsoft.com/office/2004/12/omml&quot; xmlns=&quot;http://www.w3.org/TR/REC-html40&quot;&gt;

&lt;head&gt;
&lt;META HTTP-EQUIV=&quot;Content-Type&quot; CONTENT=&quot;text/html; charset=us-ascii&quot;&gt;
&lt;meta name=Generator content=&quot;Microsoft Word 12 (filtered medium)&quot;&gt;

&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;o:shapedefaults v:ext=&quot;edit&quot; spidmax=&quot;1026&quot; /&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;o:shapelayout v:ext=&quot;edit&quot;&gt;
  &lt;o:idmap v:ext=&quot;edit&quot; data=&quot;1&quot; /&gt;
 &lt;/o:shapelayout&gt;&lt;/xml&gt;&lt;![endif]--&gt;
&lt;/head&gt;

&lt;body lang=EN-AU link=blue vlink=purple&gt;

&lt;div class=Section1&gt;

&lt;p class=MsoNormal&gt;&lt;span style='color:#1F497D'&gt;In addition to this, the line &amp;#8220;&lt;/span&gt;Message:MonDec212147542009-1037461244
SPAM Results - Score 2.729 Tests -
AWL=-2.064,EMPTY_MESSAGE=0.607,HTML_MESSAGE=0.001,MIME_HTML_MOSTLY=0.001,MISSING_SUBJECT=1.285,TVD_SPACE_RATIO=2.899&amp;#8221;
Is the result from my application &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;And at the top of my application I have&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;use Mail::SpamAssassin;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;#Create and compile a SpamAssassin object to be used by all
threads&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;my $MainSA = new Mail::SpamAssassin;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;$MainSA-&amp;gt;compile_now();&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;span style='color:#1F497D'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;div&gt;

&lt;div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'&gt;

&lt;p class=MsoNormal&gt;&lt;b&gt;&lt;span lang=EN-US style='font-size:10.0pt;font-family:
&quot;Tahoma&quot;,&quot;sans-serif&quot;'&gt;From:&lt;/span&gt;&lt;/b&gt;&lt;span lang=EN-US style='font-size:10.0pt;
font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;'&gt; Cory Hawkless [mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26873050&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;cory@...&lt;/a&gt;] &lt;br&gt;
&lt;b&gt;Sent:&lt;/b&gt; Monday, 21 December 2009 9:54 PM&lt;br&gt;
&lt;b&gt;To:&lt;/b&gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26873050&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev@...&lt;/a&gt;&lt;br&gt;
&lt;b&gt;Subject:&lt;/b&gt; Perl SA util: setuid: oops: fileno(STDIN) [6]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;/div&gt;

&lt;/div&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;Hi All,&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;I am writing an app in perl that gets mail passed from
Postfix then runs the mail through SA and will run various actions based on the
score(Very much like Amavisd-new)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;I&amp;#8217;m struggling a bit my SpamAssassin code though and was
wondering if anyone here could help. I&amp;#8217;m getting the following error when using
my SpamAssassinCheck subroutine&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;util: setuid: oops: fileno(STDIN) [6] != 0 at
/usr/lib/perl5/vendor_perl/5.10.0/Mail/SpamAssassin/Util.pm line 1375.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;Message:MonDec212147542009-1037461244 SPAM Results - Score
2.729 Tests - AWL=-2.064,EMPTY_MESSAGE=0.607,HTML_MESSAGE=0.001,MIME_HTML_MOSTLY=0.001,MISSING_SUBJECT=1.285,TVD_SPACE_RATIO=2.899&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;As you can see i&amp;#8217;m still getting a result, if I let me app
continue to process a few more emails I eventually get a &amp;#8220;Alarm Clock&amp;#8221; error
and perl bombs out.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;Here is my SpamAssassinCheck code(I also don&amp;#8217;t think i&amp;#8217;m
using the eval correctly)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;P.S Let me know if this is not the appropriate place to be
posting this message, but I couldn&amp;#8217;t think of a better group of people to help
solve my problem.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;Regards,&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;Cory&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;sub SpamAssassinScan {&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;eval {&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #Record the time
when this program was started&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #my $starttime =
[gettimeofday];&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #User to run SPAM
Assasin as&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; my $SAUser;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $SAUser=$_[0];&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #Subroutine expects
the second paramater to be the content of the email to be scanned&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; my $rawemail;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $rawemail=$_[1];&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; my $messageID =
$_[2];&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; my
$ThisThreadSA=$MainSA;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;##print
&amp;quot;Beginning test\n&amp;quot;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ($SAUser eq
&amp;quot;&amp;quot;) { $SAUser=&amp;quot;root&amp;quot; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
logit(&amp;quot;info&amp;quot;, &amp;quot;Message:$messageID Running SA test as:
$SAUser&amp;quot;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
$ThisThreadSA-&amp;gt;{username}=$SAUser;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; my $mail =
$ThisThreadSA-&amp;gt;parse($rawemail);&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; my $status =
$ThisThreadSA-&amp;gt;check($mail);&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##print &amp;quot;SA scanning
done\n&amp;quot;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
logit(&amp;quot;info&amp;quot;,&amp;quot;Message:$messageID SPAM Results - Score
&amp;quot;.$status-&amp;gt;get_score().&amp;quot; Tests -
&amp;quot;.$status-&amp;gt;get_tag('TESTSSCORES',','));&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;};&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;if ($@){&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ### Catch block&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
logit(&amp;quot;info&amp;quot;, &amp;quot;Failed SA Scan&amp;quot;);;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;};&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;/div&gt;

&lt;/body&gt;

&lt;/html&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Perl-SA-util%3A-setuid%3A-oops%3A-fileno%28STDIN%29--6--tp26872718p26873050.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26872718</id>
	<title>Perl SA util: setuid: oops: fileno(STDIN) [6]</title>
	<published>2009-12-21T03:24:21Z</published>
	<updated>2009-12-21T03:24:21Z</updated>
	<author>
		<name>Cory Hawkless</name>
	</author>
	<content type="html">&lt;html xmlns:v=&quot;urn:schemas-microsoft-com:vml&quot; xmlns:o=&quot;urn:schemas-microsoft-com:office:office&quot; xmlns:w=&quot;urn:schemas-microsoft-com:office:word&quot; xmlns:m=&quot;http://schemas.microsoft.com/office/2004/12/omml&quot; xmlns=&quot;http://www.w3.org/TR/REC-html40&quot;&gt;

&lt;head&gt;
&lt;meta http-equiv=Content-Type content=&quot;text/html; charset=us-ascii&quot;&gt;
&lt;meta name=Generator content=&quot;Microsoft Word 12 (filtered medium)&quot;&gt;

&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;o:shapedefaults v:ext=&quot;edit&quot; spidmax=&quot;1026&quot; /&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;o:shapelayout v:ext=&quot;edit&quot;&gt;
  &lt;o:idmap v:ext=&quot;edit&quot; data=&quot;1&quot; /&gt;
 &lt;/o:shapelayout&gt;&lt;/xml&gt;&lt;![endif]--&gt;
&lt;/head&gt;

&lt;body lang=EN-AU link=blue vlink=purple&gt;

&lt;div class=Section1&gt;

&lt;p class=MsoNormal&gt;Hi All,&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;I am writing an app in perl that gets mail passed from
Postfix then runs the mail through SA and will run various actions based on the
score(Very much like Amavisd-new)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;I&amp;#8217;m struggling a bit my SpamAssassin code though and
was wondering if anyone here could help. I&amp;#8217;m getting the following error
when using my SpamAssassinCheck subroutine&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;util: setuid: oops: fileno(STDIN) [6] != 0 at
/usr/lib/perl5/vendor_perl/5.10.0/Mail/SpamAssassin/Util.pm line 1375.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;Message:MonDec212147542009-1037461244 SPAM Results - Score
2.729 Tests -
AWL=-2.064,EMPTY_MESSAGE=0.607,HTML_MESSAGE=0.001,MIME_HTML_MOSTLY=0.001,MISSING_SUBJECT=1.285,TVD_SPACE_RATIO=2.899&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;As you can see i&amp;#8217;m still getting a result, if I let me
app continue to process a few more emails I eventually get a &amp;#8220;Alarm Clock&amp;#8221;
error and perl bombs out.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;Here is my SpamAssassinCheck code(I also don&amp;#8217;t think i&amp;#8217;m
using the eval correctly)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;P.S Let me know if this is not the appropriate place to be
posting this message, but I couldn&amp;#8217;t think of a better group of people to
help solve my problem.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;Regards,&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;Cory&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;sub SpamAssassinScan {&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;eval {&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #Record the time
when this program was started&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #my $starttime =
[gettimeofday];&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #User to run SPAM
Assasin as&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; my $SAUser;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $SAUser=$_[0];&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #Subroutine
expects the second paramater to be the content of the email to be scanned&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; my $rawemail;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $rawemail=$_[1];&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; my $messageID =
$_[2];&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; my
$ThisThreadSA=$MainSA;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;##print
&amp;quot;Beginning test\n&amp;quot;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ($SAUser eq
&amp;quot;&amp;quot;) { $SAUser=&amp;quot;root&amp;quot; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
logit(&amp;quot;info&amp;quot;, &amp;quot;Message:$messageID Running SA test as:
$SAUser&amp;quot;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
$ThisThreadSA-&amp;gt;{username}=$SAUser;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; my $mail =
$ThisThreadSA-&amp;gt;parse($rawemail);&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; my $status =
$ThisThreadSA-&amp;gt;check($mail);&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##print &amp;quot;SA
scanning done\n&amp;quot;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
logit(&amp;quot;info&amp;quot;,&amp;quot;Message:$messageID SPAM Results - Score
&amp;quot;.$status-&amp;gt;get_score().&amp;quot; Tests -
&amp;quot;.$status-&amp;gt;get_tag('TESTSSCORES',','));&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;};&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;if ($@){&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ### Catch block&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
logit(&amp;quot;info&amp;quot;, &amp;quot;Failed SA Scan&amp;quot;);;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;};&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

&lt;/div&gt;

&lt;/body&gt;

&lt;/html&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Perl-SA-util%3A-setuid%3A-oops%3A-fileno%28STDIN%29--6--tp26872718p26872718.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26868075</id>
	<title>[Bug 6176] REGRESSION spamc truncates lines read from spamc.conf</title>
	<published>2009-12-20T14:59:16Z</published>
	<updated>2009-12-20T14:59:16Z</updated>
	<author>
		<name>Bugzilla from bugzilla-daemon@bugzilla.spamassassin.org</name>
	</author>
	<content type="html">&lt;a href=&quot;https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6176&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6176&lt;/a&gt;&lt;br&gt;&lt;br&gt;--- Comment #16 from Warren Togami &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26868075&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;wtogami@...&lt;/a&gt;&amp;gt; 2009-12-20 14:59:11 UTC ---
&lt;br&gt;I backed this out just in case folks are dogfooding the trunk.
&lt;br&gt;&lt;br&gt;I am traveling most of Dec 21st. &amp;nbsp;I suppose rc1.proposed2 can be cut after you
&lt;br&gt;folks decide what to do about this bug. &amp;nbsp;I will be able to cut it on Tuesday,
&lt;br&gt;unless jm or somebody wants to do the cut on Monday.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Configure bugmail: &lt;a href=&quot;https://issues.apache.org/SpamAssassin/userprefs.cgi?tab=email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/SpamAssassin/userprefs.cgi?tab=email&lt;/a&gt;&lt;br&gt;------- You are receiving this mail because: -------
&lt;br&gt;You are the assignee for the bug.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-Bug-6176--New%3A-spamc-truncates-lines-read-from-spamc.conf-tp24897615p26868075.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26861407</id>
	<title>[Bug 6176] REGRESSION spamc truncates lines read from spamc.conf</title>
	<published>2009-12-19T22:47:12Z</published>
	<updated>2009-12-19T22:47:12Z</updated>
	<author>
		<name>Bugzilla from bugzilla-daemon@bugzilla.spamassassin.org</name>
	</author>
	<content type="html">&lt;a href=&quot;https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6176&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6176&lt;/a&gt;&lt;br&gt;&lt;br&gt;--- Comment #15 from Warren Togami &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26861407&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;wtogami@...&lt;/a&gt;&amp;gt; 2009-12-19 22:47:08 UTC ---
&lt;br&gt;NOTE: Output of nothing with zero return value means blackholing of mail. &amp;nbsp;Very
&lt;br&gt;dangerous. &amp;nbsp;This should be a very simple test-case possible with &amp;quot;make test&amp;quot;. 
&lt;br&gt;A working spamd is not necessary to test this.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Configure bugmail: &lt;a href=&quot;https://issues.apache.org/SpamAssassin/userprefs.cgi?tab=email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/SpamAssassin/userprefs.cgi?tab=email&lt;/a&gt;&lt;br&gt;------- You are receiving this mail because: -------
&lt;br&gt;You are the assignee for the bug.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-Bug-6176--New%3A-spamc-truncates-lines-read-from-spamc.conf-tp24897615p26861407.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26861228</id>
	<title>[Bug 6176] REGRESSION spamc truncates lines read from spamc.conf</title>
	<published>2009-12-19T21:56:55Z</published>
	<updated>2009-12-19T21:56:55Z</updated>
	<author>
		<name>Bugzilla from bugzilla-daemon@bugzilla.spamassassin.org</name>
	</author>
	<content type="html">&lt;a href=&quot;https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6176&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6176&lt;/a&gt;&lt;br&gt;&lt;br&gt;Warren Togami &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26861228&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;wtogami@...&lt;/a&gt;&amp;gt; changed:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;What &amp;nbsp; &amp;nbsp;|Removed &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |Added
&lt;br&gt;----------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Status|RESOLVED &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|REOPENED
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Resolution|FIXED &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Summary|[review] spamc truncates &amp;nbsp; &amp;nbsp;|REGRESSION spamc truncates
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|lines read from spamc.conf &amp;nbsp;|lines read from spamc.conf
&lt;br&gt;&lt;br&gt;--- Comment #14 from Warren Togami &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26861228&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;wtogami@...&lt;/a&gt;&amp;gt; 2009-12-19 21:56:52 UTC ---
&lt;br&gt;[warren@computer trunk]$ cat sample-nonspam.txt |spamc
&lt;br&gt;[warren@computer trunk]$ echo $?
&lt;br&gt;0
&lt;br&gt;&lt;br&gt;spamd -D sees no connection attempt from spamc. &amp;nbsp;Same result if spamd is
&lt;br&gt;running or not.
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://svn.apache.org/viewvc?view=revision&amp;revision=891935&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?view=revision&amp;revision=891935&lt;/a&gt;&lt;br&gt;I backed out this patch and spamc works again.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Configure bugmail: &lt;a href=&quot;https://issues.apache.org/SpamAssassin/userprefs.cgi?tab=email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/SpamAssassin/userprefs.cgi?tab=email&lt;/a&gt;&lt;br&gt;------- You are receiving this mail because: -------
&lt;br&gt;You are the assignee for the bug.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-Bug-6176--New%3A-spamc-truncates-lines-read-from-spamc.conf-tp24897615p26861228.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26860926</id>
	<title>Re: ABORT Re: PROPOSED: Apache SpamAssassin 3.3.0-rc1.proposed1</title>
	<published>2009-12-19T20:25:44Z</published>
	<updated>2009-12-19T20:25:44Z</updated>
	<author>
		<name>Warren Togami</name>
	</author>
	<content type="html">On 12/19/2009 10:36 PM, Warren Togami wrote:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I am aborting the release of rc1.proposed1. There is some problem
&lt;br&gt;&amp;gt; causing spamc/spamd to fail completely. I am attempting to figure this
&lt;br&gt;&amp;gt; out a possible cause. Downgrading to beta1 seems to fix my server.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Warren
&lt;br&gt;&lt;br&gt;[warren@newcaprica trunk]$ cat sample-nonspam.txt |spamc
&lt;br&gt;[warren@newcaprica trunk]$ echo $?
&lt;br&gt;0
&lt;br&gt;&lt;br&gt;spamd -D sees no connection attempt from spamc. &amp;nbsp;It seems that spamc is 
&lt;br&gt;broken? &amp;nbsp;I am attempting to backout parts between beta1 and rc1 to 
&lt;br&gt;narrow this down.
&lt;br&gt;&lt;br&gt;Reproduced on ...
&lt;br&gt;perl-5.8.8-27.el5.x86_64
&lt;br&gt;perl-5.10.0-82.fc12.x86_64
&lt;br&gt;&lt;br&gt;Since spamc was returning with a zero return value and blank, all of the 
&lt;br&gt;legitimate mail goes into a blackhole. =(
&lt;br&gt;&lt;br&gt;Warren
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/PROPOSED%3A-Apache-SpamAssassin-3.3.0-rc1.proposed1-tp26852049p26860926.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26860753</id>
	<title>ABORT Re: PROPOSED: Apache SpamAssassin 3.3.0-rc1.proposed1</title>
	<published>2009-12-19T19:36:38Z</published>
	<updated>2009-12-19T19:36:38Z</updated>
	<author>
		<name>Warren Togami</name>
	</author>
	<content type="html">On 12/18/2009 08:57 PM, Warren Togami wrote:
&lt;br&gt;&amp;gt; This will be released if we go three days without an objection as per build/README procedure. &amp;nbsp;At that point these archives will be renamed to &amp;quot;rc1&amp;quot; and the announcements will go out. &amp;nbsp;Please suggest improvements to this announcement text as well.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Hey users list, now would be a very good time to begin testing 3.3.0 if you haven't already. &amp;nbsp;At this point it has been tested in production on many production servers (including my own production server since March 2009), but it is possible we missed a corner case of some non-standard configuration that you folks rely upon. &amp;nbsp;We could use your feedback, even if it is only &amp;quot;It works!&amp;quot; &amp;nbsp;Now is last chance to complain if you find a problem.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; All of the Priority P1 blocker bugs targeted for 3.3.0 are now closed. &amp;nbsp;I suspect there might be a few minor things we might want to polish before 3.3.0 final, but otherwise this is VERY CLOSE to what 3.3.0 will be.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Warren Togami
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26860753&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;wtogami@...&lt;/a&gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;I am aborting the release of rc1.proposed1. &amp;nbsp;There is some problem 
&lt;br&gt;causing spamc/spamd to fail completely. &amp;nbsp;I am attempting to figure this 
&lt;br&gt;out a possible cause. &amp;nbsp;Downgrading to beta1 seems to fix my server.
&lt;br&gt;&lt;br&gt;Warren
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/PROPOSED%3A-Apache-SpamAssassin-3.3.0-rc1.proposed1-tp26852049p26860753.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26857720</id>
	<title>Re: PROPOSED: Apache SpamAssassin 3.3.0-rc1.proposed1</title>
	<published>2009-12-19T11:06:32Z</published>
	<updated>2009-12-19T11:06:32Z</updated>
	<author>
		<name>Daryl C. W. O'Shea</name>
	</author>
	<content type="html">On 19/12/2009 10:24 AM, Warren Togami wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On 12/18/2009 11:38 PM, Daryl C. W. O'Shea wrote:
&lt;br&gt;&amp;gt;&amp;gt; Warren,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I don't think that it's necessary to cross-post so much to the users@
&lt;br&gt;&amp;gt;&amp;gt; list. &amp;nbsp;In particular, I don't think proposed release announcements
&lt;br&gt;&amp;gt;&amp;gt; belong on the users@ list.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Thoughts?
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Daryl
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Respectfully, I believe we need more testers and participants, and our
&lt;br&gt;&amp;gt; user list is our nearest opportunity to do recruitment.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Warren
&lt;/div&gt;&lt;br&gt;I agree we need more testers and participants. &amp;nbsp;Is it common for other
&lt;br&gt;projects to ask their users' lists to test things like betas and release
&lt;br&gt;candidates before the project members have agreed to cut such a beta or
&lt;br&gt;release candidate? &amp;nbsp;I don't know. &amp;nbsp;Maybe the new &amp;quot;.proposed1&amp;quot; scheme
&lt;br&gt;makes it irrelevant.
&lt;br&gt;&lt;br&gt;Daryl
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/PROPOSED%3A-Apache-SpamAssassin-3.3.0-rc1.proposed1-tp26852049p26857720.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26855855</id>
	<title>Re: PROPOSED: Apache SpamAssassin 3.3.0-rc1.proposed1</title>
	<published>2009-12-19T07:24:39Z</published>
	<updated>2009-12-19T07:24:39Z</updated>
	<author>
		<name>Warren Togami</name>
	</author>
	<content type="html">On 12/18/2009 11:38 PM, Daryl C. W. O'Shea wrote:
&lt;br&gt;&amp;gt; Warren,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I don't think that it's necessary to cross-post so much to the users@
&lt;br&gt;&amp;gt; list. &amp;nbsp;In particular, I don't think proposed release announcements
&lt;br&gt;&amp;gt; belong on the users@ list.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thoughts?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Daryl
&lt;br&gt;&lt;br&gt;Respectfully, I believe we need more testers and participants, and our 
&lt;br&gt;user list is our nearest opportunity to do recruitment.
&lt;br&gt;&lt;br&gt;Warren
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/PROPOSED%3A-Apache-SpamAssassin-3.3.0-rc1.proposed1-tp26852049p26855855.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26854631</id>
	<title>Re: pyzor error during spamd startup</title>
	<published>2009-12-19T04:21:08Z</published>
	<updated>2009-12-19T04:21:08Z</updated>
	<author>
		<name>Benny Pedersen</name>
	</author>
	<content type="html">On Fri 18 Dec 2009 10:10:31 PM CET, &amp;quot;Kevin A. McGrail&amp;quot; wrote
&lt;br&gt;&lt;br&gt;&amp;gt; Why is pyzor running as root?
&lt;br&gt;&lt;br&gt;spamd start up as root ?, and dropspriv to late before calling pyzor ?
&lt;br&gt;&lt;br&gt;spamassassin -t test.msg creates for root also here a dir in /.spamassassin
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;xpoint
&lt;br&gt;&lt;br&gt;&lt;br /&gt; &lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;attachment0&lt;/strong&gt; (205 bytes) &lt;a href=&quot;http://old.nabble.com/attachment/26854631/0/attachment0&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/pyzor-error-during-spamd-startup-tp26848590p26854631.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26852727</id>
	<title>Re: PROPOSED: Apache SpamAssassin 3.3.0-rc1.proposed1</title>
	<published>2009-12-18T20:38:20Z</published>
	<updated>2009-12-18T20:38:20Z</updated>
	<author>
		<name>Daryl C. W. O'Shea</name>
	</author>
	<content type="html">Warren,
&lt;br&gt;&lt;br&gt;I don't think that it's necessary to cross-post so much to the users@
&lt;br&gt;list. &amp;nbsp;In particular, I don't think proposed release announcements
&lt;br&gt;belong on the users@ list.
&lt;br&gt;&lt;br&gt;Thoughts?
&lt;br&gt;&lt;br&gt;Daryl
&lt;br&gt;&lt;br&gt;&lt;br&gt;On 18/12/2009 8:57 PM, Warren Togami wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; This will be released if we go three days without an objection as per build/README procedure. &amp;nbsp;At that point these archives will be renamed to &amp;quot;rc1&amp;quot; and the announcements will go out. &amp;nbsp;Please suggest improvements to this announcement text as well.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Hey users list, now would be a very good time to begin testing 3.3.0 if you haven't already. &amp;nbsp;At this point it has been tested in production on many production servers (including my own production server since March 2009), but it is possible we missed a corner case of some non-standard configuration that you folks rely upon. &amp;nbsp;We could use your feedback, even if it is only &amp;quot;It works!&amp;quot; &amp;nbsp;Now is last chance to complain if you find a problem.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; All of the Priority P1 blocker bugs targeted for 3.3.0 are now closed. &amp;nbsp;I suspect there might be a few minor things we might want to polish before 3.3.0 final, but otherwise this is VERY CLOSE to what 3.3.0 will be.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Warren Togami
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26852727&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;wtogami@...&lt;/a&gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; [DRAFT DRAFT DRAFT - NOT YET RELEASED - DRAFT DRAFT DRAFT]
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Apache SpamAssassin 3.3.0-rc1 is now available for testing.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Downloads are available from:
&lt;br&gt;&amp;gt; &amp;nbsp; &lt;a href=&quot;http://people.apache.org/~wtogami/devel/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://people.apache.org/~wtogami/devel/&lt;/a&gt;&lt;br&gt;&amp;gt; md5sum of archive files:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; fabccde7f09dcdf4c06afbd4cc0687c2 &amp;nbsp;Mail-SpamAssassin-3.3.0-rc1.proposed1.tar.bz2
&lt;br&gt;&amp;gt; &amp;nbsp; a36c646742c0cd5960e7be222cc91200 &amp;nbsp;Mail-SpamAssassin-3.3.0-rc1.proposed1.tar.gz
&lt;br&gt;&amp;gt; &amp;nbsp; 8c7f92167f2c2016164aafeac925ac58 &amp;nbsp;Mail-SpamAssassin-3.3.0-rc1.proposed1.zip
&lt;br&gt;&amp;gt; &amp;nbsp; 0bf1e2c0fc70dc05104acec8a723cbdb &amp;nbsp;Mail-SpamAssassin-rules-3.3.0-rc1.r892385.tgz
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; sha1sum of archive files:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; 7101ea1ab28b47e557583b914e242651f6cd761e &amp;nbsp;Mail-SpamAssassin-3.3.0-rc1.proposed1.tar.bz2
&lt;br&gt;&amp;gt; &amp;nbsp; 344dd5887772abc0fc0aea11a30dff5d77d67db8 &amp;nbsp;Mail-SpamAssassin-3.3.0-rc1.proposed1.tar.gz
&lt;br&gt;&amp;gt; &amp;nbsp; d9e852d2c64cf23e86b2ae0e7f3e6082a028c1a2 &amp;nbsp;Mail-SpamAssassin-3.3.0-rc1.proposed1.zip
&lt;br&gt;&amp;gt; &amp;nbsp; ad71dbf4250dddd00d885311b14d39c0c03e2ae1 &amp;nbsp;Mail-SpamAssassin-rules-3.3.0-rc1.r892385.tgz
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Note that the *-rules-*.tgz files are only necessary if you cannot, or do not
&lt;br&gt;&amp;gt; wish to, run &amp;quot;sa-update&amp;quot; after install to download the latest fresh rules.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; The release files also have a .asc accompanying them. &amp;nbsp;The file serves
&lt;br&gt;&amp;gt; as an external GPG signature for the given release file. &amp;nbsp;The signing
&lt;br&gt;&amp;gt; key is available via the wwwkeys.pgp.net key server, as well as
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.apache.org/dist/spamassassin/KEYS&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.apache.org/dist/spamassassin/KEYS&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; The key information is:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; pub &amp;nbsp; 4096R/F7D39814 2009-12-02
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; Key fingerprint = D809 9BC7 9E17 D7E4 9BC2 &amp;nbsp;1E31 FDE5 2F40 F7D3 9814
&lt;br&gt;&amp;gt; uid &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SpamAssassin Project Management Committee &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26852727&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;private@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; uid &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SpamAssassin Signing Key (Code Signing Key, replacement for 1024D/265FA05B) &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26852727&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; sub &amp;nbsp; 4096R/7B3265A5 2009-12-02
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; See the INSTALL and UPGRADE files in the distribution for important
&lt;br&gt;&amp;gt; installation notes.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Summary of major changes since 3.2.5
&lt;br&gt;&amp;gt; ------------------------------------
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; COMPATIBILITY WITH 3.2.5
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - rules are no longer distributed with the package, but installed by
&lt;br&gt;&amp;gt; &amp;nbsp; sa-update - either automatically fetched from the network (preferably),
&lt;br&gt;&amp;gt; &amp;nbsp; or from a tar archive, which is available for downloading separately
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - CPAN module requirements:
&lt;br&gt;&amp;gt; &amp;nbsp; - minimum required version of ExtUtils::MakeMaker is 6.17
&lt;br&gt;&amp;gt; &amp;nbsp; - modules now required: Time::HiRes, NetAddr::IP, Archive::Tar
&lt;br&gt;&amp;gt; &amp;nbsp; - minimal version of Mail::DKIM is 0.31 (preferred: 0.37 or later);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; expect some tests in t/dkim2.t to fail with versions older than 0.36_5;
&lt;br&gt;&amp;gt; &amp;nbsp; - no longer used: Mail::DomainKeys, Mail::SPF::Query
&lt;br&gt;&amp;gt; &amp;nbsp; - if module Digest::SHA is not available, a module Digest::SHA1
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; will be used, but at least one of them must be installed;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; a DKIM plugin requires Digest::SHA (the older Digest::SHA1 does not
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; support sha256 hashes), so in practice the Digest::SHA is required
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - if keeping AWL database in SQL, the field awl.ip must be extended to
&lt;br&gt;&amp;gt; &amp;nbsp; 40 characters. The change is necessary to allow AWL to keep track of IPv6
&lt;br&gt;&amp;gt; &amp;nbsp; addresses which may appear in a mail header even on non-IPv6 -enabled host.
&lt;br&gt;&amp;gt; &amp;nbsp; While at it, consider also adding a field 'signedby' to the SQL table 'awl'
&lt;br&gt;&amp;gt; &amp;nbsp; (and adding 'auto_whitelist_distinguish_signed 1' to local.cf);
&lt;br&gt;&amp;gt; &amp;nbsp; See sql/README.awl for details. The change need not be undone even if
&lt;br&gt;&amp;gt; &amp;nbsp; downgrading back to 3.2.* for some reason;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - fixing a protocol implementation error regarding a PING command required
&lt;br&gt;&amp;gt; &amp;nbsp; bumping up the SPAMC protocol version to 1.5. &amp;nbsp;Spamd retains compatibility
&lt;br&gt;&amp;gt; &amp;nbsp; with older spamc clients. Combining new spamc clients with pre-3.3 versions
&lt;br&gt;&amp;gt; &amp;nbsp; of a spamd daemon is not supported (but happens to work, except for the
&lt;br&gt;&amp;gt; &amp;nbsp; PING and SKIP commands).
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - it may be worth mentioning that a rule DKIM_VERIFIED has been renamed
&lt;br&gt;&amp;gt; &amp;nbsp; to DKIM_VALID, to match its semantics;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - due to a change in internal data structure (Bug 6185, 6254), third-party
&lt;br&gt;&amp;gt; &amp;nbsp; plugins which accesss the $pms-&amp;gt;{main}-&amp;gt;{conf}-&amp;gt;{headers_spam} (and ham)
&lt;br&gt;&amp;gt; &amp;nbsp; need to be updated. One such example is the ClamAVPlugin plugin - please
&lt;br&gt;&amp;gt; &amp;nbsp; find a fresh version on its wiki page. It retains backwards compatibility,
&lt;br&gt;&amp;gt; &amp;nbsp; so can be used with both 3.2.5 as well as with SpamAssassin 3.3.0;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - versions of amavisd-new between 2.5.2 and 2.6.1 (inclusive) are incompatible
&lt;br&gt;&amp;gt; &amp;nbsp; with SpamAssassin 3.3; please upgrade amavisd to 2.6.2 or later, or apply
&lt;br&gt;&amp;gt; &amp;nbsp; a workaround &lt;a href=&quot;https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6257&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6257&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - support for versions of perl 5.6.* is being gradually revoked
&lt;br&gt;&amp;gt; &amp;nbsp; (may still work, but no promises and no support);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - preferred versions of perl are 5.8.8, 5.8.9, and 5.10.1 or later
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; MAIN NEW FEATURES
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - IPv6 support was substantially improved (see below);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - many improvements to the DKIM plugin (understands author domain signatures,
&lt;br&gt;&amp;gt; &amp;nbsp; supports multiple signatures, ADSP support with overrides) - (see below);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - added 'if can(Class::method)' conditional statement, allowing configuration
&lt;br&gt;&amp;gt; &amp;nbsp; settings to be conditionalised on plugin capabilities without requiring
&lt;br&gt;&amp;gt; &amp;nbsp; new version releases to do so;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - added a configuration option 'time_limit', defaulting to 300 seconds
&lt;br&gt;&amp;gt; &amp;nbsp; or whatever the caller (like spamd) provides; attempting to gracefully
&lt;br&gt;&amp;gt; &amp;nbsp; terminate the checking when a time limit is reached, reporting the score
&lt;br&gt;&amp;gt; &amp;nbsp; and test hits that were collected so far, along with an added hit on
&lt;br&gt;&amp;gt; &amp;nbsp; a rule TIME_LIMIT_EXCEEDED;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - more expensive code sections are now instrumented with timing measurements;
&lt;br&gt;&amp;gt; &amp;nbsp; timing report is logged as a debug message by the end of processing,
&lt;br&gt;&amp;gt; &amp;nbsp; and made available to a caller and to 'add_header' directives through
&lt;br&gt;&amp;gt; &amp;nbsp; a TIMING tag;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - added a configuration option skip_uribl_checks to the URIDNSBL plugin,
&lt;br&gt;&amp;gt; &amp;nbsp; cross-document it with skip_rbl_checks;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - preserve order of declared 'add_header' header fields;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - configurable network mask length for the AWL plugin (see below);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - added support for DCC reputations (see below);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - improved error handling and robustness (see below);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - added timestamps when logging on stderr;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - allowed debug areas to be excluded from debugging,
&lt;br&gt;&amp;gt; &amp;nbsp; e.g.: -D all,norules,noconfig,nodcc
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; BUILDING AND PACKAGING
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - rules are no longer distributed with the package, but installed by
&lt;br&gt;&amp;gt; &amp;nbsp; sa-update
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - Makefile.PL has been simplified and a bug fixed in a DESTDIR support
&lt;br&gt;&amp;gt; &amp;nbsp; by increasing the minimum required version of ExtUtils::MakeMaker to 6.17
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - tools check_whitelist and check_spamd are now included in the distribution,
&lt;br&gt;&amp;gt; &amp;nbsp; now called 'sa-awl' and 'sa-check_spamd'
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; WORKAROUNDS TO PERL BUGS AND LIMITATIONS
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - modified the Check.pm plugin to produce smaller chunks of source code
&lt;br&gt;&amp;gt; &amp;nbsp; from rules (60 kB) to avoid Perl compiler crashing on exceeding stack size
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - localized global variables $1, $2, etc at several places, avoiding taint
&lt;br&gt;&amp;gt; &amp;nbsp; issue from propagating
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - avoided Perl I/O bug by replacing line-by-line reading with read() where
&lt;br&gt;&amp;gt; &amp;nbsp; suitable, or played down the EBADF status in other places and only report
&lt;br&gt;&amp;gt; &amp;nbsp; it as a dbg instead of a die - while also providing a little speedup
&lt;br&gt;&amp;gt; &amp;nbsp; (10 .. 25 %) on reading a message
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - provided a new sub Message::split_into_array_of_short_lines to split
&lt;br&gt;&amp;gt; &amp;nbsp; a text into array of paragraph chunks of sizes between 1 kB and 2 kB,
&lt;br&gt;&amp;gt; &amp;nbsp; giving less opportunity to runaway regular expressions in rules;
&lt;br&gt;&amp;gt; &amp;nbsp; fixes bugs: 5717, 5644, 5795, 5486, 5801, 5041
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; MEMORY FOOTPRINT
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - as a side-effect of compiling rules in smaller chunks (to avoid compiler
&lt;br&gt;&amp;gt; &amp;nbsp; crashes), virtual memory footprint of SpamAssassin is reduced;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - saved some memory by not importing the Pod::Usage unless it is needed;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - saved 350k+ of memory in sa-compile by replacing DynaLoader with XSLoader;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - removed unneeded index from MySQL bayes_token table;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; IPv6 SUPPORT
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - added IPv6 support for trusted_networks, internal_networks, msa_networks,
&lt;br&gt;&amp;gt; &amp;nbsp; whitelist_from_rcvd, and other stuff that uses NetSet and the Received
&lt;br&gt;&amp;gt; &amp;nbsp; header field parser, using NetAddr::IP;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - allowed usage of a remote dccifd host through an INET or INET6 socket;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - added IPv6 support to AWL plugin and its utility modules; a network
&lt;br&gt;&amp;gt; &amp;nbsp; mask length is now configurable and defaults to /48, which controls
&lt;br&gt;&amp;gt; &amp;nbsp; what data is stored in an AWL database;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - sql/README.awl and sql/awl_*.sql: increased suggested awl.ip field width
&lt;br&gt;&amp;gt; &amp;nbsp; to 40 characters to be able to hold IPv6 addresses;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - IP_PRIVATE now includes ipv6 variants of private address space,
&lt;br&gt;&amp;gt; &amp;nbsp; as well as the ipv6-mapped ipv4 addresses.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - NetSet now understands that ::ffff:192.168.1.2 and 192.168.1.2 are
&lt;br&gt;&amp;gt; &amp;nbsp; the same address;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - IPv6 addresses are now recognised in Received header fields;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - when reading Received header fields, the &amp;quot;IPv6:&amp;quot; prefix is stripped from
&lt;br&gt;&amp;gt; &amp;nbsp; IPv6 addresses, and &amp;quot;::ffff:&amp;quot; is removed from IPv6-mapped IPv4 addresses
&lt;br&gt;&amp;gt; &amp;nbsp; (so strings can match them as simply IPv4 addresses);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - ::1/128 is always included in the trusted_networks/internal_networks set
&lt;br&gt;&amp;gt; &amp;nbsp; similar to 127.0.0.0/8;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - some of the IPv6 functionality in SpamAssassin requires that a perl module
&lt;br&gt;&amp;gt; &amp;nbsp; IO::Socket::INET6 is available (like accessing a DNS resolver over inet6,
&lt;br&gt;&amp;gt; &amp;nbsp; talking to a dccifd host over inet6 socket, SPAMC protocol);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; SPAMC
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - Mail::SpamAssasin::Client ping may erroneously result in broken pipe;
&lt;br&gt;&amp;gt; &amp;nbsp; bump spamc protocol version to 1.5, updated spamd, spamc and Client.pm;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - added -n / --connect-timeout switch to spamc, allowing separate
&lt;br&gt;&amp;gt; &amp;nbsp; connection timeout from communication timeout;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - added --filter-retries and --filter-retry-sleep
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - increased allowed line length in spamc.conf files to 8 KiB and report
&lt;br&gt;&amp;gt; &amp;nbsp; an error when the limit is exceeded
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - spamc would not time out connections to a hung spamd, fixed
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - spamc client library leaked the zlib compression buffer if compression
&lt;br&gt;&amp;gt; &amp;nbsp; is used
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - spamc long option '--dest' was broken
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; SPAMD
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - when spamd is started with the daemonize option do not exit the parent
&lt;br&gt;&amp;gt; &amp;nbsp; until a child signals that it has logged the pid, to allow a wrapper
&lt;br&gt;&amp;gt; &amp;nbsp; script to simply continue immediately after starting spamd;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - additional tempfile cleanup in kill_handler;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - added SPAMD_LOCALHOST option to &amp;quot;make test&amp;quot; to allow specifying
&lt;br&gt;&amp;gt; &amp;nbsp; non-127.0.0.1 IP address for use in FreeBSD jail
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; API
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - adding one optional argument to Mail::SpamAssassin::parse allows caller
&lt;br&gt;&amp;gt; &amp;nbsp; to pass additional out-of-band information to SpamAssassin (such as a
&lt;br&gt;&amp;gt; &amp;nbsp; deadline time, DKIM verification results, information about a SMTP session,
&lt;br&gt;&amp;gt; &amp;nbsp; or dynamic rule hits); this information is made available to plugins and
&lt;br&gt;&amp;gt; &amp;nbsp; the rest of the code through a 'suppl_attrib' hash;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - Plugin::Check - pick up 'rule_hits' from caller via the new mechanism
&lt;br&gt;&amp;gt; &amp;nbsp; and call got_hit() on them;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - simplified adding dynamic score hits and dynamic rules by plugins
&lt;br&gt;&amp;gt; &amp;nbsp; (such as AWL, CRM114, FuzzyOcr, Check) by letting got_hit() accept
&lt;br&gt;&amp;gt; &amp;nbsp; options tflags and description, and letting it store a supplied
&lt;br&gt;&amp;gt; &amp;nbsp; dynamic score for proper reporting;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - let the timing breakdown information be accessible to a caller through
&lt;br&gt;&amp;gt; &amp;nbsp; the existing get_tag mechanism (tag TIMING);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - let the generated header fields ('add_header' configuration options)
&lt;br&gt;&amp;gt; &amp;nbsp; be accessible to a caller through the existing get_tag mechanism
&lt;br&gt;&amp;gt; &amp;nbsp; (tags ADDEDHEADER, ADDEDHEADERHAM, ADDEDHEADERSPAM);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; RULES
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - rules are no longer distributed with the package;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - new scores have been generated by a GA algorithm and then manually tweaked,
&lt;br&gt;&amp;gt; &amp;nbsp; based on cleaned datasets supplied by a dozen of volunteers;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - dropped redundant rules or rules causing too many false positives;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - added or updated many rules; incomplete list in no particular order:
&lt;br&gt;&amp;gt; &amp;nbsp; vbounce, lotsa_money, muchmoney, image spam, fill_this_form, FreeMail,
&lt;br&gt;&amp;gt; &amp;nbsp; European Parliament, HTML attachments, uri_obfu*, urinsrhsbl, urinsrhssub,
&lt;br&gt;&amp;gt; &amp;nbsp; urifullnsrhsbl, URI_OBFU_X9_WS, rDNS=localhost, INVALID_DATE_TZ_ABSURD,
&lt;br&gt;&amp;gt; &amp;nbsp; KHOP_SC, RCVD_IN_PSBL, FRT_VALIUM*, BOUNCE_MESSAGE, VBOUNCE_MESSAGE,
&lt;br&gt;&amp;gt; &amp;nbsp; __BOUNCE_UNDELIVERABLE, HELO_STATIC_HOST, FILL_THIS_FORM_FRAUD_PHISH,
&lt;br&gt;&amp;gt; &amp;nbsp; CHALLENGE_RESPONSE, DKIM_VALID, DKIM_VALID_AU, DKIM_ADSP_*,
&lt;br&gt;&amp;gt; &amp;nbsp; NML_ADSP_CUSTOM_{LOW,MED,HIGH}, __VIA_ML, MIME_BASE64_TEXT, LOTTO_URI,
&lt;br&gt;&amp;gt; &amp;nbsp; FORGED_MUA_THEBAT_BOUN, FORGED_MUA_THEBAT_CS, UNRESOLVED_TEMPLATE,
&lt;br&gt;&amp;gt; &amp;nbsp; __THEBAT_MUA, __ANY_OUTLOOK_MUA, RP_MATCHES_RCVD, one-word X-Mailer,
&lt;br&gt;&amp;gt; &amp;nbsp; advance_fee update, tweak SPAN rules, tweak skype and misquoted-HTML rules,
&lt;br&gt;&amp;gt; &amp;nbsp; added some new HTML obfuscation and Google feedproxy URI rules, 
&lt;br&gt;&amp;gt; &amp;nbsp; tweak reevolved advance fee second-order metarules,
&lt;br&gt;&amp;gt; &amp;nbsp; added a test rule for postmaster+abuse missing, FROM_MISSPACED, 
&lt;br&gt;&amp;gt; &amp;nbsp; fix FROM_CONTAINS_TAB, added Facebook redirector pattern,
&lt;br&gt;&amp;gt; &amp;nbsp; avoided ISO-2022-JP FPs on TVD_SPACE_RATIO, GAPPY_SUBJECT, PLING_QUERY
&lt;br&gt;&amp;gt; &amp;nbsp; and FM_FRM_RN_L_BRACK rules, FP fix for one-word mails on TVD_SPACE_RATIO,
&lt;br&gt;&amp;gt; &amp;nbsp; RATWARE_BOUNDARY plus variant, supersede all previous RATWARE_OUTLOOK
&lt;br&gt;&amp;gt; &amp;nbsp; stuff, added exclusion for __ISO_2022_JP_DELIM to OBFUSCATING_COMMENT,
&lt;br&gt;&amp;gt; &amp;nbsp; FP in obfuscated URI rule, fixed breakage in tbird image rule, fixed
&lt;br&gt;&amp;gt; &amp;nbsp; SUBJECT_FUZZY_MEDS FP on unobfuscated &amp;quot;meds&amp;quot;, added misspaced From header
&lt;br&gt;&amp;gt; &amp;nbsp; field rule, numeric+cctld URI rule, ...
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - added PSBL blacklist - &lt;a href=&quot;http://psbl.surriel.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://psbl.surriel.com/&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - added support for &lt;a href=&quot;http://www.spamhaus.org/css/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.spamhaus.org/css/&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - replaces HABEAS, BSP and SSC with RP CERTIFIED;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - use ReturnPath's RNBL, replacing SSBL;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - added rule for plain text attachments with octet-stream MIME type;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - avoided false positives on ISO-2022-JP messages in several rules;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - removed massmailers from uridnsbl_skip_domain in 25_uribl.cf;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - updated various default whitelists, uridnsbl_skip_domain, adsp_override, ...
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; PLUGINS
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - new plugins: FreeMail, PhishTag, Reuse
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt; - now enabled by default: DKIM
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - now disabled by default: AWL
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - retired plugin: DomainKeys
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; AWL PLUGIN
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - plugin AWL is now disabled by default;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - added new configuration options auto_whitelist_ipv4_mask_len and
&lt;br&gt;&amp;gt; &amp;nbsp; auto_whitelist_ipv6_mask_len to allow more control on what part of
&lt;br&gt;&amp;gt; &amp;nbsp; an IP address is stored into an AWL database;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - README.awl: increased a suggested awl.ip field width to 40 characters
&lt;br&gt;&amp;gt; &amp;nbsp; to support IPv6 addresses;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - AutoWhitelist.pm: allowed storing a canonicalized IPv6 address, cropped
&lt;br&gt;&amp;gt; &amp;nbsp; to a configurable network mask (previously causing SQL server errors:
&lt;br&gt;&amp;gt; &amp;nbsp; 'value too long')
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - let AWL with SQL keep separate records for DKIM-signed and unsigned mail
&lt;br&gt;&amp;gt; &amp;nbsp; (when auto_whitelist_distinguish_signed configuration option is true,
&lt;br&gt;&amp;gt; &amp;nbsp; and a field awl.signedby exists);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - avoided a race condition in SQLBasedAddrList.pm when multiple processes
&lt;br&gt;&amp;gt; &amp;nbsp; try to insert-or-update an awl SQL record: trying INSERT first, and if
&lt;br&gt;&amp;gt; &amp;nbsp; that fails go for UPDATE;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - gracefully handle NaN from corrupted database or a broken emulator or
&lt;br&gt;&amp;gt; &amp;nbsp; virtualizer;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; DCC PLUGIN
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - added support for DCC reputations, added setting dcc_rep_percent,
&lt;br&gt;&amp;gt; &amp;nbsp; new test check_dcc_reputation_range(), new tag DCCREP
&lt;br&gt;&amp;gt; &amp;nbsp; (DCC servers supply reputation data only to licensed clients);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - allowed usage of a remote dccifd host through an INET or INET6 socket;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; DKIM PLUGIN
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - the plugin is now enabled by default;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - absolute minimal version of Mail::DKIM is 0.31;
&lt;br&gt;&amp;gt; &amp;nbsp; support for ADSP requires Mail::DKIM 0.34;
&lt;br&gt;&amp;gt; &amp;nbsp; a DNS test (and rule) for NXDOMAIN is operational since Mail::DKIM 0.36_5
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - a perl module Digest::SHA is required if the DKIM plugin is enabled
&lt;br&gt;&amp;gt; &amp;nbsp; (if a perl module Digest::SHA is available, the module Digest::SHA1
&lt;br&gt;&amp;gt; &amp;nbsp; becomes optional as far as SpamAssassin is concerned (but is still
&lt;br&gt;&amp;gt; &amp;nbsp; needed by Razor agents));
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - added support for multiple signatures (useful for whitelisting);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - plugin now distinguishes author domain signatures from third party
&lt;br&gt;&amp;gt; &amp;nbsp; signatures (useful for whitelisting);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - provides a tag DKIMIDENTITY (in addition to DKIMDOMAIN);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - DKIM now supports Author Domain Signing Practices - ADSP (RFC 5617);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - use the Mail::DKIM::AuthorDomainPolicy instead of Mail::DKIM::DkimPolicy,
&lt;br&gt;&amp;gt; &amp;nbsp; when available (since Mail::DKIM 0.34);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - implements an 'adsp_override' configuration directive and adds
&lt;br&gt;&amp;gt; &amp;nbsp; an eval:check_dkim_adsp check, which is used by new DKIM_ADSP_* rules;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - rules contain an initial set of 'adsp_override' directives, listing
&lt;br&gt;&amp;gt; &amp;nbsp; some of the more popular target domains for phishing (applicable only to
&lt;br&gt;&amp;gt; &amp;nbsp; domains which sign all their direct mail with a DKIM or DK signature);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - this plugin can now re-use Mail::DKIM verification results if made
&lt;br&gt;&amp;gt; &amp;nbsp; available by a caller, which saves resources and makes it possible
&lt;br&gt;&amp;gt; &amp;nbsp; for SpamAssassin to work on a truncated large mail without breaking
&lt;br&gt;&amp;gt; &amp;nbsp; DKIM signatures;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - check_dkim_signed and check_dkim_adsp eval rules can now take an optional
&lt;br&gt;&amp;gt; &amp;nbsp; list of domain names, which limits their action to listed domains only.
&lt;br&gt;&amp;gt; &amp;nbsp; It facilitates building DKIM-based rules for specific domains, without
&lt;br&gt;&amp;gt; &amp;nbsp; having to resort to meta rules;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - draft-ietf-dkim-ssp-10/RFC-5617 made Author Domain Signature based on 'd':
&lt;br&gt;&amp;gt; &amp;nbsp; updated ADSP code accordingly; changed whitelisting code to be based on
&lt;br&gt;&amp;gt; &amp;nbsp; SDID ('d') instead of AUID ('i');
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - Plugin/DKIM.pm: terminology changes in comments and logging according
&lt;br&gt;&amp;gt; &amp;nbsp; to RFC 5617 and draft-ietf-dkim-rfc4871-errata-07;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; BUG FIXES
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - fixed Rule2XSBody segfaults;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - no longer treat user data as perl booleans (a string &amp;quot;0&amp;quot; is a false);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - avoid data from the wild be interpreted as perl regular expressions;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - ArchiveIterator: prevent _scan_directory from passing directories
&lt;br&gt;&amp;gt; &amp;nbsp; to _scan_file (on NFS it would fail with EISDIR on read(2);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - fixed vpopmail support;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - fixed incorrect mode bits when creating lock files for AWL;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - fixed some cases where :addr headers were parsed incorrectly;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - fixed leakage of 'whitelist_from_rcvd' entries between spamd users;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - fixing run_and_catch, which failed to catch a non-timed run;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - 127/8 isn't an illegal IP;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - reworked the M::S::Timeout module to deal with nested timers as one would
&lt;br&gt;&amp;gt; &amp;nbsp; expect: an inner timer shouldn't be able to extend an outer timer's limit;
&lt;br&gt;&amp;gt; &amp;nbsp; account for time elapsed in the submitted subroutine when restarting an
&lt;br&gt;&amp;gt; &amp;nbsp; outer timer; reset() should have accounted for time already spent;
&lt;br&gt;&amp;gt; &amp;nbsp; deal with nested timed runs where alarm(0) does not provide remaining time;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - the 'exists:' evaluator in HEADER rules now works as documented
&lt;br&gt;&amp;gt; &amp;nbsp; and tests for existence of a header field, instead of testing for
&lt;br&gt;&amp;gt; &amp;nbsp; a header field body being nonempty; internally, the pms-&amp;gt;get can
&lt;br&gt;&amp;gt; &amp;nbsp; also now distinguish between empty and nonexistent header fields;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - applied fixes to header fields parsing in several places: header field
&lt;br&gt;&amp;gt; &amp;nbsp; names are case-insensitive, whitespace is not required after a colon,
&lt;br&gt;&amp;gt; &amp;nbsp; obsolete rfc822 syntax allowed whitespace before a colon;
&lt;br&gt;&amp;gt; &amp;nbsp; VBounce: match &amp;quot;Received:&amp;quot; only at the beginning of a line;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - fixed bug 6237: 2.0.0.0/8 is now an allocated address range,
&lt;br&gt;&amp;gt; &amp;nbsp; fixed RCVD_ILLEGAL_IP with IP 2.0.0.0/8 (and 223.0.0.0/8);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - fixed bug 6205 comment 5 in URIDetail.pm;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - 'pyzor_options' in Plugin/Pyzor.pm was not untainted;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - URIDetail plugin was not taint safe, fixed;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - fixed parsing of multi-line Received header fields for
&lt;br&gt;&amp;gt; &amp;nbsp; BOUNCE_MESSAGE/VBOUNCE_MESSAGE et al;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - Bug 6206, Bug 2536: spamd: untaint directory as obtained from a password
&lt;br&gt;&amp;gt; &amp;nbsp; file or from vpopmail utilities, avoid implicit untainting; report error
&lt;br&gt;&amp;gt; &amp;nbsp; if user preferences file exists but cannot be accessed;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - avoid using raw data from DNS as a regexp in Plugin/ASN.pm;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - ensured the dbg() and info() calls always return the same value (true)
&lt;br&gt;&amp;gt; &amp;nbsp; regardless of log level;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - suppress logging of $&amp; when its value is not available (i.e. when
&lt;br&gt;&amp;gt; &amp;nbsp; no regexp has been evaluated during rule evaluation);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - Exporter never really worked in SA, was not enclosed in BEGIN {};
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - masses/runGA and masses/mk-baseline-results: prevent a shell 'source'
&lt;br&gt;&amp;gt; &amp;nbsp; command from loading an unrelated file named 'config' which happens to be
&lt;br&gt;&amp;gt; &amp;nbsp; in the current PATH - must use a ./ in an arg to a 'source' command;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ERROR HANDLING, ROBUSTNESS
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - improved error detection and reporting: test status of all system calls
&lt;br&gt;&amp;gt; &amp;nbsp; and I/O operations (or explicitly document where not), and report
&lt;br&gt;&amp;gt; &amp;nbsp; unexpected failures;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - eval calls now check for eval result instead of testing the $@, which
&lt;br&gt;&amp;gt; &amp;nbsp; is not always reliable;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - localized $@ and $! in DESTROY methods to prevent potential calls to eval
&lt;br&gt;&amp;gt; &amp;nbsp; and calls to system routines in code executed from a DESTROY method
&lt;br&gt;&amp;gt; &amp;nbsp; from clobbering global variables $@ and $!;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - Util::helper_app_pipe_open_unix: contain a failing exec with an eval
&lt;br&gt;&amp;gt; &amp;nbsp; to prevent additional cases of process cloning. The exec could fail
&lt;br&gt;&amp;gt; &amp;nbsp; this way when given tainted arguments;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - Util::helper_app_pipe_open_unix: flush stdout and stderr before forking,
&lt;br&gt;&amp;gt; &amp;nbsp; otherwise an error reported by exec (such as 'insecure dependency')
&lt;br&gt;&amp;gt; &amp;nbsp; was lost in a buffer;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - eval-protected an open($fh,'-|') to capture implied fork failures
&lt;br&gt;&amp;gt; &amp;nbsp; due to lack of system resource;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - explicit untainting: combine &amp;quot;use re 'taint'&amp;quot; with untaint_var(),
&lt;br&gt;&amp;gt; &amp;nbsp; avoiding implicit perl untainting, along with workarounds to prevent it;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - added 'use strict' where missing;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - avoided a bunch of warnings on &amp;quot;Use of uninitialized value&amp;quot;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - clearly report reasons for helper application process failures
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - t/SATest.pm: provide information about the process failure reason
&lt;br&gt;&amp;gt; &amp;nbsp; if a system() call fails; &amp;nbsp;improved its reporting of failures;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - improved error reporting in Plugin/DCC.pm on finding a DCC home directory
&lt;br&gt;&amp;gt; &amp;nbsp; to facilitate troubleshooting;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; OTHER CHANGES
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - pseudoheader &amp;quot;ALL:raw&amp;quot; returns a pristine header section,
&lt;br&gt;&amp;gt; &amp;nbsp; and pseudoheader &amp;quot;ALL&amp;quot; returns a cleaned header section
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - total rewrite of URI detection in plain text body;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - many updates to the list of top level domains;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - added 'util_rb_3tld', allowing 3-level TLDs to be listed in URIBLs and
&lt;br&gt;&amp;gt; &amp;nbsp; allowing new 3TLDs to be added from rule updates;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - avoided trusted_networks bog down due to O(n^2) loop with millions
&lt;br&gt;&amp;gt; &amp;nbsp; of entries;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - applied fixes to Plugin/VBounce.pm, updated VBounce ruleset;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - added support for a 'Communigate Pro' Received header field;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - parse Communigate Pro &amp;quot;with HTTPU&amp;quot; auth token;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - let DependencyInfo.pm understand a concept of recommended module version,
&lt;br&gt;&amp;gt; &amp;nbsp; besides a required version;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - provided a workaround for Net::DNS::Packet::new inconsistency;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - let SpamAssassin use either Digest::SHA or Digest::SHA1, whichever is
&lt;br&gt;&amp;gt; &amp;nbsp; available (the Digest::SHA is now a base module since perl 5.10.0);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - improved parsing of eval-type rules: allow unquoted domain names,
&lt;br&gt;&amp;gt; &amp;nbsp; disallow unmatched quotes;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - provided a new module Mail::SpamAssassin::BayesStore::BDB. It should be
&lt;br&gt;&amp;gt; &amp;nbsp; treated as alpha-quality (needs more testing) and is not yet ready for
&lt;br&gt;&amp;gt; &amp;nbsp; production use;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - exposed existing function 'received_within_months' as an eval function
&lt;br&gt;&amp;gt; &amp;nbsp; in Plugin/HeaderEval.pm;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - use /var/lock/subsys/spamd instead of /var/lock/subsys/spamassassin for
&lt;br&gt;&amp;gt; &amp;nbsp; rc script, so that 'service spamd status' will work;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - re-download MIRRRORED.BY files at least once a week, or if
&lt;br&gt;&amp;gt; &amp;nbsp; 'sa-update --refreshmirrors' switch is used;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - input delimiter $/ can be corrupted by a plugin, localize $/ and $\ before
&lt;br&gt;&amp;gt; &amp;nbsp; calling a plugin;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - takes almost a minute to start spamd on a slow machine, bumped up the
&lt;br&gt;&amp;gt; &amp;nbsp; retry counter to 180 seconds;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - resolved Bug 5325: syslog severity level in spamc/libspamc.c for max
&lt;br&gt;&amp;gt; &amp;nbsp; message size (changed LOG_ERR into LOG_NOTICE for the message:
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;quot;skipped message, greater than max message size&amp;quot;);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - avoid taint warnings if hostname is returned as '(none)';
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - produce an error message if an sa-update channel doesn't exist;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - Bug 6150, Bug 6127, Bug 5981, Bug 5950, Bug 6191: let spamd log/report
&lt;br&gt;&amp;gt; &amp;nbsp; a child process exit status or aborting condition in an informative way;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - detect accidental match-everything regexps in rules;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - updated garescorer for 3.3.0: use more epochs in GA runs for better scores;
&lt;br&gt;&amp;gt; &amp;nbsp; clarify some mass-check warning output, ensure rule name always appears at
&lt;br&gt;&amp;gt; &amp;nbsp; start of line; if a rule had no default/existing score in 50_scores.cf,
&lt;br&gt;&amp;gt; &amp;nbsp; don't tell the GA that 1.0 is an appropriate default value, instead pick
&lt;br&gt;&amp;gt; &amp;nbsp; the midway point of its score range. this produces better results;
&lt;br&gt;&amp;gt; &amp;nbsp; remove some dead code from masses/score-ranges-from-freqs;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - report performance as iterations per second in garescorer.c;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - added test to ensure that all config settings are correctly handled when
&lt;br&gt;&amp;gt; &amp;nbsp; switching between users; added more config setting type metadata to enable
&lt;br&gt;&amp;gt; &amp;nbsp; those tests to work; and fix URIDetail to store config on the {conf} object,
&lt;br&gt;&amp;gt; &amp;nbsp; not on the plugin;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - moved 'release tests' to xt/ directory; mirror long-running, net-tests and
&lt;br&gt;&amp;gt; &amp;nbsp; stress tests with xt/50_testname.t scripts to enforce their run before a
&lt;br&gt;&amp;gt; &amp;nbsp; release;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - numerous additional and updated self-tests;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - added a Test::Perl::Critic release-test;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - some code cleanups based on suggestions by a perl module Test::Perl::Critic,
&lt;br&gt;&amp;gt; &amp;nbsp; among others:
&lt;br&gt;&amp;gt; &amp;nbsp; . enable TestingAndDebugging::ProhibitNoStrict test but allow the
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; use of 'no strict &amp;quot;refs&amp;quot;';
&lt;br&gt;&amp;gt; &amp;nbsp; . deal with BuiltinFunctions::RequireGlobFunction;
&lt;br&gt;&amp;gt; &amp;nbsp; . deal with ControlStructures::ProhibitMutatingListFunctions
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; removing this exception from xt/60_perlcritic.t;
&lt;br&gt;&amp;gt; &amp;nbsp; . deal with BayesStore/BDB.pm, Variables::ProhibitConditionalDeclarations
&lt;br&gt;&amp;gt; &amp;nbsp; . now that the module Time::HiRes is a required module, we can afford
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; to replace a select() with Time::HiRes::sleep, and remove exception
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; BuiltinFunctions::ProhibitSleepViaSelect from xt/60_perlcritic.t
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - documentation was updated, fixing numerous typos and mistakes in
&lt;br&gt;&amp;gt; &amp;nbsp; documentation text and in log messages;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - extensive improvements to development process:
&lt;br&gt;&amp;gt; &amp;nbsp; automated testing through Hudson, improvements to mass-check and rules
&lt;/div&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/PROPOSED%3A-Apache-SpamAssassin-3.3.0-rc1.proposed1-tp26852049p26852727.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26852049</id>
	<title>PROPOSED: Apache SpamAssassin 3.3.0-rc1.proposed1</title>
	<published>2009-12-18T17:57:27Z</published>
	<updated>2009-12-18T17:57:27Z</updated>
	<author>
		<name>Warren Togami</name>
	</author>
	<content type="html">This will be released if we go three days without an objection as per build/README procedure. &amp;nbsp;At that point these archives will be renamed to &amp;quot;rc1&amp;quot; and the announcements will go out. &amp;nbsp;Please suggest improvements to this announcement text as well.
&lt;br&gt;&lt;br&gt;Hey users list, now would be a very good time to begin testing 3.3.0 if you haven't already. &amp;nbsp;At this point it has been tested in production on many production servers (including my own production server since March 2009), but it is possible we missed a corner case of some non-standard configuration that you folks rely upon. &amp;nbsp;We could use your feedback, even if it is only &amp;quot;It works!&amp;quot; &amp;nbsp;Now is last chance to complain if you find a problem.
&lt;br&gt;&lt;br&gt;All of the Priority P1 blocker bugs targeted for 3.3.0 are now closed. &amp;nbsp;I suspect there might be a few minor things we might want to polish before 3.3.0 final, but otherwise this is VERY CLOSE to what 3.3.0 will be.
&lt;br&gt;&lt;br&gt;Warren Togami
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26852049&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;wtogami@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;[DRAFT DRAFT DRAFT - NOT YET RELEASED - DRAFT DRAFT DRAFT]
&lt;br&gt;&lt;br&gt;Apache SpamAssassin 3.3.0-rc1 is now available for testing.
&lt;br&gt;&lt;br&gt;Downloads are available from:
&lt;br&gt;&amp;nbsp; &lt;a href=&quot;http://people.apache.org/~wtogami/devel/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://people.apache.org/~wtogami/devel/&lt;/a&gt;&lt;br&gt;md5sum of archive files:
&lt;br&gt;&lt;br&gt;&amp;nbsp; fabccde7f09dcdf4c06afbd4cc0687c2 &amp;nbsp;Mail-SpamAssassin-3.3.0-rc1.proposed1.tar.bz2
&lt;br&gt;&amp;nbsp; a36c646742c0cd5960e7be222cc91200 &amp;nbsp;Mail-SpamAssassin-3.3.0-rc1.proposed1.tar.gz
&lt;br&gt;&amp;nbsp; 8c7f92167f2c2016164aafeac925ac58 &amp;nbsp;Mail-SpamAssassin-3.3.0-rc1.proposed1.zip
&lt;br&gt;&amp;nbsp; 0bf1e2c0fc70dc05104acec8a723cbdb &amp;nbsp;Mail-SpamAssassin-rules-3.3.0-rc1.r892385.tgz
&lt;br&gt;&lt;br&gt;sha1sum of archive files:
&lt;br&gt;&lt;br&gt;&amp;nbsp; 7101ea1ab28b47e557583b914e242651f6cd761e &amp;nbsp;Mail-SpamAssassin-3.3.0-rc1.proposed1.tar.bz2
&lt;br&gt;&amp;nbsp; 344dd5887772abc0fc0aea11a30dff5d77d67db8 &amp;nbsp;Mail-SpamAssassin-3.3.0-rc1.proposed1.tar.gz
&lt;br&gt;&amp;nbsp; d9e852d2c64cf23e86b2ae0e7f3e6082a028c1a2 &amp;nbsp;Mail-SpamAssassin-3.3.0-rc1.proposed1.zip
&lt;br&gt;&amp;nbsp; ad71dbf4250dddd00d885311b14d39c0c03e2ae1 &amp;nbsp;Mail-SpamAssassin-rules-3.3.0-rc1.r892385.tgz
&lt;br&gt;&lt;br&gt;&lt;br&gt;Note that the *-rules-*.tgz files are only necessary if you cannot, or do not
&lt;br&gt;wish to, run &amp;quot;sa-update&amp;quot; after install to download the latest fresh rules.
&lt;br&gt;&lt;br&gt;The release files also have a .asc accompanying them. &amp;nbsp;The file serves
&lt;br&gt;as an external GPG signature for the given release file. &amp;nbsp;The signing
&lt;br&gt;key is available via the wwwkeys.pgp.net key server, as well as
&lt;br&gt;&lt;a href=&quot;http://www.apache.org/dist/spamassassin/KEYS&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.apache.org/dist/spamassassin/KEYS&lt;/a&gt;&lt;br&gt;&lt;br&gt;The key information is:
&lt;br&gt;&lt;br&gt;pub &amp;nbsp; 4096R/F7D39814 2009-12-02
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Key fingerprint = D809 9BC7 9E17 D7E4 9BC2 &amp;nbsp;1E31 FDE5 2F40 F7D3 9814
&lt;br&gt;uid &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SpamAssassin Project Management Committee &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26852049&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;private@...&lt;/a&gt;&amp;gt;
&lt;br&gt;uid &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SpamAssassin Signing Key (Code Signing Key, replacement for 1024D/265FA05B) &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26852049&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev@...&lt;/a&gt;&amp;gt;
&lt;br&gt;sub &amp;nbsp; 4096R/7B3265A5 2009-12-02
&lt;br&gt;&lt;br&gt;See the INSTALL and UPGRADE files in the distribution for important
&lt;br&gt;installation notes.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Summary of major changes since 3.2.5
&lt;br&gt;------------------------------------
&lt;br&gt;&lt;br&gt;COMPATIBILITY WITH 3.2.5
&lt;br&gt;&lt;br&gt;- rules are no longer distributed with the package, but installed by
&lt;br&gt;&amp;nbsp; sa-update - either automatically fetched from the network (preferably),
&lt;br&gt;&amp;nbsp; or from a tar archive, which is available for downloading separately
&lt;br&gt;&lt;br&gt;- CPAN module requirements:
&lt;br&gt;&amp;nbsp; - minimum required version of ExtUtils::MakeMaker is 6.17
&lt;br&gt;&amp;nbsp; - modules now required: Time::HiRes, NetAddr::IP, Archive::Tar
&lt;br&gt;&amp;nbsp; - minimal version of Mail::DKIM is 0.31 (preferred: 0.37 or later);
&lt;br&gt;&amp;nbsp; &amp;nbsp; expect some tests in t/dkim2.t to fail with versions older than 0.36_5;
&lt;br&gt;&amp;nbsp; - no longer used: Mail::DomainKeys, Mail::SPF::Query
&lt;br&gt;&amp;nbsp; - if module Digest::SHA is not available, a module Digest::SHA1
&lt;br&gt;&amp;nbsp; &amp;nbsp; will be used, but at least one of them must be installed;
&lt;br&gt;&amp;nbsp; &amp;nbsp; a DKIM plugin requires Digest::SHA (the older Digest::SHA1 does not
&lt;br&gt;&amp;nbsp; &amp;nbsp; support sha256 hashes), so in practice the Digest::SHA is required
&lt;br&gt;&lt;br&gt;- if keeping AWL database in SQL, the field awl.ip must be extended to
&lt;br&gt;&amp;nbsp; 40 characters. The change is necessary to allow AWL to keep track of IPv6
&lt;br&gt;&amp;nbsp; addresses which may appear in a mail header even on non-IPv6 -enabled host.
&lt;br&gt;&amp;nbsp; While at it, consider also adding a field 'signedby' to the SQL table 'awl'
&lt;br&gt;&amp;nbsp; (and adding 'auto_whitelist_distinguish_signed 1' to local.cf);
&lt;br&gt;&amp;nbsp; See sql/README.awl for details. The change need not be undone even if
&lt;br&gt;&amp;nbsp; downgrading back to 3.2.* for some reason;
&lt;br&gt;&lt;br&gt;- fixing a protocol implementation error regarding a PING command required
&lt;br&gt;&amp;nbsp; bumping up the SPAMC protocol version to 1.5. &amp;nbsp;Spamd retains compatibility
&lt;br&gt;&amp;nbsp; with older spamc clients. Combining new spamc clients with pre-3.3 versions
&lt;br&gt;&amp;nbsp; of a spamd daemon is not supported (but happens to work, except for the
&lt;br&gt;&amp;nbsp; PING and SKIP commands).
&lt;br&gt;&lt;br&gt;- it may be worth mentioning that a rule DKIM_VERIFIED has been renamed
&lt;br&gt;&amp;nbsp; to DKIM_VALID, to match its semantics;
&lt;br&gt;&lt;br&gt;- due to a change in internal data structure (Bug 6185, 6254), third-party
&lt;br&gt;&amp;nbsp; plugins which accesss the $pms-&amp;gt;{main}-&amp;gt;{conf}-&amp;gt;{headers_spam} (and ham)
&lt;br&gt;&amp;nbsp; need to be updated. One such example is the ClamAVPlugin plugin - please
&lt;br&gt;&amp;nbsp; find a fresh version on its wiki page. It retains backwards compatibility,
&lt;br&gt;&amp;nbsp; so can be used with both 3.2.5 as well as with SpamAssassin 3.3.0;
&lt;br&gt;&lt;br&gt;- versions of amavisd-new between 2.5.2 and 2.6.1 (inclusive) are incompatible
&lt;br&gt;&amp;nbsp; with SpamAssassin 3.3; please upgrade amavisd to 2.6.2 or later, or apply
&lt;br&gt;&amp;nbsp; a workaround &lt;a href=&quot;https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6257&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6257&lt;/a&gt;&lt;br&gt;&lt;br&gt;- support for versions of perl 5.6.* is being gradually revoked
&lt;br&gt;&amp;nbsp; (may still work, but no promises and no support);
&lt;br&gt;&lt;br&gt;- preferred versions of perl are 5.8.8, 5.8.9, and 5.10.1 or later
&lt;br&gt;&lt;br&gt;&lt;br&gt;MAIN NEW FEATURES
&lt;br&gt;&lt;br&gt;- IPv6 support was substantially improved (see below);
&lt;br&gt;&lt;br&gt;- many improvements to the DKIM plugin (understands author domain signatures,
&lt;br&gt;&amp;nbsp; supports multiple signatures, ADSP support with overrides) - (see below);
&lt;br&gt;&lt;br&gt;- added 'if can(Class::method)' conditional statement, allowing configuration
&lt;br&gt;&amp;nbsp; settings to be conditionalised on plugin capabilities without requiring
&lt;br&gt;&amp;nbsp; new version releases to do so;
&lt;br&gt;&lt;br&gt;- added a configuration option 'time_limit', defaulting to 300 seconds
&lt;br&gt;&amp;nbsp; or whatever the caller (like spamd) provides; attempting to gracefully
&lt;br&gt;&amp;nbsp; terminate the checking when a time limit is reached, reporting the score
&lt;br&gt;&amp;nbsp; and test hits that were collected so far, along with an added hit on
&lt;br&gt;&amp;nbsp; a rule TIME_LIMIT_EXCEEDED;
&lt;br&gt;&lt;br&gt;- more expensive code sections are now instrumented with timing measurements;
&lt;br&gt;&amp;nbsp; timing report is logged as a debug message by the end of processing,
&lt;br&gt;&amp;nbsp; and made available to a caller and to 'add_header' directives through
&lt;br&gt;&amp;nbsp; a TIMING tag;
&lt;br&gt;&lt;br&gt;- added a configuration option skip_uribl_checks to the URIDNSBL plugin,
&lt;br&gt;&amp;nbsp; cross-document it with skip_rbl_checks;
&lt;br&gt;&lt;br&gt;- preserve order of declared 'add_header' header fields;
&lt;br&gt;&lt;br&gt;- configurable network mask length for the AWL plugin (see below);
&lt;br&gt;&lt;br&gt;- added support for DCC reputations (see below);
&lt;br&gt;&lt;br&gt;- improved error handling and robustness (see below);
&lt;br&gt;&lt;br&gt;- added timestamps when logging on stderr;
&lt;br&gt;&lt;br&gt;- allowed debug areas to be excluded from debugging,
&lt;br&gt;&amp;nbsp; e.g.: -D all,norules,noconfig,nodcc
&lt;br&gt;&lt;br&gt;&lt;br&gt;BUILDING AND PACKAGING
&lt;br&gt;&lt;br&gt;- rules are no longer distributed with the package, but installed by
&lt;br&gt;&amp;nbsp; sa-update
&lt;br&gt;&lt;br&gt;- Makefile.PL has been simplified and a bug fixed in a DESTDIR support
&lt;br&gt;&amp;nbsp; by increasing the minimum required version of ExtUtils::MakeMaker to 6.17
&lt;br&gt;&lt;br&gt;- tools check_whitelist and check_spamd are now included in the distribution,
&lt;br&gt;&amp;nbsp; now called 'sa-awl' and 'sa-check_spamd'
&lt;br&gt;&lt;br&gt;&lt;br&gt;WORKAROUNDS TO PERL BUGS AND LIMITATIONS
&lt;br&gt;&lt;br&gt;- modified the Check.pm plugin to produce smaller chunks of source code
&lt;br&gt;&amp;nbsp; from rules (60 kB) to avoid Perl compiler crashing on exceeding stack size
&lt;br&gt;&lt;br&gt;- localized global variables $1, $2, etc at several places, avoiding taint
&lt;br&gt;&amp;nbsp; issue from propagating
&lt;br&gt;&lt;br&gt;- avoided Perl I/O bug by replacing line-by-line reading with read() where
&lt;br&gt;&amp;nbsp; suitable, or played down the EBADF status in other places and only report
&lt;br&gt;&amp;nbsp; it as a dbg instead of a die - while also providing a little speedup
&lt;br&gt;&amp;nbsp; (10 .. 25 %) on reading a message
&lt;br&gt;&lt;br&gt;- provided a new sub Message::split_into_array_of_short_lines to split
&lt;br&gt;&amp;nbsp; a text into array of paragraph chunks of sizes between 1 kB and 2 kB,
&lt;br&gt;&amp;nbsp; giving less opportunity to runaway regular expressions in rules;
&lt;br&gt;&amp;nbsp; fixes bugs: 5717, 5644, 5795, 5486, 5801, 5041
&lt;br&gt;&lt;br&gt;&lt;br&gt;MEMORY FOOTPRINT
&lt;br&gt;&lt;br&gt;- as a side-effect of compiling rules in smaller chunks (to avoid compiler
&lt;br&gt;&amp;nbsp; crashes), virtual memory footprint of SpamAssassin is reduced;
&lt;br&gt;&lt;br&gt;- saved some memory by not importing the Pod::Usage unless it is needed;
&lt;br&gt;&lt;br&gt;- saved 350k+ of memory in sa-compile by replacing DynaLoader with XSLoader;
&lt;br&gt;&lt;br&gt;- removed unneeded index from MySQL bayes_token table;
&lt;br&gt;&lt;br&gt;&lt;br&gt;IPv6 SUPPORT
&lt;br&gt;&lt;br&gt;- added IPv6 support for trusted_networks, internal_networks, msa_networks,
&lt;br&gt;&amp;nbsp; whitelist_from_rcvd, and other stuff that uses NetSet and the Received
&lt;br&gt;&amp;nbsp; header field parser, using NetAddr::IP;
&lt;br&gt;&lt;br&gt;- allowed usage of a remote dccifd host through an INET or INET6 socket;
&lt;br&gt;&lt;br&gt;- added IPv6 support to AWL plugin and its utility modules; a network
&lt;br&gt;&amp;nbsp; mask length is now configurable and defaults to /48, which controls
&lt;br&gt;&amp;nbsp; what data is stored in an AWL database;
&lt;br&gt;&lt;br&gt;- sql/README.awl and sql/awl_*.sql: increased suggested awl.ip field width
&lt;br&gt;&amp;nbsp; to 40 characters to be able to hold IPv6 addresses;
&lt;br&gt;&lt;br&gt;- IP_PRIVATE now includes ipv6 variants of private address space,
&lt;br&gt;&amp;nbsp; as well as the ipv6-mapped ipv4 addresses.
&lt;br&gt;&lt;br&gt;- NetSet now understands that ::ffff:192.168.1.2 and 192.168.1.2 are
&lt;br&gt;&amp;nbsp; the same address;
&lt;br&gt;&lt;br&gt;- IPv6 addresses are now recognised in Received header fields;
&lt;br&gt;&lt;br&gt;- when reading Received header fields, the &amp;quot;IPv6:&amp;quot; prefix is stripped from
&lt;br&gt;&amp;nbsp; IPv6 addresses, and &amp;quot;::ffff:&amp;quot; is removed from IPv6-mapped IPv4 addresses
&lt;br&gt;&amp;nbsp; (so strings can match them as simply IPv4 addresses);
&lt;br&gt;&lt;br&gt;- ::1/128 is always included in the trusted_networks/internal_networks set
&lt;br&gt;&amp;nbsp; similar to 127.0.0.0/8;
&lt;br&gt;&lt;br&gt;- some of the IPv6 functionality in SpamAssassin requires that a perl module
&lt;br&gt;&amp;nbsp; IO::Socket::INET6 is available (like accessing a DNS resolver over inet6,
&lt;br&gt;&amp;nbsp; talking to a dccifd host over inet6 socket, SPAMC protocol);
&lt;br&gt;&lt;br&gt;&lt;br&gt;SPAMC
&lt;br&gt;&lt;br&gt;- Mail::SpamAssasin::Client ping may erroneously result in broken pipe;
&lt;br&gt;&amp;nbsp; bump spamc protocol version to 1.5, updated spamd, spamc and Client.pm;
&lt;br&gt;&lt;br&gt;- added -n / --connect-timeout switch to spamc, allowing separate
&lt;br&gt;&amp;nbsp; connection timeout from communication timeout;
&lt;br&gt;&lt;br&gt;- added --filter-retries and --filter-retry-sleep
&lt;br&gt;&lt;br&gt;- increased allowed line length in spamc.conf files to 8 KiB and report
&lt;br&gt;&amp;nbsp; an error when the limit is exceeded
&lt;br&gt;&lt;br&gt;- spamc would not time out connections to a hung spamd, fixed
&lt;br&gt;&lt;br&gt;- spamc client library leaked the zlib compression buffer if compression
&lt;br&gt;&amp;nbsp; is used
&lt;br&gt;&lt;br&gt;- spamc long option '--dest' was broken
&lt;br&gt;&lt;br&gt;&lt;br&gt;SPAMD
&lt;br&gt;&lt;br&gt;- when spamd is started with the daemonize option do not exit the parent
&lt;br&gt;&amp;nbsp; until a child signals that it has logged the pid, to allow a wrapper
&lt;br&gt;&amp;nbsp; script to simply continue immediately after starting spamd;
&lt;br&gt;&lt;br&gt;- additional tempfile cleanup in kill_handler;
&lt;br&gt;&lt;br&gt;- added SPAMD_LOCALHOST option to &amp;quot;make test&amp;quot; to allow specifying
&lt;br&gt;&amp;nbsp; non-127.0.0.1 IP address for use in FreeBSD jail
&lt;br&gt;&lt;br&gt;&lt;br&gt;API
&lt;br&gt;&lt;br&gt;- adding one optional argument to Mail::SpamAssassin::parse allows caller
&lt;br&gt;&amp;nbsp; to pass additional out-of-band information to SpamAssassin (such as a
&lt;br&gt;&amp;nbsp; deadline time, DKIM verification results, information about a SMTP session,
&lt;br&gt;&amp;nbsp; or dynamic rule hits); this information is made available to plugins and
&lt;br&gt;&amp;nbsp; the rest of the code through a 'suppl_attrib' hash;
&lt;br&gt;&lt;br&gt;- Plugin::Check - pick up 'rule_hits' from caller via the new mechanism
&lt;br&gt;&amp;nbsp; and call got_hit() on them;
&lt;br&gt;&lt;br&gt;- simplified adding dynamic score hits and dynamic rules by plugins
&lt;br&gt;&amp;nbsp; (such as AWL, CRM114, FuzzyOcr, Check) by letting got_hit() accept
&lt;br&gt;&amp;nbsp; options tflags and description, and letting it store a supplied
&lt;br&gt;&amp;nbsp; dynamic score for proper reporting;
&lt;br&gt;&lt;br&gt;- let the timing breakdown information be accessible to a caller through
&lt;br&gt;&amp;nbsp; the existing get_tag mechanism (tag TIMING);
&lt;br&gt;&lt;br&gt;- let the generated header fields ('add_header' configuration options)
&lt;br&gt;&amp;nbsp; be accessible to a caller through the existing get_tag mechanism
&lt;br&gt;&amp;nbsp; (tags ADDEDHEADER, ADDEDHEADERHAM, ADDEDHEADERSPAM);
&lt;br&gt;&lt;br&gt;&lt;br&gt;RULES
&lt;br&gt;&lt;br&gt;- rules are no longer distributed with the package;
&lt;br&gt;&lt;br&gt;- new scores have been generated by a GA algorithm and then manually tweaked,
&lt;br&gt;&amp;nbsp; based on cleaned datasets supplied by a dozen of volunteers;
&lt;br&gt;&lt;br&gt;- dropped redundant rules or rules causing too many false positives;
&lt;br&gt;&lt;br&gt;- added or updated many rules; incomplete list in no particular order:
&lt;br&gt;&amp;nbsp; vbounce, lotsa_money, muchmoney, image spam, fill_this_form, FreeMail,
&lt;br&gt;&amp;nbsp; European Parliament, HTML attachments, uri_obfu*, urinsrhsbl, urinsrhssub,
&lt;br&gt;&amp;nbsp; urifullnsrhsbl, URI_OBFU_X9_WS, rDNS=localhost, INVALID_DATE_TZ_ABSURD,
&lt;br&gt;&amp;nbsp; KHOP_SC, RCVD_IN_PSBL, FRT_VALIUM*, BOUNCE_MESSAGE, VBOUNCE_MESSAGE,
&lt;br&gt;&amp;nbsp; __BOUNCE_UNDELIVERABLE, HELO_STATIC_HOST, FILL_THIS_FORM_FRAUD_PHISH,
&lt;br&gt;&amp;nbsp; CHALLENGE_RESPONSE, DKIM_VALID, DKIM_VALID_AU, DKIM_ADSP_*,
&lt;br&gt;&amp;nbsp; NML_ADSP_CUSTOM_{LOW,MED,HIGH}, __VIA_ML, MIME_BASE64_TEXT, LOTTO_URI,
&lt;br&gt;&amp;nbsp; FORGED_MUA_THEBAT_BOUN, FORGED_MUA_THEBAT_CS, UNRESOLVED_TEMPLATE,
&lt;br&gt;&amp;nbsp; __THEBAT_MUA, __ANY_OUTLOOK_MUA, RP_MATCHES_RCVD, one-word X-Mailer,
&lt;br&gt;&amp;nbsp; advance_fee update, tweak SPAN rules, tweak skype and misquoted-HTML rules,
&lt;br&gt;&amp;nbsp; added some new HTML obfuscation and Google feedproxy URI rules, 
&lt;br&gt;&amp;nbsp; tweak reevolved advance fee second-order metarules,
&lt;br&gt;&amp;nbsp; added a test rule for postmaster+abuse missing, FROM_MISSPACED, 
&lt;br&gt;&amp;nbsp; fix FROM_CONTAINS_TAB, added Facebook redirector pattern,
&lt;br&gt;&amp;nbsp; avoided ISO-2022-JP FPs on TVD_SPACE_RATIO, GAPPY_SUBJECT, PLING_QUERY
&lt;br&gt;&amp;nbsp; and FM_FRM_RN_L_BRACK rules, FP fix for one-word mails on TVD_SPACE_RATIO,
&lt;br&gt;&amp;nbsp; RATWARE_BOUNDARY plus variant, supersede all previous RATWARE_OUTLOOK
&lt;br&gt;&amp;nbsp; stuff, added exclusion for __ISO_2022_JP_DELIM to OBFUSCATING_COMMENT,
&lt;br&gt;&amp;nbsp; FP in obfuscated URI rule, fixed breakage in tbird image rule, fixed
&lt;br&gt;&amp;nbsp; SUBJECT_FUZZY_MEDS FP on unobfuscated &amp;quot;meds&amp;quot;, added misspaced From header
&lt;br&gt;&amp;nbsp; field rule, numeric+cctld URI rule, ...
&lt;br&gt;&lt;br&gt;- added PSBL blacklist - &lt;a href=&quot;http://psbl.surriel.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://psbl.surriel.com/&lt;/a&gt;&lt;br&gt;&lt;br&gt;- added support for &lt;a href=&quot;http://www.spamhaus.org/css/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.spamhaus.org/css/&lt;/a&gt;&lt;br&gt;&lt;br&gt;- replaces HABEAS, BSP and SSC with RP CERTIFIED;
&lt;br&gt;&lt;br&gt;- use ReturnPath's RNBL, replacing SSBL;
&lt;br&gt;&lt;br&gt;- added rule for plain text attachments with octet-stream MIME type;
&lt;br&gt;&lt;br&gt;- avoided false positives on ISO-2022-JP messages in several rules;
&lt;br&gt;&lt;br&gt;- removed massmailers from uridnsbl_skip_domain in 25_uribl.cf;
&lt;br&gt;&lt;br&gt;- updated various default whitelists, uridnsbl_skip_domain, adsp_override, ...
&lt;br&gt;&lt;br&gt;&lt;br&gt;PLUGINS
&lt;br&gt;&lt;br&gt;- new plugins: FreeMail, PhishTag, Reuse
&lt;br&gt;&amp;nbsp; 
&lt;br&gt;- now enabled by default: DKIM
&lt;br&gt;&lt;br&gt;- now disabled by default: AWL
&lt;br&gt;&lt;br&gt;- retired plugin: DomainKeys
&lt;br&gt;&lt;br&gt;&lt;br&gt;AWL PLUGIN
&lt;br&gt;&lt;br&gt;- plugin AWL is now disabled by default;
&lt;br&gt;&lt;br&gt;- added new configuration options auto_whitelist_ipv4_mask_len and
&lt;br&gt;&amp;nbsp; auto_whitelist_ipv6_mask_len to allow more control on what part of
&lt;br&gt;&amp;nbsp; an IP address is stored into an AWL database;
&lt;br&gt;&lt;br&gt;- README.awl: increased a suggested awl.ip field width to 40 characters
&lt;br&gt;&amp;nbsp; to support IPv6 addresses;
&lt;br&gt;&lt;br&gt;- AutoWhitelist.pm: allowed storing a canonicalized IPv6 address, cropped
&lt;br&gt;&amp;nbsp; to a configurable network mask (previously causing SQL server errors:
&lt;br&gt;&amp;nbsp; 'value too long')
&lt;br&gt;&lt;br&gt;- let AWL with SQL keep separate records for DKIM-signed and unsigned mail
&lt;br&gt;&amp;nbsp; (when auto_whitelist_distinguish_signed configuration option is true,
&lt;br&gt;&amp;nbsp; and a field awl.signedby exists);
&lt;br&gt;&lt;br&gt;- avoided a race condition in SQLBasedAddrList.pm when multiple processes
&lt;br&gt;&amp;nbsp; try to insert-or-update an awl SQL record: trying INSERT first, and if
&lt;br&gt;&amp;nbsp; that fails go for UPDATE;
&lt;br&gt;&lt;br&gt;- gracefully handle NaN from corrupted database or a broken emulator or
&lt;br&gt;&amp;nbsp; virtualizer;
&lt;br&gt;&lt;br&gt;&lt;br&gt;DCC PLUGIN
&lt;br&gt;&lt;br&gt;- added support for DCC reputations, added setting dcc_rep_percent,
&lt;br&gt;&amp;nbsp; new test check_dcc_reputation_range(), new tag DCCREP
&lt;br&gt;&amp;nbsp; (DCC servers supply reputation data only to licensed clients);
&lt;br&gt;&lt;br&gt;- allowed usage of a remote dccifd host through an INET or INET6 socket;
&lt;br&gt;&lt;br&gt;&lt;br&gt;DKIM PLUGIN
&lt;br&gt;&lt;br&gt;- the plugin is now enabled by default;
&lt;br&gt;&lt;br&gt;- absolute minimal version of Mail::DKIM is 0.31;
&lt;br&gt;&amp;nbsp; support for ADSP requires Mail::DKIM 0.34;
&lt;br&gt;&amp;nbsp; a DNS test (and rule) for NXDOMAIN is operational since Mail::DKIM 0.36_5
&lt;br&gt;&lt;br&gt;- a perl module Digest::SHA is required if the DKIM plugin is enabled
&lt;br&gt;&amp;nbsp; (if a perl module Digest::SHA is available, the module Digest::SHA1
&lt;br&gt;&amp;nbsp; becomes optional as far as SpamAssassin is concerned (but is still
&lt;br&gt;&amp;nbsp; needed by Razor agents));
&lt;br&gt;&lt;br&gt;- added support for multiple signatures (useful for whitelisting);
&lt;br&gt;&lt;br&gt;- plugin now distinguishes author domain signatures from third party
&lt;br&gt;&amp;nbsp; signatures (useful for whitelisting);
&lt;br&gt;&lt;br&gt;- provides a tag DKIMIDENTITY (in addition to DKIMDOMAIN);
&lt;br&gt;&lt;br&gt;- DKIM now supports Author Domain Signing Practices - ADSP (RFC 5617);
&lt;br&gt;&lt;br&gt;- use the Mail::DKIM::AuthorDomainPolicy instead of Mail::DKIM::DkimPolicy,
&lt;br&gt;&amp;nbsp; when available (since Mail::DKIM 0.34);
&lt;br&gt;&lt;br&gt;- implements an 'adsp_override' configuration directive and adds
&lt;br&gt;&amp;nbsp; an eval:check_dkim_adsp check, which is used by new DKIM_ADSP_* rules;
&lt;br&gt;&lt;br&gt;- rules contain an initial set of 'adsp_override' directives, listing
&lt;br&gt;&amp;nbsp; some of the more popular target domains for phishing (applicable only to
&lt;br&gt;&amp;nbsp; domains which sign all their direct mail with a DKIM or DK signature);
&lt;br&gt;&lt;br&gt;- this plugin can now re-use Mail::DKIM verification results if made
&lt;br&gt;&amp;nbsp; available by a caller, which saves resources and makes it possible
&lt;br&gt;&amp;nbsp; for SpamAssassin to work on a truncated large mail without breaking
&lt;br&gt;&amp;nbsp; DKIM signatures;
&lt;br&gt;&lt;br&gt;- check_dkim_signed and check_dkim_adsp eval rules can now take an optional
&lt;br&gt;&amp;nbsp; list of domain names, which limits their action to listed domains only.
&lt;br&gt;&amp;nbsp; It facilitates building DKIM-based rules for specific domains, without
&lt;br&gt;&amp;nbsp; having to resort to meta rules;
&lt;br&gt;&lt;br&gt;- draft-ietf-dkim-ssp-10/RFC-5617 made Author Domain Signature based on 'd':
&lt;br&gt;&amp;nbsp; updated ADSP code accordingly; changed whitelisting code to be based on
&lt;br&gt;&amp;nbsp; SDID ('d') instead of AUID ('i');
&lt;br&gt;&lt;br&gt;- Plugin/DKIM.pm: terminology changes in comments and logging according
&lt;br&gt;&amp;nbsp; to RFC 5617 and draft-ietf-dkim-rfc4871-errata-07;
&lt;br&gt;&lt;br&gt;&lt;br&gt;BUG FIXES
&lt;br&gt;&lt;br&gt;- fixed Rule2XSBody segfaults;
&lt;br&gt;&lt;br&gt;- no longer treat user data as perl booleans (a string &amp;quot;0&amp;quot; is a false);
&lt;br&gt;&lt;br&gt;- avoid data from the wild be interpreted as perl regular expressions;
&lt;br&gt;&lt;br&gt;- ArchiveIterator: prevent _scan_directory from passing directories
&lt;br&gt;&amp;nbsp; to _scan_file (on NFS it would fail with EISDIR on read(2);
&lt;br&gt;&lt;br&gt;- fixed vpopmail support;
&lt;br&gt;&lt;br&gt;- fixed incorrect mode bits when creating lock files for AWL;
&lt;br&gt;&lt;br&gt;- fixed some cases where :addr headers were parsed incorrectly;
&lt;br&gt;&lt;br&gt;- fixed leakage of 'whitelist_from_rcvd' entries between spamd users;
&lt;br&gt;&lt;br&gt;- fixing run_and_catch, which failed to catch a non-timed run;
&lt;br&gt;&lt;br&gt;- 127/8 isn't an illegal IP;
&lt;br&gt;&lt;br&gt;- reworked the M::S::Timeout module to deal with nested timers as one would
&lt;br&gt;&amp;nbsp; expect: an inner timer shouldn't be able to extend an outer timer's limit;
&lt;br&gt;&amp;nbsp; account for time elapsed in the submitted subroutine when restarting an
&lt;br&gt;&amp;nbsp; outer timer; reset() should have accounted for time already spent;
&lt;br&gt;&amp;nbsp; deal with nested timed runs where alarm(0) does not provide remaining time;
&lt;br&gt;&lt;br&gt;- the 'exists:' evaluator in HEADER rules now works as documented
&lt;br&gt;&amp;nbsp; and tests for existence of a header field, instead of testing for
&lt;br&gt;&amp;nbsp; a header field body being nonempty; internally, the pms-&amp;gt;get can
&lt;br&gt;&amp;nbsp; also now distinguish between empty and nonexistent header fields;
&lt;br&gt;&lt;br&gt;- applied fixes to header fields parsing in several places: header field
&lt;br&gt;&amp;nbsp; names are case-insensitive, whitespace is not required after a colon,
&lt;br&gt;&amp;nbsp; obsolete rfc822 syntax allowed whitespace before a colon;
&lt;br&gt;&amp;nbsp; VBounce: match &amp;quot;Received:&amp;quot; only at the beginning of a line;
&lt;br&gt;&lt;br&gt;- fixed bug 6237: 2.0.0.0/8 is now an allocated address range,
&lt;br&gt;&amp;nbsp; fixed RCVD_ILLEGAL_IP with IP 2.0.0.0/8 (and 223.0.0.0/8);
&lt;br&gt;&lt;br&gt;- fixed bug 6205 comment 5 in URIDetail.pm;
&lt;br&gt;&lt;br&gt;- 'pyzor_options' in Plugin/Pyzor.pm was not untainted;
&lt;br&gt;&lt;br&gt;- URIDetail plugin was not taint safe, fixed;
&lt;br&gt;&lt;br&gt;- fixed parsing of multi-line Received header fields for
&lt;br&gt;&amp;nbsp; BOUNCE_MESSAGE/VBOUNCE_MESSAGE et al;
&lt;br&gt;&lt;br&gt;- Bug 6206, Bug 2536: spamd: untaint directory as obtained from a password
&lt;br&gt;&amp;nbsp; file or from vpopmail utilities, avoid implicit untainting; report error
&lt;br&gt;&amp;nbsp; if user preferences file exists but cannot be accessed;
&lt;br&gt;&lt;br&gt;- avoid using raw data from DNS as a regexp in Plugin/ASN.pm;
&lt;br&gt;&lt;br&gt;- ensured the dbg() and info() calls always return the same value (true)
&lt;br&gt;&amp;nbsp; regardless of log level;
&lt;br&gt;&lt;br&gt;- suppress logging of $&amp; when its value is not available (i.e. when
&lt;br&gt;&amp;nbsp; no regexp has been evaluated during rule evaluation);
&lt;br&gt;&lt;br&gt;- Exporter never really worked in SA, was not enclosed in BEGIN {};
&lt;br&gt;&lt;br&gt;- masses/runGA and masses/mk-baseline-results: prevent a shell 'source'
&lt;br&gt;&amp;nbsp; command from loading an unrelated file named 'config' which happens to be
&lt;br&gt;&amp;nbsp; in the current PATH - must use a ./ in an arg to a 'source' command;
&lt;br&gt;&lt;br&gt;&lt;br&gt;ERROR HANDLING, ROBUSTNESS
&lt;br&gt;&lt;br&gt;- improved error detection and reporting: test status of all system calls
&lt;br&gt;&amp;nbsp; and I/O operations (or explicitly document where not), and report
&lt;br&gt;&amp;nbsp; unexpected failures;
&lt;br&gt;&lt;br&gt;- eval calls now check for eval result instead of testing the $@, which
&lt;br&gt;&amp;nbsp; is not always reliable;
&lt;br&gt;&lt;br&gt;- localized $@ and $! in DESTROY methods to prevent potential calls to eval
&lt;br&gt;&amp;nbsp; and calls to system routines in code executed from a DESTROY method
&lt;br&gt;&amp;nbsp; from clobbering global variables $@ and $!;
&lt;br&gt;&lt;br&gt;- Util::helper_app_pipe_open_unix: contain a failing exec with an eval
&lt;br&gt;&amp;nbsp; to prevent additional cases of process cloning. The exec could fail
&lt;br&gt;&amp;nbsp; this way when given tainted arguments;
&lt;br&gt;&lt;br&gt;- Util::helper_app_pipe_open_unix: flush stdout and stderr before forking,
&lt;br&gt;&amp;nbsp; otherwise an error reported by exec (such as 'insecure dependency')
&lt;br&gt;&amp;nbsp; was lost in a buffer;
&lt;br&gt;&lt;br&gt;- eval-protected an open($fh,'-|') to capture implied fork failures
&lt;br&gt;&amp;nbsp; due to lack of system resource;
&lt;br&gt;&lt;br&gt;- explicit untainting: combine &amp;quot;use re 'taint'&amp;quot; with untaint_var(),
&lt;br&gt;&amp;nbsp; avoiding implicit perl untainting, along with workarounds to prevent it;
&lt;br&gt;&lt;br&gt;- added 'use strict' where missing;
&lt;br&gt;&lt;br&gt;- avoided a bunch of warnings on &amp;quot;Use of uninitialized value&amp;quot;
&lt;br&gt;&lt;br&gt;- clearly report reasons for helper application process failures
&lt;br&gt;&lt;br&gt;- t/SATest.pm: provide information about the process failure reason
&lt;br&gt;&amp;nbsp; if a system() call fails; &amp;nbsp;improved its reporting of failures;
&lt;br&gt;&lt;br&gt;- improved error reporting in Plugin/DCC.pm on finding a DCC home directory
&lt;br&gt;&amp;nbsp; to facilitate troubleshooting;
&lt;br&gt;&lt;br&gt;&lt;br&gt;OTHER CHANGES
&lt;br&gt;&lt;br&gt;- pseudoheader &amp;quot;ALL:raw&amp;quot; returns a pristine header section,
&lt;br&gt;&amp;nbsp; and pseudoheader &amp;quot;ALL&amp;quot; returns a cleaned header section
&lt;br&gt;&lt;br&gt;- total rewrite of URI detection in plain text body;
&lt;br&gt;&lt;br&gt;- many updates to the list of top level domains;
&lt;br&gt;&lt;br&gt;- added 'util_rb_3tld', allowing 3-level TLDs to be listed in URIBLs and
&lt;br&gt;&amp;nbsp; allowing new 3TLDs to be added from rule updates;
&lt;br&gt;&lt;br&gt;- avoided trusted_networks bog down due to O(n^2) loop with millions
&lt;br&gt;&amp;nbsp; of entries;
&lt;br&gt;&lt;br&gt;- applied fixes to Plugin/VBounce.pm, updated VBounce ruleset;
&lt;br&gt;&lt;br&gt;- added support for a 'Communigate Pro' Received header field;
&lt;br&gt;&lt;br&gt;- parse Communigate Pro &amp;quot;with HTTPU&amp;quot; auth token;
&lt;br&gt;&lt;br&gt;- let DependencyInfo.pm understand a concept of recommended module version,
&lt;br&gt;&amp;nbsp; besides a required version;
&lt;br&gt;&lt;br&gt;- provided a workaround for Net::DNS::Packet::new inconsistency;
&lt;br&gt;&lt;br&gt;- let SpamAssassin use either Digest::SHA or Digest::SHA1, whichever is
&lt;br&gt;&amp;nbsp; available (the Digest::SHA is now a base module since perl 5.10.0);
&lt;br&gt;&lt;br&gt;- improved parsing of eval-type rules: allow unquoted domain names,
&lt;br&gt;&amp;nbsp; disallow unmatched quotes;
&lt;br&gt;&lt;br&gt;- provided a new module Mail::SpamAssassin::BayesStore::BDB. It should be
&lt;br&gt;&amp;nbsp; treated as alpha-quality (needs more testing) and is not yet ready for
&lt;br&gt;&amp;nbsp; production use;
&lt;br&gt;&lt;br&gt;- exposed existing function 'received_within_months' as an eval function
&lt;br&gt;&amp;nbsp; in Plugin/HeaderEval.pm;
&lt;br&gt;&lt;br&gt;- use /var/lock/subsys/spamd instead of /var/lock/subsys/spamassassin for
&lt;br&gt;&amp;nbsp; rc script, so that 'service spamd status' will work;
&lt;br&gt;&lt;br&gt;- re-download MIRRRORED.BY files at least once a week, or if
&lt;br&gt;&amp;nbsp; 'sa-update --refreshmirrors' switch is used;
&lt;br&gt;&lt;br&gt;- input delimiter $/ can be corrupted by a plugin, localize $/ and $\ before
&lt;br&gt;&amp;nbsp; calling a plugin;
&lt;br&gt;&lt;br&gt;- takes almost a minute to start spamd on a slow machine, bumped up the
&lt;br&gt;&amp;nbsp; retry counter to 180 seconds;
&lt;br&gt;&lt;br&gt;- resolved Bug 5325: syslog severity level in spamc/libspamc.c for max
&lt;br&gt;&amp;nbsp; message size (changed LOG_ERR into LOG_NOTICE for the message:
&lt;br&gt;&amp;nbsp; &amp;quot;skipped message, greater than max message size&amp;quot;);
&lt;br&gt;&lt;br&gt;- avoid taint warnings if hostname is returned as '(none)';
&lt;br&gt;&lt;br&gt;- produce an error message if an sa-update channel doesn't exist;
&lt;br&gt;&lt;br&gt;- Bug 6150, Bug 6127, Bug 5981, Bug 5950, Bug 6191: let spamd log/report
&lt;br&gt;&amp;nbsp; a child process exit status or aborting condition in an informative way;
&lt;br&gt;&lt;br&gt;- detect accidental match-everything regexps in rules;
&lt;br&gt;&lt;br&gt;- updated garescorer for 3.3.0: use more epochs in GA runs for better scores;
&lt;br&gt;&amp;nbsp; clarify some mass-check warning output, ensure rule name always appears at
&lt;br&gt;&amp;nbsp; start of line; if a rule had no default/existing score in 50_scores.cf,
&lt;br&gt;&amp;nbsp; don't tell the GA that 1.0 is an appropriate default value, instead pick
&lt;br&gt;&amp;nbsp; the midway point of its score range. this produces better results;
&lt;br&gt;&amp;nbsp; remove some dead code from masses/score-ranges-from-freqs;
&lt;br&gt;&lt;br&gt;- report performance as iterations per second in garescorer.c;
&lt;br&gt;&lt;br&gt;- added test to ensure that all config settings are correctly handled when
&lt;br&gt;&amp;nbsp; switching between users; added more config setting type metadata to enable
&lt;br&gt;&amp;nbsp; those tests to work; and fix URIDetail to store config on the {conf} object,
&lt;br&gt;&amp;nbsp; not on the plugin;
&lt;br&gt;&lt;br&gt;- moved 'release tests' to xt/ directory; mirror long-running, net-tests and
&lt;br&gt;&amp;nbsp; stress tests with xt/50_testname.t scripts to enforce their run before a
&lt;br&gt;&amp;nbsp; release;
&lt;br&gt;&lt;br&gt;- numerous additional and updated self-tests;
&lt;br&gt;&lt;br&gt;- added a Test::Perl::Critic release-test;
&lt;br&gt;&lt;br&gt;- some code cleanups based on suggestions by a perl module Test::Perl::Critic,
&lt;br&gt;&amp;nbsp; among others:
&lt;br&gt;&amp;nbsp; . enable TestingAndDebugging::ProhibitNoStrict test but allow the
&lt;br&gt;&amp;nbsp; &amp;nbsp; use of 'no strict &amp;quot;refs&amp;quot;';
&lt;br&gt;&amp;nbsp; . deal with BuiltinFunctions::RequireGlobFunction;
&lt;br&gt;&amp;nbsp; . deal with ControlStructures::ProhibitMutatingListFunctions
&lt;br&gt;&amp;nbsp; &amp;nbsp; removing this exception from xt/60_perlcritic.t;
&lt;br&gt;&amp;nbsp; . deal with BayesStore/BDB.pm, Variables::ProhibitConditionalDeclarations
&lt;br&gt;&amp;nbsp; . now that the module Time::HiRes is a required module, we can afford
&lt;br&gt;&amp;nbsp; &amp;nbsp; to replace a select() with Time::HiRes::sleep, and remove exception
&lt;br&gt;&amp;nbsp; &amp;nbsp; BuiltinFunctions::ProhibitSleepViaSelect from xt/60_perlcritic.t
&lt;br&gt;&lt;br&gt;- documentation was updated, fixing numerous typos and mistakes in
&lt;br&gt;&amp;nbsp; documentation text and in log messages;
&lt;br&gt;&lt;br&gt;- extensive improvements to development process:
&lt;br&gt;&amp;nbsp; automated testing through Hudson, improvements to mass-check and rules
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/PROPOSED%3A-Apache-SpamAssassin-3.3.0-rc1.proposed1-tp26852049p26852049.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26850089</id>
	<title>Re: timeout.t test failure</title>
	<published>2009-12-18T13:40:30Z</published>
	<updated>2009-12-18T13:40:30Z</updated>
	<author>
		<name>Warren Togami</name>
	</author>
	<content type="html">On 12/18/2009 04:24 PM, Warren Togami wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; t/timeout.........................ok 15/33# Failed test 16 in
&lt;br&gt;&amp;gt; t/timeout.t at line 99
&lt;br&gt;&amp;gt; t/timeout.........................FAILED test 16
&lt;br&gt;&amp;gt; Failed 1/33 tests, 96.97% okay
&lt;br&gt;&amp;gt; &amp;lt;snip&amp;gt;
&lt;br&gt;&amp;gt; Failed Test Stat Wstat Total Fail Failed List of Failed
&lt;br&gt;&amp;gt; -------------------------------------------------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; t/timeout.t 33 1 3.03% 16
&lt;br&gt;&amp;gt; 61 tests skipped.
&lt;br&gt;&amp;gt; Failed 1/159 test scripts, 99.37% okay. 1/1980 subtests failed, 99.95%
&lt;br&gt;&amp;gt; okay.
&lt;br&gt;&amp;gt; make: *** [test_dynamic] Error 255
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This failure happens on:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; perl-5.8.8-27.el5.x86_64
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; All tests pass with:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; perl-5.10.0-82.fc12.x86_64
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Warren
&lt;/div&gt;&lt;br&gt;I've run the test a dozen more times and I can't reproduce the failure. 
&lt;br&gt;Sigh.
&lt;br&gt;&lt;br&gt;Warren
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/timeout.t-test-failure-tp26849924p26850089.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26849924</id>
	<title>timeout.t test failure</title>
	<published>2009-12-18T13:24:15Z</published>
	<updated>2009-12-18T13:24:15Z</updated>
	<author>
		<name>Warren Togami</name>
	</author>
	<content type="html">t/timeout.........................ok 15/33# Failed test 16 in 
&lt;br&gt;t/timeout.t at line 99
&lt;br&gt;t/timeout.........................FAILED test 16 
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Failed 1/33 tests, 96.97% okay
&lt;br&gt;&amp;lt;snip&amp;gt;
&lt;br&gt;Failed Test Stat Wstat Total Fail &amp;nbsp;Failed &amp;nbsp;List of Failed
&lt;br&gt;-------------------------------------------------------------------------------
&lt;br&gt;t/timeout.t &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 33 &amp;nbsp; &amp;nbsp;1 &amp;nbsp; 3.03% &amp;nbsp;16
&lt;br&gt;61 tests skipped.
&lt;br&gt;Failed 1/159 test scripts, 99.37% okay. 1/1980 subtests failed, 99.95% okay.
&lt;br&gt;make: *** [test_dynamic] Error 255
&lt;br&gt;&lt;br&gt;This failure happens on:
&lt;br&gt;&lt;br&gt;perl-5.8.8-27.el5.x86_64
&lt;br&gt;&lt;br&gt;All tests pass with:
&lt;br&gt;&lt;br&gt;perl-5.10.0-82.fc12.x86_64
&lt;br&gt;&lt;br&gt;Warren
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/timeout.t-test-failure-tp26849924p26849924.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26849786</id>
	<title>Re: pyzor error during spamd startup</title>
	<published>2009-12-18T13:11:45Z</published>
	<updated>2009-12-18T13:11:45Z</updated>
	<author>
		<name>Warren Togami</name>
	</author>
	<content type="html">On 12/18/2009 04:10 PM, Kevin A. McGrail wrote:
&lt;br&gt;&amp;gt; Why is pyzor running as root?
&lt;br&gt;&lt;br&gt;It isn't. &amp;nbsp;This seems to be some self-tests during spamd startup. &amp;nbsp;The 
&lt;br&gt;real pyzor launched by spamd runs as the spamc user.
&lt;br&gt;&lt;br&gt;Warren
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/pyzor-error-during-spamd-startup-tp26848590p26849786.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26849771</id>
	<title>Re: pyzor error during spamd startup</title>
	<published>2009-12-18T13:10:31Z</published>
	<updated>2009-12-18T13:10:31Z</updated>
	<author>
		<name>Kevin A. McGrail</name>
	</author>
	<content type="html">﻿&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0 Transitional//EN&quot;&gt;
&lt;HTML&gt;&lt;HEAD&gt;
&lt;META content=&quot;text/html; charset=utf-8&quot; http-equiv=Content-Type&gt;
&lt;META name=GENERATOR content=&quot;MSHTML 8.00.6001.18854&quot;&gt;

&lt;/HEAD&gt;
&lt;BODY bgColor=#ffffff&gt;
&lt;DIV&gt;&lt;FONT size=2 face=Arial&gt;Why is pyzor running as root?&amp;nbsp;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;BLOCKQUOTE style=&quot;BORDER-LEFT: #000000 2px solid; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px&quot;&gt;
  &lt;DIV style=&quot;FONT: 10pt arial&quot;&gt;----- Original Message ----- &lt;/DIV&gt;
  &lt;DIV style=&quot;FONT: 10pt arial; BACKGROUND: #e4e4e4; font-color: black&quot;&gt;&lt;B&gt;From:&lt;/B&gt; 
  &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26849771&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jm@...&lt;/a&gt; &lt;/DIV&gt;
  &lt;DIV style=&quot;FONT: 10pt arial&quot;&gt;&lt;B&gt;To:&lt;/B&gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26849771&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;wtogami@...&lt;/a&gt; &lt;/DIV&gt;
  &lt;DIV style=&quot;FONT: 10pt arial&quot;&gt;&lt;B&gt;Cc:&lt;/B&gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26849771&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mark.Martinec+sa@...&lt;/a&gt; ; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26849771&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev@...&lt;/a&gt; &lt;/DIV&gt;
  &lt;DIV style=&quot;FONT: 10pt arial&quot;&gt;&lt;B&gt;Sent:&lt;/B&gt; Friday, December 18, 2009 4:07 
  PM&lt;/DIV&gt;
  &lt;DIV style=&quot;FONT: 10pt arial&quot;&gt;&lt;B&gt;Subject:&lt;/B&gt; Re: pyzor error during spamd 
  startup&lt;/DIV&gt;
  &lt;DIV&gt;&lt;BR&gt;&lt;/DIV&gt;it should be harmless, btw, since this is just the 
  preloading-modules step.&amp;nbsp; Ugly, though.&lt;BR&gt;&lt;BR&gt;
  &lt;DIV class=gmail_quote&gt;On Fri, Dec 18, 2009 at 20:53, Warren Togami &lt;SPAN dir=ltr&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26849771&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;wtogami@...&lt;/a&gt;&amp;gt;&lt;/SPAN&gt; wrote:&lt;BR&gt;
  &lt;BLOCKQUOTE style=&quot;BORDER-LEFT: rgb(204,204,204) 1px solid; MARGIN: 0pt 0pt 0pt 0.8ex; PADDING-LEFT: 1ex&quot; class=gmail_quote&gt;
    &lt;DIV&gt;
    &lt;DIV&gt;&lt;/DIV&gt;
    &lt;DIV class=h5&gt;On 12/18/2009 03:24 PM, Mark Martinec wrote:&lt;BR&gt;
    &lt;BLOCKQUOTE style=&quot;BORDER-LEFT: rgb(204,204,204) 1px solid; MARGIN: 0pt 0pt 0pt 0.8ex; PADDING-LEFT: 1ex&quot; class=gmail_quote&gt;
      &lt;BLOCKQUOTE style=&quot;BORDER-LEFT: rgb(204,204,204) 1px solid; MARGIN: 0pt 0pt 0pt 0.8ex; PADDING-LEFT: 1ex&quot; class=gmail_quote&gt;There is no error running pyzor directly or via 
        spamassassin -D. &amp;nbsp;It is&lt;BR&gt;only reporting an error during spamd 
        startup.&lt;BR&gt;&lt;/BLOCKQUOTE&gt;&lt;BR&gt;Perhaps spamd is running under a different 
      uid that your command-line tests?&lt;BR&gt;&lt;BR&gt;Run tests under the same uid 
      under which spamd will be running:&lt;BR&gt;&amp;nbsp; su vscan -c 'spamassassin -D 
      -t&amp;lt;0.msg'&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;Mark&lt;BR&gt;&lt;/BLOCKQUOTE&gt;&lt;BR&gt;&lt;/DIV&gt;&lt;/DIV&gt;Dec 18 15:49:55 
    localhost spamd[5096]: pyzor: opening pipe: /usr/bin/pyzor check &amp;lt; 
    /tmp/.spamassassin5096Y9v0nmtmp&lt;BR&gt;Dec 18 15:49:55 localhost spamd[5097]: 
    util: setuid: ruid=0 euid=0&lt;BR&gt;Dec 18 15:49:55 localhost spamd[5096]: pyzor: 
    [5097] finished: exit 1&lt;BR&gt;Dec 18 15:49:55 localhost spamd[5096]: pyzor: got 
    response: Traceback (most recent call last):\n File &quot;/usr/bin/pyzor&quot;, line 
    8, in &amp;lt;module&amp;gt;\n pyzor.client.run()\n File 
    &quot;/usr/lib/python2.6/site-packages/pyzor&lt;BR&gt;/client.py&quot;, line 1022, in run\n 
    ExecCall().run()\n File &quot;/usr/lib/python2.6/site-packages/pyzor/client.py&quot;, 
    line 180, in run\n os.mkdir(homedir)\nOSError: [Errno 13] Permission denied: 
    '/root/.pyzor'&lt;BR&gt;Dec 18 15:49:55 localhost spamd[5096]: info: leaving 
    helper-app run mode&lt;BR&gt;Dec 18 15:49:55 localhost spamd[5096]: pyzor: check 
    failed: internal error, python traceback seen in response&lt;BR&gt;&lt;BR&gt;This is a 
    pyzor + selinux bug, not spamassassin's fault. &amp;nbsp;We have a go for 
    spamassassin-3.3.0-rc1. &amp;nbsp;Doing some further tests before 
    cutting.&lt;BR&gt;&lt;FONT color=#888888&gt;&lt;BR&gt;Warren&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/BLOCKQUOTE&gt;&lt;/DIV&gt;&lt;BR&gt;&lt;BR clear=all&gt;&lt;BR&gt;-- &lt;BR&gt;--j.&lt;BR&gt;&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/pyzor-error-during-spamd-startup-tp26848590p26849771.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26849745</id>
	<title>Re: pyzor error during spamd startup</title>
	<published>2009-12-18T13:07:28Z</published>
	<updated>2009-12-18T13:07:28Z</updated>
	<author>
		<name>Justin Mason</name>
	</author>
	<content type="html">it should be harmless, btw, since this is just the preloading-modules step.  Ugly, though.&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Fri, Dec 18, 2009 at 20:53, Warren Togami &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26849745&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;wtogami@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;
&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;On 12/18/2009 03:24 PM, Mark Martinec wrote:&lt;br&gt;
&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;

There is no error running pyzor directly or via spamassassin -D.  It is&lt;br&gt;
only reporting an error during spamd startup.&lt;br&gt;
&lt;/blockquote&gt;
&lt;br&gt;
Perhaps spamd is running under a different uid that your command-line tests?&lt;br&gt;
&lt;br&gt;
Run tests under the same uid under which spamd will be running:&lt;br&gt;
   su vscan -c &amp;#39;spamassassin -D -t&amp;lt;0.msg&amp;#39;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Mark&lt;br&gt;
&lt;/blockquote&gt;
&lt;br&gt;&lt;/div&gt;&lt;/div&gt;
Dec 18 15:49:55 localhost spamd[5096]: pyzor: opening pipe: /usr/bin/pyzor check &amp;lt; /tmp/.spamassassin5096Y9v0nmtmp&lt;br&gt;
Dec 18 15:49:55 localhost spamd[5097]: util: setuid: ruid=0 euid=0&lt;br&gt;
Dec 18 15:49:55 localhost spamd[5096]: pyzor: [5097] finished: exit 1&lt;br&gt;
Dec 18 15:49:55 localhost spamd[5096]: pyzor: got response: Traceback (most recent call last):\n File &amp;quot;/usr/bin/pyzor&amp;quot;, line 8, in &amp;lt;module&amp;gt;\n pyzor.client.run()\n File &amp;quot;/usr/lib/python2.6/site-packages/pyzor&lt;br&gt;

/client.py&amp;quot;, line 1022, in run\n ExecCall().run()\n File &amp;quot;/usr/lib/python2.6/site-packages/pyzor/client.py&amp;quot;, line 180, in run\n os.mkdir(homedir)\nOSError: [Errno 13] Permission denied: &amp;#39;/root/.pyzor&amp;#39;&lt;br&gt;

Dec 18 15:49:55 localhost spamd[5096]: info: leaving helper-app run mode&lt;br&gt;
Dec 18 15:49:55 localhost spamd[5096]: pyzor: check failed: internal error, python traceback seen in response&lt;br&gt;
&lt;br&gt;
This is a pyzor + selinux bug, not spamassassin&amp;#39;s fault.  We have a go for spamassassin-3.3.0-rc1.  Doing some further tests before cutting.&lt;br&gt;&lt;font color=&quot;#888888&quot;&gt;
&lt;br&gt;
Warren&lt;br&gt;
&lt;br&gt;
&lt;/font&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;&lt;br&gt;-- &lt;br&gt;--j.&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/pyzor-error-during-spamd-startup-tp26848590p26849745.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26849615</id>
	<title>Re: pyzor error during spamd startup</title>
	<published>2009-12-18T12:53:38Z</published>
	<updated>2009-12-18T12:53:38Z</updated>
	<author>
		<name>Warren Togami</name>
	</author>
	<content type="html">On 12/18/2009 03:24 PM, Mark Martinec wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; There is no error running pyzor directly or via spamassassin -D. &amp;nbsp;It is
&lt;br&gt;&amp;gt;&amp;gt; only reporting an error during spamd startup.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Perhaps spamd is running under a different uid that your command-line tests?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Run tests under the same uid under which spamd will be running:
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;su vscan -c 'spamassassin -D -t&amp;lt;0.msg'
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Mark
&lt;/div&gt;&lt;br&gt;Dec 18 15:49:55 localhost spamd[5096]: pyzor: opening pipe: 
&lt;br&gt;/usr/bin/pyzor check &amp;lt; /tmp/.spamassassin5096Y9v0nmtmp
&lt;br&gt;Dec 18 15:49:55 localhost spamd[5097]: util: setuid: ruid=0 euid=0
&lt;br&gt;Dec 18 15:49:55 localhost spamd[5096]: pyzor: [5097] finished: exit 1
&lt;br&gt;Dec 18 15:49:55 localhost spamd[5096]: pyzor: got response: Traceback 
&lt;br&gt;(most recent call last):\n File &amp;quot;/usr/bin/pyzor&amp;quot;, line 8, in &amp;lt;module&amp;gt;\n 
&lt;br&gt;pyzor.client.run()\n File &amp;quot;/usr/lib/python2.6/site-packages/pyzor
&lt;br&gt;/client.py&amp;quot;, line 1022, in run\n ExecCall().run()\n File 
&lt;br&gt;&amp;quot;/usr/lib/python2.6/site-packages/pyzor/client.py&amp;quot;, line 180, in run\n 
&lt;br&gt;os.mkdir(homedir)\nOSError: [Errno 13] Permission denied: '/root/.pyzor'
&lt;br&gt;Dec 18 15:49:55 localhost spamd[5096]: info: leaving helper-app run mode
&lt;br&gt;Dec 18 15:49:55 localhost spamd[5096]: pyzor: check failed: internal 
&lt;br&gt;error, python traceback seen in response
&lt;br&gt;&lt;br&gt;This is a pyzor + selinux bug, not spamassassin's fault. &amp;nbsp;We have a go 
&lt;br&gt;for spamassassin-3.3.0-rc1. &amp;nbsp;Doing some further tests before cutting.
&lt;br&gt;&lt;br&gt;Warren
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/pyzor-error-during-spamd-startup-tp26848590p26849615.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26849218</id>
	<title>Re: pyzor error during spamd startup</title>
	<published>2009-12-18T12:24:41Z</published>
	<updated>2009-12-18T12:24:41Z</updated>
	<author>
		<name>Mark Martinec</name>
	</author>
	<content type="html">&amp;gt; There is no error running pyzor directly or via spamassassin -D. &amp;nbsp;It is
&lt;br&gt;&amp;gt; only reporting an error during spamd startup.
&lt;br&gt;&lt;br&gt;Perhaps spamd is running under a different uid that your command-line tests?
&lt;br&gt;&lt;br&gt;Run tests under the same uid under which spamd will be running:
&lt;br&gt;&amp;nbsp; su vscan -c 'spamassassin -D -t &amp;lt;0.msg'
&lt;br&gt;&lt;br&gt;&lt;br&gt;Mark
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/pyzor-error-during-spamd-startup-tp26848590p26849218.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26848935</id>
	<title>Re: pyzor error during spamd startup</title>
	<published>2009-12-18T12:01:52Z</published>
	<updated>2009-12-18T12:01:52Z</updated>
	<author>
		<name>Warren Togami</name>
	</author>
	<content type="html">On 12/18/2009 02:57 PM, Mark Martinec wrote:
&lt;br&gt;&amp;gt; Try it from a command line: spamassasssin -D -t&amp;lt;0.msg
&lt;br&gt;&amp;gt; which may be able to show more information of a failure.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Also, try it directly: &amp;nbsp;$ pyzor check&amp;lt;0.msg
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Mark
&lt;br&gt;&lt;br&gt;There is no error running pyzor directly or via spamassassin -D. &amp;nbsp;It is 
&lt;br&gt;only reporting an error during spamd startup.
&lt;br&gt;&lt;br&gt;Warren
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/pyzor-error-during-spamd-startup-tp26848590p26848935.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26848868</id>
	<title>Re: pyzor error during spamd startup</title>
	<published>2009-12-18T11:57:21Z</published>
	<updated>2009-12-18T11:57:21Z</updated>
	<author>
		<name>Mark Martinec</name>
	</author>
	<content type="html">&lt;div class='shrinkable-quote'&gt;&amp;gt; Dec 18 14:23:59 localhost spamd[20801]: pyzor: check failed: internal
&lt;br&gt;&amp;gt; error, python traceback seen in response
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Any idea how to see contents of this traceback that spamd reports? &amp;nbsp;This
&lt;br&gt;&amp;gt; apparently has been happening on Fedora 12 since before beta1 and
&lt;br&gt;&amp;gt; continues in svn trunk now. &amp;nbsp;But I don't see this error on RHEL5.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; pyzor does appear to work properly with spamc/spamd with no further
&lt;br&gt;&amp;gt; error messages in syslog. &amp;nbsp;This initial error during spamd startup is
&lt;br&gt;&amp;gt; the only error that appears in the logs.
&lt;/div&gt;&lt;br&gt;Try it from a command line: spamassasssin -D -t &amp;lt;0.msg
&lt;br&gt;which may be able to show more information of a failure.
&lt;br&gt;&lt;br&gt;Also, try it directly: &amp;nbsp;$ pyzor check &amp;lt;0.msg
&lt;br&gt;&lt;br&gt;&amp;nbsp; Mark
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/pyzor-error-during-spamd-startup-tp26848590p26848868.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26848590</id>
	<title>pyzor error during spamd startup</title>
	<published>2009-12-18T11:37:55Z</published>
	<updated>2009-12-18T11:37:55Z</updated>
	<author>
		<name>Warren Togami</name>
	</author>
	<content type="html">Dec 18 14:23:46 localhost spamd[20766]: spamd: server killed by SIGTERM, 
&lt;br&gt;shutting down
&lt;br&gt;Dec 18 14:23:50 localhost spamd[20799]: logger: removing stderr method
&lt;br&gt;Dec 18 14:23:59 localhost spamd[20801]: pyzor: check failed: internal 
&lt;br&gt;error, python traceback seen in response
&lt;br&gt;Dec 18 14:23:59 localhost spamd[20801]: spamd: server started on port 
&lt;br&gt;783/tcp (running version 3.3.0-beta1)
&lt;br&gt;Dec 18 14:23:59 localhost spamd[20801]: spamd: server pid: 20801
&lt;br&gt;Dec 18 14:23:59 localhost spamd[20801]: spamd: server successfully 
&lt;br&gt;spawned child process, pid 20804
&lt;br&gt;Dec 18 14:23:59 localhost spamd[20801]: spamd: server successfully 
&lt;br&gt;spawned child process, pid 20805
&lt;br&gt;Dec 18 14:23:59 localhost spamd[20801]: prefork: child states: IS
&lt;br&gt;Dec 18 14:23:59 localhost spamd[20801]: prefork: child states: II
&lt;br&gt;&lt;br&gt;Any idea how to see contents of this traceback that spamd reports? &amp;nbsp;This 
&lt;br&gt;apparently has been happening on Fedora 12 since before beta1 and 
&lt;br&gt;continues in svn trunk now. &amp;nbsp;But I don't see this error on RHEL5.
&lt;br&gt;&lt;br&gt;pyzor does appear to work properly with spamc/spamd with no further 
&lt;br&gt;error messages in syslog. &amp;nbsp;This initial error during spamd startup is 
&lt;br&gt;the only error that appears in the logs.
&lt;br&gt;&lt;br&gt;Warren Togami
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26848590&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;wtogami@...&lt;/a&gt;
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/pyzor-error-during-spamd-startup-tp26848590p26848590.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26846704</id>
	<title>Re: Reminder:: 3.3.0 pre-release cut: December 17th</title>
	<published>2009-12-18T09:22:01Z</published>
	<updated>2009-12-18T09:22:01Z</updated>
	<author>
		<name>Mark Martinec</name>
	</author>
	<content type="html">&amp;gt; Seconded. &amp;nbsp;I guess I'm spinning the rc1 unless jm wants to do it.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I'm reluctantly going to call the first cut rc1.proposed1 after the
&lt;br&gt;&amp;gt; previous discussion. &amp;nbsp;After the 3 day period has passed with no
&lt;br&gt;&amp;gt; objections then it will be renamed to rc1 and released.
&lt;br&gt;&lt;br&gt;Fine with me.
&lt;br&gt;&lt;br&gt;&lt;br&gt;3.3.0-rc1.txt: mention some of the recent changes
&lt;br&gt;Sending &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;build/announcements/3.3.0-rc1.txt
&lt;br&gt;Committed revision 892319.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; Mark
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Next-3.3.0-pre-release-cut%3A-December-17th-tp26705362p26846704.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26844234</id>
	<title>[Bug 6260] text attachments are not scanned if the MIME type is APPLICATION/OCTET-STREAM</title>
	<published>2009-12-18T06:27:28Z</published>
	<updated>2009-12-18T06:27:28Z</updated>
	<author>
		<name>Bugzilla from bugzilla-daemon@bugzilla.spamassassin.org</name>
	</author>
	<content type="html">&lt;a href=&quot;https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6260&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6260&lt;/a&gt;&lt;br&gt;&lt;br&gt;John Hardin &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26844234&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jhardin@...&lt;/a&gt;&amp;gt; changed:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;What &amp;nbsp; &amp;nbsp;|Removed &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |Added
&lt;br&gt;----------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CC| &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26844234&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jhardin@...&lt;/a&gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;Target Milestone|3.3.1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |Future
&lt;br&gt;&lt;br&gt;--- Comment #2 from John Hardin &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26844234&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jhardin@...&lt;/a&gt;&amp;gt; 2009-12-18 06:27:27 UTC ---
&lt;br&gt;I think I disagree with that yardstick when in most MUAs it's only a
&lt;br&gt;double-click to view the payload, and in most cases the only automatically
&lt;br&gt;visible (and scoreable) content is &amp;quot;please read the attachment&amp;quot;.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Configure bugmail: &lt;a href=&quot;https://issues.apache.org/SpamAssassin/userprefs.cgi?tab=email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/SpamAssassin/userprefs.cgi?tab=email&lt;/a&gt;&lt;br&gt;------- You are receiving this mail because: -------
&lt;br&gt;You are the assignee for the bug.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-Bug-6260--New%3A-text-attachments-are-not-scanned-if-the-MIME-type-is-APPLICATION-OCTET-STREAM-tp26828601p26844234.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26842809</id>
	<title>[Bug 6228] sa-learn --backup is broken</title>
	<published>2009-12-18T04:40:14Z</published>
	<updated>2009-12-18T04:40:14Z</updated>
	<author>
		<name>Bugzilla from bugzilla-daemon@bugzilla.spamassassin.org</name>
	</author>
	<content type="html">&lt;a href=&quot;https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6228&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6228&lt;/a&gt;&lt;br&gt;&lt;br&gt;Mark Martinec &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26842809&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mark.Martinec@...&lt;/a&gt;&amp;gt; changed:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;What &amp;nbsp; &amp;nbsp;|Removed &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |Added
&lt;br&gt;----------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Summary|[review] sa-learn --backup &amp;nbsp;|sa-learn --backup is broken
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|is broken &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Configure bugmail: &lt;a href=&quot;https://issues.apache.org/SpamAssassin/userprefs.cgi?tab=email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/SpamAssassin/userprefs.cgi?tab=email&lt;/a&gt;&lt;br&gt;------- You are receiving this mail because: -------
&lt;br&gt;You are the assignee for the bug.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-Bug-6228--New%3A-sa-learn---backup-is-broken-tp26087656p26842809.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26842804</id>
	<title>[Bug 6228] [review] sa-learn --backup is broken</title>
	<published>2009-12-18T04:40:00Z</published>
	<updated>2009-12-18T04:40:00Z</updated>
	<author>
		<name>Bugzilla from bugzilla-daemon@bugzilla.spamassassin.org</name>
	</author>
	<content type="html">&lt;a href=&quot;https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6228&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6228&lt;/a&gt;&lt;br&gt;&lt;br&gt;Mark Martinec &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26842804&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mark.Martinec@...&lt;/a&gt;&amp;gt; changed:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;What &amp;nbsp; &amp;nbsp;|Removed &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |Added
&lt;br&gt;----------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp;Target Milestone|3.3.0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |3.3.1
&lt;br&gt;&amp;nbsp; Status Whiteboard|needs one more vote &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |
&lt;br&gt;&lt;br&gt;--- Comment #23 from Mark Martinec &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26842804&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mark.Martinec@...&lt;/a&gt;&amp;gt; 2009-12-18 04:39:57 UTC ---
&lt;br&gt;Retargeting for 3.3.1 for a proper permanent fix.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Configure bugmail: &lt;a href=&quot;https://issues.apache.org/SpamAssassin/userprefs.cgi?tab=email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/SpamAssassin/userprefs.cgi?tab=email&lt;/a&gt;&lt;br&gt;------- You are receiving this mail because: -------
&lt;br&gt;You are the assignee for the bug.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-Bug-6228--New%3A-sa-learn---backup-is-broken-tp26087656p26842804.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26842372</id>
	<title>[Bug 6228] [review] sa-learn --backup is broken</title>
	<published>2009-12-18T03:53:17Z</published>
	<updated>2009-12-18T03:53:17Z</updated>
	<author>
		<name>Bugzilla from bugzilla-daemon@bugzilla.spamassassin.org</name>
	</author>
	<content type="html">&lt;a href=&quot;https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6228&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6228&lt;/a&gt;&lt;br&gt;&lt;br&gt;--- Comment #22 from Mark Martinec &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26842372&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mark.Martinec@...&lt;/a&gt;&amp;gt; 2009-12-18 03:53:14 UTC ---
&lt;br&gt;&amp;nbsp; Bug 6228 - sa-learn --backup is broken:
&lt;br&gt;&amp;nbsp; a quick-and-hackish temporary solution to a problem
&lt;br&gt;&amp;nbsp; of Bayes pluginization not (yet) carried out fully
&lt;br&gt;Sending lib/Mail/SpamAssassin/Plugin/Bayes.pm
&lt;br&gt;Sending sa-learn.raw
&lt;br&gt;Committed revision 892229.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Configure bugmail: &lt;a href=&quot;https://issues.apache.org/SpamAssassin/userprefs.cgi?tab=email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/SpamAssassin/userprefs.cgi?tab=email&lt;/a&gt;&lt;br&gt;------- You are receiving this mail because: -------
&lt;br&gt;You are the assignee for the bug.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-Bug-6228--New%3A-sa-learn---backup-is-broken-tp26087656p26842372.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26837618</id>
	<title>[Bug 6228] [review] sa-learn --backup is broken</title>
	<published>2009-12-17T17:00:10Z</published>
	<updated>2009-12-17T17:00:10Z</updated>
	<author>
		<name>Bugzilla from bugzilla-daemon@bugzilla.spamassassin.org</name>
	</author>
	<content type="html">&lt;a href=&quot;https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6228&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6228&lt;/a&gt;&lt;br&gt;&lt;br&gt;--- Comment #21 from Warren Togami &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26837618&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;wtogami@...&lt;/a&gt;&amp;gt; 2009-12-17 17:00:09 UTC ---
&lt;br&gt;+1
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Configure bugmail: &lt;a href=&quot;https://issues.apache.org/SpamAssassin/userprefs.cgi?tab=email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/SpamAssassin/userprefs.cgi?tab=email&lt;/a&gt;&lt;br&gt;------- You are receiving this mail because: -------
&lt;br&gt;You are the assignee for the bug.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-Bug-6228--New%3A-sa-learn---backup-is-broken-tp26087656p26837618.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26837086</id>
	<title>[Bug 3208] 3.0.0 bugs to fix before release</title>
	<published>2009-12-17T15:54:45Z</published>
	<updated>2009-12-17T15:54:45Z</updated>
	<author>
		<name>Bugzilla from bugzilla-daemon@bugzilla.spamassassin.org</name>
	</author>
	<content type="html">&lt;a href=&quot;https://issues.apache.org/SpamAssassin/show_bug.cgi?id=3208&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/SpamAssassin/show_bug.cgi?id=3208&lt;/a&gt;&lt;br&gt;&lt;br&gt;Bug 3208 depends on bug 3364, which changed state.
&lt;br&gt;&lt;br&gt;Bug 3364 Summary: [review] Use of customized header yields &amp;quot;nan&amp;quot; for _HITS_ variable
&lt;br&gt;&lt;a href=&quot;https://issues.apache.org/SpamAssassin/show_bug.cgi?id=3364&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/SpamAssassin/show_bug.cgi?id=3364&lt;/a&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;What &amp;nbsp; &amp;nbsp;|Old Value &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |New Value
&lt;br&gt;----------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Status|REOPENED &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|RESOLVED
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Resolution| &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|FIXED
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Configure bugmail: &lt;a href=&quot;https://issues.apache.org/SpamAssassin/userprefs.cgi?tab=email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/SpamAssassin/userprefs.cgi?tab=email&lt;/a&gt;&lt;br&gt;------- You are receiving this mail because: -------
&lt;br&gt;You are the assignee for the bug.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-Bug-3208--3.0.0-bugs-to-fix-before-release-tp26837086p26837086.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26837085</id>
	<title>[Bug 3364] [review] Use of customized header yields &quot;nan&quot; for _HITS_ variable</title>
	<published>2009-12-17T15:54:44Z</published>
	<updated>2009-12-17T15:54:44Z</updated>
	<author>
		<name>Bugzilla from bugzilla-daemon@bugzilla.spamassassin.org</name>
	</author>
	<content type="html">&lt;a href=&quot;https://issues.apache.org/SpamAssassin/show_bug.cgi?id=3364&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/SpamAssassin/show_bug.cgi?id=3364&lt;/a&gt;&lt;br&gt;&lt;br&gt;Mark Martinec &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26837085&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mark.Martinec@...&lt;/a&gt;&amp;gt; changed:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;What &amp;nbsp; &amp;nbsp;|Removed &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |Added
&lt;br&gt;----------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Status|REOPENED &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|RESOLVED
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Resolution| &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|FIXED
&lt;br&gt;&lt;br&gt;--- Comment #19 from Mark Martinec &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26837085&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mark.Martinec@...&lt;/a&gt;&amp;gt; 2009-12-17 15:54:40 UTC ---
&lt;br&gt;&amp;gt; is this fixed in 3.3.0?
&lt;br&gt;&lt;br&gt;Yes, there is a workaround in 3.3 (r704140, r703487 and thereabout).
&lt;br&gt;The bug was retargeted to 3.2.6 just in case, although the problem
&lt;br&gt;apparently only happens on faulty (virtual) hardware and is not common.
&lt;br&gt;&lt;br&gt;I think we can just close it.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Configure bugmail: &lt;a href=&quot;https://issues.apache.org/SpamAssassin/userprefs.cgi?tab=email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/SpamAssassin/userprefs.cgi?tab=email&lt;/a&gt;&lt;br&gt;------- You are receiving this mail because: -------
&lt;br&gt;You are the assignee for the bug.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-Bug-3364---review--Use-of-customized-header-yields-%22nan%22-for-_HITS_-variable-tp26837085p26837085.html" />
</entry>

</feed>
