Closed Bug 279109 Opened 20 years ago Closed 15 years ago

sends a bad EHLO command to IPv6 SMTP servers if it has IPv6 connectivity

Categories

(MailNews Core :: Networking: SMTP, defect)

All
Linux
defect
Not set
major

Tracking

(Not tracked)

RESOLVED INVALID

People

(Reporter: beta, Unassigned)

References

()

Details

User-Agent:       Mozilla/5.0 (X11; U; Linux ppc; fr; rv:1.7) Gecko/20041013 Firefox/0.9.3 (Ubuntu)
Build Identifier: 0.8 (20041012)

see the given URL and all the thread for details.

the server answers :
<[IPv6:2001:7a8:4b09:1:230:1bff:feb1:defa]>: Helo command rejected: invalid ip
address; from=<baptiste.simon@e-glop.net> to=<beta@e-glop.net> proto=ESMTP
helo=<[ IPv6:2001:7a8:4b09:1:230:1bff:feb1:defa]>

Reproducible: Always

Steps to Reproduce:
1.Get a full IPv6 connectivity from your thunderbird mail client to your SMTP
service
2.Try to send a mail through IPv6

Actual Results:  
Thunderbird fails to send the mail and show us an error dialog box for a problem
in the EHLO command. the server's logs are saying the same error in the EHLO
command.

Expected Results:  
The mail should be sent properly through IPv6, transparently for the user's side.

Thunderbird sends a [IPv6:{ipv6address}] instead of [{ipv6address}] or
{hostname} (like w/ IPv4)
You're too quick... :cb
I have a work to finish before grepping the source code and see if I can do
something..... but it seems to be the problem's source. maybe we can try to
rebuild thunderbird/mozilla-mail and see how will it work...
(In reply to comment #1)
> I found this in the code :
>
<http://lxr.mozilla.org/seamonkey/source/mailnews/compose/src/nsSmtpProtocol.cpp#376>

Is that wrong?

RFC 2821, chapter 4.1.3 says:
   For IPv4 addresses, this form uses four small decimal integers separated
   by dots and enclosed by brackets such as [123.255.37.2], which
   indicates an (IPv4) Internet Address in sequence-of-octets form.  For
   IPv6 and other forms of addressing that might eventually be
   standardized, the form consists of a standardized "tag" that
   identifies the address syntax, a colon, and the address itself, in a
   format specified as part of the IPv6 standards

   IPv4-address-literal = Snum 3("." Snum)
   IPv6-address-literal = "IPv6:" IPv6-addr

For me it reads as "[IPv6:2001:7a8:4b09:1:230:1bff:feb1:defa]" is correct. Maybe
the square brackets should be left out for IPv6 since they aren't mentioned in
the text for IPv6. But they aren't mentioned for IPv4 in ABNF form as well, so I
thought they should always exist.

Baptiste, it would be nice if you could test it without the [] (if can't patch
and recompile TB, just use telnet by hand).
thank you for the precision Christian.
in fact, this IPv6 adress writing problem may be a postfix matter then :c/

but I have a question, does Mozilla sends an IPv4 or a hostname when it run the
EHLO command on a SMTP server through IPv4 ? if it sends a hostname, why doesn't
it work differently w/ IPv6 ?
(In reply to comment #4)

> does Mozilla sends an IPv4 or a hostname when it run the EHLO command on a SMTP
> server through IPv4 ?

No, we always send a literal. We tried it with hostname while working on bug
68877 but getting one mostly doesn't work and when it does, the hostname sent
isn't resolveable by the server. So it would be quite useless.
Assignee: mscott → nobody
Component: General → Networking: SMTP
Product: Thunderbird → Core
Summary: thunderbirds sends a bad EHLO command to IPv6 SMTP servers if it has IPv6 connectivity → sends a bad EHLO command to IPv6 SMTP servers if it has IPv6 connectivity
Version: unspecified → Trunk
I think this should be closed as INVALID. Per comment 3, Thunderbird is sending the proper EHLO. I use SMTP over IPv6 daily without problems on Thunderbird version 2.0.0.9 (20071031) and Sendmail 8.13.8. 
For what it's worth, Exim with helo syntax checking enabled (as is the default) accepts these:

helo [IPv6:2001:7a8:4b09:1:230:1bff:feb1:defa]
helo [2001:7a8:4b09:1:230:1bff:feb1:defa]

but not:
helo [ IPv6:2001:7a8:4b09:1:230:1bff:feb1:defa]

I think there's an unwanted space in Simon's EHLO argument.

the server answers :
<[IPv6:2001:7a8:4b09:1:230:1bff:feb1:defa]>: Helo command rejected: invalid ip
address; from=<baptiste.simon@e-glop.net> to=<beta@e-glop.net> proto=ESMTP
helo=<[ IPv6:2001:7a8:4b09:1:230:1bff:feb1:defa]>

There's a space in helo=<[ IPv6:2001:7a8:4b09:1:230:1bff:feb1:defa]>, and I think that the correct string at the start of this answer is constructed by the server.
Product: Core → MailNews Core
QA Contact: networking.smtp
(In reply to comment #6)
> I think this should be closed as INVALID. Per comment 3, Thunderbird is sending
> the proper EHLO. I use SMTP over IPv6 daily without problems on Thunderbird
> version 2.0.0.9 (20071031) and Sendmail 8.13.8.

Agreed, no more reports since this bug afaik.

(In reply to comment #7)
> the server answers :
> <[IPv6:2001:7a8:4b09:1:230:1bff:feb1:defa]>: Helo command rejected: invalid ip
> address; from=<baptiste.simon@e-glop.net> to=<beta@e-glop.net> proto=ESMTP
> helo=<[ IPv6:2001:7a8:4b09:1:230:1bff:feb1:defa]>
> 
> There's a space in helo=<[ IPv6:2001:7a8:4b09:1:230:1bff:feb1:defa]>, and I
> think that the correct string at the start of this answer is constructed by the
> server.

Thunderbird's code has never had the option to generate a space there. I'd be reasonably sure the server is inserting that in formatting for some reason.
Status: UNCONFIRMED → RESOLVED
Closed: 15 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.