[ 
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)

Reply via email to