aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAris Adamantiadis <aris@0xbadc0de.be>2016-05-31 19:11:26 +0200
committerAris Adamantiadis <aris@0xbadc0de.be>2017-06-08 10:45:54 +0200
commit3343ef65521db47d01f60730b8440312bef39f48 (patch)
tree034c581b95d865d3c6aedadfcdb34e17bcdf80d5
parent05035556c0d71041facedf246a4019e36d290469 (diff)
downloadlibssh-3343ef65521db47d01f60730b8440312bef39f48.tar.gz
libssh-3343ef65521db47d01f60730b8440312bef39f48.tar.xz
libssh-3343ef65521db47d01f60730b8440312bef39f48.zip
kex: use switch instead of if/elseif
-rw-r--r--src/kex.c65
1 files changed, 34 insertions, 31 deletions
diff --git a/src/kex.c b/src/kex.c
index 8ffa7007..916f5b02 100644
--- a/src/kex.c
+++ b/src/kex.c
@@ -749,43 +749,46 @@ int ssh_make_sessionid(ssh_session session) {
goto error;
}
- if (session->next_crypto->kex_type == SSH_KEX_DH_GROUP1_SHA1 ||
- session->next_crypto->kex_type == SSH_KEX_DH_GROUP14_SHA1) {
- rc = ssh_buffer_pack(buf,
+ switch(session->next_crypto->kex_type){
+ case SSH_KEX_DH_GROUP1_SHA1:
+ case SSH_KEX_DH_GROUP14_SHA1:
+ rc = ssh_buffer_pack(buf,
"BB",
session->next_crypto->e,
session->next_crypto->f);
- if (rc != SSH_OK) {
- goto error;
- }
-
+ if (rc != SSH_OK) {
+ goto error;
+ }
+ break;
#ifdef HAVE_ECDH
- } else if (session->next_crypto->kex_type == SSH_KEX_ECDH_SHA2_NISTP256) {
- if (session->next_crypto->ecdh_client_pubkey == NULL ||
- session->next_crypto->ecdh_server_pubkey == NULL) {
- SSH_LOG(SSH_LOG_WARNING, "ECDH parameted missing");
- goto error;
- }
- rc = ssh_buffer_pack(buf,
- "SS",
- session->next_crypto->ecdh_client_pubkey,
- session->next_crypto->ecdh_server_pubkey);
- if (rc != SSH_OK) {
- goto error;
- }
+ case SSH_KEX_ECDH_SHA2_NISTP256:
+ if (session->next_crypto->ecdh_client_pubkey == NULL ||
+ session->next_crypto->ecdh_server_pubkey == NULL) {
+ SSH_LOG(SSH_LOG_WARNING, "ECDH parameted missing");
+ goto error;
+ }
+ rc = ssh_buffer_pack(buf,
+ "SS",
+ session->next_crypto->ecdh_client_pubkey,
+ session->next_crypto->ecdh_server_pubkey);
+ if (rc != SSH_OK) {
+ goto error;
+ }
+ break;
#endif
#ifdef HAVE_CURVE25519
- } else if (session->next_crypto->kex_type == SSH_KEX_CURVE25519_SHA256_LIBSSH_ORG) {
- rc = ssh_buffer_pack(buf,
- "dPdP",
- CURVE25519_PUBKEY_SIZE,
- (size_t)CURVE25519_PUBKEY_SIZE, session->next_crypto->curve25519_client_pubkey,
- CURVE25519_PUBKEY_SIZE,
- (size_t)CURVE25519_PUBKEY_SIZE, session->next_crypto->curve25519_server_pubkey);
-
- if (rc != SSH_OK) {
- goto error;
- }
+ case SSH_KEX_CURVE25519_SHA256_LIBSSH_ORG:
+ rc = ssh_buffer_pack(buf,
+ "dPdP",
+ CURVE25519_PUBKEY_SIZE,
+ (size_t)CURVE25519_PUBKEY_SIZE, session->next_crypto->curve25519_client_pubkey,
+ CURVE25519_PUBKEY_SIZE,
+ (size_t)CURVE25519_PUBKEY_SIZE, session->next_crypto->curve25519_server_pubkey);
+
+ if (rc != SSH_OK) {
+ goto error;
+ }
+ break;
#endif
}
rc = ssh_buffer_pack(buf, "B", session->next_crypto->k);