rm database.ml + ~ master_sig param in pg

This commit is contained in:
swrup 2025-12-07 05:30:40 +01:00
parent 27a940deed
commit 7162564cad
4 changed files with 25 additions and 41 deletions

View file

@ -1,32 +0,0 @@
(* TODO
- GNU Taler db-events?
it seems caqti/pgx does not support it *)
let on_ok req () =
let open Vif.Response.Syntax in
let* () =
Vif.Response.add ~field:"content-type" "text/plain; charset= utf-8"
in
let* () =
Vif.Response.with_string req (Fmt.str "activate_signing_key done~~@.")
in
Vif.Response.respond `OK
let on_error req err =
(* TODO be sure to not leak private data in error messages *)
let open Vif.Response.Syntax in
let str = Fmt.str "Database error: %a." Caqti_error.pp err in
Logs.err (fun m -> m "%s" str);
let* () = Vif.Response.with_string req str in
Vif.Response.respond `Internal_server_error
(* TODO master_sig *)
let dummy_master_sig =
Option.some @@ Crypto.EddsaSignature.of_octets (String.make 64 '\x00')
let test_activate req server _ =
let db_conn = Vif.Server.device Devices.db_connection server in
let secmod_signkey = Vif.Server.device Devices.secmod_signkey server in
let sm_key = Secmod_signkey.get_sm_key secmod_signkey in
let res = Pg.activate_signing_key db_conn sm_key in
Result.fold ~ok:(on_ok req) ~error:(on_error req) res

View file

@ -1,7 +1,11 @@
(* TODO (* TODO
how to fix postgres/caqti tuple type? how to fix postgres/caqti tuple type?
try something with OID? try something with OID?
need to add boilerplate in each query for amounts *) need to add boilerplate in each query for amounts
GNU Taler db-events?
it seems caqti/pgx does not support it *)
open Crypto open Crypto
@ -101,10 +105,18 @@ let activate_signing_key =
expire_legal, master_sig) VALUES ($1, $2, $3, $4, $5)" expire_legal, master_sig) VALUES ($1, $2, $3, $4, $5)"
in in
fun (module Conn : CONN) fun (module Conn : CONN)
Signkey.{ pub; priv= _; stamp_start; stamp_expire; stamp_end; master_sig } ~master_sig
Signkey.
{
pub;
priv= _;
stamp_start;
stamp_expire;
stamp_end;
master_sig= master_sig_opt;
}
-> ->
(* TODO master_sig *) assert (master_sig_opt = Some master_sig);
let master_sig = master_sig |> Option.get in
Conn.exec insert_signkey Conn.exec insert_signkey
(pub, stamp_start, stamp_expire, stamp_end, master_sig) (pub, stamp_start, stamp_expire, stamp_end, master_sig)
@ -136,6 +148,7 @@ let add_denomination_key =
($16,$17), $18)" ($16,$17), $18)"
in in
fun (module Conn : CONN) fun (module Conn : CONN)
~master_sig
Denomination. Denomination.
{ {
pub; pub;
@ -152,11 +165,10 @@ let add_denomination_key =
fee_refund; fee_refund;
age_mask; age_mask;
h_pub; h_pub;
master_sig; master_sig= master_sig_opt;
} }
-> ->
(* TODO master_sig *) assert (master_sig_opt = Some master_sig);
let master_sig = master_sig |> Option.get in
Conn.exec denomination_insert Conn.exec denomination_insert
( h_pub, ( h_pub,
pub, pub,

View file

@ -20,7 +20,9 @@ let add_master_signatures conn t l =
| None -> Error "secmod_denom failure: denomination hash not found." | None -> Error "secmod_denom failure: denomination hash not found."
| Some denom -> | Some denom ->
let denom = { denom with master_sig= Some master_sig } in let denom = { denom with master_sig= Some master_sig } in
let* () = Pg.add_denomination_key conn denom |> unwrap_err_caqti in let* () =
Pg.add_denomination_key conn ~master_sig denom |> unwrap_err_caqti
in
Hashtbl.replace t.denom_ht h_denom_pub denom; Hashtbl.replace t.denom_ht h_denom_pub denom;
Ok ()) Ok ())
l l

View file

@ -24,7 +24,9 @@ let add_master_signatures conn t l =
| 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 let* () =
Pg.activate_signing_key conn ~master_sig signkey |> unwrap_err_caqti
in
Hashtbl.replace t.signkey_ht pub signkey; Hashtbl.replace t.signkey_ht pub signkey;
Ok ()) Ok ())
l l