46 lines
1.3 KiB
Diff
46 lines
1.3 KiB
Diff
From ea1d09b3b8ee8ad667b9d680013ed9448e0727dc Mon Sep 17 00:00:00 2001
|
|
From: Martin Blix Grydeland <martin@varnish-software.com>
|
|
Date: Thu, 15 Aug 2019 14:06:00 +0200
|
|
Subject: [PATCH] Add a test case covering some HTTP/1 parsing corner cases
|
|
|
|
---
|
|
bin/varnishtest/tests/b00067.vtc | 29 +++++++++++++++++++++++++++++
|
|
1 file changed, 29 insertions(+)
|
|
create mode 100644 bin/varnishtest/tests/b00067.vtc
|
|
|
|
diff --git a/bin/varnishtest/tests/b00067.vtc b/bin/varnishtest/tests/b00067.vtc
|
|
new file mode 100644
|
|
index 0000000000..2167c9483f
|
|
--- /dev/null
|
|
+++ b/bin/varnishtest/tests/b00067.vtc
|
|
@@ -0,0 +1,29 @@
|
|
+varnishtest "HTTP/1 parsing checks"
|
|
+
|
|
+# Some tricky requests that have been known to cause parsing errors in the past.
|
|
+
|
|
+server s1 {
|
|
+ rxreq
|
|
+ txresp
|
|
+} -start
|
|
+
|
|
+varnish v1 -vcl+backend {
|
|
+} -start
|
|
+
|
|
+# This test checks a bug that was dependent on the contents of the buffer left behind
|
|
+# by the previous request
|
|
+client c1 {
|
|
+ send "GET / HTTP/1.1\r\nHost: asdf.com\r\nFoo: baar\r\n\r\n\r\n\r\n\r\n"
|
|
+ rxresp
|
|
+ send "GET / HTTP/1.1\r\nHost: asdf.com\r\nAsdf: b\n \r\n\r\nSj\r"
|
|
+ rxresp
|
|
+ expect resp.status == 200
|
|
+} -run
|
|
+
|
|
+# This tests that the line continuation handling doesn't clear out the end of headers
|
|
+# [CR]LF
|
|
+client c1 {
|
|
+ send "GET / HTTP/1.1\r\nHost: asdf.com\r\nAsdf: b\n \r\n\r\nSj"
|
|
+ rxresp
|
|
+ expect resp.status == 200
|
|
+} -run
|