warn instead of fail
This commit is contained in:
parent
74d909fa90
commit
fa5d0ae75d
1 changed files with 24 additions and 34 deletions
58
src/keys.ml
58
src/keys.ml
|
|
@ -55,46 +55,36 @@ module Make (Conn : Pg.CONN) : S = struct
|
||||||
|
|
||||||
let signkeys () : Signkey.t list result =
|
let signkeys () : Signkey.t list result =
|
||||||
let now = Timestamp.of_ptime @@ Ptime_clock.now () in
|
let now = Timestamp.of_ptime @@ Ptime_clock.now () in
|
||||||
let* l = Pg.get_signkeys conn ~now |> unwrap_err_caqti in
|
let+ l = Pg.get_signkeys conn ~now |> unwrap_err_caqti in
|
||||||
let* () =
|
let missing_l, l =
|
||||||
list_iter
|
List.partition
|
||||||
(fun sk ->
|
(fun sk -> Option.is_none @@ Sm_eddsa.find_key sk.Signkey.pub)
|
||||||
match Sm_eddsa.find_key sk.Signkey.pub with
|
|
||||||
| None ->
|
|
||||||
Fmt.error
|
|
||||||
"signkeys found in database are missing from secmod, (unclean \
|
|
||||||
database/secmod state?)"
|
|
||||||
| Some _ -> Ok ())
|
|
||||||
l
|
l
|
||||||
in
|
in
|
||||||
Ok l
|
match missing_l with
|
||||||
|
| [] -> l
|
||||||
|
| _ ->
|
||||||
|
Logs.warn (fun m ->
|
||||||
|
m
|
||||||
|
"signkeys found in database are missing from secmod, (unclean \
|
||||||
|
database/secmod state?)");
|
||||||
|
l
|
||||||
|
|
||||||
let denominations () =
|
let denominations () =
|
||||||
let* l = Pg.get_denominations conn () |> unwrap_err_caqti in
|
let+ l = Pg.get_denominations conn () |> unwrap_err_caqti in
|
||||||
let* () =
|
let missing_l, l =
|
||||||
list_iter
|
List.partition
|
||||||
(fun dn ->
|
(fun dn -> Option.is_none @@ Sm_rsa.find_key dn.Denomination.pub)
|
||||||
match Sm_rsa.find_key dn.Denomination.pub with
|
|
||||||
| None ->
|
|
||||||
Fmt.error
|
|
||||||
"denominations found in database are missing from secmod, \
|
|
||||||
(unclean database/secmod state?)"
|
|
||||||
| Some _ -> Ok ())
|
|
||||||
l
|
l
|
||||||
in
|
in
|
||||||
Ok l
|
match missing_l with
|
||||||
|
| [] -> l
|
||||||
(* TODO db-sm
|
| _ ->
|
||||||
don't fail and just warn?
|
Logs.warn (fun m ->
|
||||||
have something to run tests with clean db+sm *)
|
m
|
||||||
(* test if database/secmod state looks ok *)
|
"denominations found in database are missing from secmod, \
|
||||||
let () =
|
(unclean database/secmod state?)");
|
||||||
let res =
|
l
|
||||||
let* _sk_l = signkeys () in
|
|
||||||
let* _dn_l = denominations () in
|
|
||||||
Ok ()
|
|
||||||
in
|
|
||||||
match res with Error e -> Fmt.failwith "%s" e | Ok () -> ()
|
|
||||||
|
|
||||||
let make_future_sk ~pub ~start ~expire =
|
let make_future_sk ~pub ~start ~expire =
|
||||||
let stamp_start = Timestamp.of_absolute start in
|
let stamp_start = Timestamp.of_absolute start in
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue