summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Lebl <jirka@5z.com>2002-01-01 02:26:39 +0000
committerGeorge Lebl <jirka@src.gnome.org>2002-01-01 02:26:39 +0000
commit598662ce269ffba1a3259a0e10a1b76e1cae96b1 (patch)
treee1636d9cea918551cb1f9d427cd476b1717dbe2b
parent7b8d1d046079301faf6a243d77cca2783b474398 (diff)
downloadgdm-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--ChangeLog13
-rw-r--r--NEWS11
-rw-r--r--configure.in2
-rw-r--r--daemon/slave.c4
-rw-r--r--gui/gdmconfig.glade4
-rw-r--r--gui/gdmlanguages.c4
-rw-r--r--gui/gdmlogin.c6
7 files changed, 41 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index f835aa74..74ebc5a5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
diff --git a/NEWS b/NEWS
index 846066f3..904236d0 100644
--- a/NEWS
+++ b/NEWS
@@ -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)