gtkrequest: Drop certificate request type

Wed, 30 May 2018 15:59:33 -0500

author
Mike Ruprecht <cmaiku@gmail.com>
date
Wed, 30 May 2018 15:59:33 -0500
changeset 39312
b315b5e33d97
parent 39311
514cd9b98658
child 39313
ce9902ead9cf

gtkrequest: Drop certificate request type

glib-networking >= 2.57.1 uses system certificates by default.
Servers *should* have a proper certificate, and people with
self-signed ones *should* be able to add them to their system.
Being that exceptions to this are extreme edge cases, it *should*
be fine to just use the system certificate store and not worry
about trying to manage certificate trust ourselves. If it turns
out this is needed, we can always add support later, potentially
via a plugin. To that end, this patch drops Pidgin's certificate
request type.

pidgin/gtkrequest.c file | annotate | diff | comparison | revisions
--- a/pidgin/gtkrequest.c	Wed May 30 15:58:35 2018 -0500
+++ b/pidgin/gtkrequest.c	Wed May 30 15:59:33 2018 -0500
@@ -26,7 +26,6 @@
 
 #include "debug.h"
 #include "prefs.h"
-#include "tls-certificate-info.h"
 #include "util.h"
 
 #include "gtkrequest.h"
@@ -37,11 +36,6 @@
 
 #include <gdk/gdkkeysyms.h>
 
-#ifdef ENABLE_GCR
-#define GCR_API_SUBJECT_TO_CHANGE
-#include <gcr/gcr.h>
-#endif
-
 #include "gtk3compat.h"
 
 typedef struct
@@ -1485,56 +1479,6 @@
 	return pidgin_make_scrollable(treeview, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC, GTK_SHADOW_IN, -1, -1);
 }
 
-static GtkWidget *
-create_certificate_field(PurpleRequestField *field)
-{
-	GTlsCertificate *cert;
-#ifdef ENABLE_GCR
-	GByteArray *der = NULL;
-	GcrCertificateBasicsWidget *cert_widget;
-	GcrCertificate *gcrt;
-#else
-	PurpleTlsCertificateInfo *info;
-	GtkWidget *cert_label;
-	char *str;
-	char *escaped;
-#endif
-
-	cert = purple_request_field_certificate_get_value(field);
-
-#ifdef ENABLE_GCR
-	g_object_get(cert, "certificate", &der, NULL);
-	g_return_val_if_fail(der, NULL);
-
-	gcrt = gcr_simple_certificate_new(der->data, der->len);
-	g_return_val_if_fail(gcrt, NULL);
-
-	cert_widget = gcr_certificate_basics_widget_new(gcrt);
-
-	g_byte_array_free(der, TRUE);
-	g_object_unref(G_OBJECT(gcrt));
-
-	return GTK_WIDGET(cert_widget);
-#else
-	info = purple_tls_certificate_get_info(cert);
-	str = purple_tls_certificate_info_get_display_string(info);
-	purple_tls_certificate_info_free(info);
-
-	escaped = g_markup_escape_text(str, -1);
-
-	cert_label = gtk_label_new(NULL);
-	gtk_label_set_markup(GTK_LABEL(cert_label), escaped);
-	gtk_label_set_line_wrap(GTK_LABEL(cert_label), TRUE);
-	gtk_label_set_xalign(GTK_LABEL(cert_label), 0);
-	gtk_label_set_yalign(GTK_LABEL(cert_label), 0);
-
-	g_free(str);
-	g_free(escaped);
-
-	return cert_label;
-#endif
-}
-
 static GdkPixbuf*
 _pidgin_datasheet_stock_icon_get(const gchar *stock_name)
 {
@@ -2331,8 +2275,6 @@
 						widget = create_image_field(field);
 					else if (type == PURPLE_REQUEST_FIELD_ACCOUNT)
 						widget = create_account_field(field);
-					else if (type == PURPLE_REQUEST_FIELD_CERTIFICATE)
-						widget = create_certificate_field(field);
 					else if (type == PURPLE_REQUEST_FIELD_DATASHEET)
 						widget = create_datasheet_field(field, datasheet_buttons_sg);
 					else

mercurial