]> git.g-eek.se Git - interimap.git/commitdiff
Don't warn that no compression is enabled if the server doesn't support it.
authorGuilhem Moulin <guilhem@fripost.org>
Thu, 10 Sep 2015 18:19:36 +0000 (20:19 +0200)
committerGuilhem Moulin <guilhem@fripost.org>
Thu, 10 Sep 2015 18:36:57 +0000 (20:36 +0200)
lib/Net/IMAP/InterIMAP.pm

index ee8677ad42a9f5f10e2dc972e9bd75da03ec56a6..076ec19e201ebebcb80e81fdc748cc84ebc04229 100644 (file)
@@ -371,7 +371,7 @@ sub new($%) {
             @caps = $self->capabilities();
         }
 
-        my @mechs = ('LOGIN', grep defined, map { /^AUTH=(.+)/ ? $1 : undef } @caps);
+        my @mechs = ('LOGIN', grep defined, map { /^AUTH=(.+)/i ? $1 : undef } @caps);
         my $mech = (grep defined, map {my $m = $_; (grep {$m eq $_} @mechs) ? $m : undef}
                                       split(/ /, $self->{auth}))[0];
         $self->fail("Failed to choose an authentication mechanism") unless defined $mech;
@@ -411,9 +411,9 @@ sub new($%) {
     $self->{_STATE} = 'AUTH';
 
     # Don't send the COMPRESS command before STARTTLS or AUTH, as per RFC 4978
-    if (uc ($self->{compress} // 'NO') eq 'YES') {
+    if (uc ($self->{compress} // 'NO') eq 'YES' and
+            my @algos = grep defined, map { /^COMPRESS=(.+)/i ? uc $1 : undef } @{$self->{_CAPABILITIES}}) {
         my @supported = qw/DEFLATE/; # supported compression algorithms
-        my @algos = grep defined, map { /^COMPRESS=(.+)/ ? uc $1 : undef } @{$self->{_CAPABILITIES}};
         my $algo = first { my $x = $_; grep {$_ eq $x} @algos } @supported;
         if (!defined $algo) {
             $self->warn("Couldn't find a suitable compression algorithm. Not enabling compression.");