diff options
author | George Lebl <jirka@5z.com> | 2003-10-17 19:17:39 +0000 |
---|---|---|
committer | George Lebl <jirka@src.gnome.org> | 2003-10-17 19:17:39 +0000 |
commit | 44469c21de38848d2fcd4e46a7b8110778c753cf (patch) | |
tree | 02872e3bf645a89ffeff06bbebd3205bf2e00628 | |
parent | d8f4e13099ff392911856b6e108793e6316cc464 (diff) | |
download | gdm-44469c21de38848d2fcd4e46a7b8110778c753cf.tar.gz |
Merging this onto the branch
-George
Fri Oct 17 10:54:12 2003 George Lebl <jirka@5z.com>
* Release 2.4.4.5
Fri Oct 17 10:40:08 2003 George Lebl <jirka@5z.com>
* gui/gdmlogin.c, gui/greeter/greeter_item_ulist.c: Apply patch
from Frederic Crozat <fcrozat@mandrakesoft.com> to make gecos
into utf8 before displaying it in the face browser.
* daemon/auth.c: make sure that umask 077 before reopening the
.Xauthority since apparently it can happen that the file doesn't
exist then.
-rw-r--r-- | ChangeLog | 14 | ||||
-rw-r--r-- | NEWS | 13 | ||||
-rw-r--r-- | configure.in | 4 | ||||
-rw-r--r-- | daemon/auth.c | 6 | ||||
-rw-r--r-- | gui/gdmlogin.c | 5 | ||||
-rw-r--r-- | gui/greeter/greeter_item_ulist.c | 5 |
6 files changed, 43 insertions, 4 deletions
@@ -1,3 +1,17 @@ +Fri Oct 17 10:54:12 2003 George Lebl <jirka@5z.com> + + * Release 2.4.4.5 + +Fri Oct 17 10:40:08 2003 George Lebl <jirka@5z.com> + + * gui/gdmlogin.c, gui/greeter/greeter_item_ulist.c: Apply patch + from Frederic Crozat <fcrozat@mandrakesoft.com> to make gecos + into utf8 before displaying it in the face browser. + + * daemon/auth.c: make sure that umask 077 before reopening the + .Xauthority since apparently it can happen that the file doesn't + exist then. + Thu Oct 16 09:55:55 2003 George Lebl <jirka@5z.com> * Release 2.4.4.4 @@ -1,5 +1,18 @@ Ahh news... +2.4.4.5 stuff: + +- Brown paper security bag: ~/.Xauthority could be left readable + after logout + +- gecos info (face browser user name) didn't get through if non-utf8 + (Frederic Crozat) (fixes mandrake #5309) + +- Translation updates (another brown paper bag, these went in over + the last month) (Kjartan Maraas, Andras Timar, Danilo Segan, + Ales Nyakhaychyk, Asmund Skjaeveland, Gustavo Maciel Dias Vieira, + Augusta Marques da Silva, Richard Allen) + 2.4.4.4 stuff: - SECURITY: Fixed CAN-2003-0793, a local DoS, the socket connection diff --git a/configure.in b/configure.in index d8408dba..92e43703 100644 --- a/configure.in +++ b/configure.in @@ -8,7 +8,7 @@ dnl AC_PROG_INTLTOOL([0.21]) AM_CONFIG_HEADER(config.h) -AM_INIT_AUTOMAKE(gdm,2.4.4.4) +AM_INIT_AUTOMAKE(gdm,2.4.4.5) AM_MAINTAINER_MODE GTK_REQUIRED=1.3.1 @@ -152,7 +152,7 @@ AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE") AC_SUBST(GETTEXT_PACKAGE) dnl ## internationalization support -ALL_LINGUAS="am ar az be bg bn ca cs cy da de el es et eu fa fi fr ga gl hi he hu id it ja ko lt lv mk ml mn ms nl nn no pl pt_BR pt ro ru sk sl sq sr sr@Latn sv ta th tr uk vi wa zh_CN zh_TW" +ALL_LINGUAS="am ar az be bg bn ca cs cy da de el es et eu fa fi fr ga gl hi he hu id is it ja ko lt lv mk ml mn ms nl nn no pl pt_BR pt ro ru sk sl sq sr sr@Latn sv ta th tr uk vi wa zh_CN zh_TW" AM_GLIB_GNU_GETTEXT EXTRA_DAEMON_LIBS="" diff --git a/daemon/auth.c b/daemon/auth.c index d7800259..8bdfeb35 100644 --- a/daemon/auth.c +++ b/daemon/auth.c @@ -725,6 +725,7 @@ gdm_auth_user_remove (GdmDisplay *d, uid_t user) FILE *af; gchar *authfile; gchar *authdir; + mode_t oldmode; if G_UNLIKELY (!d || !d->userauth) return; @@ -784,7 +785,9 @@ gdm_auth_user_remove (GdmDisplay *d, uid_t user) return; } + oldmode = umask (077); af = gdm_safe_fopen_ap (d->userauth); + umask (oldmode); if G_UNLIKELY (af == NULL) { XauUnlockAuth (d->userauth); @@ -858,6 +861,7 @@ gdm_auth_purge (GdmDisplay *d, FILE *af, gboolean remove_when_empty) { Xauth *xa; GSList *keep = NULL, *li; + mode_t oldmode; int cnt; if G_UNLIKELY (!d || !af) @@ -904,7 +908,9 @@ gdm_auth_purge (GdmDisplay *d, FILE *af, gboolean remove_when_empty) return NULL; } + oldmode = umask (077); af = gdm_safe_fopen_w (d->userauth); + umask (oldmode); /* Write out remaining entries */ for (li = keep; li != NULL; li = li->next) { diff --git a/gui/gdmlogin.c b/gui/gdmlogin.c index 2a65f28c..4780d813 100644 --- a/gui/gdmlogin.c +++ b/gui/gdmlogin.c @@ -3087,7 +3087,10 @@ gdm_login_user_alloc (const gchar *logname, uid_t uid, const gchar *homedir, user->uid = uid; user->login = g_strdup (logname); - user->gecos = g_strdup (gecos); + if (!g_utf8_validate (gecos, -1, NULL)) + user->gecos = ve_locale_to_utf8 (gecos); + else + user->gecos = g_strdup (gecos); user->homedir = g_strdup (homedir); if (defface != NULL) user->picture = (GdkPixbuf *)g_object_ref (G_OBJECT (defface)); diff --git a/gui/greeter/greeter_item_ulist.c b/gui/greeter/greeter_item_ulist.c index c356701f..7c261bee 100644 --- a/gui/greeter/greeter_item_ulist.c +++ b/gui/greeter/greeter_item_ulist.c @@ -62,7 +62,10 @@ gdm_greeter_user_alloc (const gchar *logname, uid_t uid, const gchar *homedir, user->uid = uid; user->login = g_strdup (logname); - user->gecos = g_strdup (gecos); + if (!g_utf8_validate (gecos, -1, NULL)) + user->gecos = ve_locale_to_utf8 (gecos); + else + user->gecos = g_strdup (gecos); user->homedir = g_strdup (homedir); if (defface != NULL) user->picture = (GdkPixbuf *)g_object_ref (G_OBJECT (defface)); |