From 192f8ebd28f53319540fb78bc821a49f5237ec28 Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Sat, 21 Dec 2024 14:38:08 +0100 Subject: [PATCH] imapserver: include partial offset in BINARY FETCH response See https://www.rfc-editor.org/errata/eid8217 --- imapserver/fetch.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/imapserver/fetch.go b/imapserver/fetch.go index b04b72c2..adadc4a8 100644 --- a/imapserver/fetch.go +++ b/imapserver/fetch.go @@ -433,7 +433,11 @@ func (w *FetchResponseWriter) WriteBinarySection(section *imap.FetchItemBinarySe enc.Atom("BINARY").Special('[') writeSectionPart(enc, section.Part) - enc.Special(']').SP() + enc.Special(']') + if partial := section.Partial; partial != nil { + enc.Special('<').Number(uint32(partial.Offset)).Special('>') + } + enc.SP() enc.Special('~') // indicates literal8 return w.enc.Literal(size) }