From 36441f46c42de1297398051457c53baa95fae11e Mon Sep 17 00:00:00 2001 From: Amaury Denoyelle Date: Wed, 17 Feb 2021 16:25:31 +0100 Subject: [PATCH] MINOR: connection: remove pointers for prehash in conn_hash_params Replace unneeded pointers for sni/proxy prehash by plain data type. The code is slightly cleaner. --- include/haproxy/connection-t.h | 4 ++-- src/backend.c | 14 +++++--------- src/connection.c | 4 ++-- 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/include/haproxy/connection-t.h b/include/haproxy/connection-t.h index 96b5611b2..77766c41d 100644 --- a/include/haproxy/connection-t.h +++ b/include/haproxy/connection-t.h @@ -493,10 +493,10 @@ enum conn_hash_params_t { */ struct conn_hash_params { struct server *srv; - XXH64_hash_t *sni_prehash; + XXH64_hash_t sni_prehash; struct sockaddr_storage *src_addr; struct sockaddr_storage *dst_addr; - XXH64_hash_t *proxy_prehash; + XXH64_hash_t proxy_prehash; }; /* This structure describes a connection with its methods and data. diff --git a/src/backend.c b/src/backend.c index e2fa3c35a..b03da4a62 100644 --- a/src/backend.c +++ b/src/backend.c @@ -1272,10 +1272,6 @@ int connect_server(struct stream *s) int proxy_line_ret; int64_t hash = 0; struct conn_hash_params hash_params; -#ifdef USE_OPENSSL - XXH64_hash_t sni_hash; -#endif - XXH64_hash_t proxy_hash; /* first, set unique connection parameters and then calculate hash */ memset(&hash_params, 0, sizeof(hash_params)); @@ -1295,9 +1291,9 @@ int connect_server(struct stream *s) * not the case */ if (sni_smp) { - sni_hash = conn_hash_prehash(sni_smp->data.u.str.area, - sni_smp->data.u.str.data); - hash_params.sni_prehash = &sni_hash; + hash_params.sni_prehash = + conn_hash_prehash(sni_smp->data.u.str.area, + sni_smp->data.u.str.data); } } #endif /* USE_OPENSSL */ @@ -1325,8 +1321,8 @@ int connect_server(struct stream *s) if (srv && srv->pp_opts) { proxy_line_ret = make_proxy_line(trash.area, trash.size, srv, cli_conn, s); if (proxy_line_ret) { - proxy_hash = conn_hash_prehash(trash.area, proxy_line_ret); - hash_params.proxy_prehash = &proxy_hash; + hash_params.proxy_prehash = + conn_hash_prehash(trash.area, proxy_line_ret); } } diff --git a/src/connection.c b/src/connection.c index 002d6e75a..92633670e 100644 --- a/src/connection.c +++ b/src/connection.c @@ -1468,7 +1468,7 @@ XXH64_hash_t conn_calculate_hash(const struct conn_hash_params *params) if (params->sni_prehash) { conn_hash_update(buf, &idx, - params->sni_prehash, sizeof(*params->sni_prehash), + ¶ms->sni_prehash, sizeof(params->sni_prehash), &hash_flags, CONN_HASH_PARAMS_TYPE_SNI); } @@ -1488,7 +1488,7 @@ XXH64_hash_t conn_calculate_hash(const struct conn_hash_params *params) if (params->proxy_prehash) { conn_hash_update(buf, &idx, - params->proxy_prehash, sizeof(*params->proxy_prehash), + ¶ms->proxy_prehash, sizeof(params->proxy_prehash), &hash_flags, CONN_HASH_PARAMS_TYPE_PROXY); }