netty5/codec-smtp/src/main/java/io/netty/handler/codec/smtp
Michael O'Brien 6a8532acd1 Reset the contentExpected flag when RSET is written
Motivation:

If the remote server returns a 4xx/5xx error in response to
a DATA command (or earlier command if using pipelining),
SmtpRequestEncoder can become stuck in an invalid state,
not allowing any requests to be sent.

This makes the channel unusable and the connection has to be closed,
or the encoder handler has to be replaced.

Modifications:

If a RSET command is written to the channel, the contentExpected
flag is set to false, and the RSET is written to the channel.

Result:

Sending a RSET command after a server 4xx/5xx error will make it
possible to use the current connection for new mail transactions.
2017-05-19 19:36:04 +02:00
..
DefaultLastSmtpContent.java Make retained derived buffers recyclable 2016-05-17 11:16:13 +02:00
DefaultSmtpContent.java Make retained derived buffers recyclable 2016-05-17 11:16:13 +02:00
DefaultSmtpRequest.java [#5088] Add annotation which marks packages/interfaces/classes as unstable 2016-05-09 15:16:35 +02:00
DefaultSmtpResponse.java [#5088] Add annotation which marks packages/interfaces/classes as unstable 2016-05-09 15:16:35 +02:00
LastSmtpContent.java Make retained derived buffers recyclable 2016-05-17 11:16:13 +02:00
package-info.java [#5088] Add annotation which marks packages/interfaces/classes as unstable 2016-05-09 15:16:35 +02:00
SmtpCommand.java [#5088] Add annotation which marks packages/interfaces/classes as unstable 2016-05-09 15:16:35 +02:00
SmtpContent.java Make retained derived buffers recyclable 2016-05-17 11:16:13 +02:00
SmtpRequest.java [#5088] Add annotation which marks packages/interfaces/classes as unstable 2016-05-09 15:16:35 +02:00
SmtpRequestEncoder.java Reset the contentExpected flag when RSET is written 2017-05-19 19:36:04 +02:00
SmtpRequests.java [#5088] Add annotation which marks packages/interfaces/classes as unstable 2016-05-09 15:16:35 +02:00
SmtpResponse.java [#5088] Add annotation which marks packages/interfaces/classes as unstable 2016-05-09 15:16:35 +02:00
SmtpResponseDecoder.java [#5088] Add annotation which marks packages/interfaces/classes as unstable 2016-05-09 15:16:35 +02:00
SmtpUtils.java Add smtp codec (client side only). 2016-04-07 18:42:17 +02:00