summaryrefslogtreecommitdiff
path: root/src/shim
diff options
context:
space:
mode:
authorChristian Breunig <christian@breunig.cc>2024-06-24 16:02:47 +0200
committerGitHub <noreply@github.com>2024-06-24 16:02:47 +0200
commit4cd052bddcecd0d24c72521564f9844f21ffc4ea (patch)
tree41ad074006937d93a7a7c602fccc6b74e46a58b7 /src/shim
parent819b4a3556481ec516caca2731714ff69a57c2a5 (diff)
parent4c7719efa27d9d2966b70b924c90aa2c90022388 (diff)
downloadvyos-1x-4cd052bddcecd0d24c72521564f9844f21ffc4ea.tar.gz
vyos-1x-4cd052bddcecd0d24c72521564f9844f21ffc4ea.zip
Merge pull request #3701 from jestabro/configd-drop-env-sudo
configd: T6504: send sudo_user on session init and set env variable
Diffstat (limited to 'src/shim')
-rw-r--r--src/shim/vyshim.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/shim/vyshim.c b/src/shim/vyshim.c
index 41723e7a4..4d836127d 100644
--- a/src/shim/vyshim.c
+++ b/src/shim/vyshim.c
@@ -178,6 +178,13 @@ int initialization(void* Requester)
strsep(&pid_val, "_");
debug_print("config session pid: %s\n", pid_val);
+ char *sudo_user = getenv("SUDO_USER");
+ if (!sudo_user) {
+ char nobody[] = "nobody";
+ sudo_user = nobody;
+ }
+ debug_print("sudo_user is %s\n", sudo_user);
+
debug_print("Sending init announcement\n");
char *init_announce = mkjson(MKJSON_OBJ, 1,
MKJSON_STRING, "type", "init");
@@ -240,6 +247,10 @@ int initialization(void* Requester)
zmq_recv(Requester, buffer, 16, 0);
debug_print("Received pid receipt\n");
+ debug_print("Sending config session sudo_user\n");
+ zmq_send(Requester, sudo_user, strlen(sudo_user), 0);
+ zmq_recv(Requester, buffer, 16, 0);
+ debug_print("Received sudo_user receipt\n");
return 0;
}