summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Nordberg <linus@sunet.se>2019-07-02 19:55:53 +0200
committerLinus Nordberg <linus@sunet.se>2019-07-02 19:55:53 +0200
commit9adda3b3d423fe09e1bba48593097ad7b179b9bc (patch)
tree5ed6c6252ae4b45e2cb789a860595fcfe3bbfa98
parentf828787d46f6a1f9b6d46ca05ba3bfbaa658287a (diff)
get rid of hardcoded EUID
-rw-r--r--p11p-daemon/src/p11p_server_sup.erl7
1 files changed, 5 insertions, 2 deletions
diff --git a/p11p-daemon/src/p11p_server_sup.erl b/p11p-daemon/src/p11p_server_sup.erl
index 53d6f01..d488d98 100644
--- a/p11p-daemon/src/p11p_server_sup.erl
+++ b/p11p-daemon/src/p11p_server_sup.erl
@@ -40,8 +40,7 @@ cleanup([Token|Tail]) ->
cleanup(Tail).
mkdir_socket_basepath() ->
- %%"/run/user/$UNIXUID/p11p/$TokenCfg-$UNIXPID"
- EUID = "1000", % FIXME: get euid
+ EUID = integer_to_list(geteuid()),
Path = "/run/user/" ++ EUID ++ "/p11p/",
ok = case file:make_dir(Path) of
ok -> ok;
@@ -55,3 +54,7 @@ mkdir_socket_basepath() ->
-spec socket_path(string(), string()) -> string().
socket_path(BasePath, Name) ->
BasePath ++ Name ++ "-" ++ os:getpid().
+
+geteuid() ->
+ %% TODO: Maybe find a POSIX library instead of invoking a shell?
+ list_to_integer(string:strip(os:cmd("/usr/bin/id -u"), right, $\n)).