Hi List,

I'm getting a regtest failure for the h00001.vtc test, seemingly because varnishtest doesn't like the definition.

Error (full log attached):
**** s1    0.0 http[23] |be-hdr-crc: 3634102538
**** s1    0.0 bodylen = 0
**   s1    0.0 === txresp \
---- s1    0.0 Assert error in http_tx_parse_args(), vtc_http.c line 870:  Condition(body == nullbody) not true.

***  h1    1.0 debug|00000000:be.srvcls[000b:adfd]
***  h1    1.0 debug|00000000:be.clicls[000b:adfd]

This comes from the following definition:

    txresp \
      -status 234 \
      -hdr "hdr1: val1" \
      -hdr "hdr2:  val2a" \
      -hdr "hdr2:    val2b" \
      -hdr "hdr3:      val3a, val3b" \
      -hdr "hdr4:" \
      -bodylen 14 \
      -body "This is a body"

Where both -bodylen and -body are defined, while it seems to me these 2 settings are 'conflicting', as the '-bodylen' generates a kinda random body content. While '-body' defines the exact string to send as a body..

Seems to me that the bodylen should be removed? Patch that does that attached.

Regards,

PiBa-NL

From e786be564e7dca1e3b347b6cc9e0af05c85e975b Mon Sep 17 00:00:00 2001
From: PiBa-NL <piba.nl....@gmail.com>
Date: Sat, 8 Dec 2018 19:48:37 +0100
Subject: [PATCH] REGTEST/MINOR: remove double body specification for server
 txresp

fix http-rules/h00000.vtc / http-rules/h00000.vtc as both 'bodylen' and
'body' are specified, these settings conflict with each other as they
both generate/present the body to send.
---
 reg-tests/http-rules/h00000.vtc | 1 -
 reg-tests/http-rules/h00001.vtc | 1 -
 2 files changed, 2 deletions(-)

diff --git a/reg-tests/http-rules/h00000.vtc b/reg-tests/http-rules/h00000.vtc
index 25388f8a..aedb41ff 100644
--- a/reg-tests/http-rules/h00000.vtc
+++ b/reg-tests/http-rules/h00000.vtc
@@ -25,7 +25,6 @@ server s1 {
          -hdr "hdr2:    val2b" \
          -hdr "hdr3:      val3a, val3b" \
          -hdr "hdr4:" \
-         -bodylen 14 \
          -body "This is a body"
 
        expect req.method == "GET"
diff --git a/reg-tests/http-rules/h00001.vtc b/reg-tests/http-rules/h00001.vtc
index 80522a1b..ca86f1b9 100644
--- a/reg-tests/http-rules/h00001.vtc
+++ b/reg-tests/http-rules/h00001.vtc
@@ -24,7 +24,6 @@ server s1 {
          -hdr "hdr2:    val2b" \
          -hdr "hdr3:      val3a, val3b" \
          -hdr "hdr4:" \
-         -bodylen 14 \
          -body "This is a body"
 
        expect req.method == "GET"
-- 
2.18.0.windows.1

**** top   0.0 extmacro def 
pwd=/usr/ports/net/haproxy-devel/work/haproxy-eb2bbba
**** top   0.0 extmacro def localhost=127.0.0.1
**** top   0.0 extmacro def bad_backend=127.0.0.1 28101
**** top   0.0 extmacro def bad_ip=192.0.2.255
**** top   0.0 macro def 
testdir=/usr/ports/net/haproxy-devel/work/haproxy-eb2bbba/./reg-tests/http-rules
**** top   0.0 macro def 
tmpdir=/tmp/2018-12-08_19-21-06.FYVFcT/vtc.86314.04fe4024
*    top   0.0 TEST ./reg-tests/http-rules/h00001.vtc starting
**   top   0.0 === varnishtest "Composite HTTP manipulation test (H1 and H2 
cle...
*    top   0.0 TEST Composite HTTP manipulation test (H1 and H2 clear to H1 
clear)
**   top   0.0 === feature ignore_unknown_macro
**   top   0.0 === server s1 {
**   s1    0.0 Starting server
**** s1    0.0 macro def s1_addr=127.0.0.1
**** s1    0.0 macro def s1_port=23305
**** s1    0.0 macro def s1_sock=127.0.0.1 23305
*    s1    0.0 Listen on 127.0.0.1 23305
**   top   0.0 === haproxy h1 -conf {
**   s1    0.0 Started on 127.0.0.1 23305
***  s1    0.0 Iteration 0
**** h1    0.0 macro def h1_cli_sock=::1 23306
**** h1    0.0 macro def h1_cli_addr=::1
**** h1    0.0 macro def h1_cli_port=23306
**** h1    0.0 setenv(cli, 5)
**** h1    0.0 macro def h1_feh1_sock=::1 23307
**** h1    0.0 macro def h1_feh1_addr=::1
**** h1    0.0 macro def h1_feh1_port=23307
**** h1    0.0 setenv(feh1, 6)
**** h1    0.0 macro def h1_feh2_sock=::1 23308
**** h1    0.0 macro def h1_feh2_addr=::1
**** h1    0.0 macro def h1_feh2_port=23308
**** h1    0.0 setenv(feh2, 7)
**** h1    0.0 conf|    global
**** h1    0.0 conf|\tstats socket 
/tmp/2018-12-08_19-21-06.FYVFcT/vtc.86314.04fe4024/h1/stats.sock level admin 
mode 600
**** h1    0.0 conf|    stats socket "fd@${cli}" level admin
**** h1    0.0 conf|
**** h1    0.0 conf|    defaults
**** h1    0.0 conf|\tmode http
**** h1    0.0 conf|\ttimeout connect 1s
**** h1    0.0 conf|\ttimeout client  1s
**** h1    0.0 conf|\ttimeout server  1s
**** h1    0.0 conf|
**** h1    0.0 conf|    frontend fe
**** h1    0.0 conf|\tbind "fd@${feh1}"
**** h1    0.0 conf|\tbind "fd@${feh2}" proto h2
**** h1    0.0 conf|
**** h1    0.0 conf|\t#### requests
**** h1    0.0 conf|\thttp-request set-var(req.method)     method
**** h1    0.0 conf|\thttp-request set-var(req.uri)        url
**** h1    0.0 conf|\thttp-request set-var(req.path)       path
**** h1    0.0 conf|\thttp-request set-var(req.query)      query
**** h1    0.0 conf|\thttp-request set-var(req.param)      url_param(qs_arg)
**** h1    0.0 conf|
**** h1    0.0 conf|\thttp-request set-header     sl1      "sl1: "
**** h1    0.0 conf|
**** h1    0.0 conf|\thttp-request set-method              "%[str(GET)]"
**** h1    0.0 conf|\thttp-request set-uri                 
concat(/bu/,req.uri,/eu)
**** h1    0.0 conf|\thttp-request set-path                
"/bp/%[var(req.path)]/ep"
**** h1    0.0 conf|\thttp-request set-query               
"bq&%[var(req.query)]&eq"
**** h1    0.0 conf|
**** h1    0.0 conf|\thttp-request set-header     sl2      "sl2: "
**** h1    0.0 conf|
**** h1    0.0 conf|\thttp-request set-header     sl1      "%[req.fhdr(sl1)] 
method=<%[var(req.method)]>; uri=<%[var(req.uri)]>; path=<%[var(req.path)]>;"
**** h1    0.0 conf|\thttp-request set-header     sl1      "%[req.fhdr(sl1)] 
query=<%[var(req.query)]>; param=<%[var(req.param)]>"
**** h1    0.0 conf|\thttp-request set-header     sl2      "%[req.fhdr(sl2)] 
method=<%[method]>; uri=<%[url]>; path=<%[path]>; "
**** h1    0.0 conf|\thttp-request set-header     sl2      "%[req.fhdr(sl2)] 
query=<%[query]>; param=<%[url_param(qs_arg)]>"
**** h1    0.0 conf|\thttp-request set-header     hdr      "%[req.fhdr(hdr)] 
hdr1=<%[req.hdr(hdr1)]>; fhdr1=<%[req.fhdr(hdr1)]>;"
**** h1    0.0 conf|\thttp-request set-header     hdr      "%[req.fhdr(hdr)] 
hdr2=<%[req.hdr(hdr2)]>; fhdr2=<%[req.fhdr(hdr2)]>;"
**** h1    0.0 conf|\thttp-request set-header     hdr      "%[req.fhdr(hdr)] 
hdr3=<%[req.hdr(hdr3)]>; fhdr3=<%[req.fhdr(hdr3)]>;"
**** h1    0.0 conf|\thttp-request set-header     hdr      "%[req.fhdr(hdr)] 
hdr4=<%[req.hdr(hdr4)]>; fhdr4=<%[req.fhdr(hdr4)]>;"
**** h1    0.0 conf|
**** h1    0.0 conf|\thttp-request set-header     sl1-crc  
"%[req.fhdr(sl1),crc32]"
**** h1    0.0 conf|\thttp-request set-header     sl2-crc  
"%[req.fhdr(sl2),crc32]"
**** h1    0.0 conf|\thttp-request set-header     hdr-crc  
"%[req.fhdr(hdr),crc32]"
**** h1    0.0 conf|
**** h1    0.0 conf|\t#### responses
**** h1    0.0 conf|\thttp-response set-header    be-sl1   "%[res.fhdr(sl1)]"
**** h1    0.0 conf|\thttp-response set-header    be-sl2   "%[res.fhdr(sl2)]"
**** h1    0.0 conf|\thttp-response set-header    be-hdr   "%[res.fhdr(hdr)]"
**** h1    0.0 conf|
**** h1    0.0 conf|\thttp-response set-header  be-sl1-crc 
"%[res.fhdr(sl1-crc)]"
**** h1    0.0 conf|\thttp-response set-header  be-sl2-crc 
"%[res.fhdr(sl2-crc)]"
**** h1    0.0 conf|\thttp-response set-header  be-hdr-crc 
"%[res.fhdr(hdr-crc)]"
**** h1    0.0 conf|
**** h1    0.0 conf|\thttp-response set-var(res.status)    status
**** h1    0.0 conf|\thttp-response set-header    sl1      "sl1: "
**** h1    0.0 conf|
**** h1    0.0 conf|\thttp-response set-status    200
**** h1    0.0 conf|
**** h1    0.0 conf|\thttp-response set-header    sl2      "sl2: "
**** h1    0.0 conf|
**** h1    0.0 conf|\thttp-response set-header    sl1      "%[res.fhdr(sl1)] 
status=<%[var(res.status)]>;"
**** h1    0.0 conf|\thttp-response set-header    sl2      "%[res.fhdr(sl2)] 
status=<%[status]>;"
**** h1    0.0 conf|\thttp-response set-header    hdr      "%[res.fhdr(hdr)] 
hdr1=<%[res.hdr(hdr1)]>; fhdr1=<%[res.fhdr(hdr1)]>;"
**** h1    0.0 conf|\thttp-response set-header    hdr      "%[res.fhdr(hdr)] 
hdr2=<%[res.hdr(hdr2)]>; fhdr2=<%[res.fhdr(hdr2)]>;"
**** h1    0.0 conf|\thttp-response set-header    hdr      "%[res.fhdr(hdr)] 
hdr3=<%[res.hdr(hdr3)]>; fhdr3=<%[res.fhdr(hdr3)]>;"
**** h1    0.0 conf|\thttp-response set-header    hdr      "%[res.fhdr(hdr)] 
hdr4=<%[res.hdr(hdr4)]>; fhdr4=<%[res.fhdr(hdr4)]>;"
**** h1    0.0 conf|
**** h1    0.0 conf|\thttp-response set-header  fe-sl1-crc 
"%[res.fhdr(sl1),crc32]"
**** h1    0.0 conf|\thttp-response set-header  fe-sl2-crc 
"%[res.fhdr(sl2),crc32]"
**** h1    0.0 conf|\thttp-response set-header  fe-hdr-crc 
"%[res.fhdr(hdr),crc32]"
**** h1    0.0 conf|
**** h1    0.0 conf|\tdefault_backend be
**** h1    0.0 conf|
**** h1    0.0 conf|    backend be
**** h1    0.0 conf|\t#### requests
**** h1    0.0 conf|\thttp-request set-header     fe-sl1   "%[req.fhdr(sl1)]"
**** h1    0.0 conf|\thttp-request set-header     fe-sl2   "%[req.fhdr(sl2)]"
**** h1    0.0 conf|\thttp-request set-header     fe-hdr   "%[req.fhdr(hdr)]"
**** h1    0.0 conf|
**** h1    0.0 conf|\thttp-request set-header   fe-sl1-crc 
"%[req.fhdr(sl1-crc)]"
**** h1    0.0 conf|\thttp-request set-header   fe-sl2-crc 
"%[req.fhdr(sl2-crc)]"
**** h1    0.0 conf|\thttp-request set-header   fe-hdr-crc 
"%[req.fhdr(hdr-crc)]"
**** h1    0.0 conf|
**** h1    0.0 conf|\thttp-request set-var(req.method)     method
**** h1    0.0 conf|\thttp-request set-var(req.uri)        url
**** h1    0.0 conf|\thttp-request set-var(req.path)       path
**** h1    0.0 conf|\thttp-request set-var(req.query)      query
**** h1    0.0 conf|\thttp-request set-var(req.param)      url_param(qs_arg)
**** h1    0.0 conf|
**** h1    0.0 conf|\thttp-request set-header     sl1      "sl1: "
**** h1    0.0 conf|
**** h1    0.0 conf|\thttp-request set-method              "%[str(GET)]"
**** h1    0.0 conf|\thttp-request set-uri                 
concat(/bu/,req.uri,/eu)
**** h1    0.0 conf|\thttp-request set-path                
"/bp/%[var(req.path)]/ep"
**** h1    0.0 conf|\thttp-request set-query               
"bq&%[var(req.query)]&eq"
**** h1    0.0 conf|
**** h1    0.0 conf|\thttp-request set-header     sl2      "sl2: "
**** h1    0.0 conf|
**** h1    0.0 conf|\thttp-request set-header     sl1      "%[req.fhdr(sl1)] 
method=<%[var(req.method)]>; uri=<%[var(req.uri)]>; path=<%[var(req.path)]>;"
**** h1    0.0 conf|\thttp-request set-header     sl1      "%[req.fhdr(sl1)] 
query=<%[var(req.query)]>; param=<%[var(req.param)]>"
**** h1    0.0 conf|\thttp-request set-header     sl2      "%[req.fhdr(sl2)] 
method=<%[method]>; uri=<%[url]>; path=<%[path]>; "
**** h1    0.0 conf|\thttp-request set-header     sl2      "%[req.fhdr(sl2)] 
query=<%[query]>; param=<%[url_param(qs_arg)]>"
**** h1    0.0 conf|\thttp-request set-header     hdr      "%[req.fhdr(hdr)] 
hdr1=<%[req.hdr(hdr1)]>; fhdr1=<%[req.fhdr(hdr1)]>;"
**** h1    0.0 conf|\thttp-request set-header     hdr      "%[req.fhdr(hdr)] 
hdr2=<%[req.hdr(hdr2)]>; fhdr2=<%[req.fhdr(hdr2)]>;"
**** h1    0.0 conf|\thttp-request set-header     hdr      "%[req.fhdr(hdr)] 
hdr3=<%[req.hdr(hdr3)]>; fhdr3=<%[req.fhdr(hdr3)]>;"
**** h1    0.0 conf|\thttp-request set-header     hdr      "%[req.fhdr(hdr)] 
hdr4=<%[req.hdr(hdr4)]>; fhdr4=<%[req.fhdr(hdr4)]>;"
**** h1    0.0 conf|
**** h1    0.0 conf|\thttp-request set-header   be-sl1-crc 
"%[req.fhdr(sl1),crc32]"
**** h1    0.0 conf|\thttp-request set-header   be-sl2-crc 
"%[req.fhdr(sl2),crc32]"
**** h1    0.0 conf|\thttp-request set-header   be-hdr-crc 
"%[req.fhdr(hdr),crc32]"
**** h1    0.0 conf|
**** h1    0.0 conf|\t#### responses
**** h1    0.0 conf|\thttp-response set-var(res.status)    status
**** h1    0.0 conf|\thttp-response set-header     sl1     "sl1: "
**** h1    0.0 conf|
**** h1    0.0 conf|\thttp-response set-status     200
**** h1    0.0 conf|
**** h1    0.0 conf|\thttp-response set-header     sl2     "sl2: "
**** h1    0.0 conf|
**** h1    0.0 conf|\thttp-response set-header     sl1     "%[res.fhdr(sl1)] 
status=<%[var(res.status)]>;"
**** h1    0.0 conf|\thttp-response set-header     sl2     "%[res.fhdr(sl2)] 
status=<%[status]>;"
**** h1    0.0 conf|\thttp-response set-header     hdr     "%[res.fhdr(hdr)] 
hdr1=<%[res.hdr(hdr1)]>; fhdr1=<%[res.fhdr(hdr1)]>;"
**** h1    0.0 conf|\thttp-response set-header     hdr     "%[res.fhdr(hdr)] 
hdr2=<%[res.hdr(hdr2)]>; fhdr2=<%[res.fhdr(hdr2)]>;"
**** h1    0.0 conf|\thttp-response set-header     hdr     "%[res.fhdr(hdr)] 
hdr3=<%[res.hdr(hdr3)]>; fhdr3=<%[res.fhdr(hdr3)]>;"
**** h1    0.0 conf|\thttp-response set-header     hdr     "%[res.fhdr(hdr)] 
hdr4=<%[res.hdr(hdr4)]>; fhdr4=<%[res.fhdr(hdr4)]>;"
**** h1    0.0 conf|
**** h1    0.0 conf|\thttp-response set-header     sl1-crc 
"%[res.fhdr(sl1),crc32]"
**** h1    0.0 conf|\thttp-response set-header     sl2-crc 
"%[res.fhdr(sl2),crc32]"
**** h1    0.0 conf|\thttp-response set-header     hdr-crc 
"%[res.fhdr(hdr),crc32]"
**** h1    0.0 conf|
**** h1    0.0 conf|\tserver s1 127.0.0.1:23305
**   h1    0.0 haproxy_start
**** h1    0.0 opt_worker 0 opt_daemon 0 opt_check_mode 0
**** h1    0.0 argv|exec 
/usr/ports/net/haproxy-devel/work/haproxy-eb2bbba/haproxy -d  -f 
/tmp/2018-12-08_19-21-06.FYVFcT/vtc.86314.04fe4024/h1/cfg 
**** h1    0.0 XXX 9 @586
***  h1    0.0 PID: 86375
**** h1    0.0 macro def h1_pid=86375
**** h1    0.0 macro def 
h1_name=/tmp/2018-12-08_19-21-06.FYVFcT/vtc.86314.04fe4024/h1
**   top   0.0 === client c1h1 -connect ${h1_feh1_sock} {
**   c1h1  0.0 Starting client
**   c1h1  0.0 Waiting for client
***  c1h1  0.0 Connect to ::1 23307
***  c1h1  0.0 connected fd 8 from ::1 23309 to ::1 23307
**   c1h1  0.0 === txreq \
**** c1h1  0.0 txreq|GET /path/to/file.extension?qs_arg=qs_value HTTP/1.1\r
**** c1h1  0.0 txreq|hdr1: val1\r
**** c1h1  0.0 txreq|hdr2:  val2a\r
**** c1h1  0.0 txreq|hdr2:    val2b\r
**** c1h1  0.0 txreq|hdr3:      val3a, val3b\r
**** c1h1  0.0 txreq|hdr4:\r
**** c1h1  0.0 txreq|Host: 127.0.0.1\r
**** c1h1  0.0 txreq|\r
**   c1h1  0.0 === rxresp
***  h1    0.0 debug|Note: setting global.maxconn to 2000.
***  h1    0.0 debug|Available polling systems :
***  h1    0.0 debug|     kqueue : pref=300,  test result OK
***  h1    0.0 debug|
***  h1    0.0 debug|       poll : pref=200,  test result OK
***  h1    0.0 debug|     select : pref=150,  test result FAILED
***  h1    0.0 debug|Total: 3 (2 usable), will use kqueue.
***  h1    0.0 debug|
***  h1    0.0 debug|Available filters :
***  h1    0.0 debug|\t[SPOE] spoe
***  h1    0.0 debug|\t[COMP] compression
***  h1    0.0 debug|\t[TRACE] trace
***  h1    0.0 debug|Using kqueue() as the polling mechanism.
***  h1    0.0 debug|00000000:fe.accept(0006)=000b from [::1:23309] ALPN=<none>
***  h1    0.0 debug|00000000:fe.clireq[000b:ffffffff]: GET 
/path/to/file.extension?qs_arg=qs_value HTTP/1.1
***  h1    0.0 debug|00000000:fe.clihdr[000b:ffffffff]: hdr1: val1
***  h1    0.0 debug|00000000:fe.clihdr[000b:ffffffff]: hdr2:  val2a
***  h1    0.0 debug|00000000:fe.clihdr[000b:ffffffff]: hdr2:    val2b
***  h1    0.0 debug|00000000:fe.clihdr[000b:ffffffff]: hdr3:      val3a, val3b
***  h1    0.0 debug|00000000:fe.clihdr[000b:ffffffff]: hdr4:
***  h1    0.0 debug|00000000:fe.clihdr[000b:ffffffff]: Host: 127.0.0.1
***  s1    0.0 accepted fd 4 127.0.0.1 23310
**   s1    0.0 === rxreq
**** s1    0.0 rxhdr|GET 
/bp//bp//path/to/file.extension/ep/ep?bq&bq&qs_arg=qs_value&eq&eq HTTP/1.1\r
**** s1    0.0 rxhdr|hdr1: val1\r
**** s1    0.0 rxhdr|hdr2:  val2a\r
**** s1    0.0 rxhdr|hdr2:    val2b\r
**** s1    0.0 rxhdr|hdr3:      val3a, val3b\r
**** s1    0.0 rxhdr|hdr4:\r
**** s1    0.0 rxhdr|Host: 127.0.0.1\r
**** s1    0.0 rxhdr|sl1-crc: 992395575\r
**** s1    0.0 rxhdr|sl2-crc: 1270056220\r
**** s1    0.0 rxhdr|hdr-crc: 1719311923\r
**** s1    0.0 rxhdr|fe-sl1: sl1: method=<GET>; 
uri=</path/to/file.extension?qs_arg=qs_value>; path=</path/to/file.extension>; 
query=<qs_arg=qs_value>; param=<qs_value>\r
**** s1    0.0 rxhdr|fe-sl2: sl2: method=<GET>; 
uri=</bp//path/to/file.extension/ep?bq&qs_arg=qs_value&eq>; 
path=</bp//path/to/file.extension/ep>; query=<bq&qs_arg=qs_value&eq>; 
param=<qs_value>\r
**** s1    0.0 rxhdr|fe-hdr: hdr1=<val1>; fhdr1=<val1>; hdr2=<val2b>; 
fhdr2=<val2b>; hdr3=<val3b>; fhdr3=<val3a, val3b>; hdr4=<>; fhdr4=<>;\r
**** s1    0.0 rxhdr|fe-sl1-crc: 992395575\r
**** s1    0.0 rxhdr|fe-sl2-crc: 1270056220\r
**** s1    0.0 rxhdr|fe-hdr-crc: 1719311923\r
**** s1    0.0 rxhdr|sl1: sl1: method=<GET>; 
uri=</bp//path/to/file.extension/ep?bq&qs_arg=qs_value&eq>; 
path=</bp//path/to/file.extension/ep>; query=<bq&qs_arg=qs_value&eq>; 
param=<qs_value>\r
**** s1    0.0 rxhdr|sl2: sl2: method=<GET>; 
uri=</bp//bp//path/to/file.extension/ep/ep?bq&bq&qs_arg=qs_value&eq&eq>; 
path=</bp//bp//path/to/file.extension/ep/ep>; 
query=<bq&bq&qs_arg=qs_value&eq&eq>; param=<qs_value>\r
**** s1    0.0 rxhdr|hdr: hdr1=<val1>; fhdr1=<val1>; hdr2=<val2b>; 
fhdr2=<val2b>; hdr3=<val3b>; fhdr3=<val3a, val3b>; hdr4=<>; fhdr4=<>; 
hdr1=<val1>; fhdr1=<val1>; hdr2=<val2b>; fhdr2=<val2b>; hdr3=<val3b>; 
fhdr3=<val3a, val3b>; hdr4=<>; fhdr4=<>;\r
**** s1    0.0 rxhdr|be-sl1-crc: 2604236007\r
**** s1    0.0 rxhdr|be-sl2-crc: 4181358964\r
**** s1    0.0 rxhdr|be-hdr-crc: 3634102538\r
**** s1    0.0 rxhdr|\r
**** s1    0.0 rxhdrlen = 1420
**** s1    0.0 http[ 0] |GET
**** s1    0.0 http[ 1] 
|/bp//bp//path/to/file.extension/ep/ep?bq&bq&qs_arg=qs_value&eq&eq
**** s1    0.0 http[ 2] |HTTP/1.1
**** s1    0.0 http[ 3] |hdr1: val1
**** s1    0.0 http[ 4] |hdr2:  val2a
**** s1    0.0 http[ 5] |hdr2:    val2b
**** s1    0.0 http[ 6] |hdr3:      val3a, val3b
**** s1    0.0 http[ 7] |hdr4:
**** s1    0.0 http[ 8] |Host: 127.0.0.1
**** s1    0.0 http[ 9] |sl1-crc: 992395575
**** s1    0.0 http[10] |sl2-crc: 1270056220
**** s1    0.0 http[11] |hdr-crc: 1719311923
**** s1    0.0 http[12] |fe-sl1: sl1: method=<GET>; 
uri=</path/to/file.extension?qs_arg=qs_value>; path=</path/to/file.extension>; 
query=<qs_arg=qs_value>; param=<qs_value>
**** s1    0.0 http[13] |fe-sl2: sl2: method=<GET>; 
uri=</bp//path/to/file.extension/ep?bq&qs_arg=qs_value&eq>; 
path=</bp//path/to/file.extension/ep>; query=<bq&qs_arg=qs_value&eq>; 
param=<qs_value>
**** s1    0.0 http[14] |fe-hdr: hdr1=<val1>; fhdr1=<val1>; hdr2=<val2b>; 
fhdr2=<val2b>; hdr3=<val3b>; fhdr3=<val3a, val3b>; hdr4=<>; fhdr4=<>;
**** s1    0.0 http[15] |fe-sl1-crc: 992395575
**** s1    0.0 http[16] |fe-sl2-crc: 1270056220
**** s1    0.0 http[17] |fe-hdr-crc: 1719311923
**** s1    0.0 http[18] |sl1: sl1: method=<GET>; 
uri=</bp//path/to/file.extension/ep?bq&qs_arg=qs_value&eq>; 
path=</bp//path/to/file.extension/ep>; query=<bq&qs_arg=qs_value&eq>; 
param=<qs_value>
**** s1    0.0 http[19] |sl2: sl2: method=<GET>; 
uri=</bp//bp//path/to/file.extension/ep/ep?bq&bq&qs_arg=qs_value&eq&eq>; 
path=</bp//bp//path/to/file.extension/ep/ep>; 
query=<bq&bq&qs_arg=qs_value&eq&eq>; param=<qs_value>
**** s1    0.0 http[20] |hdr: hdr1=<val1>; fhdr1=<val1>; hdr2=<val2b>; 
fhdr2=<val2b>; hdr3=<val3b>; fhdr3=<val3a, val3b>; hdr4=<>; fhdr4=<>; 
hdr1=<val1>; fhdr1=<val1>; hdr2=<val2b>; fhdr2=<val2b>; hdr3=<val3b>; 
fhdr3=<val3a, val3b>; hdr4=<>; fhdr4=<>;
**** s1    0.0 http[21] |be-sl1-crc: 2604236007
**** s1    0.0 http[22] |be-sl2-crc: 4181358964
**** s1    0.0 http[23] |be-hdr-crc: 3634102538
**** s1    0.0 bodylen = 0
**   s1    0.0 === txresp \
---- s1    0.0 Assert error in http_tx_parse_args(), vtc_http.c line 870:  
Condition(body == nullbody) not true.

***  h1    1.0 debug|00000000:be.srvcls[000b:adfd]
***  h1    1.0 debug|00000000:be.clicls[000b:adfd]
***  h1    1.0 debug|00000000:be.closed[000b:adfd]
**** c1h1  1.0 rxhdr|HTTP/1.0 504 Gateway Time-out\r
**** c1h1  1.0 rxhdr|Cache-Control: no-cache\r
**** c1h1  1.0 rxhdr|Connection: close\r
**** c1h1  1.0 rxhdr|Content-Type: text/html\r
**** c1h1  1.0 rxhdr|\r
**** c1h1  1.0 rxhdrlen = 102
**** c1h1  1.0 http[ 0] |HTTP/1.0
**** c1h1  1.0 http[ 1] |504
**** c1h1  1.0 http[ 2] |Gateway Time-out
**** c1h1  1.0 http[ 3] |Cache-Control: no-cache
**** c1h1  1.0 http[ 4] |Connection: close
**** c1h1  1.0 http[ 5] |Content-Type: text/html
**** c1h1  1.0 bodylen = 0
***  c1h1  1.0 closing fd 8
**   c1h1  1.0 Ending
*    top   1.0 RESETTING after ./reg-tests/http-rules/h00001.vtc
**   h1    1.0 Reset and free h1 haproxy 86375
**   h1    1.0 Wait
**   h1    1.0 Stop HAproxy pid=86375
**** h1    1.0 STDOUT poll 0x11
**** h1    1.0 Kill(2)=0: No error: 0
**   h1    1.1 WAIT4 pid=86375 status=0x0002 (user 0.000000 sys 0.007598)
**   s1    1.1 Waiting for server (3/-1)
*    top   1.1 TEST ./reg-tests/http-rules/h00001.vtc FAILED

Reply via email to