MINOR: proxy: Store fwdfor_hdr_name as a `struct ist`

The fwdfor_hdr_name is already processed as an ist in `http_process_request`,
lets also just store it as such.

see 0643b0e7e ("MINOR: proxy: Make `header_unique_id` a `struct ist`") for a
very similar past commit.
diff --git a/include/haproxy/proxy-t.h b/include/haproxy/proxy-t.h
index 13e722f..8277c09 100644
--- a/include/haproxy/proxy-t.h
+++ b/include/haproxy/proxy-t.h
@@ -352,9 +352,8 @@
 	unsigned int tot_fe_maxconn;		/* #maxconn of frontends linked to that backend, it is used to compute fullconn */
 	struct net_addr except_xff_net;         /* don't x-forward-for for this address. */
 	struct net_addr except_xot_net;         /* don't x-original-to for this address. */
-	char *fwdfor_hdr_name;			/* header to use - default: "x-forwarded-for" */
+	struct ist fwdfor_hdr_name;			/* header to use - default: "x-forwarded-for" */
 	char *orgto_hdr_name;			/* header to use - default: "x-original-to" */
-	int fwdfor_hdr_len;			/* length of "x-forwarded-for" header */
 	int orgto_hdr_len;			/* length of "x-original-to" header */
 	char *server_id_hdr_name;                   /* the header to use to send the server id (name) */
 	int server_id_hdr_len;                      /* the length of the id (name) header... name */
diff --git a/src/cfgparse-listen.c b/src/cfgparse-listen.c
index eb58b2eb..d858c34 100644
--- a/src/cfgparse-listen.c
+++ b/src/cfgparse-listen.c
@@ -2331,11 +2331,10 @@
 
 			curproxy->options |= PR_O_FWDFOR | PR_O_FF_ALWAYS;
 
-			free(curproxy->fwdfor_hdr_name);
-			curproxy->fwdfor_hdr_name = strdup(DEF_XFORWARDFOR_HDR);
-			if (!curproxy->fwdfor_hdr_name)
+			istfree(&curproxy->fwdfor_hdr_name);
+			curproxy->fwdfor_hdr_name = istdup(ist(DEF_XFORWARDFOR_HDR));
+			if (!isttest(curproxy->fwdfor_hdr_name))
 				goto alloc_error;
-			curproxy->fwdfor_hdr_len  = strlen(DEF_XFORWARDFOR_HDR);
 			curproxy->except_xff_net.family = AF_UNSPEC;
 
 			/* loop to go through arguments - start at 2, since 0+1 = "option" "forwardfor" */
@@ -2374,11 +2373,10 @@
 						err_code |= ERR_ALERT | ERR_FATAL;
 						goto out;
 					}
-					free(curproxy->fwdfor_hdr_name);
-					curproxy->fwdfor_hdr_name = strdup(args[cur_arg+1]);
-					if (!curproxy->fwdfor_hdr_name)
+					istfree(&curproxy->fwdfor_hdr_name);
+					curproxy->fwdfor_hdr_name = istdup(ist(args[cur_arg+1]));
+					if (!isttest(curproxy->fwdfor_hdr_name))
 						goto alloc_error;
-					curproxy->fwdfor_hdr_len  = strlen(curproxy->fwdfor_hdr_name);
 					cur_arg += 2;
 				} else if (strcmp(args[cur_arg], "if-none") == 0) {
 					curproxy->options &= ~PR_O_FF_ALWAYS;
diff --git a/src/http_ana.c b/src/http_ana.c
index b60927e..f02b844 100644
--- a/src/http_ana.c
+++ b/src/http_ana.c
@@ -655,8 +655,7 @@
 	if ((sess->fe->options | s->be->options) & PR_O_FWDFOR) {
 		const struct sockaddr_storage *src = si_src(cs_si(s->csf));
 		struct http_hdr_ctx ctx = { .blk = NULL };
-		struct ist hdr = ist2(s->be->fwdfor_hdr_len ? s->be->fwdfor_hdr_name : sess->fe->fwdfor_hdr_name,
-				      s->be->fwdfor_hdr_len ? s->be->fwdfor_hdr_len : sess->fe->fwdfor_hdr_len);
+		struct ist hdr = isttest(s->be->fwdfor_hdr_name) ? s->be->fwdfor_hdr_name : sess->fe->fwdfor_hdr_name;
 
 		if (!((sess->fe->options | s->be->options) & PR_O_FF_ALWAYS) &&
 		    http_find_header(htx, hdr, &ctx, 0)) {
diff --git a/src/proxy.c b/src/proxy.c
index 79aa3f4..b48c24e 100644
--- a/src/proxy.c
+++ b/src/proxy.c
@@ -332,7 +332,7 @@
 		pxdf->fct(p);
 
 	free(p->desc);
-	free(p->fwdfor_hdr_name);
+	istfree(&p->fwdfor_hdr_name);
 
 	task_destroy(p->task);
 
@@ -1439,7 +1439,7 @@
 	istfree(&defproxy->monitor_uri);
 	ha_free(&defproxy->defbe.name);
 	ha_free(&defproxy->conn_src.iface_name);
-	ha_free(&defproxy->fwdfor_hdr_name); defproxy->fwdfor_hdr_len = 0;
+	istfree(&defproxy->fwdfor_hdr_name);
 	ha_free(&defproxy->orgto_hdr_name); defproxy->orgto_hdr_len = 0;
 	ha_free(&defproxy->server_id_hdr_name); defproxy->server_id_hdr_len = 0;
 
@@ -1601,10 +1601,8 @@
 	curproxy->tcp_req.inspect_delay = defproxy->tcp_req.inspect_delay;
 	curproxy->tcp_rep.inspect_delay = defproxy->tcp_rep.inspect_delay;
 
-	if (defproxy->fwdfor_hdr_len) {
-		curproxy->fwdfor_hdr_len  = defproxy->fwdfor_hdr_len;
-		curproxy->fwdfor_hdr_name = strdup(defproxy->fwdfor_hdr_name);
-	}
+	if (isttest(defproxy->fwdfor_hdr_name))
+		curproxy->fwdfor_hdr_name = istdup(defproxy->fwdfor_hdr_name);
 
 	if (defproxy->orgto_hdr_len) {
 		curproxy->orgto_hdr_len  = defproxy->orgto_hdr_len;