[ 
https://issues.apache.org/jira/browse/GUACAMOLE-40?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15992347#comment-15992347
 ] 

Michael Jumper commented on GUACAMOLE-40:
-----------------------------------------

The commit which fixes RAIL is:

{code:none}
b2f7c488ab9f3c9d8cf6980f779e402cdb92d512 is the first rail-working commit
commit b2f7c488ab9f3c9d8cf6980f779e402cdb92d512
Author: Marc-AndrĂ© Moreau <[email protected]>
Date:   Tue Nov 11 16:35:30 2014 -0500

    xfreerdp: cleanup and fix RemoteApp

:040000 040000 ec2436abe4e9b9651252df6517d50723ef6088f9 
579df83c60a1714cdcb5d89c5871862716f506ba M      channels
:040000 040000 21eb2f27c1d3344a9aee79b0fb2c7c8b55753eca 
97442e3e8e0c0be9be8d30565656c97cd0912ca1 M      client
{code}

That change is past the point in history where the API breaks, but the fix 
itself is not dependent on those breaking changes. It can be applied to the 
commit 0746d8c if the changes are limited to:

{code:none}
diff --git a/channels/rail/client/rail_main.c b/channels/rail/client/rail_main.c
index 17d5857..238bc19 100644
--- a/channels/rail/client/rail_main.c
+++ b/channels/rail/client/rail_main.c
@@ -526,9 +526,10 @@ BOOL VCAPITYPE VirtualChannelEntry(PCHANNEL_ENTRY_POINTS 
pEntryPoints)
        if ((pEntryPointsEx->cbSize >= sizeof(CHANNEL_ENTRY_POINTS_FREERDP)) &&
                        (pEntryPointsEx->MagicNumber == 
FREERDP_CHANNEL_MAGIC_NUMBER))
        {
-               context = (RailClientContext*) 
malloc(sizeof(RailClientContext));
+               context = (RailClientContext*) calloc(1, 
sizeof(RailClientContext));
 
                context->handle = (void*) rail;
+               context->custom = NULL;
 
                context->ClientExecute = rail_client_execute;
                context->ClientActivate = rail_client_activate;
{code}

Thus ... a seemingly-good FreeRDP having working gateway while also having an 
API compatible with current Guacamole is the product of:

# Upstream at commit 
[0746d8c14cc8cca7b66bdea31fa6a00cbd509095|https://github.com/FreeRDP/FreeRDP/tree/0746d8c14cc8cca7b66bdea31fa6a00cbd509095]
# The above patch
# Plus cherry-picking commit 
[1b663ceffe51008af7ae9749e5b7999b2f7d6698|https://github.com/FreeRDP/FreeRDP/commit/1b663ceffe51008af7ae9749e5b7999b2f7d6698]
 if cmake is unhappy.

The real solution is supporting the latest FreeRDP "2.0.0" tags 
(GUACAMOLE-249), of course, but that will take some time.

> Support TS gateway connections to RDP
> -------------------------------------
>
>                 Key: GUACAMOLE-40
>                 URL: https://issues.apache.org/jira/browse/GUACAMOLE-40
>             Project: Guacamole
>          Issue Type: Improvement
>          Components: RDP
>            Reporter: Michael Jumper
>            Assignee: Michael Jumper
>             Fix For: 0.9.13-incubating
>
>
> {panel:bgColor=#FFFFEE}
> *The description of this issue was copied from 
> [GUAC-913|https://glyptodon.org/jira/browse/GUAC-913], an issue in the JIRA 
> instance used by the Guacamole project prior to its acceptance into the 
> Apache Incubator.*
> Comments, attachments, related issues, and history from prior to acceptance 
> *have not been copied* and can be found instead at the original issue.
> {panel}
> Newer RDP servers are usually located behind a gateway server on port 443: 
> http://technet.microsoft.com/en-us/library/cc731264(WS.10).aspx
> FreeRDP gained support for connection behind a gateway. Guacamole should be 
> able to do this as well now if the appropriate parameters are made 
> configurable:
> https://github.com/FreeRDP/FreeRDP/issues/386



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to