summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Lebl <jirka@5z.com>2003-10-17 19:17:39 +0000
committerGeorge Lebl <jirka@src.gnome.org>2003-10-17 19:17:39 +0000
commit44469c21de38848d2fcd4e46a7b8110778c753cf (patch)
tree02872e3bf645a89ffeff06bbebd3205bf2e00628
parentd8f4e13099ff392911856b6e108793e6316cc464 (diff)
downloadgdm-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--ChangeLog14
-rw-r--r--NEWS13
-rw-r--r--configure.in4
-rw-r--r--daemon/auth.c6
-rw-r--r--gui/gdmlogin.c5
-rw-r--r--gui/greeter/greeter_item_ulist.c5
6 files changed, 43 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index e477f490..28fd21de 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
diff --git a/NEWS b/NEWS
index 0630bcc8..6c6e6619 100644
--- a/NEWS
+++ b/NEWS
@@ -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));