As part of haraka/Haraka#2737 which was included in Haraka since 2.8.26, there was an unexpected change of the type of Body.body_text_encoded from string to Buffer. Moreover, the new Buffer is of fixed size and requires Buffer.slice() to get actual contents.
Of course, it is a question to Haraka developers about reasons to change types in patch-level release, but it is possible that they're treating Body.body_text_encoded as an internal property.
Anyway, this change caused getBodyOfTypeFromChildren function to return a 64kb string mostly filled with \u0000 chars in a case if body_text_encoded was selected as a source.
As part of haraka/Haraka#2737 which was included in Haraka since 2.8.26, there was an unexpected change of the type of
Body.body_text_encodedfromstringtoBuffer. Moreover, the newBufferis of fixed size and requiresBuffer.slice()to get actual contents.Of course, it is a question to Haraka developers about reasons to change types in patch-level release, but it is possible that they're treating
Body.body_text_encodedas an internal property.Anyway, this change caused
getBodyOfTypeFromChildrenfunction to return a 64kb string mostly filled with\u0000chars in a case ifbody_text_encodedwas selected as a source.