summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>2001-02-13 04:56:07 +0000
committerOwen Taylor <otaylor@src.gnome.org>2001-02-13 04:56:07 +0000
commit41b2d039af6f972a5c442d860277164f90fb9ccb (patch)
treed853cc5ccd158898bfd13be6b39e519418ad8bb5
parent32abeb4c969e28d58ad3aa34d05353d6b12476c6 (diff)
downloadgtk+-41b2d039af6f972a5c442d860277164f90fb9ccb.tar.gz
Remove gdkcc.h reference.
Mon Feb 12 23:43:30 2001 Owen Taylor <otaylor@redhat.com> * gtk/Makefile.am (gdk_headers): Remove gdkcc.h reference. * configure.in gtk/gtkmain.c: Add checks for setuid/setgid, and refuse to initialize GTK+ if they fail. Mon Feb 12 15:02:07 2001 Owen Taylor <otaylor@redhat.com> * configure.in: Add check for gtk-doc version. Thu Feb 8 17:18:26 2001 Owen Taylor <otaylor@redhat.com> * gtk/gtklabel.c (gtk_label_size_request): Fix bug where the xpad/ypad was only being used on one side!
-rw-r--r--ChangeLog17
-rw-r--r--ChangeLog.pre-2-017
-rw-r--r--ChangeLog.pre-2-1017
-rw-r--r--ChangeLog.pre-2-217
-rw-r--r--ChangeLog.pre-2-417
-rw-r--r--ChangeLog.pre-2-617
-rw-r--r--ChangeLog.pre-2-817
-rw-r--r--configure.in19
-rw-r--r--gtk/Makefile.am1
-rw-r--r--gtk/gtklabel.c4
-rw-r--r--gtk/gtkmain.c46
11 files changed, 186 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 0c75f9e513..705c6652b2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,20 @@
+Mon Feb 12 23:43:30 2001 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/Makefile.am (gdk_headers): Remove gdkcc.h
+ reference.
+
+ * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
+ and refuse to initialize GTK+ if they fail.
+
+Mon Feb 12 15:02:07 2001 Owen Taylor <otaylor@redhat.com>
+
+ * configure.in: Add check for gtk-doc version.
+
+Thu Feb 8 17:18:26 2001 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtklabel.c (gtk_label_size_request): Fix bug
+ where the xpad/ypad was only being used on one side!
+
2001-02-11 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0
index 0c75f9e513..705c6652b2 100644
--- a/ChangeLog.pre-2-0
+++ b/ChangeLog.pre-2-0
@@ -1,3 +1,20 @@
+Mon Feb 12 23:43:30 2001 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/Makefile.am (gdk_headers): Remove gdkcc.h
+ reference.
+
+ * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
+ and refuse to initialize GTK+ if they fail.
+
+Mon Feb 12 15:02:07 2001 Owen Taylor <otaylor@redhat.com>
+
+ * configure.in: Add check for gtk-doc version.
+
+Thu Feb 8 17:18:26 2001 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtklabel.c (gtk_label_size_request): Fix bug
+ where the xpad/ypad was only being used on one side!
+
2001-02-11 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10
index 0c75f9e513..705c6652b2 100644
--- a/ChangeLog.pre-2-10
+++ b/ChangeLog.pre-2-10
@@ -1,3 +1,20 @@
+Mon Feb 12 23:43:30 2001 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/Makefile.am (gdk_headers): Remove gdkcc.h
+ reference.
+
+ * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
+ and refuse to initialize GTK+ if they fail.
+
+Mon Feb 12 15:02:07 2001 Owen Taylor <otaylor@redhat.com>
+
+ * configure.in: Add check for gtk-doc version.
+
+Thu Feb 8 17:18:26 2001 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtklabel.c (gtk_label_size_request): Fix bug
+ where the xpad/ypad was only being used on one side!
+
2001-02-11 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2
index 0c75f9e513..705c6652b2 100644
--- a/ChangeLog.pre-2-2
+++ b/ChangeLog.pre-2-2
@@ -1,3 +1,20 @@
+Mon Feb 12 23:43:30 2001 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/Makefile.am (gdk_headers): Remove gdkcc.h
+ reference.
+
+ * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
+ and refuse to initialize GTK+ if they fail.
+
+Mon Feb 12 15:02:07 2001 Owen Taylor <otaylor@redhat.com>
+
+ * configure.in: Add check for gtk-doc version.
+
+Thu Feb 8 17:18:26 2001 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtklabel.c (gtk_label_size_request): Fix bug
+ where the xpad/ypad was only being used on one side!
+
2001-02-11 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4
index 0c75f9e513..705c6652b2 100644
--- a/ChangeLog.pre-2-4
+++ b/ChangeLog.pre-2-4
@@ -1,3 +1,20 @@
+Mon Feb 12 23:43:30 2001 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/Makefile.am (gdk_headers): Remove gdkcc.h
+ reference.
+
+ * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
+ and refuse to initialize GTK+ if they fail.
+
+Mon Feb 12 15:02:07 2001 Owen Taylor <otaylor@redhat.com>
+
+ * configure.in: Add check for gtk-doc version.
+
+Thu Feb 8 17:18:26 2001 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtklabel.c (gtk_label_size_request): Fix bug
+ where the xpad/ypad was only being used on one side!
+
2001-02-11 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6
index 0c75f9e513..705c6652b2 100644
--- a/ChangeLog.pre-2-6
+++ b/ChangeLog.pre-2-6
@@ -1,3 +1,20 @@
+Mon Feb 12 23:43:30 2001 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/Makefile.am (gdk_headers): Remove gdkcc.h
+ reference.
+
+ * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
+ and refuse to initialize GTK+ if they fail.
+
+Mon Feb 12 15:02:07 2001 Owen Taylor <otaylor@redhat.com>
+
+ * configure.in: Add check for gtk-doc version.
+
+Thu Feb 8 17:18:26 2001 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtklabel.c (gtk_label_size_request): Fix bug
+ where the xpad/ypad was only being used on one side!
+
2001-02-11 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8
index 0c75f9e513..705c6652b2 100644
--- a/ChangeLog.pre-2-8
+++ b/ChangeLog.pre-2-8
@@ -1,3 +1,20 @@
+Mon Feb 12 23:43:30 2001 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/Makefile.am (gdk_headers): Remove gdkcc.h
+ reference.
+
+ * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
+ and refuse to initialize GTK+ if they fail.
+
+Mon Feb 12 15:02:07 2001 Owen Taylor <otaylor@redhat.com>
+
+ * configure.in: Add check for gtk-doc version.
+
+Thu Feb 8 17:18:26 2001 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtklabel.c (gtk_label_size_request): Fix bug
+ where the xpad/ypad was only being used on one side!
+
2001-02-11 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
diff --git a/configure.in b/configure.in
index 0f01d7886d..f1bf5fb998 100644
--- a/configure.in
+++ b/configure.in
@@ -699,6 +699,9 @@ AC_C_CONST
AC_TYPE_SIGNAL
AC_FUNC_MMAP
+AC_CHECK_FUNCS(getresuid)
+AC_TYPE_UID_T
+
# Check if <sys/select.h> needs to be included for fd_set
AC_MSG_CHECKING([for fd_set])
AC_TRY_COMPILE([#include <sys/types.h>],
@@ -1022,6 +1025,22 @@ fi
AC_SUBST(HTML_DIR)
AC_CHECK_PROG(GTKDOC, gtkdoc-mkdb, true, false)
+
+gtk_doc_min_version=0.6
+if $GTKDOC ; then
+ gtk_doc_version=`gtkdoc-mkdb --version`
+ AC_MSG_CHECKING([gtk-doc version ($gtk_doc_version) >= $gtk_doc_min_version])
+ if perl <<EOF ; then
+ exit (("$gtk_doc_version" =~ /^[[0-9]]+\.[[0-9]]+$/) &&
+ ("$gtk_doc_version" >= "$gtk_doc_min_version") ? 0 : 1);
+EOF
+ AC_MSG_RESULT(yes)
+ else
+ AC_MSG_RESULT(no)
+ GTKDOC=false
+ fi
+fi
+
AM_CONDITIONAL(HAVE_GTK_DOC, $GTKDOC)
AC_SUBST(HAVE_GTK_DOC)
diff --git a/gtk/Makefile.am b/gtk/Makefile.am
index 92b76f99aa..84bc8dbc80 100644
--- a/gtk/Makefile.am
+++ b/gtk/Makefile.am
@@ -361,7 +361,6 @@ gtk_c_sources = @STRIP_BEGIN@ \
@STRIP_END@
# Extra headers that are used for enum type array/id generation
gdk_headers = @STRIP_BEGIN@ \
- ../gdk/gdkcc.h \
../gdk/gdkcolor.h \
../gdk/gdkcursor.h \
../gdk/gdkdnd.h \
diff --git a/gtk/gtklabel.c b/gtk/gtklabel.c
index 95facb2a7b..d8ff48516e 100644
--- a/gtk/gtklabel.c
+++ b/gtk/gtklabel.c
@@ -501,8 +501,8 @@ gtk_label_size_request (GtkWidget *widget,
* don't think it's really that slow.
*/
- requisition->width = label->misc.xpad;
- requisition->height = label->misc.ypad;
+ requisition->width = label->misc.xpad * 2;
+ requisition->height = label->misc.ypad * 2;
if (!label->layout)
{
diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c
index f7f2d72cc0..f82a5f034c 100644
--- a/gtk/gtkmain.c
+++ b/gtk/gtkmain.c
@@ -192,6 +192,49 @@ static gchar *add_dll_suffix(gchar *module_name)
#undef gtk_init_check
+/* This checks to see if the process is running suid or sgid
+ * at the current time. If so, we don't allow GTK+ to be initialized.
+ * This is meant to be a mild check - we only error out if we
+ * can prove the programmer is doing something wrong, not if
+ * they could be doing something wrong. For this reason, we
+ * don't use issetugid() on BSD or prctl (PR_GET_DUMPABLE).
+ */
+static gboolean
+check_setugid (void)
+{
+ uid_t ruid, euid, suid; /* Real, effective and saved user ID's */
+ gid_t rgid, egid, sgid; /* Real, effective and saved group ID's */
+
+#ifdef HAVE_GETRESUID
+ /* These aren't in the header files, so we prototype them here.
+ */
+ int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid);
+ int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid);
+
+ if (getresuid (&ruid, &euid, &suid) != 0 ||
+ getresgid (&rgid, &egid, &sgid) != 0)
+#endif /* HAVE_GETRESUID */
+ {
+ suid = ruid = getuid ();
+ sgid = rgid = getgid ();
+ euid = geteuid ();
+ egid = getegid ();
+ }
+
+ if (ruid != euid || ruid != suid ||
+ rgid != egid || rgid != sgid)
+ {
+ g_warning ("This process is currently running setuid or setgid.\n"
+ "This is not a supported use of GTK+. You must create a helper\n"
+ "program instead. For further details, see:\n\n"
+ " http://www.gtk.org/setuid.html\n\n"
+ "Refusing to initialize GTK+.");
+ exit (1);
+ }
+
+ return TRUE;
+}
+
gboolean
gtk_init_check (int *argc,
char ***argv)
@@ -203,6 +246,9 @@ gtk_init_check (int *argc,
if (gtk_initialized)
return TRUE;
+ if (!check_setugid ())
+ return FALSE;
+
#if 0
g_set_error_handler (gtk_error);
g_set_warning_handler (gtk_warning);