summaryrefslogtreecommitdiff
path: root/src/vycli.ml
diff options
context:
space:
mode:
authorJohn Estabrook <jestabro@vyos.io>2025-09-10 12:50:52 -0500
committerJohn Estabrook <jestabro@vyos.io>2025-09-10 14:13:47 -0500
commita0a14ea1ee38ce78f7433b3a93f7eea61c8163fc (patch)
tree01f9d3e2b76d35ee2b459f14f5e2ffff96e7833f /src/vycli.ml
parent19d7e20f5cb7786f87e04a334e19415f18af6562 (diff)
downloadvyconf-a0a14ea1ee38ce78f7433b3a93f7eea61c8163fc.tar.gz
vyconf-a0a14ea1ee38ce78f7433b3a93f7eea61c8163fc.zip
T7737: add user and sudo_user fields to session for use in commit
Add optional protobuf fields to convey environment variables USER and SUDO_USER, as needed for some config_mode scripts. Add non-option fields to the session record type, defaulting to the empty string.
Diffstat (limited to 'src/vycli.ml')
-rw-r--r--src/vycli.ml10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/vycli.ml b/src/vycli.ml
index 174d6f4..6b13bdd 100644
--- a/src/vycli.ml
+++ b/src/vycli.ml
@@ -68,7 +68,15 @@ let main socket op path out_format config_format =
end
| OpSetupSession ->
let pid = Int32.of_int (Unix.getppid ()) in
- let%lwt resp = setup_session client "vycli" pid in
+ let user =
+ try Sys.getenv "USER"
+ with Not_found -> ""
+ in
+ let sudo_user =
+ try Sys.getenv "SUDO_USER"
+ with Not_found -> ""
+ in
+ let%lwt resp = setup_session client "vycli" sudo_user user pid in
begin
match resp with
| Ok c -> get_token c