summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbluhm <bluhm@openbsd.org>2013-06-05 19:09:44 +0000
committerbluhm <bluhm@openbsd.org>2013-06-05 19:09:44 +0000
commitc63a3feede92becff2f304d554ec7590a7e86fe6 (patch)
treef642ec9c8b23b9d5773eed3ba6bc996986401eb2
parentrename should be working now, from Sylvestre Gallon (diff)
downloadwireguard-openbsd-c63a3feede92becff2f304d554ec7590a7e86fe6.tar.xz
wireguard-openbsd-c63a3feede92becff2f304d554ec7590a7e86fe6.zip
Add relayd tests for the HTTP keepalive filter bugfix.
-rw-r--r--regress/usr.sbin/relayd/args-http-filter-persistent.pl27
-rw-r--r--regress/usr.sbin/relayd/args-https-filter-persistent.pl34
2 files changed, 61 insertions, 0 deletions
diff --git a/regress/usr.sbin/relayd/args-http-filter-persistent.pl b/regress/usr.sbin/relayd/args-http-filter-persistent.pl
new file mode 100644
index 00000000000..e906de1581e
--- /dev/null
+++ b/regress/usr.sbin/relayd/args-http-filter-persistent.pl
@@ -0,0 +1,27 @@
+# test persistent http connection with request filter
+
+use strict;
+use warnings;
+
+my @lengths = (251, 16384, 0, 1, 2, 3, 4, 5);
+our %args = (
+ client => {
+ # relayd closes the connection on the first blocked request
+ func => sub { eval { http_client(@_) }; warn $@ },
+ lengths => \@lengths,
+ loggrep => qr/Client missing http 2 response/,
+ },
+ relayd => {
+ protocol => [ "http",
+ 'request path filter "/2"',
+ ],
+ loggrep => qr/rejecting request/,
+ },
+ server => {
+ func => \&http_server,
+ },
+ lengths => [251, 16384, 0, 1],
+ md5 => "bc3a3f39af35fe5b1687903da2b00c7f",
+);
+
+1;
diff --git a/regress/usr.sbin/relayd/args-https-filter-persistent.pl b/regress/usr.sbin/relayd/args-https-filter-persistent.pl
new file mode 100644
index 00000000000..157834c825d
--- /dev/null
+++ b/regress/usr.sbin/relayd/args-https-filter-persistent.pl
@@ -0,0 +1,34 @@
+# test persistent https connection with request filter
+
+use strict;
+use warnings;
+
+my @lengths = (251, 16384, 0, 1, 2, 3, 4, 5);
+our %args = (
+ client => {
+ # relayd closes the connection on the first blocked request
+ func => sub { eval { http_client(@_) }; warn $@ },
+ lengths => \@lengths,
+ loggrep => qr/Client missing http 2 response/,
+ ssl => 1,
+ },
+ relayd => {
+ protocol => [ "http",
+ 'request path filter "/2"',
+ ],
+ loggrep => [
+ qr/ssl, ssl client/,
+ qr/rejecting request/,
+ ],
+ forwardssl => 1,
+ listenssl => 1,
+ },
+ server => {
+ func => \&http_server,
+ ssl => 1,
+ },
+ lengths => [251, 16384, 0, 1],
+ md5 => "bc3a3f39af35fe5b1687903da2b00c7f",
+);
+
+1;