Skip to content
Snippets Groups Projects
Unverified Commit 40a6aa93 authored by Alexander Færøy's avatar Alexander Færøy
Browse files

Check for seal support before compilation.

parent 42762248
No related branches found
No related tags found
No related merge requests found
...@@ -616,11 +616,16 @@ ERL_NIF_TERM enif_crypto_sign_verify_detached(ErlNifEnv* env, int argc, ERL_NIF_ ...@@ -616,11 +616,16 @@ ERL_NIF_TERM enif_crypto_sign_verify_detached(ErlNifEnv* env, int argc, ERL_NIF_
static static
ERL_NIF_TERM enif_crypto_box_SEALBYTES(ErlNifEnv *env, int argc, ERL_NIF_TERM const argv[]) { ERL_NIF_TERM enif_crypto_box_SEALBYTES(ErlNifEnv *env, int argc, ERL_NIF_TERM const argv[]) {
#ifdef crypto_box_SEALBYTES
return enif_make_int64(env, crypto_box_SEALBYTES); return enif_make_int64(env, crypto_box_SEALBYTES);
#else
return nacl_error_tuple(env, "sodium_seal_api_unavailable");
#endif
} }
static static
ERL_NIF_TERM enif_crypto_box_seal(ErlNifEnv *env, int argc, ERL_NIF_TERM const argv[]) { ERL_NIF_TERM enif_crypto_box_seal(ErlNifEnv *env, int argc, ERL_NIF_TERM const argv[]) {
#ifdef crypto_box_SEALBYTES
ErlNifBinary key, msg, ciphertext; ErlNifBinary key, msg, ciphertext;
if ( if (
...@@ -641,11 +646,15 @@ ERL_NIF_TERM enif_crypto_box_seal(ErlNifEnv *env, int argc, ERL_NIF_TERM const a ...@@ -641,11 +646,15 @@ ERL_NIF_TERM enif_crypto_box_seal(ErlNifEnv *env, int argc, ERL_NIF_TERM const a
key.data); key.data);
return enif_make_binary(env, &ciphertext); return enif_make_binary(env, &ciphertext);
#else
return nacl_error_tuple(env, "sodium_seal_api_unavailable");
#endif
} }
static static
ERL_NIF_TERM enif_crypto_box_seal_open(ErlNifEnv *env, int argc, ERL_NIF_TERM const argv[]) { ERL_NIF_TERM enif_crypto_box_seal_open(ErlNifEnv *env, int argc, ERL_NIF_TERM const argv[]) {
#ifdef crypto_box_SEALBYTES
ErlNifBinary pk, sk, ciphertext, msg; ErlNifBinary pk, sk, ciphertext, msg;
if ( if (
...@@ -675,6 +684,9 @@ ERL_NIF_TERM enif_crypto_box_seal_open(ErlNifEnv *env, int argc, ERL_NIF_TERM co ...@@ -675,6 +684,9 @@ ERL_NIF_TERM enif_crypto_box_seal_open(ErlNifEnv *env, int argc, ERL_NIF_TERM co
} }
return enif_make_binary(env, &msg); return enif_make_binary(env, &msg);
#else
return nacl_error_tuple(env, "sodium_seal_api_unavailable");
#endif
} }
/* Secret key cryptography */ /* Secret key cryptography */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment