summaryrefslogtreecommitdiff
path: root/lib/JWebmail/Model/ReadMails/QMailAuthuser.pm
diff options
context:
space:
mode:
authorJannis M. Hoffmann <jannis@fehcom.de>2023-03-02 17:34:20 +0100
committerJannis M. Hoffmann <jannis@fehcom.de>2023-03-02 17:34:20 +0100
commit1b09b3a26141c22f37b6ab3ed9af15fcbddd18f8 (patch)
tree78661ebc3a01a2a5255e9d101793e6950a8b5160 /lib/JWebmail/Model/ReadMails/QMailAuthuser.pm
parent3e51e5465c9db91494b972d28a96cdae428c12b7 (diff)
Bugfixes
1. correctly read mime parts 2. avoid encoding issues when parsing json form qmauth 3. use 'replace' instead of 'strict' error handling when decoding mails in qmauth.py
Diffstat (limited to 'lib/JWebmail/Model/ReadMails/QMailAuthuser.pm')
-rw-r--r--lib/JWebmail/Model/ReadMails/QMailAuthuser.pm17
1 files changed, 10 insertions, 7 deletions
diff --git a/lib/JWebmail/Model/ReadMails/QMailAuthuser.pm b/lib/JWebmail/Model/ReadMails/QMailAuthuser.pm
index 956c137..a61cf01 100644
--- a/lib/JWebmail/Model/ReadMails/QMailAuthuser.pm
+++ b/lib/JWebmail/Model/ReadMails/QMailAuthuser.pm
@@ -193,7 +193,7 @@ sub execute {
close $writer
or die 'closing write pipe failed';
- binmode $reader, ':encoding(UTF-8)';
+ #binmode $reader, ':encoding(UTF-8)';
my $input = <$reader>;
close $reader
or die 'closing read pipe failed';
@@ -203,12 +203,15 @@ sub execute {
my $resp;
if ($rc == 3 || $rc == 0) {
- eval { $resp = decode_json $input; 1 }
- or $resp = {
- info => "error decoding response",
- response => $input,
- cause => $@,
- return_code => $rc,
+ eval { $resp = decode_json $input if $input; 1 }
+ or do {
+ $resp = {
+ info => "error decoding response",
+ response => $input,
+ cause => $@,
+ return_code => $rc,
+ };
+ $rc = 3;
};
}
elsif ($rc) {