[
https://issues.apache.org/jira/browse/GUACAMOLE-44?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15312947#comment-15312947
]
ASF GitHub Bot commented on GUACAMOLE-44:
-----------------------------------------
GitHub user mike-jumper opened a pull request:
https://github.com/apache/incubator-guacamole-client/pull/13
GUACAMOLE-44: Implement tunnel REST endpoint
This change implements a new REST endpoint which allows the streams within
a Guacamole connection to be intercepted and handled as normal HTTP transfers.
This is necessary to avoid requiring assembly of the downloaded file within
browser memory, the underlying cause of
[GUACAMOLE-44](https://issues.apache.org/jira/browse/GUACAMOLE-44).
For the REST endpoint to work, tunnels need to have their own unique
identifiers. Thankfully, each instance of `GuacamoleTunnel` already has its own
UUID. This change thus also:
1. Adds a new `uuid` property to implementations of `Guacamole.Tunnel`.
2. Reserves the empty opcode for transport of arbitrary tunnel-specific
data (as there is no way to communicate the UUID over WebSocket otherwise).
The empty opcode was already used in this manner by the HTTP tunnel, but
this use was not documented, nor was it leveraged by the WebSocket tunnel.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/mike-jumper/incubator-guacamole-client
tunnel-service
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/incubator-guacamole-client/pull/13.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #13
----
commit dc89516bb5e5440d598771950a3b982f814e04a6
Author: Michael Jumper <[email protected]>
Date: 2016-04-13T23:35:28Z
GUACAMOLE-44: Implement GuacamoleTunnel which dynamically intercepts stream
contents.
commit 735290ba30ab38245dabc97193137f04955dd42a
Author: Michael Jumper <[email protected]>
Date: 2016-04-13T23:37:38Z
GUACAMOLE-44: Use StreamInterceptingTunnel for absolutely all tunnels.
commit 12d35d4febb532ed4846583361ab929782cd0019
Author: Michael Jumper <[email protected]>
Date: 2016-04-13T23:58:56Z
GUACAMOLE-44: Implement REST endpoint for listing tunnels and retrieving
related data.
commit d39850966029ae19c89cfdb37848b3de3e3abf98
Author: Michael Jumper <[email protected]>
Date: 2016-04-14T01:09:34Z
GUACAMOLE-44: Expose tunnel UUID to JavaScript. Document allowed internal
use of the empty opcode.
commit 0ba8da2dd265898240699b3fe5a181b4ad45566a
Author: Michael Jumper <[email protected]>
Date: 2016-04-15T00:47:34Z
GUACAMOLE-44: Do not wait forever for streams to be notified.
----
> Upload/download of files that are more than 1 GB fail
> -----------------------------------------------------
>
> Key: GUACAMOLE-44
> URL: https://issues.apache.org/jira/browse/GUACAMOLE-44
> Project: Guacamole
> Issue Type: Bug
> Components: guacamole
> Reporter: Michael Jumper
> Assignee: Michael Jumper
> Fix For: 0.9.10-incubating
>
>
> {panel:bgColor=#FFFFEE}
> *The description of this issue was copied from
> [GUAC-784|https://glyptodon.org/jira/browse/GUAC-784], 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}
> From Chrome, after attempting upload of a file greater than 1 GB in size:
> {code:none}
> Uncaught TypeError: Cannot read property 'length' of null client-ui.js:1525
> _upload_file.reader.onloadend
> {code}
> Uploading this file via Firefox simply crashes the browser. The same issue
> will occur for file downloads, as Guacamole always creates the entire file in
> memory before starting the transfer.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)