[
https://issues.apache.org/jira/browse/GUACAMOLE-422?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16499204#comment-16499204
]
Nick Couchman commented on GUACAMOLE-422:
-----------------------------------------
{quote}
That would likely be how it ends up being implemented at the webapp level, yes.
...
This isn't to say that we can't / shouldn't offer some parameter which allows
the timezone to be explicitly overridden at the connection level (similar to
how we provide width/height parameters for RDP), but I definitely don't think
we should hard-code magic which relies on connection parameters having
particular names.
{quote}
Sounds good. To do my testing I just added a parameter to the RDP and SSH
connections that allows for setting it, but I think ideally we want to be able
to use a JavaScript library (JSTZ) to detect the timezone and have it sent over
automatically. There are a few caveats - like, on Windows Server it only works
when you've installed the Remote Desktop role, it doesn't work with the default
RDP-based administration. On SSH, you have to enable the TZ parameter in the
sshd_config. So, it isn't something that's ever go to work out-of-the-box, but
also isn't that hard to configure.
> Timezone Redirection
> --------------------
>
> Key: GUACAMOLE-422
> URL: https://issues.apache.org/jira/browse/GUACAMOLE-422
> Project: Guacamole
> Issue Type: Improvement
> Components: guacamole-client, guacamole-server, RDP, SSH
> Reporter: Nick Couchman
> Assignee: Nick Couchman
> Priority: Minor
>
> It would be nice to support full timezone redirection from the browser client
> through to a RDP server. There are a few challenges to making this work:
> - Detect timezone at browser and pass that through to the servlet side,
> somewhere.
> - Handle timezone on servlet side and pass through to guacd
> - Allow guacd to process the timezone and add it to the RDP connection.
> For browser side, there is a JavaScript library, jstz, that can do the
> detection and provide the timezone. Handling it on the servlet side,
> however, requires some way to pass it in during the connection. This could
> be done as a parameter at login time, or a separate api call.
> Once it is into the servlet, there has to be a way to process it as a
> parameter to a connection. I'm thinking maybe a token, but not sure that's
> the right way to go. Once it's on the connection it can pass through to
> guacd.
> The biggest issue, I think, is then getting guacd to be able to add it to a
> FreeRDP connection. From my looking at the current FreeRDP source code
> (stable-1.1 branch), FreeRDP currently detects the timezone on the system
> where it's running, first using the TZ variable, then looking at
> /etc/localtime and/or /etc/TZ on the system. This means that it's always
> going to redirect the timezone of the system where guacd is running, and not
> the timezone of the browser. Unfortunately there don't seem to be any
> available functions for sending FreeRDP a string representation of a timezone
> and having it process it that way, and all of the timezone information is
> located in the FreeRDP .c file, making it difficult to write a method for
> handling this without duplicating a lot of code and all of the timezone
> tables. So, not entirely sure the best route on that angle at this point,
> but we'll see.
> Any input on whether this is a reasonable thing to address, or a corner-case
> not worth handling?
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)