Update selinux patch
This commit is contained in:
parent
eed8fe8b89
commit
314cb998f1
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,26 @@
|
||||
diff -up nautilus-2.91.6/libnautilus-extension/nautilus-column.c.selinux nautilus-2.91.6/libnautilus-extension/nautilus-column.c
|
||||
--- nautilus-2.91.6/libnautilus-extension/nautilus-column.c.selinux 2010-11-30 12:20:09.000000000 -0500
|
||||
+++ nautilus-2.91.6/libnautilus-extension/nautilus-column.c 2011-01-07 16:43:53.859993002 -0500
|
||||
From 0c1deabf5af07059ec2920f6c6222654479cc114 Mon Sep 17 00:00:00 2001
|
||||
From: Cosimo Cecchi <cosimoc@gnome.org>
|
||||
Date: Mon, 31 Jan 2011 22:19:36 -0500
|
||||
Subject: [PATCH] Updated selinux patch
|
||||
|
||||
---
|
||||
libnautilus-extension/nautilus-column.c | 17 +
|
||||
libnautilus-extension/nautilus-column.h | 1 +
|
||||
libnautilus-private/nautilus-column-utilities.c | 1 +
|
||||
libnautilus-private/nautilus-file-operations.c | 37 +-
|
||||
libnautilus-private/nautilus-file-operations.h | 1 +
|
||||
libnautilus-private/nautilus-file.c | 112 +++-
|
||||
libnautilus-private/nautilus-file.h | 5 +
|
||||
src/nautilus-error-reporting.c | 25 +
|
||||
src/nautilus-error-reporting.h | 3 +
|
||||
src/nautilus-list-view.c | 6 +-
|
||||
src/nautilus-properties-window.c | 1159 +++++++++++++++++++++--
|
||||
11 files changed, 1283 insertions(+), 84 deletions(-)
|
||||
|
||||
diff --git a/libnautilus-extension/nautilus-column.c b/libnautilus-extension/nautilus-column.c
|
||||
index 646e64e..7ff3aec 100644
|
||||
--- a/libnautilus-extension/nautilus-column.c
|
||||
+++ b/libnautilus-extension/nautilus-column.c
|
||||
@@ -34,6 +34,7 @@ enum {
|
||||
PROP_LABEL,
|
||||
PROP_DESCRIPTION,
|
||||
@ -17,7 +37,7 @@ diff -up nautilus-2.91.6/libnautilus-extension/nautilus-column.c.selinux nautilu
|
||||
};
|
||||
|
||||
G_DEFINE_TYPE (NautilusColumn, nautilus_column, G_TYPE_OBJECT);
|
||||
@@ -110,6 +112,9 @@ nautilus_column_get_property (GObject *o
|
||||
@@ -110,6 +112,9 @@ nautilus_column_get_property (GObject *object,
|
||||
case PROP_XALIGN :
|
||||
g_value_set_float (value, column->details->xalign);
|
||||
break;
|
||||
@ -27,7 +47,7 @@ diff -up nautilus-2.91.6/libnautilus-extension/nautilus-column.c.selinux nautilu
|
||||
default :
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
|
||||
break;
|
||||
@@ -151,6 +156,10 @@ nautilus_column_set_property (GObject *o
|
||||
@@ -151,6 +156,10 @@ nautilus_column_set_property (GObject *object,
|
||||
column->details->xalign = g_value_get_float (value);
|
||||
g_object_notify (object, "xalign");
|
||||
break;
|
||||
@ -38,7 +58,7 @@ diff -up nautilus-2.91.6/libnautilus-extension/nautilus-column.c.selinux nautilu
|
||||
default :
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
|
||||
break;
|
||||
@@ -178,6 +187,7 @@ nautilus_column_init (NautilusColumn *co
|
||||
@@ -178,6 +187,7 @@ nautilus_column_init (NautilusColumn *column)
|
||||
{
|
||||
column->details = g_new0 (NautilusColumnDetails, 1);
|
||||
column->details->xalign = 0.0;
|
||||
@ -46,7 +66,7 @@ diff -up nautilus-2.91.6/libnautilus-extension/nautilus-column.c.selinux nautilu
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -232,5 +242,12 @@ nautilus_column_class_init (NautilusColu
|
||||
@@ -232,5 +242,12 @@ nautilus_column_class_init (NautilusColumnClass *class)
|
||||
1.0,
|
||||
0.0,
|
||||
G_PARAM_READWRITE));
|
||||
@ -59,10 +79,11 @@ diff -up nautilus-2.91.6/libnautilus-extension/nautilus-column.c.selinux nautilu
|
||||
+ G_PARAM_READWRITE));
|
||||
}
|
||||
|
||||
diff -up nautilus-2.91.6/libnautilus-extension/nautilus-column.h.selinux nautilus-2.91.6/libnautilus-extension/nautilus-column.h
|
||||
--- nautilus-2.91.6/libnautilus-extension/nautilus-column.h.selinux 2010-11-30 12:20:09.000000000 -0500
|
||||
+++ nautilus-2.91.6/libnautilus-extension/nautilus-column.h 2011-01-07 16:43:53.859993002 -0500
|
||||
@@ -64,6 +64,7 @@ NautilusColumn * nautilus_column_new
|
||||
diff --git a/libnautilus-extension/nautilus-column.h b/libnautilus-extension/nautilus-column.h
|
||||
index 8ad627a..8a1184a 100644
|
||||
--- a/libnautilus-extension/nautilus-column.h
|
||||
+++ b/libnautilus-extension/nautilus-column.h
|
||||
@@ -64,6 +64,7 @@ NautilusColumn * nautilus_column_new (const char *name,
|
||||
* label (string) - the user-visible label for the column
|
||||
* description (string) - a user-visible description of the column
|
||||
* xalign (float) - x-alignment of the column
|
||||
@ -70,9 +91,10 @@ diff -up nautilus-2.91.6/libnautilus-extension/nautilus-column.h.selinux nautilu
|
||||
*/
|
||||
|
||||
G_END_DECLS
|
||||
diff -up nautilus-2.91.6/libnautilus-private/nautilus-column-utilities.c.selinux nautilus-2.91.6/libnautilus-private/nautilus-column-utilities.c
|
||||
--- nautilus-2.91.6/libnautilus-private/nautilus-column-utilities.c.selinux 2010-11-30 12:20:09.000000000 -0500
|
||||
+++ nautilus-2.91.6/libnautilus-private/nautilus-column-utilities.c 2011-01-07 16:43:53.860993002 -0500
|
||||
diff --git a/libnautilus-private/nautilus-column-utilities.c b/libnautilus-private/nautilus-column-utilities.c
|
||||
index ed5142f..358b461 100644
|
||||
--- a/libnautilus-private/nautilus-column-utilities.c
|
||||
+++ b/libnautilus-private/nautilus-column-utilities.c
|
||||
@@ -120,6 +120,7 @@ get_builtin_columns (void)
|
||||
"attribute", "selinux_context",
|
||||
"label", _("SELinux Context"),
|
||||
@ -81,19 +103,106 @@ diff -up nautilus-2.91.6/libnautilus-private/nautilus-column-utilities.c.selinux
|
||||
NULL));
|
||||
#endif
|
||||
columns = g_list_append (columns,
|
||||
diff -up nautilus-2.91.6/libnautilus-private/nautilus-file.c.selinux nautilus-2.91.6/libnautilus-private/nautilus-file.c
|
||||
--- nautilus-2.91.6/libnautilus-private/nautilus-file.c.selinux 2010-12-13 13:22:48.000000000 -0500
|
||||
+++ nautilus-2.91.6/libnautilus-private/nautilus-file.c 2011-01-07 16:43:53.864993002 -0500
|
||||
@@ -2154,7 +2154,7 @@ update_info_internal (NautilusFile *file
|
||||
}
|
||||
diff --git a/libnautilus-private/nautilus-file-operations.c b/libnautilus-private/nautilus-file-operations.c
|
||||
index 074ef75..310c15d 100644
|
||||
--- a/libnautilus-private/nautilus-file-operations.c
|
||||
+++ b/libnautilus-private/nautilus-file-operations.c
|
||||
@@ -64,6 +64,10 @@
|
||||
#include "nautilus-file-utilities.h"
|
||||
#include "nautilus-file-conflict-dialog.h"
|
||||
|
||||
+#ifdef HAVE_SELINUX
|
||||
+ #include <selinux/selinux.h>
|
||||
+#endif
|
||||
+
|
||||
/* TODO: TESTING!!! */
|
||||
|
||||
typedef struct {
|
||||
@@ -148,6 +152,7 @@ typedef struct {
|
||||
guint32 file_mask;
|
||||
guint32 dir_permissions;
|
||||
guint32 dir_mask;
|
||||
+ char *context;
|
||||
} SetPermissionsJob;
|
||||
|
||||
typedef enum {
|
||||
@@ -5453,6 +5458,10 @@ set_permissions_job_done (gpointer user_data)
|
||||
job->done_callback (job->done_callback_data);
|
||||
}
|
||||
|
||||
- is_symlink = g_file_info_get_is_symlink (info);
|
||||
+ is_symlink = g_file_info_get_is_symlink (info) || (g_file_info_get_file_type (info) == G_FILE_TYPE_SYMBOLIC_LINK);
|
||||
if (file->details->is_symlink != is_symlink) {
|
||||
changed = TRUE;
|
||||
+ if (job->context) {
|
||||
+ g_free (job->context);
|
||||
+ }
|
||||
+
|
||||
finalize_common ((CommonJob *)job);
|
||||
return FALSE;
|
||||
}
|
||||
@@ -2173,7 +2173,7 @@ update_info_internal (NautilusFile *file
|
||||
@@ -5508,6 +5517,14 @@ set_permissions_file (SetPermissionsJob *job,
|
||||
current, G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS,
|
||||
common->cancellable, NULL);
|
||||
}
|
||||
+
|
||||
+#ifdef HAVE_SELINUX
|
||||
+ if (!job_aborted (common) && (job->context)) {
|
||||
+ g_file_set_attribute_string (file, G_FILE_ATTRIBUTE_SELINUX_CONTEXT,
|
||||
+ job->context, G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS,
|
||||
+ common->cancellable, NULL);
|
||||
+ }
|
||||
+#endif
|
||||
|
||||
if (!job_aborted (common) &&
|
||||
g_file_info_get_file_type (info) == G_FILE_TYPE_DIRECTORY) {
|
||||
@@ -5571,6 +5588,7 @@ nautilus_file_set_permissions_recursive (const char *directory,
|
||||
guint32 file_mask,
|
||||
guint32 dir_permissions,
|
||||
guint32 dir_mask,
|
||||
+ const char *context,
|
||||
NautilusOpCallback callback,
|
||||
gpointer callback_data)
|
||||
{
|
||||
@@ -5584,7 +5602,24 @@ nautilus_file_set_permissions_recursive (const char *directory,
|
||||
job->dir_mask = dir_mask;
|
||||
job->done_callback = callback;
|
||||
job->done_callback_data = callback_data;
|
||||
-
|
||||
+
|
||||
+ if (context) {
|
||||
+ char *rcontext;
|
||||
+
|
||||
+ rcontext = job->context = NULL;
|
||||
+#ifdef HAVE_SELINUX
|
||||
+ /* this is really const, but prototype is wrong, *sigh* */
|
||||
+ if (selinux_trans_to_raw_context((char *)context, &rcontext)) {
|
||||
+ g_error ("selinux_trans_to_raw_context: failed to allocate bytes");
|
||||
+ return;
|
||||
+ }
|
||||
+ job->context = g_strdup (rcontext);
|
||||
+ freecon (rcontext);
|
||||
+#endif
|
||||
+ } else {
|
||||
+ job->context = NULL;
|
||||
+ }
|
||||
+
|
||||
g_io_scheduler_push_job (set_permissions_job,
|
||||
job,
|
||||
NULL,
|
||||
diff --git a/libnautilus-private/nautilus-file-operations.h b/libnautilus-private/nautilus-file-operations.h
|
||||
index 96e908b..4a643a6 100644
|
||||
--- a/libnautilus-private/nautilus-file-operations.h
|
||||
+++ b/libnautilus-private/nautilus-file-operations.h
|
||||
@@ -94,6 +94,7 @@ void nautilus_file_set_permissions_recursive (const char *di
|
||||
guint32 file_mask,
|
||||
guint32 folder_permissions,
|
||||
guint32 folder_mask,
|
||||
+ const char *context,
|
||||
NautilusOpCallback callback,
|
||||
gpointer callback_data);
|
||||
|
||||
diff --git a/libnautilus-private/nautilus-file.c b/libnautilus-private/nautilus-file.c
|
||||
index 3d14216..9c0a03b 100644
|
||||
--- a/libnautilus-private/nautilus-file.c
|
||||
+++ b/libnautilus-private/nautilus-file.c
|
||||
@@ -2171,7 +2171,7 @@ update_info_internal (NautilusFile *file,
|
||||
file->details->is_mountpoint = is_mountpoint;
|
||||
|
||||
has_permissions = g_file_info_has_attribute (info, G_FILE_ATTRIBUTE_UNIX_MODE);
|
||||
@ -102,7 +211,7 @@ diff -up nautilus-2.91.6/libnautilus-private/nautilus-file.c.selinux nautilus-2.
|
||||
if (file->details->has_permissions != has_permissions ||
|
||||
file->details->permissions != permissions) {
|
||||
changed = TRUE;
|
||||
@@ -5087,7 +5087,7 @@ nautilus_file_can_get_selinux_context (N
|
||||
@@ -5077,7 +5077,7 @@ nautilus_file_can_get_selinux_context (NautilusFile *file)
|
||||
* context
|
||||
* @file: NautilusFile representing the file in question.
|
||||
*
|
||||
@ -111,7 +220,7 @@ diff -up nautilus-2.91.6/libnautilus-private/nautilus-file.c.selinux nautilus-2.
|
||||
*
|
||||
**/
|
||||
char *
|
||||
@@ -5120,6 +5120,114 @@ nautilus_file_get_selinux_context (Nauti
|
||||
@@ -5110,6 +5110,114 @@ nautilus_file_get_selinux_context (NautilusFile *file)
|
||||
return translated;
|
||||
}
|
||||
|
||||
@ -226,10 +335,11 @@ diff -up nautilus-2.91.6/libnautilus-private/nautilus-file.c.selinux nautilus-2.
|
||||
static char *
|
||||
get_real_name (const char *name, const char *gecos)
|
||||
{
|
||||
diff -up nautilus-2.91.6/libnautilus-private/nautilus-file.h.selinux nautilus-2.91.6/libnautilus-private/nautilus-file.h
|
||||
--- nautilus-2.91.6/libnautilus-private/nautilus-file.h.selinux 2010-11-30 12:20:09.000000000 -0500
|
||||
+++ nautilus-2.91.6/libnautilus-private/nautilus-file.h 2011-01-07 16:43:53.867993002 -0500
|
||||
@@ -241,6 +241,7 @@ GList * nautilus_get_all
|
||||
diff --git a/libnautilus-private/nautilus-file.h b/libnautilus-private/nautilus-file.h
|
||||
index f0f126c..9eef0dd 100644
|
||||
--- a/libnautilus-private/nautilus-file.h
|
||||
+++ b/libnautilus-private/nautilus-file.h
|
||||
@@ -240,6 +240,7 @@ GList * nautilus_get_all_group_names (void);
|
||||
GList * nautilus_file_get_settable_group_names (NautilusFile *file);
|
||||
gboolean nautilus_file_can_get_selinux_context (NautilusFile *file);
|
||||
char * nautilus_file_get_selinux_context (NautilusFile *file);
|
||||
@ -237,7 +347,7 @@ diff -up nautilus-2.91.6/libnautilus-private/nautilus-file.h.selinux nautilus-2.
|
||||
|
||||
/* "Capabilities". */
|
||||
gboolean nautilus_file_can_read (NautilusFile *file);
|
||||
@@ -301,6 +302,10 @@ void nautilus_file_se
|
||||
@@ -300,6 +301,10 @@ void nautilus_file_set_permissions (Nautilu
|
||||
guint32 permissions,
|
||||
NautilusFileOperationCallback callback,
|
||||
gpointer callback_data);
|
||||
@ -248,108 +358,16 @@ diff -up nautilus-2.91.6/libnautilus-private/nautilus-file.h.selinux nautilus-2.
|
||||
void nautilus_file_rename (NautilusFile *file,
|
||||
const char *new_name,
|
||||
NautilusFileOperationCallback callback,
|
||||
diff -up nautilus-2.91.6/libnautilus-private/nautilus-file-operations.c.selinux nautilus-2.91.6/libnautilus-private/nautilus-file-operations.c
|
||||
--- nautilus-2.91.6/libnautilus-private/nautilus-file-operations.c.selinux 2010-12-13 13:22:48.000000000 -0500
|
||||
+++ nautilus-2.91.6/libnautilus-private/nautilus-file-operations.c 2011-01-07 16:43:53.870993002 -0500
|
||||
@@ -64,6 +64,10 @@
|
||||
#include "nautilus-file-utilities.h"
|
||||
#include "nautilus-file-conflict-dialog.h"
|
||||
|
||||
+#ifdef HAVE_SELINUX
|
||||
+ #include <selinux/selinux.h>
|
||||
+#endif
|
||||
+
|
||||
/* TODO: TESTING!!! */
|
||||
|
||||
typedef struct {
|
||||
@@ -148,6 +152,7 @@ typedef struct {
|
||||
guint32 file_mask;
|
||||
guint32 dir_permissions;
|
||||
guint32 dir_mask;
|
||||
+ char *context;
|
||||
} SetPermissionsJob;
|
||||
|
||||
typedef enum {
|
||||
@@ -5460,6 +5465,10 @@ set_permissions_job_done (gpointer user_
|
||||
job->done_callback (job->done_callback_data);
|
||||
}
|
||||
|
||||
+ if (job->context) {
|
||||
+ g_free (job->context);
|
||||
+ }
|
||||
+
|
||||
finalize_common ((CommonJob *)job);
|
||||
return FALSE;
|
||||
}
|
||||
@@ -5515,6 +5524,14 @@ set_permissions_file (SetPermissionsJob
|
||||
current, G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS,
|
||||
common->cancellable, NULL);
|
||||
}
|
||||
+
|
||||
+#ifdef HAVE_SELINUX
|
||||
+ if (!job_aborted (common) && (job->context)) {
|
||||
+ g_file_set_attribute_string (file, G_FILE_ATTRIBUTE_SELINUX_CONTEXT,
|
||||
+ job->context, G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS,
|
||||
+ common->cancellable, NULL);
|
||||
+ }
|
||||
+#endif
|
||||
|
||||
if (!job_aborted (common) &&
|
||||
g_file_info_get_file_type (info) == G_FILE_TYPE_DIRECTORY) {
|
||||
@@ -5578,6 +5595,7 @@ nautilus_file_set_permissions_recursive
|
||||
guint32 file_mask,
|
||||
guint32 dir_permissions,
|
||||
guint32 dir_mask,
|
||||
+ const char *context,
|
||||
NautilusOpCallback callback,
|
||||
gpointer callback_data)
|
||||
{
|
||||
@@ -5591,7 +5609,24 @@ nautilus_file_set_permissions_recursive
|
||||
job->dir_mask = dir_mask;
|
||||
job->done_callback = callback;
|
||||
job->done_callback_data = callback_data;
|
||||
-
|
||||
+
|
||||
+ if (context) {
|
||||
+ char *rcontext;
|
||||
+
|
||||
+ rcontext = job->context = NULL;
|
||||
+#ifdef HAVE_SELINUX
|
||||
+ /* this is really const, but prototype is wrong, *sigh* */
|
||||
+ if (selinux_trans_to_raw_context((char *)context, &rcontext)) {
|
||||
+ g_error ("selinux_trans_to_raw_context: failed to allocate bytes");
|
||||
+ return;
|
||||
+ }
|
||||
+ job->context = g_strdup (rcontext);
|
||||
+ freecon (rcontext);
|
||||
+#endif
|
||||
+ } else {
|
||||
+ job->context = NULL;
|
||||
+ }
|
||||
+
|
||||
g_io_scheduler_push_job (set_permissions_job,
|
||||
job,
|
||||
NULL,
|
||||
diff -up nautilus-2.91.6/libnautilus-private/nautilus-file-operations.h.selinux nautilus-2.91.6/libnautilus-private/nautilus-file-operations.h
|
||||
--- nautilus-2.91.6/libnautilus-private/nautilus-file-operations.h.selinux 2010-12-07 05:11:45.000000000 -0500
|
||||
+++ nautilus-2.91.6/libnautilus-private/nautilus-file-operations.h 2011-01-07 16:43:53.872993001 -0500
|
||||
@@ -94,6 +94,7 @@ void nautilus_file_set_permissions_recur
|
||||
guint32 file_mask,
|
||||
guint32 folder_permissions,
|
||||
guint32 folder_mask,
|
||||
+ const char *context,
|
||||
NautilusOpCallback callback,
|
||||
gpointer callback_data);
|
||||
|
||||
diff -up nautilus-2.91.6/src/file-manager/fm-error-reporting.c.selinux nautilus-2.91.6/src/file-manager/fm-error-reporting.c
|
||||
--- nautilus-2.91.6/src/file-manager/fm-error-reporting.c.selinux 2010-12-17 20:59:41.000000000 -0500
|
||||
+++ nautilus-2.91.6/src/file-manager/fm-error-reporting.c 2011-01-07 16:43:53.873993001 -0500
|
||||
@@ -245,6 +245,31 @@ fm_report_error_setting_permissions (Nau
|
||||
diff --git a/src/nautilus-error-reporting.c b/src/nautilus-error-reporting.c
|
||||
index db67dd6..7487997 100644
|
||||
--- a/src/nautilus-error-reporting.c
|
||||
+++ b/src/nautilus-error-reporting.c
|
||||
@@ -172,6 +172,31 @@ nautilus_report_error_setting_permissions (NautilusFile *file,
|
||||
g_free (message);
|
||||
}
|
||||
|
||||
+void
|
||||
+fm_report_error_setting_selinux (NautilusFile *file,
|
||||
+nautilus_report_error_setting_selinux (NautilusFile *file,
|
||||
+ GError *error,
|
||||
+ GtkWindow *parent_window)
|
||||
+{
|
||||
@ -373,29 +391,28 @@ diff -up nautilus-2.91.6/src/file-manager/fm-error-reporting.c.selinux nautilus-
|
||||
+ g_free (message);
|
||||
+}
|
||||
+
|
||||
typedef struct _FMRenameData {
|
||||
typedef struct _NautilusRenameData {
|
||||
char *name;
|
||||
NautilusFileOperationCallback callback;
|
||||
diff -up nautilus-2.91.6/src/file-manager/fm-error-reporting.h.selinux nautilus-2.91.6/src/file-manager/fm-error-reporting.h
|
||||
--- nautilus-2.91.6/src/file-manager/fm-error-reporting.h.selinux 2010-11-30 12:20:10.000000000 -0500
|
||||
+++ nautilus-2.91.6/src/file-manager/fm-error-reporting.h 2011-01-07 16:43:53.874993001 -0500
|
||||
@@ -40,8 +40,11 @@ void fm_report_error_setting_permissions
|
||||
diff --git a/src/nautilus-error-reporting.h b/src/nautilus-error-reporting.h
|
||||
index 4272982..504a11e 100644
|
||||
--- a/src/nautilus-error-reporting.h
|
||||
+++ b/src/nautilus-error-reporting.h
|
||||
@@ -45,6 +45,9 @@ void nautilus_report_error_setting_owner (NautilusFile *file,
|
||||
void nautilus_report_error_setting_group (NautilusFile *file,
|
||||
GError *error,
|
||||
GtkWindow *parent_window);
|
||||
void fm_report_error_setting_owner (NautilusFile *file,
|
||||
- GError *error,
|
||||
+ GError *error,
|
||||
GtkWindow *parent_window);
|
||||
+void fm_report_error_setting_selinux (NautilusFile *file,
|
||||
+void nautilus_report_error_setting_selinux (NautilusFile *file,
|
||||
+ GError *error,
|
||||
+ GtkWindow *parent_window);
|
||||
void fm_report_error_setting_group (NautilusFile *file,
|
||||
GError *error,
|
||||
GtkWindow *parent_window);
|
||||
diff -up nautilus-2.91.6/src/file-manager/fm-list-view.c.selinux nautilus-2.91.6/src/file-manager/fm-list-view.c
|
||||
--- nautilus-2.91.6/src/file-manager/fm-list-view.c.selinux 2010-12-22 11:00:53.000000000 -0500
|
||||
+++ nautilus-2.91.6/src/file-manager/fm-list-view.c 2011-01-07 16:43:53.875993001 -0500
|
||||
@@ -1620,13 +1620,15 @@ create_and_set_up_tree_view (FMListView
|
||||
|
||||
/* FIXME bugzilla.gnome.org 42394: Should this file be renamed or should this function be moved? */
|
||||
void nautilus_rename_file (NautilusFile *file,
|
||||
diff --git a/src/nautilus-list-view.c b/src/nautilus-list-view.c
|
||||
index 4bb75bd..6cc192c 100644
|
||||
--- a/src/nautilus-list-view.c
|
||||
+++ b/src/nautilus-list-view.c
|
||||
@@ -1628,13 +1628,15 @@ create_and_set_up_tree_view (NautilusListView *view)
|
||||
char *name;
|
||||
char *label;
|
||||
float xalign;
|
||||
@ -410,9 +427,9 @@ diff -up nautilus-2.91.6/src/file-manager/fm-list-view.c.selinux nautilus-2.91.6
|
||||
+ "xalign", &xalign,
|
||||
+ "ellipsize", &ellipsize, NULL);
|
||||
|
||||
column_num = fm_list_model_add_column (view->details->model,
|
||||
column_num = nautilus_list_model_add_column (view->details->model,
|
||||
nautilus_column);
|
||||
@@ -1671,6 +1673,8 @@ create_and_set_up_tree_view (FMListView
|
||||
@@ -1679,6 +1681,8 @@ create_and_set_up_tree_view (NautilusListView *view)
|
||||
} else {
|
||||
cell = gtk_cell_renderer_text_new ();
|
||||
g_object_set (cell, "xalign", xalign, NULL);
|
||||
@ -421,20 +438,22 @@ diff -up nautilus-2.91.6/src/file-manager/fm-list-view.c.selinux nautilus-2.91.6
|
||||
view->details->cells = g_list_append (view->details->cells,
|
||||
cell);
|
||||
column = gtk_tree_view_column_new_with_attributes (label,
|
||||
diff -up nautilus-2.91.6/src/file-manager/fm-properties-window.c.selinux nautilus-2.91.6/src/file-manager/fm-properties-window.c
|
||||
--- nautilus-2.91.6/src/file-manager/fm-properties-window.c.selinux 2010-12-22 11:00:53.000000000 -0500
|
||||
+++ nautilus-2.91.6/src/file-manager/fm-properties-window.c 2011-01-07 20:12:02.721992917 -0500
|
||||
@@ -75,6 +75,9 @@
|
||||
#define FREE_FILL_G 0.623529412
|
||||
diff --git a/src/nautilus-properties-window.c b/src/nautilus-properties-window.c
|
||||
index 13e5851..d409d25 100644
|
||||
--- a/src/nautilus-properties-window.c
|
||||
+++ b/src/nautilus-properties-window.c
|
||||
@@ -79,6 +79,10 @@
|
||||
#define FREE_FILL_B 0.811764706
|
||||
|
||||
|
||||
+#ifdef HAVE_SELINUX
|
||||
+# include <selinux/selinux.h>
|
||||
+#endif
|
||||
|
||||
+
|
||||
#define PREVIEW_IMAGE_WIDTH 96
|
||||
|
||||
@@ -115,12 +118,15 @@ struct FMPropertiesWindowDetails {
|
||||
#define ROW_PAD 6
|
||||
@@ -118,12 +122,15 @@ struct NautilusPropertiesWindowDetails {
|
||||
unsigned int owner_change_timeout;
|
||||
|
||||
GList *permission_buttons;
|
||||
@ -451,21 +470,21 @@ diff -up nautilus-2.91.6/src/file-manager/fm-properties-window.c.selinux nautilu
|
||||
GList *mime_list;
|
||||
|
||||
gboolean deep_count_finished;
|
||||
@@ -203,6 +209,10 @@ static void permission_combo_update
|
||||
@@ -206,6 +213,10 @@ static void permission_combo_update (NautilusPropertiesWindow *win
|
||||
GtkComboBox *combo);
|
||||
static void value_field_update (FMPropertiesWindow *window,
|
||||
static void value_field_update (NautilusPropertiesWindow *window,
|
||||
GtkLabel *field);
|
||||
+static void edit_field_update (FMPropertiesWindow *window,
|
||||
+static void edit_field_update (NautilusPropertiesWindow *window,
|
||||
+ GtkEntry *field);
|
||||
+static void popup_field_update (FMPropertiesWindow *window,
|
||||
+static void popup_field_update (NautilusPropertiesWindow *window,
|
||||
+ GtkComboBox *entry);
|
||||
static void properties_window_update (FMPropertiesWindow *window,
|
||||
static void properties_window_update (NautilusPropertiesWindow *window,
|
||||
GList *files);
|
||||
static void is_directory_ready_callback (NautilusFile *file,
|
||||
@@ -232,10 +242,36 @@ static GtkLabel *attach_ellipsizing_valu
|
||||
@@ -235,10 +246,35 @@ static GtkLabel *attach_ellipsizing_value_label (GtkTable *table,
|
||||
const char *initial_text);
|
||||
|
||||
static GtkWidget* create_pie_widget (FMPropertiesWindow *window);
|
||||
static GtkWidget* create_pie_widget (NautilusPropertiesWindow *window);
|
||||
+
|
||||
+static void attach_selinux_data_edit_field (GtkEntry *entry,
|
||||
+ char *attr_value,
|
||||
@ -476,10 +495,9 @@ diff -up nautilus-2.91.6/src/file-manager/fm-properties-window.c.selinux nautilu
|
||||
+ char *attr_val,
|
||||
+ char *def_attr_val);
|
||||
+#endif
|
||||
+
|
||||
|
||||
G_DEFINE_TYPE (FMPropertiesWindow, fm_properties_window, GTK_TYPE_DIALOG);
|
||||
#define parent_class fm_properties_window_parent_class
|
||||
G_DEFINE_TYPE (NautilusPropertiesWindow, nautilus_properties_window, GTK_TYPE_DIALOG);
|
||||
#define parent_class nautilus_properties_window_parent_class
|
||||
|
||||
+static void
|
||||
+maybe_gtk_entry_set_text (GtkEntry *entry, const char *val)
|
||||
@ -497,9 +515,9 @@ diff -up nautilus-2.91.6/src/file-manager/fm-properties-window.c.selinux nautilu
|
||||
+}
|
||||
+
|
||||
static gboolean
|
||||
is_multi_file_window (FMPropertiesWindow *window)
|
||||
is_multi_file_window (NautilusPropertiesWindow *window)
|
||||
{
|
||||
@@ -256,6 +292,111 @@ is_multi_file_window (FMPropertiesWindow
|
||||
@@ -259,6 +295,111 @@ is_multi_file_window (NautilusPropertiesWindow *window)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -539,7 +557,7 @@ diff -up nautilus-2.91.6/src/file-manager/fm-properties-window.c.selinux nautilu
|
||||
+
|
||||
+#ifdef HAVE_SELINUX
|
||||
+static gboolean
|
||||
+multi_have_same_selinux_context (FMPropertiesWindow *window)
|
||||
+multi_have_same_selinux_context (NautilusPropertiesWindow *window)
|
||||
+{
|
||||
+ GList *l;
|
||||
+ char *cntx;
|
||||
@ -609,9 +627,9 @@ diff -up nautilus-2.91.6/src/file-manager/fm-properties-window.c.selinux nautilu
|
||||
+}
|
||||
+
|
||||
static int
|
||||
get_not_gone_original_file_count (FMPropertiesWindow *window)
|
||||
get_not_gone_original_file_count (NautilusPropertiesWindow *window)
|
||||
{
|
||||
@@ -631,11 +772,7 @@ set_name_field (FMPropertiesWindow *wind
|
||||
@@ -634,11 +775,7 @@ set_name_field (NautilusPropertiesWindow *window, const gchar *original_name,
|
||||
* currently showing. This causes minimal ripples (e.g.
|
||||
* selection change).
|
||||
*/
|
||||
@ -624,7 +642,7 @@ diff -up nautilus-2.91.6/src/file-manager/fm-properties-window.c.selinux nautilu
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -715,7 +852,6 @@ static void
|
||||
@@ -718,7 +855,6 @@ static void
|
||||
name_field_restore_original_name (NautilusEntry *name_field)
|
||||
{
|
||||
const char *original_name;
|
||||
@ -632,7 +650,7 @@ diff -up nautilus-2.91.6/src/file-manager/fm-properties-window.c.selinux nautilu
|
||||
|
||||
original_name = (const char *) g_object_get_data (G_OBJECT (name_field),
|
||||
"original_name");
|
||||
@@ -724,14 +860,8 @@ name_field_restore_original_name (Nautil
|
||||
@@ -727,14 +863,8 @@ name_field_restore_original_name (NautilusEntry *name_field)
|
||||
return;
|
||||
}
|
||||
|
||||
@ -648,7 +666,7 @@ diff -up nautilus-2.91.6/src/file-manager/fm-properties-window.c.selinux nautilu
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -1027,6 +1157,14 @@ properties_window_update (FMPropertiesWi
|
||||
@@ -1028,6 +1158,14 @@ properties_window_update (NautilusPropertiesWindow *window,
|
||||
for (l = window->details->value_fields; l != NULL; l = l->next) {
|
||||
value_field_update (window, GTK_LABEL (l->data));
|
||||
}
|
||||
@ -663,7 +681,7 @@ diff -up nautilus-2.91.6/src/file-manager/fm-properties-window.c.selinux nautilu
|
||||
}
|
||||
|
||||
mime_list = get_mime_list (window);
|
||||
@@ -1197,6 +1335,164 @@ value_field_update (FMPropertiesWindow *
|
||||
@@ -1198,6 +1336,161 @@ value_field_update (NautilusPropertiesWindow *window, GtkLabel *label)
|
||||
window->details->target_files));
|
||||
}
|
||||
|
||||
@ -702,7 +720,7 @@ diff -up nautilus-2.91.6/src/file-manager/fm-properties-window.c.selinux nautilu
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+edit_field_update (FMPropertiesWindow *window, GtkEntry *entry)
|
||||
+edit_field_update (NautilusPropertiesWindow *window, GtkEntry *entry)
|
||||
+{
|
||||
+ gboolean use_original;
|
||||
+
|
||||
@ -755,7 +773,6 @@ diff -up nautilus-2.91.6/src/file-manager/fm-properties-window.c.selinux nautilu
|
||||
+{
|
||||
+ const char *attr_name;
|
||||
+ char *attr_value;
|
||||
+ char *def_attr_value;
|
||||
+ char *inconsistent_string;
|
||||
+ char *cntx_type;
|
||||
+ const char *attr_u;
|
||||
@ -783,8 +800,6 @@ diff -up nautilus-2.91.6/src/file-manager/fm-properties-window.c.selinux nautilu
|
||||
+ attr_name = g_object_get_data (G_OBJECT (combo), "file_attribute");
|
||||
+ inconsistent_string = g_object_get_data (G_OBJECT (combo),
|
||||
+ "inconsistent_string");
|
||||
+ def_attr_value = g_object_get_data (G_OBJECT (combo),
|
||||
+ "matchpathcon_cntx");
|
||||
+
|
||||
+ attr_value = file_list_get_string_attribute (file_list, attr_name,
|
||||
+ inconsistent_string);
|
||||
@ -809,7 +824,7 @@ diff -up nautilus-2.91.6/src/file-manager/fm-properties-window.c.selinux nautilu
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+popup_field_update (FMPropertiesWindow *window, GtkComboBox *combo)
|
||||
+popup_field_update (NautilusPropertiesWindow *window, GtkComboBox *combo)
|
||||
+{
|
||||
+ gboolean use_original;
|
||||
+
|
||||
@ -828,7 +843,7 @@ diff -up nautilus-2.91.6/src/file-manager/fm-properties-window.c.selinux nautilu
|
||||
static GtkLabel *
|
||||
attach_label (GtkTable *table,
|
||||
int row,
|
||||
@@ -1251,6 +1547,47 @@ attach_value_label (GtkTable *table,
|
||||
@@ -1252,6 +1545,47 @@ attach_value_label (GtkTable *table,
|
||||
return attach_label (table, row, column, initial_text, FALSE, FALSE, FALSE, TRUE, FALSE);
|
||||
}
|
||||
|
||||
@ -876,12 +891,12 @@ diff -up nautilus-2.91.6/src/file-manager/fm-properties-window.c.selinux nautilu
|
||||
static GtkLabel *
|
||||
attach_ellipsizing_value_label (GtkTable *table,
|
||||
int row,
|
||||
@@ -1309,6 +1646,647 @@ attach_value_field (FMPropertiesWindow *
|
||||
@@ -1310,6 +1644,647 @@ attach_value_field (NautilusPropertiesWindow *window,
|
||||
FALSE);
|
||||
}
|
||||
|
||||
+static void
|
||||
+start_long_operation (FMPropertiesWindow *window)
|
||||
+start_long_operation (NautilusPropertiesWindow *window)
|
||||
+{
|
||||
+ if (window->details->long_operation_underway == 0) {
|
||||
+ /* start long operation */
|
||||
@ -889,13 +904,13 @@ diff -up nautilus-2.91.6/src/file-manager/fm-properties-window.c.selinux nautilu
|
||||
+
|
||||
+ cursor = gdk_cursor_new (GDK_WATCH);
|
||||
+ gdk_window_set_cursor (gtk_widget_get_window (GTK_WIDGET (window)), cursor);
|
||||
+ gdk_cursor_unref (cursor);
|
||||
+ g_object_unref (cursor);
|
||||
+ }
|
||||
+ window->details->long_operation_underway ++;
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+end_long_operation (FMPropertiesWindow *window)
|
||||
+end_long_operation (NautilusPropertiesWindow *window)
|
||||
+{
|
||||
+ if (gtk_widget_get_window (GTK_WIDGET (window)) != NULL &&
|
||||
+ window->details->long_operation_underway == 1) {
|
||||
@ -912,20 +927,20 @@ diff -up nautilus-2.91.6/src/file-manager/fm-properties-window.c.selinux nautilu
|
||||
+ GError *error,
|
||||
+ gpointer callback_data)
|
||||
+{
|
||||
+ FMPropertiesWindow *window;
|
||||
+ NautilusPropertiesWindow *window;
|
||||
+ g_assert (callback_data != NULL);
|
||||
+
|
||||
+ window = FM_PROPERTIES_WINDOW (callback_data);
|
||||
+ window = NAUTILUS_PROPERTIES_WINDOW (callback_data);
|
||||
+ end_long_operation (window);
|
||||
+
|
||||
+ /* Report the error if it's an error. */
|
||||
+ fm_report_error_setting_selinux (file, error, NULL);
|
||||
+ nautilus_report_error_setting_selinux (file, error, NULL);
|
||||
+
|
||||
+ g_object_unref (window);
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+selinux_done_editing (FMPropertiesWindow *window, char *selinux_context)
|
||||
+selinux_done_editing (NautilusPropertiesWindow *window, char *selinux_context)
|
||||
+{
|
||||
+ GList *l;
|
||||
+
|
||||
@ -947,13 +962,13 @@ diff -up nautilus-2.91.6/src/file-manager/fm-properties-window.c.selinux nautilu
|
||||
+selinux_focus_out (NautilusEntry *entry, GdkEventFocus *event, gpointer cb_data)
|
||||
+{
|
||||
+ g_assert (NAUTILUS_IS_ENTRY (entry));
|
||||
+ g_assert (FM_IS_PROPERTIES_WINDOW (cb_data));
|
||||
+ g_assert (NAUTILUS_IS_PROPERTIES_WINDOW (cb_data));
|
||||
+
|
||||
+ if (gtk_widget_get_state (entry)) {
|
||||
+ if (gtk_widget_get_state (GTK_WIDGET (entry))) {
|
||||
+ char *tmp;
|
||||
+
|
||||
+ tmp = gtk_editable_get_chars (GTK_EDITABLE (entry), 0, -1);
|
||||
+ selinux_done_editing (FM_PROPERTIES_WINDOW (cb_data), tmp);
|
||||
+ selinux_done_editing (NAUTILUS_PROPERTIES_WINDOW (cb_data), tmp);
|
||||
+ g_free (tmp);
|
||||
+ }
|
||||
+
|
||||
@ -966,10 +981,10 @@ diff -up nautilus-2.91.6/src/file-manager/fm-properties-window.c.selinux nautilu
|
||||
+ char *tmp;
|
||||
+
|
||||
+ g_assert (NAUTILUS_IS_ENTRY (entry));
|
||||
+ g_assert (FM_IS_PROPERTIES_WINDOW (cb_data));
|
||||
+ g_assert (NAUTILUS_IS_PROPERTIES_WINDOW (cb_data));
|
||||
+
|
||||
+ tmp = gtk_editable_get_chars (GTK_EDITABLE (entry), 0, -1);
|
||||
+ selinux_done_editing (FM_PROPERTIES_WINDOW (cb_data), tmp);
|
||||
+ selinux_done_editing (NAUTILUS_PROPERTIES_WINDOW (cb_data), tmp);
|
||||
+ g_free (tmp);
|
||||
+
|
||||
+ nautilus_entry_select_all_at_idle (entry);
|
||||
@ -989,7 +1004,7 @@ diff -up nautilus-2.91.6/src/file-manager/fm-properties-window.c.selinux nautilu
|
||||
+ GtkTreeModel *model;
|
||||
+
|
||||
+ g_assert (GTK_IS_COMBO_BOX (comb));
|
||||
+ g_assert (FM_IS_PROPERTIES_WINDOW (cb_data));
|
||||
+ g_assert (NAUTILUS_IS_PROPERTIES_WINDOW (cb_data));
|
||||
+
|
||||
+ if (!gtk_combo_box_get_active_iter (comb, &iter)) {
|
||||
+ return;
|
||||
@ -1007,7 +1022,7 @@ diff -up nautilus-2.91.6/src/file-manager/fm-properties-window.c.selinux nautilu
|
||||
+ tmp = g_strjoin (":", attr_u, attr_r, cntx_type, attr_s, NULL);
|
||||
+ g_free (orig_type);
|
||||
+
|
||||
+ selinux_done_editing (FM_PROPERTIES_WINDOW (cb_data), tmp);
|
||||
+ selinux_done_editing (NAUTILUS_PROPERTIES_WINDOW (cb_data), tmp);
|
||||
+ g_free (tmp);
|
||||
+}
|
||||
+
|
||||
@ -1147,7 +1162,7 @@ diff -up nautilus-2.91.6/src/file-manager/fm-properties-window.c.selinux nautilu
|
||||
+ dattr_t = NULL;
|
||||
+ }
|
||||
+
|
||||
+ if (attr_t && gtk_widget_get_state (entry)) {
|
||||
+ if (attr_t && gtk_widget_get_state (GTK_WIDGET (entry))) {
|
||||
+ /* highlight just the type to the end, so we can easily change it
|
||||
+ * FIXME: we also highlight any Sensitivity/MCS but completion will
|
||||
+ * let people put it back, and that's the only way we get completion
|
||||
@ -1383,7 +1398,7 @@ diff -up nautilus-2.91.6/src/file-manager/fm-properties-window.c.selinux nautilu
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+attach_selinux_edit_field (FMPropertiesWindow *window,
|
||||
+attach_selinux_edit_field (NautilusPropertiesWindow *window,
|
||||
+ GtkTable *table,
|
||||
+ int row,
|
||||
+ int column,
|
||||
@ -1445,7 +1460,7 @@ diff -up nautilus-2.91.6/src/file-manager/fm-properties-window.c.selinux nautilu
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+attach_selinux_popup_field (FMPropertiesWindow *window,
|
||||
+attach_selinux_popup_field (NautilusPropertiesWindow *window,
|
||||
+ GtkTable *table,
|
||||
+ int row,
|
||||
+ int column,
|
||||
@ -1522,15 +1537,15 @@ diff -up nautilus-2.91.6/src/file-manager/fm-properties-window.c.selinux nautilu
|
||||
+#endif
|
||||
+
|
||||
static GtkWidget*
|
||||
attach_ellipsizing_value_field (FMPropertiesWindow *window,
|
||||
attach_ellipsizing_value_field (NautilusPropertiesWindow *window,
|
||||
GtkTable *table,
|
||||
@@ -2302,6 +3280,37 @@ append_title_value_pair (FMPropertiesWin
|
||||
@@ -2303,6 +3278,37 @@ append_title_value_pair (NautilusPropertiesWindow *window,
|
||||
return last_row;
|
||||
}
|
||||
|
||||
+#ifdef HAVE_SELINUX
|
||||
+static guint
|
||||
+append_title_selinux_edit_pair (FMPropertiesWindow *window,
|
||||
+append_title_selinux_edit_pair (NautilusPropertiesWindow *window,
|
||||
+ GtkTable *table,
|
||||
+ const char *title,
|
||||
+ const char *file_attribute_name,
|
||||
@ -1560,13 +1575,13 @@ diff -up nautilus-2.91.6/src/file-manager/fm-properties-window.c.selinux nautilu
|
||||
+#endif
|
||||
+
|
||||
static guint
|
||||
append_title_and_ellipsizing_value (FMPropertiesWindow *window,
|
||||
append_title_and_ellipsizing_value (NautilusPropertiesWindow *window,
|
||||
GtkTable *table,
|
||||
@@ -3227,31 +4236,6 @@ files_has_file (FMPropertiesWindow *wind
|
||||
@@ -3228,31 +4234,6 @@ files_has_file (NautilusPropertiesWindow *window)
|
||||
}
|
||||
|
||||
static void
|
||||
-start_long_operation (FMPropertiesWindow *window)
|
||||
-start_long_operation (NautilusPropertiesWindow *window)
|
||||
-{
|
||||
- if (window->details->long_operation_underway == 0) {
|
||||
- /* start long operation */
|
||||
@ -1580,7 +1595,7 @@ diff -up nautilus-2.91.6/src/file-manager/fm-properties-window.c.selinux nautilu
|
||||
-}
|
||||
-
|
||||
-static void
|
||||
-end_long_operation (FMPropertiesWindow *window)
|
||||
-end_long_operation (NautilusPropertiesWindow *window)
|
||||
-{
|
||||
- if (gtk_widget_get_window (GTK_WIDGET (window)) != NULL &&
|
||||
- window->details->long_operation_underway == 1) {
|
||||
@ -1594,7 +1609,7 @@ diff -up nautilus-2.91.6/src/file-manager/fm-properties-window.c.selinux nautilu
|
||||
permission_change_callback (NautilusFile *file,
|
||||
GFile *res_loc,
|
||||
GError *error,
|
||||
@@ -4034,39 +5018,6 @@ append_special_execution_flags (FMProper
|
||||
@@ -4035,39 +5016,6 @@ append_special_execution_flags (NautilusPropertiesWindow *window, GtkTable *tabl
|
||||
gtk_table_set_row_spacing (table, nrows - 1, 18);
|
||||
}
|
||||
|
||||
@ -1634,7 +1649,7 @@ diff -up nautilus-2.91.6/src/file-manager/fm-properties-window.c.selinux nautilu
|
||||
|
||||
static GHashTable *
|
||||
get_initial_permissions (GList *file_list)
|
||||
@@ -4414,7 +5365,9 @@ apply_recursive_clicked (GtkWidget *recu
|
||||
@@ -4415,7 +5363,9 @@ apply_recursive_clicked (GtkWidget *recursive_button,
|
||||
guint32 file_permission, file_permission_mask;
|
||||
guint32 dir_permission, dir_permission_mask;
|
||||
guint32 vfs_mask, vfs_new_perm, p;
|
||||
@ -1645,7 +1660,7 @@ diff -up nautilus-2.91.6/src/file-manager/fm-properties-window.c.selinux nautilu
|
||||
gboolean active, is_folder, is_special, use_original;
|
||||
GList *l;
|
||||
GtkTreeModel *model;
|
||||
@@ -4458,9 +5411,9 @@ apply_recursive_clicked (GtkWidget *recu
|
||||
@@ -4459,9 +5409,9 @@ apply_recursive_clicked (GtkWidget *recursive_button,
|
||||
}
|
||||
/* Simple mode, minus exec checkbox */
|
||||
for (l = window->details->permission_combos; l != NULL; l = l->next) {
|
||||
@ -1657,7 +1672,7 @@ diff -up nautilus-2.91.6/src/file-manager/fm-properties-window.c.selinux nautilu
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -4468,7 +5421,7 @@ apply_recursive_clicked (GtkWidget *recu
|
||||
@@ -4469,7 +5419,7 @@ apply_recursive_clicked (GtkWidget *recursive_button,
|
||||
is_folder = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (combo),
|
||||
"is-folder"));
|
||||
|
||||
@ -1666,7 +1681,7 @@ diff -up nautilus-2.91.6/src/file-manager/fm-properties-window.c.selinux nautilu
|
||||
gtk_tree_model_get (model, &iter, 1, &new_perm, 2, &use_original, -1);
|
||||
if (use_original) {
|
||||
continue;
|
||||
@@ -4491,12 +5444,53 @@ apply_recursive_clicked (GtkWidget *recu
|
||||
@@ -4492,12 +5442,53 @@ apply_recursive_clicked (GtkWidget *recursive_button,
|
||||
}
|
||||
}
|
||||
|
||||
@ -1720,7 +1735,7 @@ diff -up nautilus-2.91.6/src/file-manager/fm-properties-window.c.selinux nautilu
|
||||
if (nautilus_file_is_directory (file) &&
|
||||
nautilus_file_can_set_permissions (file)) {
|
||||
uri = nautilus_file_get_uri (file);
|
||||
@@ -4507,11 +5501,13 @@ apply_recursive_clicked (GtkWidget *recu
|
||||
@@ -4508,11 +5499,13 @@ apply_recursive_clicked (GtkWidget *recursive_button,
|
||||
file_permission_mask,
|
||||
dir_permission,
|
||||
dir_permission_mask,
|
||||
@ -1734,7 +1749,7 @@ diff -up nautilus-2.91.6/src/file-manager/fm-properties-window.c.selinux nautilu
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -4562,10 +5558,16 @@ create_permissions_page (FMPropertiesWin
|
||||
@@ -4563,10 +5556,16 @@ create_permissions_page (NautilusPropertiesWindow *window)
|
||||
gtk_table_set_row_spacing (page_table, nrows - 1, 18);
|
||||
|
||||
#ifdef HAVE_SELINUX
|
||||
@ -1755,3 +1770,6 @@ diff -up nautilus-2.91.6/src/file-manager/fm-properties-window.c.selinux nautilu
|
||||
#endif
|
||||
append_title_value_pair
|
||||
(window, page_table, _("Last changed:"),
|
||||
--
|
||||
1.7.3.5
|
||||
|
@ -59,7 +59,7 @@ Obsoletes: eel2 < 2.26.0-3
|
||||
Provides: eel2 = 2.26.0-3
|
||||
|
||||
# Some changes to default config
|
||||
Patch4: nautilus-selinux.patch
|
||||
Patch4: nautilus-2.91.8-selinux.patch
|
||||
|
||||
Patch7: rtl-fix.patch
|
||||
#Patch8: nautilus-2.22.1-hide-white-screen.patch
|
||||
|
Loading…
Reference in New Issue
Block a user