MINOR: server: Constify source server to copy its settings
The source server used to initialize a new server, in srv_settings_cpy() and
sub-functions, is now a constant.
This patch is mandatory to fix a bug.
(cherry picked from commit 0b365e3cb5e1b3b2483c08c125b7a784efa86f0f)
Signed-off-by: Willy Tarreau <w@1wt.eu>
(cherry picked from commit 58473f77ac9e589c9ad338e0697021ff8db6954a)
Signed-off-by: Willy Tarreau <w@1wt.eu>
(cherry picked from commit 2856bad6d12cdcbf799da6fade76d2d2756b889a)
Signed-off-by: Willy Tarreau <w@1wt.eu>
diff --git a/src/server.c b/src/server.c
index 9d0a35b..5f39d51 100644
--- a/src/server.c
+++ b/src/server.c
@@ -2012,8 +2012,7 @@
msg, quote, token, quote);
}
-static void srv_conn_src_sport_range_cpy(struct server *srv,
- struct server *src)
+static void srv_conn_src_sport_range_cpy(struct server *srv, const struct server *src)
{
int range_sz;
@@ -2034,7 +2033,7 @@
/*
* Copy <src> server connection source settings to <srv> server everything needed.
*/
-static void srv_conn_src_cpy(struct server *srv, struct server *src)
+static void srv_conn_src_cpy(struct server *srv, const struct server *src)
{
srv->conn_src.opts = src->conn_src.opts;
srv->conn_src.source_addr = src->conn_src.source_addr;
@@ -2060,7 +2059,7 @@
* everything needed.
*/
#if defined(USE_OPENSSL)
-static void srv_ssl_settings_cpy(struct server *srv, struct server *src)
+static void srv_ssl_settings_cpy(struct server *srv, const struct server *src)
{
/* <src> is the current proxy's default server and SSL is enabled */
BUG_ON(src->ssl_ctx.ctx != NULL); /* the SSL_CTX must never be initialized in a default-server */
@@ -2169,7 +2168,7 @@
* <srv_tmpl> distinguishes these two cases (must be 1 if <srv> is a template,
* 0 if not).
*/
-static void srv_settings_cpy(struct server *srv, struct server *src, int srv_tmpl)
+static void srv_settings_cpy(struct server *srv, const struct server *src, int srv_tmpl)
{
/* Connection source settings copy */
srv_conn_src_cpy(srv, src);