Skip to content

Comments

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

Open
nevans wants to merge 4 commits intomasterfrom
add-binary-append
Open

✨ Support BINARY extention to #append (RFC3516) #616
nevans wants to merge 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
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