add update_master_signatures

This commit is contained in:
swrup 2025-12-07 01:02:54 +01:00
parent 0d17d2a675
commit e9b7142412
11 changed files with 93 additions and 38 deletions

View file

@ -16,12 +16,18 @@ let get_signkeys t =
Miou.Mutex.protect t.lock @@ fun () ->
Hashtbl.to_seq_values t.signkey_ht |> List.of_seq
(* TODO *)
let update_signkeys _conn t signkeys =
let add_master_signatures conn t l =
Miou.Mutex.protect t.lock @@ fun () ->
List.iter
(fun signkey -> Hashtbl.replace t.signkey_ht signkey.Signkey.pub signkey)
signkeys
list_iter
(fun (pub, master_sig) ->
match Hashtbl.find_opt t.signkey_ht pub with
| None -> Error "secmod_signkey failure: public key not found."
| Some signkey ->
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;
Ok ())
l
let dir = Fpath.(v "data" / "secmod_signkey")