guacamole-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nick Couchman <>
Subject Re: [jira] [Updated] (GUACAMOLE-512) Shared Drive redirection doesn't work with Ubuntu [ xrdp ]
Date Mon, 26 Feb 2018 14:57:04 GMT
>> It's interesting that XRDP is still clearly attempting to read things as
>> UTF-16 here, but if that's failing for unmodified Guacamole, too, then it
>> must be reading a field which we are not encoding as UTF-16 already (since
>> the name of Guacamole's filesystem is definitely pre-encoded as UTF-16 at
>> the moment). Perhaps we're wrong in the handling of whichever value is
>> being used by XRDP, too?
> I'm going to try to stand up a XRDP test server tomorrow and see if I can
> test a few things and get some findings consistent with Amarjeet's
> results.  This point actually puzzles me a little bit, particularly since
> XRDP apparently works fine with xfreerdp, which does not UTF-16 encode its
> filesystem name parameter.  Maybe with a few more test cases we can find
> the illusive pattern.
> Or we'll just further confuse ourselves ;-).
> -Nick

It looks to me like xrdp just reads the "PreferredDosName" setting and
doesn't even bother to try to enumerate the DeviceData:

In my testing, with my changes for GUACAMOLE-446, it doesn't matter what I
set the name of the drive to in Guacamole, it always shows up as "GUAC" in
the XRDP redirected filesystem directory.  I can't find the exact place in
the guacd code where the PreferredDOSName field gets set, but it looks like
maybe it just uses the GUAC_OS_TYPE define from rdpdr_messages.h:

??  The PreferredDOSName field is supposed to be ASCII, 8 characters, at
most, and *not* null-terminated...

So, whatever changes get made in -446 should *not* adversely impact XRDP,
as far as I can tell.  Also, I tested xfreerdp with xrdp, and, when you
specify a filesytem name longer than 8 characters, it just truncates it at
8 ("temporary_files" turned into "temporar").  My guess is that xfreerdp is
just taking the command line argument for the filesystem name and
truncating it to 8 characters for the preferred DOS name.


View raw message