xrdp icon indicating copy to clipboard operation
xrdp copied to clipboard

Chrome RDP fails to connect

Open geiseri opened this issue 8 years ago • 4 comments

I am trying to connect to xrdp from my chromebook and it is failing on the connection. It looks like something is happening near this part:

Sat Dec 17 16:37:51 2016 - RdpManager::ReceiveDemandActivePdu()
Sat Dec 17 16:37:51 2016 - DemandActivePdu::Parse Unknown Capabiliy Set;
Sat Dec 17 16:37:51 2016 - Did not receive DemandActivePdu
Sat Dec 17 16:37:51 2016 - ChromerdpInstance::RdpManager_Status() status -1
Sat Dec 17 16:37:51 2016 - ChromerdpInstance::RdpManager_Status Failed
Sat Dec 17 16:37:51 2016 - ChromerdpInstance::UserModal(UserInputModal* modal, bool sendMsgPopUpClose)
Sat Dec 17 16:37:51 2016 - ChromerdpInstance::CloseConnection()
Sat Dec 17 16:37:51 2016 - RdpManager::CloseConnection()
Sat Dec 17 16:37:51 2016 - Closing socket connection...

I have attached the full log:

rdp_log.txt

I can confirm that mstsc and freerdp work properly.

geiseri avatar Dec 17 '16 20:12 geiseri

ChromeRDP is another client that doesn't support drawing orders (like MS RDP client for Android). That means xrdp should be built using ./configure --enable-painter.

Additionally, I found the following problems which causes ChromeRDP client drop the connection:

  1. xrdp doesn't advertise TS_VIRTUALCHANNEL_CAPABILITYSET which considered a mandatory cap set.
  2. we advertise some non-Microsoft cap set, ChromeRDP drops the connection when getting unknown caps.
  3. we send an incorrect TS_FP_UPDATE_SYNCHRONIZE pdu, I can push a fix.

Regarding 1+2: In my opinion its more of an ChromeRDP issue, since the server is not assumed to support those caps by protocol. Also, any other clients is fine with that - client should assume its unsupported / use default values.

Iv'e pushed a branch which contains the necessary changes for ChromeRDP to connect; Feel free to test it. (https://github.com/speidy/xrdp/commits/chromerdp)

speidy avatar Dec 20 '16 17:12 speidy

I think 2 is defensible and I can submit a bug report to them. Since 1is considered a mandatory cap set I think that they will not fix that one.

geiseri avatar Dec 20 '16 22:12 geiseri

Number 3 is fixed now. pushed the fix to devel a96c91b38e68e189e6861dfdf3df5852881ad470

speidy avatar Dec 27 '16 07:12 speidy

Is this still an issue?

matt335672 avatar May 10 '22 11:05 matt335672