fix(parser): accept mismatched terminal codes - #169
Merged
Conversation
Accept non-standard multiline replies that finish with a different status code while preserving FEAT continuation handling.
|
✔️ e2b4d97 - Conventional commits check succeeded. |
Owner
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Description
Restores the intent of #168 by accepting non-standard multiline FTP replies whose terminal line uses a different three-digit status code. The parser now returns that terminal status in the sync, Tokio, and smol backends while preserving the existing FEAT flow, where the
211-opener must be returned before feature lines are read. This supports servers such as glFTPd without regressing FEAT parsing.Adds deterministic regression tests for mismatched terminal codes and FEAT parsing across all three backends.
Related to #168.
Checklist
just check_codepasses locally.CHANGELOG.mdis generated from them at release time).AI Disclosure
OpenAI Codex was used to inspect PR #168, reason about the FEAT regression, implement and test the fix, and prepare this commit and PR. I reviewed the diff and test results and take responsibility for the contribution.