[
https://issues.apache.org/jira/browse/GUACAMOLE-422?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16218744#comment-16218744
]
Nick Couchman commented on GUACAMOLE-422:
-----------------------------------------
Well, FreeRDP is being very challenging in this regard. It does not look like
there's any method built-in to the API to feed the timezone to FreeRDP and have
it use the already-provided translation tables for that timezone. It looks
like the FreeRDP folks have assumed that the only place you'd *ever* want to
get the timezone info from for a connection through FreeRDP is in one of the
platform-specific ways they have determined. Also, their entire translation
table for UNIX-to-Windows timezones is in the .c file, not the .h file, making
it difficult to even use the translation table as part of an external program.
There is a "winpr_match_unix_timezone_identifier_with_list" function that takes
a UNIX timezone ID in as a string and matches it to a list, but you have to
feed it the list, as well, so, again, the value is limited when the list isn't
part of the header.
So, am I just missing something here, or is supporting this in RDP going to be
incredibly ugly?
> RDP Timezone Redirection
> ------------------------
>
> Key: GUACAMOLE-422
> URL: https://issues.apache.org/jira/browse/GUACAMOLE-422
> Project: Guacamole
> Issue Type: Improvement
> Components: guacamole-client, guacamole-server
> Affects Versions: 0.9.13-incubating
> Reporter: 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
(v6.4.14#64029)