From: William Lallemand Date: Fri, 14 Aug 2020 13:30:13 +0000 (+0200) Subject: CLEANUP: ssl: remove poorly readable nested ternary X-Git-Tag: v2.3-dev3~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5b1d1f6e0f2e6b777576aafd0d83e4a91677e36d;p=thirdparty%2Fhaproxy.git CLEANUP: ssl: remove poorly readable nested ternary Replace a four level nested ternary expression by an if/else expression in ssl_sock_switchctx_cbk() --- diff --git a/src/ssl_sock.c b/src/ssl_sock.c index aabd861c58..b9d88b1c42 100644 --- a/src/ssl_sock.c +++ b/src/ssl_sock.c @@ -2384,12 +2384,17 @@ static int ssl_sock_switchctx_cbk(SSL *ssl, int *al, void *arg) /* Once the certificates are found, select them depending on what is * supported in the client and by key_signature priority order: EDSA > * RSA > DSA */ - node = (has_ecdsa_sig && node_ecdsa) ? node_ecdsa - : ((has_rsa_sig && node_rsa) ? node_rsa - : (node_anonymous ? node_anonymous - : (node_ecdsa ? node_ecdsa /* no ecdsa signature case (< TLSv1.2) */ - : node_rsa /* no rsa signature case (far far away) */ - ))); + if (has_ecdsa_sig && node_ecdsa) + node = node_ecdsa; + else if (has_rsa_sig && node_rsa) + node = node_rsa; + else if (node_anonymous) + node = node_anonymous; + else if (node_ecdsa) + node = node_ecdsa; /* no ecdsa signature case (< TLSv1.2) */ + else + node = node_rsa; /* no rsa signature case (far far away) */ + if (node) { /* switch ctx */ struct ssl_bind_conf *conf = container_of(node, struct sni_ctx, name)->conf;