-
Notifications
You must be signed in to change notification settings - Fork 644
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GUACAMOLE-1026: Add support for FreeRDP3. #517
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A couple of initial comments - overall looks pretty clean!
6d1b313
to
daceeaf
Compare
I need to pull the code down and actually run it through some testing before I'm good with it, I'll try to get that done this weekend. Currently this is targeted at the |
It doesn't drop compatibility with FreeRDP 2.x so I'm fine putting it in |
No objection from me for inclusion in 1.6.0 either as long as we maintain compatibility with FreeRDP 2.x. |
I've added this temporary build to help verify these changes against various 2.x and 3.x versions of FreeRDP: https://ci-builds.apache.org/job/Guacamole/job/guacamole-server-wip-freerdp3/ The above is identical to our existing build except that it builds against this |
Looks like the FreeRDP 3 test build failed: https://ci-builds.apache.org/job/Guacamole/job/guacamole-server-wip-freerdp3/FREERDP_BRANCH=3.5.1,JENKINS_LABEL_EXPRESSION=ubuntu/lastBuild/console |
Huh that shouldn't happen. I just pushed changes a little bit ago to resolve that |
Ah ok - looks like a new build did kick off a bit ago - maybe that'll fix it. |
Looks like it failed again... https://ci-builds.apache.org/job/Guacamole/job/guacamole-server-wip-freerdp3/2/FREERDP_BRANCH=3.5.1,JENKINS_LABEL_EXPRESSION=ubuntu/ |
Looks like it doesn't like the attempts to build FreeRDP within the source tree:
|
I tweaked the build script slightly to create a build_root directory, cd to that, and then cmake from the parent directory. We'll see what happens. |
I updated the script, but that doesn't seem to have triggered an automatic rebuild, and I don't seem to have permissions to force a rebuild. @mike-jumper you might have to kick it off, again. |
3603167
to
5136870
Compare
And it's now passing! https://ci-builds.apache.org/job/Guacamole/job/guacamole-server-wip-freerdp3/13/
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking really good - I just have a question and a minor code style tweak, and I think it's ready to .
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Alright, I'm happy with it - tested it out with FreeRDP2 on my EL8 system and it appears to work okay, so I'll go ahead and merge it. Great work, @aleitner, it's really nice to tick this one off the list!!
Refactored to support both FreeRDP 2 and 3.
_aligned_free
and_aligned_malloc
renamed towinpr_aligned_free
andwinpr_aligned_malloc
ReadColor
andWriteColor
renamed toFreeRDPReadColor
andFreeRDPWriteColor
CLIPRDR
properties moved toCLIPRDR_HEADER common
struct forCLIPRDR
structs.rdpSettings
freerdp_settings_set_pointer
,freerdp_settings_set_bool
,freerdp_settings_set_string
, freerdp_settings_set_uint32,freerdp_settings_get_pointer_writable
,freerdp_settings_get_bool
,freerdp_settings_get_string
,freerdp_settings_get_uint32
freerdp_settings_set_pointer
andfreerdp_settings_get_pointer_writable
were only added for3.X
where as the rest were available within2.X
.3.X
now use updated enum types for keys prefixed withFreeRDP_
.rdpSettings* settings
,rdpInput* input
) to acontext
structure in thefreerdp* instance
.freerdp_shall_disconnect
renamed tofreerdp_shall_disconnect_context
.IDRDYNVC_ENTRY_POINTS.GetPluginData()
return now requiresconst
.glyph.New
andpointer.Set
no longer require arguments to beconst
.