varnishtest "cannot add the HTX EOM block because the buffer is full"
feature ignore_unknown_macro

#REQUIRE_VERSION=2.2
#REQUIRE_VERSION_BELOW=2.4
#REGTEST_TYPE=devel

# This test checks that an HTTP message is properly processed when we failed to
# add the HTX EOM block in an HTX message during the parsing because the buffer
# is full. Some space must be released in the buffer to make it possible. This
# requires an extra pass in the H1 multiplexer. Here, we must be sure the mux is
# called while there is no more incoming data.

server s1 {
    rxreq
    expect req.bodylen == 15200
    txresp -bodylen 15220
} -start

syslog S -level info {
    recv
    expect ~ "[^:\\[ ]*\\[[0-9]*\\]: .* .* fe1 be1/srv1 [0-9]*/[0-9]*/[0-9]*/[0-9]*/[0-9]* 200 .* - - ---- .* .* \"GET / HTTP/1\\.1\""
} -start

haproxy h1 -conf {
    global
        tune.bufsize    16384
        tune.maxrewrite 1024

    defaults
        mode http
        timeout client  100ms
        timeout server  1s
        timeout connect 1s

    backend be1
        tcp-response inspect-delay 100ms
	tcp-response content accept if { res.len gt 15272 }
	tcp-response content reject

        http-response deny if { internal.htx.has_eom -m bool } or { internal.htx.free_data gt 1024 }
        server srv1 ${s1_addr}:${s1_port}

    frontend fe1
        option httplog
        option http-buffer-request
        log ${S_addr}:${S_port} local0 debug err
        bind "fd@${fe1}"
        http-request deny if ! { req.body_len eq 15200 } or { internal.htx.has_eom -m bool } or { internal.htx.free_data gt 1024 }
        use_backend be1
} -start

haproxy h1 -cli {
    send "trace h1 sink stderr; trace h1 level developer; trace h1 verbosity complete; trace h1 start now"
}

client c1 -connect ${h1_fe1_sock} {
  txreq -bodylen 15200
  rxresp
  expect resp.status == 200
  expect resp.bodylen == 15220
} -run
