diff options
author | Lukasz Zalewski <lukas@dcs.qmul.ac.uk> | 2006-12-07 19:07:54 +0000 |
---|---|---|
committer | Brian Cameron <bcameron@src.gnome.org> | 2006-12-07 19:07:54 +0000 |
commit | ae8b7769b256145aad79faefb6d8b311de439ae1 (patch) | |
tree | a517073eae7bf0ff9a2f2585a75bb01cd883edb2 /gui/gdmuser.c | |
parent | ff9adbf7d1e86ac0af5a832be3628509ae28a871 (diff) | |
download | gdm-ae8b7769b256145aad79faefb6d8b311de439ae1.tar.gz |
Fixes bug/feature request #334186. Fixes bug #343206 Fixes bug #347101
2006-12-07 Lukasz Zalewski <lukas@dcs.qmul.ac.uk>
Fixes bug/feature request #334186.
Fixes bug #343206
Fixes bug #347101
* gui/gdmsession. [ch] (_gdm_session_list_init): Replaces functionality
of gdm_session_list_init
* gui/gdmsession. [ch] (gdm_session_list_init): Becomes a wrapper for
_gdm_session_list_init, such that the old functionality within the
code is still preserved but session data can be available through
_gdm_session_list_init
* gui/gdmsession.c : Removed gdmwm.h include
* gui/gdmsession. [ch] (gdm_session_lookup): Removed all the
gdm_wm_query_dialog calls making the function accessible without need
for gdmwm libraries
* gui/gdmsession. [ch] (gdm_set_save_session): Sets save session
variable
* gui/gdmsession. [ch] (gdm_get_default_session): Returns default
session
* gui/gdmlogin.c (process_operation): Added gdm_wm_query_dialog calls
for processing lookup session results
* gui/greeter/greeter.c (process_operation): Added
gdm_wm_query_dialog calls for processing lookup session results
* gui/gdmuser. [ch] (gdm_user_uid): Returns uid of a user, or -1 if
user does not exist
* gui/gdmuser. [ch] (get_root_user): Moved from gdmsetup.c
* gui/gdmsetup.glade: New widgets and tooltips added
* gui/gdmsetup.c: Numerous functions added/modifed to make way for new
functionality
* gui/gdmsetup.c (combobox_changed): Additional fix for bug #358114
Diffstat (limited to 'gui/gdmuser.c')
-rw-r--r-- | gui/gdmuser.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/gui/gdmuser.c b/gui/gdmuser.c index bc706549..f85db2c4 100644 --- a/gui/gdmuser.c +++ b/gui/gdmuser.c @@ -289,6 +289,34 @@ gdm_is_user_valid (const char *username) return (NULL != getpwnam (username)); } +gint +gdm_user_uid (const char *username) +{ + struct passwd *pwent; + pwent = getpwnam (username); + if (pwent != NULL) + return pwent->pw_uid; + + return -1; +} + +const char * +get_root_user (void) +{ + static char *root_user = NULL; + struct passwd *pwent; + + if (root_user != NULL) + return root_user; + + pwent = getpwuid (0); + if (pwent == NULL) /* huh? */ + root_user = g_strdup ("root"); + else + root_user = g_strdup (pwent->pw_name); + return root_user; +} + void gdm_users_init (GList **users, GList **users_string, |