[guacamole-server] Update to build against new FreeRDP snapshot

David Woodhouse dwmw2 at fedoraproject.org
Tue Mar 17 14:35:50 UTC 2015


commit 99565b1d78101f7bc427a920839c67e3ade9fed5
Author: David Woodhouse <David.Woodhouse at intel.com>
Date:   Tue Mar 17 14:10:30 2015 +0000

    Update to build against new FreeRDP snapshot

 guacamole-server-0.9.5-clipboard-id-update.patch | 104 +++++++++++++++++++++++
 guacamole-server-0.9.5-glyph-order.patch         |  24 ++++++
 guacamole-server.spec                            |   9 +-
 3 files changed, 136 insertions(+), 1 deletion(-)
---
diff --git a/guacamole-server-0.9.5-clipboard-id-update.patch b/guacamole-server-0.9.5-clipboard-id-update.patch
new file mode 100644
index 0000000..4191479
--- /dev/null
+++ b/guacamole-server-0.9.5-clipboard-id-update.patch
@@ -0,0 +1,104 @@
+--- guacamole-server-0.9.5/src/protocols/rdp/rdp_cliprdr.c.orig	2015-03-17 12:39:58.316549546 +0000
++++ guacamole-server-0.9.5/src/protocols/rdp/rdp_cliprdr.c	2015-03-17 12:40:57.059229957 +0000
+@@ -104,8 +104,8 @@ void guac_rdp_process_cb_monitor_ready(g
+ 
+     /* Respond with supported format list */
+     format_list->formats = (UINT32*) malloc(sizeof(UINT32)*2);
+-    format_list->formats[0] = CB_FORMAT_TEXT;
+-    format_list->formats[1] = CB_FORMAT_UNICODETEXT;
++    format_list->formats[0] = CF_TEXT;
++    format_list->formats[1] = CF_UNICODETEXT;
+     format_list->num_formats = 2;
+ 
+     freerdp_channels_send_event(channels, (wMessage*) format_list);
+@@ -147,22 +147,22 @@ void guac_rdp_process_cb_format_list(gua
+     for (i=0; i<event->num_formats; i++) {
+ 
+         /* If plain text available, request it */
+-        if (event->formats[i] == CB_FORMAT_TEXT)
++        if (event->formats[i] == CF_TEXT)
+             formats |= GUAC_RDP_CLIPBOARD_FORMAT_CP1252;
+-        else if (event->formats[i] == CB_FORMAT_UNICODETEXT)
++        else if (event->formats[i] == CF_UNICODETEXT)
+             formats |= GUAC_RDP_CLIPBOARD_FORMAT_UTF16;
+ 
+     }
+ 
+     /* Prefer Unicode to plain text */
+     if (formats & GUAC_RDP_CLIPBOARD_FORMAT_UTF16) {
+-        __guac_rdp_cb_request_format(client, CB_FORMAT_UNICODETEXT);
++        __guac_rdp_cb_request_format(client, CF_UNICODETEXT);
+         return;
+     }
+ 
+     /* Use plain text if Unicode unavailable */
+     if (formats & GUAC_RDP_CLIPBOARD_FORMAT_CP1252) {
+-        __guac_rdp_cb_request_format(client, CB_FORMAT_TEXT);
++        __guac_rdp_cb_request_format(client, CF_TEXT);
+         return;
+     }
+ 
+@@ -186,11 +186,11 @@ void guac_rdp_process_cb_data_request(gu
+     /* Determine output encoding */
+     switch (event->format) {
+ 
+-        case CB_FORMAT_TEXT:
++        case CF_TEXT:
+             writer = GUAC_WRITE_CP1252;
+             break;
+ 
+-        case CB_FORMAT_UNICODETEXT:
++        case CF_UNICODETEXT:
+             writer = GUAC_WRITE_UTF16;
+             break;
+ 
+@@ -232,12 +232,12 @@ void guac_rdp_process_cb_data_response(g
+     switch (client_data->requested_clipboard_format) {
+ 
+         /* Non-Unicode */
+-        case CB_FORMAT_TEXT:
++        case CF_TEXT:
+             reader = GUAC_READ_CP1252;
+             break;
+ 
+         /* Unicode (UTF-16) */
+-        case CB_FORMAT_UNICODETEXT:
++        case CF_UNICODETEXT:
+             reader = GUAC_READ_UTF16;
+             break;
+ 
+--- guacamole-server-0.9.5/src/protocols/rdp/client.c.orig	2015-03-17 12:40:07.079651048 +0000
++++ guacamole-server-0.9.5/src/protocols/rdp/client.c	2015-03-17 12:40:57.064230015 +0000
+@@ -722,7 +722,7 @@ int guac_client_init(guac_client* client
+     guac_client_data->rdp_inst = rdp_inst;
+     guac_client_data->mouse_button_mask = 0;
+     guac_client_data->clipboard = guac_common_clipboard_alloc(GUAC_RDP_CLIPBOARD_MAX_LENGTH);
+-    guac_client_data->requested_clipboard_format = CB_FORMAT_TEXT;
++    guac_client_data->requested_clipboard_format = CF_TEXT;
+     guac_client_data->audio = NULL;
+     guac_client_data->filesystem = NULL;
+     guac_client_data->available_svc = guac_common_list_alloc();
+--- guacamole-server-0.9.5/src/protocols/rdp/rdp_stream.c.orig	2015-03-17 12:40:13.952730659 +0000
++++ guacamole-server-0.9.5/src/protocols/rdp/rdp_stream.c	2015-03-17 12:40:57.066230038 +0000
+@@ -289,8 +289,8 @@ int guac_rdp_clipboard_end_handler(guac_
+ 
+     /* Notify server that text data is now available */
+     format_list->formats = (UINT32*) malloc(sizeof(UINT32));
+-    format_list->formats[0] = CB_FORMAT_TEXT;
+-    format_list->formats[1] = CB_FORMAT_UNICODETEXT;
++    format_list->formats[0] = CF_TEXT;
++    format_list->formats[1] = CF_UNICODETEXT;
+     format_list->num_formats = 2;
+ 
+     freerdp_channels_send_event(channels, (wMessage*) format_list);
+--- guacamole-server-0.9.5/src/protocols/rdp/client.h.orig	2015-03-17 12:40:22.535830076 +0000
++++ guacamole-server-0.9.5/src/protocols/rdp/client.h	2015-03-17 12:40:57.067230050 +0000
+@@ -143,7 +143,7 @@ typedef struct rdp_guac_client_data {
+      * The format of the clipboard which was requested. Data received from
+      * the RDP server should conform to this format. This will be one of
+      * several legal clipboard format values defined within FreeRDP, such as
+-     * CB_FORMAT_TEXT.
++     * CF_TEXT.
+      */
+     int requested_clipboard_format;
+ 
diff --git a/guacamole-server-0.9.5-glyph-order.patch b/guacamole-server-0.9.5-glyph-order.patch
new file mode 100644
index 0000000..70bba86
--- /dev/null
+++ b/guacamole-server-0.9.5-glyph-order.patch
@@ -0,0 +1,24 @@
+--- guacamole-server-0.9.5/src/protocols/rdp/rdp_glyph.c~	2015-02-04 05:58:22.000000000 +0000
++++ guacamole-server-0.9.5/src/protocols/rdp/rdp_glyph.c	2015-03-17 14:04:45.549617112 +0000
+@@ -126,7 +126,8 @@ void guac_rdp_glyph_free(rdpContext* con
+ }
+ 
+ void guac_rdp_glyph_begindraw(rdpContext* context,
+-        int x, int y, int width, int height, UINT32 fgcolor, UINT32 bgcolor) {
++        int x, int y, int width, int height, UINT32 fgcolor, UINT32 bgcolor,
++        BOOL fOpRedundant) {
+ 
+     guac_client* client = ((rdp_freerdp_context*) context)->client;
+     rdp_guac_client_data* guac_client_data =
+--- guacamole-server-0.9.5/src/protocols/rdp/rdp_glyph.h~	2015-02-04 05:58:22.000000000 +0000
++++ guacamole-server-0.9.5/src/protocols/rdp/rdp_glyph.h	2015-03-17 14:05:27.929142981 +0000
+@@ -53,7 +53,8 @@ void guac_rdp_glyph_new(rdpContext* cont
+ void guac_rdp_glyph_draw(rdpContext* context, rdpGlyph* glyph, int x, int y);
+ void guac_rdp_glyph_free(rdpContext* context, rdpGlyph* glyph);
+ void guac_rdp_glyph_begindraw(rdpContext* context,
+-        int x, int y, int width, int height, UINT32 fgcolor, UINT32 bgcolor);
++        int x, int y, int width, int height, UINT32 fgcolor, UINT32 bgcolor,
++        BOOL fOpRedundant);
+ void guac_rdp_glyph_enddraw(rdpContext* context,
+         int x, int y, int width, int height, UINT32 fgcolor, UINT32 bgcolor);
+ 
diff --git a/guacamole-server.spec b/guacamole-server.spec
index 996a3c2..d3fa658 100644
--- a/guacamole-server.spec
+++ b/guacamole-server.spec
@@ -3,12 +3,14 @@
 
 Name:           guacamole-server
 Version:        0.9.5
-Release:        2%{?dist}
+Release:        3%{?dist}
 Summary:        Server-side native components that form the Guacamole proxy
 
 License:        MPLv1.1 or GPLv2+
 URL:            http://guac-dev.org/
 Source0:        http://downloads.sourceforge.net/guacamole/%{name}-%{version}.tar.gz
+Patch1:         guacamole-server-0.9.5-clipboard-id-update.patch
+Patch2:         guacamole-server-0.9.5-glyph-order.patch
 Source1:        %{name}.sysconfig
 Source2:        %{name}.service
 Source3:        %{name}.init
@@ -121,6 +123,8 @@ framework to translate between arbitrary protocols and the Guacamole protocol.
 
 %prep
 %setup -q
+%patch1 -p1
+%patch2 -p1
 
 %build
 autoreconf -vif
@@ -257,6 +261,9 @@ fi
 %attr(750,%{username},%{username}) %{_sharedstatedir}/guacd
 
 %changelog
+* Tue Mar 17 2015 David Woodhouse <dwmw2 at infradead.org> - 0.9.5-3
+- API updates for new FreeRDP snapshot.
+
 * Wed Feb 25 2015 Simone Caronni <negativo17 at gmail.com> - 0.9.5-2
 - Add license macro.
 


More information about the scm-commits mailing list