RabbitRemoteControl
RabbitRemoteControl copied to clipboard
Issues with FreeRDP integration
The FreeRDP plugin forces antiquated drawing paths:
OnChannelConnectedEventHandlerdoes not handleGFXchannel setup- With FreeRDP 3 we´ve added some common channel setup code, call
freerdp_client_OnChannelConnectedEventHandlerif not handled in your own function (same forDisconnecthandler) cb_authenticate_exdoes not handlereasonwhich is getting more important with each version ;)m_szRedirectionSoundParameterswhy do you force a specific backend? just let it be autodetected?- you lack all setup of authentication related options, check the
client/common/cmdline.cfor details. (this is most likely the source of https://github.com/FreeRDP/FreeRDP/issues/9937 ) overall, either you check which settings are modified with which command line withfreerdp_client_settings_parse_command_line_arguments_exor you use it directly from your application - smartcard authentication and related stuff is not handled in UI
- your
RabbitRemoteControl.shis unnecessary, checkRPATHsettings ( https://cmake.org/cmake/help/latest/prop_tgt/INSTALL_RPATH.html ) - your library and exe installations do not properly set filenames /
SOVERSION(got/tmp/release/bin/RabbitRemoteControlApp-v0.0.26-52-g8ae67434as well as/tmp/release/bin/RabbitRemoteControlApp,/tmp/release/lib/libRabbitCommon.so.v2.0.3-1-g891d8b7and/tmp/release/lib/libRabbitCommon.sobut there should be/tmp/release/lib/libRabbitCommon.so -> /tmp/release/lib/libRabbitCommon.so.2 -> /tmp/release/lib/libRabbitCommon.so.2.0 -> /tmp/release/lib/libRabbitCommon.so.2.0.3where/tmp/release/lib/libRabbitCommon.sois only insalled with development stuff - your certificate related stuff, better use
VerifyX509Certificatecallback for your things and store the manually accepted certificates in your own certificate store instead of reusing the one ofFreeRDP(you can use the qt certificate classes to check if a certificate is self signed or actually signed by an accepted authority and then only manually accept unsigned ones) - better call
freerdp_connectfrom the same thread allRDPrelated stuff is running in and not incbClientStart - you can call
WaitForMultipleObjectswith a timeout of0to not block in your processing routine rdpSettingsare going to be opaque in future versions, you can build a version with that already with-DWITH_OPAQUE_SETTINGS=ONwith FreeRDP 3.x versions
m_szRedirectionSoundParameters why do you force a specific backend? just let it be autodetected?
Yes. I guess this is handled by the backend freerdp_client. The front-end only deals with UI dependencies. Reinvention of development can be avoided.
@akallabeth Thank you review. Fix in v0.0.27.