Re: [ANNOUNCE] haproxy-1.8.31

2023-01-04 Thread Willy Tarreau
On Wed, Jan 04, 2023 at 06:47:13PM +0100, Tim Düsterhus wrote:
> Willy,
> 
> On 1/4/23 18:33, Willy Tarreau wrote:
> > > Is 1.8 officially EOL now? Asking, because then I'd remove it from here:
> > > 
> > > https://github.com/docker-library/haproxy/tree/master/1.8
> > 
> > Yeah good idea. I've just changed its status on the haproxy.org home page,
> > and I've updated the doc index, it should appear as EOL once regenerated.
> > 
> 
> You forgot to update the background color on the home page to red :-)

Ah you're right, I quickly checked and found enough red to be satisfied,
but it wasn't on the line of interest! Now fixed.

> PR for Docker is here:
> 
> https://github.com/docker-library/haproxy/pull/201

Great, thank you!
Willy



[PATCH 3/3] REGTESTS: Remove tests with REQUIRE_VERSION_BELOW=1.9

2023-01-04 Thread Tim Duesterhus
HAProxy 2.0 is the lowest supported version, thus this never matches.
---
 reg-tests/http-rules/h1_to_h1c.vtc | 186 -
 1 file changed, 186 deletions(-)
 delete mode 100644 reg-tests/http-rules/h1_to_h1c.vtc

diff --git a/reg-tests/http-rules/h1_to_h1c.vtc 
b/reg-tests/http-rules/h1_to_h1c.vtc
deleted file mode 100644
index 9ae73f70b9..00
--- a/reg-tests/http-rules/h1_to_h1c.vtc
+++ /dev/null
@@ -1,186 +0,0 @@
-varnishtest "Composite HTTP manipulation test (H1 clear to H1 clear)"
-#REQUIRE_VERSION_BELOW=1.9
-
-# This config tests several http-request features and their interactions.
-# It extracts some samples, places them into variables, modifies some header
-# fields, appends multiple identical header fields, overwrites the start line
-# using several methods, then dumps the initial list of variables and the final
-# one, then applies CRC32 to these values as signatures that are easy to test.
-# Then it does it again in the backend after saving the current headers into
-# the same names prefixed by "fe-". Then it does the same on the response path.
-# If some modifications are performed, the crc values need to be adjusted based
-# on the failed logs.
-#
-# Run it with HAPROXY_PROGRAM=$PWD/haproxy varnishtest -l -k -t 1 "$1"
-
-feature ignore_unknown_macro
-
-server s1 {
-   rxreq
-   txresp \
- -status 234 \
- -hdr "hdr1: val1" \
- -hdr "hdr2:  val2a" \
- -hdr "hdr2:val2b" \
- -hdr "hdr3:  val3a, val3b" \
- -hdr "hdr4:" \
- -body "This is a body"
-
-   expect req.method == "GET"
-   expect req.http.fe-sl1-crc == 992395575
-   expect req.http.fe-sl2-crc == 1270056220
-   expect req.http.fe-hdr-crc == 1719311923
-   expect req.http.be-sl1-crc == 2604236007
-   expect req.http.be-sl2-crc == 4181358964
-   expect req.http.be-hdr-crc == 3634102538
-} -start
-
-haproxy h1 -conf {
-defaults
-   mode http
-   timeout connect "${HAPROXY_TEST_TIMEOUT-5s}"
-   timeout client  "${HAPROXY_TEST_TIMEOUT-5s}"
-   timeout server  "${HAPROXY_TEST_TIMEOUT-5s}"
-
-frontend fe
-   bind "fd@${fe}"
-
-    requests
-   http-request set-var(req.method) method
-   http-request set-var(req.uri)url
-   http-request set-var(req.path)   path
-   http-request set-var(req.query)  query
-   http-request set-var(req.param)  url_param(qs_arg)
-
-   http-request set-header sl1  "sl1: "
-
-   http-request set-method  "%[str(GET)]"
-   http-request set-uri concat(/bu/,req.uri,/eu)
-   http-request set-path"/bp/%[var(req.path)]/ep"
-   http-request set-query   "bq&%[var(req.query)]"
-
-   http-request set-header sl2  "sl2: "
-
-   http-request set-header sl1  "%[req.fhdr(sl1)] 
method=<%[var(req.method)]>; uri=<%[var(req.uri)]>; path=<%[var(req.path)]>;"
-   http-request set-header sl1  "%[req.fhdr(sl1)] 
query=<%[var(req.query)]>; param=<%[var(req.param)]>"
-   http-request set-header sl2  "%[req.fhdr(sl2)] 
method=<%[method]>; uri=<%[url]>; path=<%[path]>; "
-   http-request set-header sl2  "%[req.fhdr(sl2)] 
query=<%[query]>; param=<%[url_param(qs_arg)]>"
-   http-request set-header hdr  "%[req.fhdr(hdr)] 
hdr1=<%[req.hdr(hdr1)]>; fhdr1=<%[req.fhdr(hdr1)]>;"
-   http-request set-header hdr  "%[req.fhdr(hdr)] 
hdr2=<%[req.hdr(hdr2)]>; fhdr2=<%[req.fhdr(hdr2)]>;"
-   http-request set-header hdr  "%[req.fhdr(hdr)] 
hdr3=<%[req.hdr(hdr3)]>; fhdr3=<%[req.fhdr(hdr3)]>;"
-   http-request set-header hdr  "%[req.fhdr(hdr)] 
hdr4=<%[req.hdr(hdr4)]>; fhdr4=<%[req.fhdr(hdr4)]>;"
-
-   http-request set-header sl1-crc  "%[req.fhdr(sl1),crc32]"
-   http-request set-header sl2-crc  "%[req.fhdr(sl2),crc32]"
-   http-request set-header hdr-crc  "%[req.fhdr(hdr),crc32]"
-
-    responses
-   http-response set-headerbe-sl1   "%[res.fhdr(sl1)]"
-   http-response set-headerbe-sl2   "%[res.fhdr(sl2)]"
-   http-response set-headerbe-hdr   "%[res.fhdr(hdr)]"
-
-   http-response set-header  be-sl1-crc "%[res.fhdr(sl1-crc)]"
-   http-response set-header  be-sl2-crc "%[res.fhdr(sl2-crc)]"
-   http-response set-header  be-hdr-crc "%[res.fhdr(hdr-crc)]"
-
-   http-response set-var(res.status)status
-   http-response set-headersl1  "sl1: "
-
-   http-response set-status200
-
-   http-response set-headersl2  "sl2: "
-
-   http-response set-headersl1  "%[res.fhdr(sl1)] 
status=<%[var(res.status)]>;"
-   http-response set-headersl2  "%[res.fhdr(sl2)] 
status=<%[status]>;"
-   http-response set-headerhdr  "%[res.fhdr(hdr)] 
hdr1=<%[res.hdr(hdr1)]>; fhdr1=<%[res.fhdr(hdr1)]>;"
-   http-response set-headerhdr  

[PATCH 1/3] REGTESTS: Remove REQUIRE_VERSION=1.9 from all tests

2023-01-04 Thread Tim Duesterhus
HAProxy 2.0 is the lowest supported version, thus this always matches.

see 1b095cac9468d0c3eeb157e9b1a2947487bd3c83
---
 reg-tests/cache/basic.vtc  | 2 --
 reg-tests/cache/sample_fetches.vtc | 2 --
 reg-tests/compression/basic.vtc| 1 -
 reg-tests/compression/etags_conversion.vtc | 1 -
 reg-tests/compression/vary.vtc | 1 -
 reg-tests/http-messaging/h2_to_h1.vtc  | 1 -
 .../http-rules/converters_ipmask_concat_strcmp_field_word.vtc  | 3 ---
 reg-tests/http-rules/h1or2_to_h1c.vtc  | 1 -
 reg-tests/mcli/mcli_show_info.vtc  | 2 --
 9 files changed, 14 deletions(-)

diff --git a/reg-tests/cache/basic.vtc b/reg-tests/cache/basic.vtc
index d6a8c00b3b..377cbb3792 100644
--- a/reg-tests/cache/basic.vtc
+++ b/reg-tests/cache/basic.vtc
@@ -1,7 +1,5 @@
 varnishtest "Basic cache test"
 
-#REQUIRE_VERSION=1.9
-
 feature ignore_unknown_macro
 
 server s1 {
diff --git a/reg-tests/cache/sample_fetches.vtc 
b/reg-tests/cache/sample_fetches.vtc
index c2b1d15be0..c2b99c20ca 100644
--- a/reg-tests/cache/sample_fetches.vtc
+++ b/reg-tests/cache/sample_fetches.vtc
@@ -1,8 +1,6 @@
 
 varnishtest "Basic cache test"
 
-#REQUIRE_VERSION=1.9
-
 feature ignore_unknown_macro
 
 server s1 {
diff --git a/reg-tests/compression/basic.vtc b/reg-tests/compression/basic.vtc
index 76ad43dc37..5d9eadabde 100644
--- a/reg-tests/compression/basic.vtc
+++ b/reg-tests/compression/basic.vtc
@@ -1,6 +1,5 @@
 varnishtest "Basic compression test"
 
-#REQUIRE_VERSION=1.9
 #REQUIRE_OPTION=ZLIB|SLZ
 
 feature ignore_unknown_macro
diff --git a/reg-tests/compression/etags_conversion.vtc 
b/reg-tests/compression/etags_conversion.vtc
index c5684a20ff..96e34bcf9c 100644
--- a/reg-tests/compression/etags_conversion.vtc
+++ b/reg-tests/compression/etags_conversion.vtc
@@ -1,6 +1,5 @@
 varnishtest "Compression converts strong ETags to weak ETags"
 
-#REQUIRE_VERSION=1.9
 #REQUIRE_OPTION=ZLIB|SLZ
 
 feature ignore_unknown_macro
diff --git a/reg-tests/compression/vary.vtc b/reg-tests/compression/vary.vtc
index 8219c734e6..34d8976c09 100644
--- a/reg-tests/compression/vary.vtc
+++ b/reg-tests/compression/vary.vtc
@@ -1,6 +1,5 @@
 varnishtest "Compression sets Vary header"
 
-#REQUIRE_VERSION=1.9
 #REQUIRE_OPTION=ZLIB|SLZ
 
 feature ignore_unknown_macro
diff --git a/reg-tests/http-messaging/h2_to_h1.vtc 
b/reg-tests/http-messaging/h2_to_h1.vtc
index 852ee4caf9..91d1056d86 100644
--- a/reg-tests/http-messaging/h2_to_h1.vtc
+++ b/reg-tests/http-messaging/h2_to_h1.vtc
@@ -1,5 +1,4 @@
 varnishtest "HTTP request tests: H2 to H1 (HTX and legacy mode)"
-#REQUIRE_VERSION=1.9
 
 # Run it with HAPROXY_PROGRAM=$PWD/haproxy varnishtest -l -k -t 1 "$1"
 
diff --git 
a/reg-tests/http-rules/converters_ipmask_concat_strcmp_field_word.vtc 
b/reg-tests/http-rules/converters_ipmask_concat_strcmp_field_word.vtc
index e567e38780..00d74ce287 100644
--- a/reg-tests/http-rules/converters_ipmask_concat_strcmp_field_word.vtc
+++ b/reg-tests/http-rules/converters_ipmask_concat_strcmp_field_word.vtc
@@ -1,9 +1,6 @@
 varnishtest "Minimal tests for 1.9 converters: ipmask,concat,strcmp,field,word"
 feature ignore_unknown_macro
 
-# concat,strcmp,ipmask(ipv6mask) need 1.9
-#REQUIRE_VERSION=1.9
-
 # ipmask tests server
 server s1 {
rxreq
diff --git a/reg-tests/http-rules/h1or2_to_h1c.vtc 
b/reg-tests/http-rules/h1or2_to_h1c.vtc
index 9e7eb604a3..3423d162a1 100644
--- a/reg-tests/http-rules/h1or2_to_h1c.vtc
+++ b/reg-tests/http-rules/h1or2_to_h1c.vtc
@@ -1,5 +1,4 @@
 varnishtest "Composite HTTP manipulation test (H1 and H2 clear to H1 clear)"
-#REQUIRE_VERSION=1.9
 
 # This config tests several http-request features and their interactions.
 # It extracts some samples, places them into variables, modifies some header
diff --git a/reg-tests/mcli/mcli_show_info.vtc 
b/reg-tests/mcli/mcli_show_info.vtc
index ae533da3a8..3c44461a77 100644
--- a/reg-tests/mcli/mcli_show_info.vtc
+++ b/reg-tests/mcli/mcli_show_info.vtc
@@ -1,7 +1,5 @@
 varnishtest "Show info of process 1"
 
-#REQUIRE_VERSION=1.9
-
 feature ignore_unknown_macro
 
 # Do nothing. Is there only to create s1_* macros
-- 
2.39.0




[PATCH 2/3] REGTESTS: Remove REQUIRE_VERSION=2.0 from all tests

2023-01-04 Thread Tim Duesterhus
HAProxy 2.0 is the lowest supported version, thus this always matches.

see 1b095cac9468d0c3eeb157e9b1a2947487bd3c83
---
 reg-tests/balance/balance-uri.vtc  | 1 -
 reg-tests/checks/tcp-checks-socks4.vtc | 1 -
 reg-tests/http-rules/acl_cli_spaces.vtc| 2 --
 reg-tests/log/load_balancing.vtc   | 2 --
 reg-tests/mcli/mcli_start_progs.vtc| 1 -
 reg-tests/peers/basic_sync.vtc | 1 -
 reg-tests/peers/basic_sync_wo_stkt_backend.vtc | 1 -
 reg-tests/peers/tls_basic_sync.vtc | 1 -
 reg-tests/peers/tls_basic_sync_wo_stkt_backend.vtc | 1 -
 reg-tests/stickiness/lb-services.vtc   | 2 --
 reg-tests/stream/unique-id.vtc | 2 --
 11 files changed, 15 deletions(-)

diff --git a/reg-tests/balance/balance-uri.vtc 
b/reg-tests/balance/balance-uri.vtc
index cc65d64a36..e67883567b 100644
--- a/reg-tests/balance/balance-uri.vtc
+++ b/reg-tests/balance/balance-uri.vtc
@@ -1,6 +1,5 @@
 vtest "Test for balance URI"
 feature ignore_unknown_macro
-#REQUIRE_VERSION=2.0
 
 server s1 {
 rxreq
diff --git a/reg-tests/checks/tcp-checks-socks4.vtc 
b/reg-tests/checks/tcp-checks-socks4.vtc
index 04c23ec535..8a730f5424 100644
--- a/reg-tests/checks/tcp-checks-socks4.vtc
+++ b/reg-tests/checks/tcp-checks-socks4.vtc
@@ -1,5 +1,4 @@
 varnishtest "Health-checks: basic HTTP health-check though a socks4 proxy"
-#REQUIRE_VERSION=2.0
 #REGTEST_TYPE=slow
 feature ignore_unknown_macro
 
diff --git a/reg-tests/http-rules/acl_cli_spaces.vtc 
b/reg-tests/http-rules/acl_cli_spaces.vtc
index e61176a7a0..a554977486 100644
--- a/reg-tests/http-rules/acl_cli_spaces.vtc
+++ b/reg-tests/http-rules/acl_cli_spaces.vtc
@@ -1,8 +1,6 @@
 varnishtest "haproxy ACL, CLI and mCLI spaces"
 feature ignore_unknown_macro
 
-#REQUIRE_VERSION=2.0
-
 server s1 {
rxreq
expect req.method == "GET"
diff --git a/reg-tests/log/load_balancing.vtc b/reg-tests/log/load_balancing.vtc
index 22aacaefed..5c56e653dc 100644
--- a/reg-tests/log/load_balancing.vtc
+++ b/reg-tests/log/load_balancing.vtc
@@ -1,8 +1,6 @@
 varnishtest "Basic log load-balancing test"
 feature ignore_unknown_macro
 
-#REQUIRE_VERSION=2.0
-
 barrier b1 cond 2 -cyclic
 barrier b2 cond 2 -cyclic
 barrier b3 cond 2 -cyclic
diff --git a/reg-tests/mcli/mcli_start_progs.vtc 
b/reg-tests/mcli/mcli_start_progs.vtc
index a2e0f759e9..51b335ce5e 100644
--- a/reg-tests/mcli/mcli_start_progs.vtc
+++ b/reg-tests/mcli/mcli_start_progs.vtc
@@ -1,6 +1,5 @@
 varnishtest "Try to start a master CLI with 2 programs"
 #REGTEST_TYPE=bug
-#REQUIRE_VERSION=2.0
 feature cmd "command -v sleep"
 
 feature ignore_unknown_macro
diff --git a/reg-tests/peers/basic_sync.vtc b/reg-tests/peers/basic_sync.vtc
index 6c80419173..5c0cb4117c 100644
--- a/reg-tests/peers/basic_sync.vtc
+++ b/reg-tests/peers/basic_sync.vtc
@@ -1,7 +1,6 @@
 vtest "Basic test for peers protocol"
 feature ignore_unknown_macro
 
-#REQUIRE_VERSION=2.0
 #REGTEST_TYPE=slow
 
 haproxy h1 -arg "-L A" -conf {
diff --git a/reg-tests/peers/basic_sync_wo_stkt_backend.vtc 
b/reg-tests/peers/basic_sync_wo_stkt_backend.vtc
index 5353aab0e4..9f97ff54e5 100644
--- a/reg-tests/peers/basic_sync_wo_stkt_backend.vtc
+++ b/reg-tests/peers/basic_sync_wo_stkt_backend.vtc
@@ -1,7 +1,6 @@
 vtest "Basic test for peers protocol stick-table declared in peers sections"
 feature ignore_unknown_macro
 
-#REQUIRE_VERSION=2.0
 #REGTEST_TYPE=slow
 
 haproxy h1 -arg "-L A" -conf {
diff --git a/reg-tests/peers/tls_basic_sync.vtc 
b/reg-tests/peers/tls_basic_sync.vtc
index 52f2f170cc..95e3d736e3 100644
--- a/reg-tests/peers/tls_basic_sync.vtc
+++ b/reg-tests/peers/tls_basic_sync.vtc
@@ -1,6 +1,5 @@
 vtest "Basic test for peers protocol over SSL/TLS"
 #REQUIRE_OPTIONS=OPENSSL
-#REQUIRE_VERSION=2.0
 feature ignore_unknown_macro
 
 #REGTEST_TYPE=slow
diff --git a/reg-tests/peers/tls_basic_sync_wo_stkt_backend.vtc 
b/reg-tests/peers/tls_basic_sync_wo_stkt_backend.vtc
index cb5849c3bf..bf467084b8 100644
--- a/reg-tests/peers/tls_basic_sync_wo_stkt_backend.vtc
+++ b/reg-tests/peers/tls_basic_sync_wo_stkt_backend.vtc
@@ -1,7 +1,6 @@
 vtest "Basic test for peers protocol over SSL/TLS with stick-table declared in 
peers sections"
 feature ignore_unknown_macro
 
-#REQUIRE_VERSION=2.0
 #REQUIRE_OPTIONS=OPENSSL
 #REGTEST_TYPE=slow
 
diff --git a/reg-tests/stickiness/lb-services.vtc 
b/reg-tests/stickiness/lb-services.vtc
index a4e016f5dd..81da9c3f67 100644
--- a/reg-tests/stickiness/lb-services.vtc
+++ b/reg-tests/stickiness/lb-services.vtc
@@ -6,8 +6,6 @@ feature ignore_unknown_macro
 # do the job they are supposed to do.
 # If we remove one of the "stick on" rule, this script fails.
 
-#REQUIRE_VERSION=2.0
-
 server s_not_used_1 {}
 server s_not_used_2 {}
 server s_not_used_3 {}
diff --git a/reg-tests/stream/unique-id.vtc b/reg-tests/stream/unique-id.vtc
index 3cb5a705f5..0607b2a4fa 100644
--- a/reg-tests/stream/unique-id.vtc
+++ b/reg-tests/stream/unique-id.vtc
@@ -1,7 

Re: [ANNOUNCE] haproxy-1.8.31

2023-01-04 Thread Tim Düsterhus

Willy,

On 1/4/23 18:33, Willy Tarreau wrote:

Is 1.8 officially EOL now? Asking, because then I'd remove it from here:

https://github.com/docker-library/haproxy/tree/master/1.8


Yeah good idea. I've just changed its status on the haproxy.org home page,
and I've updated the doc index, it should appear as EOL once regenerated.



You forgot to update the background color on the home page to red :-)

PR for Docker is here:

https://github.com/docker-library/haproxy/pull/201

Best regards
Tim Düsterhus



Re: [ANNOUNCE] haproxy-1.8.31

2023-01-04 Thread Willy Tarreau
Hi Tim!

On Wed, Jan 04, 2023 at 06:04:16PM +0100, Tim Düsterhus wrote:
> Hi
> 
> On 12/9/22 16:28, Christopher Faulet wrote:
> > The EOL for the 1.8 is planned at the end of this year. Except if there are
> > critical bugs in next few weeks, no further release should be expected. For
> 
> Is 1.8 officially EOL now? Asking, because then I'd remove it from here:
> 
> https://github.com/docker-library/haproxy/tree/master/1.8

Yeah good idea. I've just changed its status on the haproxy.org home page,
and I've updated the doc index, it should appear as EOL once regenerated.

Thanks!
Willy



Re: [ANNOUNCE] haproxy-1.8.31

2023-01-04 Thread Tim Düsterhus

Hi

On 12/9/22 16:28, Christopher Faulet wrote:

The EOL for the 1.8 is planned at the end of this year. Except if there are
critical bugs in next few weeks, no further release should be expected. For


Is 1.8 officially EOL now? Asking, because then I'd remove it from here:

https://github.com/docker-library/haproxy/tree/master/1.8

Best regards
Tim Düsterhus