Hi,
not related to this patch (I have the same output before it was
applied), but on my system, I get:
# SENDING to 127.0.0.1:8546
# GET /authz_core/a/b/c//index.html HTTP/1.1\r\nHost:
merge-disabled\r\nConnection: close\r\n\r\n
# expected 200, got 403 for c// doesn't match locationmatch
not ok 7
# Test 7 got: "403" (t/apache/mergeslashes.t at line 73 fail #7)
# Expected: "200" (c// doesn't match locationmatch)
Failed 1/7 subtests
I don't have time to dig into it these days.
Does anyone has the same issue?
Any pointer where to look at?
CJ
Le 25/03/2019 à 16:44, [email protected] a écrit :
Author: jorton
Date: Mon Mar 25 15:44:22 2019
New Revision: 1856208
URL: http://svn.apache.org/viewvc?rev=1856208&view=rev
Log:
Send Connection: close rather than use cheeky TCP half-close
which gives intermittent failures.
Modified:
httpd/test/framework/trunk/t/apache/mergeslashes.t
Modified: httpd/test/framework/trunk/t/apache/mergeslashes.t
URL:
http://svn.apache.org/viewvc/httpd/test/framework/trunk/t/apache/mergeslashes.t?rev=1856208&r1=1856207&r2=1856208&view=diff
==============================================================================
--- httpd/test/framework/trunk/t/apache/mergeslashes.t (original)
+++ httpd/test/framework/trunk/t/apache/mergeslashes.t Mon Mar 25 15:44:22 2019
@@ -13,13 +13,13 @@ use Socket;
my @test_cases = (
# request, status code global, status code 'mergeslashes off' VH, msg
- [ "GET /authz_core/a/b/c/index.html HTTP/1.1\r\nHost: merge-default\r\n\r\n" =>
403, "exact match"],
- [ "GET //authz_core/a/b/c/index.html HTTP/1.1\r\nHost: merge-default\r\n\r\n" =>
403, "merged even at front"],
- [ "GET ///authz_core/a/b/c/index.html HTTP/1.1\r\nHost: merge-default\r\n\r\n" =>
403, "merged even at front"],
- [ "GET /authz_core/a/b/c//index.html HTTP/1.1\r\nHost: merge-default\r\n\r\n" =>
403, "c// should be merged"],
- [ "GET /authz_core/a//b/c/index.html HTTP/1.1\r\nHost: merge-default\r\n\r\n" =>
403, "a// should be merged"],
- [ "GET /authz_core/a//b/c/index.html HTTP/1.1\r\nHost: merge-disabled\r\n\r\n" =>
403, "a// matches locationmatch"],
- [ "GET /authz_core/a/b/c//index.html HTTP/1.1\r\nHost: merge-disabled\r\n\r\n" =>
200, "c// doesn't match locationmatch"],
+ [ "GET /authz_core/a/b/c/index.html HTTP/1.1\r\nHost: merge-default\r\nConnection:
close\r\n\r\n" => 403, "exact match"],
+ [ "GET //authz_core/a/b/c/index.html HTTP/1.1\r\nHost: merge-default\r\nConnection:
close\r\n\r\n" => 403, "merged even at front"],
+ [ "GET ///authz_core/a/b/c/index.html HTTP/1.1\r\nHost: merge-default\r\nConnection:
close\r\n\r\n" => 403, "merged even at front"],
+ [ "GET /authz_core/a/b/c//index.html HTTP/1.1\r\nHost: merge-default\r\nConnection:
close\r\n\r\n" => 403, "c// should be merged"],
+ [ "GET /authz_core/a//b/c/index.html HTTP/1.1\r\nHost: merge-default\r\nConnection:
close\r\n\r\n" => 403, "a// should be merged"],
+ [ "GET /authz_core/a//b/c/index.html HTTP/1.1\r\nHost: merge-disabled\r\nConnection:
close\r\n\r\n" => 403, "a// matches locationmatch"],
+ [ "GET /authz_core/a/b/c//index.html HTTP/1.1\r\nHost: merge-disabled\r\nConnection:
close\r\n\r\n" => 200, "c// doesn't match locationmatch"],
);
plan tests => scalar(@test_cases), need_min_apache_version('2.4.39');
@@ -38,7 +38,6 @@ plan tests => scalar(@test_cases), need_
}
$sock->print($req);
- $sock->shutdown(1);
sleep(0.1);
$req = escape($req);
print "# SENDING to " . peer($sock) . "\n# $req\n";
@@ -102,6 +101,7 @@ sub peer
{
my $sock = shift;
my $hersockaddr = getpeername($sock);
+ return "<disconnected>" if !$hersockaddr;
my ($port, $iaddr) = sockaddr_in($hersockaddr);
my $herhostname = gethostbyaddr($iaddr, AF_INET);
my $herstraddr = inet_ntoa($iaddr);