This commit is contained in:
swrup 2025-12-07 01:09:59 +01:00
parent 5307eb2216
commit 3348803995
2 changed files with 6 additions and 2 deletions

View file

@ -17,14 +17,15 @@ let get_signkeys t =
Hashtbl.to_seq_values t.signkey_ht |> List.of_seq Hashtbl.to_seq_values t.signkey_ht |> List.of_seq
(* TODO *) (* TODO *)
let add_master_signatures _conn t l = let add_master_signatures conn t l =
Miou.Mutex.protect t.lock @@ fun () -> Miou.Mutex.protect t.lock @@ fun () ->
l l
|> Syntax.list_iter (fun Api.SignKeySignature.{ key= pub; master_sig } -> |> list_iter (fun Api.SignKeySignature.{ key= pub; master_sig } ->
match Hashtbl.find_opt t.signkey_ht pub with match Hashtbl.find_opt t.signkey_ht pub with
| None -> Error "secmod_signkey failure: public key not found." | None -> Error "secmod_signkey failure: public key not found."
| Some signkey -> | Some signkey ->
let signkey = { signkey with master_sig= Some master_sig } in let signkey = { signkey with master_sig= Some master_sig } in
let* () = Pg.activate_signing_key conn signkey |> unwrap_err_caqti in
Hashtbl.replace t.signkey_ht pub signkey; Hashtbl.replace t.signkey_ht pub signkey;
Ok ()) Ok ())

View file

@ -4,6 +4,9 @@ let ( let+ ) o f = match o with Ok v -> Ok (f v) | Error _ as e -> e
(* TODO use polymorphic variant for errors *) (* TODO use polymorphic variant for errors *)
let unwrap_err_msg o = match o with Error (`Msg e) -> Error e | Ok v -> Ok v let unwrap_err_msg o = match o with Error (`Msg e) -> Error e | Ok v -> Ok v
let unwrap_err_caqti o =
match o with Error err -> Fmt.error "%a" Caqti_error.pp err | Ok v -> Ok v
let list_iter f l = let list_iter f l =
let err = ref None in let err = ref None in
try try