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