[Debian-ha-maintainers] Bug#594958: ldirectord real gate request config doesn't work due to buggy regex
Edward Z. Yang
ezyang at MIT.EDU
Tue Aug 31 04:31:46 UTC 2010
Package: ldirectord
Version: 1:1.0.3-3~bpo50+1
Severity: important
Tags: patch
Our LVS setup uses ldirectord's real configuration option to check
if servers were alive.
real=18.181.0.53 gate "heartbeat/services", "1"
Upon upgrading to the latest version of ldirectord on lenny-backports,
we noticed that this code was not working (and we correspondingly did
not have a primary).
Debugging the ldirectord process revealed that it was improperly
making an HTTP request with an invalid host field of 'http'. Checking
the source code, we found the following bug in the regex for check_http:
--- /usr/sbin/ldirectord.orig 2010-08-31 00:13:52.000000000 -0400
+++ /usr/sbin/ldirectord 2010-08-31 00:14:25.000000000 -0400
@ -2703,7 +2703,7 @
my ($v, $r) = @_;
$$r{url} =~ /(http|https):\/\/([^:\/]+)(:([^\/]+))?(\/.*)/;
- my $host = $1;
+ my $host = $2;
#my $port = $3;
my $uri = $4;
my $virtualhost = (defined $$v{virtualhost} ? $$v{virtualhost} : $host);
-- System Information:
Debian Release: lenny/lenny-backports
Architecture: i386 (i686)
More information about the Debian-ha-maintainers
mailing list