MEDIUM: http-rules: Rely on http reply for http deny/tarpit rules

"http-request deny", "http-request tarpit" and "http-response deny" rules now
use the same syntax than http return rules and internally rely on the http
replies. The behaviour is not the same when no argument is specified (or only
the status code). For http replies, a dummy response is produced, with no
payload. For old deny/tarpit rules, the proxy's error messages are used. Thus,
to be compatible with existing configuration, the "default-errorfiles" parameter
is implied. For instance :

  http-request deny deny_status 404

is now an alias of

  http-request deny status 404 default-errorfiles
diff --git a/reg-tests/http-errorfiles/http_deny_errors.vtc b/reg-tests/http-errorfiles/http_deny_errors.vtc
index de456d7..3a02af0 100644
--- a/reg-tests/http-errorfiles/http_deny_errors.vtc
+++ b/reg-tests/http-errorfiles/http_deny_errors.vtc
@@ -27,6 +27,9 @@
         http-request deny deny_status 500 errorfile  /dev/null if { path /500-1 }
         http-request deny deny_status 500 errorfiles errors-1 if { path /500-2 }
 
+        http-request deny status 500 hdr x-err-info "path=%[path]" content-type "text/plain" string "Internal Error" if { path /int-err }
+        http-request deny status 403 hdr x-err-info "path=%[path]" content-type "text/plain" lf-file ${testdir}/errors/lf-403.txt if { path /forbidden }
+
 } -start
 
 client c1r1  -connect ${h1_fe1_sock} {
@@ -55,3 +58,20 @@
         txreq -req GET -url /500-2
         expect_close
 } -run
+client c1r6  -connect ${h1_fe1_sock} {
+        txreq -req GET -url /int-err
+	rxresp
+	expect resp.status == 500
+	expect resp.http.x-err-info == "path=/int-err"
+	expect resp.http.content-type == "text/plain"
+        expect resp.http.content-length == 14
+	expect resp.body == "Internal Error"
+} -run
+client c1r7  -connect ${h1_fe1_sock} {
+        txreq -req GET -url /forbidden
+	rxresp
+	expect resp.status == 403
+	expect resp.http.x-err-info == "path=/forbidden"
+	expect resp.http.content-type == "text/plain"
+	expect resp.body == "The path \"/forbidden\" is forbidden\n"
+} -run