summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Staessens <dimitri@ouroboros.rocks>2020-12-09 22:18:13 +0100
committerSander Vrijders <sander@ouroboros.rocks>2020-12-12 11:37:56 +0100
commit54f632767df709f6afb87ba37c7ee0b71a2bdbce (patch)
tree175ccb7374d5a7a093b2d1e4a91a61cbcf8a84da
parentd345436f01e64dfe595783d13b45d6a341256e3e (diff)
downloadouroboros-54f632767df709f6afb87ba37c7ee0b71a2bdbce.zip
ouroboros-54f632767df709f6afb87ba37c7ee0b71a2bdbce.tar.gz
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 <dimitri@ouroboros.rocks> Signed-off-by: Sander Vrijders <sander@ouroboros.rocks>
-rw-r--r--src/lib/crypt.c3
-rw-r--r--src/lib/dev.c9
2 files changed, 7 insertions, 5 deletions
diff --git a/src/lib/crypt.c b/src/lib/crypt.c
index cda3cb4..06cc174 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 a6be762..0a783bf 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);