patches/gtk+-07-trusted-extensions.diff
author yippi
Mon, 27 Sep 2010 21:07:51 +0000
changeset 20108 51df67ca9307
parent 18292 9ff9c0fa64d9
child 20231 707800c62d8c
permissions -rw-r--r--
I had these modules listed as being owned by me, but they are really owned by wangke, correcting.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
18292
9ff9c0fa64d9 2010-07-29 Christian Kelly <[email protected]>
chrisk
parents: 18249
diff changeset
     1
diff -urN -x '*.orig' -x '*.rej' ../amd64/gtk+-2.19.6/configure.in gtk+-2.19.6/configure.in
9ff9c0fa64d9 2010-07-29 Christian Kelly <[email protected]>
chrisk
parents: 18249
diff changeset
     2
--- ../amd64/gtk+-2.19.6/configure.in	2010-02-23 05:39:16.000000000 +0100
9ff9c0fa64d9 2010-07-29 Christian Kelly <[email protected]>
chrisk
parents: 18249
diff changeset
     3
+++ gtk+-2.19.6/configure.in	2010-03-02 16:57:31.541365910 +0100
9ff9c0fa64d9 2010-07-29 Christian Kelly <[email protected]>
chrisk
parents: 18249
diff changeset
     4
@@ -1771,7 +1771,15 @@
9ff9c0fa64d9 2010-07-29 Christian Kelly <[email protected]>
chrisk
parents: 18249
diff changeset
     5
 if test "x$gdktarget" = "xx11"; then
9ff9c0fa64d9 2010-07-29 Christian Kelly <[email protected]>
chrisk
parents: 18249
diff changeset
     6
   GTK_PACKAGES="$GTK_PACKAGES pangoft2"
9ff9c0fa64d9 2010-07-29 Christian Kelly <[email protected]>
chrisk
parents: 18249
diff changeset
     7
 fi
9ff9c0fa64d9 2010-07-29 Christian Kelly <[email protected]>
chrisk
parents: 18249
diff changeset
     8
-GTK_EXTRA_LIBS=
9ff9c0fa64d9 2010-07-29 Christian Kelly <[email protected]>
chrisk
parents: 18249
diff changeset
     9
+
9ff9c0fa64d9 2010-07-29 Christian Kelly <[email protected]>
chrisk
parents: 18249
diff changeset
    10
+case "$host" in
9ff9c0fa64d9 2010-07-29 Christian Kelly <[email protected]>
chrisk
parents: 18249
diff changeset
    11
+        *-*-solaris*)
9ff9c0fa64d9 2010-07-29 Christian Kelly <[email protected]>
chrisk
parents: 18249
diff changeset
    12
+		GTK_EXTRA_LIBS="-lsecdb -ltsol"
9ff9c0fa64d9 2010-07-29 Christian Kelly <[email protected]>
chrisk
parents: 18249
diff changeset
    13
+            ;;
9ff9c0fa64d9 2010-07-29 Christian Kelly <[email protected]>
chrisk
parents: 18249
diff changeset
    14
+        *)
9ff9c0fa64d9 2010-07-29 Christian Kelly <[email protected]>
chrisk
parents: 18249
diff changeset
    15
+		GTK_EXTRA_LIBS=
9ff9c0fa64d9 2010-07-29 Christian Kelly <[email protected]>
chrisk
parents: 18249
diff changeset
    16
+            ;;
9ff9c0fa64d9 2010-07-29 Christian Kelly <[email protected]>
chrisk
parents: 18249
diff changeset
    17
+      esac
9ff9c0fa64d9 2010-07-29 Christian Kelly <[email protected]>
chrisk
parents: 18249
diff changeset
    18
 GTK_EXTRA_CFLAGS= 
9ff9c0fa64d9 2010-07-29 Christian Kelly <[email protected]>
chrisk
parents: 18249
diff changeset
    19
 GTK_DEP_LIBS="$GDK_EXTRA_LIBS $GTK_DEP_LIBS_FOR_X `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $PANGO_PACKAGES $GTK_PACKAGES_FOR_X $GTK_PACKAGES` $GTK_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
9ff9c0fa64d9 2010-07-29 Christian Kelly <[email protected]>
chrisk
parents: 18249
diff changeset
    20
 GTK_DEP_CFLAGS="`$PKG_CONFIG --cflags  gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES $GTK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS $GTK_EXTRA_CFLAGS"
17637
07e11876b396 2010-03-04 Erwann Chenede - <[email protected]>
erwannc
parents: 17273
diff changeset
    21
diff -urN -x '*.orig' -x '*.rej' ../amd64/gtk+-2.19.6/gdk/x11/gdkmain-x11.c gtk+-2.19.6/gdk/x11/gdkmain-x11.c
07e11876b396 2010-03-04 Erwann Chenede - <[email protected]>
erwannc
parents: 17273
diff changeset
    22
--- ../amd64/gtk+-2.19.6/gdk/x11/gdkmain-x11.c	2009-11-26 10:05:07.000000000 +0100
07e11876b396 2010-03-04 Erwann Chenede - <[email protected]>
erwannc
parents: 17273
diff changeset
    23
+++ gtk+-2.19.6/gdk/x11/gdkmain-x11.c	2010-03-02 16:57:31.541731616 +0100
16275
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
    24
@@ -438,6 +438,8 @@
13180
0fc8f2111102 2008-08-19 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    25
 {
0fc8f2111102 2008-08-19 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    26
   if (error->error_code)
0fc8f2111102 2008-08-19 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    27
     {
0fc8f2111102 2008-08-19 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    28
+      if (error->error_code == 3)
0fc8f2111102 2008-08-19 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    29
+        return 1;
0fc8f2111102 2008-08-19 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    30
       if (_gdk_error_warnings)
0fc8f2111102 2008-08-19 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    31
 	{
0fc8f2111102 2008-08-19 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    32
 	  gchar buf[64];
17637
07e11876b396 2010-03-04 Erwann Chenede - <[email protected]>
erwannc
parents: 17273
diff changeset
    33
diff -urN -x '*.orig' -x '*.rej' ../amd64/gtk+-2.19.6/gtk/Makefile.am gtk+-2.19.6/gtk/Makefile.am
07e11876b396 2010-03-04 Erwann Chenede - <[email protected]>
erwannc
parents: 17273
diff changeset
    34
--- ../amd64/gtk+-2.19.6/gtk/Makefile.am	2010-02-23 05:39:18.000000000 +0100
07e11876b396 2010-03-04 Erwann Chenede - <[email protected]>
erwannc
parents: 17273
diff changeset
    35
+++ gtk+-2.19.6/gtk/Makefile.am	2010-03-02 16:57:31.542242114 +0100
07e11876b396 2010-03-04 Erwann Chenede - <[email protected]>
erwannc
parents: 17273
diff changeset
    36
@@ -407,6 +407,7 @@
07e11876b396 2010-03-04 Erwann Chenede - <[email protected]>
erwannc
parents: 17273
diff changeset
    37
 	gtktoolpaletteprivate.h	\
16786
0c0340f3db82 2009-10-16 Stephen Browne <[email protected]>
stephen
parents: 16707
diff changeset
    38
 	gtktreedatalist.h	\
0c0340f3db82 2009-10-16 Stephen Browne <[email protected]>
stephen
parents: 16707
diff changeset
    39
 	gtktreeprivate.h	\
16706
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
    40
+	gtktrustedutils.h	\
16786
0c0340f3db82 2009-10-16 Stephen Browne <[email protected]>
stephen
parents: 16707
diff changeset
    41
 	gtkwindow-decorate.h	\
0c0340f3db82 2009-10-16 Stephen Browne <[email protected]>
stephen
parents: 16707
diff changeset
    42
 	$(gtk_clipboard_dnd_h_sources)
0c0340f3db82 2009-10-16 Stephen Browne <[email protected]>
stephen
parents: 16707
diff changeset
    43
 
17637
07e11876b396 2010-03-04 Erwann Chenede - <[email protected]>
erwannc
parents: 17273
diff changeset
    44
@@ -614,6 +615,7 @@
16706
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
    45
 	gtktreestore.c		\
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
    46
 	gtktreeview.c		\
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
    47
 	gtktreeviewcolumn.c	\
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
    48
+	gtktrustedutils.c	\
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
    49
 	gtktypebuiltins.c	\
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
    50
 	gtktypeutils.c		\
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
    51
 	gtkuimanager.c		\
17637
07e11876b396 2010-03-04 Erwann Chenede - <[email protected]>
erwannc
parents: 17273
diff changeset
    52
diff -urN -x '*.orig' -x '*.rej' ../amd64/gtk+-2.19.6/gtk/gtkaboutdialog.c gtk+-2.19.6/gtk/gtkaboutdialog.c
07e11876b396 2010-03-04 Erwann Chenede - <[email protected]>
erwannc
parents: 17273
diff changeset
    53
--- ../amd64/gtk+-2.19.6/gtk/gtkaboutdialog.c	2010-02-23 05:39:18.000000000 +0100
07e11876b396 2010-03-04 Erwann Chenede - <[email protected]>
erwannc
parents: 17273
diff changeset
    54
+++ gtk+-2.19.6/gtk/gtkaboutdialog.c	2010-03-02 16:57:31.543217714 +0100
07e11876b396 2010-03-04 Erwann Chenede - <[email protected]>
erwannc
parents: 17273
diff changeset
    55
@@ -229,6 +229,26 @@
16707
fcb9481f8030 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16706
diff changeset
    56
   GError *error = NULL;
16706
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
    57
 
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
    58
   screen = gtk_widget_get_screen (GTK_WIDGET (about));
16707
fcb9481f8030 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16706
diff changeset
    59
+	
16706
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
    60
+  if (gtk_trusted_path_is_restricted () ) {
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
    61
+    GtkWidget *dialog;
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
    62
+
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
    63
+    dialog = gtk_message_dialog_new (GTK_WINDOW (about),
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
    64
+                                     GTK_DIALOG_DESTROY_WITH_PARENT |
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
    65
+                                     GTK_DIALOG_MODAL,
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
    66
+                                     GTK_MESSAGE_ERROR,
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
    67
+                                     GTK_BUTTONS_CLOSE,
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
    68
+                                     "%s", _("Could not show link"));
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
    69
+    gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
    70
+                                              "%s", _("You do not have sufficient clearance to invoke this link"));
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
    71
+
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
    72
+    g_signal_connect (dialog, "response",
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
    73
+                      G_CALLBACK (gtk_widget_destroy), NULL);
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
    74
+
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
    75
+    gtk_window_present (GTK_WINDOW (dialog));
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
    76
+
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
    77
+    return;
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
    78
+  }
16707
fcb9481f8030 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16706
diff changeset
    79
 
17637
07e11876b396 2010-03-04 Erwann Chenede - <[email protected]>
erwannc
parents: 17273
diff changeset
    80
   if (!gtk_show_uri (screen, uri, gtk_get_current_event_time (), &error))
07e11876b396 2010-03-04 Erwann Chenede - <[email protected]>
erwannc
parents: 17273
diff changeset
    81
     {
07e11876b396 2010-03-04 Erwann Chenede - <[email protected]>
erwannc
parents: 17273
diff changeset
    82
@@ -823,7 +843,7 @@
07e11876b396 2010-03-04 Erwann Chenede - <[email protected]>
erwannc
parents: 17273
diff changeset
    83
 
07e11876b396 2010-03-04 Erwann Chenede - <[email protected]>
erwannc
parents: 17273
diff changeset
    84
   gtk_widget_show (priv->website_label);
16820
eb7b02e3c522 2009-10-20 Stephen Browne <[email protected]>
stephen
parents: 16786
diff changeset
    85
 
eb7b02e3c522 2009-10-20 Stephen Browne <[email protected]>
stephen
parents: 16786
diff changeset
    86
-  if (priv->website_url && (!activate_url_hook_set || activate_url_hook != NULL))
eb7b02e3c522 2009-10-20 Stephen Browne <[email protected]>
stephen
parents: 16786
diff changeset
    87
+  if (priv->website_url && (!activate_url_hook_set || activate_url_hook != NULL) && !gtk_trusted_path_is_restricted ())
eb7b02e3c522 2009-10-20 Stephen Browne <[email protected]>
stephen
parents: 16786
diff changeset
    88
     {
17637
07e11876b396 2010-03-04 Erwann Chenede - <[email protected]>
erwannc
parents: 17273
diff changeset
    89
       gchar *markup;
07e11876b396 2010-03-04 Erwann Chenede - <[email protected]>
erwannc
parents: 17273
diff changeset
    90
 
07e11876b396 2010-03-04 Erwann Chenede - <[email protected]>
erwannc
parents: 17273
diff changeset
    91
@@ -2350,7 +2370,11 @@
16706
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
    92
   old = activate_email_hook;
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
    93
 
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
    94
   activate_email_hook_set = TRUE;
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
    95
-  activate_email_hook = func;
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
    96
+  if (gtk_trusted_path_is_restricted ()) {
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
    97
+    activate_email_hook = NULL;
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
    98
+  } else {
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
    99
+    activate_email_hook = func;
16707
fcb9481f8030 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16706
diff changeset
   100
+  }
16706
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   101
   activate_email_hook_data = data;
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   102
   activate_email_hook_destroy = destroy;
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   103
 
17637
07e11876b396 2010-03-04 Erwann Chenede - <[email protected]>
erwannc
parents: 17273
diff changeset
   104
@@ -2386,7 +2410,11 @@
16706
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   105
   old = activate_url_hook;
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   106
 
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   107
   activate_url_hook_set = TRUE;
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   108
-  activate_url_hook = func;
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   109
+  if (gtk_trusted_path_is_restricted ()) {
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   110
+    activate_url_hook = NULL;
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   111
+  } else {
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   112
+    activate_url_hook = func;
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   113
+  }
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   114
   activate_url_hook_data = data;
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   115
   activate_url_hook_destroy = destroy;
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   116
 
17637
07e11876b396 2010-03-04 Erwann Chenede - <[email protected]>
erwannc
parents: 17273
diff changeset
   117
diff -urN -x '*.orig' -x '*.rej' ../amd64/gtk+-2.19.6/gtk/gtkfilechooserdefault.c gtk+-2.19.6/gtk/gtkfilechooserdefault.c
07e11876b396 2010-03-04 Erwann Chenede - <[email protected]>
erwannc
parents: 17273
diff changeset
   118
--- ../amd64/gtk+-2.19.6/gtk/gtkfilechooserdefault.c	2010-02-23 05:39:18.000000000 +0100
07e11876b396 2010-03-04 Erwann Chenede - <[email protected]>
erwannc
parents: 17273
diff changeset
   119
+++ gtk+-2.19.6/gtk/gtkfilechooserdefault.c	2010-03-02 16:57:31.546257922 +0100
18292
9ff9c0fa64d9 2010-07-29 Christian Kelly <[email protected]>
chrisk
parents: 18249
diff changeset
   120
@@ -72,6 +72,10 @@
9ff9c0fa64d9 2010-07-29 Christian Kelly <[email protected]>
chrisk
parents: 18249
diff changeset
   121
 
9ff9c0fa64d9 2010-07-29 Christian Kelly <[email protected]>
chrisk
parents: 18249
diff changeset
   122
 #include "gtkalias.h"
9ff9c0fa64d9 2010-07-29 Christian Kelly <[email protected]>
chrisk
parents: 18249
diff changeset
   123
 
9ff9c0fa64d9 2010-07-29 Christian Kelly <[email protected]>
chrisk
parents: 18249
diff changeset
   124
+#ifdef sun
9ff9c0fa64d9 2010-07-29 Christian Kelly <[email protected]>
chrisk
parents: 18249
diff changeset
   125
+#include "gtktrustedutils.h"
9ff9c0fa64d9 2010-07-29 Christian Kelly <[email protected]>
chrisk
parents: 18249
diff changeset
   126
+#endif
9ff9c0fa64d9 2010-07-29 Christian Kelly <[email protected]>
chrisk
parents: 18249
diff changeset
   127
+
9ff9c0fa64d9 2010-07-29 Christian Kelly <[email protected]>
chrisk
parents: 18249
diff changeset
   128
 #include <errno.h>
9ff9c0fa64d9 2010-07-29 Christian Kelly <[email protected]>
chrisk
parents: 18249
diff changeset
   129
 #include <string.h>
9ff9c0fa64d9 2010-07-29 Christian Kelly <[email protected]>
chrisk
parents: 18249
diff changeset
   130
 #include <time.h>
17637
07e11876b396 2010-03-04 Erwann Chenede - <[email protected]>
erwannc
parents: 17273
diff changeset
   131
@@ -5201,6 +5205,13 @@
16275
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   132
   impl->browse_widgets = browse_widgets_create (impl);
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   133
   gtk_box_pack_start (GTK_BOX (impl), impl->browse_widgets, TRUE, TRUE, 0);
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   134
 
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   135
+#ifdef sun
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   136
+  /* trusted path restriction label */
17273
rohinis
parents: 16820
diff changeset
   137
+  /* SUN_BRANDING */
16275
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   138
+  impl->trustedpathlabel = gtk_label_new (_("You do not have sufficient clearance to use this file chooser"));
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   139
+  gtk_box_pack_start (GTK_BOX (impl), impl->trustedpathlabel, FALSE, FALSE, 0);
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   140
+#endif
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   141
+
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   142
   /* Alignment to hold extra widget */
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   143
   impl->extra_align = gtk_alignment_new (0.0, 0.5, 1.0, 1.0);
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   144
   gtk_box_pack_start (GTK_BOX (impl), impl->extra_align, FALSE, FALSE, 0);
17637
07e11876b396 2010-03-04 Erwann Chenede - <[email protected]>
erwannc
parents: 17273
diff changeset
   145
@@ -5235,7 +5246,13 @@
16275
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   146
   if (impl->extra_widget)
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   147
     {
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   148
       gtk_container_add (GTK_CONTAINER (impl->extra_align), impl->extra_widget);
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   149
+#ifdef sun
16706
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   150
+      if (!gtk_trusted_path_is_restricted ()) {
16275
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   151
+        gtk_widget_show (impl->extra_align);
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   152
+      }
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   153
+#else
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   154
       gtk_widget_show (impl->extra_align);
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   155
+#endif
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   156
     }
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   157
   else
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   158
     gtk_widget_hide (impl->extra_align);
17637
07e11876b396 2010-03-04 Erwann Chenede - <[email protected]>
erwannc
parents: 17273
diff changeset
   159
@@ -5351,6 +5368,10 @@
16275
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   160
 static void
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   161
 update_appearance (GtkFileChooserDefault *impl)
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   162
 {
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   163
+#ifdef sun
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   164
+  gtk_widget_hide (impl->trustedpathlabel);
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   165
+#endif
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   166
+
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   167
   if (impl->action == GTK_FILE_CHOOSER_ACTION_SAVE ||
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   168
       impl->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER)
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   169
     {
17637
07e11876b396 2010-03-04 Erwann Chenede - <[email protected]>
erwannc
parents: 17273
diff changeset
   170
@@ -5405,6 +5426,16 @@
16275
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   171
   else
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   172
     gtk_widget_show (impl->browse_new_folder_button);
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   173
 
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   174
+#ifdef sun
16706
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   175
+  if (gtk_trusted_path_is_restricted ())
16275
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   176
+    {
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   177
+      gtk_widget_hide (impl->location_button);
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   178
+      gtk_widget_hide (impl->browse_widgets);
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   179
+      if (impl->save_widgets) gtk_widget_hide (impl->save_widgets);
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   180
+      gtk_widget_show (impl->trustedpathlabel);
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   181
+    }
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   182
+#endif
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   183
+
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   184
   /* This *is* needed; we need to redraw the file list because the "sensitivity"
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   185
    * of files may change depending whether we are in a file or folder-only mode.
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   186
    */
17637
07e11876b396 2010-03-04 Erwann Chenede - <[email protected]>
erwannc
parents: 17273
diff changeset
   187
@@ -8008,9 +8039,10 @@
16275
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   188
 
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   189
   impl = GTK_FILE_CHOOSER_DEFAULT (chooser_embed);
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   190
 
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   191
-  if (impl->action == GTK_FILE_CHOOSER_ACTION_OPEN
16706
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   192
+  if ( !gtk_trusted_path_is_restricted () && 
16275
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   193
+      (  impl->action == GTK_FILE_CHOOSER_ACTION_OPEN
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   194
       || impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   195
-      || impl->expand_folders)
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   196
+      || impl->expand_folders)) 
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   197
     {
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   198
       GtkFileChooserSettings *settings;
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   199
       int x, y, width, height;
17637
07e11876b396 2010-03-04 Erwann Chenede - <[email protected]>
erwannc
parents: 17273
diff changeset
   200
diff -urN -x '*.orig' -x '*.rej' ../amd64/gtk+-2.19.6/gtk/gtkfilechooserdialog.c gtk+-2.19.6/gtk/gtkfilechooserdialog.c
07e11876b396 2010-03-04 Erwann Chenede - <[email protected]>
erwannc
parents: 17273
diff changeset
   201
--- ../amd64/gtk+-2.19.6/gtk/gtkfilechooserdialog.c	2010-02-23 05:39:18.000000000 +0100
07e11876b396 2010-03-04 Erwann Chenede - <[email protected]>
erwannc
parents: 17273
diff changeset
   202
+++ gtk+-2.19.6/gtk/gtkfilechooserdialog.c	2010-03-02 16:57:31.546665214 +0100
18292
9ff9c0fa64d9 2010-07-29 Christian Kelly <[email protected]>
chrisk
parents: 18249
diff changeset
   203
@@ -30,6 +30,10 @@
9ff9c0fa64d9 2010-07-29 Christian Kelly <[email protected]>
chrisk
parents: 18249
diff changeset
   204
 #include "gtktypebuiltins.h"
9ff9c0fa64d9 2010-07-29 Christian Kelly <[email protected]>
chrisk
parents: 18249
diff changeset
   205
 #include "gtkintl.h"
9ff9c0fa64d9 2010-07-29 Christian Kelly <[email protected]>
chrisk
parents: 18249
diff changeset
   206
 #include "gtkalias.h"
9ff9c0fa64d9 2010-07-29 Christian Kelly <[email protected]>
chrisk
parents: 18249
diff changeset
   207
+#include "gtkstock.h"
9ff9c0fa64d9 2010-07-29 Christian Kelly <[email protected]>
chrisk
parents: 18249
diff changeset
   208
+#ifdef sun
9ff9c0fa64d9 2010-07-29 Christian Kelly <[email protected]>
chrisk
parents: 18249
diff changeset
   209
+#include "gtktrustedutils.h"
9ff9c0fa64d9 2010-07-29 Christian Kelly <[email protected]>
chrisk
parents: 18249
diff changeset
   210
+#endif
9ff9c0fa64d9 2010-07-29 Christian Kelly <[email protected]>
chrisk
parents: 18249
diff changeset
   211
 
9ff9c0fa64d9 2010-07-29 Christian Kelly <[email protected]>
chrisk
parents: 18249
diff changeset
   212
 #include <stdarg.h>
9ff9c0fa64d9 2010-07-29 Christian Kelly <[email protected]>
chrisk
parents: 18249
diff changeset
   213
 
16706
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   214
@@ -336,6 +340,14 @@
16275
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   215
   GtkFileChooserDialog *dialog = GTK_FILE_CHOOSER_DIALOG (data);
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   216
   int response_id;
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   217
 
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   218
+#ifdef sun
16706
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   219
+  if (gtk_trusted_path_is_restricted ())
16275
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   220
+    { 
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   221
+      gtk_widget_hide (widget);
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   222
+      return;
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   223
+    }
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   224
+#endif
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   225
+
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   226
   response_id = gtk_dialog_get_response_for_widget (GTK_DIALOG (dialog), widget);
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   227
   if (is_stock_accept_response_id (response_id))
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   228
     gtk_dialog_set_default_response (GTK_DIALOG (dialog), response_id);
16706
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   229
@@ -347,6 +359,14 @@
16275
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   230
   gtk_container_foreach (GTK_CONTAINER (GTK_DIALOG (dialog)->action_area),
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   231
 			 foreach_ensure_default_response_cb,
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   232
 			 dialog);
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   233
+
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   234
+#ifdef sun
16706
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   235
+  if (gtk_trusted_path_is_restricted ())
16275
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   236
+    {
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   237
+      gtk_dialog_add_button (GTK_DIALOG (dialog), GTK_STOCK_CLOSE, GTK_RESPONSE_DELETE_EVENT);
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   238
+      gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_DELETE_EVENT);
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   239
+    }
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   240
+#endif
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   241
 }
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   242
 
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   243
 /* GtkWidget::map handler */
17637
07e11876b396 2010-03-04 Erwann Chenede - <[email protected]>
erwannc
parents: 17273
diff changeset
   244
diff -urN -x '*.orig' -x '*.rej' ../amd64/gtk+-2.19.6/gtk/gtkfilechooserprivate.h gtk+-2.19.6/gtk/gtkfilechooserprivate.h
07e11876b396 2010-03-04 Erwann Chenede - <[email protected]>
erwannc
parents: 17273
diff changeset
   245
--- ../amd64/gtk+-2.19.6/gtk/gtkfilechooserprivate.h	2010-02-18 00:28:09.000000000 +0100
07e11876b396 2010-03-04 Erwann Chenede - <[email protected]>
erwannc
parents: 17273
diff changeset
   246
+++ gtk+-2.19.6/gtk/gtkfilechooserprivate.h	2010-03-02 16:57:31.546921223 +0100
07e11876b396 2010-03-04 Erwann Chenede - <[email protected]>
erwannc
parents: 17273
diff changeset
   247
@@ -210,6 +210,10 @@
16275
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   248
   GtkWidget *extra_align;
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   249
   GtkWidget *extra_widget;
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   250
 
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   251
+#ifdef sun
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   252
+  GtkWidget *trustedpathlabel;
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   253
+#endif
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   254
+
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   255
   GtkWidget *location_button;
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   256
   GtkWidget *location_entry_box;
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   257
   GtkWidget *location_label;
17637
07e11876b396 2010-03-04 Erwann Chenede - <[email protected]>
erwannc
parents: 17273
diff changeset
   258
diff -urN -x '*.orig' -x '*.rej' ../amd64/gtk+-2.19.6/gtk/gtktrustedutils.c gtk+-2.19.6/gtk/gtktrustedutils.c
07e11876b396 2010-03-04 Erwann Chenede - <[email protected]>
erwannc
parents: 17273
diff changeset
   259
--- ../amd64/gtk+-2.19.6/gtk/gtktrustedutils.c	1970-01-01 01:00:00.000000000 +0100
07e11876b396 2010-03-04 Erwann Chenede - <[email protected]>
erwannc
parents: 17273
diff changeset
   260
+++ gtk+-2.19.6/gtk/gtktrustedutils.c	2010-03-02 16:57:31.547129569 +0100
16706
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   261
@@ -0,0 +1,82 @@
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   262
+/* GTK - The GIMP Toolkit
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   263
+ * gtktrustedutils.c: Private utility functions useful for
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   264
+ *                        Trusted Path checks
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   265
+ * Copyright (C) 2009, Sun Microsystems, Inc.
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   266
+ *
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   267
+ * This library is free software; you can redistribute it and/or
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   268
+ * modify it under the terms of the GNU Lesser General Public
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   269
+ * License as published by the Free Software Foundation; either
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   270
+ * version 2 of the License, or (at your option) any later version.
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   271
+ *
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   272
+ * This library is distributed in the hope that it will be useful,
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   273
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   274
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   275
+ * Lesser General Public License for more details.
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   276
+ *
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   277
+ * You should have received a copy of the GNU Lesser General Public
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   278
+ * License along with this library; if not, write to the
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   279
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   280
+ * Boston, MA 02111-1307, USA.
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   281
+ */
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   282
+
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   283
+#include "config.h"
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   284
+#include <glib.h>
16275
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   285
+#include <user_attr.h>
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   286
+#include <secdb.h>
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   287
+#include <tsol/label.h>
16706
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   288
+#include <zone.h>
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   289
+
16275
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   290
+gboolean
16706
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   291
+gtk_trusted_path_is_restricted (void)
16275
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   292
+{
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   293
+  static int restricted = -1;
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   294
+  m_label_t *adminhigh = NULL;
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   295
+  m_label_t *clearance = NULL;
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   296
+  char *value = NULL;
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   297
+  int err;
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   298
+  userattr_t *uattr;
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   299
+
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   300
+  if (restricted == -1) 
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   301
+    {
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   302
+      if (!is_system_labeled () || getzoneid () != 0)
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   303
+        { /* Not trusted system or not running in global zone = no restriction*/
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   304
+          restricted = 0;
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   305
+        }
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   306
+      else if (str_to_label (ADMIN_HIGH,  &adminhigh, USER_CLEAR, L_DEFAULT,
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   307
+			     &err)) 
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   308
+        { /* string translation of ADMIN_HIGH failed so user is restricted */
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   309
+          restricted = 1;
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   310
+        }
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   311
+      else 
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   312
+        {
16347
7929eb45a886 2009-08-25 Stephen Browne <[email protected]>
stephen
parents: 16275
diff changeset
   313
+          if (uattr = getuseruid (getuid ())) 
7929eb45a886 2009-08-25 Stephen Browne <[email protected]>
stephen
parents: 16275
diff changeset
   314
+	    {
7929eb45a886 2009-08-25 Stephen Browne <[email protected]>
stephen
parents: 16275
diff changeset
   315
+              value = kva_match (uattr->attr, USERATTR_CLEARANCE);
7929eb45a886 2009-08-25 Stephen Browne <[email protected]>
stephen
parents: 16275
diff changeset
   316
+              if (value == NULL)
7929eb45a886 2009-08-25 Stephen Browne <[email protected]>
stephen
parents: 16275
diff changeset
   317
+                { /* no value defined for users clearance, assume restricted */
7929eb45a886 2009-08-25 Stephen Browne <[email protected]>
stephen
parents: 16275
diff changeset
   318
+                  restricted = 1;
7929eb45a886 2009-08-25 Stephen Browne <[email protected]>
stephen
parents: 16275
diff changeset
   319
+                }
7929eb45a886 2009-08-25 Stephen Browne <[email protected]>
stephen
parents: 16275
diff changeset
   320
+              else if (str_to_label (value, &clearance, USER_CLEAR, L_DEFAULT, 
7929eb45a886 2009-08-25 Stephen Browne <[email protected]>
stephen
parents: 16275
diff changeset
   321
+  				   &err))
7929eb45a886 2009-08-25 Stephen Browne <[email protected]>
stephen
parents: 16275
diff changeset
   322
+                { /*string translation, this shouldn't happen */
7929eb45a886 2009-08-25 Stephen Browne <[email protected]>
stephen
parents: 16275
diff changeset
   323
+                  restricted = 1;
7929eb45a886 2009-08-25 Stephen Browne <[email protected]>
stephen
parents: 16275
diff changeset
   324
+                }
7929eb45a886 2009-08-25 Stephen Browne <[email protected]>
stephen
parents: 16275
diff changeset
   325
+              else if (blequal (adminhigh, clearance)) 
7929eb45a886 2009-08-25 Stephen Browne <[email protected]>
stephen
parents: 16275
diff changeset
   326
+                {
7929eb45a886 2009-08-25 Stephen Browne <[email protected]>
stephen
parents: 16275
diff changeset
   327
+                  restricted = 0;
7929eb45a886 2009-08-25 Stephen Browne <[email protected]>
stephen
parents: 16275
diff changeset
   328
+  	        } 
7929eb45a886 2009-08-25 Stephen Browne <[email protected]>
stephen
parents: 16275
diff changeset
   329
+              else 
7929eb45a886 2009-08-25 Stephen Browne <[email protected]>
stephen
parents: 16275
diff changeset
   330
+                {
7929eb45a886 2009-08-25 Stephen Browne <[email protected]>
stephen
parents: 16275
diff changeset
   331
+	          restricted = 1;
7929eb45a886 2009-08-25 Stephen Browne <[email protected]>
stephen
parents: 16275
diff changeset
   332
+                }
7929eb45a886 2009-08-25 Stephen Browne <[email protected]>
stephen
parents: 16275
diff changeset
   333
+            free_userattr (uattr);
7929eb45a886 2009-08-25 Stephen Browne <[email protected]>
stephen
parents: 16275
diff changeset
   334
+	  }
7929eb45a886 2009-08-25 Stephen Browne <[email protected]>
stephen
parents: 16275
diff changeset
   335
+	    else
7929eb45a886 2009-08-25 Stephen Browne <[email protected]>
stephen
parents: 16275
diff changeset
   336
+	  {
7929eb45a886 2009-08-25 Stephen Browne <[email protected]>
stephen
parents: 16275
diff changeset
   337
+	      restricted = 1;
7929eb45a886 2009-08-25 Stephen Browne <[email protected]>
stephen
parents: 16275
diff changeset
   338
+	  }
16275
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   339
+        }
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   340
+    }
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   341
+
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   342
+  return restricted ? TRUE : FALSE;
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   343
+}
17637
07e11876b396 2010-03-04 Erwann Chenede - <[email protected]>
erwannc
parents: 17273
diff changeset
   344
diff -urN -x '*.orig' -x '*.rej' ../amd64/gtk+-2.19.6/gtk/gtktrustedutils.h gtk+-2.19.6/gtk/gtktrustedutils.h
07e11876b396 2010-03-04 Erwann Chenede - <[email protected]>
erwannc
parents: 17273
diff changeset
   345
--- ../amd64/gtk+-2.19.6/gtk/gtktrustedutils.h	1970-01-01 01:00:00.000000000 +0100
07e11876b396 2010-03-04 Erwann Chenede - <[email protected]>
erwannc
parents: 17273
diff changeset
   346
+++ gtk+-2.19.6/gtk/gtktrustedutils.h	2010-03-02 16:57:31.547289333 +0100
16706
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   347
@@ -0,0 +1,31 @@
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   348
+/* GTK - The GIMP Toolkit
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   349
+ * gtktrustedutils.h: Private utility functions useful for
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   350
+ *                        Trusted Path checks
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   351
+ * Copyright (C) 2009, Sun Microsystems, Inc.
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   352
+ *
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   353
+ * This library is free software; you can redistribute it and/or
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   354
+ * modify it under the terms of the GNU Lesser General Public
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   355
+ * License as published by the Free Software Foundation; either
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   356
+ * version 2 of the License, or (at your option) any later version.
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   357
+ *
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   358
+ * This library is distributed in the hope that it will be useful,
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   359
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   360
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   361
+ * Lesser General Public License for more details.
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   362
+ *
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   363
+ * You should have received a copy of the GNU Lesser General Public
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   364
+ * License along with this library; if not, write to the
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   365
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   366
+ * Boston, MA 02111-1307, USA.
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   367
+ */
16275
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   368
+
16706
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   369
+#ifndef __GTK_TRUSTED_UTILS_H__
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   370
+#define __GTK_TRUSTED_UTILS_H__
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   371
+
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   372
+G_BEGIN_DECLS
16275
38800042c604 2009-08-13 Stephen <[email protected]>
stephen
parents: 13180
diff changeset
   373
+
16706
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   374
+gboolean gtk_trusted_path_is_restricted (void);
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   375
+
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   376
+G_END_DECLS
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   377
+
55cdb2e81958 2009-10-08 Stephen Browne <[email protected]>
stephen
parents: 16347
diff changeset
   378
+#endif /* __GTK_TRUSTED_UTILS_H__ */