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
drive redirection issues with guacamole #1505
Comments
|
I'm not familiar with guacamole, but it seems likely that the 0.9.12 changes (which I'm more familiar with) are responsible for breaking something. The logging for the redirected filesystems is poor at the moment - messages aren't going to the sesman log file, but to sesman stdout. I'm hoping to submit a PR to fix this in the future. Using the 0.9.12 version from source, can you run sesman in a terminal window with the following or similar:- After the connection completes, we should hopefully have something useful in the log file. |
|
here is the requested debug output for 0.9.12 (and also for 0.9.11 to have a direct comparison) just let me know if i can do/provide any further info thanks. |
|
Thanks for the swift turnaround - just caught this as I came in this evening (here). Thanks also for your excellent initial fault report! Since you've getting a SEGV, the first thing to do is rule out #1487 which is either a direct cause, or masking another issue. Can you apply the patch for #1487 directly to the v0.9.12 source tree and recompile xrdp-chansrv? Then try again and see what happens. A direct link to the patch is here:- https://github.com/neutrinolabs/xrdp/commit/72bece526bb5863d99a52546374c0c3b1561a61a.patch |
|
unfortunately i get the same behavior, also the sesman debug output is exactly the same. |
|
Oh well, thanks for trying. |
|
you can 'easily' reproduce with the vagrant file from here: https://github.com/maennlse/vagrant-guac-ad (vagrant with winrm support required and the libvirt is used) the above also describes the platform i'm running xrdp on... to be honest, i'm not much of a developer/debugger... what i tried was: but this output is exactly the same on version 0.9.12 and 0.9.11, so this is not really much of a help. |
|
Hmm - vagrant is sadly also something I'm not familiar with! As you say, guacamole is containerized, so I'm (currently) fairly confident I can get that working fairly swiftly. If I fail to get anywhere, I'll try the vagrant route. In the XRDP architecture, xrdp-chansrv is a separate executable from xrdp-sesman. xrdp-sesman manages user session at a high level. xrdp-chansrv runs in the context of the logged in user and provides access to sound channels, the clipboard, redirected drives, etc. That's the thing that's crashing. Thanks for the info above, and the offer of more tracing info. I've had a quick play around with centos 8, and I'm having trouble getting it to generate a coredump of xrdp-chansrv from the EPEL RPM (which would be really useful). I suspect the xrdp-chansrv SEGV handler is getting in the way here. If I manage to think of a way to get more info from your setup, I'll ask. |
|
Well, I think I've found the root cause. The redirection code in XRDP is sent a 'device id' from the other side to map the drive to. It seems guacamole is using a device id of zero which is not something that other clients do. This value is currently used for local files in the XRDP filesystem. I've checked the specs, and I can see no reason why Guacamole should not use zero. I'll make some changes to allow zero to be specified for the remote filesystem. |
|
@maennlse - I've created a branch in https://github.com/matt335672/xrdp called guacamole_1505 which I believe will fix this issue. The branch is based off of v0.9.12 rather than the latest devel commits. If you'd rather work directly with v0.9.12 sources and patch them (I certainly would), the patch for the commit is here:- https://github.com/matt335672/xrdp/commit/2688b983dcbb88c04b784dddc57b6360584200da.patch I haven't put this through a full regression test yet, but I hope it will give you something to go on. Please give it a go and get back to me at your convenience, or let me know if you have any questions. |
|
applied your patch to the 0.9.12 source and recompiled. thanks for your work! will the fix be part of the next xrdp release? (provided the test are good) |
|
Well I certainly hope so, but I'm merely a contributor to this project (rather than a member). Since 0.9.9, there have been regular four-monthly releases of XRDP (see https://github.com/neutrinolabs/xrdp/wiki/NEWS/a932bb83b1eade6a7d6605066c15d03f07ec64d4, so this will certainly be ready for April. However there's been talk of an expedited release to fix another problem also caused by the drive redirection problems, so I can't really say. I'll make sure I get a PR in ASAP, certainly within the next couple of days. Thanks for the quick turnaround on my requests. |
|
@matt335672 @maennlse Thank you both! xrdp releases are four monthly. However, the latest v0.9.12 has some drive redirection related bug. Some of the bugs are regression. So we need to make an intermediate release. Sorry for the inconvenience. #1487 and this #1507 are the fixes for drive redirection. I'll make a new release shortly. |
|
I've released v0.9.13. |
maennlse commentedFeb 25, 2020
•
edited
Hi,
i have issues with version 0.9.12 and drive redirection using guacamole (1.1.0) - the mounted "thinclient_drives" is empty (except a folder called GUACFS).
my os is centos 8 (https://github.com/maennlse/vagrant-guac-ad)
it does not matter if i use the provided xrdp package from centos,
or if i compile the latest version from source.
compiling versions 0.9.5 to 0.9.11 from source is working, the mounted "thinclient_drives" shows files as expected.
never the less, using a different rdp client (tested with remmina 1.3.10 on fedora 31) is also perfectly working.
so, to me it looks like some incompatibility between xrdp 0.9.12 and guacamole (1.1.0) ?
also i'm not sure if its really related to xrdp or guacamole, i'm writing here because for me the functionality 'broke' with updating xrdp to 0.9.12 (and not changing something on guacamole setup)
if there is any further information i can/should provide, please let me know. i'm happy to help.
edit: same behavior on ubuntu18.04, drive redirection with 0.9.12 (compiled from source) does not work, compiling 0.9.11 is working with guacamole (using remmina, both versions are working as expected)
thanks
Sebastian
The text was updated successfully, but these errors were encountered: