MAJOR: acl: make all ACLs reference the fetch function via a sample.

ACL fetch functions used to directly reference a fetch function. Now
that all ACL fetches have their sample fetches equivalent, we can make
ACLs reference a sample fetch keyword instead.

In order to simplify the code, a sample keyword name may be NULL if it
is the same as the ACL's, which is the most common case.

A minor change appeared, http_auth always expects one argument though
the ACL allowed it to be missing and reported as such afterwards, so
fix the ACL to match this. This is not really a bug.
diff --git a/src/session.c b/src/session.c
index 4b8a116..c0d8da5 100644
--- a/src/session.c
+++ b/src/session.c
@@ -3613,59 +3613,59 @@
  * Please take care of keeping this list alphabetically sorted.
  */
 static struct acl_kw_list acl_kws = {{ },{
-	{ "sc1_bytes_in_rate",  acl_parse_int,   smp_fetch_sc1_bytes_in_rate,  acl_match_int, ACL_USE_NOTHING,       0 },
-	{ "sc1_bytes_out_rate", acl_parse_int,   smp_fetch_sc1_bytes_out_rate, acl_match_int, ACL_USE_NOTHING,       0 },
-	{ "sc1_clr_gpc0",       acl_parse_int,   smp_fetch_sc1_clr_gpc0,       acl_match_int, ACL_USE_NOTHING,       0 },
-	{ "sc1_conn_cnt",       acl_parse_int,   smp_fetch_sc1_conn_cnt,       acl_match_int, ACL_USE_NOTHING,       0 },
-	{ "sc1_conn_cur",       acl_parse_int,   smp_fetch_sc1_conn_cur,       acl_match_int, ACL_USE_NOTHING,       0 },
-	{ "sc1_conn_rate",      acl_parse_int,   smp_fetch_sc1_conn_rate,      acl_match_int, ACL_USE_NOTHING,       0 },
-	{ "sc1_get_gpc0",       acl_parse_int,   smp_fetch_sc1_get_gpc0,       acl_match_int, ACL_USE_NOTHING,       0 },
-	{ "sc1_http_err_cnt",   acl_parse_int,   smp_fetch_sc1_http_err_cnt,   acl_match_int, ACL_USE_NOTHING,       0 },
-	{ "sc1_http_err_rate",  acl_parse_int,   smp_fetch_sc1_http_err_rate,  acl_match_int, ACL_USE_NOTHING,       0 },
-	{ "sc1_http_req_cnt",   acl_parse_int,   smp_fetch_sc1_http_req_cnt,   acl_match_int, ACL_USE_NOTHING,       0 },
-	{ "sc1_http_req_rate",  acl_parse_int,   smp_fetch_sc1_http_req_rate,  acl_match_int, ACL_USE_NOTHING,       0 },
-	{ "sc1_inc_gpc0",       acl_parse_int,   smp_fetch_sc1_inc_gpc0,       acl_match_int, ACL_USE_NOTHING,       0 },
-	{ "sc1_kbytes_in",      acl_parse_int,   smp_fetch_sc1_kbytes_in,      acl_match_int, ACL_USE_TCP4_VOLATILE, 0 },
-	{ "sc1_kbytes_out",     acl_parse_int,   smp_fetch_sc1_kbytes_out,     acl_match_int, ACL_USE_TCP4_VOLATILE, 0 },
-	{ "sc1_sess_cnt",       acl_parse_int,   smp_fetch_sc1_sess_cnt,       acl_match_int, ACL_USE_NOTHING,       0 },
-	{ "sc1_sess_rate",      acl_parse_int,   smp_fetch_sc1_sess_rate,      acl_match_int, ACL_USE_NOTHING,       0 },
-	{ "sc1_trackers",       acl_parse_int,   smp_fetch_sc1_trackers,       acl_match_int, ACL_USE_NOTHING,       0 },
-	{ "sc2_bytes_in_rate",  acl_parse_int,   smp_fetch_sc2_bytes_in_rate,  acl_match_int, ACL_USE_NOTHING,       0 },
-	{ "sc2_bytes_out_rate", acl_parse_int,   smp_fetch_sc2_bytes_out_rate, acl_match_int, ACL_USE_NOTHING,       0 },
-	{ "sc2_clr_gpc0",       acl_parse_int,   smp_fetch_sc2_clr_gpc0,       acl_match_int, ACL_USE_NOTHING,       0 },
-	{ "sc2_conn_cnt",       acl_parse_int,   smp_fetch_sc2_conn_cnt,       acl_match_int, ACL_USE_NOTHING,       0 },
-	{ "sc2_conn_cur",       acl_parse_int,   smp_fetch_sc2_conn_cur,       acl_match_int, ACL_USE_NOTHING,       0 },
-	{ "sc2_conn_rate",      acl_parse_int,   smp_fetch_sc2_conn_rate,      acl_match_int, ACL_USE_NOTHING,       0 },
-	{ "sc2_get_gpc0",       acl_parse_int,   smp_fetch_sc2_get_gpc0,       acl_match_int, ACL_USE_NOTHING,       0 },
-	{ "sc2_http_err_cnt",   acl_parse_int,   smp_fetch_sc2_http_err_cnt,   acl_match_int, ACL_USE_NOTHING,       0 },
-	{ "sc2_http_err_rate",  acl_parse_int,   smp_fetch_sc2_http_err_rate,  acl_match_int, ACL_USE_NOTHING,       0 },
-	{ "sc2_http_req_cnt",   acl_parse_int,   smp_fetch_sc2_http_req_cnt,   acl_match_int, ACL_USE_NOTHING,       0 },
-	{ "sc2_http_req_rate",  acl_parse_int,   smp_fetch_sc2_http_req_rate,  acl_match_int, ACL_USE_NOTHING,       0 },
-	{ "sc2_inc_gpc0",       acl_parse_int,   smp_fetch_sc2_inc_gpc0,       acl_match_int, ACL_USE_NOTHING,       0 },
-	{ "sc2_kbytes_in",      acl_parse_int,   smp_fetch_sc2_kbytes_in,      acl_match_int, ACL_USE_TCP4_VOLATILE, 0 },
-	{ "sc2_kbytes_out",     acl_parse_int,   smp_fetch_sc2_kbytes_out,     acl_match_int, ACL_USE_TCP4_VOLATILE, 0 },
-	{ "sc2_sess_cnt",       acl_parse_int,   smp_fetch_sc2_sess_cnt,       acl_match_int, ACL_USE_NOTHING,       0 },
-	{ "sc2_sess_rate",      acl_parse_int,   smp_fetch_sc2_sess_rate,      acl_match_int, ACL_USE_NOTHING,       0 },
-	{ "sc2_trackers",       acl_parse_int,   smp_fetch_sc2_trackers,       acl_match_int, ACL_USE_NOTHING,       0 },
-	{ "src_bytes_in_rate",  acl_parse_int,   smp_fetch_src_bytes_in_rate,  acl_match_int, ACL_USE_TCP4_VOLATILE, ARG1(1,TAB) },
-	{ "src_bytes_out_rate", acl_parse_int,   smp_fetch_src_bytes_out_rate, acl_match_int, ACL_USE_TCP4_VOLATILE, ARG1(1,TAB) },
-	{ "src_clr_gpc0",       acl_parse_int,   smp_fetch_src_clr_gpc0,       acl_match_int, ACL_USE_TCP4_VOLATILE, ARG1(1,TAB) },
-	{ "src_conn_cnt",       acl_parse_int,   smp_fetch_src_conn_cnt,       acl_match_int, ACL_USE_TCP4_VOLATILE, ARG1(1,TAB) },
-	{ "src_conn_cur",       acl_parse_int,   smp_fetch_src_conn_cur,       acl_match_int, ACL_USE_TCP4_VOLATILE, ARG1(1,TAB) },
-	{ "src_conn_rate",      acl_parse_int,   smp_fetch_src_conn_rate,      acl_match_int, ACL_USE_TCP4_VOLATILE, ARG1(1,TAB) },
-	{ "src_get_gpc0",       acl_parse_int,   smp_fetch_src_get_gpc0,       acl_match_int, ACL_USE_TCP4_VOLATILE, ARG1(1,TAB) },
-	{ "src_http_err_cnt",   acl_parse_int,   smp_fetch_src_http_err_cnt,   acl_match_int, ACL_USE_TCP4_VOLATILE, ARG1(1,TAB) },
-	{ "src_http_err_rate",  acl_parse_int,   smp_fetch_src_http_err_rate,  acl_match_int, ACL_USE_TCP4_VOLATILE, ARG1(1,TAB) },
-	{ "src_http_req_cnt",   acl_parse_int,   smp_fetch_src_http_req_cnt,   acl_match_int, ACL_USE_TCP4_VOLATILE, ARG1(1,TAB) },
-	{ "src_http_req_rate",  acl_parse_int,   smp_fetch_src_http_req_rate,  acl_match_int, ACL_USE_TCP4_VOLATILE, ARG1(1,TAB) },
-	{ "src_inc_gpc0",       acl_parse_int,   smp_fetch_src_inc_gpc0,       acl_match_int, ACL_USE_TCP4_VOLATILE, ARG1(1,TAB) },
-	{ "src_kbytes_in",      acl_parse_int,   smp_fetch_src_kbytes_in,      acl_match_int, ACL_USE_TCP4_VOLATILE, ARG1(1,TAB) },
-	{ "src_kbytes_out",     acl_parse_int,   smp_fetch_src_kbytes_out,     acl_match_int, ACL_USE_TCP4_VOLATILE, ARG1(1,TAB) },
-	{ "src_sess_cnt",       acl_parse_int,   smp_fetch_src_sess_cnt,       acl_match_int, ACL_USE_TCP4_VOLATILE, ARG1(1,TAB) },
-	{ "src_sess_rate",      acl_parse_int,   smp_fetch_src_sess_rate,      acl_match_int, ACL_USE_TCP4_VOLATILE, ARG1(1,TAB) },
-	{ "src_updt_conn_cnt",  acl_parse_int,   smp_fetch_src_updt_conn_cnt,  acl_match_int, ACL_USE_TCP4_VOLATILE, ARG1(1,TAB) },
-	{ "table_avl",          acl_parse_int,   smp_fetch_table_avl,          acl_match_int, ACL_USE_NOTHING,       ARG1(1,TAB) },
-	{ "table_cnt",          acl_parse_int,   smp_fetch_table_cnt,          acl_match_int, ACL_USE_NOTHING,       ARG1(1,TAB) },
+	{ "sc1_bytes_in_rate",  NULL, acl_parse_int, acl_match_int, ACL_USE_NOTHING,       0 },
+	{ "sc1_bytes_out_rate", NULL, acl_parse_int, acl_match_int, ACL_USE_NOTHING,       0 },
+	{ "sc1_clr_gpc0",       NULL, acl_parse_int, acl_match_int, ACL_USE_NOTHING,       0 },
+	{ "sc1_conn_cnt",       NULL, acl_parse_int, acl_match_int, ACL_USE_NOTHING,       0 },
+	{ "sc1_conn_cur",       NULL, acl_parse_int, acl_match_int, ACL_USE_NOTHING,       0 },
+	{ "sc1_conn_rate",      NULL, acl_parse_int, acl_match_int, ACL_USE_NOTHING,       0 },
+	{ "sc1_get_gpc0",       NULL, acl_parse_int, acl_match_int, ACL_USE_NOTHING,       0 },
+	{ "sc1_http_err_cnt",   NULL, acl_parse_int, acl_match_int, ACL_USE_NOTHING,       0 },
+	{ "sc1_http_err_rate",  NULL, acl_parse_int, acl_match_int, ACL_USE_NOTHING,       0 },
+	{ "sc1_http_req_cnt",   NULL, acl_parse_int, acl_match_int, ACL_USE_NOTHING,       0 },
+	{ "sc1_http_req_rate",  NULL, acl_parse_int, acl_match_int, ACL_USE_NOTHING,       0 },
+	{ "sc1_inc_gpc0",       NULL, acl_parse_int, acl_match_int, ACL_USE_NOTHING,       0 },
+	{ "sc1_kbytes_in",      NULL, acl_parse_int, acl_match_int, ACL_USE_TCP4_VOLATILE, 0 },
+	{ "sc1_kbytes_out",     NULL, acl_parse_int, acl_match_int, ACL_USE_TCP4_VOLATILE, 0 },
+	{ "sc1_sess_cnt",       NULL, acl_parse_int, acl_match_int, ACL_USE_NOTHING,       0 },
+	{ "sc1_sess_rate",      NULL, acl_parse_int, acl_match_int, ACL_USE_NOTHING,       0 },
+	{ "sc1_trackers",       NULL, acl_parse_int, acl_match_int, ACL_USE_NOTHING,       0 },
+	{ "sc2_bytes_in_rate",  NULL, acl_parse_int, acl_match_int, ACL_USE_NOTHING,       0 },
+	{ "sc2_bytes_out_rate", NULL, acl_parse_int, acl_match_int, ACL_USE_NOTHING,       0 },
+	{ "sc2_clr_gpc0",       NULL, acl_parse_int, acl_match_int, ACL_USE_NOTHING,       0 },
+	{ "sc2_conn_cnt",       NULL, acl_parse_int, acl_match_int, ACL_USE_NOTHING,       0 },
+	{ "sc2_conn_cur",       NULL, acl_parse_int, acl_match_int, ACL_USE_NOTHING,       0 },
+	{ "sc2_conn_rate",      NULL, acl_parse_int, acl_match_int, ACL_USE_NOTHING,       0 },
+	{ "sc2_get_gpc0",       NULL, acl_parse_int, acl_match_int, ACL_USE_NOTHING,       0 },
+	{ "sc2_http_err_cnt",   NULL, acl_parse_int, acl_match_int, ACL_USE_NOTHING,       0 },
+	{ "sc2_http_err_rate",  NULL, acl_parse_int, acl_match_int, ACL_USE_NOTHING,       0 },
+	{ "sc2_http_req_cnt",   NULL, acl_parse_int, acl_match_int, ACL_USE_NOTHING,       0 },
+	{ "sc2_http_req_rate",  NULL, acl_parse_int, acl_match_int, ACL_USE_NOTHING,       0 },
+	{ "sc2_inc_gpc0",       NULL, acl_parse_int, acl_match_int, ACL_USE_NOTHING,       0 },
+	{ "sc2_kbytes_in",      NULL, acl_parse_int, acl_match_int, ACL_USE_TCP4_VOLATILE, 0 },
+	{ "sc2_kbytes_out",     NULL, acl_parse_int, acl_match_int, ACL_USE_TCP4_VOLATILE, 0 },
+	{ "sc2_sess_cnt",       NULL, acl_parse_int, acl_match_int, ACL_USE_NOTHING,       0 },
+	{ "sc2_sess_rate",      NULL, acl_parse_int, acl_match_int, ACL_USE_NOTHING,       0 },
+	{ "sc2_trackers",       NULL, acl_parse_int, acl_match_int, ACL_USE_NOTHING,       0 },
+	{ "src_bytes_in_rate",  NULL, acl_parse_int, acl_match_int, ACL_USE_TCP4_VOLATILE, ARG1(1,TAB) },
+	{ "src_bytes_out_rate", NULL, acl_parse_int, acl_match_int, ACL_USE_TCP4_VOLATILE, ARG1(1,TAB) },
+	{ "src_clr_gpc0",       NULL, acl_parse_int, acl_match_int, ACL_USE_TCP4_VOLATILE, ARG1(1,TAB) },
+	{ "src_conn_cnt",       NULL, acl_parse_int, acl_match_int, ACL_USE_TCP4_VOLATILE, ARG1(1,TAB) },
+	{ "src_conn_cur",       NULL, acl_parse_int, acl_match_int, ACL_USE_TCP4_VOLATILE, ARG1(1,TAB) },
+	{ "src_conn_rate",      NULL, acl_parse_int, acl_match_int, ACL_USE_TCP4_VOLATILE, ARG1(1,TAB) },
+	{ "src_get_gpc0",       NULL, acl_parse_int, acl_match_int, ACL_USE_TCP4_VOLATILE, ARG1(1,TAB) },
+	{ "src_http_err_cnt",   NULL, acl_parse_int, acl_match_int, ACL_USE_TCP4_VOLATILE, ARG1(1,TAB) },
+	{ "src_http_err_rate",  NULL, acl_parse_int, acl_match_int, ACL_USE_TCP4_VOLATILE, ARG1(1,TAB) },
+	{ "src_http_req_cnt",   NULL, acl_parse_int, acl_match_int, ACL_USE_TCP4_VOLATILE, ARG1(1,TAB) },
+	{ "src_http_req_rate",  NULL, acl_parse_int, acl_match_int, ACL_USE_TCP4_VOLATILE, ARG1(1,TAB) },
+	{ "src_inc_gpc0",       NULL, acl_parse_int, acl_match_int, ACL_USE_TCP4_VOLATILE, ARG1(1,TAB) },
+	{ "src_kbytes_in",      NULL, acl_parse_int, acl_match_int, ACL_USE_TCP4_VOLATILE, ARG1(1,TAB) },
+	{ "src_kbytes_out",     NULL, acl_parse_int, acl_match_int, ACL_USE_TCP4_VOLATILE, ARG1(1,TAB) },
+	{ "src_sess_cnt",       NULL, acl_parse_int, acl_match_int, ACL_USE_TCP4_VOLATILE, ARG1(1,TAB) },
+	{ "src_sess_rate",      NULL, acl_parse_int, acl_match_int, ACL_USE_TCP4_VOLATILE, ARG1(1,TAB) },
+	{ "src_updt_conn_cnt",  NULL, acl_parse_int, acl_match_int, ACL_USE_TCP4_VOLATILE, ARG1(1,TAB) },
+	{ "table_avl",          NULL, acl_parse_int, acl_match_int, ACL_USE_NOTHING,       ARG1(1,TAB) },
+	{ "table_cnt",          NULL, acl_parse_int, acl_match_int, ACL_USE_NOTHING,       ARG1(1,TAB) },
 	{ /* END */ },
 }};