libreport/0007-trac-660-report-gtk-asks-for-permission-to-send-sens.patch

63 lines
2.1 KiB
Diff
Raw Normal View History

From 98156aa13a496b83c998f651efd0f7f3f0700c6b Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Wed, 8 Aug 2012 17:52:00 +0200
Subject: [PATCH 07/10] trac#660: report-gtk asks for permission to send
sensitive data
* if the currently process event has configured 'sending-sensitive-data'
report-gtk asks for permission to continue with processing of the
event
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
src/gui-wizard-gtk/wizard.c | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/src/gui-wizard-gtk/wizard.c b/src/gui-wizard-gtk/wizard.c
index 861d922..6f540a8 100644
--- a/src/gui-wizard-gtk/wizard.c
+++ b/src/gui-wizard-gtk/wizard.c
@@ -2028,6 +2028,22 @@ static void on_page_prepare(GtkNotebook *assistant, GtkWidget *page, gpointer us
}
}
+static bool get_sensitive_data_permission(const char *event_name)
+{
+ event_config_t *event_cfg = get_event_config(event_name);
+
+ if (!event_cfg || !event_cfg->ec_sending_sensitive_data)
+ return true;
+
+ char *msg = xasprintf(_("Event '%s' requires permission to send possibly sensitive data."
+ "\nDo you want to continue?"),
+ event_cfg->screen_name ? event_cfg->screen_name : event_name);
+ const bool response = ask_yes_no_save_result(msg, "ask_send_sensitive_data");
+ free(msg);
+
+ return response;
+}
+
static gint select_next_page_no(gint current_page_no, gpointer data)
{
GtkWidget *page;
@@ -2049,6 +2065,16 @@ static gint select_next_page_no(gint current_page_no, gpointer data)
}
free(g_event_selected);
+
+ if (!get_sensitive_data_permission(event))
+ {
+ g_event_selected = NULL;
+ gtk_label_set_text(g_lbl_event_log, _("Processing was cancelled"));
+ terminate_event_chain();
+ current_page_no = pages[PAGENO_EVENT_PROGRESS].page_no - 1;
+ goto again;
+ }
+
g_event_selected = xstrdup(event);
if (check_event_config(g_event_selected) != 0)
--
1.7.11.2