From 201ea095bbb8136c24e397343698ffd2e857c6f9 Mon Sep 17 00:00:00 2001 From: swrup Date: Tue, 10 Feb 2026 11:59:51 +0100 Subject: [PATCH] --- .gitignore | 1 + .../default.config => default/assets/mte.conf | 0 {data => default}/assets/privacy/en/0.md | 0 {data => default}/assets/privacy/en/0.txt | 0 {data => default}/assets/terms/en/0.md | 0 {data => default}/assets/terms/en/0.txt | 0 {data => default}/master_offline_private_key | Bin data/secmod/.gitkeep => secrets/.keep | 0 src/config.ml | 8 ++++--- src/dune | 4 ++-- src/secmod.ml | 20 +++++++++++------- 11 files changed, 20 insertions(+), 13 deletions(-) rename data/assets/default.config => default/assets/mte.conf (100%) rename {data => default}/assets/privacy/en/0.md (100%) rename {data => default}/assets/privacy/en/0.txt (100%) rename {data => default}/assets/terms/en/0.md (100%) rename {data => default}/assets/terms/en/0.txt (100%) rename {data => default}/master_offline_private_key (100%) rename data/secmod/.gitkeep => secrets/.keep (100%) diff --git a/.gitignore b/.gitignore index 39665c11..fce297da 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ _build +assets data/secmod/* !data/secmod/.gitkeep diff --git a/data/assets/default.config b/default/assets/mte.conf similarity index 100% rename from data/assets/default.config rename to default/assets/mte.conf diff --git a/data/assets/privacy/en/0.md b/default/assets/privacy/en/0.md similarity index 100% rename from data/assets/privacy/en/0.md rename to default/assets/privacy/en/0.md diff --git a/data/assets/privacy/en/0.txt b/default/assets/privacy/en/0.txt similarity index 100% rename from data/assets/privacy/en/0.txt rename to default/assets/privacy/en/0.txt diff --git a/data/assets/terms/en/0.md b/default/assets/terms/en/0.md similarity index 100% rename from data/assets/terms/en/0.md rename to default/assets/terms/en/0.md diff --git a/data/assets/terms/en/0.txt b/default/assets/terms/en/0.txt similarity index 100% rename from data/assets/terms/en/0.txt rename to default/assets/terms/en/0.txt diff --git a/data/master_offline_private_key b/default/master_offline_private_key similarity index 100% rename from data/master_offline_private_key rename to default/master_offline_private_key diff --git a/data/secmod/.gitkeep b/secrets/.keep similarity index 100% rename from data/secmod/.gitkeep rename to secrets/.keep diff --git a/src/config.ml b/src/config.ml index 775e25c5..d6222c6b 100644 --- a/src/config.ml +++ b/src/config.ml @@ -1,9 +1,11 @@ open Parse_config +let config_filename = "mte.conf" +let secrets_dir = Fpath.v "secrets" + let config_data = - let path = Fpath.to_string (Fpath.v "default.config") in - match Assets_crunch.read path with - | None -> fail "static file not found: `%s`" path + match Assets_crunch.read config_filename with + | None -> fail "static file not found: `%s`" config_filename | Some data -> let v = Config_section.parse data in v diff --git a/src/dune b/src/dune index e9b61c38..a9322eed 100644 --- a/src/dune +++ b/src/dune @@ -37,8 +37,8 @@ (rule (target assets_crunch.ml) (deps - (source_tree ../data/assets/)) + (source_tree ../assets)) (action (with-stdout-to %{null} - (run ocaml-crunch -m plain ../data/assets -o %{target})))) + (run ocaml-crunch -m plain ../assets -o %{target})))) diff --git a/src/secmod.ml b/src/secmod.ml index ed74310f..528db20d 100644 --- a/src/secmod.ml +++ b/src/secmod.ml @@ -74,8 +74,6 @@ module Make (Conn : Pg.CONN) = struct dn_section_name_ht: (denomination_hash, string) Hashtbl.t; } - let dir = Fpath.(v "data" / "secmod") - let db_lookup_signkey_data conn fname pub = let* opt = Pg.find_signkey conn pub |> unwrap_err_caqti in match opt with @@ -112,9 +110,13 @@ module Make (Conn : Pg.CONN) = struct let error_invalid_state = Fmt.error "secmod load error: invalid store state." in - let* sm_key_priv = Data_file.read_eddsa Fpath.(dir / "sk_sm") in + let* sm_key_priv = + Data_file.read_eddsa Fpath.(Config.secrets_dir / "sk_sm") + in let* signkeys = - let l = List.init 1 (fun i -> Fpath.(dir / Fmt.str "sk_%d" i)) in + let l = + List.init 1 (fun i -> Fpath.(Config.secrets_dir / Fmt.str "sk_%d" i)) + in let* l = list_map (fun fname -> load_signkey conn fname) l in match opt_list l with Error () -> error_invalid_state | Ok opt -> Ok opt in @@ -125,7 +127,7 @@ module Make (Conn : Pg.CONN) = struct list_map (fun coin -> let section_name = coin.section_name in - let fname = Fpath.(dir / section_name) in + let fname = Fpath.(Config.secrets_dir / section_name) in let* opt = Data_file.read_rsa fname in match opt with | None -> Ok None @@ -378,12 +380,14 @@ module Make (Conn : Pg.CONN) = struct let store () = Miou.Mutex.protect t.lock @@ fun () -> - let* () = Data_file.write_eddsa Fpath.(dir / "sk_sm") t.sm_key_priv in + let* () = + Data_file.write_eddsa Fpath.(Config.secrets_dir / "sk_sm") t.sm_key_priv + in let* () = Hashtbl.to_seq_values t.sk_ht |> List.of_seq |> List.mapi (fun i (key : signkey) -> - let fname = Fpath.(dir / Fmt.str "sk_%d" i) in + let fname = Fpath.(Config.secrets_dir / Fmt.str "sk_%d" i) in (fname, key.priv)) |> list_iter (fun (fname, key) -> Data_file.write_eddsa fname key) in @@ -397,7 +401,7 @@ module Make (Conn : Pg.CONN) = struct | None -> Error "invalid state, section_name not found" | Some s -> Ok s in - let fname = Fpath.(dir / section_name) in + let fname = Fpath.(Config.secrets_dir / section_name) in (fname, key.priv)) in list_iter (fun (fname, key) -> Data_file.write_rsa fname key) l