[ 
https://issues.apache.org/jira/browse/GUACAMOLE-249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17004353#comment-17004353
 ] 

Mike Jumper commented on GUACAMOLE-249:
---------------------------------------

OK, so far everything seems to work perfectly. I am going to do more thorough 
tests tomorrow, particularly verification with valgrind that things aren't 
suddenly leaking, followed by final cleanup of any old code that remains 
undocumented. If it's possible to rearrange things to minimize the size of the 
diff, I'll try to do so, but I think it's just unavoidably massive. There are 
also going to be merge conflicts with master, so I'll try to identify and offer 
solutions for those in addition to the PR against {{staging/1.1.0}}.

The main changes are:

* Support for FreeRDP 1.x is gone. No more backward compatibility with 
{{freerdp_do_thing()}}, {{FreeRDP_DoThing()}}, {{freerdp->Thing.pDoEx(thing)}}, 
etc. It's written for FreeRDP 2.0.0 and, hopefully, things stay generally 
compatible from here on.
* Essentially every single callback has a different prototype and name. This 
was irksome but not too bad.
* The old plugin API for static virtual channels has been removed entirely, 
replaced with a copy of the API defined by Windows CE 5.0. This is good in some 
ways, as it means that API is unlikely to change, but it also requires a ton of 
boilerplate. Rather than port each plugin to that new API, which would have 
duplicated that boilerplate several times, I opted to write a new, generic 
plugin that provides a simple API similar to what we used before. We thus now 
only have the {{guacai}} plugin (audio input) and {{guac-common-svc}} 
(leveraged for RDPSND, RDPDR, and arbitrary SVC). This was the vast majority of 
time spent.
* The CLIPRDR plugin API changed, as did its internal behavior. The Client 
Capabilities PDU used to be sent automatically by the plugin, but usage of the 
plugin must now do this manually or copy/paste will mysteriously only work in 
one direction.
* I've reorganized the source tree a bit to hopefully make things a bit more 
maintainable.
* I've documented (or will document) any things that I've encountered that were 
undocumented.

> Update RDP plugin support to 2.0.0 releases
> -------------------------------------------
>
>                 Key: GUACAMOLE-249
>                 URL: https://issues.apache.org/jira/browse/GUACAMOLE-249
>             Project: Guacamole
>          Issue Type: Improvement
>          Components: RDP
>            Reporter: Simone Caronni
>            Assignee: Mike Jumper
>            Priority: Critical
>             Fix For: 1.1.0
>
>         Attachments: Screenshot_2018-09-01_14-48-56.png
>
>
> The planets have aligned, after 2.5 years FreeRDP has released new snapshots:
> https://github.com/FreeRDP/FreeRDP/releases
> Thanks,
> --Simone



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to