You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by mm...@apache.org on 2014/11/19 02:44:02 UTC
svn commit: r1640462 -
/spamassassin/trunk/lib/Mail/SpamAssassin/Util/TinyRedis.pm
Author: mmartinec
Date: Wed Nov 19 01:44:02 2014
New Revision: 1640462
URL: http://svn.apache.org/r1640462
Log:
Util::TinyRedis: allow a scoped / link-local IP address specification (avoid current limitation in IO::Socket::IP [rt.cpan.org #89608])
Modified:
spamassassin/trunk/lib/Mail/SpamAssassin/Util/TinyRedis.pm
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Util/TinyRedis.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Util/TinyRedis.pm?rev=1640462&r1=1640461&r2=1640462&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Util/TinyRedis.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Util/TinyRedis.pm Wed Nov 19 01:44:02 2014
@@ -69,9 +69,12 @@ sub connect {
if ($server =~ m{^/}) {
$sock = IO::Socket::UNIX->new(
Peer => $server, Type => SOCK_STREAM);
- } else {
+ } elsif ($server =~ /^(?: \[ ([^\]]+) \] | ([^:]+) ) : ([^:]+) \z/xs) {
+ $server = defined $1 ? $1 : $2; my $port = $3;
$sock = $io_socket_module_name->new(
- PeerAddr => $server, Proto => 'tcp');
+ PeerAddr => $server, PeerPort => $port, Proto => 'tcp');
+ } else {
+ die "Invalid 'server:port' specification: $server";
}
if ($sock) {
$self->{sock} = $sock;