MINOR: http: Remove headers matching the name of http-send-name-header option

It is not explicitly stated in the documentation, but some users rely on this
behavior. When the server name is inserted in a request, headers with the same
name are first removed.

This patch is not tagged as a bug, because it is not explicitly documented. We
choose to keep the same implicit behavior to not break existing
configuration. Because this option is used very little, it is not a big deal.
diff --git a/src/mux_fcgi.c b/src/mux_fcgi.c
index d66c8af..c459e76 100644
--- a/src/mux_fcgi.c
+++ b/src/mux_fcgi.c
@@ -1588,6 +1588,11 @@
 					if (isteq(p.n, ist("host")))
 						params.srv_name = p.v;
 
+					/* Skip header if same name is used to add the server name */
+					if (fconn->proxy->server_id_hdr_name &&
+					    isteq(p.n, ist2(fconn->proxy->server_id_hdr_name, fconn->proxy->server_id_hdr_len)))
+						break;
+
 					memcpy(trash.area, "http_", 5);
 					memcpy(trash.area+5, p.n.ptr, p.n.len);
 					p.n = ist2(trash.area, p.n.len+5);
diff --git a/src/mux_h1.c b/src/mux_h1.c
index 2906953..d928c57 100644
--- a/src/mux_h1.c
+++ b/src/mux_h1.c
@@ -1641,6 +1641,11 @@
 						goto skip_hdr;
 				}
 
+				/* Skip header if same name is used to add the server name */
+				if (!(h1m->flags & H1_MF_RESP) && h1c->px->server_id_hdr_name &&
+				    isteqi(n, ist2(h1c->px->server_id_hdr_name, h1c->px->server_id_hdr_len)))
+					goto skip_hdr;
+
 				/* Try to adjust the case of the header name */
 				if (h1c->px->options2 & (PR_O2_H1_ADJ_BUGCLI|PR_O2_H1_ADJ_BUGSRV))
 					h1_adjust_case_outgoing_hdr(h1s, h1m, &n);
diff --git a/src/mux_h2.c b/src/mux_h2.c
index 34c580d..fc4b02f 100644
--- a/src/mux_h2.c
+++ b/src/mux_h2.c
@@ -4776,6 +4776,12 @@
 
 		list[hdr].n = htx_get_blk_name(htx, blk);
 		list[hdr].v = htx_get_blk_value(htx, blk);
+
+		/* Skip header if same name is used to add the server name */
+		if ((h2c->flags & H2_CF_IS_BACK) && h2c->proxy->server_id_hdr_name &&
+		    isteq(list[hdr].n, ist2(h2c->proxy->server_id_hdr_name, h2c->proxy->server_id_hdr_len)))
+			continue;
+
 		hdr++;
 	}