I think I've found the cause:
https://github.com/apache/guacamole-server/blob/6042222d44d3b501defaff3d51be442fae710f06/src/protocols/rdp/user.c#L131-L145
The relevant code looks like this:
#ifdef ENABLE_COMMON_SSH
guac_rdp_settings* settings = rdp_client->settings;
...
#endif
/* Default to using RDPDR uploads (if enabled) */
if (rdp_client->filesystem != NULL && !settings->disable_upload)
return guac_rdp_upload_file_handler(user, stream, mimetype,
filename);
The definition of that variable is within a block that's conditionally
compiled based on whether SSH is available (for the SFTP filesystem).
Lacking SSH support at build time, the variable containing the settings is
not defined within that function. It doesn't *have* to be that way, but was
probably only referenced within that conditional section prior to
introducing support for disabling upload/download.
- Mike
On Thu, Jul 2, 2020 at 9:04 AM Nick Couchman <[email protected]> wrote:
> On Thu, Jul 2, 2020 at 11:59 AM TDi-jones <[email protected]>
> wrote:
>
>> long time Guacamole integrator (since 0.9.4) and haven't had trouble with
>> the
>> server build before
>>
>> extract the tar
>> run configure
>> make
>> ....
>> user.c: In function ‘guac_rdp_user_file_handler’:
>> user.c:144:44: error: ‘settings’ undeclared (first use in this function);
>> did you mean ‘setgid’?
>> if (rdp_client->filesystem != NULL && !settings->disable_upload)
>>
>>
>>
> Are you building from source tarballs or git repo? Is this a clean tree -
> no modifications to it? If you're using the git repo, can you do "git
> status" and make sure nothing is out-of-date? If source tarballs, can you
> download a clean version and try from scratch?
>
> We've verified the builds quite extensively on multiple platforms - at
> least EL7 (I use CentOS7 routinely and build on that on a daily basis).
>
> -Nick
>