Correctly parse BCCs that correspond to the newline character #24
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.
Summary
This fixes a parsing bug which occurs when the block check character of the data message happens to be the newline character.
Background
The previously used regex for the BCC
.
doesn't normally match newlines while the end-of-line character$
matches before the newline. This lead to the situation that the BCC was not recognized as such when its byte value happened to correspond to the newline character. Instead, the$
would match it and the resulting message would fail parsing due to a lack of a BCC.After this change the
\A
and\Z
characters as replacements for^
and$
in combination with theDOTALL
flag lead to correct parsing behavior.