[empathy: 35/65] Add the checkbox only if the reason is SelfSigned



commit 2c95c1dd40e651b5f565e027b1a07cae251f87b2
Author: Cosimo Cecchi <cosimoc gnome org>
Date:   Fri Aug 13 16:20:07 2010 +0200

    Add the checkbox only if the reason is SelfSigned
    
    Also, add a comment to explain why.

 libempathy-gtk/empathy-tls-dialog.c |   19 ++++++++++++++-----
 1 files changed, 14 insertions(+), 5 deletions(-)
---
diff --git a/libempathy-gtk/empathy-tls-dialog.c b/libempathy-gtk/empathy-tls-dialog.c
index 0fe0093..b61d5ca 100644
--- a/libempathy-gtk/empathy-tls-dialog.c
+++ b/libempathy-gtk/empathy-tls-dialog.c
@@ -232,12 +232,21 @@ empathy_tls_dialog_constructed (GObject *object)
 
   content_area = gtk_dialog_get_content_area (dialog);
 
-  checkbox = gtk_check_button_new_with_label (_("Remember this choice"));
-  gtk_box_pack_end (GTK_BOX (content_area), checkbox, FALSE, FALSE, 0);
-  gtk_widget_show (checkbox);
+  /* FIXME: right now we do this only if the error is SelfSigned, as we can
+   * easily store the new CA cert in $XDG_CONFIG_DIR/telepathy/certs in that
+   * case. For the other errors, we probably need a smarter/more powerful
+   * certificate storage.
+   */
+  if (priv->reason == EMP_TLS_CERTIFICATE_REJECT_REASON_SELF_SIGNED)
+    {
+      checkbox = gtk_check_button_new_with_label (
+          _("Remember this choice for future connections"));
+      gtk_box_pack_end (GTK_BOX (content_area), checkbox, FALSE, FALSE, 0);
+      gtk_widget_show (checkbox);
 
-  g_signal_connect (checkbox, "toggled",
-      G_CALLBACK (checkbox_toggled_cb), self);
+      g_signal_connect (checkbox, "toggled",
+          G_CALLBACK (checkbox_toggled_cb), self);
+    }
 
   text = g_strdup_printf ("<b>%s</b>", _("Certificate Details"));
   expander = gtk_expander_new (text);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]