You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
SMTP spec uses dot stuffing when reading in after the DATA command. However, the current server implements it incorrectly where it doesn't remove a dot if a line with text starts with a dot.
To fix:
Will switch to using go's standard package textproto, using the DotReader.
Additionally, this is an opportunity to change Envelope.Data to a bytes.Buffer, so that the buffer can be re-used after it is placed back in the pool.
The textproto package could also be used for header parsing too.
The text was updated successfully, but these errors were encountered:
Uses textproto package to read dot-stuffed data
Other changes:
- Envelope.Data is now a bytes buffer, that gets reset when borrowed form pool
- Moved header parsing to envelope & using textproto for reading headers
- adds shutdown state to backend + Reinitialize to backend proxy
- add test for DATA command
* fixes#42
* Uses textproto package to read dot-stuffed data in DATA state
* envelope.Data is now a buffer
* backend to use data (compress, etc)
* Moved subject parsing to envelope package & using textproto for reading headers
Other changes:
* guerrilla redis & db backend: user a sync.Pool for buffers used for compressing
* adds shutdown state to backend + Reinitialize to backend proxy
SMTP spec uses dot stuffing when reading in after the DATA command. However, the current server implements it incorrectly where it doesn't remove a dot if a line with text starts with a dot.
To fix:
Will switch to using go's standard package textproto, using the DotReader.
Additionally, this is an opportunity to change Envelope.Data to a bytes.Buffer, so that the buffer can be re-used after it is placed back in the pool.
The textproto package could also be used for header parsing too.
The text was updated successfully, but these errors were encountered: