On Wed, Jul 28, 2010 at 10:30:52PM +0900, Sohgo Takeuchi wrote: > > Hi, > > I found a bug in ldirectord and attach a patch to fix this > problem to this E-mail. > > If a underscore is contained in a service-name of > hostname:servicename > (ex. real=realserver.example.com:pipe_server), it leads to a > configuration error. Thanks Takeuchi-san, I have applied the change as follows. http://hg.linux-ha.org/agents/rev/bfcc4e050a07 # HG changeset patch # User Sohgo Takeuchi <sohgo@xxxxxxxxxxxxxxxx> # Date 1280360397 -32400 # Node ID bfcc4e050a07f5e8a9e52010d2072d39e0641964 # Parent df0d9559130c836c2a1987a6699e4ce49d9a0bfd Medium: ldirectord: allow underscore in service name If a underscore is contained in a service-name of hostname:servicename (ex. real=realserver.example.com:pipe_server), it leads to a configuration error. Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> diff -r df0d9559130c -r bfcc4e050a07 ldirectord/ldirectord.in --- a/ldirectord/ldirectord.in Mon Jul 26 21:40:53 2010 +1000 +++ b/ldirectord/ldirectord.in Thu Jul 29 08:39:57 2010 +0900 @@ -1283,9 +1283,9 @@ my $virtual_line = $line; my $fallback_line; my @rsrv_todo; - if ($vattr =~ /^(\d+\.\d+\.\d+\.\d+):([0-9A-Za-z]+)/) { + if ($vattr =~ /^(\d+\.\d+\.\d+\.\d+):([0-9A-Za-z-_]+)/) { $virtual_id = $ip_port = "$1:$2"; - } elsif ($vattr =~ /^([0-9A-Za-z._+-]+):([0-9A-Za-z]+)/) { + } elsif ($vattr =~ /^([0-9A-Za-z._+-]+):([0-9A-Za-z-_]+)/) { $virtual_id = $ip_port = "$1:$2"; } elsif ($vattr =~ /^(\d+)/){ $virtual_id = $fwm = $1; @@ -1887,7 +1887,7 @@ for $i (@$rsrv_todo) { ($str, $line)=@$i; - $str =~ /(\d+\.\d+\.\d+\.\d+|[A-Za-z0-9.-]+|\[[0-9A-fa-f:]+\])(->(\d+\.\d+\.\d+\.\d+|[A-Za-z0-9.-]+|\[[0-9A-fa-f:]+\]))?(:(\d+|[A-Za-z0-9-]+))?\s+(.*)/ + $str =~ /(\d+\.\d+\.\d+\.\d+|[A-Za-z0-9.-]+|\[[0-9A-fa-f:]+\])(->(\d+\.\d+\.\d+\.\d+|[A-Za-z0-9.-]+|\[[0-9A-fa-f:]+\]))?(:(\d+|[A-Za-z0-9-_]+))?\s+(.*)/ or &config_error($line, "invalid address for real server" . " (wrong format)"); @@ -4957,12 +4957,12 @@ my $ip; my $port; - if ($hostserv =~ /(\[[0-9A-Fa-f:]+\])(:(\d+|[A-Za-z0-9-]+))?/) { + if ($hostserv =~ /(\[[0-9A-Fa-f:]+\])(:(\d+|[A-Za-z0-9-_]+))?/) { $ip=$1; $port=$3; } else { $hostserv =~ - /(\d+\.\d+\.\d+\.\d+|[A-Za-z0-9.-]+)(:(\d+|[A-Za-z0-9-]+))?/ + /(\d+\.\d+\.\d+\.\d+|[A-Za-z0-9.-]+)(:(\d+|[A-Za-z0-9-_]+))?/ or return(undef); $ip=$1; $port=$3; -- To unsubscribe from this list: send the line "unsubscribe lvs-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html