diff --git a/rebar.config b/rebar.config index 4407b81..cbb8b16 100644 --- a/rebar.config +++ b/rebar.config @@ -1,6 +1,6 @@ {erl_opts, [debug_info]}. {plugins, [rebar3_hex]}. -{deps, [{enacl, "1.1.1"}]}. +{deps, [{enacl, {git, "https://git.qpq.swiss/QPQ-AG/enacl.git", {ref, "4eb7ec70"}}}]}. {profiles, [{test, [{deps, [{jsx, {git, "https://github.com/talentdeficit/jsx.git", {tag, "2.8.0"}}}]}]} ]}. 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); diff --git a/test/enoise_utils.erl b/test/enoise_utils.erl index fe5377b..0d3b75c 100644 --- a/test/enoise_utils.erl +++ b/test/enoise_utils.erl @@ -26,7 +26,7 @@ echo_srv(Port, Protocol, SKP, SrvOpts) -> AcceptRes = try enoise:accept(TcpSock, Opts) - catch _:R -> gen_tcp:close(TcpSock), {error, {R, erlang:get_stacktrace()}} end, + catch _:R:T -> gen_tcp:close(TcpSock), {error, {R, T}} end, gen_tcp:close(LSock),