From 0c83e00ddf09c4840375e34cd5e54cf9e0d6b1f1 Mon Sep 17 00:00:00 2001 From: Ulf Wiger Date: Fri, 7 Mar 2025 13:46:16 +0100 Subject: [PATCH] Move to latest enacl dep, fix dialyzer complaint --- rebar.config | 5 +---- rebar.lock | 10 ++++------ src/enoise_cipher_state.erl | 8 ++------ src/enoise_crypto.erl | 3 +-- 4 files changed, 8 insertions(+), 18 deletions(-) diff --git a/rebar.config b/rebar.config index 4407b81..1ee3947 100644 --- a/rebar.config +++ b/rebar.config @@ -1,9 +1,6 @@ {erl_opts, [debug_info]}. {plugins, [rebar3_hex]}. -{deps, [{enacl, "1.1.1"}]}. - -{profiles, [{test, [{deps, [{jsx, {git, "https://github.com/talentdeficit/jsx.git", {tag, "2.8.0"}}}]}]} - ]}. +{deps, [{enacl, {git, "https://git.qpq.swiss/QPQ-AG/enacl.git", {ref, "4eb7ec70"}}}]}. {xref_checks, [undefined_function_calls, undefined_functions, locals_not_used, diff --git a/rebar.lock b/rebar.lock index 22d6918..a218ebb 100644 --- a/rebar.lock +++ b/rebar.lock @@ -1,6 +1,4 @@ -{"1.2.0", -[{<<"enacl">>,{pkg,<<"enacl">>,<<"1.1.1">>},0}]}. -[ -{pkg_hash,[ - {<<"enacl">>, <<"F65DC64D9BFF2D8A534CB77AEF14DA5E7A2FA148987D87856F79A4745C9C2627">>}]} -]. +[{<<"enacl">>, + {git,"https://git.qpq.swiss/QPQ-AG/enacl.git", + {ref,"4eb7ec70084ba7c87b1af8797c4c4e90c84f95a2"}}, + 0}]. diff --git a/src/enoise_cipher_state.erl b/src/enoise_cipher_state.erl index 7a5d784..e1bea0d 100644 --- a/src/enoise_cipher_state.erl +++ b/src/enoise_cipher_state.erl @@ -54,12 +54,8 @@ set_nonce(CState = #noise_cs{}, Nonce) -> encrypt_with_ad(CState = #noise_cs{ k = empty }, _AD, PlainText) -> {ok, CState, PlainText}; encrypt_with_ad(CState = #noise_cs{ k = K, n = N, cipher = Cipher }, AD, PlainText) -> - case enoise_crypto:encrypt(Cipher, K, N, AD, PlainText) of - Encrypted when is_binary(Encrypted) -> - {ok, CState#noise_cs{ n = N+1 }, Encrypted}; - Err = {error, _} -> - Err - end. + Encrypted = enoise_crypto:encrypt(Cipher, K, N, AD, PlainText), + {ok, CState#noise_cs{ n = N+1 }, Encrypted}. -spec decrypt_with_ad(CState :: state(), AD :: binary(), CipherText :: binary()) -> {ok, state(), binary()} | {error, term()}. diff --git a/src/enoise_crypto.erl b/src/enoise_crypto.erl index bdb81c9..3f312c6 100644 --- a/src/enoise_crypto.erl +++ b/src/enoise_crypto.erl @@ -65,8 +65,7 @@ rekey(Cipher, K) -> -spec encrypt(Cipher :: enoise_cipher_state:noise_cipher(), Key :: binary(), Nonce :: non_neg_integer(), - Ad :: binary(), PlainText :: binary()) -> - binary() | {error, term()}. + Ad :: binary(), PlainText :: binary()) -> binary(). encrypt('ChaChaPoly', K, N, Ad, PlainText) -> Nonce = <<0:32, N:64/little-unsigned-integer>>, enacl:aead_chacha20poly1305_ietf_encrypt(PlainText, Ad, Nonce, K);