Re: [exim] dot at the end of domain

Top Page
Delete this message
Reply to this message
Author: Michael Zanin
Date:  
To: Golovanoff Sergio
CC: exim-users
Subject: Re: [exim] dot at the end of domain
http://rfc-editor.org/rfc/rfc2822.txt

3.2.4. Atom

Several productions in structured header field bodies are simply
strings of certain basic characters. Such productions are called
atoms.

Some of the structured header field bodies also allow the period
character (".", ASCII value 46) within runs of atext. An additional
"dot-atom" token is defined for those purposes.

atext           =       ALPHA / DIGIT / ; Any character except controls,
                        "!" / "#" /     ;  SP, and specials.
                        "$" / "%" /     ;  Used for atoms
                        "&" / "'" /
                        "*" / "+" /
                        "-" / "/" /
                        "=" / "?" /
                        "^" / "_" /
                        "`" / "{" /
                        "|" / "}" /
                        "~"


atom            =       [CFWS] 1*atext [CFWS]


dot-atom        =       [CFWS] dot-atom-text [CFWS]


dot-atom-text   =       1*atext *("." 1*atext)


Both atom and dot-atom are interpreted as a single unit, comprised of
the string of characters that make it up. Semantically, the optional
comments and FWS surrounding the rest of the characters are not part
of the atom; the atom is only the run of atext characters in an atom,
or the atext and "." characters in a dot-atom.


http://rfc-editor.org/rfc/rfc2821.txt

[Page 36]

Mailbox = Local-part "@" Domain

      Local-part = Dot-string / Quoted-string
            ; MAY be case-sensitive


      Dot-string = Atom *("." Atom)


      Atom = 1*atext


      Quoted-string = DQUOTE *qcontent DQUOTE
      String = Atom / Quoted-string


==============================================

    Ну и если по-русски, 
    то можно исправить в файлике
    exim/src/parse.c


    строки:


 if (t == tsave)   /* empty component */
    {
    if (strip_trailing_dot && t > tt && *s != '.') t[-1] = 0; else
      {
      *errorptr = US"domain missing or malformed";
      *tt = 0;
      }
    return s;
    }


if (*s != '.') break;
*t++ = *s++;
s = skip_comment(s);
}

    на что-нибудь более удобное конкретно для
    вашего домена &)


    а потом скомпиллировать.


в этом случае RFC для SMTP и DNS отличаются на точку.



Golovanoff Sergio <sergio>, wrote:
> Hi.
> That's what I see in logs:
>
> rejected after DATA: domain missing or malformed: failing address in "To"
> header is: XXX@???.
>
> i.e. '.' at the end of domain-part leeds to this error.
> But 'domain-part.' such a 'dill.nov.net.' is right address, isn't it?
> Or is there RFC about it?
>
> PS. sorry for bad english :)
>
> --
> wbr, Golovanoff Sergio
> sergio@???
>
> --
> ## List details at http://www.exim.org/mailman/listinfo/exim-users
> ## Exim details at http://www.exim.org/
> ## Please use the Wiki with this list - http://www.exim.org/eximwiki/


--
Best Regards,

Michael Zanin
http://www.ksono.org