Skip to content

Comments

✨ Support BINARY extention to #append (RFC3516) #616

Merged
nevans merged 4 commits intomasterfrom
add-binary-append
Feb 24, 2026
Merged

✨ Support BINARY extention to #append (RFC3516) #616
nevans merged 4 commits intomasterfrom
add-binary-append

Conversation

@nevans
Copy link
Collaborator

@nevans nevans commented Feb 20, 2026

This adds the ability to send binary literal8 (which were already supported by the parser for #fetch and #uid_fetch) and automatically uses literal8 when the #append message includes NULL bytes.

This does not check the server's capabilities. Users still need to check the capabilities themselves, and servers that don't support BINARY should refuse the binary literal continuation request (with NO).

This also validates that Net::IMAP::Literal doesn't contain NULL bytes. It's currently only used by #append and #id, but more code will be refactored to use it in the (near?) future.

`Net::IMAP::Literal` is currently only used by `#append` and `#id`, but
more code will be refactored to use it in the (near?) future.
This adds the ability to send binary `literal8`, which were already
supported by the parser for `FETCH`, and automatically uses `literal8`
when the `#append` message includes `NULL` bytes.
@nevans nevans added the enhancement New feature or request label Feb 20, 2026
@nevans nevans merged commit 26436f3 into master Feb 24, 2026
39 checks passed
@nevans nevans deleted the add-binary-append branch February 24, 2026 20:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant