aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorVitaly Ovchinnikov <v@ovch.ru>2024-04-03 12:25:05 +0000
committerRobin Jarry <robin@jarry.cc>2024-04-03 21:33:12 +0200
commit65332c233880c9609ea39af22ee677e98f4cba1b (patch)
treeb5c37fd5ff225bd1bfe75cc2eea7b7e5db167598 /lib
parent4cbd116f034813216955540567f333f237de1bbe (diff)
downloadaerc-65332c233880c9609ea39af22ee677e98f4cba1b.tar.gz
send: prevent sending if multipart conversion failed
Given the following configuration: binds.conf: [compose::review] y = :multipart text/html<Enter>:send<Enter> aerc.conf: [multipart-converters] text/html = /path/to/some/script.sh /path/to/some/script.sh: #!/bin/sh exit 10 # falls for some reason When you press `y` aerc runs `:multipart` command and although it gets an error from the converter script, the error is ignored and then the `:send` command actually sends a broken message. Add ConversionError field to Composer.Part to track multipart conversion errors. Check for conversion errors in :send, block sending if the errors are found. There is no way to skip this like missing attachment or empty subject. This is done intentionally. The user needs to update or delete the problematic part before actually sending a message. Signed-off-by: Vitaly Ovchinnikov <v@ovch.ru> Acked-by: Robin Jarry <robin@jarry.cc>
Diffstat (limited to 'lib')
-rw-r--r--lib/attachment.go7
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/attachment.go b/lib/attachment.go
index aa3cd108..6f29da55 100644
--- a/lib/attachment.go
+++ b/lib/attachment.go
@@ -16,9 +16,10 @@ import (
)
type Part struct {
- MimeType string
- Params map[string]string
- Data []byte
+ MimeType string
+ Params map[string]string
+ Data []byte
+ ConversionError error
}
func NewPart(mimetype string, params map[string]string, body io.Reader,