summaryrefslogtreecommitdiff
path: root/net/vinagre/files/patch-plugins_rdp_vinagre-rdp-tab.c
blob: d218be2d949352c0bddacdf34f194c97c974ebc5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
--- plugins/rdp/vinagre-rdp-tab.c.orig	2015-10-06 15:40:06 UTC
+++ plugins/rdp/vinagre-rdp-tab.c
@@ -476,16 +476,18 @@ frdp_drawing_area_draw (GtkWidget *area,
   return TRUE;
 }
 
-static void
+static BOOL
 frdp_begin_paint (rdpContext *context)
 {
   rdpGdi *gdi = context->gdi;
 
   gdi->primary->hdc->hwnd->invalid->null = 1;
   gdi->primary->hdc->hwnd->ninvalid = 0;
+
+  return TRUE;
 }
 
-static void
+static BOOL
 frdp_end_paint (rdpContext *context)
 {
   VinagreRdpTab        *rdp_tab = ((frdpContext *) context)->rdp_tab;
@@ -495,7 +497,7 @@ frdp_end_paint (rdpContext *context)
   gint                  x, y, w, h;
 
   if (gdi->primary->hdc->hwnd->invalid->null)
-    return;
+    return FALSE;
 
   x = gdi->primary->hdc->hwnd->invalid->x;
   y = gdi->primary->hdc->hwnd->invalid->y;
@@ -517,6 +519,8 @@ frdp_end_paint (rdpContext *context)
     {
       gtk_widget_queue_draw_area (priv->display, x, y, w, h);
     }
+
+  return TRUE;
 }
 
 static BOOL
@@ -591,11 +595,15 @@ frdp_post_connect (freerdp *instance)
 #if defined(FREERDP_VERSION_MAJOR) && defined(FREERDP_VERSION_MINOR) && \
     !(FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 && \
     FREERDP_VERSION_MINOR >= 2))
-                    CLRBUF_24BPP,
+                    CLRBUF_24BPP, NULL
 #else
-                    CLRBUF_32BPP,
+#ifdef CLRBUF_32BPP
+                    CLRBUF_32BPP, NULL
+#else
+                    PIXEL_FORMAT_BGRA32
+#endif
 #endif
-                    NULL);
+                    );
   gdi = instance->context->gdi;
 
   instance->update->BeginPaint = frdp_begin_paint;
@@ -862,7 +870,7 @@ frdp_mouse_moved (GtkWidget      *widget
   return TRUE;
 }
 
-static gboolean
+static BOOL
 frdp_authenticate (freerdp  *instance,
                    char    **username,
                    char    **password,
@@ -934,11 +942,13 @@ frdp_authenticate (freerdp  *instance,
   return TRUE;
 }
 
-static BOOL
-frdp_certificate_verify (freerdp *instance,
-                         char    *subject,
-                         char    *issuer,
-                         char    *fingerprint)
+static DWORD
+frdp_certificate_verify (freerdp    *instance,
+                         const char *common_name,
+                         const char *subject,
+                         const char *issuer,
+                         const char *fingerprint,
+                         BOOL        host_mismatch)
 {
   VinagreTab *tab = VINAGRE_TAB (((frdpContext *) instance->context)->rdp_tab);
   GtkBuilder *builder;
@@ -973,12 +983,15 @@ frdp_certificate_verify (freerdp *instan
 
 
 #if HAVE_FREERDP_1_1
-static BOOL
-frdp_changed_certificate_verify (freerdp *instance,
-                                 char    *subject,
-                                 char    *issuer,
-                                 char    *new_fingerprint,
-                                 char    *old_fingerprint)
+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)
 {
   VinagreTab *tab = VINAGRE_TAB (((frdpContext *) instance->context)->rdp_tab);
   GtkBuilder *builder;
@@ -1108,7 +1107,7 @@ open_freerdp (VinagreRdpTab *rdp_tab)
   settings->encryption_level = ENCRYPTION_LEVEL_CLIENT_COMPATIBLE;
 #endif
 #include <freerdp/version.h>
-#if (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR >= 2 && FREERDP_VERSION_REVISION >= 1)
+#if (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR >= 2 && FREERDP_VERSION_REVISION >= 1) || (FREERDP_VERSION_MAJOR == 2)
   settings->UseRdpSecurityLayer = FALSE;
 #else
   settings->DisableEncryption = FALSE;