🔒 Verify SASL authentication has completed #179
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.
The client is responsible for raising an error if the command completes successfully but "done?" returns false.
This is needed in order to correctly implement
SCRAM-*
:Without this PR, if the server returns OK before sending its final message, then we can't satisfy the following requirement from the RFC:
Note that this PR adds
Net::IMAP::SASL::Error
(inheriting fromStandardError
, not fromNet::IMAP::Error
) and three subclasses:AuthenticationFailed
,AuthenticationError
, andAuthenticationCancelled
.Note that even
EXTERNAL
andANONYMOUS
send data (the authorization identity or the anonymous message/email), so even they are not done untilprocess
has been called at least once.