[
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)