[jira] [Commented] (GUACAMOLE-296) RDP audio input cause disconnection on Windows Server 2012 / 2016

2018-09-30 Thread Keith C Perry (JIRA)


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

Keith C Perry commented on GUACAMOLE-296:
-

It must have been in 2016 since in 2012 it works.  There is a setting on the 
Windows server where you turn on remote desktop that allows you to restrict 
clients to NLA authentication or not.  It is in 2008, 2012 and 2016 but the 
issue is only present in 2016.   I did not see that command line setting in 
rdesktop 1.8.3 but if you check that on the Windows server and try rdesktop you 
get...

{{"ERROR: CredSSP: Initialize failed, do you have correct kerberos tgt 
initialized ? }}
{{Failed to connect, CredSSP required by server."}}

So, rdesktop isn't doing NLA either but if I uncheck it, rdesktop will show 
this,

{{"ERROR: CredSSP: Initialize failed, do you have correct kerberos tgt 
initialized ?}}
{{*Connection established using SSL*."}}

the connection then opens and you can enter the credentials you want.

I added the bold for emphasis because this is where you helped me solve the 
issue...  the security mode needs to be "TLS encryption" in Guacamole instead 
of NLA if you want to be able to enter the credentials  :D

It would appear TLS encryption is what is required for 2016 now.

 

> RDP audio input cause disconnection on Windows Server 2012 / 2016
> -
>
> Key: GUACAMOLE-296
> URL: https://issues.apache.org/jira/browse/GUACAMOLE-296
> Project: Guacamole
>  Issue Type: Bug
>  Components: guacamole
>Affects Versions: 0.9.12-incubating
>Reporter: Hisham
>Priority: Major
>  Labels: audio
>
> I know this problem was discussed in resolved thread, but it is a bit 
> different, please help me, I tried every thing I was able to find about the 
> topic.
>  On Windows Server 2012 R2: Audio playback works, but the minute I start 
> Sound settings in the "Recording" tab the connection gets disconnected 
> immediately. After that it is impossible to connect to the VM with guacamole, 
> because it keeps disconnecting immediately, the only why is using a RDP 
> client, and closing the Audio settings.
> this are the log info:
> May  8 10:19:27 ip-172-31-20-3 guacd[14887]: Loading keymap "base"
> May  8 10:19:27 ip-172-31-20-3 guacd[14887]: Loading keymap "de-de-qwertz"
> May  8 10:19:27 ip-172-31-20-3 guacd[14887]: guacsnd connected.
> May  8 10:19:27 ip-172-31-20-3 guacd[14887]: guacdr connected.
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Connected to RDPDR 1.12 as 
> client 0x0002
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Ignoring server capability set 
> type=0x0001, length=44
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Ignoring server capability set 
> type=0x0002, length=8
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Ignoring server capability set 
> type=0x0003, length=8
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Ignoring server capability set 
> type=0x0004, length=8
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Ignoring server capability set 
> type=0x0005, length=8
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Sending capabilities...
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Capabilities sent.
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Client ID confirmed
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: User logged on
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Sending filesystem
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Registered device 0 (Guacamole 
> Filesystem)
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: All supported devices sent.
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Device 0 (Guacamole Filesystem) 
> connected successfully
> May  8 10:19:37 ip-172-31-20-3 guacd[1183]: Connection 
> "$70610038-ba7e-4e1d-9103-1b870c0cb079" removed.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[4/6] guacamole-website git commit: Deploy updated tests which pull guacamole-common-js directly from git.

2018-09-30 Thread mjumper
http://git-wip-us.apache.org/repos/asf/guacamole-website/blob/f5235113/content/pub/tests/guac/modules/Display.js
--
diff --git a/content/pub/tests/guac/modules/Display.js 
b/content/pub/tests/guac/modules/Display.js
deleted file mode 100644
index 1556838..000
--- a/content/pub/tests/guac/modules/Display.js
+++ /dev/null
@@ -1,1387 +0,0 @@
-/*
- * Copyright (C) 2014 Glyptodon LLC
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to 
deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-var Guacamole = Guacamole || {};
-
-/**
- * The Guacamole display. The display does not deal with the Guacamole
- * protocol, and instead implements a set of graphical operations which
- * embody the set of operations present in the protocol. The order operations
- * are executed is guaranteed to be in the same order as their corresponding
- * functions are called.
- * 
- * @constructor
- */
-Guacamole.Display = function() {
-
-/**
- * Reference to this Guacamole.Display.
- * @private
- */
-var guac_display = this;
-
-var displayWidth = 0;
-var displayHeight = 0;
-var displayScale = 1;
-
-// Create display
-var display = document.createElement("div");
-display.style.position = "relative";
-display.style.width = displayWidth + "px";
-display.style.height = displayHeight + "px";
-
-// Ensure transformations on display originate at 0,0
-display.style.transformOrigin =
-display.style.webkitTransformOrigin =
-display.style.MozTransformOrigin =
-display.style.OTransformOrigin =
-display.style.msTransformOrigin =
-"0 0";
-
-// Create default layer
-var default_layer = new Guacamole.Display.VisibleLayer(displayWidth, 
displayHeight);
-
-// Create cursor layer
-var cursor = new Guacamole.Display.VisibleLayer(0, 0);
-cursor.setChannelMask(Guacamole.Layer.SRC);
-
-// Add default layer and cursor to display
-display.appendChild(default_layer.getElement());
-display.appendChild(cursor.getElement());
-
-// Create bounding div 
-var bounds = document.createElement("div");
-bounds.style.position = "relative";
-bounds.style.width = (displayWidth*displayScale) + "px";
-bounds.style.height = (displayHeight*displayScale) + "px";
-
-// Add display to bounds
-bounds.appendChild(display);
-
-/**
- * The X coordinate of the hotspot of the mouse cursor. The hotspot is
- * the relative location within the image of the mouse cursor at which
- * each click occurs.
- * 
- * @type {Number}
- */
-this.cursorHotspotX = 0;
-
-/**
- * The Y coordinate of the hotspot of the mouse cursor. The hotspot is
- * the relative location within the image of the mouse cursor at which
- * each click occurs.
- * 
- * @type {Number}
- */
-this.cursorHotspotY = 0;
-
-/**
- * The current X coordinate of the local mouse cursor. This is not
- * necessarily the location of the actual mouse - it refers only to
- * the location of the cursor image within the Guacamole display, as
- * last set by moveCursor().
- * 
- * @type {Number}
- */
-this.cursorX = 0;
-
-/**
- * The current X coordinate of the local mouse cursor. This is not
- * necessarily the location of the actual mouse - it refers only to
- * the location of the cursor image within the Guacamole display, as
- * last set by moveCursor().
- * 
- * @type {Number}
- */
-this.cursorY = 0;
-
-/**
- * Fired when the default layer (and thus the entire Guacamole display)
- * is resized.
- * 
- * @event
- * @param {Number} width The new width of the Guacamole display.
- * @param {Number} height The new height of the Guacamole display.
- */
-this.onresize = null;
-
-/**
- * Fired whenever the local cursor image is changed. This can be used to
- * implement special 

[6/6] guacamole-website git commit: Deploy updated tests which pull guacamole-common-js directly from git.

2018-09-30 Thread mjumper
Deploy updated tests which pull guacamole-common-js directly from git.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-website/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-website/commit/f5235113
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-website/tree/f5235113
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-website/diff/f5235113

Branch: refs/heads/asf-site
Commit: f5235113f4cc6337a4118851e45dab42059196c7
Parents: 45181cc
Author: Michael Jumper 
Authored: Sun Sep 30 20:23:46 2018 -0700
Committer: Michael Jumper 
Committed: Sun Sep 30 20:23:46 2018 -0700

--
 content/pub/tests/guac/gitguac.js   |   64 +
 content/pub/tests/guac/keyboard-test.html   |   59 +-
 .../pub/tests/guac/modules/ArrayBufferReader.js |   79 -
 .../pub/tests/guac/modules/ArrayBufferWriter.js |  103 --
 content/pub/tests/guac/modules/AudioChannel.js  |  291 
 content/pub/tests/guac/modules/AudioPlayer.js   |  653 
 content/pub/tests/guac/modules/BlobReader.js|  131 --
 content/pub/tests/guac/modules/Client.js| 1450 --
 content/pub/tests/guac/modules/DataURIReader.js |   87 --
 content/pub/tests/guac/modules/Display.js   | 1387 -
 content/pub/tests/guac/modules/InputStream.js   |   73 -
 content/pub/tests/guac/modules/IntegerPool.js   |   79 -
 content/pub/tests/guac/modules/JSONReader.js|  117 --
 content/pub/tests/guac/modules/Keyboard.js  | 1162 --
 content/pub/tests/guac/modules/Layer.js |  904 ---
 content/pub/tests/guac/modules/Mouse.js | 1090 -
 content/pub/tests/guac/modules/Namespace.js |   29 -
 content/pub/tests/guac/modules/Object.js|  213 ---
 .../pub/tests/guac/modules/OnScreenKeyboard.js  |  946 
 content/pub/tests/guac/modules/OutputStream.js  |   71 -
 content/pub/tests/guac/modules/Parser.js|  159 --
 content/pub/tests/guac/modules/Status.js|  190 ---
 content/pub/tests/guac/modules/StringReader.js  |  170 --
 content/pub/tests/guac/modules/StringWriter.js  |  194 ---
 content/pub/tests/guac/modules/Tunnel.js| 1003 
 content/pub/tests/guac/modules/Version.js   |   33 -
 content/pub/tests/guac/modules/VideoPlayer.js   |  111 --
 content/pub/tests/guac/mouse-test.html  |   77 +-
 28 files changed, 164 insertions(+), 10761 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-website/blob/f5235113/content/pub/tests/guac/gitguac.js
--
diff --git a/content/pub/tests/guac/gitguac.js 
b/content/pub/tests/guac/gitguac.js
new file mode 100644
index 000..3a535da
--- /dev/null
+++ b/content/pub/tests/guac/gitguac.js
@@ -0,0 +1,64 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+var GIT_GUAC = GIT_GUAC || {};
+
+/**
+ * The commit hash or reference that should be used when loading
+ * guacamole-common-js modules from git. This value is dynamically populated
+ * from the value of the "commit" parameter in the query string of the URL. If
+ * no such parameter is provided, "master" is used by default.
+ *
+ * @type {String}
+ */
+GIT_GUAC.COMMIT = (function getRequestedCommit() {
+var params = location.search.match(/[?&]commit=([^&]*)/);
+return (params && decodeURIComponent(params[1])) || 'master';
+})();
+
+/**
+ * Dynamically loads the guacamole-common-js module having the given filename.
+ * The module is read from git using the version of the source available at
+ * the commit given by GIT_GUAC.COMMIT.
+ *
+ * Note that the module is not guaranteed to load until after the "load" event
+ * for the document fires. Code which depends on the loading of this module
+ * should wait until after that event to execute.
+ *
+ * @param {String} filename
+ * The filename of the guacamole-common-js module to load, without
+ * corresponding path, such as "Keyboard.js" or "Mouse.js".
+ */
+GIT_GUAC.loadModule = function loadModule(filename) {
+
+// Construct URL pointing to guacamole-common-js 

[2/6] guacamole-website git commit: Deploy updated tests which pull guacamole-common-js directly from git.

2018-09-30 Thread mjumper
http://git-wip-us.apache.org/repos/asf/guacamole-website/blob/f5235113/content/pub/tests/guac/modules/Mouse.js
--
diff --git a/content/pub/tests/guac/modules/Mouse.js 
b/content/pub/tests/guac/modules/Mouse.js
deleted file mode 100644
index cdd1ae9..000
--- a/content/pub/tests/guac/modules/Mouse.js
+++ /dev/null
@@ -1,1090 +0,0 @@
-/*
- * Copyright (C) 2013 Glyptodon LLC
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to 
deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-var Guacamole = Guacamole || {};
-
-/**
- * Provides cross-browser mouse events for a given element. The events of
- * the given element are automatically populated with handlers that translate
- * mouse events into a non-browser-specific event provided by the
- * Guacamole.Mouse instance.
- * 
- * @constructor
- * @param {Element} element The Element to use to provide mouse events.
- */
-Guacamole.Mouse = function(element) {
-
-/**
- * Reference to this Guacamole.Mouse.
- * @private
- */
-var guac_mouse = this;
-
-/**
- * The number of mousemove events to require before re-enabling mouse
- * event handling after receiving a touch event.
- */
-this.touchMouseThreshold = 3;
-
-/**
- * The minimum amount of pixels scrolled required for a single scroll 
button
- * click.
- */
-this.scrollThreshold = 53;
-
-/**
- * The number of pixels to scroll per line.
- */
-this.PIXELS_PER_LINE = 18;
-
-/**
- * The number of pixels to scroll per page.
- */
-this.PIXELS_PER_PAGE = this.PIXELS_PER_LINE * 16;
-
-/**
- * The current mouse state. The properties of this state are updated when
- * mouse events fire. This state object is also passed in as a parameter to
- * the handler of any mouse events.
- * 
- * @type {Guacamole.Mouse.State}
- */
-this.currentState = new Guacamole.Mouse.State(
-0, 0, 
-false, false, false, false, false
-);
-
-/**
- * Fired whenever the user presses a mouse button down over the element
- * associated with this Guacamole.Mouse.
- * 
- * @event
- * @param {Guacamole.Mouse.State} state The current mouse state.
- */
-   this.onmousedown = null;
-
-/**
- * Fired whenever the user releases a mouse button down over the element
- * associated with this Guacamole.Mouse.
- * 
- * @event
- * @param {Guacamole.Mouse.State} state The current mouse state.
- */
-   this.onmouseup = null;
-
-/**
- * Fired whenever the user moves the mouse over the element associated with
- * this Guacamole.Mouse.
- * 
- * @event
- * @param {Guacamole.Mouse.State} state The current mouse state.
- */
-   this.onmousemove = null;
-
-/**
- * Fired whenever the mouse leaves the boundaries of the element associated
- * with this Guacamole.Mouse.
- * 
- * @event
- */
-   this.onmouseout = null;
-
-/**
- * Counter of mouse events to ignore. This decremented by mousemove, and
- * while non-zero, mouse events will have no effect.
- * @private
- */
-var ignore_mouse = 0;
-
-/**
- * Cumulative scroll delta amount. This value is accumulated through scroll
- * events and results in scroll button clicks if it exceeds a certain
- * threshold.
- *
- * @private
- */
-var scroll_delta = 0;
-
-function cancelEvent(e) {
-e.stopPropagation();
-if (e.preventDefault) e.preventDefault();
-e.returnValue = false;
-}
-
-// Block context menu so right-click gets sent properly
-element.addEventListener("contextmenu", function(e) {
-cancelEvent(e);
-}, false);
-
-element.addEventListener("mousemove", function(e) {
-
-cancelEvent(e);
-
-// If ignoring events, decrement counter
-if (ignore_mouse) {
-ignore_mouse--;
-

[3/6] guacamole-website git commit: Deploy updated tests which pull guacamole-common-js directly from git.

2018-09-30 Thread mjumper
http://git-wip-us.apache.org/repos/asf/guacamole-website/blob/f5235113/content/pub/tests/guac/modules/Keyboard.js
--
diff --git a/content/pub/tests/guac/modules/Keyboard.js 
b/content/pub/tests/guac/modules/Keyboard.js
deleted file mode 100644
index ce9f016..000
--- a/content/pub/tests/guac/modules/Keyboard.js
+++ /dev/null
@@ -1,1162 +0,0 @@
-/*
- * Copyright (C) 2013 Glyptodon LLC
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to 
deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-var Guacamole = Guacamole || {};
-
-/**
- * Provides cross-browser and cross-keyboard keyboard for a specific element.
- * Browser and keyboard layout variation is abstracted away, providing events
- * which represent keys as their corresponding X11 keysym.
- * 
- * @constructor
- * @param {Element} element The Element to use to provide keyboard events.
- */
-Guacamole.Keyboard = function(element) {
-
-/**
- * Reference to this Guacamole.Keyboard.
- * @private
- */
-var guac_keyboard = this;
-
-/**
- * Fired whenever the user presses a key with the element associated
- * with this Guacamole.Keyboard in focus.
- * 
- * @event
- * @param {Number} keysym The keysym of the key being pressed.
- * @return {Boolean} true if the key event should be allowed through to the
- *   browser, false otherwise.
- */
-this.onkeydown = null;
-
-/**
- * Fired whenever the user releases a key with the element associated
- * with this Guacamole.Keyboard in focus.
- * 
- * @event
- * @param {Number} keysym The keysym of the key being released.
- */
-this.onkeyup = null;
-
-/**
- * A key event having a corresponding timestamp. This event is 
non-specific.
- * Its subclasses should be used instead when recording specific key
- * events.
- *
- * @private
- * @constructor
- */
-var KeyEvent = function() {
-
-/**
- * Reference to this key event.
- */
-var key_event = this;
-
-/**
- * An arbitrary timestamp in milliseconds, indicating this event's
- * position in time relative to other events.
- *
- * @type {Number}
- */
-this.timestamp = new Date().getTime();
-
-/**
- * Whether the default action of this key event should be prevented.
- *
- * @type {Boolean}
- */
-this.defaultPrevented = false;
-
-/**
- * The keysym of the key associated with this key event, as determined
- * by a best-effort guess using available event properties and keyboard
- * state.
- *
- * @type {Number}
- */
-this.keysym = null;
-
-/**
- * Whether the keysym value of this key event is known to be reliable.
- * If false, the keysym may still be valid, but it's only a best guess,
- * and future key events may be a better source of information.
- *
- * @type {Boolean}
- */
-this.reliable = false;
-
-/**
- * Returns the number of milliseconds elapsed since this event was
- * received.
- *
- * @return {Number} The number of milliseconds elapsed since this
- *  event was received.
- */
-this.getAge = function() {
-return new Date().getTime() - key_event.timestamp;
-};
-
-};
-
-/**
- * Information related to the pressing of a key, which need not be a key
- * associated with a printable character. The presence or absence of any
- * information within this object is browser-dependent.
- *
- * @private
- * @constructor
- * @augments Guacamole.Keyboard.KeyEvent
- * @param {Number} keyCode The JavaScript key code of the key pressed.
- * @param {String} keyIdentifier The legacy DOM3 "keyIdentifier" 

[1/6] guacamole-website git commit: Deploy updated tests which pull guacamole-common-js directly from git.

2018-09-30 Thread mjumper
Repository: guacamole-website
Updated Branches:
  refs/heads/asf-site 45181cc21 -> f5235113f


http://git-wip-us.apache.org/repos/asf/guacamole-website/blob/f5235113/content/pub/tests/guac/modules/Status.js
--
diff --git a/content/pub/tests/guac/modules/Status.js 
b/content/pub/tests/guac/modules/Status.js
deleted file mode 100644
index 64c5b85..000
--- a/content/pub/tests/guac/modules/Status.js
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
- * Copyright (C) 2015 Glyptodon LLC
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to 
deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-var Guacamole = Guacamole || {};
-
-/**
- * A Guacamole status. Each Guacamole status consists of a status code, defined
- * by the protocol, and an optional human-readable message, usually only
- * included for debugging convenience.
- *
- * @constructor
- * @param {Number} code
- * The Guacamole status code, as defined by Guacamole.Status.Code.
- *
- * @param {String} [message]
- * An optional human-readable message.
- */
-Guacamole.Status = function(code, message) {
-
-/**
- * Reference to this Guacamole.Status.
- * @private
- */
-var guac_status = this;
-
-/**
- * The Guacamole status code.
- * @see Guacamole.Status.Code
- * @type {Number}
- */
-this.code = code;
-
-/**
- * An arbitrary human-readable message associated with this status, if any.
- * The human-readable message is not required, and is generally provided
- * for debugging purposes only. For user feedback, it is better to 
translate
- * the Guacamole status code into a message.
- * 
- * @type {String}
- */
-this.message = message;
-
-/**
- * Returns whether this status represents an error.
- * @returns {Boolean} true if this status represents an error, false
- *otherwise.
- */
-this.isError = function() {
-return guac_status.code < 0 || guac_status.code > 0x00FF;
-};
-
-};
-
-/**
- * Enumeration of all Guacamole status codes.
- */
-Guacamole.Status.Code = {
-
-/**
- * The operation succeeded.
- *
- * @type {Number}
- */
-"SUCCESS": 0x,
-
-/**
- * The requested operation is unsupported.
- *
- * @type {Number}
- */
-"UNSUPPORTED": 0x0100,
-
-/**
- * The operation could not be performed due to an internal failure.
- *
- * @type {Number}
- */
-"SERVER_ERROR": 0x0200,
-
-/**
- * The operation could not be performed as the server is busy.
- *
- * @type {Number}
- */
-"SERVER_BUSY": 0x0201,
-
-/**
- * The operation could not be performed because the upstream server is not
- * responding.
- *
- * @type {Number}
- */
-"UPSTREAM_TIMEOUT": 0x0202,
-
-/**
- * The operation was unsuccessful due to an error or otherwise unexpected
- * condition of the upstream server.
- *
- * @type {Number}
- */
-"UPSTREAM_ERROR": 0x0203,
-
-/**
- * The operation could not be performed as the requested resource does not
- * exist.
- *
- * @type {Number}
- */
-"RESOURCE_NOT_FOUND": 0x0204,
-
-/**
- * The operation could not be performed as the requested resource is
- * already in use.
- *
- * @type {Number}
- */
-"RESOURCE_CONFLICT": 0x0205,
-
-/**
- * The operation could not be performed because bad parameters were given.
- *
- * @type {Number}
- */
-"CLIENT_BAD_REQUEST": 0x0300,
-
-/**
- * Permission was denied to perform the operation, as the user is not yet
- * authorized (not yet logged in, for example).
- *
- * @type {Number}
- */
-"CLIENT_UNAUTHORIZED": 0x0301,
-
-/**
- * Permission was denied to perform the operation, and this permission will
- * not be granted even if the user is authorized.
- *
- * @type {Number}
- */
-   

[5/6] guacamole-website git commit: Deploy updated tests which pull guacamole-common-js directly from git.

2018-09-30 Thread mjumper
http://git-wip-us.apache.org/repos/asf/guacamole-website/blob/f5235113/content/pub/tests/guac/modules/Client.js
--
diff --git a/content/pub/tests/guac/modules/Client.js 
b/content/pub/tests/guac/modules/Client.js
deleted file mode 100644
index dc9c9a0..000
--- a/content/pub/tests/guac/modules/Client.js
+++ /dev/null
@@ -1,1450 +0,0 @@
-/*
- * Copyright (C) 2013 Glyptodon LLC
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to 
deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-var Guacamole = Guacamole || {};
-
-/**
- * Guacamole protocol client. Given a {@link Guacamole.Tunnel},
- * automatically handles incoming and outgoing Guacamole instructions via the
- * provided tunnel, updating its display using one or more canvas elements.
- * 
- * @constructor
- * @param {Guacamole.Tunnel} tunnel The tunnel to use to send and receive
- *  Guacamole instructions.
- */
-Guacamole.Client = function(tunnel) {
-
-var guac_client = this;
-
-var STATE_IDLE  = 0;
-var STATE_CONNECTING= 1;
-var STATE_WAITING   = 2;
-var STATE_CONNECTED = 3;
-var STATE_DISCONNECTING = 4;
-var STATE_DISCONNECTED  = 5;
-
-var currentState = STATE_IDLE;
-
-var currentTimestamp = 0;
-var pingInterval = null;
-
-/**
- * Translation from Guacamole protocol line caps to Layer line caps.
- * @private
- */
-var lineCap = {
-0: "butt",
-1: "round",
-2: "square"
-};
-
-/**
- * Translation from Guacamole protocol line caps to Layer line caps.
- * @private
- */
-var lineJoin = {
-0: "bevel",
-1: "miter",
-2: "round"
-};
-
-/**
- * The underlying Guacamole display.
- *
- * @private
- * @type {Guacamole.Display}
- */
-var display = new Guacamole.Display();
-
-/**
- * All available layers and buffers
- *
- * @private
- * @type {Object.}
- */
-var layers = {};
-
-/**
- * All audio players currently in use by the client. Initially, this will
- * be empty, but audio players may be allocated by the server upon request.
- *
- * @private
- * @type {Object.}
- */
-var audioPlayers = {};
-
-/**
- * All video players currently in use by the client. Initially, this will
- * be empty, but video players may be allocated by the server upon request.
- *
- * @private
- * @type {Object.}
- */
-var videoPlayers = {};
-
-// No initial parsers
-var parsers = [];
-
-// No initial streams 
-var streams = [];
-
-/**
- * All current objects. The index of each object is dictated by the
- * Guacamole server.
- *
- * @private
- * @type {Guacamole.Object[]}
- */
-var objects = [];
-
-// Pool of available stream indices
-var stream_indices = new Guacamole.IntegerPool();
-
-// Array of allocated output streams by index
-var output_streams = [];
-
-function setState(state) {
-if (state != currentState) {
-currentState = state;
-if (guac_client.onstatechange)
-guac_client.onstatechange(currentState);
-}
-}
-
-function isConnected() {
-return currentState == STATE_CONNECTED
-|| currentState == STATE_WAITING;
-}
-
-/**
- * Returns the underlying display of this Guacamole.Client. The display
- * contains an Element which can be added to the DOM, causing the
- * display to become visible.
- * 
- * @return {Guacamole.Display} The underlying display of this
- * Guacamole.Client.
- */
-this.getDisplay = function() {
-return display;
-};
-
-/**
- * Sends the current size of the screen.
- * 
- * @param {Number} width The width of the screen.
- * @param {Number} height The height of the 

[4/7] guacamole-website git commit: Pull guacamole-common-js modules from git for tests. Allow git commit to be overridden.

2018-09-30 Thread vnick
http://git-wip-us.apache.org/repos/asf/guacamole-website/blob/2de22be5/pub/tests/guac/modules/Display.js
--
diff --git a/pub/tests/guac/modules/Display.js 
b/pub/tests/guac/modules/Display.js
deleted file mode 100644
index 1556838..000
--- a/pub/tests/guac/modules/Display.js
+++ /dev/null
@@ -1,1387 +0,0 @@
-/*
- * Copyright (C) 2014 Glyptodon LLC
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to 
deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-var Guacamole = Guacamole || {};
-
-/**
- * The Guacamole display. The display does not deal with the Guacamole
- * protocol, and instead implements a set of graphical operations which
- * embody the set of operations present in the protocol. The order operations
- * are executed is guaranteed to be in the same order as their corresponding
- * functions are called.
- * 
- * @constructor
- */
-Guacamole.Display = function() {
-
-/**
- * Reference to this Guacamole.Display.
- * @private
- */
-var guac_display = this;
-
-var displayWidth = 0;
-var displayHeight = 0;
-var displayScale = 1;
-
-// Create display
-var display = document.createElement("div");
-display.style.position = "relative";
-display.style.width = displayWidth + "px";
-display.style.height = displayHeight + "px";
-
-// Ensure transformations on display originate at 0,0
-display.style.transformOrigin =
-display.style.webkitTransformOrigin =
-display.style.MozTransformOrigin =
-display.style.OTransformOrigin =
-display.style.msTransformOrigin =
-"0 0";
-
-// Create default layer
-var default_layer = new Guacamole.Display.VisibleLayer(displayWidth, 
displayHeight);
-
-// Create cursor layer
-var cursor = new Guacamole.Display.VisibleLayer(0, 0);
-cursor.setChannelMask(Guacamole.Layer.SRC);
-
-// Add default layer and cursor to display
-display.appendChild(default_layer.getElement());
-display.appendChild(cursor.getElement());
-
-// Create bounding div 
-var bounds = document.createElement("div");
-bounds.style.position = "relative";
-bounds.style.width = (displayWidth*displayScale) + "px";
-bounds.style.height = (displayHeight*displayScale) + "px";
-
-// Add display to bounds
-bounds.appendChild(display);
-
-/**
- * The X coordinate of the hotspot of the mouse cursor. The hotspot is
- * the relative location within the image of the mouse cursor at which
- * each click occurs.
- * 
- * @type {Number}
- */
-this.cursorHotspotX = 0;
-
-/**
- * The Y coordinate of the hotspot of the mouse cursor. The hotspot is
- * the relative location within the image of the mouse cursor at which
- * each click occurs.
- * 
- * @type {Number}
- */
-this.cursorHotspotY = 0;
-
-/**
- * The current X coordinate of the local mouse cursor. This is not
- * necessarily the location of the actual mouse - it refers only to
- * the location of the cursor image within the Guacamole display, as
- * last set by moveCursor().
- * 
- * @type {Number}
- */
-this.cursorX = 0;
-
-/**
- * The current X coordinate of the local mouse cursor. This is not
- * necessarily the location of the actual mouse - it refers only to
- * the location of the cursor image within the Guacamole display, as
- * last set by moveCursor().
- * 
- * @type {Number}
- */
-this.cursorY = 0;
-
-/**
- * Fired when the default layer (and thus the entire Guacamole display)
- * is resized.
- * 
- * @event
- * @param {Number} width The new width of the Guacamole display.
- * @param {Number} height The new height of the Guacamole display.
- */
-this.onresize = null;
-
-/**
- * Fired whenever the local cursor image is changed. This can be used to
- * implement special handling of the client-side 

[3/7] guacamole-website git commit: Pull guacamole-common-js modules from git for tests. Allow git commit to be overridden.

2018-09-30 Thread vnick
http://git-wip-us.apache.org/repos/asf/guacamole-website/blob/2de22be5/pub/tests/guac/modules/Keyboard.js
--
diff --git a/pub/tests/guac/modules/Keyboard.js 
b/pub/tests/guac/modules/Keyboard.js
deleted file mode 100644
index ce9f016..000
--- a/pub/tests/guac/modules/Keyboard.js
+++ /dev/null
@@ -1,1162 +0,0 @@
-/*
- * Copyright (C) 2013 Glyptodon LLC
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to 
deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-var Guacamole = Guacamole || {};
-
-/**
- * Provides cross-browser and cross-keyboard keyboard for a specific element.
- * Browser and keyboard layout variation is abstracted away, providing events
- * which represent keys as their corresponding X11 keysym.
- * 
- * @constructor
- * @param {Element} element The Element to use to provide keyboard events.
- */
-Guacamole.Keyboard = function(element) {
-
-/**
- * Reference to this Guacamole.Keyboard.
- * @private
- */
-var guac_keyboard = this;
-
-/**
- * Fired whenever the user presses a key with the element associated
- * with this Guacamole.Keyboard in focus.
- * 
- * @event
- * @param {Number} keysym The keysym of the key being pressed.
- * @return {Boolean} true if the key event should be allowed through to the
- *   browser, false otherwise.
- */
-this.onkeydown = null;
-
-/**
- * Fired whenever the user releases a key with the element associated
- * with this Guacamole.Keyboard in focus.
- * 
- * @event
- * @param {Number} keysym The keysym of the key being released.
- */
-this.onkeyup = null;
-
-/**
- * A key event having a corresponding timestamp. This event is 
non-specific.
- * Its subclasses should be used instead when recording specific key
- * events.
- *
- * @private
- * @constructor
- */
-var KeyEvent = function() {
-
-/**
- * Reference to this key event.
- */
-var key_event = this;
-
-/**
- * An arbitrary timestamp in milliseconds, indicating this event's
- * position in time relative to other events.
- *
- * @type {Number}
- */
-this.timestamp = new Date().getTime();
-
-/**
- * Whether the default action of this key event should be prevented.
- *
- * @type {Boolean}
- */
-this.defaultPrevented = false;
-
-/**
- * The keysym of the key associated with this key event, as determined
- * by a best-effort guess using available event properties and keyboard
- * state.
- *
- * @type {Number}
- */
-this.keysym = null;
-
-/**
- * Whether the keysym value of this key event is known to be reliable.
- * If false, the keysym may still be valid, but it's only a best guess,
- * and future key events may be a better source of information.
- *
- * @type {Boolean}
- */
-this.reliable = false;
-
-/**
- * Returns the number of milliseconds elapsed since this event was
- * received.
- *
- * @return {Number} The number of milliseconds elapsed since this
- *  event was received.
- */
-this.getAge = function() {
-return new Date().getTime() - key_event.timestamp;
-};
-
-};
-
-/**
- * Information related to the pressing of a key, which need not be a key
- * associated with a printable character. The presence or absence of any
- * information within this object is browser-dependent.
- *
- * @private
- * @constructor
- * @augments Guacamole.Keyboard.KeyEvent
- * @param {Number} keyCode The JavaScript key code of the key pressed.
- * @param {String} keyIdentifier The legacy DOM3 "keyIdentifier" of the key
- *

[7/7] guacamole-website git commit: Merge pull guacamole-common-js modules from git for tests.

2018-09-30 Thread vnick
Merge pull guacamole-common-js modules from git for tests.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-website/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-website/commit/4a87ae48
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-website/tree/4a87ae48
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-website/diff/4a87ae48

Branch: refs/heads/master
Commit: 4a87ae489b922680ace519a9205ee97617307dbc
Parents: 22043e1 2de22be
Author: Nick Couchman 
Authored: Sun Sep 30 21:09:53 2018 -0400
Committer: Nick Couchman 
Committed: Sun Sep 30 21:09:53 2018 -0400

--
 pub/tests/guac/gitguac.js   |   64 +
 pub/tests/guac/keyboard-test.html   |   59 +-
 pub/tests/guac/modules/ArrayBufferReader.js |   79 --
 pub/tests/guac/modules/ArrayBufferWriter.js |  103 --
 pub/tests/guac/modules/AudioChannel.js  |  291 -
 pub/tests/guac/modules/AudioPlayer.js   |  653 --
 pub/tests/guac/modules/BlobReader.js|  131 --
 pub/tests/guac/modules/Client.js| 1450 --
 pub/tests/guac/modules/DataURIReader.js |   87 --
 pub/tests/guac/modules/Display.js   | 1387 -
 pub/tests/guac/modules/InputStream.js   |   73 --
 pub/tests/guac/modules/IntegerPool.js   |   79 --
 pub/tests/guac/modules/JSONReader.js|  117 --
 pub/tests/guac/modules/Keyboard.js  | 1162 -
 pub/tests/guac/modules/Layer.js |  904 --
 pub/tests/guac/modules/Mouse.js | 1090 
 pub/tests/guac/modules/Namespace.js |   29 -
 pub/tests/guac/modules/Object.js|  213 
 pub/tests/guac/modules/OnScreenKeyboard.js  |  946 --
 pub/tests/guac/modules/OutputStream.js  |   71 --
 pub/tests/guac/modules/Parser.js|  159 ---
 pub/tests/guac/modules/Status.js|  190 ---
 pub/tests/guac/modules/StringReader.js  |  170 ---
 pub/tests/guac/modules/StringWriter.js  |  194 ---
 pub/tests/guac/modules/Tunnel.js| 1003 ---
 pub/tests/guac/modules/Version.js   |   33 -
 pub/tests/guac/modules/VideoPlayer.js   |  111 --
 pub/tests/guac/mouse-test.html  |   77 +-
 28 files changed, 164 insertions(+), 10761 deletions(-)
--




[1/7] guacamole-website git commit: Pull guacamole-common-js modules from git for tests. Allow git commit to be overridden.

2018-09-30 Thread vnick
Repository: guacamole-website
Updated Branches:
  refs/heads/master 22043e1c0 -> 4a87ae489


http://git-wip-us.apache.org/repos/asf/guacamole-website/blob/2de22be5/pub/tests/guac/modules/Status.js
--
diff --git a/pub/tests/guac/modules/Status.js b/pub/tests/guac/modules/Status.js
deleted file mode 100644
index 64c5b85..000
--- a/pub/tests/guac/modules/Status.js
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
- * Copyright (C) 2015 Glyptodon LLC
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to 
deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-var Guacamole = Guacamole || {};
-
-/**
- * A Guacamole status. Each Guacamole status consists of a status code, defined
- * by the protocol, and an optional human-readable message, usually only
- * included for debugging convenience.
- *
- * @constructor
- * @param {Number} code
- * The Guacamole status code, as defined by Guacamole.Status.Code.
- *
- * @param {String} [message]
- * An optional human-readable message.
- */
-Guacamole.Status = function(code, message) {
-
-/**
- * Reference to this Guacamole.Status.
- * @private
- */
-var guac_status = this;
-
-/**
- * The Guacamole status code.
- * @see Guacamole.Status.Code
- * @type {Number}
- */
-this.code = code;
-
-/**
- * An arbitrary human-readable message associated with this status, if any.
- * The human-readable message is not required, and is generally provided
- * for debugging purposes only. For user feedback, it is better to 
translate
- * the Guacamole status code into a message.
- * 
- * @type {String}
- */
-this.message = message;
-
-/**
- * Returns whether this status represents an error.
- * @returns {Boolean} true if this status represents an error, false
- *otherwise.
- */
-this.isError = function() {
-return guac_status.code < 0 || guac_status.code > 0x00FF;
-};
-
-};
-
-/**
- * Enumeration of all Guacamole status codes.
- */
-Guacamole.Status.Code = {
-
-/**
- * The operation succeeded.
- *
- * @type {Number}
- */
-"SUCCESS": 0x,
-
-/**
- * The requested operation is unsupported.
- *
- * @type {Number}
- */
-"UNSUPPORTED": 0x0100,
-
-/**
- * The operation could not be performed due to an internal failure.
- *
- * @type {Number}
- */
-"SERVER_ERROR": 0x0200,
-
-/**
- * The operation could not be performed as the server is busy.
- *
- * @type {Number}
- */
-"SERVER_BUSY": 0x0201,
-
-/**
- * The operation could not be performed because the upstream server is not
- * responding.
- *
- * @type {Number}
- */
-"UPSTREAM_TIMEOUT": 0x0202,
-
-/**
- * The operation was unsuccessful due to an error or otherwise unexpected
- * condition of the upstream server.
- *
- * @type {Number}
- */
-"UPSTREAM_ERROR": 0x0203,
-
-/**
- * The operation could not be performed as the requested resource does not
- * exist.
- *
- * @type {Number}
- */
-"RESOURCE_NOT_FOUND": 0x0204,
-
-/**
- * The operation could not be performed as the requested resource is
- * already in use.
- *
- * @type {Number}
- */
-"RESOURCE_CONFLICT": 0x0205,
-
-/**
- * The operation could not be performed because bad parameters were given.
- *
- * @type {Number}
- */
-"CLIENT_BAD_REQUEST": 0x0300,
-
-/**
- * Permission was denied to perform the operation, as the user is not yet
- * authorized (not yet logged in, for example).
- *
- * @type {Number}
- */
-"CLIENT_UNAUTHORIZED": 0x0301,
-
-/**
- * Permission was denied to perform the operation, and this permission will
- * not be granted even if the user is authorized.
- *
- * @type {Number}
- */
-"CLIENT_FORBIDDEN": 0x0303,
-
-   

[6/7] guacamole-website git commit: Pull guacamole-common-js modules from git for tests. Allow git commit to be overridden.

2018-09-30 Thread vnick
Pull guacamole-common-js modules from git for tests. Allow git commit to be 
overridden.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-website/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-website/commit/2de22be5
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-website/tree/2de22be5
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-website/diff/2de22be5

Branch: refs/heads/master
Commit: 2de22be5492bd03b519d873e3ebdcc12f1001bce
Parents: 22043e1
Author: Michael Jumper 
Authored: Sat Sep 29 16:08:47 2018 -0700
Committer: Michael Jumper 
Committed: Sat Sep 29 16:11:07 2018 -0700

--
 pub/tests/guac/gitguac.js   |   64 +
 pub/tests/guac/keyboard-test.html   |   59 +-
 pub/tests/guac/modules/ArrayBufferReader.js |   79 --
 pub/tests/guac/modules/ArrayBufferWriter.js |  103 --
 pub/tests/guac/modules/AudioChannel.js  |  291 -
 pub/tests/guac/modules/AudioPlayer.js   |  653 --
 pub/tests/guac/modules/BlobReader.js|  131 --
 pub/tests/guac/modules/Client.js| 1450 --
 pub/tests/guac/modules/DataURIReader.js |   87 --
 pub/tests/guac/modules/Display.js   | 1387 -
 pub/tests/guac/modules/InputStream.js   |   73 --
 pub/tests/guac/modules/IntegerPool.js   |   79 --
 pub/tests/guac/modules/JSONReader.js|  117 --
 pub/tests/guac/modules/Keyboard.js  | 1162 -
 pub/tests/guac/modules/Layer.js |  904 --
 pub/tests/guac/modules/Mouse.js | 1090 
 pub/tests/guac/modules/Namespace.js |   29 -
 pub/tests/guac/modules/Object.js|  213 
 pub/tests/guac/modules/OnScreenKeyboard.js  |  946 --
 pub/tests/guac/modules/OutputStream.js  |   71 --
 pub/tests/guac/modules/Parser.js|  159 ---
 pub/tests/guac/modules/Status.js|  190 ---
 pub/tests/guac/modules/StringReader.js  |  170 ---
 pub/tests/guac/modules/StringWriter.js  |  194 ---
 pub/tests/guac/modules/Tunnel.js| 1003 ---
 pub/tests/guac/modules/Version.js   |   33 -
 pub/tests/guac/modules/VideoPlayer.js   |  111 --
 pub/tests/guac/mouse-test.html  |   77 +-
 28 files changed, 164 insertions(+), 10761 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/guacamole-website/blob/2de22be5/pub/tests/guac/gitguac.js
--
diff --git a/pub/tests/guac/gitguac.js b/pub/tests/guac/gitguac.js
new file mode 100644
index 000..3a535da
--- /dev/null
+++ b/pub/tests/guac/gitguac.js
@@ -0,0 +1,64 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+var GIT_GUAC = GIT_GUAC || {};
+
+/**
+ * The commit hash or reference that should be used when loading
+ * guacamole-common-js modules from git. This value is dynamically populated
+ * from the value of the "commit" parameter in the query string of the URL. If
+ * no such parameter is provided, "master" is used by default.
+ *
+ * @type {String}
+ */
+GIT_GUAC.COMMIT = (function getRequestedCommit() {
+var params = location.search.match(/[?&]commit=([^&]*)/);
+return (params && decodeURIComponent(params[1])) || 'master';
+})();
+
+/**
+ * Dynamically loads the guacamole-common-js module having the given filename.
+ * The module is read from git using the version of the source available at
+ * the commit given by GIT_GUAC.COMMIT.
+ *
+ * Note that the module is not guaranteed to load until after the "load" event
+ * for the document fires. Code which depends on the loading of this module
+ * should wait until after that event to execute.
+ *
+ * @param {String} filename
+ * The filename of the guacamole-common-js module to load, without
+ * corresponding path, such as "Keyboard.js" or "Mouse.js".
+ */
+GIT_GUAC.loadModule = function loadModule(filename) {
+
+// Construct URL pointing to guacamole-common-js module within ASF git
+var url = 'https://git1-us-west.apache.org/repos/asf?'
++ 

[5/7] guacamole-website git commit: Pull guacamole-common-js modules from git for tests. Allow git commit to be overridden.

2018-09-30 Thread vnick
http://git-wip-us.apache.org/repos/asf/guacamole-website/blob/2de22be5/pub/tests/guac/modules/Client.js
--
diff --git a/pub/tests/guac/modules/Client.js b/pub/tests/guac/modules/Client.js
deleted file mode 100644
index dc9c9a0..000
--- a/pub/tests/guac/modules/Client.js
+++ /dev/null
@@ -1,1450 +0,0 @@
-/*
- * Copyright (C) 2013 Glyptodon LLC
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to 
deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-var Guacamole = Guacamole || {};
-
-/**
- * Guacamole protocol client. Given a {@link Guacamole.Tunnel},
- * automatically handles incoming and outgoing Guacamole instructions via the
- * provided tunnel, updating its display using one or more canvas elements.
- * 
- * @constructor
- * @param {Guacamole.Tunnel} tunnel The tunnel to use to send and receive
- *  Guacamole instructions.
- */
-Guacamole.Client = function(tunnel) {
-
-var guac_client = this;
-
-var STATE_IDLE  = 0;
-var STATE_CONNECTING= 1;
-var STATE_WAITING   = 2;
-var STATE_CONNECTED = 3;
-var STATE_DISCONNECTING = 4;
-var STATE_DISCONNECTED  = 5;
-
-var currentState = STATE_IDLE;
-
-var currentTimestamp = 0;
-var pingInterval = null;
-
-/**
- * Translation from Guacamole protocol line caps to Layer line caps.
- * @private
- */
-var lineCap = {
-0: "butt",
-1: "round",
-2: "square"
-};
-
-/**
- * Translation from Guacamole protocol line caps to Layer line caps.
- * @private
- */
-var lineJoin = {
-0: "bevel",
-1: "miter",
-2: "round"
-};
-
-/**
- * The underlying Guacamole display.
- *
- * @private
- * @type {Guacamole.Display}
- */
-var display = new Guacamole.Display();
-
-/**
- * All available layers and buffers
- *
- * @private
- * @type {Object.}
- */
-var layers = {};
-
-/**
- * All audio players currently in use by the client. Initially, this will
- * be empty, but audio players may be allocated by the server upon request.
- *
- * @private
- * @type {Object.}
- */
-var audioPlayers = {};
-
-/**
- * All video players currently in use by the client. Initially, this will
- * be empty, but video players may be allocated by the server upon request.
- *
- * @private
- * @type {Object.}
- */
-var videoPlayers = {};
-
-// No initial parsers
-var parsers = [];
-
-// No initial streams 
-var streams = [];
-
-/**
- * All current objects. The index of each object is dictated by the
- * Guacamole server.
- *
- * @private
- * @type {Guacamole.Object[]}
- */
-var objects = [];
-
-// Pool of available stream indices
-var stream_indices = new Guacamole.IntegerPool();
-
-// Array of allocated output streams by index
-var output_streams = [];
-
-function setState(state) {
-if (state != currentState) {
-currentState = state;
-if (guac_client.onstatechange)
-guac_client.onstatechange(currentState);
-}
-}
-
-function isConnected() {
-return currentState == STATE_CONNECTED
-|| currentState == STATE_WAITING;
-}
-
-/**
- * Returns the underlying display of this Guacamole.Client. The display
- * contains an Element which can be added to the DOM, causing the
- * display to become visible.
- * 
- * @return {Guacamole.Display} The underlying display of this
- * Guacamole.Client.
- */
-this.getDisplay = function() {
-return display;
-};
-
-/**
- * Sends the current size of the screen.
- * 
- * @param {Number} width The width of the screen.
- * @param {Number} height The height of the screen.
- */
-

[2/7] guacamole-website git commit: Pull guacamole-common-js modules from git for tests. Allow git commit to be overridden.

2018-09-30 Thread vnick
http://git-wip-us.apache.org/repos/asf/guacamole-website/blob/2de22be5/pub/tests/guac/modules/Mouse.js
--
diff --git a/pub/tests/guac/modules/Mouse.js b/pub/tests/guac/modules/Mouse.js
deleted file mode 100644
index cdd1ae9..000
--- a/pub/tests/guac/modules/Mouse.js
+++ /dev/null
@@ -1,1090 +0,0 @@
-/*
- * Copyright (C) 2013 Glyptodon LLC
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to 
deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-var Guacamole = Guacamole || {};
-
-/**
- * Provides cross-browser mouse events for a given element. The events of
- * the given element are automatically populated with handlers that translate
- * mouse events into a non-browser-specific event provided by the
- * Guacamole.Mouse instance.
- * 
- * @constructor
- * @param {Element} element The Element to use to provide mouse events.
- */
-Guacamole.Mouse = function(element) {
-
-/**
- * Reference to this Guacamole.Mouse.
- * @private
- */
-var guac_mouse = this;
-
-/**
- * The number of mousemove events to require before re-enabling mouse
- * event handling after receiving a touch event.
- */
-this.touchMouseThreshold = 3;
-
-/**
- * The minimum amount of pixels scrolled required for a single scroll 
button
- * click.
- */
-this.scrollThreshold = 53;
-
-/**
- * The number of pixels to scroll per line.
- */
-this.PIXELS_PER_LINE = 18;
-
-/**
- * The number of pixels to scroll per page.
- */
-this.PIXELS_PER_PAGE = this.PIXELS_PER_LINE * 16;
-
-/**
- * The current mouse state. The properties of this state are updated when
- * mouse events fire. This state object is also passed in as a parameter to
- * the handler of any mouse events.
- * 
- * @type {Guacamole.Mouse.State}
- */
-this.currentState = new Guacamole.Mouse.State(
-0, 0, 
-false, false, false, false, false
-);
-
-/**
- * Fired whenever the user presses a mouse button down over the element
- * associated with this Guacamole.Mouse.
- * 
- * @event
- * @param {Guacamole.Mouse.State} state The current mouse state.
- */
-   this.onmousedown = null;
-
-/**
- * Fired whenever the user releases a mouse button down over the element
- * associated with this Guacamole.Mouse.
- * 
- * @event
- * @param {Guacamole.Mouse.State} state The current mouse state.
- */
-   this.onmouseup = null;
-
-/**
- * Fired whenever the user moves the mouse over the element associated with
- * this Guacamole.Mouse.
- * 
- * @event
- * @param {Guacamole.Mouse.State} state The current mouse state.
- */
-   this.onmousemove = null;
-
-/**
- * Fired whenever the mouse leaves the boundaries of the element associated
- * with this Guacamole.Mouse.
- * 
- * @event
- */
-   this.onmouseout = null;
-
-/**
- * Counter of mouse events to ignore. This decremented by mousemove, and
- * while non-zero, mouse events will have no effect.
- * @private
- */
-var ignore_mouse = 0;
-
-/**
- * Cumulative scroll delta amount. This value is accumulated through scroll
- * events and results in scroll button clicks if it exceeds a certain
- * threshold.
- *
- * @private
- */
-var scroll_delta = 0;
-
-function cancelEvent(e) {
-e.stopPropagation();
-if (e.preventDefault) e.preventDefault();
-e.returnValue = false;
-}
-
-// Block context menu so right-click gets sent properly
-element.addEventListener("contextmenu", function(e) {
-cancelEvent(e);
-}, false);
-
-element.addEventListener("mousemove", function(e) {
-
-cancelEvent(e);
-
-// If ignoring events, decrement counter
-if (ignore_mouse) {
-ignore_mouse--;
-return;
-}
-
-

[jira] [Commented] (GUACAMOLE-296) RDP audio input cause disconnection on Windows Server 2012 / 2016

2018-09-30 Thread Nick Couchman (JIRA)


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

Nick Couchman commented on GUACAMOLE-296:
-

{quote}
Just to update this ticket... the Makefile fix discussed above still appears to 
be needed in v0.9.14.
{quote}

Yeah, there's still something going on.  I haven't had time to figure out what 
it is, but, yes, something is still broken.

{quote}
However as an FYI... with 2016, I was forced to supply credentials and use 
security mode NLA with "Ignore server certificate" checked.
{quote}

Yes, with either 2012 or 2016 Windows started requiring NLA and disabling the 
old-style encryption.  So this is not unexpected.

{quote}
 I don't know if the 2016 issue is related to the Makefile change but I'm still 
looking into in.  2016 works with rdesktop in Linux (unencrypted and you can 
type in the credentials you want without supplying them on the command line as 
usual) so there is something else going on.
{quote}

No, this has nothing to do with it.  rdesktop on Linux, when it prompts on the 
command line, has already negotiated NLA-based authentication with the remote 
server, and is prompting for credentials on the command line in order to 
complete the NLA-based authentication.  Unless you're actually explicitly 
disabling authentication on the command line (/sec:none)?

> RDP audio input cause disconnection on Windows Server 2012 / 2016
> -
>
> Key: GUACAMOLE-296
> URL: https://issues.apache.org/jira/browse/GUACAMOLE-296
> Project: Guacamole
>  Issue Type: Bug
>  Components: guacamole
>Affects Versions: 0.9.12-incubating
>Reporter: Hisham
>Priority: Major
>  Labels: audio
>
> I know this problem was discussed in resolved thread, but it is a bit 
> different, please help me, I tried every thing I was able to find about the 
> topic.
>  On Windows Server 2012 R2: Audio playback works, but the minute I start 
> Sound settings in the "Recording" tab the connection gets disconnected 
> immediately. After that it is impossible to connect to the VM with guacamole, 
> because it keeps disconnecting immediately, the only why is using a RDP 
> client, and closing the Audio settings.
> this are the log info:
> May  8 10:19:27 ip-172-31-20-3 guacd[14887]: Loading keymap "base"
> May  8 10:19:27 ip-172-31-20-3 guacd[14887]: Loading keymap "de-de-qwertz"
> May  8 10:19:27 ip-172-31-20-3 guacd[14887]: guacsnd connected.
> May  8 10:19:27 ip-172-31-20-3 guacd[14887]: guacdr connected.
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Connected to RDPDR 1.12 as 
> client 0x0002
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Ignoring server capability set 
> type=0x0001, length=44
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Ignoring server capability set 
> type=0x0002, length=8
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Ignoring server capability set 
> type=0x0003, length=8
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Ignoring server capability set 
> type=0x0004, length=8
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Ignoring server capability set 
> type=0x0005, length=8
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Sending capabilities...
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Capabilities sent.
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Client ID confirmed
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: User logged on
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Sending filesystem
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Registered device 0 (Guacamole 
> Filesystem)
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: All supported devices sent.
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Device 0 (Guacamole Filesystem) 
> connected successfully
> May  8 10:19:37 ip-172-31-20-3 guacd[1183]: Connection 
> "$70610038-ba7e-4e1d-9103-1b870c0cb079" removed.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (GUACAMOLE-296) RDP audio input cause disconnection on Windows Server 2012 / 2016

2018-09-30 Thread Keith C Perry (JIRA)


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

Keith C Perry commented on GUACAMOLE-296:
-

Just to update this ticket... the Makefile fix discussed above still appears to 
be needed in v0.9.14.  This was for Ubuntu 16.04.5 LTS.  Audio input works with 
Windows Server 2008R2, 2012R2 and 2016 (all the "Standard" version).  However 
as an FYI... with 2016, I was forced to supply credentials and use security 
mode NLA with "Ignore server certificate" checked.  I don't know if the 2016 
issue is related to the Makefile change but I'm still looking into in.  2016 
works with rdesktop in Linux (unencrypted and you can type in the credentials 
you want without supplying them on the command line as usual) so there is 
something else going on.

> RDP audio input cause disconnection on Windows Server 2012 / 2016
> -
>
> Key: GUACAMOLE-296
> URL: https://issues.apache.org/jira/browse/GUACAMOLE-296
> Project: Guacamole
>  Issue Type: Bug
>  Components: guacamole
>Affects Versions: 0.9.12-incubating
>Reporter: Hisham
>Priority: Major
>  Labels: audio
>
> I know this problem was discussed in resolved thread, but it is a bit 
> different, please help me, I tried every thing I was able to find about the 
> topic.
>  On Windows Server 2012 R2: Audio playback works, but the minute I start 
> Sound settings in the "Recording" tab the connection gets disconnected 
> immediately. After that it is impossible to connect to the VM with guacamole, 
> because it keeps disconnecting immediately, the only why is using a RDP 
> client, and closing the Audio settings.
> this are the log info:
> May  8 10:19:27 ip-172-31-20-3 guacd[14887]: Loading keymap "base"
> May  8 10:19:27 ip-172-31-20-3 guacd[14887]: Loading keymap "de-de-qwertz"
> May  8 10:19:27 ip-172-31-20-3 guacd[14887]: guacsnd connected.
> May  8 10:19:27 ip-172-31-20-3 guacd[14887]: guacdr connected.
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Connected to RDPDR 1.12 as 
> client 0x0002
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Ignoring server capability set 
> type=0x0001, length=44
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Ignoring server capability set 
> type=0x0002, length=8
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Ignoring server capability set 
> type=0x0003, length=8
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Ignoring server capability set 
> type=0x0004, length=8
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Ignoring server capability set 
> type=0x0005, length=8
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Sending capabilities...
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Capabilities sent.
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Client ID confirmed
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: User logged on
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Sending filesystem
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Registered device 0 (Guacamole 
> Filesystem)
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: All supported devices sent.
> May  8 10:19:28 ip-172-31-20-3 guacd[14887]: Device 0 (Guacamole Filesystem) 
> connected successfully
> May  8 10:19:37 ip-172-31-20-3 guacd[1183]: Connection 
> "$70610038-ba7e-4e1d-9103-1b870c0cb079" removed.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (GUACAMOLE-580) Missing null check in LDAP AuthenticationProviderService

2018-09-30 Thread Nick Couchman (JIRA)


 [ 
https://issues.apache.org/jira/browse/GUACAMOLE-580?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nick Couchman updated GUACAMOLE-580:

Affects Version/s: (was: 1.0.1)

> Missing null check in LDAP AuthenticationProviderService
> 
>
> Key: GUACAMOLE-580
> URL: https://issues.apache.org/jira/browse/GUACAMOLE-580
> Project: Guacamole
>  Issue Type: Bug
>  Components: guacamole-auth-ldap
>Reporter: Nick Couchman
>Assignee: Nick Couchman
>Priority: Minor
> Fix For: 2.0.0
>
>
> Recent changes introduced by GUACAMOLE-524 are missing a check for a null 
> object, leading to a potential for a NullPointerException.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (GUACAMOLE-593) Make Member attribute customizable

2018-09-30 Thread Nick Couchman (JIRA)


 [ 
https://issues.apache.org/jira/browse/GUACAMOLE-593?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nick Couchman updated GUACAMOLE-593:

Fix Version/s: (was: 1.0.1)
   2.0.0

> Make Member attribute customizable
> --
>
> Key: GUACAMOLE-593
> URL: https://issues.apache.org/jira/browse/GUACAMOLE-593
> Project: Guacamole
>  Issue Type: Wish
>  Components: guacamole-auth-ldap
>Affects Versions: 0.9.14
>Reporter: Alex Duarte
>Assignee: Nick Couchman
>Priority: Minor
> Fix For: 2.0.0
>
>
> Currently, Guacamole looks for the Member attribute within LDAP to identify 
> what users are members of a group. I would like to request that this is made 
> a customizable field. I run guacamole on Fedora and we are primarily a Fedora 
> shop. With that said we use 389-DS and 389-DS does not have a member field by 
> default. The name of the field is uniquemember. Due to this, even after 
> adding someone to the LDAP group, I need to modify the group's attributes, 
> add a Member Attribute and manually add in the member values. This is less 
> than ideal as it would be nice to be able to add people to the group and call 
> it a day. Thanks!



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (GUACAMOLE-580) Missing null check in LDAP AuthenticationProviderService

2018-09-30 Thread Nick Couchman (JIRA)


 [ 
https://issues.apache.org/jira/browse/GUACAMOLE-580?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nick Couchman updated GUACAMOLE-580:

Fix Version/s: (was: 1.0.1)
   2.0.0

> Missing null check in LDAP AuthenticationProviderService
> 
>
> Key: GUACAMOLE-580
> URL: https://issues.apache.org/jira/browse/GUACAMOLE-580
> Project: Guacamole
>  Issue Type: Bug
>  Components: guacamole-auth-ldap
>Affects Versions: 1.0.1
>Reporter: Nick Couchman
>Assignee: Nick Couchman
>Priority: Minor
> Fix For: 2.0.0
>
>
> Recent changes introduced by GUACAMOLE-524 are missing a check for a null 
> object, leading to a potential for a NullPointerException.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (GUACAMOLE-585) Dead code in JavaScript formField module

2018-09-30 Thread Nick Couchman (JIRA)


 [ 
https://issues.apache.org/jira/browse/GUACAMOLE-585?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nick Couchman updated GUACAMOLE-585:

Fix Version/s: (was: 1.0.1)
   2.0.0

> Dead code in JavaScript formField module
> 
>
> Key: GUACAMOLE-585
> URL: https://issues.apache.org/jira/browse/GUACAMOLE-585
> Project: Guacamole
>  Issue Type: Bug
>  Components: guacamole
>Affects Versions: 0.9.14
>Reporter: Nick Couchman
>Assignee: Nick Couchman
>Priority: Minor
> Fix For: 2.0.0
>
>
> Reported by Coverity:
> {quote}
> 
> *** CID 1436956:  Control flow issues  (DEADCODE)
> /guacamole/src/main/webapp/app/form/directives/formField.js: 125 in 
> $scope.getFieldOption()
> 119$scope.getFieldOption = function getFieldOption(value) {
> 120
> 121// If no field, or no value, then no corresponding 
> translation string
> 122if (!$scope.field || !$scope.field.name || !value)
> 123return '';
> 124
> >>>CID 1436956:  Control flow issues  (DEADCODE)
> >>>Execution cannot reach the expression ""EMPTY"" inside this statement: 
> >>> "return translationStringSer...".
> 125return 
> translationStringService.canonicalize($scope.namespace || 'MISSING_NAMESPACE')
> 126+ '.FIELD_OPTION_' + 
> translationStringService.canonicalize($scope.field.name)
> 127+ '_'  + 
> translationStringService.canonicalize(value || 'EMPTY');
> 128
> 129};
> 130
> {quote}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (GUACAMOLE-441) guacd ssh plugin segfault when copy text to clipboard

2018-09-30 Thread Nick Couchman (JIRA)


 [ 
https://issues.apache.org/jira/browse/GUACAMOLE-441?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nick Couchman updated GUACAMOLE-441:

Fix Version/s: (was: 1.0.1)
   2.0.0

> guacd ssh plugin segfault when copy text to clipboard
> -
>
> Key: GUACAMOLE-441
> URL: https://issues.apache.org/jira/browse/GUACAMOLE-441
> Project: Guacamole
>  Issue Type: Bug
>  Components: SSH, Terminal
>Affects Versions: 0.9.13-incubating, 0.9.14, 1.0.0
> Environment: GNU Linux x86_64
>Reporter: James He
>Assignee: Michael Jumper
>Priority: Minor
> Fix For: 2.0.0
>
>
> This segfault can be replicated each time when do the below steps.
> - Login to any SSH server from guacamole.
> - Try a command with much output e.g. "ps aux".
> - Select the output text of the above command.
> - SSH connection will be terminated immediately.
> - Core dump of guacd will be generated.
> {code:none}
> Core was generated by `/sbin/guacd -f'.
> Program terminated with signal SIGABRT, Aborted.
> #0  0x2bca8437 in raise () from /lib64/libc.so.6
> (gdb) bt
> #0  0x2bca8437 in raise () from /lib64/libc.so.6
> #1  0x2bca9818 in abort () from /lib64/libc.so.6
> #2  0x2bce6574 in ?? () from /lib64/libc.so.6
> #3  0x2bcebdae in ?? () from /lib64/libc.so.6
> #4  0x2bcecab6 in ?? () from /lib64/libc.so.6
> #5  0x2db6b160 in __guac_terminal_send_mouse (term=0x2aaab401bf60, 
> user=0x2aaab0002920, x=703, y=921,
> mask=0) at terminal.c:1715
> #6  0x2db6b2b5 in guac_terminal_send_mouse (term=0x2aaab401bf60, 
> user=0x2aaab0002920, x=703, y=921, mask=0)
> at terminal.c:1753
> #7  0x2db5c532 in guac_ssh_user_mouse_handler (user=0x2aaab0002920, 
> x=703, y=921, mask=0) at input.c:41
> #8  0x2af4dc2e in __guac_handle_mouse (user=0x2aaab0002920, argc=3, 
> argv=0x2aaab000adc0)
> at user-handlers.c:134
> #9  0x2af4d3ea in guac_user_handle_instruction (user=0x2aaab0002920, 
> opcode=0x2aaab0012b29 "mouse", argc=3,
> argv=0x2aaab000adc0) at user.c:178
> #10 0x004055e7 in guacd_user_input_thread (data=0x2f353d20) at 
> user.c:127
> #11 0x2b8521a4 in start_thread (arg=0x2aab0d029700) at 
> pthread_create.c:309
> #12 0x2bd5965d in clone () from /lib64/libc.so.6
> (gdb) frame 5
> #5  0x2db6b160 in __guac_terminal_send_mouse (term=0x2aaab401bf60, 
> user=0x2aaab0002920, x=703, y=921,
> mask=0) at terminal.c:1715
> warning: Source file is more recent than executable.
> 1715guac_common_clipboard_reset(term->clipboard, 
> "text/plain");
> (gdb) p term->clipboard->length
> $6 = 9500
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (GUACAMOLE-146) Finer control of the tomcat context path in Docker

2018-09-30 Thread Nick Couchman (JIRA)


 [ 
https://issues.apache.org/jira/browse/GUACAMOLE-146?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nick Couchman updated GUACAMOLE-146:

Fix Version/s: (was: 1.0.1)
   2.0.0

> Finer control of the tomcat context path in Docker
> --
>
> Key: GUACAMOLE-146
> URL: https://issues.apache.org/jira/browse/GUACAMOLE-146
> Project: Guacamole
>  Issue Type: Improvement
>  Components: guacamole-docker
>Reporter: Emmanuel Frecon
>Assignee: Nick Couchman
>Priority: Minor
> Fix For: 2.0.0
>
>
> The current auto-deployment of the guacamole within tomcat leads to having 
> the regular tomcat startup page mapped on {{/}} and guacamole mapped to 
> {{/guacamole}}. Being able to control where guacamole gets to be deployed and 
> served by tomcat would provide an increased flexibility when guacamole is 
> fitted to existing architectures. For example, most docker-based deployments 
> will use reverse-proxying to provide scalability and security.
> An initial fix for this is 
> [available|https://github.com/apache/incubator-guacamole-client/pull/97/commits/1386239d3c12987daa774ed387a41c1471444f87].
>  However, this does not provide full flexibility. As 
> [described|https://github.com/apache/incubator-guacamole-client/pull/97#issuecomment-268341268],
>  using an environment variable to control the context path would be a much 
> better solution as it would provide full flexibility while still maintaining 
> backwards compabitibility.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (GUACAMOLE-569) Add translation for Simplified Chinese

2018-09-30 Thread Nick Couchman (JIRA)


 [ 
https://issues.apache.org/jira/browse/GUACAMOLE-569?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nick Couchman updated GUACAMOLE-569:

Fix Version/s: (was: 1.0.1)
   2.0.0

> Add translation for Simplified Chinese
> --
>
> Key: GUACAMOLE-569
> URL: https://issues.apache.org/jira/browse/GUACAMOLE-569
> Project: Guacamole
>  Issue Type: Improvement
>  Components: guacamole-client
>Reporter: Freddie Wu
>Priority: Minor
> Fix For: 2.0.0
>
>
> Add support for Simplified Chinese translation (zh).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (GUACAMOLE-572) guacamole-server README says "test-based protocol" instead of "text-based protocol"

2018-09-30 Thread Nick Couchman (JIRA)


 [ 
https://issues.apache.org/jira/browse/GUACAMOLE-572?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nick Couchman updated GUACAMOLE-572:

Fix Version/s: (was: 1.0.1)
   2.0.0

> guacamole-server README says "test-based protocol" instead of "text-based 
> protocol"
> ---
>
> Key: GUACAMOLE-572
> URL: https://issues.apache.org/jira/browse/GUACAMOLE-572
> Project: Guacamole
>  Issue Type: Bug
>  Components: Documentation
>Reporter: Liron Newman
>Priority: Trivial
> Fix For: 2.0.0
>
>
> [guacamole-server 
> README|https://github.com/apache/guacamole-server/blob/master/README] says 
> "test-based protocol" instead of "text-based protocol".



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (GUACAMOLE-598) Fail cleanly if authentication backend is down / misconfigured

2018-09-30 Thread Nick Couchman (JIRA)


 [ 
https://issues.apache.org/jira/browse/GUACAMOLE-598?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nick Couchman updated GUACAMOLE-598:

Fix Version/s: (was: 1.0.1)
   2.0.0

> Fail cleanly if authentication backend is down / misconfigured
> --
>
> Key: GUACAMOLE-598
> URL: https://issues.apache.org/jira/browse/GUACAMOLE-598
> Project: Guacamole
>  Issue Type: Improvement
>  Components: guacamole
>Reporter: Michael Jumper
>Assignee: Michael Jumper
>Priority: Major
> Fix For: 2.0.0
>
> Attachments: guac-generic-error.png
>
>
> Depending on the extension in use, it is possible for a backend 
> authentication system (such as a MySQL database, LDAP directory, etc.) to 
> become unreachable or to be fatally misconfigured, resulting in an internal 
> failure during authentication attempts. Because of the way such internal 
> failures are handled, this can cause the Guacamole login screen to fail to 
> display entirely, masking any notification that might advise the user of the 
> failure.
> The authentication system should fail cleanly. As long as doing so does not 
> reveal sensitive information about the system, the fact that an error has 
> occurred should be relayed to the user such that they can contact their 
> administrator or check the relevant logs.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (GUACAMOLE-191) Allow deselection of text in terminal by single clicking

2018-09-30 Thread Nick Couchman (JIRA)


 [ 
https://issues.apache.org/jira/browse/GUACAMOLE-191?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nick Couchman updated GUACAMOLE-191:

Fix Version/s: (was: 1.0.1)
   2.0.0

> Allow deselection of text in terminal by single clicking
> 
>
> Key: GUACAMOLE-191
> URL: https://issues.apache.org/jira/browse/GUACAMOLE-191
> Project: Guacamole
>  Issue Type: Improvement
>  Components: Terminal
>Reporter: Michael Jumper
>Assignee: Michael Jumper
>Priority: Major
> Fix For: 2.0.0
>
>
> {panel:bgColor=#EE}
> *The description of this issue was copied from 
> [GUAC-1058|https://glyptodon.org/jira/browse/GUAC-1058], 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}
> Currently, there is no way to deselect text in a terminal session. Usually, 
> when using a terminal, one can click anywhere to deselect the text, and users 
> will expect this behavior in a Guacamole terminal session.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (GUACAMOLE-573) Allow selection of text in terminal while scrolling

2018-09-30 Thread Nick Couchman (JIRA)


 [ 
https://issues.apache.org/jira/browse/GUACAMOLE-573?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nick Couchman updated GUACAMOLE-573:

Fix Version/s: (was: 1.0.1)
   2.0.0

> Allow selection of text in terminal while scrolling
> ---
>
> Key: GUACAMOLE-573
> URL: https://issues.apache.org/jira/browse/GUACAMOLE-573
> Project: Guacamole
>  Issue Type: Improvement
>  Components: Terminal
>Reporter: Michael Jumper
>Assignee: Michael Jumper
>Priority: Major
> Fix For: 2.0.0
>
>
> Guacamole's terminal emulator currently only allows for selecting text that 
> is currently visible on the screen. It is not possible to select text 
> spanning multiple screenfuls, nor is it possible to continuously select while 
> scrolling.
> The terminal emulator should be modified such that:
> # Text can be selected from anywhere in the scrollback buffer, even if that 
> region is too large to fit within the visible screen area.
> # The selected region can be modified while scrolling is in progress.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (GUACAMOLE-437) Allow to configure custom headers for Guacamole tunnels

2018-09-30 Thread Michael Jumper (JIRA)


 [ 
https://issues.apache.org/jira/browse/GUACAMOLE-437?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Jumper resolved GUACAMOLE-437.
--
Resolution: Done

> Allow to configure custom headers for Guacamole tunnels
> ---
>
> Key: GUACAMOLE-437
> URL: https://issues.apache.org/jira/browse/GUACAMOLE-437
> Project: Guacamole
>  Issue Type: Improvement
>  Components: guacamole-common-js
>Reporter: Ignasi Barrera
>Assignee: Michael Jumper
>Priority: Major
> Fix For: 1.0.0
>
>
> When establishing a Guacamole tunnel to an endpoint that requires (for 
> example) authentication, it is often needed to send custom headers. The 
> existing withCredentials option works well for session cookies in 
> cross-domain environments, but when there are no sessions or authentication 
> relies on headers, there is no way to have an authenticated tunnel request.
> A mechanism to configure custom headers for Guacamole tunnels would allow 
> users to configure custom headers that might be needed for their systems, 
> such as authentication headers, distributed tracing correlation headers, 
> request signatures, etc.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[2/3] guacamole-client git commit: GUACAMOLE-437: Merge remove erroneous non-breaking spaces from source.

2018-09-30 Thread vnick
GUACAMOLE-437: Merge remove erroneous non-breaking spaces from source.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/aa7cd9d2
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/aa7cd9d2
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/aa7cd9d2

Branch: refs/heads/master
Commit: aa7cd9d261fa1e99f1858863b5e6d9f6cdec36cd
Parents: e861027 dee4e89
Author: Nick Couchman 
Authored: Sun Sep 30 08:40:24 2018 -0400
Committer: Nick Couchman 
Committed: Sun Sep 30 08:40:24 2018 -0400

--
 guacamole-common-js/src/main/webapp/modules/Tunnel.js | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--




[3/3] guacamole-client git commit: Merge 1.0.0 changes back to master.

2018-09-30 Thread vnick
Merge 1.0.0 changes back to master.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/3ff58129
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/3ff58129
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/3ff58129

Branch: refs/heads/master
Commit: 3ff58129cb3e134826fe1ec961e2a01c0739ea25
Parents: d1a6c29 aa7cd9d
Author: Nick Couchman 
Authored: Sun Sep 30 08:41:28 2018 -0400
Committer: Nick Couchman 
Committed: Sun Sep 30 08:41:28 2018 -0400

--
 guacamole-common-js/src/main/webapp/modules/Tunnel.js | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--




[2/2] guacamole-client git commit: GUACAMOLE-437: Merge remove erroneous non-breaking spaces from source.

2018-09-30 Thread vnick
GUACAMOLE-437: Merge remove erroneous non-breaking spaces from source.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/aa7cd9d2
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/aa7cd9d2
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/aa7cd9d2

Branch: refs/heads/staging/1.0.0
Commit: aa7cd9d261fa1e99f1858863b5e6d9f6cdec36cd
Parents: e861027 dee4e89
Author: Nick Couchman 
Authored: Sun Sep 30 08:40:24 2018 -0400
Committer: Nick Couchman 
Committed: Sun Sep 30 08:40:24 2018 -0400

--
 guacamole-common-js/src/main/webapp/modules/Tunnel.js | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--