File vinagre-cert-validation-api.patch of Package vinagre
diff --git a/plugins/rdp/vinagre-rdp-tab.c b/plugins/rdp/vinagre-rdp-tab.c
index 5bbfca0..9149c0f 100644
--- a/plugins/rdp/vinagre-rdp-tab.c
+++ b/plugins/rdp/vinagre-rdp-tab.c
@@ -29,6 +29,7 @@
#include <freerdp/types.h>
#include <freerdp/freerdp.h>
#include <freerdp/gdi/gdi.h>
+#include <freerdp/version.h>
#if HAVE_FREERDP_1_1
#include <freerdp/locale/keyboard.h>
#else
@@ -926,11 +927,21 @@ frdp_authenticate (freerdp *instance,
return TRUE;
}
+#if (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR >= 2 && FREERDP_VERSION_REVISION >= 1) || (FREERDP_VERSION_MAJOR == 2)
+static DWORD
+frdp_certificate_verify (freerdp *instance,
+ const char *common_name,
+ const char *subject,
+ const char *issuer,
+ const char *fingerprint,
+ BOOL host_mismatch)
+#else
static BOOL
frdp_certificate_verify (freerdp *instance,
char *subject,
char *issuer,
char *fingerprint)
+#endif
{
VinagreTab *tab = VINAGRE_TAB (((frdpContext *) instance->context)->rdp_tab);
GtkBuilder *builder;
@@ -960,17 +971,33 @@ frdp_certificate_verify (freerdp *instance,
gtk_widget_hide (dialog);
+#if (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR >= 2 && FREERDP_VERSION_REVISION >= 1) || (FREERDP_VERSION_MAJOR == 2)
+ return (response == GTK_RESPONSE_YES ? 1 : 0);
+#else
return response == GTK_RESPONSE_YES;
+#endif
}
#if HAVE_FREERDP_1_1
+#if (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR >= 2 && FREERDP_VERSION_REVISION >= 1) || (FREERDP_VERSION_MAJOR == 2)
+static DWORD
+frdp_changed_certificate_verify (freerdp *instance,
+ const char* common_name,
+ const char* subject,
+ const char* issuer,
+ const char* new_fingerprint,
+ const char* old_subject,
+ const char* old_issuer,
+ const char* old_fingerprint)
+#else
static BOOL
frdp_changed_certificate_verify (freerdp *instance,
char *subject,
char *issuer,
char *new_fingerprint,
char *old_fingerprint)
+#endif
{
VinagreTab *tab = VINAGRE_TAB (((frdpContext *) instance->context)->rdp_tab);
GtkBuilder *builder;
@@ -1015,7 +1042,11 @@ frdp_changed_certificate_verify (freerdp *instance,
gtk_widget_hide (dialog);
+#if (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR >= 2 && FREERDP_VERSION_REVISION >= 1) || (FREERDP_VERSION_MAJOR == 2)
+ return (response == GTK_RESPONSE_YES ? 1 : 0);
+#else
return response == GTK_RESPONSE_YES;
+#endif
}
#endif