guix-devel/gnu/packages/patches/vinagre-newer-rdp-parameter...

213 lines
10 KiB
Diff

https://gitlab.gnome.org/GNOME/vinagre/merge_requests/4.patch
From 141f9383129795da267a8111897fb3a0a324b080 Mon Sep 17 00:00:00 2001
From: Ondrej Holy <oholy@redhat.com>
Date: Thu, 22 Nov 2018 17:22:35 +0100
Subject: [PATCH 2/2] Handle new RDP certificate parameters
The freerdp2 certificate callbacks contains more parameters, let's
present some of them to user also.
---
data/vinagre.ui | 80 ++++++++++++++++++++++++++++++-----
plugins/rdp/vinagre-rdp-tab.c | 26 +++++-------
2 files changed, 80 insertions(+), 26 deletions(-)
diff --git a/data/vinagre.ui b/data/vinagre.ui
index 3135336..d7ce258 100644
--- a/data/vinagre.ui
+++ b/data/vinagre.ui
@@ -885,7 +885,7 @@ Do you trust the new certificate?</property>
<property name="vexpand">True</property>
<property name="xalign">0</property>
<property name="xpad">12</property>
- <property name="label" translatable="yes" comments="Subject of the certificate.">Subject:</property>
+ <property name="label" translatable="yes" comments="Subject of the certificate.">New subject:</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -901,7 +901,7 @@ Do you trust the new certificate?</property>
<property name="vexpand">True</property>
<property name="xalign">0</property>
<property name="xpad">12</property>
- <property name="label" translatable="yes" comments="Issuer of the certificate.">Issuer:</property>
+ <property name="label" translatable="yes" comments="Issuer of the certificate.">New issuer:</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -927,7 +927,55 @@ Do you trust the new certificate?</property>
</packing>
</child>
<child>
- <object class="GtkLabel" id="certificate_changed_subject">
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="vexpand">True</property>
+ <property name="xalign">0</property>
+ <property name="xpad">12</property>
+ <property name="label" translatable="yes" comments="Subject of the old certificate.">Old subject:</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">3</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="vexpand">True</property>
+ <property name="xalign">0</property>
+ <property name="xpad">12</property>
+ <property name="label" translatable="yes" comments="Issuer of the old certificate.">Old issuer:</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">4</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="vexpand">True</property>
+ <property name="xalign">0</property>
+ <property name="xpad">12</property>
+ <property name="label" translatable="yes" comments="Fingerprint of the old certificate.">Old fingerprint:</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">5</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="certificate_changed_new_subject">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
@@ -942,7 +990,7 @@ Do you trust the new certificate?</property>
</packing>
</child>
<child>
- <object class="GtkLabel" id="certificate_changed_issuer">
+ <object class="GtkLabel" id="certificate_changed_new_issuer">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
@@ -972,21 +1020,33 @@ Do you trust the new certificate?</property>
</packing>
</child>
<child>
- <object class="GtkLabel" id="certificate_changed_old_fingerprint_label">
+ <object class="GtkLabel" id="certificate_changed_old_subject">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="vexpand">True</property>
+ <property name="hexpand">True</property>
<property name="xalign">0</property>
- <property name="xpad">12</property>
- <property name="label" translatable="yes" comments="Fingerprint of the old certificate.">Old fingerprint:</property>
</object>
<packing>
- <property name="left_attach">0</property>
+ <property name="left_attach">1</property>
<property name="top_attach">3</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
+ <child>
+ <object class="GtkLabel" id="certificate_changed_old_issuer">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="xalign">0</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">4</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
<child>
<object class="GtkLabel" id="certificate_changed_old_fingerprint">
<property name="visible">True</property>
@@ -997,7 +1057,7 @@ Do you trust the new certificate?</property>
</object>
<packing>
<property name="left_attach">1</property>
- <property name="top_attach">3</property>
+ <property name="top_attach">5</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
diff --git a/plugins/rdp/vinagre-rdp-tab.c b/plugins/rdp/vinagre-rdp-tab.c
index 28e3eb6..30a8698 100644
--- a/plugins/rdp/vinagre-rdp-tab.c
+++ b/plugins/rdp/vinagre-rdp-tab.c
@@ -917,6 +917,7 @@ frdp_certificate_verify (freerdp *instance,
widget = GTK_WIDGET (gtk_builder_get_object (builder, "certificate_fingerprint"));
gtk_label_set_text (GTK_LABEL (widget), fingerprint);
+ /* FIXME: Warn user in case of host_mismatch. */
response = gtk_dialog_run (GTK_DIALOG (dialog));
gtk_widget_hide (dialog);
@@ -939,7 +940,6 @@ frdp_changed_certificate_verify (freerdp *instance,
GtkBuilder *builder;
GtkWidget *dialog;
GtkWidget *widget;
- GtkWidget *label;
gint response;
builder = vinagre_utils_get_builder ();
@@ -950,29 +950,23 @@ frdp_changed_certificate_verify (freerdp *instance,
_("Connect"), GTK_RESPONSE_YES, NULL);
gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_YES);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "certificate_changed_subject"));
+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "certificate_changed_new_subject"));
gtk_label_set_text (GTK_LABEL (widget), subject);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "certificate_changed_issuer"));
+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "certificate_changed_new_issuer"));
gtk_label_set_text (GTK_LABEL (widget), issuer);
widget = GTK_WIDGET (gtk_builder_get_object (builder, "certificate_changed_new_fingerprint"));
gtk_label_set_text (GTK_LABEL (widget), new_fingerprint);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "certificate_changed_old_fingerprint"));
- label = GTK_WIDGET (gtk_builder_get_object (builder, "certificate_changed_old_fingerprint_label"));
- if (old_fingerprint != NULL && old_fingerprint[0] != '\0')
- {
- gtk_label_set_text (GTK_LABEL (widget), old_fingerprint);
- gtk_widget_show (widget);
- gtk_widget_show (label);
- }
- else
- {
- gtk_widget_hide (widget);
- gtk_widget_hide (label);
- }
+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "certificate_changed_old_subject"));
+ gtk_label_set_text (GTK_LABEL (widget), old_subject);
+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "certificate_changed_old_issuer"));
+ gtk_label_set_text (GTK_LABEL (widget), old_issuer);
+
+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "certificate_changed_old_fingerprint"));
+ gtk_label_set_text (GTK_LABEL (widget), old_fingerprint);
response = gtk_dialog_run (GTK_DIALOG (dialog));
gtk_widget_hide (dialog);
--
2.18.1