starttls: Clear unencrypted commands from buffer #380
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What do these changes do?
When a STARTTLS command is not the last one in a pipeline, extra unencrypted commands may treated as part of the encrypted communication, effectively allowing to bypass the
ALLOWED_BEFORE_STARTTLS
list used whenrequire_starttls=True
. This PR adds a buffer flush to ensure it does not happen.Are there changes in behavior for the user?
No behaviour change. Documentation reflects the changes already.
Related issue number
None.
Checklist
{py36,py37,py38,py39}-{nocov,cov,diffcov}, qa, docs
{py36,py37,py38,py39}-{nocov,cov,diffcov}
{py36,py37,py38,py39}-{nocov,cov,diffcov}, pypy3-{nocov,cov}, qa, docs
{py36,pypy3}-{nocov,cov,diffcov}, qa
py36-{nocov,cov,diffcov}, qa, docs
NEWS.rst
file