X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fshared%2Futil.c;h=43ec62eac653d67a10190187c82eb0c76a551934;hp=a0755efb147593a2046e0feaf386986b047b4664;hb=d05c5031ad4c528fe6bbfed289519edb9f13180a;hpb=b2896c905bef7be7ed9a760d9d61aa6ad0f614a3 diff --git a/src/shared/util.c b/src/shared/util.c index a0755efb1..43ec62eac 100644 --- a/src/shared/util.c +++ b/src/shared/util.c @@ -4905,7 +4905,12 @@ int socket_from_display(const char *display, char **path) { return 0; } -int get_user_creds(const char **username, uid_t *uid, gid_t *gid, const char **home) { +int get_user_creds( + const char **username, + uid_t *uid, gid_t *gid, + const char **home, + const char **shell) { + struct passwd *p; uid_t u; @@ -4926,6 +4931,10 @@ int get_user_creds(const char **username, uid_t *uid, gid_t *gid, const char **h if (home) *home = "/root"; + + if (shell) + *shell = "/bin/sh"; + return 0; } @@ -4957,6 +4966,9 @@ int get_user_creds(const char **username, uid_t *uid, gid_t *gid, const char **h if (home) *home = p->pw_dir; + if (shell) + *shell = p->pw_shell; + return 0; }