forward,recall: fix charsets in part attachment
Fix charset to UTF-8 in part attachments. The forward and recall commands fetch message parts with the go-message package which decodes to UTF-8. Hence, we should set the charset of the part attachment to utf-8 and not just copying over the one from the original message. Reported-by: Bence Ferdinandy <bence@ferdinandy.com> Signed-off-by: Koni Marti <koni.marti@gmail.com> Acked-by: Robin Jarry <robin@jarry.cc>
This commit is contained in:
parent
d2f4f12f66
commit
c6561d32a8
3 changed files with 23 additions and 4 deletions
commands/msg
|
@ -198,12 +198,13 @@ func (forward) Execute(aerc *widgets.Aerc, args []string) error {
|
|||
}
|
||||
store.FetchBodyPart(msg.Uid, p, func(reader io.Reader) {
|
||||
mime := fmt.Sprintf("%s/%s", bs.MIMEType, bs.MIMESubType)
|
||||
name, ok := bs.Params["name"]
|
||||
params := lib.SetUtf8Charset(bs.Params)
|
||||
name, ok := params["name"]
|
||||
if !ok {
|
||||
name = fmt.Sprintf("%s_%s_%d", bs.MIMEType, bs.MIMESubType, rand.Uint64())
|
||||
}
|
||||
mu.Lock()
|
||||
composer.AddPartAttachment(name, mime, bs.Params, reader)
|
||||
composer.AddPartAttachment(name, mime, params, reader)
|
||||
mu.Unlock()
|
||||
})
|
||||
}
|
||||
|
|
|
@ -204,12 +204,13 @@ func (Recall) Execute(aerc *widgets.Aerc, args []string) error {
|
|||
}
|
||||
msg.FetchBodyPart(p, func(reader io.Reader) {
|
||||
mime := fmt.Sprintf("%s/%s", bs.MIMEType, bs.MIMESubType)
|
||||
name, ok := bs.Params["name"]
|
||||
params := lib.SetUtf8Charset(bs.Params)
|
||||
name, ok := params["name"]
|
||||
if !ok {
|
||||
name = fmt.Sprintf("%s_%s_%d", bs.MIMEType, bs.MIMESubType, rand.Uint64())
|
||||
}
|
||||
mu.Lock()
|
||||
composer.AddPartAttachment(name, mime, bs.Params, reader)
|
||||
composer.AddPartAttachment(name, mime, params, reader)
|
||||
mu.Unlock()
|
||||
})
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue