diff options
author | George Lebl <jirka@5z.com> | 2002-01-01 02:26:39 +0000 |
---|---|---|
committer | George Lebl <jirka@src.gnome.org> | 2002-01-01 02:26:39 +0000 |
commit | 598662ce269ffba1a3259a0e10a1b76e1cae96b1 (patch) | |
tree | e1636d9cea918551cb1f9d427cd476b1717dbe2b | |
parent | 7b8d1d046079301faf6a243d77cca2783b474398 (diff) | |
download | gdm-598662ce269ffba1a3259a0e10a1b76e1cae96b1.tar.gz |
raise version
Mon Dec 31 18:54:25 2001 George Lebl <jirka@5z.com>
* configure.in, NEWS: raise version
* daemon/slave.c: set egid to the correct value before we do setuid
to avoid running the session with gdm group privilages. (Note
that all session files run bash and thus drop those, but this
is a problem for the failsafes)
* gui/gdmlogin.c: Make PositionX and PositionY follow the standard
X geometry behaviour where negative values mean position from
lower/right edge
-rw-r--r-- | ChangeLog | 13 | ||||
-rw-r--r-- | NEWS | 11 | ||||
-rw-r--r-- | configure.in | 2 | ||||
-rw-r--r-- | daemon/slave.c | 4 | ||||
-rw-r--r-- | gui/gdmconfig.glade | 4 | ||||
-rw-r--r-- | gui/gdmlanguages.c | 4 | ||||
-rw-r--r-- | gui/gdmlogin.c | 6 |
7 files changed, 41 insertions, 3 deletions
@@ -1,3 +1,16 @@ +Mon Dec 31 18:54:25 2001 George Lebl <jirka@5z.com> + + * configure.in, NEWS: raise version + + * daemon/slave.c: set egid to the correct value before we do setuid + to avoid running the session with gdm group privilages. (Note + that all session files run bash and thus drop those, but this + is a problem for the failsafes) + + * gui/gdmlogin.c: Make PositionX and PositionY follow the standard + X geometry behaviour where negative values mean position from + lower/right edge + Thu Dec 27 00:59:43 2001 George Lebl <jirka@5z.com> * Release 2.2.5.3 @@ -1,5 +1,16 @@ Ahh news... +2.2.5.4 stuff: + +- SECURITY FIX! Make sure the egid is reset to the user gid before + starting a session. This could present a security risk under a + certain circumstances, that is if your /bin/sh does not drop privilages. + It also fixes the failsafe gnome session + +- PositionX and PositionY now take negative values that work + like standard X geometries. A negative value is an offset from + the right/lower edge. + 2.2.5.3 stuff: - PAM support revamped. Session open and credentials are done before diff --git a/configure.in b/configure.in index 9d3b5af6..cdd63823 100644 --- a/configure.in +++ b/configure.in @@ -7,7 +7,7 @@ dnl AM_PROG_XML_I18N_TOOLS AM_CONFIG_HEADER(config.h) -AM_INIT_AUTOMAKE(gdm,2.2.5.3) +AM_INIT_AUTOMAKE(gdm,2.2.5.4) AM_MAINTAINER_MODE AM_ACLOCAL_INCLUDE(macros) diff --git a/daemon/slave.c b/daemon/slave.c index 98093387..f643bcc0 100644 --- a/daemon/slave.c +++ b/daemon/slave.c @@ -1868,6 +1868,10 @@ session_child_run (struct passwd *pwent, "Aborting."), "gdm_slave_session_start", login); + /* setup egid to the correct group, + * not to leave the egid around */ + setegid (pwent->pw_gid); + if (setuid (pwent->pw_uid) < 0) gdm_child_exit (DISPLAY_REMANAGE, _("gdm_slave_session_start: Could not become %s. Aborting."), login); diff --git a/gui/gdmconfig.glade b/gui/gdmconfig.glade index d9a5db77..1c4992d5 100644 --- a/gui/gdmconfig.glade +++ b/gui/gdmconfig.glade @@ -1075,7 +1075,7 @@ tr_TR <snap>False</snap> <wrap>False</wrap> <value>0</value> - <lower>0</lower> + <lower>-32000</lower> <upper>32000</upper> <step>1</step> <page>10</page> @@ -1112,7 +1112,7 @@ tr_TR <snap>False</snap> <wrap>False</wrap> <value>0</value> - <lower>0</lower> + <lower>-32000</lower> <upper>32000</upper> <step>1</step> <page>10</page> diff --git a/gui/gdmlanguages.c b/gui/gdmlanguages.c index cf034c5c..e62f39ed 100644 --- a/gui/gdmlanguages.c +++ b/gui/gdmlanguages.c @@ -31,6 +31,10 @@ struct _Language { int found; }; +/* Note: these should NOT include the encodings, this is just a translation + * matrix for language_country names. This is NOT a list of available + * languages, just their names and where they are placed in the menu. + * The available languages come from the supplied locale.alias */ static Language languages [] = { /*Note translate the A-M to the A-M you used in the group label */ { N_("A-M|Catalan"), "ca_ES", 0 }, diff --git a/gui/gdmlogin.c b/gui/gdmlogin.c index 97dd6918..c047d894 100644 --- a/gui/gdmlogin.c +++ b/gui/gdmlogin.c @@ -285,6 +285,12 @@ set_screen_pos (GtkWidget *widget, int x, int y) g_return_if_fail (widget != NULL); g_return_if_fail (GTK_IS_WIDGET (widget)); + /* allow negative values, to be like standard X geometry ones */ + if (x < 0) + x = gdm_wm_screen.width + x - widget->allocation.width; + if (y < 0) + y = gdm_wm_screen.height + y - widget->allocation.height; + if (x < gdm_wm_screen.x) x = gdm_wm_screen.x; if (y < gdm_wm_screen.y) |