<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent changes to bugs</title><link href="https://sourceforge.net/p/sid-milter/bugs/" rel="alternate"/><link href="https://sourceforge.net/p/sid-milter/bugs/feed.atom" rel="self"/><id>https://sourceforge.net/p/sid-milter/bugs/</id><updated>2019-02-13T19:57:43.975000Z</updated><subtitle>Recent changes to bugs</subtitle><entry><title>-d argiment logs truncated in syslog startin message</title><link href="https://sourceforge.net/p/sid-milter/bugs/37/" rel="alternate"/><published>2019-02-13T19:57:43.975000Z</published><updated>2019-02-13T19:57:43.975000Z</updated><author><name>Igor Velkov</name><uri>https://sourceforge.net/u/iav/</uri></author><id>https://sourceforge.net82d46beccca54ac15903ecf15bbeadf908bd6560</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;sid-filter.c&lt;br/&gt;
main()&lt;br/&gt;
syslog(LOG_INFO, "%s v%s starting (%s)", SID_PRODUCT, SID_VERSION, argstr);&lt;/p&gt;
&lt;p&gt;If argument list contains more than one domain in -d key like -d yahoo.com,dhl.com prints into syslog only first domain.&lt;br/&gt;
for line &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;./sid-filter -p inet:8896@localhost  -f -l -d yahoo.com,dhl.com -T 10 -h -r 2
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;produces syslog&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;sid-filter[18367]: Sendmail Sender-ID Filter v1.0.0 starting (args: -p inet:8896@localhost -f -l -d yahoo.com -T 10 -h -r 2)
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;I think it goes from &lt;br/&gt;
first: when command line swich parses ther does &lt;br/&gt;
&lt;code&gt;domlist = optarg;&lt;/code&gt;&lt;br/&gt;
then&lt;br/&gt;
when domain list splits to records - commas replaces with nulls just in argv&lt;span&gt;[n]&lt;/span&gt; array in code&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;        for (p = strtok(domlist, ",");
             p != NULL;
             p = strtok(NULL, ","))
            domains[n++] = p;

        domains[n] = NULL;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;I think it can be fixed by copying data from argv&lt;span&gt;[n]&lt;/span&gt; or making malloc and strncpy for domain names &lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>#34 Compilation error on CentOS 5.4 64-bit</title><link href="https://sourceforge.net/p/sid-milter/bugs/34/?limit=25#4633" rel="alternate"/><published>2016-08-23T14:21:48.602000Z</published><updated>2016-08-23T14:21:48.602000Z</updated><author><name>Igor Velkov</name><uri>https://sourceforge.net/u/iav/</uri></author><id>https://sourceforge.net67f7265233218414ca03a85aa69cfbec2c85b91f</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;For building in CentOS7 it fixes as follows:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;sid-filter/Makefile.m4:
define(`bldSOURCES', `sid-filter.c rfc2822.c util.c ')
 PREPENDDEF(`confLIBS', `-lmilter ')
+PREPENDDEF(`confLIBS', `-lresolv ')
 bldPRODUCT_END
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;</summary></entry><entry><title>a:domain/cidr  does not work</title><link href="https://sourceforge.net/p/sid-milter/bugs/36/" rel="alternate"/><published>2010-03-24T10:10:40Z</published><updated>2010-03-24T10:10:40Z</updated><author><name>Steve McKenna</name><uri>https://sourceforge.net/u/userid-1516363/</uri></author><id>https://sourceforge.net7c242f31cac446a5d4c37a431c333eeaf5688e68</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;An spf record of this format:&lt;br /&gt;
v=spf1 a:widget.com/24 -all&lt;br /&gt;
should cause widget.com to be looked up and the top 24 bits of all IP addresses returned for that address should be used in the spf check.&lt;br /&gt;
However the code actually tries to look up widget.com/24.&lt;/p&gt;
&lt;p&gt;One fix is to modify function sm_marid_dir_a to work as follows:&lt;/p&gt;
&lt;p&gt;Replace this block of code:&lt;br /&gt;
/* Scan trailing cidr length(s) */&lt;br /&gt;
if (  (s = expr-&amp;gt;smx_cidr_s) != NULL&lt;br /&gt;
&amp;amp;&amp;amp; (e = expr-&amp;gt;smx_cidr_e) != NULL)&lt;br /&gt;
{&lt;br /&gt;
sm_marid_scan_cidr(s, &amp;amp;e, &amp;amp;smf-&amp;gt;smf_cidr_ip4,&lt;br /&gt;
&amp;amp;smf-&amp;gt;smf_cidr_ip6);&lt;br /&gt;
}&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
smf-&amp;gt;smf_cidr_ip4 = 32;&lt;br /&gt;
smf-&amp;gt;smf_cidr_ip6 = 128;&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;s = expr-&amp;gt;smx_value_s;&lt;br /&gt;
e = expr-&amp;gt;smx_value_e;&lt;/p&gt;
&lt;p&gt;/* Expand the value of the right-hand side */&lt;br /&gt;
tmp = sm_marid_domain_spec(context, s, e);&lt;/p&gt;
&lt;p&gt;with the following block:&lt;/p&gt;
&lt;p&gt;/* Scan trailing cidr length(s) */&lt;br /&gt;
smf-&amp;gt;smf_cidr_ip4 = 32;&lt;br /&gt;
smf-&amp;gt;smf_cidr_ip6 = 128;&lt;br /&gt;
if (  (s = expr-&amp;gt;smx_value_s) != NULL&lt;br /&gt;
&amp;amp;&amp;amp; (e = expr-&amp;gt;smx_value_e) != NULL)&lt;br /&gt;
{&lt;br /&gt;
if ( sm_marid_scan_cidr(s, &amp;amp;e, &amp;amp;smf-&amp;gt;smf_cidr_ip4,&lt;br /&gt;
&amp;amp;smf-&amp;gt;smf_cidr_ip6) == 0 )&lt;br /&gt;
{&lt;br /&gt;
// e now excludes the cidr&lt;br /&gt;
}&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
e =  expr-&amp;gt;smx_value_e;&lt;br /&gt;
}&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;/* Expand the value of the right-hand side */&lt;br /&gt;
tmp = sm_marid_domain_spec(context, s, e);&lt;/p&gt;
&lt;p&gt;Note the code above isnt perfect as it needs to restrict the cidr check to strings that have a cidr in, otherwise the cidr scan could match &lt;br /&gt;
a domain ending in numbers (not sure thats legal, but it might be one day).&lt;/p&gt;
&lt;p&gt;The root of the fault seems to be that the sm_marid_scan_expression call for the spf record locates the widget.com/24 but returns&lt;br /&gt;
the whole string as the result. rather than performing further analysis to find the cidr.&lt;/p&gt;
&lt;p&gt;Note I think the mx/cidr code is also broken as its structured in the same way,&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Use of non-threadsafe inet-ntoa</title><link href="https://sourceforge.net/p/sid-milter/bugs/35/" rel="alternate"/><published>2010-03-24T09:58:45Z</published><updated>2010-03-24T09:58:45Z</updated><author><name>Steve McKenna</name><uri>https://sourceforge.net/u/userid-1516363/</uri></author><id>https://sourceforge.netc4572348089c392b1fd976de26dc35d37231e856</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;There are three non-thread safe uses of inet_ntoa.&lt;/p&gt;
&lt;p&gt;The source should be changed to use its own threadsafe version of inet_ntoa (sid_inet_ntoa).&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Compilation error on CentOS 5.4 64-bit</title><link href="https://sourceforge.net/p/sid-milter/bugs/34/" rel="alternate"/><published>2010-02-27T01:53:19Z</published><updated>2010-02-27T01:53:19Z</updated><author><name>Leonardo</name><uri>https://sourceforge.net/u/lcvleonardo/</uri></author><id>https://sourceforge.nete820c5f823e91bcd5d335957183d0b21253840b2</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Making all in:&lt;br /&gt;
/root/sid-milter-1.0.0/sid-filter&lt;br /&gt;
Configuration: pfx=, os=Linux, rel=2.6.18-164.11.1.el5, rbase=2, rroot=2.6.18-164.11.1, arch=x86_64, sfx=, variant=optimized&lt;br /&gt;
Making in /root/sid-milter-1.0.0/obj.Linux.2.6.18-164.11.1.el5.x86_64/sid-filter&lt;br /&gt;
make[1]: Entering directory `/root/sid-milter-1.0.0/obj.Linux.2.6.18-164.11.1.el5.x86_64/sid-filter'&lt;br /&gt;
cc -O2 -I. -I../../libar  -I../../libmarid  -I../../sendmail   -I../../include  -DUSE_ARLIB   -D_REENTRANT -DXP_MT   -c -o sid-filter.o sid-filter.c&lt;br /&gt;
cc -O2 -I. -I../../libar  -I../../libmarid  -I../../sendmail   -I../../include  -DUSE_ARLIB   -D_REENTRANT -DXP_MT   -c -o rfc2822.o rfc2822.c&lt;br /&gt;
cc -O2 -I. -I../../libar  -I../../libmarid  -I../../sendmail   -I../../include  -DUSE_ARLIB   -D_REENTRANT -DXP_MT   -c -o util.o util.c&lt;br /&gt;
cc -o sid-filter -lpthread  sid-filter.o rfc2822.o util.o      -lmilter  /root/sid-milter-1.0.0/obj.Linux.2.6.18-164.11.1.el5.x86_64/libar/libar.a /root/sid-milter-1.0.0/obj.Linux.2.6.18-164.11.1.el5.x86_64/libmarid/libmarid.a /root/sid-milter-1.0.0/obj.Linux.2.6.18-164.11.1.el5.x86_64/libsm/libsm.a  -ldl&lt;br /&gt;
sid-filter.o: In function `sid_decode_a':&lt;br /&gt;
sid-filter.c:(.text+0x7c3): undefined reference to `__dn_expand'&lt;br /&gt;
sid-filter.c:(.text+0x7ce): undefined reference to `__dn_skipname'&lt;br /&gt;
sid-filter.c:(.text+0x830): undefined reference to `__dn_expand'&lt;br /&gt;
sid-filter.o: In function `sid_marid_check':&lt;br /&gt;
sid-filter.c:(.text+0xcff): undefined reference to `__dn_expand'&lt;br /&gt;
sid-filter.c:(.text+0xd0a): undefined reference to `__dn_skipname'&lt;br /&gt;
sid-filter.c:(.text+0x1020): undefined reference to `__dn_expand'&lt;br /&gt;
sid-filter.c:(.text+0x15c3): undefined reference to `__dn_expand'&lt;br /&gt;
sid-filter.c:(.text+0x1691): undefined reference to `__dn_expand'&lt;br /&gt;
sid-filter.c:(.text+0x1796): undefined reference to `__dn_expand'&lt;br /&gt;
/root/sid-milter-1.0.0/obj.Linux.2.6.18-164.11.1.el5.x86_64/libar/libar.a(ar.o): In function `ar_sendquery':&lt;br /&gt;
ar.c:(.text+0x15e7): undefined reference to `__res_nmkquery'&lt;br /&gt;
/root/sid-milter-1.0.0/obj.Linux.2.6.18-164.11.1.el5.x86_64/libar/libar.a(ar.o): In function `ar_dispatcher':&lt;br /&gt;
ar.c:(.text+0x2053): undefined reference to `__dn_skipname'&lt;br /&gt;
ar.c:(.text+0x207a): undefined reference to `__dn_skipname'&lt;br /&gt;
ar.c:(.text+0x20d3): undefined reference to `__dn_expand'&lt;br /&gt;
collect2: ld returned 1 exit status&lt;br /&gt;
make[1]: *** [sid-filter] Error 1&lt;br /&gt;
make[1]: Leaving directory `/root/sid-milter-1.0.0/obj.Linux.2.6.18-164.11.1.el5.x86_64/sid-filter'&lt;br /&gt;
make: *** [all] Error 2&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>IPv6 peerlist does not work</title><link href="https://sourceforge.net/p/sid-milter/bugs/33/" rel="alternate"/><published>2009-10-07T03:40:15Z</published><updated>2009-10-07T03:40:15Z</updated><author><name>SATAKE Toru</name><uri>https://sourceforge.net/u/sataketoru/</uri></author><id>https://sourceforge.netd2d1e3019c5adcbbb30efd5c661724ab2eff83d2</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;I am not sure it is a bug or not. I am testing sid-milter-1.0.0 with the peerlist patch. I wrote peerlist file like this.&lt;br /&gt;
----------&lt;br /&gt;
192.168.0.0/24&lt;br /&gt;
127.0.0.1/32&lt;br /&gt;
2002:1111:2222::/64&lt;br /&gt;
::1/128&lt;br /&gt;
----------&lt;br /&gt;
Those IPv4 addresses are working, but IPv6 addresses are not. Please suggest me.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Documented -c option not accepted</title><link href="https://sourceforge.net/p/sid-milter/bugs/32/" rel="alternate"/><published>2009-04-07T23:28:01Z</published><updated>2009-04-07T23:28:01Z</updated><author><name>Jeff Anton</name><uri>https://sourceforge.net/u/jeffanton/</uri></author><id>https://sourceforge.neta67c033ffaf50f9187ab161514173ef566889e19</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;-c option added in 1.0.0 mentioned in RELNOTES and usage&lt;br /&gt;
causes usage message if used.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>-n argument doesn't work</title><link href="https://sourceforge.net/p/sid-milter/bugs/31/" rel="alternate"/><published>2009-03-08T18:16:08Z</published><updated>2009-03-08T18:16:08Z</updated><author><name>Alin Nastac</name><uri>https://sourceforge.net/u/mrness/</uri></author><id>https://sourceforge.net378ddc16f05d8a7f95ce85e3cbebd31e533b5ab5</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;According to man page, -n option should exclude spf1 policies for PRA checks, but it doesn't do that.&lt;/p&gt;
&lt;p&gt;The attached patch fixes that beside improving the way PRA policy gets selected.&lt;/p&gt;
&lt;p&gt;I think it could be improved by doing rcount-- just after memset. I also think that memset and rcount-- should be performed on all TXT records that are not valid SID/SPF policies. &lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>ip6 parseing broken</title><link href="https://sourceforge.net/p/sid-milter/bugs/30/" rel="alternate"/><published>2009-02-04T05:40:44Z</published><updated>2009-02-04T05:40:44Z</updated><author><name>Jeff Anton</name><uri>https://sourceforge.net/u/jeffanton/</uri></author><id>https://sourceforge.netb1c057c25d373e6bd8eabf800a798f6b7dda5c7b</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Parsing of ip6 fields in the SPF records broken&lt;br /&gt;
(i.e. cause permerror status)&lt;/p&gt;
&lt;p&gt;See:&lt;br /&gt;
freebsd.org.            600     IN      TXT     "v=spf1 ip4:69.147.83.53 ip4:69.147.83.54 ip6:2001:4f8:fff6::35 ip6:2001:4f8:fff6::36 ~all"&lt;/p&gt;
&lt;p&gt;Get mail via ipv6 while running sid-milter and you&lt;br /&gt;
get permerror.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Wrongly parsed TXT fields, not releated to SPF/PRA</title><link href="https://sourceforge.net/p/sid-milter/bugs/29/" rel="alternate"/><published>2008-11-28T12:30:47Z</published><updated>2008-11-28T12:30:47Z</updated><author><name>Fredrik Pettai</name><uri>https://sourceforge.net/u/frpet/</uri></author><id>https://sourceforge.net6206d2dc9a744c7044ccce73821f0384fe98311f</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Example of how the Authentication-Results header complains about DNS reply/DNS failure:&lt;/p&gt;
&lt;p&gt;Authentication-Results: xxxxxxxx; sender-id=softfail (DNS reply garbled) header.from=jcm@sics.se; spf=softfail (DNS failure) smtp.mfrom=jcm@sics.se&lt;/p&gt;
&lt;p&gt;So, doing dig TXT against domain sics.se to see if there's something wrong, reveals this:&lt;/p&gt;
&lt;p&gt;# dig TXT sics.se&lt;/p&gt;
&lt;p&gt;; &amp;lt;&amp;lt;&amp;gt;&amp;gt; DiG 9.4.1-P1 &amp;lt;&amp;lt;&amp;gt;&amp;gt; TXT sics.se&lt;br /&gt;
;; global options:  printcmd&lt;br /&gt;
;; Got answer:&lt;br /&gt;
;; -&amp;gt;&amp;gt;HEADER&amp;lt;&amp;lt;- opcode: QUERY, status: NOERROR, id: 22446&lt;br /&gt;
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 4, ADDITIONAL: 5&lt;/p&gt;
&lt;p&gt;;; QUESTION SECTION:&lt;br /&gt;
;sics.se.                       IN      TXT&lt;/p&gt;
&lt;p&gt;;; ANSWER SECTION:&lt;br /&gt;
sics.se.                84653   IN      TXT     "SE-164 29 KISTA, SWEDEN"&lt;br /&gt;
sics.se.                84653   IN      TXT     "Swedish Institute of Computer Science"&lt;br /&gt;
sics.se.                84653   IN      TXT     "PO Box 1263"&lt;br /&gt;
sics.se.                84653   IN      TXT     "Fax: +46 8 751 72 30"&lt;br /&gt;
sics.se.                84653   IN      TXT     "Tel: +46 8 633 15 00"&lt;/p&gt;
&lt;p&gt;;; AUTHORITY SECTION:&lt;br /&gt;
sics.se.                25309   IN      NS      fnord.sics.se.&lt;br /&gt;
sics.se.                25309   IN      NS      sics.se.&lt;br /&gt;
sics.se.                25309   IN      NS      a.ns.kth.se.&lt;br /&gt;
sics.se.                25309   IN      NS      brahma.sics.se.&lt;/p&gt;
&lt;p&gt;There are (several) TXT RRs, but none contains either v=spf1 nor v=pra/2.0, so sid-milter should ignore these records (without complaining).&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>