aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Net/IMAP/InterIMAP.pm
diff options
context:
space:
mode:
authorGuilhem Moulin <guilhem@fripost.org>2019-05-10 01:03:50 +0200
committerGuilhem Moulin <guilhem@fripost.org>2019-05-27 00:07:28 +0200
commit2be6268e01a368817b27cdbbee7b2641ec1653c6 (patch)
tree86dc02194cd68e1d10b7b36979722948ee241a85 /lib/Net/IMAP/InterIMAP.pm
parent87e1211a4bd101bf6909f42eda826711af7066ae (diff)
libinterimap: bugfix: fix escaped hierarchy delimiters in LIST reponses.
The were returned as escaped quoted specials, like "\\", not as a single character (backslash in this case).
Diffstat (limited to 'lib/Net/IMAP/InterIMAP.pm')
-rw-r--r--lib/Net/IMAP/InterIMAP.pm4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/Net/IMAP/InterIMAP.pm b/lib/Net/IMAP/InterIMAP.pm
index a773f08..37616f4 100644
--- a/lib/Net/IMAP/InterIMAP.pm
+++ b/lib/Net/IMAP/InterIMAP.pm
@@ -16,7 +16,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#----------------------------------------------------------------------
-package Net::IMAP::InterIMAP v0.0.4;
+package Net::IMAP::InterIMAP v0.0.5;
use warnings;
use strict;
@@ -2368,7 +2368,7 @@ sub _resp($$;&$$) {
$self->panic($_) unless $_ eq '';
$mailbox = 'INBOX' if uc $mailbox eq 'INBOX'; # INBOX is case-insensitive
undef $delim if uc $delim eq 'NIL';
- $delim =~ s/\A"(.*)"\z/$1/ if defined $delim;
+ $self->panic($_) if defined $delim and $delim !~ s/\A"\\?(.)"\z/$1/;
$self->_update_cache_for($mailbox, DELIMITER => $delim);
$self->_update_cache_for($mailbox, LIST_ATTRIBUTES => \@attrs);
$callback->($mailbox, $delim, @attrs) if defined $callback and $cmd eq 'LIST';