-------- Original-Nachricht --------
> Datum: Thu, 23 Jul 2009 18:11:15 +0100
> Von: Carlo Rodrigues <[email protected]>
> An: [email protected]
> Betreff: Re: [Dspam-devel] trouble understanding an extract of agent_shared.c 
> on      process_parseto()

> Steve wrote:
> > -------- Original-Nachricht --------
> >   
> >> Datum: Thu, 23 Jul 2009 17:13:19 +0100
> >> Von: Carlo Rodrigues <[email protected]>
> >> An: [email protected]
> >> Betreff: [Dspam-devel] trouble understanding an extract of
> agent_shared.c on     process_parseto()
> >>     
> >
> >   
> >> 829 int process_parseto(AGENT_CTX *ATX, const char *buf) {
> >> 830   char *y = NULL;
> >> 831   char *x;
> >> 832   char *h;
> >> 833
> >> 834   if (!buf)
> >> 835     return EINVAL;
> >> 836   h = strstr(buf, "\r\n\r\n");
> >>
> >>     
> > buf is the "To: " header line and h is a pointer to into buf if buf
> contains "\r\n\r\n". If not found then h = NULL.
> >
> >   
> >> 837   if (!h) h = strstr(buf, "\n\n");
> >>
> >>     
> > Same as above but this time looking for "\n\n".
> >
> >
> >   
> >> 838
> >> 839   x = strstr(buf, "<spam-");
> >> 840   if (!x)
> >> 841     x = strstr(buf, " spam-");
> >> 842   if (!x)
> >> 843     x = strstr(buf, ":spam-");
> >> 844   if (!x)
> >> 845     x = strstr(buf, "<spam@");
> >> 846   if (!x)
> >> 847     x = strstr(buf, " spam@");
> >> 848   if (!x)
> >> 849     x = strstr(buf, ":spam@");
> >> 850   if (x > h) x = NULL;
> >>
> >> I'm trying to understand what is the h variable for. I always get
> h=NULL 
> >> on lines 836/837, and then x>h is always true, and the email retraining
> >> wasn't working for me. If I comment line 850, it is working as
> expected, 
> >> and the signature of the forwarded email is retrained as spam.
> >>
> >>     
> > Probably better for your case would be to extend the parsing of the To
> header line to be:
> >  836   h = strstr(buf, "\r\n\r\n");
> >  837   if (!h) h = strstr(buf, "\n\n");
> >  838   if (!h) h = strstr(buf, "\r\n");
> >  839   if (!h) h = strstr(buf, "\n");
> >
> >   
> What I do not yet understand is why is dspam expecting 2 newlines after 
> the string,
>
Don't know. I am still crawling in DSPAM code.


> and, if it doesn't find them, assumes that the string is no 
> good.
> 
The code tries to prevent wrong parsing of the To header. From my viewpoint it 
could be done better but so many things could be done better and who is going 
to do all the work? To much things to do and to less time to look at everything.


> It seems that buf, in my case comes with the '\n' already stripped. Just 
> the string "To: email_address" and it's end,'\0'.
> 
That is strange. Have you enabled "Broken lineStripping"?


> > What MTA do you have over there? Can you attach a message in raw format
> (how the MTA produced it and DSPAM get's it) here so I can inspect the
> message?
> >
> >
> >   
> I'm using Mozilla Thunderbird for composing, and delivering on a postfix 
> server, which then sends the message to dspam via LMTP.
> 
> I'm attaching the dspam.messages for that message.
> 
> Thanks
> 
> Carlo Rodrigues
>
// Steve
-- 
Jetzt kostenlos herunterladen: Internet Explorer 8 und Mozilla Firefox 3 -
sicherer, schneller und einfacher! http://portal.gmx.net/de/go/chbrowser

------------------------------------------------------------------------------
_______________________________________________
Dspam-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dspam-devel

Reply via email to