aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuilhem Moulin <guilhem@fripost.org>2019-11-08 06:53:19 +0100
committerGuilhem Moulin <guilhem@fripost.org>2019-11-08 22:07:26 +0100
commitd08ee23dccf56af292a9616986e58cc39386e3fb (patch)
tree6e552f66230050a09b4c63c352f10c18b3568561
parent37ebe331178e2b7d225a31f64463aef5448d4970 (diff)
Remove deprecated/buggy 'o' regexp modifier.
-rwxr-xr-xinterimap7
-rw-r--r--lib/Net/IMAP/InterIMAP.pm11
-rwxr-xr-xpullimap3
3 files changed, 12 insertions, 9 deletions
diff --git a/interimap b/interimap
index 87c3a64..f170ded 100755
--- a/interimap
+++ b/interimap
@@ -636,6 +636,10 @@ sub sync_mailbox_list() {
state $sth_subscribe = $DBH->prepare(q{
UPDATE mailboxes SET subscribed = ? WHERE idx = ?
});
+ state $ignore_mailbox = do {
+ my $re = $CONF->{_}->{"ignore-mailbox"};
+ defined $re ? qr/$re/ : undef
+ };
foreach my $name (qw/local remote/) {
foreach my $mbx (keys %{$IMAP->{$name}->{mailboxes}}) {
@@ -645,8 +649,7 @@ sub sync_mailbox_list() {
# exclude ignored mailboxes (taken from the default config as it doesn't
# make sense to ignore mailboxes from one side but not the other
- next if !@ARGV and defined $CONF->{_}->{"ignore-mailbox"}
- and $mbx =~ /$CONF->{_}->{"ignore-mailbox"}/o;
+ next if !@ARGV and defined $ignore_mailbox and $mbx =~ $ignore_mailbox;
$mailboxes{$mbx} = 1;
}
}
diff --git a/lib/Net/IMAP/InterIMAP.pm b/lib/Net/IMAP/InterIMAP.pm
index 3d5bdcf..77c1b14 100644
--- a/lib/Net/IMAP/InterIMAP.pm
+++ b/lib/Net/IMAP/InterIMAP.pm
@@ -1408,10 +1408,10 @@ sub _ssl_error($$@) {
# RFC 3986 appendix A
my $RE_IPv4 = do {
my $dec = qr/[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]/;
- qr/$dec(?:\.$dec){3}/o };
+ qr/$dec(?:\.$dec){3}/ };
my $RE_IPv6 = do {
my $h16 = qr/[0-9A-Fa-f]{1,4}/;
- my $ls32 = qr/$h16:$h16|$RE_IPv4/o;
+ my $ls32 = qr/$h16:$h16|$RE_IPv4/;
qr/ (?: $h16 : ){6} $ls32
| :: (?: $h16 : ){5} $ls32
| (?: $h16 )? :: (?: $h16 : ){4} $ls32
@@ -1421,7 +1421,7 @@ my $RE_IPv6 = do {
| (?: (?: $h16 : ){0,4} $h16 )? :: $ls32
| (?: (?: $h16 : ){0,5} $h16 )? :: $h16
| (?: (?: $h16 : ){0,6} $h16 )? ::
- /xo };
+ /x };
# Opens a TCP socket to the given $host and $port.
@@ -1429,11 +1429,10 @@ sub _tcp_connect($$$) {
my ($self, $host, $port) = @_;
my %hints = (socktype => SOCK_STREAM, protocol => IPPROTO_TCP);
- if ($host =~ qr/\A$RE_IPv4\z/o) {
+ if ($host =~ qr/\A$RE_IPv4\z/) {
$hints{family} = AF_INET;
$hints{flags} |= AI_NUMERICHOST;
- }
- elsif ($host =~ qr/\A\[($RE_IPv6)\]\z/o) {
+ } elsif ($host =~ qr/\A\[($RE_IPv6)\]\z/) {
$host = $1;
$hints{family} = AF_INET6;
$hints{flags} |= AI_NUMERICHOST;
diff --git a/pullimap b/pullimap
index dcbe59b..f983fe1 100755
--- a/pullimap
+++ b/pullimap
@@ -286,6 +286,7 @@ my $ATTRS = "ENVELOPE INTERNALDATE";
$ATTRS .= " BODY.PEEK[]" unless $CONFIG{'no-delivery'};
my $RE_ATOM = qr/[\x21\x23-\x27\x2A\x2B\x2D\x2F-\x39\x3D\x3F\x41-\x5A\x5E-\x7E]+/;
+my $DOT_STRING = qr/\A$RE_ATOM(?:\.$RE_ATOM)*\z/;
sub pull_callback($$) {
my ($uids, $mail) = @_;
return unless exists $mail->{RFC822} or $CONFIG{'no-delivery'}; # not for us
@@ -294,7 +295,7 @@ sub pull_callback($$) {
my $e = $mail->{ENVELOPE}->[3];
my $sender = '';
if (defined $e and defined (my $l = $e->[0]->[2]) and defined (my $d = $e->[0]->[3])) {
- if ($l =~ /\A$RE_ATOM(?:\.$RE_ATOM)*\z/o) {
+ if ($l =~ $DOT_STRING) {
$sender = $l.'@'.$d;
} elsif ($l =~ /\A[\x20-\x7E]*\z/) {
# quote the local part if not Dot-string (RFC 5321)