From 0e9c6d3860c6f02ca464abaf35071a563bd48404 Mon Sep 17 00:00:00 2001 From: swrup Date: Sun, 7 Dec 2025 07:32:27 +0100 Subject: [PATCH] . --- src/b32.ml | 4 +++- src/crypto.ml | 12 ++++++------ src/pg.ml | 2 +- src/util.ml | 8 +++++--- 4 files changed, 15 insertions(+), 11 deletions(-) diff --git a/src/b32.ml b/src/b32.ml index e22af9b8..29e73239 100644 --- a/src/b32.ml +++ b/src/b32.ml @@ -23,4 +23,6 @@ let decode s = | c -> c) s in - Base32.decode ~alphabet ~off:0 ~len:(String.length s) s + match Base32.decode ~alphabet ~off:0 ~len:(String.length s) s with + | Error (`Msg e) -> Error e + | Ok v -> Ok v diff --git a/src/crypto.ml b/src/crypto.ml index 29f85403..fbdf996c 100644 --- a/src/crypto.ml +++ b/src/crypto.ml @@ -10,15 +10,15 @@ module EddsaPublicKey = struct type t = pub let to_octets t = pub_to_octets t - let of_octets t = pub_of_octets t + + let of_octets t = + pub_of_octets t |> function + | Error e -> Fmt.error "%a" Mirage_crypto_ec.pp_error e + | Ok v -> Ok v let bin = let of_octets o = - match of_octets o with - | Error e -> - let e = Fmt.str "%a" Mirage_crypto_ec.pp_error e in - raise (Util.Bin_error e) - | Ok v -> v + match of_octets o with Error e -> raise (Util.Bin_error e) | Ok v -> v in Bin.map (Bin.bytes 32) of_octets to_octets diff --git a/src/pg.ml b/src/pg.ml index dd45b369..6be18f8e 100644 --- a/src/pg.ml +++ b/src/pg.ml @@ -38,7 +38,7 @@ module Caqti_type = struct let open EddsaPublicKey in custom ~encode:(fun v -> Ok (to_octets v)) - ~decode:(fun v -> Ok (of_octets v)) + ~decode:(fun v -> of_octets v) octets let eddsa_signature : EddsaSignature.t t = diff --git a/src/util.ml b/src/util.ml index 731f8244..5d6bac8e 100644 --- a/src/util.ml +++ b/src/util.ml @@ -54,7 +54,7 @@ module Bin_rsa = struct Bytes.unsafe_to_string b let check = function - | false -> Error (`Msg "rsa of_octets error, invalid data") + | false -> Error "rsa of_octets error, invalid data" | true -> Ok () let z_array_of_octets ~nb s = @@ -90,7 +90,7 @@ module Bin_rsa = struct let* arr = z_array_of_octets ~nb:2 s in match arr with | [| n; e |] -> - let+ pub = Mirage_crypto_pk.Rsa.pub ~n ~e in + let+ pub = Mirage_crypto_pk.Rsa.pub ~n ~e |> unwrap_err_msg in pub | _ -> assert false @@ -102,7 +102,9 @@ module Bin_rsa = struct let* arr = z_array_of_octets ~nb:8 s in match arr with | [| e; d; n; p; q; dp; dq; q' |] -> - let+ priv = Mirage_crypto_pk.Rsa.priv ~e ~d ~n ~p ~q ~dp ~dq ~q' in + let+ priv = + Mirage_crypto_pk.Rsa.priv ~e ~d ~n ~p ~q ~dp ~dq ~q' |> unwrap_err_msg + in priv | _ -> assert false end