+ sed
This commit is contained in:
parent
c62f91c306
commit
c6b197bde6
2 changed files with 16 additions and 21 deletions
|
|
@ -22,9 +22,9 @@ let secmod_signkey =
|
||||||
let finally _key = () in
|
let finally _key = () in
|
||||||
Vif.Device.v ~name:"secmod_signkey" ~finally
|
Vif.Device.v ~name:"secmod_signkey" ~finally
|
||||||
[ Vif.Device.value db_connection ]
|
[ Vif.Device.value db_connection ]
|
||||||
@@ fun conn (_env : env) -> Secmod_signkey.init conn
|
@@ fun conn (_env : env) -> Secmod.init conn
|
||||||
|
|
||||||
let secmod_denom =
|
let secmod_denom =
|
||||||
let finally _key = () in
|
let finally _key = () in
|
||||||
Vif.Device.v ~name:"secmod_denom" ~finally [ Vif.Device.value db_connection ]
|
Vif.Device.v ~name:"secmod_denom" ~finally [ Vif.Device.value db_connection ]
|
||||||
@@ fun conn (_env : env) -> Secmod_denom.init conn
|
@@ fun conn (_env : env) -> Secmod.init conn
|
||||||
|
|
|
||||||
|
|
@ -64,25 +64,24 @@ module Keys_get = struct
|
||||||
FutureSignKey.
|
FutureSignKey.
|
||||||
{ key= pub; stamp_start; stamp_expire; stamp_end; signkey_secmod_sig }
|
{ key= pub; stamp_start; stamp_expire; stamp_end; signkey_secmod_sig }
|
||||||
|
|
||||||
let mk_future_keys_response ~(sm_signkey : Secmod_signkey.t)
|
let mk_future_keys_response ~(sm_signkey : Secmod.t) ~(sm_denom : Secmod.t) =
|
||||||
~(sm_denom : Secmod_denom.t) =
|
|
||||||
let future_signkeys =
|
let future_signkeys =
|
||||||
Secmod_signkey.get_signkeys sm_signkey
|
Secmod.get_signkeys sm_signkey
|
||||||
|> List.filter (fun k -> Option.is_none k.Signkey.master_sig)
|
|> List.filter (fun k -> Option.is_none k.Signkey.master_sig)
|
||||||
|> List.map (fun signkey ->
|
|> List.map (fun signkey ->
|
||||||
let sm_signkey_priv = Secmod_signkey.get_sm_key_priv sm_signkey in
|
let sm_signkey_priv = Secmod.get_sm_key_priv sm_signkey in
|
||||||
mk_future_signkey ~sm_signkey_priv signkey)
|
mk_future_signkey ~sm_signkey_priv signkey)
|
||||||
in
|
in
|
||||||
let future_denoms =
|
let future_denoms =
|
||||||
Secmod_denom.get_denoms sm_denom
|
Secmod.get_denoms sm_denom
|
||||||
|> List.filter (fun k -> Option.is_none k.Denomination.master_sig)
|
|> List.filter (fun k -> Option.is_none k.Denomination.master_sig)
|
||||||
|> List.map (fun denom ->
|
|> List.map (fun denom ->
|
||||||
let sm_denom_priv = Secmod_denom.get_sm_key_priv sm_denom in
|
let sm_denom_priv = Secmod.get_sm_key_priv sm_denom in
|
||||||
mk_future_denom ~sm_denom_priv denom)
|
mk_future_denom ~sm_denom_priv denom)
|
||||||
in
|
in
|
||||||
let master_pub = Config.Exchange.master_public_key in
|
let master_pub = Config.Exchange.master_public_key in
|
||||||
let denom_secmod_public_key = Secmod_denom.get_sm_key_pub sm_denom in
|
let denom_secmod_public_key = Secmod.get_sm_key_pub sm_denom in
|
||||||
let signkey_secmod_public_key = Secmod_signkey.get_sm_key_pub sm_signkey in
|
let signkey_secmod_public_key = Secmod.get_sm_key_pub sm_signkey in
|
||||||
FutureKeysResponse.
|
FutureKeysResponse.
|
||||||
{
|
{
|
||||||
future_denoms;
|
future_denoms;
|
||||||
|
|
@ -111,7 +110,7 @@ module Keys_post = struct
|
||||||
DenomSignature.{ h_denom_pub; master_sig } =
|
DenomSignature.{ h_denom_pub; master_sig } =
|
||||||
let denom_hash = HashCode.to_denomination_hash h_denom_pub in
|
let denom_hash = HashCode.to_denomination_hash h_denom_pub in
|
||||||
let* denom =
|
let* denom =
|
||||||
Secmod_denom.get_denoms sm_denom
|
Secmod.get_denoms sm_denom
|
||||||
|> List.find_opt (fun (denom : Denomination.t) ->
|
|> List.find_opt (fun (denom : Denomination.t) ->
|
||||||
denom.h_pub = denom_hash)
|
denom.h_pub = denom_hash)
|
||||||
|> function
|
|> function
|
||||||
|
|
@ -141,7 +140,7 @@ module Keys_post = struct
|
||||||
let verify_signkey_signature ~sm_signkey SignKeySignature.{ key; master_sig }
|
let verify_signkey_signature ~sm_signkey SignKeySignature.{ key; master_sig }
|
||||||
=
|
=
|
||||||
let* signkey =
|
let* signkey =
|
||||||
Secmod_signkey.get_signkeys sm_signkey
|
Secmod.get_signkeys sm_signkey
|
||||||
|> List.find_opt (fun (signkey : Signkey.t) -> signkey.pub = key)
|
|> List.find_opt (fun (signkey : Signkey.t) -> signkey.pub = key)
|
||||||
|> function
|
|> function
|
||||||
| None ->
|
| None ->
|
||||||
|
|
@ -169,7 +168,7 @@ module Keys_post = struct
|
||||||
|
|
||||||
(* TODO move to test *)
|
(* TODO move to test *)
|
||||||
let check_master_signatures_update ~db_conn ~sm_denom =
|
let check_master_signatures_update ~db_conn ~sm_denom =
|
||||||
Secmod_denom.get_denoms sm_denom
|
Secmod.get_denoms sm_denom
|
||||||
|> list_iter (fun denom ->
|
|> list_iter (fun denom ->
|
||||||
let error = Error "update_master_signatures sanity check failure" in
|
let error = Error "update_master_signatures sanity check failure" in
|
||||||
let* opt =
|
let* opt =
|
||||||
|
|
@ -203,14 +202,14 @@ module Keys_post = struct
|
||||||
signkey_sigs
|
signkey_sigs
|
||||||
|> List.map (fun SignKeySignature.{ key; master_sig } ->
|
|> List.map (fun SignKeySignature.{ key; master_sig } ->
|
||||||
(key, master_sig))
|
(key, master_sig))
|
||||||
|> Secmod_signkey.add_master_signatures db_conn sm_signkey
|
|> Secmod.add_master_signatures db_conn sm_signkey
|
||||||
in
|
in
|
||||||
let* () =
|
let* () =
|
||||||
denom_sigs
|
denom_sigs
|
||||||
|> List.map (fun DenomSignature.{ h_denom_pub; master_sig } ->
|
|> List.map (fun DenomSignature.{ h_denom_pub; master_sig } ->
|
||||||
let h_denom_pub = HashCode.to_denomination_hash h_denom_pub in
|
let h_denom_pub = HashCode.to_denomination_hash h_denom_pub in
|
||||||
(h_denom_pub, master_sig))
|
(h_denom_pub, master_sig))
|
||||||
|> Secmod_denom.add_master_signatures db_conn sm_denom
|
|> Secmod.add_master_signatures db_conn sm_denom
|
||||||
in
|
in
|
||||||
let* () = check_master_signatures_update ~db_conn ~sm_denom in
|
let* () = check_master_signatures_update ~db_conn ~sm_denom in
|
||||||
Ok ()
|
Ok ()
|
||||||
|
|
@ -238,9 +237,7 @@ module Denom_revoke = struct
|
||||||
|
|
||||||
let do_ ~db_conn ~sm_denom h_denom_pub DenomRevocationSignature.{ master_sig }
|
let do_ ~db_conn ~sm_denom h_denom_pub DenomRevocationSignature.{ master_sig }
|
||||||
=
|
=
|
||||||
let* () =
|
let* () = Secmod.revoke_denomination sm_denom h_denom_pub master_sig in
|
||||||
Secmod_denom.revoke_denomination sm_denom h_denom_pub master_sig
|
|
||||||
in
|
|
||||||
let+ () =
|
let+ () =
|
||||||
Pg.insert_denomination_revocation db_conn h_denom_pub master_sig
|
Pg.insert_denomination_revocation db_conn h_denom_pub master_sig
|
||||||
|> unwrap_err_caqti
|
|> unwrap_err_caqti
|
||||||
|
|
@ -271,9 +268,7 @@ module Signkey_revoke = struct
|
||||||
|
|
||||||
let do_ ~db_conn ~sm_signkey exchange_pub
|
let do_ ~db_conn ~sm_signkey exchange_pub
|
||||||
SignkeyRevocationSignature.{ master_sig } =
|
SignkeyRevocationSignature.{ master_sig } =
|
||||||
let* () =
|
let* () = Secmod.revoke_signkey sm_signkey exchange_pub master_sig in
|
||||||
Secmod_signkey.revoke_signkey sm_signkey exchange_pub master_sig
|
|
||||||
in
|
|
||||||
let+ () =
|
let+ () =
|
||||||
Pg.insert_signkey_revocation db_conn exchange_pub master_sig
|
Pg.insert_signkey_revocation db_conn exchange_pub master_sig
|
||||||
|> unwrap_err_caqti
|
|> unwrap_err_caqti
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue