]> Sergey Matveev's repositories - public-inbox.git/commitdiff
net_reader: support Mail::IMAPClient Ignoresizeerrors
authorEric Wong <e@80x24.org>
Thu, 9 Sep 2021 05:25:05 +0000 (05:25 +0000)
committerEric Wong <e@80x24.org>
Thu, 9 Sep 2021 05:42:58 +0000 (05:42 +0000)
Some proprietary servers may do wacky things and give the
wrong size, so Mail::IMAPClient has a knob for this which
we can expose to users to workaround this.

lib/PublicInbox/NetReader.pm

index 181741f6aaf0e2eced14b38a88b7aa0f53dc38a3..a0e52fc5abd18fccc2d600893f72559a3562883e 100644 (file)
@@ -285,12 +285,16 @@ sub imap_common_init ($;$) {
        my $mic_common = {}; # scheme://authority => Mail:IMAPClient arg
        for my $uri (@{$self->{imap_order}}) {
                my $sec = uri_section($uri);
-               for my $k (qw(Starttls Debug Compress)) {
+
+               # knobs directly for Mail::IMAPClient->new
+               for my $k (qw(Starttls Debug Compress Ignoresizeerrors)) {
                        my $bool = cfg_bool($cfg, "imap.$k", $$uri) // next;
                        $mic_common->{$sec}->{$k} = $bool;
                }
                my $to = cfg_intvl($cfg, 'imap.timeout', $$uri);
                $mic_common->{$sec}->{Timeout} = $to if $to;
+
+               # knobs we use ourselves:
                my $sa = socks_args($cfg->urlmatch('imap.Proxy', $$uri));
                $self->{cfg_opt}->{$sec}->{-proxy_cfg} = $sa if $sa;
                for my $k (qw(pollInterval idleInterval)) {