diff options
| author | Dimitri Staessens <Dimitri.Staessens@Quantum.Com> | 2026-01-28 00:35:28 +0100 |
|---|---|---|
| committer | Sander Vrijders <sander@ouroboros.rocks> | 2026-02-02 08:07:04 +0100 |
| commit | 37e3dbdd8206e4f0f03fab13ff3f38aa932be065 (patch) | |
| tree | c7508d4a50bb8a1e6025b489418a5f9aae4a308e /src/lib/dev.c | |
| parent | e9fb0eb1130a8efacab3add17f524197a9044a88 (diff) | |
| download | ouroboros-37e3dbdd8206e4f0f03fab13ff3f38aa932be065.tar.gz ouroboros-37e3dbdd8206e4f0f03fab13ff3f38aa932be065.zip | |
lib: Fix OpenSSL includes and explicit_bzero on OSX
The include headers and NIDs are different on macOS X. It also doesn't
have explicit_bzero.
The crypt.h includes are now guarded to work on OS X (trying to avoid
the includes by defining the OpenSSL mac header guard led to a whole
list of other issues).
The explicit zero'ing of buffers temporarily holding secrets has now
been abstracted in a crypt_secure_clear() function defaulting to
OpenSSL_cleanse, explicit_bzero (if present) or a best-effort option
using a volatile pointer.
Signed-off-by: Dimitri Staessens <dimitri@ouroboros.rocks>
Signed-off-by: Sander Vrijders <sander@ouroboros.rocks>
Diffstat (limited to 'src/lib/dev.c')
| -rw-r--r-- | src/lib/dev.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/lib/dev.c b/src/lib/dev.c index 35ea701b..fb06c496 100644 --- a/src/lib/dev.c +++ b/src/lib/dev.c @@ -870,7 +870,7 @@ int flow_accept(qosspec_t * qs, fd = flow_init(&flow, &crypt); - explicit_bzero(key, SYMMKEYSZ); + crypt_secure_clear(key, SYMMKEYSZ); if (qs != NULL) *qs = flow.qs; @@ -917,7 +917,7 @@ int flow_alloc(const char * dst, fd = flow_init(&flow, &crypt); - explicit_bzero(key, SYMMKEYSZ); + crypt_secure_clear(key, SYMMKEYSZ); if (qs != NULL) *qs = flow.qs; @@ -956,7 +956,7 @@ int flow_join(const char * dst, fd = flow_init(&flow, &crypt); - explicit_bzero(key, SYMMKEYSZ); + crypt_secure_clear(key, SYMMKEYSZ); return fd; } |
