Octal and Octet 

The octal numeral system is the base-8 number system, and uses the digits 0 to 7.

Octal numerals can be made from binary numerals by grouping consecutive digits into groups of three (starting from the right). For example, the binary representation for decimal 74 is 1001010, which groups into 1 001 010 — so the octal representation is 112. see more detailes at http://en.wikipedia.org/wiki/Octal

In computer technology and networking, an octet is a group of 8 bits. see http://en.wikipedia.org/wiki/Octet_%28computing%29
[ add comment ] permalink ( 3 / 90 )
Upgraded Mail::SpamAssassin 3.1.4, Clamav 0.88.3. Installed gnugpg on Mac OS X server 

The email spam filter hasn't been running for a while on the email server. Today, I finally upgraded all the component, and tested working fine
[ add comment ] permalink ( 2.9 / 91 )
Upgrade SpamAssassin 3.1.1 to SpamAssassin 3.1.4 

There is spamassassin rule lint info after upgrading from 3.1.1 to 3.1.4, if running spamassassin -Dinfo --lint on command line, you will see info line like :

[24649] info: rules: meta test COMBO_IMAGEONLY1 has dependency 'MIME_HTML_ONLY_MULTI' with a zero score
[24649] info: rules: meta test MR_MULT_REF has undefined dependency 'nice'
[24649] info: rules: meta test SARE_MULT_RATW_03 has undefined dependency '__SARE_MULT_RATW_03E'

you can see more info from http://issues.apache.org/SpamAssassin/s ... i?id=4347.

#diff -Nuar ./Mail-SpamAssassin-3.1.1/lib/Mail/SpamAssassin/PerMsgStatus.pm ./Mail-SpamAssassin-3.1.4/lib/Mail/SpamAssassin/PerMsgStatus.pm

--- ./Mail-SpamAssassin-3.1.1/lib/Mail/SpamAssassin/PerMsgStatus.pm 2006-03-10 11:29:55.000000000 -0800
+++ ./Mail-SpamAssassin-3.1.4/lib/Mail/SpamAssassin/PerMsgStatus.pm 2006-07-25 15:02:19.000000000 -0700

@@ -2455,6 +2482,13 @@
$meta{$rulename} .= "$self->{'tests_already_hit'}->{'$token'} ";
$setup_rules{$token}=1;

+ if (!exists $self->{conf}->{scores}->{$token}) {
+ info("rules: meta test $rulename has undefined dependency '$token'");
+ }
+ elsif ($self->{conf}->{scores}->{$token} == 0) {
+ info("rules: meta test $rulename has dependency '$token' with a zero score");
+ }
+
# If the token is another meta rule, add it as a dependency
push (@{ $rule_deps{$rulename} }, $token)
if (exists $self->{conf}{meta_tests}->{$priority}->{$token});

Quote from felicity

" the rules would likely have had these issues for a while (I can't
really comment on non-official rules), but with 3.1.4 there's now info output
showing that there's a problem. (before, people would have had to manually
figure out that meta dependencies have issues)
"

No worry then :)
[ add comment ] permalink ( 3 / 112 )
What is Mail::SpamAssassin::DnsResolver for? 

From the perldoc DESCRIPTION section of DnsResolver.pm, it says :" This is a DNS resolution engine for SpamAssassin, implemented in order to reduce file descriptor usage by Net::DNS and avoid a response collision bug in that module.", what this description really refered to is bugs:

http://issues.apache.org/SpamAssassin/s ... gi?id=3997
http://issues.apache.org/SpamAssassin/s ... gi?id=4260

bug 3997 is really a long discussion, comment #73 finally sort out what the cause is

------quote-----
"....The problem is that there is nothing in the RFCs to prevent reuse of a UDP
source port once there is no active listener on that port. UDP connections are
not persistent, so there is nothing that IO::Socket can do to ensure that a
reply to a UDP port is not a response to some old packet that was sent from that
port.


This is a known problem in the DNS world, with a solution built in to the DNS
protocol. The DNS query packet has a header with an identifier field, which is
an arbitrary 16 bit number set by the sender. The nameserver copies it to the
identifier field of the header of the response packet. see http://www.tcpipguide.com/free/t_DNSMes ... #Table_169

This is above the IO::Socket layer, so the fix can't be there. Net::DNS can't
use the ID field to ensure that a bgread matches up with a bgsend unless it
cached every socket returned by bgsend in order to save the ID in a hash with
it. I don't think that is practical.

That leaves SpamAssassin as the right level for the fix.

---------quote-------------

[ add comment ] permalink ( 3 / 97 )
Perl Module installation from CPAN 

Today, when I am testing the latest SpamAssassin 3.1.4 release, I get a note "optional module missing: IO::Socket::SSL". while I run the command "perl -MIO::Socket::SSL -e 'print $IO::Socket::SSL::VERSION", it gives me version 0.96 and I do have this module. coincidently, I found out a SpamAssassin commiter running into a problem when he do make test, which is related to IO::Socket::SSL module too. here is quote from his email:

----
"Ok, it turned out to be IO::Socket::SSL version 0.993

The change log for version 0.994, dated yesterday, says:

"v0.994
- hide DEBUG statements and remove test to load Debug.pm
because packets like Spamassisin cannot cope with it
(at least the OpenBSD port)"

Unfortunately, for now 0.993 is the current one on CPAN.

perl -MCPAN -e'shell'

cpan> install S/SU/SULLR/IO-Socket-SSL-0.994.tar.gz

did the job and make test then worked fine.
"
-------

I learned that I could install the missing CPAN module directly from the author's archive directory from CPAN. for example, IO::Socket::SSL depends on Net::SSLeay module, I could not install it from CPAN neither, but I could search this module from search.cpan.org and get to know the author is Florian Ragwitz and his cpan archive directory is "F/FL/FLORA" search.cpan.org/, then I can

cpan> install F/FL/FLORA/Net_SSLeay.pm-1.30.tar.gz

nice eh?
[ add comment ] permalink ( 3 / 116 )

Back Next