Benoit Tellier created JAMES-4101:
-------------------------------------

             Summary: SMTP StartTLS may be out of order
                 Key: JAMES-4101
                 URL: https://issues.apache.org/jira/browse/JAMES-4101
             Project: James Server
          Issue Type: Improvement
            Reporter: Benoit Tellier


Today customer complains:

SSL handshake may be received before the SSL handler is added to the pipeline, 
and the handshake fails as it get interpreted as SMTP commands.

While reviewing code, it seems the STARTTLS handling lacks caution and might 
deserve running on the event loop with auto-read turned to false. (Like we do 
in IMAP)

{code:java}
17:22:39.585 [DEBUG] o.a.j.p.a.h.CommandDispatcher -  42622ae8   
org.apache.james.protocols.api.handler.CommandDispatcher received: EHLO
17:22:39.586 [DEBUG] o.a.j.p.a.h.CommandDispatcher -  42622ae8   Lookup command 
handler for command: EHLO
17:22:39.591 [DEBUG] o.a.j.p.a.h.CommandHandlerResultLogger -  42622ae8   
org.apache.james.protocols.smtp.core.esmtp.EhloCmdHandler: 
[250-james11_pub.sante-ra.fr Hello SISRA521-003.sante-ra.fr [10.200.21.20]), 
250-PIPELINING, 250-ENHANCEDSTATUSCODES, 250-8BITMIME, 250-SIZE 20480000, 250 
STARTTLS]
17:22:39.595 [DEBUG] o.a.j.p.a.h.CommandDispatcher -  42622ae8   
org.apache.james.protocols.api.handler.CommandDispatcher received: STARTTLS

17:22:39.595 [DEBUG] o.a.j.p.a.h.CommandDispatcher -  42622ae8   Lookup command 
handler for command: STARTTLS

17:22:39.596 [DEBUG] o.a.j.p.a.h.CommandHandlerResultLogger -  42622ae8   
org.apache.james.protocols.smtp.core.esmtp.StartTlsCmdHandler: 
org.apache.james.protocols.smtp.SMTPStartTlsResponse$1@29dfd44e

17:22:39.601 [DEBUG] o.a.j.p.a.h.CommandDispatcher -  42622ae8   
org.apache.james.protocols.api.handler.CommandDispatcher received: ��

.{���G�%|��H��7�8C�T��R‑�'���8�,�0��������+�/��$�(K�#�'G�
17:22:39.602 [DEBUG] o.a.j.p.a.h.CommandDispatcher -  42622ae8   Lookup command 
handler for command: ��

.{���G�%|��H��7�8C�T��R‑�'���8�,�0��������+�/��$�(K�#�'G�
17:22:39.603 [DEBUG] o.a.j.p.a.h.CommandHandlerResultLogger -  42622ae8   
org.apache.james.protocols.smtp.core.UnknownCmdHandler: [500 5.5.1 Command ��

.{���G�%|��H��7�8C�T��R‑�'���8�,�0��������+�/��$�(K�#�'G� unrecognized.]
17:22:39.604 [DEBUG] o.a.j.p.a.h.CommandDispatcher -  42622ae8   
org.apache.james.protocols.api.handler.CommandDispatcher received: �9�   
�3��=<5/�}!­PROD-RA.FR

17:22:39.604 [DEBUG] o.a.j.p.a.h.CommandDispatcher -  42622ae8   Lookup command 
handler for command: �9�  �3��=<5/�}!­PROD.FR

17:22:39.604 [DEBUG] o.a.j.p.a.h.CommandHandlerResultLogger -  42622ae8   
org.apache.james.protocols.smtp.core.UnknownCmdHandler: [500 5.5.1 Command �9� 
 �3��=<5/�}!­PROD-JAMES11.FR unrecognized.]

17:22:39.605 [DEBUG] o.a.j.p.a.h.CommandDispatcher -  42622ae8   
org.apache.james.protocols.api.handler.CommandDispatcher received:

17:22:39.605 [DEBUG] o.a.j.p.a.h.CommandDispatcher -  42622ae8   Lookup command 
handler for command:

17:22:39.605 [DEBUG] o.a.j.p.a.h.CommandHandlerResultLogger -  42622ae8   
org.apache.james.protocols.smtp.core.UnknownCmdHandler: [500 5.5.1 Command  
unrecognized.]

17:22:39.606 [DEBUG] o.a.j.p.a.h.CommandDispatcher -  42622ae8   
org.apache.james.protocols.api.handler.CommandDispatcher received: #

0.

17:22:39.606 [DEBUG] o.a.j.p.a.h.CommandDispatcher -  42622ae8   Lookup command 
handler for command: #

0.

17:22:39.606 [DEBUG] o.a.j.p.a.h.CommandHandlerResultLogger -  42622ae8   
org.apache.james.protocols.smtp.core.UnknownCmdHandler: [500 5.5.1 Command #

0. unrecognized.]
{code}




--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to