diff options
Diffstat (limited to 'p11p-daemon/src/p11p_server_sup.erl')
-rw-r--r-- | p11p-daemon/src/p11p_server_sup.erl | 7 |
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)). |