summarylogtreecommitdiffstats
path: root/alps-fix-156.patch
diff options
context:
space:
mode:
authorÓscar García Amor2022-05-08 11:17:10 +0200
committerÓscar García Amor2022-05-08 11:17:10 +0200
commit8089e0224816adf4a6fcbe3bfbc85b28022f8de5 (patch)
tree52d6d216f741c7749f841f9499e4f0fd3414c551 /alps-fix-156.patch
parentec86aadd58da0488d8be56c7931ea91c9ba3eec6 (diff)
downloadaur-8089e0224816adf4a6fcbe3bfbc85b28022f8de5.tar.gz
upgpkg: alps 2022.07.05-1
upstream release
Diffstat (limited to 'alps-fix-156.patch')
-rw-r--r--alps-fix-156.patch29
1 files changed, 29 insertions, 0 deletions
diff --git a/alps-fix-156.patch b/alps-fix-156.patch
new file mode 100644
index 000000000000..9172f9847b08
--- /dev/null
+++ b/alps-fix-156.patch
@@ -0,0 +1,29 @@
+--- a/plugins/base/imap.go 2022-05-08 10:19:23.329157653 +0200
++++ b/plugins/base/imap.go 2022-05-08 10:23:38.878395784 +0200
+@@ -530,14 +530,23 @@
+ }
+
+ ch := make(chan *imap.Message, 1)
+- if err := conn.UidFetch(seqSet, fetch, ch); err != nil {
+- return nil, nil, fmt.Errorf("failed to fetch message: %v", err)
+- }
++ done := make(chan error, 1)
++ go func() {
++ done <- conn.UidFetch(seqSet, fetch, ch)
++ }()
+
++ // There may be multiple FETCH data responses.
++ // Keep the first message and discard the rest.
+ msg := <-ch
+ if msg == nil {
+ return nil, nil, fmt.Errorf("server didn't return message")
+ }
++ for range ch {
++ }
++
++ if err := <-done; err != nil {
++ return nil, nil, fmt.Errorf("failed to fetch message: %v", err)
++ }
+
+ body := msg.GetBody(&partHeaderSection)
+ if body == nil {