From 54f632767df709f6afb87ba37c7ee0b71a2bdbce Mon Sep 17 00:00:00 2001 From: Dimitri Staessens Date: Wed, 9 Dec 2020 22:18:13 +0100 Subject: lib: Fix flow_accept without openssl DH key creation was returning -ECRYPT if opennssl is not installed, instead of success (0). Signed-off-by: Dimitri Staessens Signed-off-by: Sander Vrijders --- src/lib/crypt.c | 3 ++- src/lib/dev.c | 9 +++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/lib/crypt.c b/src/lib/crypt.c index cda3cb46..06cc1749 100644 --- a/src/lib/crypt.c +++ b/src/lib/crypt.c @@ -365,8 +365,9 @@ static int crypt_dh_pkp_create(void ** pkp, (void) pk; memset(pk, 0, MSGBUFSZ); + *pkp = NULL; - return -ECRYPT; + return 0; #endif } diff --git a/src/lib/dev.c b/src/lib/dev.c index a6be762b..0a783bf7 100644 --- a/src/lib/dev.c +++ b/src/lib/dev.c @@ -552,10 +552,11 @@ int flow_accept(qosspec_t * qs, err = -ECRYPT; goto fail_crypt_pkp; } - - msg.has_pk = true; - msg.pk.data = buf; - msg.pk.len = (uint32_t) key_len; + if (key_len > 0) { + msg.has_pk = true; + msg.pk.data = buf; + msg.pk.len = (uint32_t) key_len; + } pthread_cleanup_push(crypt_dh_pkp_destroy, pkp); -- cgit v1.2.3