--- /dev/null
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+use IO::Socket::INET;
+use Getopt::Long;
+
+my $port = 80;
+my $wait = 0;
+my $help = 0;
+
+my $result = GetOptions(
+ "port=i" => \$port,
+ "wait=i" => \$wait,
+ "help" => \$help,
+);
+usage() if (!$result || $help);
+
+server($port, $wait);
+
+# listen server
+sub server {
+ my ($port, $wait) = @_;
+
+ my $sock = IO::Socket::INET->new(
+ LocalAddr => "0:$port",
+ Listen => 5,
+ ReuseAddr => 1,
+ ) || die $!;
+
+ my $client = $sock->accept;
+
+ sleep $wait if $wait;
+
+ # read request
+ while (<$client>) {
+ # send response
+ print $client $_;
+ }
+}
+
+sub usage {
+ die <<"END";
+Usage: $0 [OPTION] FILE [FILE...]
+
+ -p PORT listen port (default 80)
+ -w N wait N seconds before send response
+END
+}
--- /dev/null
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+use IO::Socket::INET;
+use IO::Select;
+use Getopt::Long;
+
+my $addr = "127.0.0.1";
+my $port = 80;
+my $wait = 0;
+my $help = 0;
+my $time = 0;
+my $timeout = 5;
+
+my $result = GetOptions(
+ "addr=s" => \$addr,
+ "port=i" => \$port,
+ "wait=i" => \$wait,
+ "time=i" => \$time,
+ "stop=i" => \$timeout,
+ "help" => \$help,
+);
+my @files = @ARGV;
+usage() if (!$result || $help);
+
+client($addr, $port, $wait, $timeout, @files);
+
+# connect server
+sub client {
+ my ($addr, $port, $wait, $timeout, @files) = @_;
+
+ my $server = IO::Socket::INET->new(
+ PeerAddr => "$addr:$port",
+ Timeout => 5,
+ ) || die $!;
+
+ my $select = IO::Select->new;
+ $select->add($server);
+
+ for my $file (@files) {
+ # request data
+ my $data = read_file($file);
+
+ sleep $wait if $wait;
+
+ # send request
+ if (!$time) {
+ print $server $data;
+ } else {
+ send_slow_request($server, $data, $time);
+ }
+ }
+
+ # receive response
+ while ($select->can_read($timeout)) {
+ my $buffer;
+ sysread $server, $buffer, 1000;
+ last if !$buffer;
+ print $buffer;
+ }
+ $server->close;
+}
+
+# send request just in $time sec.
+sub send_slow_request {
+ my ($sock, $data, $time) = @_;
+ my $length = length $data;
+ if ($length < $time) {
+ sleep $time - $length;
+ $time = $length;
+ }
+ my $chunk_length = int ($length / $time);
+ my @data = split //, $data;
+ my $sent = 0;
+ for (@data) {
+ print $sock $_;
+ $sent++;
+ if ($sent >= $chunk_length) {
+ $sent = 0;
+ sleep 1;
+ }
+ }
+}
+
+sub read_file {
+ my $file = shift;
+ my $data = '';
+ open my $fh, "<", $file or die $!;
+ $data .= $_ while <$fh>;
+ close $fh;
+ $data;
+}
+
+sub usage {
+ die <<"END";
+Usage: $0 [OPTION] FILE [FILE...]
+
+ -a ADDR connect address (default 127.0.0.1)
+ -p PORT connect port (default 80)
+ -w N wait N seconds before send request
+ -t N send request spending just N seconds
+ -s N timeout N seconds (default 5)
+END
+}
return 1
}
+stop_l7vsd() {
+ # stop l7vsd
+ start_msg=`$INIT_L7VSD stop 2>&1`
+
+ ps aux | grep $L7VSD | grep -v grep >/dev/null 2>&1
+
+ # check the socket file
+ # give up if 2 seconds passed
+ for i in `seq 1 200`; do
+ [ ! -e $l7vsd_sockfile ] && return 0
+ usleep 10000
+ done
+
+ echo "Test failed: l7vsd socket file still exists(${l7vsd_sockfile})"
+ return 1
+}
+
start_l7directord() {
# start l7directord
start_msg=`$INIT_L7DIRECTORD start 2>&1`
. ${SET_DEFAULT_CONF}
\cp ./materials/l7directord-4-4-37-l7directord.cf ${L7DIRECTORD_CONF_DIR}/l7directord.cf
-# Run server (wait 2 sec. SMTP)
+# Run server (wait 5 sec. SMTP)
PATH=$PATH:$COMMON_SCRIPT_DIR
test_server -p 20000 -w 5 ./materials/l7directord-4-4-37-response1.txt ./materials/l7directord-4-4-37-response2.txt ./materials/l7directord-4-4-37-response3.txt &
--- /dev/null
+GET / HTTP/1.0\r
+Content-length: 4000\r
+\r
+0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\r
--- /dev/null
+GET / HTTP/1.0\r
+X-Forwarded-For: 127.0.0.1\r
+Content-length: 4000\r
+\r
+0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\r
+++ /dev/null
-GET / HTTP/1.0\r
-Content-length: 10\r
-\r
-esttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttesttesttesttesttesttestttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest\r
-\r
--- /dev/null
+GET / HTTP/1.0\r
+Content-length: 4053\r
+\r
+0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123\r
--- /dev/null
+GET / HTTP/1.0\r
+X-Forwarded-For: 127.0.0.1\r
+Content-length: 4053\r
+\r
+0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123\r
+++ /dev/null
-GET / HTTP/1.0\r
-Content-length: 10\r
-\r
-testtesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttesttesttesttesttesttestttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttestt\r
-\r
--- /dev/null
+realserver
+realserver
+realserver
+realserver
+realserver
--- /dev/null
+sorryserver
--- /dev/null
+GET / HTTP/1.0\r
+Content-length: 4100\r
+\r
+01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\r
--- /dev/null
+GET / HTTP/1.0\r
+X-Forwarded-For: 127.0.0.1\r
+Content-length: 4100\r
+\r
+01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\r
+++ /dev/null
-GET / HTTP/1.0\r
-Content-length: 10\r
-\r
-testtesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttestesttesttesttesttesttesttesttesttesttestttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest\r
-\r
--- /dev/null
+GET / HTTP/1.0\r
+Content-length: 4000\r
+\r
+0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\r
--- /dev/null
+GET / HTTP/1.0\r
+X-Forwarded-For: 127.0.0.1\r
+Content-length: 4000\r
+\r
+0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\r
--- /dev/null
+GET / HTTP/1.0\r
+Content-length: 4026\r
+\r
+012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345\r
--- /dev/null
+GET / HTTP/1.0\r
+X-Forwarded-For: 127.0.0.1\r
+Content-length: 4026\r
+\r
+012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345\r
--- /dev/null
+GET / HTTP/1.0\r
+Content-length: 4100\r
+\r
+01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\r
--- /dev/null
+GET / HTTP/1.0\r
+X-Forwarded-For: 127.0.0.1\r
+Content-length: 4100\r
+\r
+01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\r
--- /dev/null
+#!/bin/bash
+
+# set config file
+. ${SET_DEFAULT_CONF}
+
+PATH=$PATH:$COMMON_SCRIPT_DIR
+
+# start l7vsd
+start_l7vsd || exit 1
+
+$L7VSADM -A -t 127.0.0.1:40001 -m sessionless -F
+if [ $? -ne 0 ]
+then
+ echo "Test failed: $L7VSADM -A -t 127.0.0.1:40001 -m sessionless -F"
+ exit 1
+fi
+$L7VSADM -a -t 127.0.0.1:40001 -m sessionless -r 127.0.0.1:50001
+if [ $? -ne 0 ]
+then
+ echo "Test failed: $L7VSADM -a -t 127.0.0.1:40001 -m sessionless -r 127.0.0.1:50001"
+ exit 1
+fi
+
+# echo server
+echo_server -p 50001 &
+
+# send request
+response=`test_client2 -p 40001 -s 1 materials/session-1-request.txt`
+if [ "$response" != "`cat materials/session-1-response.txt`" ]; then
+ echo "Test failed: response diff error"
+ exit 1
+fi
+exit 0
--- /dev/null
+#!/bin/bash
+
+# set config file
+. ${SET_DEFAULT_CONF}
+
+PATH=$PATH:$COMMON_SCRIPT_DIR
+
+# start l7vsd
+start_l7vsd || exit 1
+
+$L7VSADM -A -t 127.0.0.1:40001 -m sessionless -F
+if [ $? -ne 0 ]
+then
+ echo "Test failed: $L7VSADM -A -t 127.0.0.1:40001 -m sessionless -F"
+ exit 1
+fi
+$L7VSADM -a -t 127.0.0.1:40001 -m sessionless -r 127.0.0.1:50001
+if [ $? -ne 0 ]
+then
+ echo "Test failed: $L7VSADM -a -t 127.0.0.1:40001 -m sessionless -r 127.0.0.1:50001"
+ exit 1
+fi
+
+# echo server
+echo_server -p 50001 &
+
+# send request
+response=`test_client2 -p 40001 -s 1 materials/session-2-request.txt`
+if [ "$response" != "`cat materials/session-2-response.txt`" ]; then
+ echo "Test failed: response diff error"
+ exit 1
+fi
+exit 0
--- /dev/null
+#!/bin/bash
+
+# set config file
+. ${SET_DEFAULT_CONF}
+
+PATH=$PATH:$COMMON_SCRIPT_DIR
+
+# start l7vsd
+start_l7vsd || exit 1
+
+$L7VSADM -A -t 127.0.0.1:40001 -m sessionless -b 127.0.0.1:20000 -f 0
+if [ $? -ne 0 ]
+then
+ echo "Test failed: $L7VSADM -A -t 127.0.0.1:40001 -m sessionless -b 127.0.0.1:20000 -f 0"
+ exit 1
+fi
+$L7VSADM -a -t 127.0.0.1:40001 -m sessionless -r 127.0.0.1:30000
+if [ $? -ne 0 ]
+then
+ echo "Test failed: $L7VSADM -a -t 127.0.0.1:40001 -m sessionless -r 127.0.0.1:30000"
+ exit 1
+fi
+
+# temp file
+tmp_file="/tmp/`uuidgen`.log"
+
+cleanup() {
+ killall test_server
+ killall test_client2
+ rm $tmp_file
+}
+
+# sorry server
+test_server -p 20000 materials/session-20-sorryresponse.txt &
+
+# real server
+test_server -p 30000 -t 3 materials/session-20-realresponse.txt &
+
+# send request
+test_client2 -p 40001 > $tmp_file &
+
+sleep 1
+
+# enable sorry flag
+$L7VSADM -E -t 127.0.0.1:40001 -m sessionless -b 127.0.0.1:20000 -f 1
+if [ $? -ne 0 ]
+then
+ cleanup
+ echo "Test failed: $L7VSADM -E -t 127.0.0.1:40001 -m sessionless -b 127.0.0.1:20000 -f 1"
+ exit 1
+fi
+
+sleep 1
+
+grep realserver $tmp_file > /dev/null 2>&1
+if [ $? -ne 0 ]; then
+ cleanup
+ echo "Test failed: Not connected to realserver."
+ exit 1
+fi
+
+grep sorryserver $tmp_file > /dev/null 2>&1
+if [ $? -ne 0 ]; then
+ cleanup
+ echo "Test failed: Not connected to sorryserver."
+ exit 1
+fi
+
+cleanup
+exit 0
--- /dev/null
+#!/bin/bash
+
+# set config file
+. ${SET_DEFAULT_CONF}
+
+PATH=$PATH:$COMMON_SCRIPT_DIR
+
+# start l7vsd
+start_l7vsd || exit 1
+
+$L7VSADM -A -t 127.0.0.1:40001 -m sessionless -F
+if [ $? -ne 0 ]
+then
+ echo "Test failed: $L7VSADM -A -t 127.0.0.1:40001 -m sessionless -F"
+ exit 1
+fi
+$L7VSADM -a -t 127.0.0.1:40001 -m sessionless -r 127.0.0.1:50001
+if [ $? -ne 0 ]
+then
+ echo "Test failed: $L7VSADM -a -t 127.0.0.1:40001 -m sessionless -r 127.0.0.1:50001"
+ exit 1
+fi
+
+# echo server
+echo_server -p 50001 &
+
+# send request
+response=`test_client2 -p 40001 -s 1 materials/session-3-request.txt`
+if [ "$response" != "`cat materials/session-3-response.txt`" ]; then
+ echo "Test failed: response diff error"
+ exit 1
+fi
+exit 0
--- /dev/null
+#!/bin/bash
+
+# set config file
+. ${SET_DEFAULT_CONF}
+
+PATH=$PATH:$COMMON_SCRIPT_DIR
+
+# start l7vsd
+start_l7vsd || exit 1
+
+$L7VSADM -A -t 127.0.0.1:40001 -m sessionless -F
+if [ $? -ne 0 ]
+then
+ echo "Test failed: $L7VSADM -A -t 127.0.0.1:40001 -m sessionless -F"
+ exit 1
+fi
+$L7VSADM -a -t 127.0.0.1:40001 -m sessionless -r 127.0.0.1:50001
+if [ $? -ne 0 ]
+then
+ echo "Test failed: $L7VSADM -a -t 127.0.0.1:40001 -m sessionless -r 127.0.0.1:50001"
+ exit 1
+fi
+
+# echo server
+echo_server -p 50001 &
+
+# send request
+response=`test_client2 -p 40001 -s 1 materials/session-4-request.txt`
+if [ "$response" != "`cat materials/session-4-response.txt`" ]; then
+ echo "Test failed: response diff error"
+ exit 1
+fi
+exit 0
--- /dev/null
+#!/bin/bash
+
+# set config file
+. ${SET_DEFAULT_CONF}
+
+PATH=$PATH:$COMMON_SCRIPT_DIR
+
+# start l7vsd
+start_l7vsd || exit 1
+
+$L7VSADM -A -t 127.0.0.1:40001 -m sessionless -F
+if [ $? -ne 0 ]
+then
+ echo "Test failed: $L7VSADM -A -t 127.0.0.1:40001 -m sessionless -F"
+ exit 1
+fi
+$L7VSADM -a -t 127.0.0.1:40001 -m sessionless -r 127.0.0.1:50001
+if [ $? -ne 0 ]
+then
+ echo "Test failed: $L7VSADM -a -t 127.0.0.1:40001 -m sessionless -r 127.0.0.1:50001"
+ exit 1
+fi
+
+# echo server
+echo_server -p 50001 &
+
+# send request
+response=`test_client2 -p 40001 -s 1 materials/session-5-request.txt`
+if [ "$response" != "`cat materials/session-5-response.txt`" ]; then
+ echo "Test failed: response diff error"
+ exit 1
+fi
+exit 0
--- /dev/null
+#!/bin/bash
+
+# set config file
+. ${SET_DEFAULT_CONF}
+
+PATH=$PATH:$COMMON_SCRIPT_DIR
+
+# start l7vsd
+start_l7vsd || exit 1
+
+$L7VSADM -A -t 127.0.0.1:40001 -m sessionless -F
+if [ $? -ne 0 ]
+then
+ echo "Test failed: $L7VSADM -A -t 127.0.0.1:40001 -m sessionless -F"
+ exit 1
+fi
+$L7VSADM -a -t 127.0.0.1:40001 -m sessionless -r 127.0.0.1:50001
+if [ $? -ne 0 ]
+then
+ echo "Test failed: $L7VSADM -a -t 127.0.0.1:40001 -m sessionless -r 127.0.0.1:50001"
+ exit 1
+fi
+
+# echo server
+echo_server -p 50001 &
+
+# send request
+response=`test_client2 -p 40001 -s 1 materials/session-6-request.txt`
+if [ "$response" != "`cat materials/session-6-response.txt`" ]; then
+ echo "Test failed: response diff error"
+ exit 1
+fi
+exit 0
--- /dev/null
+#
+# UltraMonkey - L7 configuration file
+# Copyright (C) 2008-2009 NTT COMWARE Corporation.
+# License: GNU General Public License (GPL)
+#
+#
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301 USA
+#
+#
+# Rivision History.
+# 3.0.0 MultiThread version release.
+# 1.2.0 First verion release.(version was put together l7vsd)
+# - 2008/03/26 Norihisa Nakai.
+
+
+#
+# l7vs log setting
+#
+[logger]
+# l7vsd logfile base name
+l7vsd_log_filename = "/var/log/l7vs/l7vsd.log"
+# l7vsd log rotate pattern
+l7vsd_rotation = "size"
+# l7vsd rotate max backup number
+l7vsd_max_backup_index = "10"
+# l7vsd rotate file size
+l7vsd_max_filesize = "10M"
+
+# l7vsd access log rotate pattern
+l7vsd_accesslog_rotate_type = "size"
+# l7vsd access rotate max backup number
+l7vsd_accesslog_rotate_max_backup_index = "10"
+# l7vsd access rotate file size
+l7vsd_accesslog_rotate_max_filesize = "10M"
+
+# l7vsd log categories level
+l7vsd_network = "warn"
+l7vsd_network_qos = "warn"
+l7vsd_network_bandwidth = "warn"
+l7vsd_network_num_connection = "warn"
+l7vsd_network_access = "warn"
+l7vsd_mainthread = "warn"
+l7vsd_virtualservice = "debug"
+l7vsd_virtualservice_thread = "warn"
+l7vsd_session = "warn"
+l7vsd_session_thread = "warn"
+l7vsd_realserver = "warn"
+l7vsd_sorryserver = "warn"
+l7vsd_module = "warn"
+l7vsd_replication = "warn"
+l7vsd_replication_sendthread = "warn"
+l7vsd_parameter = "warn"
+l7vsd_logger = "warn"
+l7vsd_command = "warn"
+l7vsd_start_stop = "warn"
+l7vsd_system = "warn"
+l7vsd_system_memory = "warn"
+l7vsd_system_endpoint = "warn"
+l7vsd_system_signal = "warn"
+l7vsd_system_environment = "warn"
+l7vsd_snmpagent = "warn"
+
+l7vsd_protocol = "warn"
+l7vsd_schedule = "warn"
+
+# l7vsadm log file base name
+l7vsadm_log_filename = "/var/log/l7vs/l7vsadm.log"
+# l7vsadm rotate pattern
+l7vsadm_rotation = "date"
+# l7vsadm rotate max backup number
+l7vsadm_max_backup_index = "10"
+# l7vsadm rotate timing ( every month rotate )
+l7vsadm_rotation_timing = "month"
+# l7vsadm rotate timing ( day and time )
+l7vsadm_rotation_timing_value = "1 0:01"
+
+# l7vsadm log categories level
+l7vsadm_parse = "warn"
+l7vsadm_operate = "warn"
+l7vsadm_config_result = "warn"
+l7vsadm_common = "warn"
+l7vsadm_logger = "warn"
+l7vsadm_parameter = "warn"
+l7vsadm_module = "warn"
+
+l7vsadm_protocol = "warn"
+l7vsadm_schedule = "warn"
+
+#
+# l7vsadm setting
+#
+[l7vsadm]
+cmd_interval = 1
+cmd_count = 10
+
+#
+# l7vsd setting
+#
+[l7vsd]
+maxfileno = 65535
+
+#
+# virtualservice setting
+#
+[virtualservice]
+session_thread_pool_size = 2
+throughput_calc_interval = 500
+
+#
+# l7vsd replication setting
+#
+[replication]
+#ip_addr = "192.168.0.254"
+#service_name = "40000"
+#recv_ip_addr = "192.168.0.253"
+#interval = 1000
+#compulsorily_interval = 40
+
+#cmponent_id_00 = "virtualservice"
+#cmponent_size_00 = 64
+#cmponent_id_01 = "chash"
+#cmponent_size_01 = 1
+#cmponent_id_02 = "sslid"
+#cmponent_size_02 = 222
+
+#
+# snmpagent settings
+#
+[snmpagent]
+enable = "false"
+cache_update_interval = 1
+logtrap = "false"
+logtrap_level = "warn"
+qos_up_alert_on = 85
+qos_up_alert_off = 50
+qos_down_alert_on = 85
+qos_down_alert_off = 50
+sessionpool_alert_on = 5
+sessionpool_alert_off = 8
+trap_queue_polling_interval = 100000000
+trap_queue_max_size = 1000
--- /dev/null
+#
+# UltraMonkey - L7 configuration file
+# Copyright (C) 2008-2009 NTT COMWARE Corporation.
+# License: GNU General Public License (GPL)
+#
+#
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301 USA
+#
+#
+# Rivision History.
+# 3.0.0 MultiThread version release.
+# 1.2.0 First verion release.(version was put together l7vsd)
+# - 2008/03/26 Norihisa Nakai.
+
+
+#
+# l7vs log setting
+#
+[logger]
+# l7vsd logfile base name
+l7vsd_log_filename = "/var/log/l7vs/l7vsd.log"
+# l7vsd log rotate pattern
+l7vsd_rotation = "size"
+# l7vsd rotate max backup number
+l7vsd_max_backup_index = "10"
+# l7vsd rotate file size
+l7vsd_max_filesize = "10M"
+
+# l7vsd access log rotate pattern
+l7vsd_accesslog_rotate_type = "size"
+# l7vsd access rotate max backup number
+l7vsd_accesslog_rotate_max_backup_index = "10"
+# l7vsd access rotate file size
+l7vsd_accesslog_rotate_max_filesize = "10M"
+
+# l7vsd log categories level
+l7vsd_network = "warn"
+l7vsd_network_qos = "warn"
+l7vsd_network_bandwidth = "warn"
+l7vsd_network_num_connection = "warn"
+l7vsd_network_access = "warn"
+l7vsd_mainthread = "warn"
+l7vsd_virtualservice = "debug"
+l7vsd_virtualservice_thread = "warn"
+l7vsd_session = "warn"
+l7vsd_session_thread = "warn"
+l7vsd_realserver = "warn"
+l7vsd_sorryserver = "warn"
+l7vsd_module = "warn"
+l7vsd_replication = "warn"
+l7vsd_replication_sendthread = "warn"
+l7vsd_parameter = "warn"
+l7vsd_logger = "warn"
+l7vsd_command = "warn"
+l7vsd_start_stop = "warn"
+l7vsd_system = "warn"
+l7vsd_system_memory = "warn"
+l7vsd_system_endpoint = "warn"
+l7vsd_system_signal = "warn"
+l7vsd_system_environment = "warn"
+l7vsd_snmpagent = "warn"
+
+l7vsd_protocol = "warn"
+l7vsd_schedule = "warn"
+
+# l7vsadm log file base name
+l7vsadm_log_filename = "/var/log/l7vs/l7vsadm.log"
+# l7vsadm rotate pattern
+l7vsadm_rotation = "date"
+# l7vsadm rotate max backup number
+l7vsadm_max_backup_index = "10"
+# l7vsadm rotate timing ( every month rotate )
+l7vsadm_rotation_timing = "month"
+# l7vsadm rotate timing ( day and time )
+l7vsadm_rotation_timing_value = "1 0:01"
+
+# l7vsadm log categories level
+l7vsadm_parse = "warn"
+l7vsadm_operate = "warn"
+l7vsadm_config_result = "warn"
+l7vsadm_common = "warn"
+l7vsadm_logger = "warn"
+l7vsadm_parameter = "warn"
+l7vsadm_module = "warn"
+
+l7vsadm_protocol = "warn"
+l7vsadm_schedule = "warn"
+
+#
+# l7vsadm setting
+#
+[l7vsadm]
+cmd_interval = 1
+cmd_count = 10
+
+#
+# l7vsd setting
+#
+[l7vsd]
+maxfileno = 65535
+
+#
+# virtualservice setting
+#
+[virtualservice]
+session_thread_pool_size = 32
+throughput_calc_interval = 500
+
+#
+# l7vsd replication setting
+#
+[replication]
+#ip_addr = "192.168.0.254"
+#service_name = "40000"
+#recv_ip_addr = "192.168.0.253"
+#interval = 1000
+#compulsorily_interval = 40
+
+#cmponent_id_00 = "virtualservice"
+#cmponent_size_00 = 64
+#cmponent_id_01 = "chash"
+#cmponent_size_01 = 1
+#cmponent_id_02 = "sslid"
+#cmponent_size_02 = 222
+
+#
+# snmpagent settings
+#
+[snmpagent]
+enable = "false"
+cache_update_interval = 1
+logtrap = "false"
+logtrap_level = "warn"
+qos_up_alert_on = 85
+qos_up_alert_off = 50
+qos_down_alert_on = 85
+qos_down_alert_off = 50
+sessionpool_alert_on = 5
+sessionpool_alert_off = 8
+trap_queue_polling_interval = 100000000
+trap_queue_max_size = 1000
--- /dev/null
+HTTP/1.1 200 OK
+Content-Length: 150
+Connection: close
+Content-Type: text/html; charset=UTF-8
+
+11111111111111111111111111111
+22222222222222222222222222222
+33333333333333333333333333333
+44444444444444444444444444444
+55555555555555555555555555555
--- /dev/null
+HTTP/1.1 200 OK
+Content-Length: 150
+Connection: close
+Content-Type: text/html; charset=UTF-8
+
+11111111111111111111111111111
+22222222222222222222222222222
+33333333333333333333333333333
+44444444444444444444444444444
+55555555555555555555555555555
--- /dev/null
+#
+# UltraMonkey - L7 configuration file
+# Copyright (C) 2008-2009 NTT COMWARE Corporation.
+# License: GNU General Public License (GPL)
+#
+#
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301 USA
+#
+#
+# Rivision History.
+# 3.0.0 MultiThread version release.
+# 1.2.0 First verion release.(version was put together l7vsd)
+# - 2008/03/26 Norihisa Nakai.
+
+
+#
+# l7vs log setting
+#
+[logger]
+# l7vsd logfile base name
+l7vsd_log_filename = "/var/log/l7vs/l7vsd.log"
+# l7vsd log rotate pattern
+l7vsd_rotation = "size"
+# l7vsd rotate max backup number
+l7vsd_max_backup_index = "10"
+# l7vsd rotate file size
+l7vsd_max_filesize = "10M"
+
+# l7vsd access log rotate pattern
+l7vsd_accesslog_rotate_type = "size"
+# l7vsd access rotate max backup number
+l7vsd_accesslog_rotate_max_backup_index = "10"
+# l7vsd access rotate file size
+l7vsd_accesslog_rotate_max_filesize = "10M"
+
+# l7vsd log categories level
+l7vsd_network = "warn"
+l7vsd_network_qos = "warn"
+l7vsd_network_bandwidth = "warn"
+l7vsd_network_num_connection = "warn"
+l7vsd_network_access = "warn"
+l7vsd_mainthread = "warn"
+l7vsd_virtualservice = "warn"
+l7vsd_virtualservice_thread = "debug"
+l7vsd_session = "warn"
+l7vsd_session_thread = "warn"
+l7vsd_realserver = "warn"
+l7vsd_sorryserver = "warn"
+l7vsd_module = "warn"
+l7vsd_replication = "warn"
+l7vsd_replication_sendthread = "warn"
+l7vsd_parameter = "warn"
+l7vsd_logger = "warn"
+l7vsd_command = "warn"
+l7vsd_start_stop = "warn"
+l7vsd_system = "warn"
+l7vsd_system_memory = "warn"
+l7vsd_system_endpoint = "warn"
+l7vsd_system_signal = "warn"
+l7vsd_system_environment = "warn"
+l7vsd_snmpagent = "warn"
+
+l7vsd_protocol = "warn"
+l7vsd_schedule = "warn"
+
+# l7vsadm log file base name
+l7vsadm_log_filename = "/var/log/l7vs/l7vsadm.log"
+# l7vsadm rotate pattern
+l7vsadm_rotation = "date"
+# l7vsadm rotate max backup number
+l7vsadm_max_backup_index = "10"
+# l7vsadm rotate timing ( every month rotate )
+l7vsadm_rotation_timing = "month"
+# l7vsadm rotate timing ( day and time )
+l7vsadm_rotation_timing_value = "1 0:01"
+
+# l7vsadm log categories level
+l7vsadm_parse = "warn"
+l7vsadm_operate = "warn"
+l7vsadm_config_result = "warn"
+l7vsadm_common = "warn"
+l7vsadm_logger = "warn"
+l7vsadm_parameter = "warn"
+l7vsadm_module = "warn"
+
+l7vsadm_protocol = "warn"
+l7vsadm_schedule = "warn"
+
+#
+# l7vsadm setting
+#
+[l7vsadm]
+cmd_interval = 1
+cmd_count = 10
+
+#
+# l7vsd setting
+#
+[l7vsd]
+maxfileno = 65535
+
+#
+# virtualservice setting
+#
+[virtualservice]
+session_thread_pool_size = 32
+throughput_calc_interval = 1000
+
+#
+# l7vsd replication setting
+#
+[replication]
+#ip_addr = "192.168.0.254"
+#service_name = "40000"
+#recv_ip_addr = "192.168.0.253"
+#interval = 1000
+#compulsorily_interval = 40
+
+#cmponent_id_00 = "virtualservice"
+#cmponent_size_00 = 64
+#cmponent_id_01 = "chash"
+#cmponent_size_01 = 1
+#cmponent_id_02 = "sslid"
+#cmponent_size_02 = 222
+
+#
+# snmpagent settings
+#
+[snmpagent]
+enable = "false"
+cache_update_interval = 1
+logtrap = "false"
+logtrap_level = "warn"
+qos_up_alert_on = 85
+qos_up_alert_off = 50
+qos_down_alert_on = 85
+qos_down_alert_off = 50
+sessionpool_alert_on = 5
+sessionpool_alert_off = 8
+trap_queue_polling_interval = 100000000
+trap_queue_max_size = 1000
--- /dev/null
+#
+# UltraMonkey - L7 configuration file
+# Copyright (C) 2008-2009 NTT COMWARE Corporation.
+# License: GNU General Public License (GPL)
+#
+#
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301 USA
+#
+#
+# Rivision History.
+# 3.0.0 MultiThread version release.
+# 1.2.0 First verion release.(version was put together l7vsd)
+# - 2008/03/26 Norihisa Nakai.
+
+
+#
+# l7vs log setting
+#
+[logger]
+# l7vsd logfile base name
+l7vsd_log_filename = "/var/log/l7vs/l7vsd.log"
+# l7vsd log rotate pattern
+l7vsd_rotation = "size"
+# l7vsd rotate max backup number
+l7vsd_max_backup_index = "10"
+# l7vsd rotate file size
+l7vsd_max_filesize = "10M"
+
+# l7vsd access log rotate pattern
+l7vsd_accesslog_rotate_type = "size"
+# l7vsd access rotate max backup number
+l7vsd_accesslog_rotate_max_backup_index = "10"
+# l7vsd access rotate file size
+l7vsd_accesslog_rotate_max_filesize = "10M"
+
+# l7vsd log categories level
+l7vsd_network = "warn"
+l7vsd_network_qos = "warn"
+l7vsd_network_bandwidth = "warn"
+l7vsd_network_num_connection = "warn"
+l7vsd_network_access = "warn"
+l7vsd_mainthread = "warn"
+l7vsd_virtualservice = "warn"
+l7vsd_virtualservice_thread = "debug"
+l7vsd_session = "warn"
+l7vsd_session_thread = "warn"
+l7vsd_realserver = "warn"
+l7vsd_sorryserver = "warn"
+l7vsd_module = "warn"
+l7vsd_replication = "warn"
+l7vsd_replication_sendthread = "warn"
+l7vsd_parameter = "warn"
+l7vsd_logger = "warn"
+l7vsd_command = "warn"
+l7vsd_start_stop = "warn"
+l7vsd_system = "warn"
+l7vsd_system_memory = "warn"
+l7vsd_system_endpoint = "warn"
+l7vsd_system_signal = "warn"
+l7vsd_system_environment = "warn"
+l7vsd_snmpagent = "warn"
+
+l7vsd_protocol = "warn"
+l7vsd_schedule = "warn"
+
+# l7vsadm log file base name
+l7vsadm_log_filename = "/var/log/l7vs/l7vsadm.log"
+# l7vsadm rotate pattern
+l7vsadm_rotation = "date"
+# l7vsadm rotate max backup number
+l7vsadm_max_backup_index = "10"
+# l7vsadm rotate timing ( every month rotate )
+l7vsadm_rotation_timing = "month"
+# l7vsadm rotate timing ( day and time )
+l7vsadm_rotation_timing_value = "1 0:01"
+
+# l7vsadm log categories level
+l7vsadm_parse = "warn"
+l7vsadm_operate = "warn"
+l7vsadm_config_result = "warn"
+l7vsadm_common = "warn"
+l7vsadm_logger = "warn"
+l7vsadm_parameter = "warn"
+l7vsadm_module = "warn"
+
+l7vsadm_protocol = "warn"
+l7vsadm_schedule = "warn"
+
+#
+# l7vsadm setting
+#
+[l7vsadm]
+cmd_interval = 1
+cmd_count = 10
+
+#
+# l7vsd setting
+#
+[l7vsd]
+maxfileno = 65535
+
+#
+# virtualservice setting
+#
+[virtualservice]
+session_thread_pool_size = 32
+throughput_calc_interval = invalid
+
+#
+# l7vsd replication setting
+#
+[replication]
+#ip_addr = "192.168.0.254"
+#service_name = "40000"
+#recv_ip_addr = "192.168.0.253"
+#interval = 1000
+#compulsorily_interval = 40
+
+#cmponent_id_00 = "virtualservice"
+#cmponent_size_00 = 64
+#cmponent_id_01 = "chash"
+#cmponent_size_01 = 1
+#cmponent_id_02 = "sslid"
+#cmponent_size_02 = 222
+
+#
+# snmpagent settings
+#
+[snmpagent]
+enable = "false"
+cache_update_interval = 1
+logtrap = "false"
+logtrap_level = "warn"
+qos_up_alert_on = 85
+qos_up_alert_off = 50
+qos_down_alert_on = 85
+qos_down_alert_off = 50
+sessionpool_alert_on = 5
+sessionpool_alert_off = 8
+trap_queue_polling_interval = 100000000
+trap_queue_max_size = 1000
--- /dev/null
+#
+# UltraMonkey - L7 configuration file
+# Copyright (C) 2008-2009 NTT COMWARE Corporation.
+# License: GNU General Public License (GPL)
+#
+#
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301 USA
+#
+#
+# Rivision History.
+# 3.0.0 MultiThread version release.
+# 1.2.0 First verion release.(version was put together l7vsd)
+# - 2008/03/26 Norihisa Nakai.
+
+
+#
+# l7vs log setting
+#
+[logger]
+# l7vsd logfile base name
+l7vsd_log_filename = "/var/log/l7vs/l7vsd.log"
+# l7vsd log rotate pattern
+l7vsd_rotation = "size"
+# l7vsd rotate max backup number
+l7vsd_max_backup_index = "10"
+# l7vsd rotate file size
+l7vsd_max_filesize = "10M"
+
+# l7vsd access log rotate pattern
+l7vsd_accesslog_rotate_type = "size"
+# l7vsd access rotate max backup number
+l7vsd_accesslog_rotate_max_backup_index = "10"
+# l7vsd access rotate file size
+l7vsd_accesslog_rotate_max_filesize = "10M"
+
+# l7vsd log categories level
+l7vsd_network = "warn"
+l7vsd_network_qos = "warn"
+l7vsd_network_bandwidth = "warn"
+l7vsd_network_num_connection = "warn"
+l7vsd_network_access = "warn"
+l7vsd_mainthread = "warn"
+l7vsd_virtualservice = "warn"
+l7vsd_virtualservice_thread = "warn"
+l7vsd_session = "warn"
+l7vsd_session_thread = "warn"
+l7vsd_realserver = "warn"
+l7vsd_sorryserver = "warn"
+l7vsd_module = "warn"
+l7vsd_replication = "warn"
+l7vsd_replication_sendthread = "warn"
+l7vsd_parameter = "warn"
+l7vsd_logger = "warn"
+l7vsd_command = "warn"
+l7vsd_start_stop = "warn"
+l7vsd_system = "warn"
+l7vsd_system_memory = "warn"
+l7vsd_system_endpoint = "warn"
+l7vsd_system_signal = "warn"
+l7vsd_system_environment = "warn"
+l7vsd_snmpagent = "warn"
+
+l7vsd_protocol = "warn"
+l7vsd_schedule = "warn"
+
+# l7vsadm log file base name
+l7vsadm_log_filename = "/var/log/l7vs/l7vsadm.log"
+# l7vsadm rotate pattern
+l7vsadm_rotation = "date"
+# l7vsadm rotate max backup number
+l7vsadm_max_backup_index = "10"
+# l7vsadm rotate timing ( every month rotate )
+l7vsadm_rotation_timing = "month"
+# l7vsadm rotate timing ( day and time )
+l7vsadm_rotation_timing_value = "1 0:01"
+
+# l7vsadm log categories level
+l7vsadm_parse = "warn"
+l7vsadm_operate = "warn"
+l7vsadm_config_result = "warn"
+l7vsadm_common = "warn"
+l7vsadm_logger = "warn"
+l7vsadm_parameter = "warn"
+l7vsadm_module = "warn"
+
+l7vsadm_protocol = "warn"
+l7vsadm_schedule = "warn"
+
+#
+# l7vsadm setting
+#
+[l7vsadm]
+cmd_interval = 1
+cmd_count = 10
+
+#
+# l7vsd setting
+#
+[l7vsd]
+maxfileno = 65535
+
+#
+# virtualservice setting
+#
+[virtualservice]
+session_thread_pool_size = 32
+throughput_calc_interval = 500
+num_of_core_uses = 1
+
+#
+# l7vsd replication setting
+#
+[replication]
+#ip_addr = "192.168.0.254"
+#service_name = "40000"
+#recv_ip_addr = "192.168.0.253"
+#interval = 1000
+#compulsorily_interval = 40
+
+#cmponent_id_00 = "virtualservice"
+#cmponent_size_00 = 64
+#cmponent_id_01 = "chash"
+#cmponent_size_01 = 1
+#cmponent_id_02 = "sslid"
+#cmponent_size_02 = 222
+
+#
+# snmpagent settings
+#
+[snmpagent]
+enable = "false"
+cache_update_interval = 1
+logtrap = "false"
+logtrap_level = "warn"
+qos_up_alert_on = 85
+qos_up_alert_off = 50
+qos_down_alert_on = 85
+qos_down_alert_off = 50
+sessionpool_alert_on = 5
+sessionpool_alert_off = 8
+trap_queue_polling_interval = 100000000
+trap_queue_max_size = 1000
--- /dev/null
+#
+# UltraMonkey - L7 configuration file
+# Copyright (C) 2008-2009 NTT COMWARE Corporation.
+# License: GNU General Public License (GPL)
+#
+#
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301 USA
+#
+#
+# Rivision History.
+# 3.0.0 MultiThread version release.
+# 1.2.0 First verion release.(version was put together l7vsd)
+# - 2008/03/26 Norihisa Nakai.
+
+
+#
+# l7vs log setting
+#
+[logger]
+# l7vsd logfile base name
+l7vsd_log_filename = "/var/log/l7vs/l7vsd.log"
+# l7vsd log rotate pattern
+l7vsd_rotation = "size"
+# l7vsd rotate max backup number
+l7vsd_max_backup_index = "10"
+# l7vsd rotate file size
+l7vsd_max_filesize = "10M"
+
+# l7vsd access log rotate pattern
+l7vsd_accesslog_rotate_type = "size"
+# l7vsd access rotate max backup number
+l7vsd_accesslog_rotate_max_backup_index = "10"
+# l7vsd access rotate file size
+l7vsd_accesslog_rotate_max_filesize = "10M"
+
+# l7vsd log categories level
+l7vsd_network = "warn"
+l7vsd_network_qos = "warn"
+l7vsd_network_bandwidth = "warn"
+l7vsd_network_num_connection = "warn"
+l7vsd_network_access = "warn"
+l7vsd_mainthread = "warn"
+l7vsd_virtualservice = "warn"
+l7vsd_virtualservice_thread = "warn"
+l7vsd_session = "warn"
+l7vsd_session_thread = "warn"
+l7vsd_realserver = "warn"
+l7vsd_sorryserver = "warn"
+l7vsd_module = "warn"
+l7vsd_replication = "warn"
+l7vsd_replication_sendthread = "warn"
+l7vsd_parameter = "warn"
+l7vsd_logger = "warn"
+l7vsd_command = "warn"
+l7vsd_start_stop = "warn"
+l7vsd_system = "warn"
+l7vsd_system_memory = "warn"
+l7vsd_system_endpoint = "warn"
+l7vsd_system_signal = "warn"
+l7vsd_system_environment = "warn"
+l7vsd_snmpagent = "warn"
+
+l7vsd_protocol = "warn"
+l7vsd_schedule = "warn"
+
+# l7vsadm log file base name
+l7vsadm_log_filename = "/var/log/l7vs/l7vsadm.log"
+# l7vsadm rotate pattern
+l7vsadm_rotation = "date"
+# l7vsadm rotate max backup number
+l7vsadm_max_backup_index = "10"
+# l7vsadm rotate timing ( every month rotate )
+l7vsadm_rotation_timing = "month"
+# l7vsadm rotate timing ( day and time )
+l7vsadm_rotation_timing_value = "1 0:01"
+
+# l7vsadm log categories level
+l7vsadm_parse = "warn"
+l7vsadm_operate = "warn"
+l7vsadm_config_result = "warn"
+l7vsadm_common = "warn"
+l7vsadm_logger = "warn"
+l7vsadm_parameter = "warn"
+l7vsadm_module = "warn"
+
+l7vsadm_protocol = "warn"
+l7vsadm_schedule = "warn"
+
+#
+# l7vsadm setting
+#
+[l7vsadm]
+cmd_interval = 1
+cmd_count = 10
+
+#
+# l7vsd setting
+#
+[l7vsd]
+maxfileno = 65535
+
+#
+# virtualservice setting
+#
+[virtualservice]
+session_thread_pool_size = 32
+throughput_calc_interval = 500
+num_of_core_uses = invalid
+
+#
+# l7vsd replication setting
+#
+[replication]
+#ip_addr = "192.168.0.254"
+#service_name = "40000"
+#recv_ip_addr = "192.168.0.253"
+#interval = 1000
+#compulsorily_interval = 40
+
+#cmponent_id_00 = "virtualservice"
+#cmponent_size_00 = 64
+#cmponent_id_01 = "chash"
+#cmponent_size_01 = 1
+#cmponent_id_02 = "sslid"
+#cmponent_size_02 = 222
+
+#
+# snmpagent settings
+#
+[snmpagent]
+enable = "false"
+cache_update_interval = 1
+logtrap = "false"
+logtrap_level = "warn"
+qos_up_alert_on = 85
+qos_up_alert_off = 50
+qos_down_alert_on = 85
+qos_down_alert_off = 50
+sessionpool_alert_on = 5
+sessionpool_alert_off = 8
+trap_queue_polling_interval = 100000000
+trap_queue_max_size = 1000
--- /dev/null
+#
+# UltraMonkey - L7 configuration file
+# Copyright (C) 2008-2009 NTT COMWARE Corporation.
+# License: GNU General Public License (GPL)
+#
+#
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301 USA
+#
+#
+# Rivision History.
+# 3.0.0 MultiThread version release.
+# 1.2.0 First verion release.(version was put together l7vsd)
+# - 2008/03/26 Norihisa Nakai.
+
+
+#
+# l7vs log setting
+#
+[logger]
+# l7vsd logfile base name
+l7vsd_log_filename = "/var/log/l7vs/l7vsd.log"
+# l7vsd log rotate pattern
+l7vsd_rotation = "size"
+# l7vsd rotate max backup number
+l7vsd_max_backup_index = "10"
+# l7vsd rotate file size
+l7vsd_max_filesize = "10M"
+
+# l7vsd access log rotate pattern
+l7vsd_accesslog_rotate_type = "size"
+# l7vsd access rotate max backup number
+l7vsd_accesslog_rotate_max_backup_index = "10"
+# l7vsd access rotate file size
+l7vsd_accesslog_rotate_max_filesize = "10M"
+
+# l7vsd log categories level
+l7vsd_network = "warn"
+l7vsd_network_qos = "warn"
+l7vsd_network_bandwidth = "warn"
+l7vsd_network_num_connection = "warn"
+l7vsd_network_access = "warn"
+l7vsd_mainthread = "warn"
+l7vsd_virtualservice = "warn"
+l7vsd_virtualservice_thread = "warn"
+l7vsd_session = "warn"
+l7vsd_session_thread = "warn"
+l7vsd_realserver = "warn"
+l7vsd_sorryserver = "warn"
+l7vsd_module = "warn"
+l7vsd_replication = "warn"
+l7vsd_replication_sendthread = "warn"
+l7vsd_parameter = "warn"
+l7vsd_logger = "warn"
+l7vsd_command = "warn"
+l7vsd_start_stop = "warn"
+l7vsd_system = "warn"
+l7vsd_system_memory = "warn"
+l7vsd_system_endpoint = "warn"
+l7vsd_system_signal = "warn"
+l7vsd_system_environment = "warn"
+l7vsd_snmpagent = "warn"
+
+l7vsd_protocol = "warn"
+l7vsd_schedule = "warn"
+
+# l7vsadm log file base name
+l7vsadm_log_filename = "/var/log/l7vs/l7vsadm.log"
+# l7vsadm rotate pattern
+l7vsadm_rotation = "date"
+# l7vsadm rotate max backup number
+l7vsadm_max_backup_index = "10"
+# l7vsadm rotate timing ( every month rotate )
+l7vsadm_rotation_timing = "month"
+# l7vsadm rotate timing ( day and time )
+l7vsadm_rotation_timing_value = "1 0:01"
+
+# l7vsadm log categories level
+l7vsadm_parse = "warn"
+l7vsadm_operate = "warn"
+l7vsadm_config_result = "warn"
+l7vsadm_common = "warn"
+l7vsadm_logger = "warn"
+l7vsadm_parameter = "warn"
+l7vsadm_module = "warn"
+
+l7vsadm_protocol = "warn"
+l7vsadm_schedule = "warn"
+
+#
+# l7vsadm setting
+#
+[l7vsadm]
+cmd_interval = 1
+cmd_count = 10
+
+#
+# l7vsd setting
+#
+[l7vsd]
+maxfileno = 65535
+
+#
+# virtualservice setting
+#
+[virtualservice]
+session_thread_pool_size = 2
+throughput_calc_interval = 500
+
+#
+# l7vsd replication setting
+#
+[replication]
+#ip_addr = "192.168.0.254"
+#service_name = "40000"
+#recv_ip_addr = "192.168.0.253"
+#interval = 1000
+#compulsorily_interval = 40
+
+#cmponent_id_00 = "virtualservice"
+#cmponent_size_00 = 64
+#cmponent_id_01 = "chash"
+#cmponent_size_01 = 1
+#cmponent_id_02 = "sslid"
+#cmponent_size_02 = 222
+
+#
+# snmpagent settings
+#
+[snmpagent]
+enable = "false"
+cache_update_interval = 1
+logtrap = "false"
+logtrap_level = "warn"
+qos_up_alert_on = 85
+qos_up_alert_off = 50
+qos_down_alert_on = 85
+qos_down_alert_off = 50
+sessionpool_alert_on = 5
+sessionpool_alert_off = 8
+trap_queue_polling_interval = 100000000
+trap_queue_max_size = 1000
--- /dev/null
+# ssl configuration file.
+# /etc/l7vs/sslproxy/sslproxy.target.cf
+
+[ssl]
+# Global configuration.
+timeout_sec = 2
+
+# SSL configuration.
+ca_dir = "/etc/l7vs/sslproxy/"
+ca_file = "root.pem"
+cert_chain_dir = "/etc/l7vs/sslproxy/"
+cert_chain_file = "server.pem"
+private_key_dir = "/etc/l7vs/sslproxy/"
+private_key_file = "server.pem"
+private_key_filetype = "SSL_FILETYPE_PEM"
+#private_key_filetype = "SSL_FILETYPE_ASN1"
+private_key_passwd_dir = "/etc/l7vs/sslproxy/"
+private_key_passwd_file = "passwd.txt"
+verify_options = "SSL_VERIFY_NONE"
+#verify_options = "SSL_VERIFY_PEER"
+#verify_options = "SSL_VERIFY_FAIL_IF_NO_PEER_CERT"
+#verify_options = "SSL_VERIFY_CLIENT_ONCE"
+verify_cert_depth = 9
+#ssl_options = "SSL_OP_MICROSOFT_SESS_ID_BUG"
+#ssl_options = "SSL_OP_NETSCAPE_CHALLENGE_BUG"
+#ssl_options = "SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG"
+#ssl_options = "SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG"
+#ssl_options = "SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER"
+#ssl_options = "SSL_OP_MSIE_SSLV2_RSA_PADDING"
+#ssl_options = "SSL_OP_SSLEAY_080_CLIENT_DH_BUG"
+#ssl_options = "SSL_OP_TLS_D5_BUG"
+#ssl_options = "SSL_OP_TLS_BLOCK_PADDING_BUG"
+#ssl_options = "SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS"
+ssl_options = "SSL_OP_ALL"
+#ssl_options = "SSL_OP_NO_QUERY_MTU"
+#ssl_options = "SSL_OP_COOKIE_EXCHANGE"
+#ssl_options = "SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION"
+#ssl_options = "SSL_OP_SINGLE_ECDH_USE"
+#ssl_options = "SSL_OP_SINGLE_DH_USE"
+#ssl_options = "SSL_OP_EPHEMERAL_RSA"
+#ssl_options = "SSL_OP_CIPHER_SERVER_PREFERENCE"
+#ssl_options = "SSL_OP_TLS_ROLLBACK_BUG"
+ssl_options = "SSL_OP_NO_SSLv2"
+#ssl_options = "SSL_OP_NO_SSLv3"
+#ssl_options = "SSL_OP_NO_TLSv1"
+#ssl_options = "SSL_OP_PKCS1_CHECK_1"
+#ssl_options = "SSL_OP_PKCS1_CHECK_2"
+#ssl_options = "SSL_OP_NETSCAPE_CA_DN_BUG"
+#ssl_options = "SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG"
+#tmp_dh_dir = "/etc/l7vs/sslproxy/"
+#tmp_dh_file = "dh512.pem"
+cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH"
+
+# SSL session cache configuration.
+session_cache = "on"
+session_cache_size = 20480
+session_cache_timeout = 300
--- /dev/null
+#!/bin/bash
+
+. ${SET_DEFAULT_CONF}
+
+#Add Service
+start_l7vsd || exit 1
+
+$L7VSADM -L -c vs -l debug
+$L7VSADM -A -t 127.0.0.1:40001 -m ip
+if [ $? -ne 0 ]
+then
+ echo "Test failed: $L7VSADM -A -t localhost:40001 -m ip"
+ exit 1
+fi
+
+wget -O - -t 1 http://127.0.0.1:40001/ > /dev/null 2>&1
+sleep 1
+
+logfile=/var/log/l7vs/l7vsd.log
+pool_result=`grep pool_session $logfile | awk '{print $8}' | sed 1d | uniq`
+pool_expect="31
+30
+31"
+if [ "$pool_result" != "$pool_expect" ]; then
+ echo "Test failed: Mismatch pool session threads."
+ exit 1
+fi
+
+active_result=`grep active_session $logfile | awk '{print $8}' | uniq`
+active_expect="0
+1
+0"
+if [ "$active_result" != "$active_expect" ]; then
+ echo "Test failed: Mismatch active session threads."
+ exit 1
+fi
+exit 0
+
--- /dev/null
+#!/bin/bash
+
+. ${SET_DEFAULT_CONF}
+\cp -f materials/virtualservice-24-l7vs.cf ${L7VSD_CONF_DIR}/l7vs.cf
+
+PATH=$PATH:$COMMON_SCRIPT_DIR
+
+#Add Service
+start_l7vsd || exit 1
+
+#Run http server
+RealServer1=RealServer1
+RealServer1_ADDR=127.0.0.1
+RealServer1_PORT=50001
+start_lighttpd -s $RealServer1 -a $RealServer1_ADDR -p $RealServer1_PORT
+if [ $? -ne 0 ]
+then
+ echo "Test failed: start_lighttpd RealServer1"
+ exit 1
+fi
+
+# pool size = 2
+$L7VSADM -A -t 127.0.0.1:40001 -m sessionless
+if [ $? -ne 0 ]
+then
+ echo "Test failed: $L7VSADM -A -t localhost:40001 -m sessionless"
+ exit 1
+fi
+$L7VSADM -a -t 127.0.0.1:40001 -m sessionless -r 127.0.0.1:50001
+if [ $? -ne 0 ]
+then
+ echo "Test failed: $L7VSADM -a -t localhost:40001 -m sessionless -r 127.0.0.1:50001"
+ exit 1
+fi
+
+# connect 2 client
+test_client 127.0.0.1 40001 > /dev/null 2>&1 &
+test_client 127.0.0.1 40001 > /dev/null 2>&1 &
+
+# and more (but will be waited)
+test_client 127.0.0.1 40001 > /dev/null 2>&1 &
+
+sleep 1
+
+# kill first client
+pkill -o test_client
+
+# then last client will be accept
+sleep 1
+
+logfile=/var/log/l7vs/l7vsd.log
+active_result=`grep active_session $logfile | awk '{print $8}' | uniq`
+active_expect="0
+1
+2
+1
+2"
+
+# kill all client
+killall test_client
+
+if [ "$active_result" != "$active_expect" ]; then
+ echo "Test failed: Mismatch active session threads."
+ exit 1
+fi
+exit 0
+
--- /dev/null
+#!/bin/bash
+
+. ${SET_DEFAULT_CONF}
+\cp -f materials/virtualservice-25-l7vs.cf ${L7VSD_CONF_DIR}/l7vs.cf
+
+PATH=$PATH:$COMMON_SCRIPT_DIR
+
+#Add Service
+start_l7vsd || exit 1
+
+#Run http server
+RealServer1=RealServer1
+RealServer1_ADDR=127.0.0.1
+RealServer1_PORT=50001
+start_lighttpd -s $RealServer1 -a $RealServer1_ADDR -p $RealServer1_PORT
+if [ $? -ne 0 ]
+then
+ echo "Test failed: start_lighttpd RealServer1"
+ exit 1
+fi
+
+$L7VSADM -A -t 127.0.0.1:40001 -m sessionless
+if [ $? -ne 0 ]
+then
+ echo "Test failed: $L7VSADM -A -t localhost:40001 -m sessionless"
+ exit 1
+fi
+$L7VSADM -a -t 127.0.0.1:40001 -m sessionless -r 127.0.0.1:50001
+
+# connect client
+test_client 127.0.0.1 40001 > /dev/null 2>&1 &
+
+sleep 1
+
+logfile=/var/log/l7vs/l7vsd.log
+pool_result=`grep pool_session $logfile | awk '{print $8}' | sed 1d | uniq`
+pool_expect="31
+30"
+if [ "$pool_result" != "$pool_expect" ]; then
+ echo "Test failed: Mismatch pool session threads."
+ exit 1
+fi
+
+# kill client
+pkill test_client
+
+sleep 1
+
+pool_result=`grep pool_session $logfile | awk '{print $8}' | sed 1d | uniq`
+pool_expect="31
+30
+31"
+if [ "$pool_result" != "$pool_expect" ]; then
+ echo "Test failed: Mismatch pool session threads."
+ exit 1
+fi
+exit 0
+
--- /dev/null
+#!/bin/bash
+
+. ${SET_DEFAULT_CONF}
+
+# Run sorryserver (send in 5 sec)
+PATH=$PATH:$COMMON_SCRIPT_DIR
+test_server -p 20000 -t 5 ./materials/virtualservice-36-response.txt &
+
+# temp file
+tmp_file="/tmp/`uuidgen`.log"
+
+cleanup() {
+ killall test_server
+ killall test_client2
+ rm $tmp_file
+}
+
+#Add Service
+start_l7vsd || exit 1
+
+$L7VSADM -A -t 127.0.0.1:40001 -m sessionless -b 127.0.0.1:20000
+if [ $? -ne 0 ]; then
+ cleanup
+ echo "Test failed: $L7VSADM -A -t 127.0.0.1:40001 -m sessionless -b 127.0.0.1:20000"
+ exit 1
+fi
+
+test_client2 -p 40001 > $tmp_file &
+
+sleep 1
+
+$L7VSADM -a -t 127.0.0.1:40001 -m sessionless -r 127.0.0.1:30000
+if [ $? -ne 0 ]; then
+ cleanup
+ echo "Test failed: $L7VSADM -a -t 127.0.0.1:40001 -m sessionless -r 127.0.0.1:30000"
+ exit 1
+fi
+
+sleep 1
+
+# sorry server connection must be left
+ps aux | grep "test_client2" | grep -v grep > /dev/null 2>&1
+if [ $? -ne 0 ]; then
+ cleanup
+ echo "Test failed: sorry server connection not found."
+ exit 1
+fi
+
+sleep 5
+
+diff $tmp_file ./materials/virtualservice-36-response.txt > /dev/null 2>&1
+if [ $? -ne 0 ]; then
+ cleanup
+ echo "Test failed: Mismatch sorryserver response."
+ exit 1
+fi
+
+cleanup
+exit 0
+
--- /dev/null
+#!/bin/bash
+
+. ${SET_DEFAULT_CONF}
+
+# Run sorryserver (send in 5 sec)
+PATH=$PATH:$COMMON_SCRIPT_DIR
+test_server -p 20000 -t 5 ./materials/virtualservice-40-response.txt &
+
+# temp file
+tmp_file="/tmp/`uuidgen`.log"
+
+cleanup() {
+ killall test_server
+ killall test_client2
+ rm $tmp_file
+}
+
+#Add Service
+start_l7vsd || exit 1
+
+$L7VSADM -A -t 127.0.0.1:40001 -m sessionless -b 127.0.0.1:20000
+if [ $? -ne 0 ]; then
+ cleanup
+ echo "Test failed: $L7VSADM -A -t 127.0.0.1:40001 -m sessionless -b 127.0.0.1:20000"
+ exit 1
+fi
+$L7VSADM -a -t 127.0.0.1:40001 -m sessionless -r 127.0.0.1:30000 -w 0
+if [ $? -ne 0 ]; then
+ cleanup
+ echo "Test failed: $L7VSADM -a -t 127.0.0.1:40001 -m sessionless -r 127.0.0.1:30000 -w 0"
+ exit 1
+fi
+$L7VSADM -a -t 127.0.0.1:40001 -m sessionless -r 127.0.0.1:40000 -w 0
+if [ $? -ne 0 ]; then
+ cleanup
+ echo "Test failed: $L7VSADM -a -t 127.0.0.1:40001 -m sessionless -r 127.0.0.1:40000 -w 0"
+ exit 1
+fi
+
+test_client2 -p 40001 > $tmp_file &
+
+sleep 1
+
+$L7VSADM -e -t 127.0.0.1:40001 -m sessionless -r 127.0.0.1:30000 -w 1
+if [ $? -ne 0 ]; then
+ cleanup
+ echo "Test failed: $L7VSADM -e -t 127.0.0.1:40001 -m sessionless -r 127.0.0.1:30000 -w 1"
+ exit 1
+fi
+$L7VSADM -e -t 127.0.0.1:40001 -m sessionless -r 127.0.0.1:40000 -w 1
+if [ $? -ne 0 ]; then
+ cleanup
+ echo "Test failed: $L7VSADM -e -t 127.0.0.1:40001 -m sessionless -r 127.0.0.1:40000 -w 1"
+ exit 1
+fi
+
+# sorry server connection must be left
+ps aux | grep "test_client2" | grep -v grep > /dev/null 2>&1
+if [ $? -ne 0 ]; then
+ cleanup
+ echo "Test failed: sorry server connection not found."
+ exit 1
+fi
+
+sleep 5
+
+diff $tmp_file ./materials/virtualservice-40-response.txt > /dev/null 2>&1
+if [ $? -ne 0 ]; then
+ cleanup
+ echo "Test failed: Mismatch sorryserver response."
+ exit 1
+fi
+
+cleanup
+exit 0
+
--- /dev/null
+#!/bin/bash
+
+. ${SET_DEFAULT_CONF}
+\cp -f materials/virtualservice-59-l7vs.cf ${L7VSD_CONF_DIR}/l7vs.cf
+
+# Start l7vsd
+start_l7vsd || exit 1
+
+$L7VSADM -A -t 127.0.0.1:40001 -m sessionless
+if [ $? -ne 0 ]; then
+ echo "Test failed: $L7VSADM -A -t 127.0.0.1:40001 -m sessionless -u 1 -b 127.0.0.1:30000"
+ exit 1
+fi
+
+sleep 3
+
+# Stop l7vsd
+stop_l7vsd || exit 1
+
+timing=`grep handle_throughput_update /var/log/l7vs/l7vsd.log | grep in_function | awk '{print $2}'`
+if [ `echo "$timing" | wc -l` -ne 3 ]; then
+ echo "Test failed: throughput calc interval may be not 1 sec."
+ echo "$timing"
+ exit 1
+fi
+
+exit 0
--- /dev/null
+#!/bin/bash
+
+. ${SET_DEFAULT_CONF}
+\cp -f materials/virtualservice-60-l7vs.cf ${L7VSD_CONF_DIR}/l7vs.cf
+
+# Start l7vsd
+start_l7vsd || exit 1
+
+$L7VSADM -A -t 127.0.0.1:40001 -m sessionless
+if [ $? -ne 0 ]; then
+ echo "Test failed: $L7VSADM -A -t 127.0.0.1:40001 -m sessionless -u 1 -b 127.0.0.1:30000"
+ exit 1
+fi
+
+sleep 3
+
+# Stop l7vsd
+stop_l7vsd || exit 1
+
+timing=`grep handle_throughput_update /var/log/l7vs/l7vsd.log | grep in_function | awk '{print $2}'`
+if [ `echo "$timing" | wc -l` -ne 6 ]; then
+ echo "Test failed: throughput calc interval may be not 500 msec.(default value)"
+ echo "$timing"
+ exit 1
+fi
+
+exit 0
--- /dev/null
+#!/bin/bash
+
+. ${SET_DEFAULT_CONF}
+
+# start l7vsd
+start_l7vsd || exit 1
+
+# set virtual service log level to debug
+l7vsadm -L -c vs -l debug
+
+# create session thread
+l7vsadm -A -t 0:22222 -m sessionless
+
+# about ...
+session_thread_pid=`expr \`pidof l7vsd\` + 30`
+
+# get cpumask
+cpumask=`taskset -p $session_thread_pid | awk '{print $6}'`
+
+stop_l7vsd || exit 1
+
+if [ "$cpumask" != "f" ]; then
+ echo "Test failed: Default cpu mask should be 'f'... but '$cpumask'"
+ exit 1
+fi
+
+sleep 1
+
+\cp -f materials/virtualservice-61-l7vs.cf ${L7VSD_CONF_DIR}/l7vs.cf
+
+# start l7vsd
+start_l7vsd || exit 1
+
+# set virtual service log level to debug
+l7vsadm -L -c vs -l debug
+
+# create session thread
+l7vsadm -A -t 0:22222 -m sessionless
+
+# about ...
+session_thread_pid=`expr \`pidof l7vsd\` + 30`
+
+# get cpumask
+cpumask=`taskset -p $session_thread_pid | awk '{print $6}'`
+
+stop_l7vsd || exit 1
+
+if [ "$cpumask" != "1" ]; then
+ echo "Test failed: Cpu mask must be '1'... but '$cpumask'"
+ exit 1
+fi
+
+exit 0
--- /dev/null
+#!/bin/bash
+
+. ${SET_DEFAULT_CONF}
+
+# start l7vsd
+start_l7vsd || exit 1
+
+# set virtual service log level to debug
+l7vsadm -L -c vs -l debug
+
+# create session thread
+l7vsadm -A -t 0:22222 -m sessionless
+
+# about ...
+session_thread_pid=`expr \`pidof l7vsd\` + 30`
+
+# get cpumask
+cpumask=`taskset -p $session_thread_pid | awk '{print $6}'`
+
+stop_l7vsd || exit 1
+
+if [ "$cpumask" != "f" ]; then
+ echo "Test failed: Default cpu mask should be 'f'... but '$cpumask'"
+ exit 1
+fi
+
+sleep 1
+
+\cp -f materials/virtualservice-62-l7vs.cf ${L7VSD_CONF_DIR}/l7vs.cf
+
+# start l7vsd
+start_l7vsd || exit 1
+
+# set virtual service log level to debug
+l7vsadm -L -c vs -l debug
+
+# create session thread
+l7vsadm -A -t 0:22222 -m sessionless
+
+# about ...
+session_thread_pid=`expr \`pidof l7vsd\` + 30`
+
+# get cpumask
+cpumask=`taskset -p $session_thread_pid | awk '{print $6}'`
+
+stop_l7vsd || exit 1
+
+if [ "$cpumask" != "f" ]; then
+ echo "Test failed: Cpu mask must be 'f'(used default value)... but '$cpumask'"
+ exit 1
+fi
+
+exit 0
--- /dev/null
+#!/bin/bash
+
+. ${SET_DEFAULT_CONF}
+
+# pool size = 2
+\cp -f materials/virtualservice-67-l7vs.cf ${L7VSD_CONF_DIR}/l7vs.cf
+
+# timeout = 2
+\cp -f materials/virtualservice-67-sslproxy.target.cf ${L7VSD_CONF_DIR}/sslproxy/sslproxy.target.cf
+
+#Run http server
+RealServer1=RealServer1
+RealServer1_ADDR=127.0.0.1
+RealServer1_PORT=50001
+start_lighttpd -s $RealServer1 -a $RealServer1_ADDR -p $RealServer1_PORT
+if [ $? -ne 0 ]
+then
+ echo "Test failed: start_lighttpd RealServer1"
+ exit 1
+fi
+
+# Start l7vsd
+start_l7vsd || exit 1
+
+$L7VSADM -A -t 127.0.0.1:40001 -m sessionless -z ${L7VSD_CONF_DIR}/sslproxy/sslproxy.target.cf
+if [ $? -ne 0 ]; then
+ echo "Test failed: $L7VSADM -A -t 127.0.0.1:40001 -m sessionless -z ${L7VSD_CONF_DIR}/sslproxy/sslproxy.target.cf"
+ exit 1
+fi
+$L7VSADM -a -t 127.0.0.1:40001 -m sessionless -r 127.0.0.1:50001
+if [ $? -ne 0 ]; then
+ echo "Test failed: $L7VSADM -a -t 127.0.0.1:40001 -m sessionless -r 127.0.0.1:50001"
+ exit 1
+fi
+
+openssl s_client -ign_eof -connect 127.0.0.1:40001 > /dev/null 2>&1 &
+openssl s_client -ign_eof -connect 127.0.0.1:40001 > /dev/null 2>&1 &
+openssl s_client -ign_eof -connect 127.0.0.1:40001 > /dev/null 2>&1 &
+
+sleep 3
+
+act_conn=`l7vsadm -l -n | grep 50001 | awk '{print $5}'`
+if [ "$act_conn" != "2" ]; then
+ echo "Test failed: active connection must be 2 but $act_conn"
+ exit 1
+fi
+
+s_client=`ps aux | grep s_client | grep -v grep | wc -l`
+if [ $s_client -ne 3 ]; then
+ echo "Test failed: three s_client processes must be exist."
+ exit 1
+fi
+
+exit 0