You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@guacamole.apache.org by jm...@apache.org on 2016/03/29 06:20:10 UTC
[01/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Remove useless .net.basic subpackage, now that everything is being renamed.
Repository: incubator-guacamole-client
Updated Branches:
refs/heads/master 2358d8868 -> 0d39a04a1
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/GuacamoleWebSocketTunnelServlet.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/GuacamoleWebSocketTunnelServlet.java b/guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/GuacamoleWebSocketTunnelServlet.java
new file mode 100644
index 0000000..832faee
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/GuacamoleWebSocketTunnelServlet.java
@@ -0,0 +1,232 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.websocket.jetty8;
+
+import java.io.IOException;
+import javax.servlet.http.HttpServletRequest;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.io.GuacamoleReader;
+import org.apache.guacamole.io.GuacamoleWriter;
+import org.apache.guacamole.net.GuacamoleTunnel;
+import org.eclipse.jetty.websocket.WebSocket;
+import org.eclipse.jetty.websocket.WebSocket.Connection;
+import org.eclipse.jetty.websocket.WebSocketServlet;
+import org.apache.guacamole.GuacamoleClientException;
+import org.apache.guacamole.GuacamoleConnectionClosedException;
+import org.apache.guacamole.HTTPTunnelRequest;
+import org.apache.guacamole.TunnelRequest;
+import org.apache.guacamole.protocol.GuacamoleStatus;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * A WebSocketServlet partial re-implementation of GuacamoleTunnelServlet.
+ *
+ * @author Michael Jumper
+ */
+public abstract class GuacamoleWebSocketTunnelServlet extends WebSocketServlet {
+
+ /**
+ * Logger for this class.
+ */
+ private static final Logger logger = LoggerFactory.getLogger(GuacamoleWebSocketTunnelServlet.class);
+
+ /**
+ * The default, minimum buffer size for instructions.
+ */
+ private static final int BUFFER_SIZE = 8192;
+
+ /**
+ * Sends the given status on the given WebSocket connection and closes the
+ * connection.
+ *
+ * @param connection The WebSocket connection to close.
+ * @param guac_status The status to send.
+ */
+ public static void closeConnection(Connection connection,
+ GuacamoleStatus guac_status) {
+
+ connection.close(guac_status.getWebSocketCode(),
+ Integer.toString(guac_status.getGuacamoleStatusCode()));
+
+ }
+
+ @Override
+ public WebSocket doWebSocketConnect(HttpServletRequest request, String protocol) {
+
+ final TunnelRequest tunnelRequest = new HTTPTunnelRequest(request);
+
+ // Return new WebSocket which communicates through tunnel
+ return new WebSocket.OnTextMessage() {
+
+ /**
+ * The GuacamoleTunnel associated with the connected WebSocket. If
+ * the WebSocket has not yet been connected, this will be null.
+ */
+ private GuacamoleTunnel tunnel = null;
+
+ @Override
+ public void onMessage(String string) {
+
+ // Ignore inbound messages if there is no associated tunnel
+ if (tunnel == null)
+ return;
+
+ GuacamoleWriter writer = tunnel.acquireWriter();
+
+ // Write message received
+ try {
+ writer.write(string.toCharArray());
+ }
+ catch (GuacamoleConnectionClosedException e) {
+ logger.debug("Connection to guacd closed.", e);
+ }
+ catch (GuacamoleException e) {
+ logger.debug("WebSocket tunnel write failed.", e);
+ }
+
+ tunnel.releaseWriter();
+
+ }
+
+ @Override
+ public void onOpen(final Connection connection) {
+
+ try {
+ tunnel = doConnect(tunnelRequest);
+ }
+ catch (GuacamoleException e) {
+ logger.error("Creation of WebSocket tunnel to guacd failed: {}", e.getMessage());
+ logger.debug("Error connecting WebSocket tunnel.", e);
+ closeConnection(connection, e.getStatus());
+ return;
+ }
+
+ // Do not start connection if tunnel does not exist
+ if (tunnel == null) {
+ closeConnection(connection, GuacamoleStatus.RESOURCE_NOT_FOUND);
+ return;
+ }
+
+ Thread readThread = new Thread() {
+
+ @Override
+ public void run() {
+
+ StringBuilder buffer = new StringBuilder(BUFFER_SIZE);
+ GuacamoleReader reader = tunnel.acquireReader();
+ char[] readMessage;
+
+ try {
+
+ try {
+
+ // Attempt to read
+ while ((readMessage = reader.read()) != null) {
+
+ // Buffer message
+ buffer.append(readMessage);
+
+ // Flush if we expect to wait or buffer is getting full
+ if (!reader.available() || buffer.length() >= BUFFER_SIZE) {
+ connection.sendMessage(buffer.toString());
+ buffer.setLength(0);
+ }
+
+ }
+
+ // No more data
+ closeConnection(connection, GuacamoleStatus.SUCCESS);
+
+ }
+
+ // Catch any thrown guacamole exception and attempt
+ // to pass within the WebSocket connection, logging
+ // each error appropriately.
+ catch (GuacamoleClientException e) {
+ logger.info("WebSocket connection terminated: {}", e.getMessage());
+ logger.debug("WebSocket connection terminated due to client error.", e);
+ closeConnection(connection, e.getStatus());
+ }
+ catch (GuacamoleConnectionClosedException e) {
+ logger.debug("Connection to guacd closed.", e);
+ closeConnection(connection, GuacamoleStatus.SUCCESS);
+ }
+ catch (GuacamoleException e) {
+ logger.error("Connection to guacd terminated abnormally: {}", e.getMessage());
+ logger.debug("Internal error during connection to guacd.", e);
+ closeConnection(connection, e.getStatus());
+ }
+
+ }
+ catch (IOException e) {
+ logger.debug("WebSocket tunnel read failed due to I/O error.", e);
+ }
+
+ }
+
+ };
+
+ readThread.start();
+
+ }
+
+ @Override
+ public void onClose(int i, String string) {
+ try {
+ if (tunnel != null)
+ tunnel.close();
+ }
+ catch (GuacamoleException e) {
+ logger.debug("Unable to close connection to guacd.", e);
+ }
+ }
+
+ };
+
+ }
+
+ /**
+ * Called whenever the JavaScript Guacamole client makes a connection
+ * request. It it up to the implementor of this function to define what
+ * conditions must be met for a tunnel to be configured and returned as a
+ * result of this connection request (whether some sort of credentials must
+ * be specified, for example).
+ *
+ * @param request
+ * The TunnelRequest associated with the connection request received.
+ * Any parameters specified along with the connection request can be
+ * read from this object.
+ *
+ * @return
+ * A newly constructed GuacamoleTunnel if successful, null otherwise.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while constructing the GuacamoleTunnel, or if the
+ * conditions required for connection are not met.
+ */
+ protected abstract GuacamoleTunnel doConnect(TunnelRequest request)
+ throws GuacamoleException;
+
+}
+
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/WebSocketTunnelModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/WebSocketTunnelModule.java b/guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/WebSocketTunnelModule.java
new file mode 100644
index 0000000..16c17a1
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/WebSocketTunnelModule.java
@@ -0,0 +1,73 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.websocket.jetty8;
+
+import com.google.inject.servlet.ServletModule;
+import org.apache.guacamole.TunnelLoader;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Loads the Jetty 8 WebSocket tunnel implementation.
+ *
+ * @author Michael Jumper
+ */
+public class WebSocketTunnelModule extends ServletModule implements TunnelLoader {
+
+ /**
+ * Logger for this class.
+ */
+ private final Logger logger = LoggerFactory.getLogger(WebSocketTunnelModule.class);
+
+ @Override
+ public boolean isSupported() {
+
+ try {
+
+ // Attempt to find WebSocket servlet
+ Class.forName("org.apache.guacamole.websocket.jetty8.BasicGuacamoleWebSocketTunnelServlet");
+
+ // Support found
+ return true;
+
+ }
+
+ // If no such servlet class, this particular WebSocket support
+ // is not present
+ catch (ClassNotFoundException e) {}
+ catch (NoClassDefFoundError e) {}
+
+ // Support not found
+ return false;
+
+ }
+
+ @Override
+ public void configureServlets() {
+
+ logger.info("Loading Jetty 8 WebSocket support...");
+ serve("/websocket-tunnel").with(BasicGuacamoleWebSocketTunnelServlet.class);
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/package-info.java b/guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/package-info.java
new file mode 100644
index 0000000..584892e
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/package-info.java
@@ -0,0 +1,27 @@
+/*
+ * 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.
+ */
+
+/**
+ * Jetty 8 WebSocket tunnel implementation. The classes here require Jetty 8.
+ */
+package org.apache.guacamole.websocket.jetty8;
+
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/BasicGuacamoleWebSocketCreator.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/BasicGuacamoleWebSocketCreator.java b/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/BasicGuacamoleWebSocketCreator.java
new file mode 100644
index 0000000..9528509
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/BasicGuacamoleWebSocketCreator.java
@@ -0,0 +1,72 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.websocket.jetty9;
+
+import org.eclipse.jetty.websocket.api.UpgradeRequest;
+import org.eclipse.jetty.websocket.api.UpgradeResponse;
+import org.eclipse.jetty.websocket.servlet.WebSocketCreator;
+import org.apache.guacamole.TunnelRequestService;
+
+/**
+ * WebSocketCreator which selects the appropriate WebSocketListener
+ * implementation if the "guacamole" subprotocol is in use.
+ *
+ * @author Michael Jumper
+ */
+public class BasicGuacamoleWebSocketCreator implements WebSocketCreator {
+
+ /**
+ * Service for handling tunnel requests.
+ */
+ private final TunnelRequestService tunnelRequestService;
+
+ /**
+ * Creates a new WebSocketCreator which uses the given TunnelRequestService
+ * to create new GuacamoleTunnels for inbound requests.
+ *
+ * @param tunnelRequestService The service to use for inbound tunnel
+ * requests.
+ */
+ public BasicGuacamoleWebSocketCreator(TunnelRequestService tunnelRequestService) {
+ this.tunnelRequestService = tunnelRequestService;
+ }
+
+ @Override
+ public Object createWebSocket(UpgradeRequest request, UpgradeResponse response) {
+
+ // Validate and use "guacamole" subprotocol
+ for (String subprotocol : request.getSubProtocols()) {
+
+ if ("guacamole".equals(subprotocol)) {
+ response.setAcceptedSubProtocol(subprotocol);
+ return new BasicGuacamoleWebSocketTunnelListener(tunnelRequestService);
+ }
+
+ }
+
+ // Invalid protocol
+ return null;
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/BasicGuacamoleWebSocketTunnelListener.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/BasicGuacamoleWebSocketTunnelListener.java b/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/BasicGuacamoleWebSocketTunnelListener.java
new file mode 100644
index 0000000..2c2e91c
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/BasicGuacamoleWebSocketTunnelListener.java
@@ -0,0 +1,59 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.websocket.jetty9;
+
+import org.eclipse.jetty.websocket.api.Session;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.net.GuacamoleTunnel;
+import org.apache.guacamole.TunnelRequestService;
+
+/**
+ * WebSocket listener implementation which properly parses connection IDs
+ * included in the connection request.
+ *
+ * @author Michael Jumper
+ */
+public class BasicGuacamoleWebSocketTunnelListener extends GuacamoleWebSocketTunnelListener {
+
+ /**
+ * Service for handling tunnel requests.
+ */
+ private final TunnelRequestService tunnelRequestService;
+
+ /**
+ * Creates a new WebSocketListener which uses the given TunnelRequestService
+ * to create new GuacamoleTunnels for inbound requests.
+ *
+ * @param tunnelRequestService The service to use for inbound tunnel
+ * requests.
+ */
+ public BasicGuacamoleWebSocketTunnelListener(TunnelRequestService tunnelRequestService) {
+ this.tunnelRequestService = tunnelRequestService;
+ }
+
+ @Override
+ protected GuacamoleTunnel createTunnel(Session session) throws GuacamoleException {
+ return tunnelRequestService.createTunnel(new WebSocketTunnelRequest(session.getUpgradeRequest()));
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/BasicGuacamoleWebSocketTunnelServlet.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/BasicGuacamoleWebSocketTunnelServlet.java b/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/BasicGuacamoleWebSocketTunnelServlet.java
new file mode 100644
index 0000000..f16558d
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/BasicGuacamoleWebSocketTunnelServlet.java
@@ -0,0 +1,54 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.websocket.jetty9;
+
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+import org.eclipse.jetty.websocket.servlet.WebSocketServlet;
+import org.eclipse.jetty.websocket.servlet.WebSocketServletFactory;
+import org.apache.guacamole.TunnelRequestService;
+
+/**
+ * A WebSocketServlet partial re-implementation of GuacamoleTunnelServlet.
+ *
+ * @author Michael Jumper
+ */
+@Singleton
+public class BasicGuacamoleWebSocketTunnelServlet extends WebSocketServlet {
+
+ /**
+ * Service for handling tunnel requests.
+ */
+ @Inject
+ private TunnelRequestService tunnelRequestService;
+
+ @Override
+ public void configure(WebSocketServletFactory factory) {
+
+ // Register WebSocket implementation
+ factory.setCreator(new BasicGuacamoleWebSocketCreator(tunnelRequestService));
+
+ }
+
+}
+
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/GuacamoleWebSocketTunnelListener.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/GuacamoleWebSocketTunnelListener.java b/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/GuacamoleWebSocketTunnelListener.java
new file mode 100644
index 0000000..368913d
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/GuacamoleWebSocketTunnelListener.java
@@ -0,0 +1,243 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.websocket.jetty9;
+
+import java.io.IOException;
+import org.eclipse.jetty.websocket.api.CloseStatus;
+import org.eclipse.jetty.websocket.api.RemoteEndpoint;
+import org.eclipse.jetty.websocket.api.Session;
+import org.eclipse.jetty.websocket.api.WebSocketListener;
+import org.apache.guacamole.GuacamoleClientException;
+import org.apache.guacamole.GuacamoleConnectionClosedException;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.io.GuacamoleReader;
+import org.apache.guacamole.io.GuacamoleWriter;
+import org.apache.guacamole.net.GuacamoleTunnel;
+import org.apache.guacamole.protocol.GuacamoleStatus;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * WebSocket listener implementation which provides a Guacamole tunnel
+ *
+ * @author Michael Jumper
+ */
+public abstract class GuacamoleWebSocketTunnelListener implements WebSocketListener {
+
+ /**
+ * The default, minimum buffer size for instructions.
+ */
+ private static final int BUFFER_SIZE = 8192;
+
+ /**
+ * Logger for this class.
+ */
+ private static final Logger logger = LoggerFactory.getLogger(BasicGuacamoleWebSocketTunnelServlet.class);
+
+ /**
+ * The underlying GuacamoleTunnel. WebSocket reads/writes will be handled
+ * as reads/writes to this tunnel.
+ */
+ private GuacamoleTunnel tunnel;
+
+ /**
+ * Sends the given status on the given WebSocket connection and closes the
+ * connection.
+ *
+ * @param session The outbound WebSocket connection to close.
+ * @param guac_status The status to send.
+ */
+ private void closeConnection(Session session, GuacamoleStatus guac_status) {
+
+ try {
+ int code = guac_status.getWebSocketCode();
+ String message = Integer.toString(guac_status.getGuacamoleStatusCode());
+ session.close(new CloseStatus(code, message));
+ }
+ catch (IOException e) {
+ logger.debug("Unable to close WebSocket connection.", e);
+ }
+
+ }
+
+ /**
+ * Returns a new tunnel for the given session. How this tunnel is created
+ * or retrieved is implementation-dependent.
+ *
+ * @param session The session associated with the active WebSocket
+ * connection.
+ * @return A connected tunnel, or null if no such tunnel exists.
+ * @throws GuacamoleException If an error occurs while retrieving the
+ * tunnel, or if access to the tunnel is denied.
+ */
+ protected abstract GuacamoleTunnel createTunnel(Session session)
+ throws GuacamoleException;
+
+ @Override
+ public void onWebSocketConnect(final Session session) {
+
+ try {
+
+ // Get tunnel
+ tunnel = createTunnel(session);
+ if (tunnel == null) {
+ closeConnection(session, GuacamoleStatus.RESOURCE_NOT_FOUND);
+ return;
+ }
+
+ }
+ catch (GuacamoleException e) {
+ logger.error("Creation of WebSocket tunnel to guacd failed: {}", e.getMessage());
+ logger.debug("Error connecting WebSocket tunnel.", e);
+ closeConnection(session, e.getStatus());
+ return;
+ }
+
+ // Prepare read transfer thread
+ Thread readThread = new Thread() {
+
+ /**
+ * Remote (client) side of this connection
+ */
+ private final RemoteEndpoint remote = session.getRemote();
+
+ @Override
+ public void run() {
+
+ StringBuilder buffer = new StringBuilder(BUFFER_SIZE);
+ GuacamoleReader reader = tunnel.acquireReader();
+ char[] readMessage;
+
+ try {
+
+ try {
+
+ // Attempt to read
+ while ((readMessage = reader.read()) != null) {
+
+ // Buffer message
+ buffer.append(readMessage);
+
+ // Flush if we expect to wait or buffer is getting full
+ if (!reader.available() || buffer.length() >= BUFFER_SIZE) {
+ remote.sendString(buffer.toString());
+ buffer.setLength(0);
+ }
+
+ }
+
+ // No more data
+ closeConnection(session, GuacamoleStatus.SUCCESS);
+
+ }
+
+ // Catch any thrown guacamole exception and attempt
+ // to pass within the WebSocket connection, logging
+ // each error appropriately.
+ catch (GuacamoleClientException e) {
+ logger.info("WebSocket connection terminated: {}", e.getMessage());
+ logger.debug("WebSocket connection terminated due to client error.", e);
+ closeConnection(session, e.getStatus());
+ }
+ catch (GuacamoleConnectionClosedException e) {
+ logger.debug("Connection to guacd closed.", e);
+ closeConnection(session, GuacamoleStatus.SUCCESS);
+ }
+ catch (GuacamoleException e) {
+ logger.error("Connection to guacd terminated abnormally: {}", e.getMessage());
+ logger.debug("Internal error during connection to guacd.", e);
+ closeConnection(session, e.getStatus());
+ }
+
+ }
+ catch (IOException e) {
+ logger.debug("I/O error prevents further reads.", e);
+ }
+
+ }
+
+ };
+
+ readThread.start();
+
+ }
+
+ @Override
+ public void onWebSocketText(String message) {
+
+ // Ignore inbound messages if there is no associated tunnel
+ if (tunnel == null)
+ return;
+
+ GuacamoleWriter writer = tunnel.acquireWriter();
+
+ try {
+ // Write received message
+ writer.write(message.toCharArray());
+ }
+ catch (GuacamoleConnectionClosedException e) {
+ logger.debug("Connection to guacd closed.", e);
+ }
+ catch (GuacamoleException e) {
+ logger.debug("WebSocket tunnel write failed.", e);
+ }
+
+ tunnel.releaseWriter();
+
+ }
+
+ @Override
+ public void onWebSocketBinary(byte[] payload, int offset, int length) {
+ throw new UnsupportedOperationException("Binary WebSocket messages are not supported.");
+ }
+
+ @Override
+ public void onWebSocketError(Throwable t) {
+
+ logger.debug("WebSocket tunnel closing due to error.", t);
+
+ try {
+ if (tunnel != null)
+ tunnel.close();
+ }
+ catch (GuacamoleException e) {
+ logger.debug("Unable to close connection to guacd.", e);
+ }
+
+ }
+
+
+ @Override
+ public void onWebSocketClose(int statusCode, String reason) {
+
+ try {
+ if (tunnel != null)
+ tunnel.close();
+ }
+ catch (GuacamoleException e) {
+ logger.debug("Unable to close connection to guacd.", e);
+ }
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/WebSocketTunnelModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/WebSocketTunnelModule.java b/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/WebSocketTunnelModule.java
new file mode 100644
index 0000000..aa62797
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/WebSocketTunnelModule.java
@@ -0,0 +1,73 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.websocket.jetty9;
+
+import com.google.inject.servlet.ServletModule;
+import org.apache.guacamole.TunnelLoader;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Loads the Jetty 9 WebSocket tunnel implementation.
+ *
+ * @author Michael Jumper
+ */
+public class WebSocketTunnelModule extends ServletModule implements TunnelLoader {
+
+ /**
+ * Logger for this class.
+ */
+ private final Logger logger = LoggerFactory.getLogger(WebSocketTunnelModule.class);
+
+ @Override
+ public boolean isSupported() {
+
+ try {
+
+ // Attempt to find WebSocket servlet
+ Class.forName("org.apache.guacamole.websocket.jetty9.BasicGuacamoleWebSocketTunnelServlet");
+
+ // Support found
+ return true;
+
+ }
+
+ // If no such servlet class, this particular WebSocket support
+ // is not present
+ catch (ClassNotFoundException e) {}
+ catch (NoClassDefFoundError e) {}
+
+ // Support not found
+ return false;
+
+ }
+
+ @Override
+ public void configureServlets() {
+
+ logger.info("Loading Jetty 9 WebSocket support...");
+ serve("/websocket-tunnel").with(BasicGuacamoleWebSocketTunnelServlet.class);
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/WebSocketTunnelRequest.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/WebSocketTunnelRequest.java b/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/WebSocketTunnelRequest.java
new file mode 100644
index 0000000..4625be3
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/WebSocketTunnelRequest.java
@@ -0,0 +1,76 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.websocket.jetty9;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import org.eclipse.jetty.websocket.api.UpgradeRequest;
+import org.apache.guacamole.TunnelRequest;
+
+/**
+ * Jetty 9 WebSocket-specific implementation of TunnelRequest.
+ *
+ * @author Michael Jumper
+ */
+public class WebSocketTunnelRequest extends TunnelRequest {
+
+ /**
+ * All parameters passed via HTTP to the WebSocket handshake.
+ */
+ private final Map<String, String[]> handshakeParameters;
+
+ /**
+ * Creates a TunnelRequest implementation which delegates parameter and
+ * session retrieval to the given UpgradeRequest.
+ *
+ * @param request The UpgradeRequest to wrap.
+ */
+ public WebSocketTunnelRequest(UpgradeRequest request) {
+ this.handshakeParameters = request.getParameterMap();
+ }
+
+ @Override
+ public String getParameter(String name) {
+
+ // Pull list of values, if present
+ List<String> values = getParameterValues(name);
+ if (values == null || values.isEmpty())
+ return null;
+
+ // Return first parameter value arbitrarily
+ return values.get(0);
+
+ }
+
+ @Override
+ public List<String> getParameterValues(String name) {
+
+ String[] values = handshakeParameters.get(name);
+ if (values == null)
+ return null;
+
+ return Arrays.asList(values);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/package-info.java b/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/package-info.java
new file mode 100644
index 0000000..9b46c78
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/package-info.java
@@ -0,0 +1,28 @@
+/*
+ * 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.
+ */
+
+/**
+ * Jetty 9 WebSocket tunnel implementation. The classes here require at least
+ * Jetty 9, prior to Jetty 9.1 (when support for JSR 356 was implemented).
+ */
+package org.apache.guacamole.websocket.jetty9;
+
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/websocket/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/package-info.java b/guacamole/src/main/java/org/apache/guacamole/websocket/package-info.java
new file mode 100644
index 0000000..b478bff
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/websocket/package-info.java
@@ -0,0 +1,28 @@
+/*
+ * 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.
+ */
+
+/**
+ * Standard WebSocket tunnel implementation. The classes here require a recent
+ * servlet container that supports JSR 356.
+ */
+package org.apache.guacamole.websocket;
+
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/BasicGuacamoleWebSocketTunnelServlet.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/BasicGuacamoleWebSocketTunnelServlet.java b/guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/BasicGuacamoleWebSocketTunnelServlet.java
new file mode 100644
index 0000000..73843e8
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/BasicGuacamoleWebSocketTunnelServlet.java
@@ -0,0 +1,52 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.websocket.tomcat;
+
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.net.GuacamoleTunnel;
+import org.apache.guacamole.TunnelRequestService;
+import org.apache.guacamole.TunnelRequest;
+
+/**
+ * Tunnel servlet implementation which uses WebSocket as a tunnel backend,
+ * rather than HTTP, properly parsing connection IDs included in the connection
+ * request.
+ */
+@Singleton
+public class BasicGuacamoleWebSocketTunnelServlet extends GuacamoleWebSocketTunnelServlet {
+
+ /**
+ * Service for handling tunnel requests.
+ */
+ @Inject
+ private TunnelRequestService tunnelRequestService;
+
+ @Override
+ protected GuacamoleTunnel doConnect(TunnelRequest request)
+ throws GuacamoleException {
+ return tunnelRequestService.createTunnel(request);
+ };
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/GuacamoleWebSocketTunnelServlet.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/GuacamoleWebSocketTunnelServlet.java b/guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/GuacamoleWebSocketTunnelServlet.java
new file mode 100644
index 0000000..2927584
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/GuacamoleWebSocketTunnelServlet.java
@@ -0,0 +1,265 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.websocket.tomcat;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.Reader;
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
+import java.util.List;
+import javax.servlet.http.HttpServletRequest;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.io.GuacamoleReader;
+import org.apache.guacamole.io.GuacamoleWriter;
+import org.apache.guacamole.net.GuacamoleTunnel;
+import org.apache.catalina.websocket.StreamInbound;
+import org.apache.catalina.websocket.WebSocketServlet;
+import org.apache.catalina.websocket.WsOutbound;
+import org.apache.guacamole.GuacamoleClientException;
+import org.apache.guacamole.GuacamoleConnectionClosedException;
+import org.apache.guacamole.HTTPTunnelRequest;
+import org.apache.guacamole.TunnelRequest;
+import org.apache.guacamole.protocol.GuacamoleStatus;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * A WebSocketServlet partial re-implementation of GuacamoleTunnelServlet.
+ *
+ * @author Michael Jumper
+ */
+public abstract class GuacamoleWebSocketTunnelServlet extends WebSocketServlet {
+
+ /**
+ * The default, minimum buffer size for instructions.
+ */
+ private static final int BUFFER_SIZE = 8192;
+
+ /**
+ * Logger for this class.
+ */
+ private final Logger logger = LoggerFactory.getLogger(GuacamoleWebSocketTunnelServlet.class);
+
+ /**
+ * Sends the given status on the given WebSocket connection and closes the
+ * connection.
+ *
+ * @param outbound The outbound WebSocket connection to close.
+ * @param guac_status The status to send.
+ */
+ public void closeConnection(WsOutbound outbound, GuacamoleStatus guac_status) {
+
+ try {
+ byte[] message = Integer.toString(guac_status.getGuacamoleStatusCode()).getBytes("UTF-8");
+ outbound.close(guac_status.getWebSocketCode(), ByteBuffer.wrap(message));
+ }
+ catch (IOException e) {
+ logger.debug("Unable to close WebSocket tunnel.", e);
+ }
+
+ }
+
+ @Override
+ protected String selectSubProtocol(List<String> subProtocols) {
+
+ // Search for expected protocol
+ for (String protocol : subProtocols)
+ if ("guacamole".equals(protocol))
+ return "guacamole";
+
+ // Otherwise, fail
+ return null;
+
+ }
+
+ @Override
+ public StreamInbound createWebSocketInbound(String protocol,
+ HttpServletRequest request) {
+
+ final TunnelRequest tunnelRequest = new HTTPTunnelRequest(request);
+
+ // Return new WebSocket which communicates through tunnel
+ return new StreamInbound() {
+
+ /**
+ * The GuacamoleTunnel associated with the connected WebSocket. If
+ * the WebSocket has not yet been connected, this will be null.
+ */
+ private GuacamoleTunnel tunnel = null;
+
+ @Override
+ protected void onTextData(Reader reader) throws IOException {
+
+ // Ignore inbound messages if there is no associated tunnel
+ if (tunnel == null)
+ return;
+
+ GuacamoleWriter writer = tunnel.acquireWriter();
+
+ // Write all available data
+ try {
+
+ char[] buffer = new char[BUFFER_SIZE];
+
+ int num_read;
+ while ((num_read = reader.read(buffer)) > 0)
+ writer.write(buffer, 0, num_read);
+
+ }
+ catch (GuacamoleConnectionClosedException e) {
+ logger.debug("Connection to guacd closed.", e);
+ }
+ catch (GuacamoleException e) {
+ logger.debug("WebSocket tunnel write failed.", e);
+ }
+
+ tunnel.releaseWriter();
+ }
+
+ @Override
+ public void onOpen(final WsOutbound outbound) {
+
+ try {
+ tunnel = doConnect(tunnelRequest);
+ }
+ catch (GuacamoleException e) {
+ logger.error("Creation of WebSocket tunnel to guacd failed: {}", e.getMessage());
+ logger.debug("Error connecting WebSocket tunnel.", e);
+ closeConnection(outbound, e.getStatus());
+ return;
+ }
+
+ // Do not start connection if tunnel does not exist
+ if (tunnel == null) {
+ closeConnection(outbound, GuacamoleStatus.RESOURCE_NOT_FOUND);
+ return;
+ }
+
+ Thread readThread = new Thread() {
+
+ @Override
+ public void run() {
+
+ StringBuilder buffer = new StringBuilder(BUFFER_SIZE);
+ GuacamoleReader reader = tunnel.acquireReader();
+ char[] readMessage;
+
+ try {
+
+ try {
+
+ // Attempt to read
+ while ((readMessage = reader.read()) != null) {
+
+ // Buffer message
+ buffer.append(readMessage);
+
+ // Flush if we expect to wait or buffer is getting full
+ if (!reader.available() || buffer.length() >= BUFFER_SIZE) {
+ outbound.writeTextMessage(CharBuffer.wrap(buffer));
+ buffer.setLength(0);
+ }
+
+ }
+
+ // No more data
+ closeConnection(outbound, GuacamoleStatus.SUCCESS);
+
+ }
+
+ // Catch any thrown guacamole exception and attempt
+ // to pass within the WebSocket connection, logging
+ // each error appropriately.
+ catch (GuacamoleClientException e) {
+ logger.info("WebSocket connection terminated: {}", e.getMessage());
+ logger.debug("WebSocket connection terminated due to client error.", e);
+ closeConnection(outbound, e.getStatus());
+ }
+ catch (GuacamoleConnectionClosedException e) {
+ logger.debug("Connection to guacd closed.", e);
+ closeConnection(outbound, GuacamoleStatus.SUCCESS);
+ }
+ catch (GuacamoleException e) {
+ logger.error("Connection to guacd terminated abnormally: {}", e.getMessage());
+ logger.debug("Internal error during connection to guacd.", e);
+ closeConnection(outbound, e.getStatus());
+ }
+
+ }
+ catch (IOException e) {
+ logger.debug("I/O error prevents further reads.", e);
+ }
+
+ }
+
+ };
+
+ readThread.start();
+
+ }
+
+ @Override
+ public void onClose(int i) {
+ try {
+ if (tunnel != null)
+ tunnel.close();
+ }
+ catch (GuacamoleException e) {
+ logger.debug("Unable to close connection to guacd.", e);
+ }
+ }
+
+ @Override
+ protected void onBinaryData(InputStream in) throws IOException {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ };
+
+ }
+
+ /**
+ * Called whenever the JavaScript Guacamole client makes a connection
+ * request. It it up to the implementor of this function to define what
+ * conditions must be met for a tunnel to be configured and returned as a
+ * result of this connection request (whether some sort of credentials must
+ * be specified, for example).
+ *
+ * @param request
+ * The TunnelRequest associated with the connection request received.
+ * Any parameters specified along with the connection request can be
+ * read from this object.
+ *
+ * @return
+ * A newly constructed GuacamoleTunnel if successful, null otherwise.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while constructing the GuacamoleTunnel, or if the
+ * conditions required for connection are not met.
+ */
+ protected abstract GuacamoleTunnel doConnect(TunnelRequest request)
+ throws GuacamoleException;
+
+}
+
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/WebSocketTunnelModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/WebSocketTunnelModule.java b/guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/WebSocketTunnelModule.java
new file mode 100644
index 0000000..85caf1b
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/WebSocketTunnelModule.java
@@ -0,0 +1,73 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.websocket.tomcat;
+
+import com.google.inject.servlet.ServletModule;
+import org.apache.guacamole.TunnelLoader;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Loads the Jetty 9 WebSocket tunnel implementation.
+ *
+ * @author Michael Jumper
+ */
+public class WebSocketTunnelModule extends ServletModule implements TunnelLoader {
+
+ /**
+ * Logger for this class.
+ */
+ private final Logger logger = LoggerFactory.getLogger(WebSocketTunnelModule.class);
+
+ @Override
+ public boolean isSupported() {
+
+ try {
+
+ // Attempt to find WebSocket servlet
+ Class.forName("org.apache.guacamole.websocket.tomcat.BasicGuacamoleWebSocketTunnelServlet");
+
+ // Support found
+ return true;
+
+ }
+
+ // If no such servlet class, this particular WebSocket support
+ // is not present
+ catch (ClassNotFoundException e) {}
+ catch (NoClassDefFoundError e) {}
+
+ // Support not found
+ return false;
+
+ }
+
+ @Override
+ public void configureServlets() {
+
+ logger.info("Loading Tomcat 7 WebSocket support...");
+ serve("/websocket-tunnel").with(BasicGuacamoleWebSocketTunnelServlet.class);
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/package-info.java b/guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/package-info.java
new file mode 100644
index 0000000..7083a3e
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/package-info.java
@@ -0,0 +1,29 @@
+/*
+ * 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.
+ */
+
+/**
+ * Tomcat WebSocket tunnel implementation. The classes here require at least
+ * Tomcat 7.0, and may change significantly as there is no common WebSocket
+ * API for Java yet.
+ */
+package org.apache.guacamole.websocket.tomcat;
+
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/webapp/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/WEB-INF/web.xml b/guacamole/src/main/webapp/WEB-INF/web.xml
index e1f535e..6e105f8 100644
--- a/guacamole/src/main/webapp/WEB-INF/web.xml
+++ b/guacamole/src/main/webapp/WEB-INF/web.xml
@@ -42,7 +42,7 @@
</filter-mapping>
<listener>
- <listener-class>org.apache.guacamole.net.basic.BasicServletContextListener</listener-class>
+ <listener-class>org.apache.guacamole.BasicServletContextListener</listener-class>
</listener>
<!-- Audio file mimetype mappings -->
[16/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Replace version 0.9.9 with version 0.9.9-incubating.
Posted by jm...@apache.org.
GUACAMOLE-1: Replace version 0.9.9 with version 0.9.9-incubating.
Project: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/commit/cbe3387d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/tree/cbe3387d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/diff/cbe3387d
Branch: refs/heads/master
Commit: cbe3387d9215d994c6e0db4f2e06667f5b8a3b3e
Parents: 648a6c9
Author: Michael Jumper <mj...@apache.org>
Authored: Tue Mar 22 14:43:50 2016 -0700
Committer: Michael Jumper <mj...@apache.org>
Committed: Mon Mar 28 20:49:58 2016 -0700
----------------------------------------------------------------------
doc/guacamole-example/pom.xml | 6 +++---
.../modules/guacamole-auth-jdbc-base/pom.xml | 2 +-
.../modules/guacamole-auth-jdbc-mysql/pom.xml | 4 ++--
.../src/main/resources/guac-manifest.json | 2 +-
.../modules/guacamole-auth-jdbc-postgresql/pom.xml | 4 ++--
.../src/main/resources/guac-manifest.json | 2 +-
extensions/guacamole-auth-jdbc/pom.xml | 4 ++--
extensions/guacamole-auth-ldap/pom.xml | 6 +++---
.../src/main/resources/guac-manifest.json | 2 +-
extensions/guacamole-auth-noauth/pom.xml | 6 +++---
.../src/main/resources/guac-manifest.json | 2 +-
guacamole-common-js/pom.xml | 2 +-
guacamole-common/pom.xml | 2 +-
guacamole-ext/pom.xml | 4 ++--
guacamole/pom.xml | 8 ++++----
.../java/org/apache/guacamole/extension/ExtensionModule.java | 2 +-
pom.xml | 2 +-
17 files changed, 30 insertions(+), 30 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/cbe3387d/doc/guacamole-example/pom.xml
----------------------------------------------------------------------
diff --git a/doc/guacamole-example/pom.xml b/doc/guacamole-example/pom.xml
index 9afb815..c908db2 100644
--- a/doc/guacamole-example/pom.xml
+++ b/doc/guacamole-example/pom.xml
@@ -5,7 +5,7 @@
<groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-example</artifactId>
<packaging>war</packaging>
- <version>0.9.9</version>
+ <version>0.9.9-incubating</version>
<name>guacamole-example</name>
<url>http://guac-dev.org/</url>
@@ -66,7 +66,7 @@
<dependency>
<groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-common</artifactId>
- <version>0.9.9</version>
+ <version>0.9.9-incubating</version>
<scope>compile</scope>
</dependency>
@@ -74,7 +74,7 @@
<dependency>
<groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-common-js</artifactId>
- <version>0.9.9</version>
+ <version>0.9.9-incubating</version>
<type>zip</type>
<scope>runtime</scope>
</dependency>
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/cbe3387d/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/pom.xml
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/pom.xml b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/pom.xml
index 3637d7e..3a7cb61 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/pom.xml
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/pom.xml
@@ -15,7 +15,7 @@
<parent>
<groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-jdbc</artifactId>
- <version>0.9.9</version>
+ <version>0.9.9-incubating</version>
<relativePath>../../</relativePath>
</parent>
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/cbe3387d/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/pom.xml
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/pom.xml b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/pom.xml
index 8774eed..4b0992a 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/pom.xml
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/pom.xml
@@ -15,7 +15,7 @@
<parent>
<groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-jdbc</artifactId>
- <version>0.9.9</version>
+ <version>0.9.9-incubating</version>
<relativePath>../../</relativePath>
</parent>
@@ -74,7 +74,7 @@
<dependency>
<groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-jdbc-base</artifactId>
- <version>0.9.9</version>
+ <version>0.9.9-incubating</version>
</dependency>
</dependencies>
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/cbe3387d/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/guac-manifest.json
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/guac-manifest.json b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/guac-manifest.json
index 30f968a..1aa0b8c 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/guac-manifest.json
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/guac-manifest.json
@@ -1,6 +1,6 @@
{
- "guacamoleVersion" : "0.9.9",
+ "guacamoleVersion" : "0.9.9-incubating",
"name" : "MySQL Authentication",
"namespace" : "guac-mysql",
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/cbe3387d/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/pom.xml
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/pom.xml b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/pom.xml
index 789c9e0..0a823de 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/pom.xml
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/pom.xml
@@ -15,7 +15,7 @@
<parent>
<groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-jdbc</artifactId>
- <version>0.9.9</version>
+ <version>0.9.9-incubating</version>
<relativePath>../../</relativePath>
</parent>
@@ -74,7 +74,7 @@
<dependency>
<groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-jdbc-base</artifactId>
- <version>0.9.9</version>
+ <version>0.9.9-incubating</version>
</dependency>
</dependencies>
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/cbe3387d/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/guac-manifest.json
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/guac-manifest.json b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/guac-manifest.json
index 54a809c..64d6a23 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/guac-manifest.json
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/guac-manifest.json
@@ -1,6 +1,6 @@
{
- "guacamoleVersion" : "0.9.9",
+ "guacamoleVersion" : "0.9.9-incubating",
"name" : "PostgreSQL Authentication",
"namespace" : "guac-postgresql",
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/cbe3387d/extensions/guacamole-auth-jdbc/pom.xml
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/pom.xml b/extensions/guacamole-auth-jdbc/pom.xml
index 2098783..764f53a 100644
--- a/extensions/guacamole-auth-jdbc/pom.xml
+++ b/extensions/guacamole-auth-jdbc/pom.xml
@@ -7,7 +7,7 @@
<groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-jdbc</artifactId>
<packaging>pom</packaging>
- <version>0.9.9</version>
+ <version>0.9.9-incubating</version>
<name>guacamole-auth-jdbc</name>
<url>http://guac-dev.org/</url>
@@ -62,7 +62,7 @@
<dependency>
<groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-ext</artifactId>
- <version>0.9.9</version>
+ <version>0.9.9-incubating</version>
<scope>provided</scope>
</dependency>
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/cbe3387d/extensions/guacamole-auth-ldap/pom.xml
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-ldap/pom.xml b/extensions/guacamole-auth-ldap/pom.xml
index 40ebcee..abbaa5d 100644
--- a/extensions/guacamole-auth-ldap/pom.xml
+++ b/extensions/guacamole-auth-ldap/pom.xml
@@ -5,7 +5,7 @@
<groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-ldap</artifactId>
<packaging>jar</packaging>
- <version>0.9.9</version>
+ <version>0.9.9-incubating</version>
<name>guacamole-auth-ldap</name>
<url>http://guac-dev.org/</url>
@@ -83,7 +83,7 @@
<dependency>
<groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-common</artifactId>
- <version>0.9.9</version>
+ <version>0.9.9-incubating</version>
<scope>provided</scope>
</dependency>
@@ -91,7 +91,7 @@
<dependency>
<groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-ext</artifactId>
- <version>0.9.9</version>
+ <version>0.9.9-incubating</version>
<scope>provided</scope>
</dependency>
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/cbe3387d/extensions/guacamole-auth-ldap/src/main/resources/guac-manifest.json
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-ldap/src/main/resources/guac-manifest.json b/extensions/guacamole-auth-ldap/src/main/resources/guac-manifest.json
index ed0b1ce..8bab228 100644
--- a/extensions/guacamole-auth-ldap/src/main/resources/guac-manifest.json
+++ b/extensions/guacamole-auth-ldap/src/main/resources/guac-manifest.json
@@ -1,6 +1,6 @@
{
- "guacamoleVersion" : "0.9.9",
+ "guacamoleVersion" : "0.9.9-incubating",
"name" : "LDAP Authentication",
"namespace" : "guac-ldap",
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/cbe3387d/extensions/guacamole-auth-noauth/pom.xml
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-noauth/pom.xml b/extensions/guacamole-auth-noauth/pom.xml
index 059d530..f2c8c7e 100644
--- a/extensions/guacamole-auth-noauth/pom.xml
+++ b/extensions/guacamole-auth-noauth/pom.xml
@@ -5,7 +5,7 @@
<groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-noauth</artifactId>
<packaging>jar</packaging>
- <version>0.9.9</version>
+ <version>0.9.9-incubating</version>
<name>guacamole-auth-noauth</name>
<url>http://guacamole.sourceforge.net/</url>
@@ -83,7 +83,7 @@
<dependency>
<groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-common</artifactId>
- <version>0.9.9</version>
+ <version>0.9.9-incubating</version>
<scope>provided</scope>
</dependency>
@@ -91,7 +91,7 @@
<dependency>
<groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-ext</artifactId>
- <version>0.9.9</version>
+ <version>0.9.9-incubating</version>
<scope>provided</scope>
</dependency>
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/cbe3387d/extensions/guacamole-auth-noauth/src/main/resources/guac-manifest.json
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-noauth/src/main/resources/guac-manifest.json b/extensions/guacamole-auth-noauth/src/main/resources/guac-manifest.json
index 5446702..a5c30c9 100644
--- a/extensions/guacamole-auth-noauth/src/main/resources/guac-manifest.json
+++ b/extensions/guacamole-auth-noauth/src/main/resources/guac-manifest.json
@@ -1,6 +1,6 @@
{
- "guacamoleVersion" : "0.9.9",
+ "guacamoleVersion" : "0.9.9-incubating",
"name" : "Disabled Authentication",
"namespace" : "guac-noauth",
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/cbe3387d/guacamole-common-js/pom.xml
----------------------------------------------------------------------
diff --git a/guacamole-common-js/pom.xml b/guacamole-common-js/pom.xml
index 1a9b5a9..94ee03b 100644
--- a/guacamole-common-js/pom.xml
+++ b/guacamole-common-js/pom.xml
@@ -5,7 +5,7 @@
<groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-common-js</artifactId>
<packaging>pom</packaging>
- <version>0.9.9</version>
+ <version>0.9.9-incubating</version>
<name>guacamole-common-js</name>
<url>http://guac-dev.org/</url>
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/cbe3387d/guacamole-common/pom.xml
----------------------------------------------------------------------
diff --git a/guacamole-common/pom.xml b/guacamole-common/pom.xml
index 9d6d4f3..d4098b5 100644
--- a/guacamole-common/pom.xml
+++ b/guacamole-common/pom.xml
@@ -5,7 +5,7 @@
<groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-common</artifactId>
<packaging>jar</packaging>
- <version>0.9.9</version>
+ <version>0.9.9-incubating</version>
<name>guacamole-common</name>
<url>http://guac-dev.org/</url>
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/cbe3387d/guacamole-ext/pom.xml
----------------------------------------------------------------------
diff --git a/guacamole-ext/pom.xml b/guacamole-ext/pom.xml
index ae90328..62d5a03 100644
--- a/guacamole-ext/pom.xml
+++ b/guacamole-ext/pom.xml
@@ -5,7 +5,7 @@
<groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-ext</artifactId>
<packaging>jar</packaging>
- <version>0.9.9</version>
+ <version>0.9.9-incubating</version>
<name>guacamole-ext</name>
<url>http://guac-dev.org/</url>
@@ -116,7 +116,7 @@
<dependency>
<groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-common</artifactId>
- <version>0.9.9</version>
+ <version>0.9.9-incubating</version>
<scope>compile</scope>
</dependency>
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/cbe3387d/guacamole/pom.xml
----------------------------------------------------------------------
diff --git a/guacamole/pom.xml b/guacamole/pom.xml
index df5b0e0..dd9dc28 100644
--- a/guacamole/pom.xml
+++ b/guacamole/pom.xml
@@ -5,7 +5,7 @@
<groupId>org.apache.guacamole</groupId>
<artifactId>guacamole</artifactId>
<packaging>war</packaging>
- <version>0.9.9</version>
+ <version>0.9.9-incubating</version>
<name>guacamole</name>
<url>http://guac-dev.org/</url>
@@ -221,21 +221,21 @@
<dependency>
<groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-common</artifactId>
- <version>0.9.9</version>
+ <version>0.9.9-incubating</version>
</dependency>
<!-- Guacamole Extension API -->
<dependency>
<groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-ext</artifactId>
- <version>0.9.9</version>
+ <version>0.9.9-incubating</version>
</dependency>
<!-- Guacamole JavaScript API -->
<dependency>
<groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-common-js</artifactId>
- <version>0.9.9</version>
+ <version>0.9.9-incubating</version>
<type>zip</type>
<scope>runtime</scope>
</dependency>
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/cbe3387d/guacamole/src/main/java/org/apache/guacamole/extension/ExtensionModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/extension/ExtensionModule.java b/guacamole/src/main/java/org/apache/guacamole/extension/ExtensionModule.java
index cb3c0ef..b81593c 100644
--- a/guacamole/src/main/java/org/apache/guacamole/extension/ExtensionModule.java
+++ b/guacamole/src/main/java/org/apache/guacamole/extension/ExtensionModule.java
@@ -65,7 +65,7 @@ public class ExtensionModule extends ServletModule {
private static final List<String> ALLOWED_GUACAMOLE_VERSIONS =
Collections.unmodifiableList(Arrays.asList(
"*",
- "0.9.9"
+ "0.9.9-incubating"
));
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/cbe3387d/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 61ce424..58d79f6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
<groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-client</artifactId>
<packaging>pom</packaging>
- <version>0.9.9</version>
+ <version>0.9.9-incubating</version>
<name>guacamole-client</name>
<url>http://guac-dev.org/</url>
[20/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Rename Basic* classes sensibly. Refactor tunnel classes into own packages.
Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/GuacamoleWebSocketTunnelServlet.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/GuacamoleWebSocketTunnelServlet.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/GuacamoleWebSocketTunnelServlet.java
new file mode 100644
index 0000000..ff1775c
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/GuacamoleWebSocketTunnelServlet.java
@@ -0,0 +1,265 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.tunnel.websocket.tomcat;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.Reader;
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
+import java.util.List;
+import javax.servlet.http.HttpServletRequest;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.io.GuacamoleReader;
+import org.apache.guacamole.io.GuacamoleWriter;
+import org.apache.guacamole.net.GuacamoleTunnel;
+import org.apache.catalina.websocket.StreamInbound;
+import org.apache.catalina.websocket.WebSocketServlet;
+import org.apache.catalina.websocket.WsOutbound;
+import org.apache.guacamole.GuacamoleClientException;
+import org.apache.guacamole.GuacamoleConnectionClosedException;
+import org.apache.guacamole.tunnel.http.HTTPTunnelRequest;
+import org.apache.guacamole.tunnel.TunnelRequest;
+import org.apache.guacamole.protocol.GuacamoleStatus;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * A WebSocketServlet partial re-implementation of GuacamoleTunnelServlet.
+ *
+ * @author Michael Jumper
+ */
+public abstract class GuacamoleWebSocketTunnelServlet extends WebSocketServlet {
+
+ /**
+ * The default, minimum buffer size for instructions.
+ */
+ private static final int BUFFER_SIZE = 8192;
+
+ /**
+ * Logger for this class.
+ */
+ private final Logger logger = LoggerFactory.getLogger(GuacamoleWebSocketTunnelServlet.class);
+
+ /**
+ * Sends the given status on the given WebSocket connection and closes the
+ * connection.
+ *
+ * @param outbound The outbound WebSocket connection to close.
+ * @param guac_status The status to send.
+ */
+ public void closeConnection(WsOutbound outbound, GuacamoleStatus guac_status) {
+
+ try {
+ byte[] message = Integer.toString(guac_status.getGuacamoleStatusCode()).getBytes("UTF-8");
+ outbound.close(guac_status.getWebSocketCode(), ByteBuffer.wrap(message));
+ }
+ catch (IOException e) {
+ logger.debug("Unable to close WebSocket tunnel.", e);
+ }
+
+ }
+
+ @Override
+ protected String selectSubProtocol(List<String> subProtocols) {
+
+ // Search for expected protocol
+ for (String protocol : subProtocols)
+ if ("guacamole".equals(protocol))
+ return "guacamole";
+
+ // Otherwise, fail
+ return null;
+
+ }
+
+ @Override
+ public StreamInbound createWebSocketInbound(String protocol,
+ HttpServletRequest request) {
+
+ final TunnelRequest tunnelRequest = new HTTPTunnelRequest(request);
+
+ // Return new WebSocket which communicates through tunnel
+ return new StreamInbound() {
+
+ /**
+ * The GuacamoleTunnel associated with the connected WebSocket. If
+ * the WebSocket has not yet been connected, this will be null.
+ */
+ private GuacamoleTunnel tunnel = null;
+
+ @Override
+ protected void onTextData(Reader reader) throws IOException {
+
+ // Ignore inbound messages if there is no associated tunnel
+ if (tunnel == null)
+ return;
+
+ GuacamoleWriter writer = tunnel.acquireWriter();
+
+ // Write all available data
+ try {
+
+ char[] buffer = new char[BUFFER_SIZE];
+
+ int num_read;
+ while ((num_read = reader.read(buffer)) > 0)
+ writer.write(buffer, 0, num_read);
+
+ }
+ catch (GuacamoleConnectionClosedException e) {
+ logger.debug("Connection to guacd closed.", e);
+ }
+ catch (GuacamoleException e) {
+ logger.debug("WebSocket tunnel write failed.", e);
+ }
+
+ tunnel.releaseWriter();
+ }
+
+ @Override
+ public void onOpen(final WsOutbound outbound) {
+
+ try {
+ tunnel = doConnect(tunnelRequest);
+ }
+ catch (GuacamoleException e) {
+ logger.error("Creation of WebSocket tunnel to guacd failed: {}", e.getMessage());
+ logger.debug("Error connecting WebSocket tunnel.", e);
+ closeConnection(outbound, e.getStatus());
+ return;
+ }
+
+ // Do not start connection if tunnel does not exist
+ if (tunnel == null) {
+ closeConnection(outbound, GuacamoleStatus.RESOURCE_NOT_FOUND);
+ return;
+ }
+
+ Thread readThread = new Thread() {
+
+ @Override
+ public void run() {
+
+ StringBuilder buffer = new StringBuilder(BUFFER_SIZE);
+ GuacamoleReader reader = tunnel.acquireReader();
+ char[] readMessage;
+
+ try {
+
+ try {
+
+ // Attempt to read
+ while ((readMessage = reader.read()) != null) {
+
+ // Buffer message
+ buffer.append(readMessage);
+
+ // Flush if we expect to wait or buffer is getting full
+ if (!reader.available() || buffer.length() >= BUFFER_SIZE) {
+ outbound.writeTextMessage(CharBuffer.wrap(buffer));
+ buffer.setLength(0);
+ }
+
+ }
+
+ // No more data
+ closeConnection(outbound, GuacamoleStatus.SUCCESS);
+
+ }
+
+ // Catch any thrown guacamole exception and attempt
+ // to pass within the WebSocket connection, logging
+ // each error appropriately.
+ catch (GuacamoleClientException e) {
+ logger.info("WebSocket connection terminated: {}", e.getMessage());
+ logger.debug("WebSocket connection terminated due to client error.", e);
+ closeConnection(outbound, e.getStatus());
+ }
+ catch (GuacamoleConnectionClosedException e) {
+ logger.debug("Connection to guacd closed.", e);
+ closeConnection(outbound, GuacamoleStatus.SUCCESS);
+ }
+ catch (GuacamoleException e) {
+ logger.error("Connection to guacd terminated abnormally: {}", e.getMessage());
+ logger.debug("Internal error during connection to guacd.", e);
+ closeConnection(outbound, e.getStatus());
+ }
+
+ }
+ catch (IOException e) {
+ logger.debug("I/O error prevents further reads.", e);
+ }
+
+ }
+
+ };
+
+ readThread.start();
+
+ }
+
+ @Override
+ public void onClose(int i) {
+ try {
+ if (tunnel != null)
+ tunnel.close();
+ }
+ catch (GuacamoleException e) {
+ logger.debug("Unable to close connection to guacd.", e);
+ }
+ }
+
+ @Override
+ protected void onBinaryData(InputStream in) throws IOException {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ };
+
+ }
+
+ /**
+ * Called whenever the JavaScript Guacamole client makes a connection
+ * request. It it up to the implementor of this function to define what
+ * conditions must be met for a tunnel to be configured and returned as a
+ * result of this connection request (whether some sort of credentials must
+ * be specified, for example).
+ *
+ * @param request
+ * The TunnelRequest associated with the connection request received.
+ * Any parameters specified along with the connection request can be
+ * read from this object.
+ *
+ * @return
+ * A newly constructed GuacamoleTunnel if successful, null otherwise.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while constructing the GuacamoleTunnel, or if the
+ * conditions required for connection are not met.
+ */
+ protected abstract GuacamoleTunnel doConnect(TunnelRequest request)
+ throws GuacamoleException;
+
+}
+
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/RestrictedGuacamoleWebSocketTunnelServlet.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/RestrictedGuacamoleWebSocketTunnelServlet.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/RestrictedGuacamoleWebSocketTunnelServlet.java
new file mode 100644
index 0000000..3e0b4e6
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/RestrictedGuacamoleWebSocketTunnelServlet.java
@@ -0,0 +1,52 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.tunnel.websocket.tomcat;
+
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.net.GuacamoleTunnel;
+import org.apache.guacamole.tunnel.TunnelRequestService;
+import org.apache.guacamole.tunnel.TunnelRequest;
+
+/**
+ * Tunnel servlet implementation which uses WebSocket as a tunnel backend,
+ * rather than HTTP, properly parsing connection IDs included in the connection
+ * request.
+ */
+@Singleton
+public class RestrictedGuacamoleWebSocketTunnelServlet extends GuacamoleWebSocketTunnelServlet {
+
+ /**
+ * Service for handling tunnel requests.
+ */
+ @Inject
+ private TunnelRequestService tunnelRequestService;
+
+ @Override
+ protected GuacamoleTunnel doConnect(TunnelRequest request)
+ throws GuacamoleException {
+ return tunnelRequestService.createTunnel(request);
+ };
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/WebSocketTunnelModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/WebSocketTunnelModule.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/WebSocketTunnelModule.java
new file mode 100644
index 0000000..1b553b9
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/WebSocketTunnelModule.java
@@ -0,0 +1,73 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.tunnel.websocket.tomcat;
+
+import com.google.inject.servlet.ServletModule;
+import org.apache.guacamole.tunnel.TunnelLoader;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Loads the Jetty 9 WebSocket tunnel implementation.
+ *
+ * @author Michael Jumper
+ */
+public class WebSocketTunnelModule extends ServletModule implements TunnelLoader {
+
+ /**
+ * Logger for this class.
+ */
+ private final Logger logger = LoggerFactory.getLogger(WebSocketTunnelModule.class);
+
+ @Override
+ public boolean isSupported() {
+
+ try {
+
+ // Attempt to find WebSocket servlet
+ Class.forName("org.apache.guacamole.websocket.tomcat.BasicGuacamoleWebSocketTunnelServlet");
+
+ // Support found
+ return true;
+
+ }
+
+ // If no such servlet class, this particular WebSocket support
+ // is not present
+ catch (ClassNotFoundException e) {}
+ catch (NoClassDefFoundError e) {}
+
+ // Support not found
+ return false;
+
+ }
+
+ @Override
+ public void configureServlets() {
+
+ logger.info("Loading Tomcat 7 WebSocket support...");
+ serve("/websocket-tunnel").with(RestrictedGuacamoleWebSocketTunnelServlet.class);
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/package-info.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/package-info.java
new file mode 100644
index 0000000..cacd13b
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/package-info.java
@@ -0,0 +1,29 @@
+/*
+ * 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.
+ */
+
+/**
+ * Tomcat WebSocket tunnel implementation. The classes here require at least
+ * Tomcat 7.0, and may change significantly as there is no common WebSocket
+ * API for Java yet.
+ */
+package org.apache.guacamole.tunnel.websocket.tomcat;
+
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/websocket/BasicGuacamoleWebSocketTunnelEndpoint.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/BasicGuacamoleWebSocketTunnelEndpoint.java b/guacamole/src/main/java/org/apache/guacamole/websocket/BasicGuacamoleWebSocketTunnelEndpoint.java
deleted file mode 100644
index 744608a..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/websocket/BasicGuacamoleWebSocketTunnelEndpoint.java
+++ /dev/null
@@ -1,120 +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.
- */
-
-package org.apache.guacamole.websocket;
-
-import com.google.inject.Provider;
-import java.util.Map;
-import javax.websocket.EndpointConfig;
-import javax.websocket.HandshakeResponse;
-import javax.websocket.Session;
-import javax.websocket.server.HandshakeRequest;
-import javax.websocket.server.ServerEndpointConfig;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.net.GuacamoleTunnel;
-import org.apache.guacamole.TunnelRequest;
-import org.apache.guacamole.TunnelRequestService;
-import org.apache.guacamole.websocket.GuacamoleWebSocketTunnelEndpoint;
-
-/**
- * Tunnel implementation which uses WebSocket as a tunnel backend, rather than
- * HTTP, properly parsing connection IDs included in the connection request.
- */
-public class BasicGuacamoleWebSocketTunnelEndpoint extends GuacamoleWebSocketTunnelEndpoint {
-
- /**
- * Unique string which shall be used to store the TunnelRequest
- * associated with a WebSocket connection.
- */
- private static final String TUNNEL_REQUEST_PROPERTY = "WS_GUAC_TUNNEL_REQUEST";
-
- /**
- * Unique string which shall be used to store the TunnelRequestService to
- * be used for processing TunnelRequests.
- */
- private static final String TUNNEL_REQUEST_SERVICE_PROPERTY = "WS_GUAC_TUNNEL_REQUEST_SERVICE";
-
- /**
- * Configurator implementation which stores the requested GuacamoleTunnel
- * within the user properties. The GuacamoleTunnel will be later retrieved
- * during the connection process.
- */
- public static class Configurator extends ServerEndpointConfig.Configurator {
-
- /**
- * Provider which provides instances of a service for handling
- * tunnel requests.
- */
- private final Provider<TunnelRequestService> tunnelRequestServiceProvider;
-
- /**
- * Creates a new Configurator which uses the given tunnel request
- * service provider to retrieve the necessary service to handle new
- * connections requests.
- *
- * @param tunnelRequestServiceProvider
- * The tunnel request service provider to use for all new
- * connections.
- */
- public Configurator(Provider<TunnelRequestService> tunnelRequestServiceProvider) {
- this.tunnelRequestServiceProvider = tunnelRequestServiceProvider;
- }
-
- @Override
- public void modifyHandshake(ServerEndpointConfig config,
- HandshakeRequest request, HandshakeResponse response) {
-
- super.modifyHandshake(config, request, response);
-
- // Store tunnel request and tunnel request service for retrieval
- // upon WebSocket open
- Map<String, Object> userProperties = config.getUserProperties();
- userProperties.clear();
- userProperties.put(TUNNEL_REQUEST_PROPERTY, new WebSocketTunnelRequest(request));
- userProperties.put(TUNNEL_REQUEST_SERVICE_PROPERTY, tunnelRequestServiceProvider.get());
-
- }
-
- }
-
- @Override
- protected GuacamoleTunnel createTunnel(Session session,
- EndpointConfig config) throws GuacamoleException {
-
- Map<String, Object> userProperties = config.getUserProperties();
-
- // Get original tunnel request
- TunnelRequest tunnelRequest = (TunnelRequest) userProperties.get(TUNNEL_REQUEST_PROPERTY);
- if (tunnelRequest == null)
- return null;
-
- // Get tunnel request service
- TunnelRequestService tunnelRequestService = (TunnelRequestService) userProperties.get(TUNNEL_REQUEST_SERVICE_PROPERTY);
- if (tunnelRequestService == null)
- return null;
-
- // Create and return tunnel
- return tunnelRequestService.createTunnel(tunnelRequest);
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/websocket/WebSocketTunnelModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/WebSocketTunnelModule.java b/guacamole/src/main/java/org/apache/guacamole/websocket/WebSocketTunnelModule.java
deleted file mode 100644
index bfa2659..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/websocket/WebSocketTunnelModule.java
+++ /dev/null
@@ -1,104 +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.
- */
-
-package org.apache.guacamole.websocket;
-
-import com.google.inject.Provider;
-import com.google.inject.servlet.ServletModule;
-import java.util.Arrays;
-import javax.websocket.DeploymentException;
-import javax.websocket.server.ServerContainer;
-import javax.websocket.server.ServerEndpointConfig;
-import org.apache.guacamole.TunnelLoader;
-import org.apache.guacamole.TunnelRequestService;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Loads the JSR-356 WebSocket tunnel implementation.
- *
- * @author Michael Jumper
- */
-public class WebSocketTunnelModule extends ServletModule implements TunnelLoader {
-
- /**
- * Logger for this class.
- */
- private final Logger logger = LoggerFactory.getLogger(WebSocketTunnelModule.class);
-
- @Override
- public boolean isSupported() {
-
- try {
-
- // Attempt to find WebSocket servlet
- Class.forName("javax.websocket.Endpoint");
-
- // Support found
- return true;
-
- }
-
- // If no such servlet class, this particular WebSocket support
- // is not present
- catch (ClassNotFoundException e) {}
- catch (NoClassDefFoundError e) {}
-
- // Support not found
- return false;
-
- }
-
- @Override
- public void configureServlets() {
-
- logger.info("Loading JSR-356 WebSocket support...");
-
- // Get container
- ServerContainer container = (ServerContainer) getServletContext().getAttribute("javax.websocket.server.ServerContainer");
- if (container == null) {
- logger.warn("ServerContainer attribute required by JSR-356 is missing. Cannot load JSR-356 WebSocket support.");
- return;
- }
-
- Provider<TunnelRequestService> tunnelRequestServiceProvider = getProvider(TunnelRequestService.class);
-
- // Build configuration for WebSocket tunnel
- ServerEndpointConfig config =
- ServerEndpointConfig.Builder.create(BasicGuacamoleWebSocketTunnelEndpoint.class, "/websocket-tunnel")
- .configurator(new BasicGuacamoleWebSocketTunnelEndpoint.Configurator(tunnelRequestServiceProvider))
- .subprotocols(Arrays.asList(new String[]{"guacamole"}))
- .build();
-
- try {
-
- // Add configuration to container
- container.addEndpoint(config);
-
- }
- catch (DeploymentException e) {
- logger.error("Unable to deploy WebSocket tunnel.", e);
- }
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/websocket/WebSocketTunnelRequest.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/WebSocketTunnelRequest.java b/guacamole/src/main/java/org/apache/guacamole/websocket/WebSocketTunnelRequest.java
deleted file mode 100644
index 5e20dbd..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/websocket/WebSocketTunnelRequest.java
+++ /dev/null
@@ -1,70 +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.
- */
-
-package org.apache.guacamole.websocket;
-
-import java.util.List;
-import java.util.Map;
-import javax.websocket.server.HandshakeRequest;
-import org.apache.guacamole.TunnelRequest;
-
-/**
- * WebSocket-specific implementation of TunnelRequest.
- *
- * @author Michael Jumper
- */
-public class WebSocketTunnelRequest extends TunnelRequest {
-
- /**
- * All parameters passed via HTTP to the WebSocket handshake.
- */
- private final Map<String, List<String>> handshakeParameters;
-
- /**
- * Creates a TunnelRequest implementation which delegates parameter and
- * session retrieval to the given HandshakeRequest.
- *
- * @param request The HandshakeRequest to wrap.
- */
- public WebSocketTunnelRequest(HandshakeRequest request) {
- this.handshakeParameters = request.getParameterMap();
- }
-
- @Override
- public String getParameter(String name) {
-
- // Pull list of values, if present
- List<String> values = getParameterValues(name);
- if (values == null || values.isEmpty())
- return null;
-
- // Return first parameter value arbitrarily
- return values.get(0);
-
- }
-
- @Override
- public List<String> getParameterValues(String name) {
- return handshakeParameters.get(name);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/BasicGuacamoleWebSocketTunnelServlet.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/BasicGuacamoleWebSocketTunnelServlet.java b/guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/BasicGuacamoleWebSocketTunnelServlet.java
deleted file mode 100644
index f993270..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/BasicGuacamoleWebSocketTunnelServlet.java
+++ /dev/null
@@ -1,52 +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.
- */
-
-package org.apache.guacamole.websocket.jetty8;
-
-import com.google.inject.Inject;
-import com.google.inject.Singleton;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.net.GuacamoleTunnel;
-import org.apache.guacamole.TunnelRequestService;
-import org.apache.guacamole.TunnelRequest;
-
-/**
- * Tunnel servlet implementation which uses WebSocket as a tunnel backend,
- * rather than HTTP, properly parsing connection IDs included in the connection
- * request.
- */
-@Singleton
-public class BasicGuacamoleWebSocketTunnelServlet extends GuacamoleWebSocketTunnelServlet {
-
- /**
- * Service for handling tunnel requests.
- */
- @Inject
- private TunnelRequestService tunnelRequestService;
-
- @Override
- protected GuacamoleTunnel doConnect(TunnelRequest request)
- throws GuacamoleException {
- return tunnelRequestService.createTunnel(request);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/GuacamoleWebSocketTunnelServlet.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/GuacamoleWebSocketTunnelServlet.java b/guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/GuacamoleWebSocketTunnelServlet.java
deleted file mode 100644
index 832faee..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/GuacamoleWebSocketTunnelServlet.java
+++ /dev/null
@@ -1,232 +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.
- */
-
-package org.apache.guacamole.websocket.jetty8;
-
-import java.io.IOException;
-import javax.servlet.http.HttpServletRequest;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.io.GuacamoleReader;
-import org.apache.guacamole.io.GuacamoleWriter;
-import org.apache.guacamole.net.GuacamoleTunnel;
-import org.eclipse.jetty.websocket.WebSocket;
-import org.eclipse.jetty.websocket.WebSocket.Connection;
-import org.eclipse.jetty.websocket.WebSocketServlet;
-import org.apache.guacamole.GuacamoleClientException;
-import org.apache.guacamole.GuacamoleConnectionClosedException;
-import org.apache.guacamole.HTTPTunnelRequest;
-import org.apache.guacamole.TunnelRequest;
-import org.apache.guacamole.protocol.GuacamoleStatus;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A WebSocketServlet partial re-implementation of GuacamoleTunnelServlet.
- *
- * @author Michael Jumper
- */
-public abstract class GuacamoleWebSocketTunnelServlet extends WebSocketServlet {
-
- /**
- * Logger for this class.
- */
- private static final Logger logger = LoggerFactory.getLogger(GuacamoleWebSocketTunnelServlet.class);
-
- /**
- * The default, minimum buffer size for instructions.
- */
- private static final int BUFFER_SIZE = 8192;
-
- /**
- * Sends the given status on the given WebSocket connection and closes the
- * connection.
- *
- * @param connection The WebSocket connection to close.
- * @param guac_status The status to send.
- */
- public static void closeConnection(Connection connection,
- GuacamoleStatus guac_status) {
-
- connection.close(guac_status.getWebSocketCode(),
- Integer.toString(guac_status.getGuacamoleStatusCode()));
-
- }
-
- @Override
- public WebSocket doWebSocketConnect(HttpServletRequest request, String protocol) {
-
- final TunnelRequest tunnelRequest = new HTTPTunnelRequest(request);
-
- // Return new WebSocket which communicates through tunnel
- return new WebSocket.OnTextMessage() {
-
- /**
- * The GuacamoleTunnel associated with the connected WebSocket. If
- * the WebSocket has not yet been connected, this will be null.
- */
- private GuacamoleTunnel tunnel = null;
-
- @Override
- public void onMessage(String string) {
-
- // Ignore inbound messages if there is no associated tunnel
- if (tunnel == null)
- return;
-
- GuacamoleWriter writer = tunnel.acquireWriter();
-
- // Write message received
- try {
- writer.write(string.toCharArray());
- }
- catch (GuacamoleConnectionClosedException e) {
- logger.debug("Connection to guacd closed.", e);
- }
- catch (GuacamoleException e) {
- logger.debug("WebSocket tunnel write failed.", e);
- }
-
- tunnel.releaseWriter();
-
- }
-
- @Override
- public void onOpen(final Connection connection) {
-
- try {
- tunnel = doConnect(tunnelRequest);
- }
- catch (GuacamoleException e) {
- logger.error("Creation of WebSocket tunnel to guacd failed: {}", e.getMessage());
- logger.debug("Error connecting WebSocket tunnel.", e);
- closeConnection(connection, e.getStatus());
- return;
- }
-
- // Do not start connection if tunnel does not exist
- if (tunnel == null) {
- closeConnection(connection, GuacamoleStatus.RESOURCE_NOT_FOUND);
- return;
- }
-
- Thread readThread = new Thread() {
-
- @Override
- public void run() {
-
- StringBuilder buffer = new StringBuilder(BUFFER_SIZE);
- GuacamoleReader reader = tunnel.acquireReader();
- char[] readMessage;
-
- try {
-
- try {
-
- // Attempt to read
- while ((readMessage = reader.read()) != null) {
-
- // Buffer message
- buffer.append(readMessage);
-
- // Flush if we expect to wait or buffer is getting full
- if (!reader.available() || buffer.length() >= BUFFER_SIZE) {
- connection.sendMessage(buffer.toString());
- buffer.setLength(0);
- }
-
- }
-
- // No more data
- closeConnection(connection, GuacamoleStatus.SUCCESS);
-
- }
-
- // Catch any thrown guacamole exception and attempt
- // to pass within the WebSocket connection, logging
- // each error appropriately.
- catch (GuacamoleClientException e) {
- logger.info("WebSocket connection terminated: {}", e.getMessage());
- logger.debug("WebSocket connection terminated due to client error.", e);
- closeConnection(connection, e.getStatus());
- }
- catch (GuacamoleConnectionClosedException e) {
- logger.debug("Connection to guacd closed.", e);
- closeConnection(connection, GuacamoleStatus.SUCCESS);
- }
- catch (GuacamoleException e) {
- logger.error("Connection to guacd terminated abnormally: {}", e.getMessage());
- logger.debug("Internal error during connection to guacd.", e);
- closeConnection(connection, e.getStatus());
- }
-
- }
- catch (IOException e) {
- logger.debug("WebSocket tunnel read failed due to I/O error.", e);
- }
-
- }
-
- };
-
- readThread.start();
-
- }
-
- @Override
- public void onClose(int i, String string) {
- try {
- if (tunnel != null)
- tunnel.close();
- }
- catch (GuacamoleException e) {
- logger.debug("Unable to close connection to guacd.", e);
- }
- }
-
- };
-
- }
-
- /**
- * Called whenever the JavaScript Guacamole client makes a connection
- * request. It it up to the implementor of this function to define what
- * conditions must be met for a tunnel to be configured and returned as a
- * result of this connection request (whether some sort of credentials must
- * be specified, for example).
- *
- * @param request
- * The TunnelRequest associated with the connection request received.
- * Any parameters specified along with the connection request can be
- * read from this object.
- *
- * @return
- * A newly constructed GuacamoleTunnel if successful, null otherwise.
- *
- * @throws GuacamoleException
- * If an error occurs while constructing the GuacamoleTunnel, or if the
- * conditions required for connection are not met.
- */
- protected abstract GuacamoleTunnel doConnect(TunnelRequest request)
- throws GuacamoleException;
-
-}
-
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/WebSocketTunnelModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/WebSocketTunnelModule.java b/guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/WebSocketTunnelModule.java
deleted file mode 100644
index 16c17a1..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/WebSocketTunnelModule.java
+++ /dev/null
@@ -1,73 +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.
- */
-
-package org.apache.guacamole.websocket.jetty8;
-
-import com.google.inject.servlet.ServletModule;
-import org.apache.guacamole.TunnelLoader;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Loads the Jetty 8 WebSocket tunnel implementation.
- *
- * @author Michael Jumper
- */
-public class WebSocketTunnelModule extends ServletModule implements TunnelLoader {
-
- /**
- * Logger for this class.
- */
- private final Logger logger = LoggerFactory.getLogger(WebSocketTunnelModule.class);
-
- @Override
- public boolean isSupported() {
-
- try {
-
- // Attempt to find WebSocket servlet
- Class.forName("org.apache.guacamole.websocket.jetty8.BasicGuacamoleWebSocketTunnelServlet");
-
- // Support found
- return true;
-
- }
-
- // If no such servlet class, this particular WebSocket support
- // is not present
- catch (ClassNotFoundException e) {}
- catch (NoClassDefFoundError e) {}
-
- // Support not found
- return false;
-
- }
-
- @Override
- public void configureServlets() {
-
- logger.info("Loading Jetty 8 WebSocket support...");
- serve("/websocket-tunnel").with(BasicGuacamoleWebSocketTunnelServlet.class);
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/package-info.java b/guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/package-info.java
deleted file mode 100644
index 584892e..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/package-info.java
+++ /dev/null
@@ -1,27 +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.
- */
-
-/**
- * Jetty 8 WebSocket tunnel implementation. The classes here require Jetty 8.
- */
-package org.apache.guacamole.websocket.jetty8;
-
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/BasicGuacamoleWebSocketCreator.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/BasicGuacamoleWebSocketCreator.java b/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/BasicGuacamoleWebSocketCreator.java
deleted file mode 100644
index 9528509..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/BasicGuacamoleWebSocketCreator.java
+++ /dev/null
@@ -1,72 +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.
- */
-
-package org.apache.guacamole.websocket.jetty9;
-
-import org.eclipse.jetty.websocket.api.UpgradeRequest;
-import org.eclipse.jetty.websocket.api.UpgradeResponse;
-import org.eclipse.jetty.websocket.servlet.WebSocketCreator;
-import org.apache.guacamole.TunnelRequestService;
-
-/**
- * WebSocketCreator which selects the appropriate WebSocketListener
- * implementation if the "guacamole" subprotocol is in use.
- *
- * @author Michael Jumper
- */
-public class BasicGuacamoleWebSocketCreator implements WebSocketCreator {
-
- /**
- * Service for handling tunnel requests.
- */
- private final TunnelRequestService tunnelRequestService;
-
- /**
- * Creates a new WebSocketCreator which uses the given TunnelRequestService
- * to create new GuacamoleTunnels for inbound requests.
- *
- * @param tunnelRequestService The service to use for inbound tunnel
- * requests.
- */
- public BasicGuacamoleWebSocketCreator(TunnelRequestService tunnelRequestService) {
- this.tunnelRequestService = tunnelRequestService;
- }
-
- @Override
- public Object createWebSocket(UpgradeRequest request, UpgradeResponse response) {
-
- // Validate and use "guacamole" subprotocol
- for (String subprotocol : request.getSubProtocols()) {
-
- if ("guacamole".equals(subprotocol)) {
- response.setAcceptedSubProtocol(subprotocol);
- return new BasicGuacamoleWebSocketTunnelListener(tunnelRequestService);
- }
-
- }
-
- // Invalid protocol
- return null;
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/BasicGuacamoleWebSocketTunnelListener.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/BasicGuacamoleWebSocketTunnelListener.java b/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/BasicGuacamoleWebSocketTunnelListener.java
deleted file mode 100644
index 2c2e91c..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/BasicGuacamoleWebSocketTunnelListener.java
+++ /dev/null
@@ -1,59 +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.
- */
-
-package org.apache.guacamole.websocket.jetty9;
-
-import org.eclipse.jetty.websocket.api.Session;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.net.GuacamoleTunnel;
-import org.apache.guacamole.TunnelRequestService;
-
-/**
- * WebSocket listener implementation which properly parses connection IDs
- * included in the connection request.
- *
- * @author Michael Jumper
- */
-public class BasicGuacamoleWebSocketTunnelListener extends GuacamoleWebSocketTunnelListener {
-
- /**
- * Service for handling tunnel requests.
- */
- private final TunnelRequestService tunnelRequestService;
-
- /**
- * Creates a new WebSocketListener which uses the given TunnelRequestService
- * to create new GuacamoleTunnels for inbound requests.
- *
- * @param tunnelRequestService The service to use for inbound tunnel
- * requests.
- */
- public BasicGuacamoleWebSocketTunnelListener(TunnelRequestService tunnelRequestService) {
- this.tunnelRequestService = tunnelRequestService;
- }
-
- @Override
- protected GuacamoleTunnel createTunnel(Session session) throws GuacamoleException {
- return tunnelRequestService.createTunnel(new WebSocketTunnelRequest(session.getUpgradeRequest()));
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/BasicGuacamoleWebSocketTunnelServlet.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/BasicGuacamoleWebSocketTunnelServlet.java b/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/BasicGuacamoleWebSocketTunnelServlet.java
deleted file mode 100644
index f16558d..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/BasicGuacamoleWebSocketTunnelServlet.java
+++ /dev/null
@@ -1,54 +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.
- */
-
-package org.apache.guacamole.websocket.jetty9;
-
-import com.google.inject.Inject;
-import com.google.inject.Singleton;
-import org.eclipse.jetty.websocket.servlet.WebSocketServlet;
-import org.eclipse.jetty.websocket.servlet.WebSocketServletFactory;
-import org.apache.guacamole.TunnelRequestService;
-
-/**
- * A WebSocketServlet partial re-implementation of GuacamoleTunnelServlet.
- *
- * @author Michael Jumper
- */
-@Singleton
-public class BasicGuacamoleWebSocketTunnelServlet extends WebSocketServlet {
-
- /**
- * Service for handling tunnel requests.
- */
- @Inject
- private TunnelRequestService tunnelRequestService;
-
- @Override
- public void configure(WebSocketServletFactory factory) {
-
- // Register WebSocket implementation
- factory.setCreator(new BasicGuacamoleWebSocketCreator(tunnelRequestService));
-
- }
-
-}
-
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/GuacamoleWebSocketTunnelListener.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/GuacamoleWebSocketTunnelListener.java b/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/GuacamoleWebSocketTunnelListener.java
deleted file mode 100644
index 368913d..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/GuacamoleWebSocketTunnelListener.java
+++ /dev/null
@@ -1,243 +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.
- */
-
-package org.apache.guacamole.websocket.jetty9;
-
-import java.io.IOException;
-import org.eclipse.jetty.websocket.api.CloseStatus;
-import org.eclipse.jetty.websocket.api.RemoteEndpoint;
-import org.eclipse.jetty.websocket.api.Session;
-import org.eclipse.jetty.websocket.api.WebSocketListener;
-import org.apache.guacamole.GuacamoleClientException;
-import org.apache.guacamole.GuacamoleConnectionClosedException;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.io.GuacamoleReader;
-import org.apache.guacamole.io.GuacamoleWriter;
-import org.apache.guacamole.net.GuacamoleTunnel;
-import org.apache.guacamole.protocol.GuacamoleStatus;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * WebSocket listener implementation which provides a Guacamole tunnel
- *
- * @author Michael Jumper
- */
-public abstract class GuacamoleWebSocketTunnelListener implements WebSocketListener {
-
- /**
- * The default, minimum buffer size for instructions.
- */
- private static final int BUFFER_SIZE = 8192;
-
- /**
- * Logger for this class.
- */
- private static final Logger logger = LoggerFactory.getLogger(BasicGuacamoleWebSocketTunnelServlet.class);
-
- /**
- * The underlying GuacamoleTunnel. WebSocket reads/writes will be handled
- * as reads/writes to this tunnel.
- */
- private GuacamoleTunnel tunnel;
-
- /**
- * Sends the given status on the given WebSocket connection and closes the
- * connection.
- *
- * @param session The outbound WebSocket connection to close.
- * @param guac_status The status to send.
- */
- private void closeConnection(Session session, GuacamoleStatus guac_status) {
-
- try {
- int code = guac_status.getWebSocketCode();
- String message = Integer.toString(guac_status.getGuacamoleStatusCode());
- session.close(new CloseStatus(code, message));
- }
- catch (IOException e) {
- logger.debug("Unable to close WebSocket connection.", e);
- }
-
- }
-
- /**
- * Returns a new tunnel for the given session. How this tunnel is created
- * or retrieved is implementation-dependent.
- *
- * @param session The session associated with the active WebSocket
- * connection.
- * @return A connected tunnel, or null if no such tunnel exists.
- * @throws GuacamoleException If an error occurs while retrieving the
- * tunnel, or if access to the tunnel is denied.
- */
- protected abstract GuacamoleTunnel createTunnel(Session session)
- throws GuacamoleException;
-
- @Override
- public void onWebSocketConnect(final Session session) {
-
- try {
-
- // Get tunnel
- tunnel = createTunnel(session);
- if (tunnel == null) {
- closeConnection(session, GuacamoleStatus.RESOURCE_NOT_FOUND);
- return;
- }
-
- }
- catch (GuacamoleException e) {
- logger.error("Creation of WebSocket tunnel to guacd failed: {}", e.getMessage());
- logger.debug("Error connecting WebSocket tunnel.", e);
- closeConnection(session, e.getStatus());
- return;
- }
-
- // Prepare read transfer thread
- Thread readThread = new Thread() {
-
- /**
- * Remote (client) side of this connection
- */
- private final RemoteEndpoint remote = session.getRemote();
-
- @Override
- public void run() {
-
- StringBuilder buffer = new StringBuilder(BUFFER_SIZE);
- GuacamoleReader reader = tunnel.acquireReader();
- char[] readMessage;
-
- try {
-
- try {
-
- // Attempt to read
- while ((readMessage = reader.read()) != null) {
-
- // Buffer message
- buffer.append(readMessage);
-
- // Flush if we expect to wait or buffer is getting full
- if (!reader.available() || buffer.length() >= BUFFER_SIZE) {
- remote.sendString(buffer.toString());
- buffer.setLength(0);
- }
-
- }
-
- // No more data
- closeConnection(session, GuacamoleStatus.SUCCESS);
-
- }
-
- // Catch any thrown guacamole exception and attempt
- // to pass within the WebSocket connection, logging
- // each error appropriately.
- catch (GuacamoleClientException e) {
- logger.info("WebSocket connection terminated: {}", e.getMessage());
- logger.debug("WebSocket connection terminated due to client error.", e);
- closeConnection(session, e.getStatus());
- }
- catch (GuacamoleConnectionClosedException e) {
- logger.debug("Connection to guacd closed.", e);
- closeConnection(session, GuacamoleStatus.SUCCESS);
- }
- catch (GuacamoleException e) {
- logger.error("Connection to guacd terminated abnormally: {}", e.getMessage());
- logger.debug("Internal error during connection to guacd.", e);
- closeConnection(session, e.getStatus());
- }
-
- }
- catch (IOException e) {
- logger.debug("I/O error prevents further reads.", e);
- }
-
- }
-
- };
-
- readThread.start();
-
- }
-
- @Override
- public void onWebSocketText(String message) {
-
- // Ignore inbound messages if there is no associated tunnel
- if (tunnel == null)
- return;
-
- GuacamoleWriter writer = tunnel.acquireWriter();
-
- try {
- // Write received message
- writer.write(message.toCharArray());
- }
- catch (GuacamoleConnectionClosedException e) {
- logger.debug("Connection to guacd closed.", e);
- }
- catch (GuacamoleException e) {
- logger.debug("WebSocket tunnel write failed.", e);
- }
-
- tunnel.releaseWriter();
-
- }
-
- @Override
- public void onWebSocketBinary(byte[] payload, int offset, int length) {
- throw new UnsupportedOperationException("Binary WebSocket messages are not supported.");
- }
-
- @Override
- public void onWebSocketError(Throwable t) {
-
- logger.debug("WebSocket tunnel closing due to error.", t);
-
- try {
- if (tunnel != null)
- tunnel.close();
- }
- catch (GuacamoleException e) {
- logger.debug("Unable to close connection to guacd.", e);
- }
-
- }
-
-
- @Override
- public void onWebSocketClose(int statusCode, String reason) {
-
- try {
- if (tunnel != null)
- tunnel.close();
- }
- catch (GuacamoleException e) {
- logger.debug("Unable to close connection to guacd.", e);
- }
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/WebSocketTunnelModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/WebSocketTunnelModule.java b/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/WebSocketTunnelModule.java
deleted file mode 100644
index aa62797..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/WebSocketTunnelModule.java
+++ /dev/null
@@ -1,73 +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.
- */
-
-package org.apache.guacamole.websocket.jetty9;
-
-import com.google.inject.servlet.ServletModule;
-import org.apache.guacamole.TunnelLoader;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Loads the Jetty 9 WebSocket tunnel implementation.
- *
- * @author Michael Jumper
- */
-public class WebSocketTunnelModule extends ServletModule implements TunnelLoader {
-
- /**
- * Logger for this class.
- */
- private final Logger logger = LoggerFactory.getLogger(WebSocketTunnelModule.class);
-
- @Override
- public boolean isSupported() {
-
- try {
-
- // Attempt to find WebSocket servlet
- Class.forName("org.apache.guacamole.websocket.jetty9.BasicGuacamoleWebSocketTunnelServlet");
-
- // Support found
- return true;
-
- }
-
- // If no such servlet class, this particular WebSocket support
- // is not present
- catch (ClassNotFoundException e) {}
- catch (NoClassDefFoundError e) {}
-
- // Support not found
- return false;
-
- }
-
- @Override
- public void configureServlets() {
-
- logger.info("Loading Jetty 9 WebSocket support...");
- serve("/websocket-tunnel").with(BasicGuacamoleWebSocketTunnelServlet.class);
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/WebSocketTunnelRequest.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/WebSocketTunnelRequest.java b/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/WebSocketTunnelRequest.java
deleted file mode 100644
index 4625be3..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/WebSocketTunnelRequest.java
+++ /dev/null
@@ -1,76 +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.
- */
-
-package org.apache.guacamole.websocket.jetty9;
-
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-import org.eclipse.jetty.websocket.api.UpgradeRequest;
-import org.apache.guacamole.TunnelRequest;
-
-/**
- * Jetty 9 WebSocket-specific implementation of TunnelRequest.
- *
- * @author Michael Jumper
- */
-public class WebSocketTunnelRequest extends TunnelRequest {
-
- /**
- * All parameters passed via HTTP to the WebSocket handshake.
- */
- private final Map<String, String[]> handshakeParameters;
-
- /**
- * Creates a TunnelRequest implementation which delegates parameter and
- * session retrieval to the given UpgradeRequest.
- *
- * @param request The UpgradeRequest to wrap.
- */
- public WebSocketTunnelRequest(UpgradeRequest request) {
- this.handshakeParameters = request.getParameterMap();
- }
-
- @Override
- public String getParameter(String name) {
-
- // Pull list of values, if present
- List<String> values = getParameterValues(name);
- if (values == null || values.isEmpty())
- return null;
-
- // Return first parameter value arbitrarily
- return values.get(0);
-
- }
-
- @Override
- public List<String> getParameterValues(String name) {
-
- String[] values = handshakeParameters.get(name);
- if (values == null)
- return null;
-
- return Arrays.asList(values);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/package-info.java b/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/package-info.java
deleted file mode 100644
index 9b46c78..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty9/package-info.java
+++ /dev/null
@@ -1,28 +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.
- */
-
-/**
- * Jetty 9 WebSocket tunnel implementation. The classes here require at least
- * Jetty 9, prior to Jetty 9.1 (when support for JSR 356 was implemented).
- */
-package org.apache.guacamole.websocket.jetty9;
-
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/websocket/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/package-info.java b/guacamole/src/main/java/org/apache/guacamole/websocket/package-info.java
deleted file mode 100644
index b478bff..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/websocket/package-info.java
+++ /dev/null
@@ -1,28 +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.
- */
-
-/**
- * Standard WebSocket tunnel implementation. The classes here require a recent
- * servlet container that supports JSR 356.
- */
-package org.apache.guacamole.websocket;
-
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/BasicGuacamoleWebSocketTunnelServlet.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/BasicGuacamoleWebSocketTunnelServlet.java b/guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/BasicGuacamoleWebSocketTunnelServlet.java
deleted file mode 100644
index 73843e8..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/BasicGuacamoleWebSocketTunnelServlet.java
+++ /dev/null
@@ -1,52 +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.
- */
-
-package org.apache.guacamole.websocket.tomcat;
-
-import com.google.inject.Inject;
-import com.google.inject.Singleton;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.net.GuacamoleTunnel;
-import org.apache.guacamole.TunnelRequestService;
-import org.apache.guacamole.TunnelRequest;
-
-/**
- * Tunnel servlet implementation which uses WebSocket as a tunnel backend,
- * rather than HTTP, properly parsing connection IDs included in the connection
- * request.
- */
-@Singleton
-public class BasicGuacamoleWebSocketTunnelServlet extends GuacamoleWebSocketTunnelServlet {
-
- /**
- * Service for handling tunnel requests.
- */
- @Inject
- private TunnelRequestService tunnelRequestService;
-
- @Override
- protected GuacamoleTunnel doConnect(TunnelRequest request)
- throws GuacamoleException {
- return tunnelRequestService.createTunnel(request);
- };
-
-}
[45/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Relicense CSS files.
Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/manage/styles/attributes.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/manage/styles/attributes.css b/guacamole/src/main/webapp/app/manage/styles/attributes.css
index 9b3e826..70871b0 100644
--- a/guacamole/src/main/webapp/app/manage/styles/attributes.css
+++ b/guacamole/src/main/webapp/app/manage/styles/attributes.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/* Do not stretch attributes to fit available area */
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/manage/styles/connection-parameter.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/manage/styles/connection-parameter.css b/guacamole/src/main/webapp/app/manage/styles/connection-parameter.css
index 14b6f3a..a005703 100644
--- a/guacamole/src/main/webapp/app/manage/styles/connection-parameter.css
+++ b/guacamole/src/main/webapp/app/manage/styles/connection-parameter.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/* Do not stretch connection parameters to fit available area */
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/manage/styles/forms.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/manage/styles/forms.css b/guacamole/src/main/webapp/app/manage/styles/forms.css
index 0724562..0f3b3df 100644
--- a/guacamole/src/main/webapp/app/manage/styles/forms.css
+++ b/guacamole/src/main/webapp/app/manage/styles/forms.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
.manage table.properties th {
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/manage/styles/locationChooser.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/manage/styles/locationChooser.css b/guacamole/src/main/webapp/app/manage/styles/locationChooser.css
index 8361422..0eda66a 100644
--- a/guacamole/src/main/webapp/app/manage/styles/locationChooser.css
+++ b/guacamole/src/main/webapp/app/manage/styles/locationChooser.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
.location-chooser .dropdown {
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/manage/styles/manage-user.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/manage/styles/manage-user.css b/guacamole/src/main/webapp/app/manage/styles/manage-user.css
index 2a117d6..cc0cd5c 100644
--- a/guacamole/src/main/webapp/app/manage/styles/manage-user.css
+++ b/guacamole/src/main/webapp/app/manage/styles/manage-user.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
.manage-user .username.header {
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/navigation/styles/page-tabs.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/navigation/styles/page-tabs.css b/guacamole/src/main/webapp/app/navigation/styles/page-tabs.css
index 28b4de2..5e88cd0 100644
--- a/guacamole/src/main/webapp/app/navigation/styles/page-tabs.css
+++ b/guacamole/src/main/webapp/app/navigation/styles/page-tabs.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
.page-tabs .page-list ul {
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/navigation/styles/user-menu.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/navigation/styles/user-menu.css b/guacamole/src/main/webapp/app/navigation/styles/user-menu.css
index d5dd379..2d8ae51 100644
--- a/guacamole/src/main/webapp/app/navigation/styles/user-menu.css
+++ b/guacamole/src/main/webapp/app/navigation/styles/user-menu.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
.user-menu {
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/notification/styles/notification.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/notification/styles/notification.css b/guacamole/src/main/webapp/app/notification/styles/notification.css
index 6b750d1..ee20e13 100644
--- a/guacamole/src/main/webapp/app/notification/styles/notification.css
+++ b/guacamole/src/main/webapp/app/notification/styles/notification.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
.notification {
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/osk/styles/osk.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/osk/styles/osk.css b/guacamole/src/main/webapp/app/osk/styles/osk.css
index c684003..997dd30 100644
--- a/guacamole/src/main/webapp/app/osk/styles/osk.css
+++ b/guacamole/src/main/webapp/app/osk/styles/osk.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
.osk {
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/settings/styles/buttons.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/settings/styles/buttons.css b/guacamole/src/main/webapp/app/settings/styles/buttons.css
index fe96446..17401c3 100644
--- a/guacamole/src/main/webapp/app/settings/styles/buttons.css
+++ b/guacamole/src/main/webapp/app/settings/styles/buttons.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
a.button.add-user,
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/settings/styles/history.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/settings/styles/history.css b/guacamole/src/main/webapp/app/settings/styles/history.css
index 4daa5c6..174903e 100644
--- a/guacamole/src/main/webapp/app/settings/styles/history.css
+++ b/guacamole/src/main/webapp/app/settings/styles/history.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
.settings.connectionHistory .filter {
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/settings/styles/input-method.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/settings/styles/input-method.css b/guacamole/src/main/webapp/app/settings/styles/input-method.css
index 39e12e3..8fe6b6a 100644
--- a/guacamole/src/main/webapp/app/settings/styles/input-method.css
+++ b/guacamole/src/main/webapp/app/settings/styles/input-method.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
.preferences .input-method .caption {
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/settings/styles/mouse-mode.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/settings/styles/mouse-mode.css b/guacamole/src/main/webapp/app/settings/styles/mouse-mode.css
index ff37b1d..7cbb21d 100644
--- a/guacamole/src/main/webapp/app/settings/styles/mouse-mode.css
+++ b/guacamole/src/main/webapp/app/settings/styles/mouse-mode.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
.preferences .mouse-mode .choices {
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/settings/styles/preferences.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/settings/styles/preferences.css b/guacamole/src/main/webapp/app/settings/styles/preferences.css
index eadf490..ed8460d 100644
--- a/guacamole/src/main/webapp/app/settings/styles/preferences.css
+++ b/guacamole/src/main/webapp/app/settings/styles/preferences.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
.preferences .update-password .form,
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/settings/styles/sessions.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/settings/styles/sessions.css b/guacamole/src/main/webapp/app/settings/styles/sessions.css
index e13a382..3ff22be 100644
--- a/guacamole/src/main/webapp/app/settings/styles/sessions.css
+++ b/guacamole/src/main/webapp/app/settings/styles/sessions.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
.settings table.session-list {
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/settings/styles/settings.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/settings/styles/settings.css b/guacamole/src/main/webapp/app/settings/styles/settings.css
index f2495c3..ee59cae 100644
--- a/guacamole/src/main/webapp/app/settings/styles/settings.css
+++ b/guacamole/src/main/webapp/app/settings/styles/settings.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
.settings .header {
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/textInput/styles/textInput.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/textInput/styles/textInput.css b/guacamole/src/main/webapp/app/textInput/styles/textInput.css
index e324329..2d6a820 100644
--- a/guacamole/src/main/webapp/app/textInput/styles/textInput.css
+++ b/guacamole/src/main/webapp/app/textInput/styles/textInput.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
.text-input {
[03/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Remove useless .net.basic subpackage, now that everything is being renamed.
Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/connection/ConnectionRESTService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/connection/ConnectionRESTService.java b/guacamole/src/main/java/org/apache/guacamole/rest/connection/ConnectionRESTService.java
new file mode 100644
index 0000000..b301082
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/connection/ConnectionRESTService.java
@@ -0,0 +1,349 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.rest.connection;
+
+import com.google.inject.Inject;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DELETE;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.PUT;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.MediaType;
+import org.apache.guacamole.GuacamoleClientException;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.GuacamoleSecurityException;
+import org.apache.guacamole.net.auth.Connection;
+import org.apache.guacamole.net.auth.ConnectionRecord;
+import org.apache.guacamole.net.auth.Directory;
+import org.apache.guacamole.net.auth.User;
+import org.apache.guacamole.net.auth.UserContext;
+import org.apache.guacamole.net.auth.permission.ObjectPermission;
+import org.apache.guacamole.net.auth.permission.ObjectPermissionSet;
+import org.apache.guacamole.net.auth.permission.SystemPermission;
+import org.apache.guacamole.net.auth.permission.SystemPermissionSet;
+import org.apache.guacamole.GuacamoleSession;
+import org.apache.guacamole.rest.ObjectRetrievalService;
+import org.apache.guacamole.rest.auth.AuthenticationService;
+import org.apache.guacamole.rest.history.APIConnectionRecord;
+import org.apache.guacamole.protocol.GuacamoleConfiguration;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * A REST Service for handling connection CRUD operations.
+ *
+ * @author James Muehlner
+ */
+@Path("/data/{dataSource}/connections")
+@Produces(MediaType.APPLICATION_JSON)
+@Consumes(MediaType.APPLICATION_JSON)
+public class ConnectionRESTService {
+
+ /**
+ * Logger for this class.
+ */
+ private static final Logger logger = LoggerFactory.getLogger(ConnectionRESTService.class);
+
+ /**
+ * A service for authenticating users from auth tokens.
+ */
+ @Inject
+ private AuthenticationService authenticationService;
+
+ /**
+ * Service for convenient retrieval of objects.
+ */
+ @Inject
+ private ObjectRetrievalService retrievalService;
+
+ /**
+ * Retrieves an individual connection.
+ *
+ * @param authToken
+ * The authentication token that is used to authenticate the user
+ * performing the operation.
+ *
+ * @param authProviderIdentifier
+ * The unique identifier of the AuthenticationProvider associated with
+ * the UserContext containing the connection to be retrieved.
+ *
+ * @param connectionID
+ * The identifier of the connection to retrieve.
+ *
+ * @return
+ * The connection having the given identifier.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while retrieving the connection.
+ */
+ @GET
+ @Path("/{connectionID}")
+ public APIConnection getConnection(@QueryParam("token") String authToken,
+ @PathParam("dataSource") String authProviderIdentifier,
+ @PathParam("connectionID") String connectionID)
+ throws GuacamoleException {
+
+ GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
+
+ // Retrieve the requested connection
+ return new APIConnection(retrievalService.retrieveConnection(session, authProviderIdentifier, connectionID));
+
+ }
+
+ /**
+ * Retrieves the parameters associated with a single connection.
+ *
+ * @param authToken
+ * The authentication token that is used to authenticate the user
+ * performing the operation.
+ *
+ * @param authProviderIdentifier
+ * The unique identifier of the AuthenticationProvider associated with
+ * the UserContext containing the connection whose parameters are to be
+ * retrieved.
+ *
+ * @param connectionID
+ * The identifier of the connection.
+ *
+ * @return
+ * A map of parameter name/value pairs.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while retrieving the connection parameters.
+ */
+ @GET
+ @Path("/{connectionID}/parameters")
+ public Map<String, String> getConnectionParameters(@QueryParam("token") String authToken,
+ @PathParam("dataSource") String authProviderIdentifier,
+ @PathParam("connectionID") String connectionID)
+ throws GuacamoleException {
+
+ GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
+ UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
+ User self = userContext.self();
+
+ // Retrieve permission sets
+ SystemPermissionSet systemPermissions = self.getSystemPermissions();
+ ObjectPermissionSet connectionPermissions = self.getConnectionPermissions();
+
+ // Deny access if adminstrative or update permission is missing
+ if (!systemPermissions.hasPermission(SystemPermission.Type.ADMINISTER)
+ && !connectionPermissions.hasPermission(ObjectPermission.Type.UPDATE, connectionID))
+ throw new GuacamoleSecurityException("Permission to read connection parameters denied.");
+
+ // Retrieve the requested connection
+ Connection connection = retrievalService.retrieveConnection(userContext, connectionID);
+
+ // Retrieve connection configuration
+ GuacamoleConfiguration config = connection.getConfiguration();
+
+ // Return parameter map
+ return config.getParameters();
+
+ }
+
+ /**
+ * Retrieves the usage history of a single connection.
+ *
+ * @param authToken
+ * The authentication token that is used to authenticate the user
+ * performing the operation.
+ *
+ * @param authProviderIdentifier
+ * The unique identifier of the AuthenticationProvider associated with
+ * the UserContext containing the connection whose history is to be
+ * retrieved.
+ *
+ * @param connectionID
+ * The identifier of the connection.
+ *
+ * @return
+ * A list of connection records, describing the start and end times of
+ * various usages of this connection.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while retrieving the connection history.
+ */
+ @GET
+ @Path("/{connectionID}/history")
+ public List<APIConnectionRecord> getConnectionHistory(@QueryParam("token") String authToken,
+ @PathParam("dataSource") String authProviderIdentifier,
+ @PathParam("connectionID") String connectionID)
+ throws GuacamoleException {
+
+ GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
+
+ // Retrieve the requested connection
+ Connection connection = retrievalService.retrieveConnection(session, authProviderIdentifier, connectionID);
+
+ // Retrieve the requested connection's history
+ List<APIConnectionRecord> apiRecords = new ArrayList<APIConnectionRecord>();
+ for (ConnectionRecord record : connection.getHistory())
+ apiRecords.add(new APIConnectionRecord(record));
+
+ // Return the converted history
+ return apiRecords;
+
+ }
+
+ /**
+ * Deletes an individual connection.
+ *
+ * @param authToken
+ * The authentication token that is used to authenticate the user
+ * performing the operation.
+ *
+ * @param authProviderIdentifier
+ * The unique identifier of the AuthenticationProvider associated with
+ * the UserContext containing the connection to be deleted.
+ *
+ * @param connectionID
+ * The identifier of the connection to delete.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while deleting the connection.
+ */
+ @DELETE
+ @Path("/{connectionID}")
+ public void deleteConnection(@QueryParam("token") String authToken,
+ @PathParam("dataSource") String authProviderIdentifier,
+ @PathParam("connectionID") String connectionID)
+ throws GuacamoleException {
+
+ GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
+ UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
+
+ // Get the connection directory
+ Directory<Connection> connectionDirectory = userContext.getConnectionDirectory();
+
+ // Delete the specified connection
+ connectionDirectory.remove(connectionID);
+
+ }
+
+ /**
+ * Creates a new connection and returns the new connection, with identifier
+ * field populated.
+ *
+ * @param authToken
+ * The authentication token that is used to authenticate the user
+ * performing the operation.
+ *
+ * @param authProviderIdentifier
+ * The unique identifier of the AuthenticationProvider associated with
+ * the UserContext in which the connection is to be created.
+ *
+ * @param connection
+ * The connection to create.
+ *
+ * @return
+ * The new connection.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while creating the connection.
+ */
+ @POST
+ public APIConnection createConnection(@QueryParam("token") String authToken,
+ @PathParam("dataSource") String authProviderIdentifier,
+ APIConnection connection) throws GuacamoleException {
+
+ GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
+ UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
+
+ // Validate that connection data was provided
+ if (connection == null)
+ throw new GuacamoleClientException("Connection JSON must be submitted when creating connections.");
+
+ // Add the new connection
+ Directory<Connection> connectionDirectory = userContext.getConnectionDirectory();
+ connectionDirectory.add(new APIConnectionWrapper(connection));
+
+ // Return the new connection
+ return connection;
+
+ }
+
+ /**
+ * Updates an existing connection. If the parent identifier of the
+ * connection is changed, the connection will also be moved to the new
+ * parent group.
+ *
+ * @param authToken
+ * The authentication token that is used to authenticate the user
+ * performing the operation.
+ *
+ * @param authProviderIdentifier
+ * The unique identifier of the AuthenticationProvider associated with
+ * the UserContext containing the connection to be updated.
+ *
+ * @param connectionID
+ * The identifier of the connection to update.
+ *
+ * @param connection
+ * The connection data to update the specified connection with.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while updating the connection.
+ */
+ @PUT
+ @Path("/{connectionID}")
+ public void updateConnection(@QueryParam("token") String authToken,
+ @PathParam("dataSource") String authProviderIdentifier,
+ @PathParam("connectionID") String connectionID,
+ APIConnection connection) throws GuacamoleException {
+
+ GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
+ UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
+
+ // Validate that connection data was provided
+ if (connection == null)
+ throw new GuacamoleClientException("Connection JSON must be submitted when updating connections.");
+
+ // Get the connection directory
+ Directory<Connection> connectionDirectory = userContext.getConnectionDirectory();
+
+ // Retrieve connection to update
+ Connection existingConnection = retrievalService.retrieveConnection(userContext, connectionID);
+
+ // Build updated configuration
+ GuacamoleConfiguration config = new GuacamoleConfiguration();
+ config.setProtocol(connection.getProtocol());
+ config.setParameters(connection.getParameters());
+
+ // Update the connection
+ existingConnection.setConfiguration(config);
+ existingConnection.setParentIdentifier(connection.getParentIdentifier());
+ existingConnection.setName(connection.getName());
+ existingConnection.setAttributes(connection.getAttributes());
+ connectionDirectory.update(existingConnection);
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/connection/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/connection/package-info.java b/guacamole/src/main/java/org/apache/guacamole/rest/connection/package-info.java
new file mode 100644
index 0000000..d80155f
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/connection/package-info.java
@@ -0,0 +1,27 @@
+/*
+ * 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.
+ */
+
+/**
+ * Classes related to the connection manipulation aspect of the Guacamole REST API.
+ */
+package org.apache.guacamole.rest.connection;
+
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/APIConnectionGroup.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/APIConnectionGroup.java b/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/APIConnectionGroup.java
new file mode 100644
index 0000000..67dea8e
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/APIConnectionGroup.java
@@ -0,0 +1,272 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.rest.connectiongroup;
+
+import java.util.Collection;
+import java.util.Map;
+import org.codehaus.jackson.annotate.JsonIgnoreProperties;
+import org.codehaus.jackson.map.annotate.JsonSerialize;
+import org.apache.guacamole.net.auth.ConnectionGroup;
+import org.apache.guacamole.net.auth.ConnectionGroup.Type;
+import org.apache.guacamole.rest.connection.APIConnection;
+
+/**
+ * A simple connection group to expose through the REST endpoints.
+ *
+ * @author James Muehlner
+ */
+@JsonIgnoreProperties(ignoreUnknown = true)
+@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
+public class APIConnectionGroup {
+
+ /**
+ * The identifier of the root connection group.
+ */
+ public static final String ROOT_IDENTIFIER = "ROOT";
+
+ /**
+ * The name of this connection group.
+ */
+ private String name;
+
+ /**
+ * The identifier of this connection group.
+ */
+ private String identifier;
+
+ /**
+ * The identifier of the parent connection group for this connection group.
+ */
+ private String parentIdentifier;
+
+ /**
+ * The type of this connection group.
+ */
+ private Type type;
+
+ /**
+ * The count of currently active connections using this connection group.
+ */
+ private int activeConnections;
+
+ /**
+ * All child connection groups. If children are not being queried, this may
+ * be omitted.
+ */
+ private Collection<APIConnectionGroup> childConnectionGroups;
+
+ /**
+ * All child connections. If children are not being queried, this may be
+ * omitted.
+ */
+ private Collection<APIConnection> childConnections;
+
+ /**
+ * Map of all associated attributes by attribute identifier.
+ */
+ private Map<String, String> attributes;
+
+ /**
+ * Create an empty APIConnectionGroup.
+ */
+ public APIConnectionGroup() {}
+
+ /**
+ * Create a new APIConnectionGroup from the given ConnectionGroup record.
+ *
+ * @param connectionGroup The ConnectionGroup record to initialize this
+ * APIConnectionGroup from.
+ */
+ public APIConnectionGroup(ConnectionGroup connectionGroup) {
+
+ // Set connection group information
+ this.identifier = connectionGroup.getIdentifier();
+ this.parentIdentifier = connectionGroup.getParentIdentifier();
+ this.name = connectionGroup.getName();
+ this.type = connectionGroup.getType();
+ this.activeConnections = connectionGroup.getActiveConnections();
+
+ // Associate any attributes
+ this.attributes = connectionGroup.getAttributes();
+
+ }
+
+ /**
+ * Returns the name of this connection group.
+ * @return The name of this connection group.
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * Set the name of this connection group.
+ * @param name The name of this connection group.
+ */
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ /**
+ * Returns the identifier of this connection group.
+ * @return The identifier of this connection group.
+ */
+ public String getIdentifier() {
+ return identifier;
+ }
+
+ /**
+ * Set the identifier of this connection group.
+ * @param identifier The identifier of this connection group.
+ */
+ public void setIdentifier(String identifier) {
+ this.identifier = identifier;
+ }
+
+ /**
+ * Returns the unique identifier for this connection group.
+ * @return The unique identifier for this connection group.
+ */
+ public String getParentIdentifier() {
+ return parentIdentifier;
+ }
+ /**
+ * Sets the parent connection group identifier for this connection group.
+ * @param parentIdentifier The parent connection group identifier
+ * for this connection group.
+ */
+ public void setParentIdentifier(String parentIdentifier) {
+ this.parentIdentifier = parentIdentifier;
+ }
+
+ /**
+ * Returns the type of this connection group.
+ * @return The type of this connection group.
+ */
+ public Type getType() {
+ return type;
+ }
+
+ /**
+ * Set the type of this connection group.
+ * @param type The Type of this connection group.
+ */
+ public void setType(Type type) {
+ this.type = type;
+ }
+
+ /**
+ * Returns a collection of all child connection groups, or null if children
+ * have not been queried.
+ *
+ * @return
+ * A collection of all child connection groups, or null if children
+ * have not been queried.
+ */
+ public Collection<APIConnectionGroup> getChildConnectionGroups() {
+ return childConnectionGroups;
+ }
+
+ /**
+ * Sets the collection of all child connection groups to the given
+ * collection, which may be null if children have not been queried.
+ *
+ * @param childConnectionGroups
+ * The collection containing all child connection groups of this
+ * connection group, or null if children have not been queried.
+ */
+ public void setChildConnectionGroups(Collection<APIConnectionGroup> childConnectionGroups) {
+ this.childConnectionGroups = childConnectionGroups;
+ }
+
+ /**
+ * Returns a collection of all child connections, or null if children have
+ * not been queried.
+ *
+ * @return
+ * A collection of all child connections, or null if children have not
+ * been queried.
+ */
+ public Collection<APIConnection> getChildConnections() {
+ return childConnections;
+ }
+
+ /**
+ * Sets the collection of all child connections to the given collection,
+ * which may be null if children have not been queried.
+ *
+ * @param childConnections
+ * The collection containing all child connections of this connection
+ * group, or null if children have not been queried.
+ */
+ public void setChildConnections(Collection<APIConnection> childConnections) {
+ this.childConnections = childConnections;
+ }
+
+ /**
+ * Returns the number of currently active connections using this
+ * connection group.
+ *
+ * @return
+ * The number of currently active usages of this connection group.
+ */
+ public int getActiveConnections() {
+ return activeConnections;
+ }
+
+ /**
+ * Set the number of currently active connections using this connection
+ * group.
+ *
+ * @param activeConnections
+ * The number of currently active usages of this connection group.
+ */
+ public void setActiveUsers(int activeConnections) {
+ this.activeConnections = activeConnections;
+ }
+
+ /**
+ * Returns a map of all attributes associated with this connection group.
+ * Each entry key is the attribute identifier, while each value is the
+ * attribute value itself.
+ *
+ * @return
+ * The attribute map for this connection group.
+ */
+ public Map<String, String> getAttributes() {
+ return attributes;
+ }
+
+ /**
+ * Sets the map of all attributes associated with this connection group.
+ * Each entry key is the attribute identifier, while each value is the
+ * attribute value itself.
+ *
+ * @param attributes
+ * The attribute map for this connection group.
+ */
+ public void setAttributes(Map<String, String> attributes) {
+ this.attributes = attributes;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/APIConnectionGroupWrapper.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/APIConnectionGroupWrapper.java b/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/APIConnectionGroupWrapper.java
new file mode 100644
index 0000000..0c8198a
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/APIConnectionGroupWrapper.java
@@ -0,0 +1,124 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.rest.connectiongroup;
+
+import java.util.Map;
+import java.util.Set;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.net.GuacamoleTunnel;
+import org.apache.guacamole.net.auth.ConnectionGroup;
+import org.apache.guacamole.protocol.GuacamoleClientInformation;
+
+/**
+ * A wrapper to make an APIConnection look like a ConnectionGroup.
+ * Useful where a org.apache.guacamole.net.auth.ConnectionGroup is required.
+ *
+ * @author James Muehlner
+ */
+public class APIConnectionGroupWrapper implements ConnectionGroup {
+
+ /**
+ * The wrapped APIConnectionGroup.
+ */
+ private final APIConnectionGroup apiConnectionGroup;
+
+ /**
+ * Create a new APIConnectionGroupWrapper to wrap the given
+ * APIConnectionGroup as a ConnectionGroup.
+ * @param apiConnectionGroup the APIConnectionGroup to wrap.
+ */
+ public APIConnectionGroupWrapper(APIConnectionGroup apiConnectionGroup) {
+ this.apiConnectionGroup = apiConnectionGroup;
+ }
+
+ @Override
+ public String getName() {
+ return apiConnectionGroup.getName();
+ }
+
+ @Override
+ public void setName(String name) {
+ apiConnectionGroup.setName(name);
+ }
+
+ @Override
+ public String getIdentifier() {
+ return apiConnectionGroup.getIdentifier();
+ }
+
+ @Override
+ public void setIdentifier(String identifier) {
+ apiConnectionGroup.setIdentifier(identifier);
+ }
+
+ @Override
+ public String getParentIdentifier() {
+ return apiConnectionGroup.getParentIdentifier();
+ }
+
+ @Override
+ public void setParentIdentifier(String parentIdentifier) {
+ apiConnectionGroup.setParentIdentifier(parentIdentifier);
+ }
+
+ @Override
+ public void setType(Type type) {
+ apiConnectionGroup.setType(type);
+ }
+
+ @Override
+ public Type getType() {
+ return apiConnectionGroup.getType();
+ }
+
+ @Override
+ public int getActiveConnections() {
+ return apiConnectionGroup.getActiveConnections();
+ }
+
+ @Override
+ public Set<String> getConnectionIdentifiers() {
+ throw new UnsupportedOperationException("Operation not supported.");
+ }
+
+ @Override
+ public Set<String> getConnectionGroupIdentifiers() {
+ throw new UnsupportedOperationException("Operation not supported.");
+ }
+
+ @Override
+ public Map<String, String> getAttributes() {
+ return apiConnectionGroup.getAttributes();
+ }
+
+ @Override
+ public void setAttributes(Map<String, String> attributes) {
+ apiConnectionGroup.setAttributes(attributes);
+ }
+
+ @Override
+ public GuacamoleTunnel connect(GuacamoleClientInformation info) throws GuacamoleException {
+ throw new UnsupportedOperationException("Operation not supported.");
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/ConnectionGroupRESTService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/ConnectionGroupRESTService.java b/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/ConnectionGroupRESTService.java
new file mode 100644
index 0000000..84e5283
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/ConnectionGroupRESTService.java
@@ -0,0 +1,287 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.rest.connectiongroup;
+
+import com.google.inject.Inject;
+import java.util.List;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DELETE;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.PUT;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.MediaType;
+import org.apache.guacamole.GuacamoleClientException;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.net.auth.ConnectionGroup;
+import org.apache.guacamole.net.auth.Directory;
+import org.apache.guacamole.net.auth.UserContext;
+import org.apache.guacamole.net.auth.permission.ObjectPermission;
+import org.apache.guacamole.GuacamoleSession;
+import org.apache.guacamole.rest.ObjectRetrievalService;
+import org.apache.guacamole.rest.auth.AuthenticationService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * A REST Service for handling connection group CRUD operations.
+ *
+ * @author James Muehlner
+ */
+@Path("/data/{dataSource}/connectionGroups")
+@Produces(MediaType.APPLICATION_JSON)
+@Consumes(MediaType.APPLICATION_JSON)
+public class ConnectionGroupRESTService {
+
+ /**
+ * Logger for this class.
+ */
+ private static final Logger logger = LoggerFactory.getLogger(ConnectionGroupRESTService.class);
+
+ /**
+ * A service for authenticating users from auth tokens.
+ */
+ @Inject
+ private AuthenticationService authenticationService;
+
+ /**
+ * Service for convenient retrieval of objects.
+ */
+ @Inject
+ private ObjectRetrievalService retrievalService;
+
+ /**
+ * Gets an individual connection group.
+ *
+ * @param authToken
+ * The authentication token that is used to authenticate the user
+ * performing the operation.
+ *
+ * @param authProviderIdentifier
+ * The unique identifier of the AuthenticationProvider associated with
+ * the UserContext containing the connection group to be retrieved.
+ *
+ * @param connectionGroupID
+ * The ID of the connection group to retrieve.
+ *
+ * @return
+ * The connection group, without any descendants.
+ *
+ * @throws GuacamoleException
+ * If a problem is encountered while retrieving the connection group.
+ */
+ @GET
+ @Path("/{connectionGroupID}")
+ public APIConnectionGroup getConnectionGroup(@QueryParam("token") String authToken,
+ @PathParam("dataSource") String authProviderIdentifier,
+ @PathParam("connectionGroupID") String connectionGroupID)
+ throws GuacamoleException {
+
+ GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
+
+ // Retrieve the requested connection group
+ return new APIConnectionGroup(retrievalService.retrieveConnectionGroup(session, authProviderIdentifier, connectionGroupID));
+
+ }
+
+ /**
+ * Gets an individual connection group and all children.
+ *
+ * @param authToken
+ * The authentication token that is used to authenticate the user
+ * performing the operation.
+ *
+ * @param authProviderIdentifier
+ * The unique identifier of the AuthenticationProvider associated with
+ * the UserContext containing the connection group to be retrieved.
+ *
+ * @param connectionGroupID
+ * The ID of the connection group to retrieve.
+ *
+ * @param permissions
+ * If specified and non-empty, limit the returned list to only those
+ * connections for which the current user has any of the given
+ * permissions. Otherwise, all visible connections are returned.
+ * Connection groups are unaffected by this parameter.
+ *
+ * @return
+ * The requested connection group, including all descendants.
+ *
+ * @throws GuacamoleException
+ * If a problem is encountered while retrieving the connection group or
+ * its descendants.
+ */
+ @GET
+ @Path("/{connectionGroupID}/tree")
+ public APIConnectionGroup getConnectionGroupTree(@QueryParam("token") String authToken,
+ @PathParam("dataSource") String authProviderIdentifier,
+ @PathParam("connectionGroupID") String connectionGroupID,
+ @QueryParam("permission") List<ObjectPermission.Type> permissions)
+ throws GuacamoleException {
+
+ GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
+ UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
+
+ // Retrieve the requested tree, filtering by the given permissions
+ ConnectionGroup treeRoot = retrievalService.retrieveConnectionGroup(userContext, connectionGroupID);
+ ConnectionGroupTree tree = new ConnectionGroupTree(userContext, treeRoot, permissions);
+
+ // Return tree as a connection group
+ return tree.getRootAPIConnectionGroup();
+
+ }
+
+ /**
+ * Deletes an individual connection group.
+ *
+ * @param authToken
+ * The authentication token that is used to authenticate the user
+ * performing the operation.
+ *
+ * @param authProviderIdentifier
+ * The unique identifier of the AuthenticationProvider associated with
+ * the UserContext containing the connection group to be deleted.
+ *
+ * @param connectionGroupID
+ * The identifier of the connection group to delete.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while deleting the connection group.
+ */
+ @DELETE
+ @Path("/{connectionGroupID}")
+ public void deleteConnectionGroup(@QueryParam("token") String authToken,
+ @PathParam("dataSource") String authProviderIdentifier,
+ @PathParam("connectionGroupID") String connectionGroupID)
+ throws GuacamoleException {
+
+ GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
+ UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
+
+ // Get the connection group directory
+ Directory<ConnectionGroup> connectionGroupDirectory = userContext.getConnectionGroupDirectory();
+
+ // Delete the connection group
+ connectionGroupDirectory.remove(connectionGroupID);
+
+ }
+
+ /**
+ * Creates a new connection group and returns the new connection group,
+ * with identifier field populated.
+ *
+ * @param authToken
+ * The authentication token that is used to authenticate the user
+ * performing the operation.
+ *
+ * @param authProviderIdentifier
+ * The unique identifier of the AuthenticationProvider associated with
+ * the UserContext in which the connection group is to be created.
+ *
+ * @param connectionGroup
+ * The connection group to create.
+ *
+ * @return
+ * The new connection group.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while creating the connection group.
+ */
+ @POST
+ public APIConnectionGroup createConnectionGroup(
+ @QueryParam("token") String authToken,
+ @PathParam("dataSource") String authProviderIdentifier,
+ APIConnectionGroup connectionGroup) throws GuacamoleException {
+
+ GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
+ UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
+
+ // Validate that connection group data was provided
+ if (connectionGroup == null)
+ throw new GuacamoleClientException("Connection group JSON must be submitted when creating connections groups.");
+
+ // Add the new connection group
+ Directory<ConnectionGroup> connectionGroupDirectory = userContext.getConnectionGroupDirectory();
+ connectionGroupDirectory.add(new APIConnectionGroupWrapper(connectionGroup));
+
+ // Return the new connection group
+ return connectionGroup;
+
+ }
+
+ /**
+ * Updates a connection group. If the parent identifier of the
+ * connection group is changed, the connection group will also be moved to
+ * the new parent group.
+ *
+ * @param authToken
+ * The authentication token that is used to authenticate the user
+ * performing the operation.
+ *
+ * @param authProviderIdentifier
+ * The unique identifier of the AuthenticationProvider associated with
+ * the UserContext containing the connection group to be updated.
+ *
+ * @param connectionGroupID
+ * The identifier of the existing connection group to update.
+ *
+ * @param connectionGroup
+ * The data to update the existing connection group with.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while updating the connection group.
+ */
+ @PUT
+ @Path("/{connectionGroupID}")
+ public void updateConnectionGroup(@QueryParam("token") String authToken,
+ @PathParam("dataSource") String authProviderIdentifier,
+ @PathParam("connectionGroupID") String connectionGroupID,
+ APIConnectionGroup connectionGroup)
+ throws GuacamoleException {
+
+ GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
+ UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
+
+ // Validate that connection group data was provided
+ if (connectionGroup == null)
+ throw new GuacamoleClientException("Connection group JSON must be submitted when updating connection groups.");
+
+ // Get the connection group directory
+ Directory<ConnectionGroup> connectionGroupDirectory = userContext.getConnectionGroupDirectory();
+
+ // Retrieve connection group to update
+ ConnectionGroup existingConnectionGroup = retrievalService.retrieveConnectionGroup(userContext, connectionGroupID);
+
+ // Update the connection group
+ existingConnectionGroup.setName(connectionGroup.getName());
+ existingConnectionGroup.setParentIdentifier(connectionGroup.getParentIdentifier());
+ existingConnectionGroup.setType(connectionGroup.getType());
+ existingConnectionGroup.setAttributes(connectionGroup.getAttributes());
+ connectionGroupDirectory.update(existingConnectionGroup);
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/ConnectionGroupTree.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/ConnectionGroupTree.java b/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/ConnectionGroupTree.java
new file mode 100644
index 0000000..75e46ae
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/ConnectionGroupTree.java
@@ -0,0 +1,259 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.rest.connectiongroup;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.net.auth.Connection;
+import org.apache.guacamole.net.auth.ConnectionGroup;
+import org.apache.guacamole.net.auth.UserContext;
+import org.apache.guacamole.net.auth.permission.ObjectPermission;
+import org.apache.guacamole.net.auth.permission.ObjectPermissionSet;
+import org.apache.guacamole.rest.connection.APIConnection;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Provides access to the entire tree of connection groups and their
+ * connections.
+ *
+ * @author Michael Jumper
+ */
+public class ConnectionGroupTree {
+
+ /**
+ * Logger for this class.
+ */
+ private static final Logger logger = LoggerFactory.getLogger(ConnectionGroupTree.class);
+
+ /**
+ * The context of the user obtaining this tree.
+ */
+ private final UserContext userContext;
+
+ /**
+ * The root connection group as an APIConnectionGroup.
+ */
+ private final APIConnectionGroup rootAPIGroup;
+
+ /**
+ * All connection groups that have been retrieved, stored by their
+ * identifiers.
+ */
+ private final Map<String, APIConnectionGroup> retrievedGroups =
+ new HashMap<String, APIConnectionGroup>();
+
+ /**
+ * Adds each of the provided connections to the current tree as children
+ * of their respective parents. The parent connection groups must already
+ * be added.
+ *
+ * @param connections
+ * The connections to add to the tree.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while adding the connection to the tree.
+ */
+ private void addConnections(Collection<Connection> connections)
+ throws GuacamoleException {
+
+ // Add each connection to the tree
+ for (Connection connection : connections) {
+
+ // Retrieve the connection's parent group
+ APIConnectionGroup parent = retrievedGroups.get(connection.getParentIdentifier());
+ if (parent != null) {
+
+ Collection<APIConnection> children = parent.getChildConnections();
+
+ // Create child collection if it does not yet exist
+ if (children == null) {
+ children = new ArrayList<APIConnection>();
+ parent.setChildConnections(children);
+ }
+
+ // Add child
+ children.add(new APIConnection(connection));
+
+ }
+
+ // Warn of internal consistency issues
+ else
+ logger.debug("Connection \"{}\" cannot be added to the tree: parent \"{}\" does not actually exist.",
+ connection.getIdentifier(),
+ connection.getParentIdentifier());
+
+ } // end for each connection
+
+ }
+
+ /**
+ * Adds each of the provided connection groups to the current tree as
+ * children of their respective parents. The parent connection groups must
+ * already be added.
+ *
+ * @param connectionGroups
+ * The connection groups to add to the tree.
+ */
+ private void addConnectionGroups(Collection<ConnectionGroup> connectionGroups) {
+
+ // Add each connection group to the tree
+ for (ConnectionGroup connectionGroup : connectionGroups) {
+
+ // Retrieve the connection group's parent group
+ APIConnectionGroup parent = retrievedGroups.get(connectionGroup.getParentIdentifier());
+ if (parent != null) {
+
+ Collection<APIConnectionGroup> children = parent.getChildConnectionGroups();
+
+ // Create child collection if it does not yet exist
+ if (children == null) {
+ children = new ArrayList<APIConnectionGroup>();
+ parent.setChildConnectionGroups(children);
+ }
+
+ // Add child
+ APIConnectionGroup apiConnectionGroup = new APIConnectionGroup(connectionGroup);
+ retrievedGroups.put(connectionGroup.getIdentifier(), apiConnectionGroup);
+ children.add(apiConnectionGroup);
+
+ }
+
+ // Warn of internal consistency issues
+ else
+ logger.debug("Connection group \"{}\" cannot be added to the tree: parent \"{}\" does not actually exist.",
+ connectionGroup.getIdentifier(),
+ connectionGroup.getParentIdentifier());
+
+ } // end for each connection group
+
+ }
+
+ /**
+ * Adds all descendants of the given parent groups to their corresponding
+ * parents already stored under root.
+ *
+ * @param parents
+ * The parents whose descendants should be added to the tree.
+ *
+ * @param permissions
+ * If specified and non-empty, limit added connections to only
+ * connections for which the current user has any of the given
+ * permissions. Otherwise, all visible connections are added.
+ * Connection groups are unaffected by this parameter.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while retrieving the descendants.
+ */
+ private void addDescendants(Collection<ConnectionGroup> parents,
+ List<ObjectPermission.Type> permissions)
+ throws GuacamoleException {
+
+ // If no parents, nothing to do
+ if (parents.isEmpty())
+ return;
+
+ Collection<String> childConnectionIdentifiers = new ArrayList<String>();
+ Collection<String> childConnectionGroupIdentifiers = new ArrayList<String>();
+
+ // Build lists of identifiers for retrieval
+ for (ConnectionGroup parent : parents) {
+ childConnectionIdentifiers.addAll(parent.getConnectionIdentifiers());
+ childConnectionGroupIdentifiers.addAll(parent.getConnectionGroupIdentifiers());
+ }
+
+ // Filter identifiers based on permissions, if requested
+ if (permissions != null && !permissions.isEmpty()) {
+ ObjectPermissionSet permissionSet = userContext.self().getConnectionPermissions();
+ childConnectionIdentifiers = permissionSet.getAccessibleObjects(permissions, childConnectionIdentifiers);
+ }
+
+ // Retrieve child connections
+ if (!childConnectionIdentifiers.isEmpty()) {
+ Collection<Connection> childConnections = userContext.getConnectionDirectory().getAll(childConnectionIdentifiers);
+ addConnections(childConnections);
+ }
+
+ // Retrieve child connection groups
+ if (!childConnectionGroupIdentifiers.isEmpty()) {
+ Collection<ConnectionGroup> childConnectionGroups = userContext.getConnectionGroupDirectory().getAll(childConnectionGroupIdentifiers);
+ addConnectionGroups(childConnectionGroups);
+ addDescendants(childConnectionGroups, permissions);
+ }
+
+ }
+
+ /**
+ * Creates a new connection group tree using the given connection group as
+ * the tree root.
+ *
+ * @param userContext
+ * The context of the user obtaining the connection group tree.
+ *
+ * @param root
+ * The connection group to use as the root of this connection group
+ * tree.
+ *
+ * @param permissions
+ * If specified and non-empty, limit the contents of the tree to only
+ * those connections for which the current user has any of the given
+ * permissions. Otherwise, all visible connections are returned.
+ * Connection groups are unaffected by this parameter.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while retrieving the tree of connection groups
+ * and their descendants.
+ */
+ public ConnectionGroupTree(UserContext userContext, ConnectionGroup root,
+ List<ObjectPermission.Type> permissions) throws GuacamoleException {
+
+ this.userContext = userContext;
+
+ // Store root of tree
+ this.rootAPIGroup = new APIConnectionGroup(root);
+ retrievedGroups.put(root.getIdentifier(), this.rootAPIGroup);
+
+ // Add all descendants
+ addDescendants(Collections.singleton(root), permissions);
+
+ }
+
+ /**
+ * Returns the entire connection group tree as an APIConnectionGroup. The
+ * returned APIConnectionGroup is the root group and will contain all
+ * descendant connection groups and connections, arranged hierarchically.
+ *
+ * @return
+ * The root connection group, containing the entire connection group
+ * tree and all connections.
+ */
+ public APIConnectionGroup getRootAPIConnectionGroup() {
+ return rootAPIGroup;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/package-info.java b/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/package-info.java
new file mode 100644
index 0000000..9152989
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/package-info.java
@@ -0,0 +1,28 @@
+/*
+ * 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.
+ */
+
+/**
+ * Classes related to the connection group manipulation aspect
+ * of the Guacamole REST API.
+ */
+package org.apache.guacamole.rest.connectiongroup;
+
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/history/APIConnectionRecord.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/history/APIConnectionRecord.java b/guacamole/src/main/java/org/apache/guacamole/rest/history/APIConnectionRecord.java
new file mode 100644
index 0000000..e5d92a0
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/history/APIConnectionRecord.java
@@ -0,0 +1,163 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.rest.history;
+
+import java.util.Date;
+import org.apache.guacamole.net.auth.ConnectionRecord;
+
+/**
+ * A connection record which may be exposed through the REST endpoints.
+ *
+ * @author Michael Jumper
+ */
+public class APIConnectionRecord {
+
+ /**
+ * The identifier of the connection associated with this record.
+ */
+ private final String connectionIdentifier;
+
+ /**
+ * The identifier of the connection associated with this record.
+ */
+ private final String connectionName;
+
+ /**
+ * The date and time the connection began.
+ */
+ private final Date startDate;
+
+ /**
+ * The date and time the connection ended, or null if the connection is
+ * still running or if the end time is unknown.
+ */
+ private final Date endDate;
+
+ /**
+ * The host from which the connection originated, if known.
+ */
+ private final String remoteHost;
+
+ /**
+ * The name of the user who used or is using the connection.
+ */
+ private final String username;
+
+ /**
+ * Whether the connection is currently active.
+ */
+ private final boolean active;
+
+ /**
+ * Creates a new APIConnectionRecord, copying the data from the given
+ * record.
+ *
+ * @param record
+ * The record to copy data from.
+ */
+ public APIConnectionRecord(ConnectionRecord record) {
+ this.connectionIdentifier = record.getConnectionIdentifier();
+ this.connectionName = record.getConnectionName();
+ this.startDate = record.getStartDate();
+ this.endDate = record.getEndDate();
+ this.remoteHost = record.getRemoteHost();
+ this.username = record.getUsername();
+ this.active = record.isActive();
+ }
+
+ /**
+ * Returns the identifier of the connection associated with this
+ * record.
+ *
+ * @return
+ * The identifier of the connection associated with this record.
+ */
+ public String getConnectionIdentifier() {
+ return connectionIdentifier;
+ }
+
+ /**
+ * Returns the name of the connection associated with this record.
+ *
+ * @return
+ * The name of the connection associated with this record.
+ */
+ public String getConnectionName() {
+ return connectionName;
+ }
+
+ /**
+ * Returns the date and time the connection began.
+ *
+ * @return
+ * The date and time the connection began.
+ */
+ public Date getStartDate() {
+ return startDate;
+ }
+
+ /**
+ * Returns the date and time the connection ended, if applicable.
+ *
+ * @return
+ * The date and time the connection ended, or null if the connection is
+ * still running or if the end time is unknown.
+ */
+ public Date getEndDate() {
+ return endDate;
+ }
+
+ /**
+ * Returns the remote host from which this connection originated.
+ *
+ * @return
+ * The remote host from which this connection originated.
+ */
+ public String getRemoteHost() {
+ return remoteHost;
+ }
+
+ /**
+ * Returns the name of the user who used or is using the connection at the
+ * times given by this connection record.
+ *
+ * @return
+ * The name of the user who used or is using the associated connection.
+ */
+ public String getUsername() {
+ return username;
+ }
+
+ /**
+ * Returns whether the connection associated with this record is still
+ * active.
+ *
+ * @return
+ * true if the connection associated with this record is still active,
+ * false otherwise.
+ */
+ public boolean isActive() {
+ return active;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/history/APIConnectionRecordSortPredicate.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/history/APIConnectionRecordSortPredicate.java b/guacamole/src/main/java/org/apache/guacamole/rest/history/APIConnectionRecordSortPredicate.java
new file mode 100644
index 0000000..7006f58
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/history/APIConnectionRecordSortPredicate.java
@@ -0,0 +1,148 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.rest.history;
+
+import org.apache.guacamole.net.auth.ConnectionRecordSet;
+import org.apache.guacamole.rest.APIError;
+import org.apache.guacamole.rest.APIException;
+
+/**
+ * A sort predicate which species the property to use when sorting connection
+ * records, along with the sort order.
+ *
+ * @author Michael Jumper
+ */
+public class APIConnectionRecordSortPredicate {
+
+ /**
+ * The prefix which will be included before the name of a sortable property
+ * to indicate that the sort order is descending, not ascending.
+ */
+ public static final String DESCENDING_PREFIX = "-";
+
+ /**
+ * All possible property name strings and their corresponding
+ * ConnectionRecordSet.SortableProperty values.
+ */
+ public enum SortableProperty {
+
+ /**
+ * The date that the connection associated with the connection record
+ * began (connected).
+ */
+ startDate(ConnectionRecordSet.SortableProperty.START_DATE);
+
+ /**
+ * The ConnectionRecordSet.SortableProperty that this property name
+ * string represents.
+ */
+ public final ConnectionRecordSet.SortableProperty recordProperty;
+
+ /**
+ * Creates a new SortableProperty which associates the property name
+ * string (identical to its own name) with the given
+ * ConnectionRecordSet.SortableProperty value.
+ *
+ * @param recordProperty
+ * The ConnectionRecordSet.SortableProperty value to associate with
+ * the new SortableProperty.
+ */
+ SortableProperty(ConnectionRecordSet.SortableProperty recordProperty) {
+ this.recordProperty = recordProperty;
+ }
+
+ }
+
+ /**
+ * The property to use when sorting ConnectionRecords.
+ */
+ private ConnectionRecordSet.SortableProperty property;
+
+ /**
+ * Whether the requested sort order is descending (true) or ascending
+ * (false).
+ */
+ private boolean descending;
+
+ /**
+ * Parses the given string value, determining the requested sort property
+ * and ordering. Possible values consist of any valid property name, and
+ * may include an optional prefix to denote descending sort order. Each
+ * possible property name is enumerated by the SortableValue enum.
+ *
+ * @param value
+ * The sort predicate string to parse, which must consist ONLY of a
+ * valid property name, possibly preceded by the DESCENDING_PREFIX.
+ *
+ * @throws APIException
+ * If the provided sort predicate string is invalid.
+ */
+ public APIConnectionRecordSortPredicate(String value)
+ throws APIException {
+
+ // Parse whether sort order is descending
+ if (value.startsWith(DESCENDING_PREFIX)) {
+ descending = true;
+ value = value.substring(DESCENDING_PREFIX.length());
+ }
+
+ // Parse sorting property into ConnectionRecordSet.SortableProperty
+ try {
+ this.property = SortableProperty.valueOf(value).recordProperty;
+ }
+
+ // Bail out if sort property is not valid
+ catch (IllegalArgumentException e) {
+ throw new APIException(
+ APIError.Type.BAD_REQUEST,
+ String.format("Invalid sort property: \"%s\"", value)
+ );
+ }
+
+ }
+
+ /**
+ * Returns the SortableProperty defined by ConnectionRecordSet which
+ * represents the property requested.
+ *
+ * @return
+ * The ConnectionRecordSet.SortableProperty which refers to the same
+ * property as the string originally provided when this
+ * APIConnectionRecordSortPredicate was created.
+ */
+ public ConnectionRecordSet.SortableProperty getProperty() {
+ return property;
+ }
+
+ /**
+ * Returns whether the requested sort order is descending.
+ *
+ * @return
+ * true if the sort order is descending, false if the sort order is
+ * ascending.
+ */
+ public boolean isDescending() {
+ return descending;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/history/HistoryRESTService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/history/HistoryRESTService.java b/guacamole/src/main/java/org/apache/guacamole/rest/history/HistoryRESTService.java
new file mode 100644
index 0000000..f5d4651
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/history/HistoryRESTService.java
@@ -0,0 +1,147 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.rest.history;
+
+import com.google.inject.Inject;
+import java.util.ArrayList;
+import java.util.List;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.MediaType;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.net.auth.ConnectionRecord;
+import org.apache.guacamole.net.auth.ConnectionRecordSet;
+import org.apache.guacamole.net.auth.UserContext;
+import org.apache.guacamole.GuacamoleSession;
+import org.apache.guacamole.rest.ObjectRetrievalService;
+import org.apache.guacamole.rest.auth.AuthenticationService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * A REST Service for retrieving and managing the history records of Guacamole
+ * objects.
+ *
+ * @author Michael Jumper
+ */
+@Path("/data/{dataSource}/history")
+@Produces(MediaType.APPLICATION_JSON)
+@Consumes(MediaType.APPLICATION_JSON)
+public class HistoryRESTService {
+
+ /**
+ * Logger for this class.
+ */
+ private static final Logger logger = LoggerFactory.getLogger(HistoryRESTService.class);
+
+ /**
+ * The maximum number of history records to return in any one response.
+ */
+ private static final int MAXIMUM_HISTORY_SIZE = 1000;
+
+ /**
+ * A service for authenticating users from auth tokens.
+ */
+ @Inject
+ private AuthenticationService authenticationService;
+
+ /**
+ * Service for convenient retrieval of objects.
+ */
+ @Inject
+ private ObjectRetrievalService retrievalService;
+
+ /**
+ * Retrieves the usage history for all connections, restricted by optional
+ * filter parameters.
+ *
+ * @param authToken
+ * The authentication token that is used to authenticate the user
+ * performing the operation.
+ *
+ * @param authProviderIdentifier
+ * The unique identifier of the AuthenticationProvider associated with
+ * the UserContext containing the connection whose history is to be
+ * retrieved.
+ *
+ * @param requiredContents
+ * The set of strings that each must occur somewhere within the
+ * returned connection records, whether within the associated username,
+ * the name of the associated connection, or any associated date. If
+ * non-empty, any connection record not matching each of the strings
+ * within the collection will be excluded from the results.
+ *
+ * @param sortPredicates
+ * A list of predicates to apply while sorting the resulting connection
+ * records, describing the properties involved and the sort order for
+ * those properties.
+ *
+ * @return
+ * A list of connection records, describing the start and end times of
+ * various usages of this connection.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while retrieving the connection history.
+ */
+ @GET
+ @Path("/connections")
+ public List<APIConnectionRecord> getConnectionHistory(@QueryParam("token") String authToken,
+ @PathParam("dataSource") String authProviderIdentifier,
+ @QueryParam("contains") List<String> requiredContents,
+ @QueryParam("order") List<APIConnectionRecordSortPredicate> sortPredicates)
+ throws GuacamoleException {
+
+ GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
+ UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
+
+ // Retrieve overall connection history
+ ConnectionRecordSet history = userContext.getConnectionHistory();
+
+ // Restrict to records which contain the specified strings
+ for (String required : requiredContents) {
+ if (!required.isEmpty())
+ history = history.contains(required);
+ }
+
+ // Sort according to specified ordering
+ for (APIConnectionRecordSortPredicate predicate : sortPredicates)
+ history = history.sort(predicate.getProperty(), predicate.isDescending());
+
+ // Limit to maximum result size
+ history = history.limit(MAXIMUM_HISTORY_SIZE);
+
+ // Convert record set to collection of API connection records
+ List<APIConnectionRecord> apiRecords = new ArrayList<APIConnectionRecord>();
+ for (ConnectionRecord record : history.asCollection())
+ apiRecords.add(new APIConnectionRecord(record));
+
+ // Return the converted history
+ return apiRecords;
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/history/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/history/package-info.java b/guacamole/src/main/java/org/apache/guacamole/rest/history/package-info.java
new file mode 100644
index 0000000..ed2d0fc
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/history/package-info.java
@@ -0,0 +1,28 @@
+/*
+ * 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.
+ */
+
+/**
+ * Classes related to retrieval or maintenance of history records using the
+ * Guacamole REST API.
+ */
+package org.apache.guacamole.rest.history;
+
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/language/LanguageRESTService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/language/LanguageRESTService.java b/guacamole/src/main/java/org/apache/guacamole/rest/language/LanguageRESTService.java
new file mode 100644
index 0000000..2595ae3
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/language/LanguageRESTService.java
@@ -0,0 +1,63 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.rest.language;
+
+import com.google.inject.Inject;
+import java.util.Map;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.MediaType;
+import org.apache.guacamole.extension.LanguageResourceService;
+
+
+/**
+ * A REST Service for handling the listing of languages.
+ *
+ * @author James Muehlner
+ */
+@Path("/languages")
+@Produces(MediaType.APPLICATION_JSON)
+public class LanguageRESTService {
+
+ /**
+ * Service for retrieving information regarding available language
+ * resources.
+ */
+ @Inject
+ private LanguageResourceService languageResourceService;
+
+ /**
+ * Returns a map of all available language keys to their corresponding
+ * human-readable names.
+ *
+ * @return
+ * A map of languages defined in the system, of language key to
+ * display name.
+ */
+ @GET
+ public Map<String, String> getLanguages() {
+ return languageResourceService.getLanguageNames();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/language/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/language/package-info.java b/guacamole/src/main/java/org/apache/guacamole/rest/language/package-info.java
new file mode 100644
index 0000000..cb0a190
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/language/package-info.java
@@ -0,0 +1,27 @@
+/*
+ * 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.
+ */
+
+/**
+ * Classes related to the language retrieval aspect of the Guacamole REST API.
+ */
+package org.apache.guacamole.rest.language;
+
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/package-info.java b/guacamole/src/main/java/org/apache/guacamole/rest/package-info.java
new file mode 100644
index 0000000..541ff76
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/package-info.java
@@ -0,0 +1,27 @@
+/*
+ * 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.
+ */
+
+/**
+ * Classes related to the basic Guacamole REST API.
+ */
+package org.apache.guacamole.rest;
+
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/patch/PatchRESTService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/patch/PatchRESTService.java b/guacamole/src/main/java/org/apache/guacamole/rest/patch/PatchRESTService.java
new file mode 100644
index 0000000..1d823b1
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/patch/PatchRESTService.java
@@ -0,0 +1,133 @@
+/*
+ * Copyright (C) 2016 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.
+ */
+
+package org.apache.guacamole.rest.patch;
+
+import com.google.inject.Inject;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.util.ArrayList;
+import java.util.List;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.MediaType;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.GuacamoleServerException;
+import org.apache.guacamole.extension.PatchResourceService;
+import org.apache.guacamole.resource.Resource;
+
+/**
+ * A REST Service for handling the listing of HTML patches.
+ *
+ * @author Michael Jumper
+ */
+@Path("/patches")
+@Produces(MediaType.APPLICATION_JSON)
+public class PatchRESTService {
+
+ /**
+ * Service for retrieving information regarding available HTML patch
+ * resources.
+ */
+ @Inject
+ private PatchResourceService patchResourceService;
+
+ /**
+ * Reads the entire contents of the given resource as a String. The
+ * resource is assumed to be encoded in UTF-8.
+ *
+ * @param resource
+ * The resource to read as a new String.
+ *
+ * @return
+ * A new String containing the contents of the given resource.
+ *
+ * @throws IOException
+ * If an I/O error prevents reading the resource.
+ */
+ private String readResourceAsString(Resource resource) throws IOException {
+
+ StringBuilder contents = new StringBuilder();
+
+ // Read entire resource into StringBuilder one chunk at a time
+ Reader reader = new InputStreamReader(resource.asStream(), "UTF-8");
+ try {
+
+ char buffer[] = new char[8192];
+ int length;
+
+ while ((length = reader.read(buffer)) != -1) {
+ contents.append(buffer, 0, length);
+ }
+
+ }
+
+ // Ensure resource is always closed
+ finally {
+ reader.close();
+ }
+
+ return contents.toString();
+
+ }
+
+ /**
+ * Returns a list of all available HTML patches, in the order they should
+ * be applied. Each patch is raw HTML containing additional meta tags
+ * describing how and where the patch should be applied.
+ *
+ * @return
+ * A list of all HTML patches defined in the system, in the order they
+ * should be applied.
+ *
+ * @throws GuacamoleException
+ * If an error occurs preventing any HTML patch from being read.
+ */
+ @GET
+ public List<String> getPatches() throws GuacamoleException {
+
+ try {
+
+ // Allocate a list of equal size to the total number of patches
+ List<Resource> resources = patchResourceService.getPatchResources();
+ List<String> patches = new ArrayList<String>(resources.size());
+
+ // Convert each patch resource to a string
+ for (Resource resource : resources) {
+ patches.add(readResourceAsString(resource));
+ }
+
+ // Return all patches in string form
+ return patches;
+
+ }
+
+ // Bail out entirely on error
+ catch (IOException e) {
+ throw new GuacamoleServerException("Unable to read HTML patches.", e);
+ }
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/patch/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/patch/package-info.java b/guacamole/src/main/java/org/apache/guacamole/rest/patch/package-info.java
new file mode 100644
index 0000000..399c329
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/patch/package-info.java
@@ -0,0 +1,27 @@
+/*
+ * Copyright (C) 2016 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.
+ */
+
+/**
+ * Classes related to the HTML patch retrieval aspect of the Guacamole REST API.
+ */
+package org.apache.guacamole.rest.patch;
+
[05/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Remove useless .net.basic subpackage, now that everything is being renamed.
Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/properties/AuthenticationProviderProperty.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/properties/AuthenticationProviderProperty.java b/guacamole/src/main/java/org/apache/guacamole/properties/AuthenticationProviderProperty.java
new file mode 100644
index 0000000..09f3576
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/properties/AuthenticationProviderProperty.java
@@ -0,0 +1,68 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.properties;
+
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.net.auth.AuthenticationProvider;
+import org.apache.guacamole.properties.GuacamoleProperty;
+
+/**
+ * A GuacamoleProperty whose value is the name of a class to use to
+ * authenticate users. This class must implement AuthenticationProvider. Use
+ * of this property type is deprecated in favor of the
+ * GUACAMOLE_HOME/extensions directory.
+ *
+ * @author Michael Jumper
+ */
+@Deprecated
+public abstract class AuthenticationProviderProperty implements GuacamoleProperty<Class<AuthenticationProvider>> {
+
+ @Override
+ @SuppressWarnings("unchecked") // Explicitly checked within by isAssignableFrom()
+ public Class<AuthenticationProvider> parseValue(String authProviderClassName) throws GuacamoleException {
+
+ // If no property provided, return null.
+ if (authProviderClassName == null)
+ return null;
+
+ // Get auth provider instance
+ try {
+
+ // Get authentication provider class
+ Class<?> authProviderClass = org.apache.guacamole.GuacamoleClassLoader.getInstance().loadClass(authProviderClassName);
+
+ // Verify the located class is actually a subclass of AuthenticationProvider
+ if (!AuthenticationProvider.class.isAssignableFrom(authProviderClass))
+ throw new GuacamoleException("Specified authentication provider class is not a AuthenticationProvider.");
+
+ // Return located class
+ return (Class<AuthenticationProvider>) authProviderClass;
+
+ }
+ catch (ClassNotFoundException e) {
+ throw new GuacamoleException("Authentication provider class not found", e);
+ }
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/properties/BasicGuacamoleProperties.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/properties/BasicGuacamoleProperties.java b/guacamole/src/main/java/org/apache/guacamole/properties/BasicGuacamoleProperties.java
new file mode 100644
index 0000000..9d8d99f
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/properties/BasicGuacamoleProperties.java
@@ -0,0 +1,90 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.properties;
+
+import org.apache.guacamole.properties.FileGuacamoleProperty;
+import org.apache.guacamole.properties.IntegerGuacamoleProperty;
+import org.apache.guacamole.properties.StringGuacamoleProperty;
+
+/**
+ * Properties used by the default Guacamole web application.
+ *
+ * @author Michael Jumper
+ */
+public class BasicGuacamoleProperties {
+
+ /**
+ * This class should not be instantiated.
+ */
+ private BasicGuacamoleProperties() {}
+
+ /**
+ * The authentication provider to user when retrieving the authorized
+ * configurations of a user. This property is currently supported, but
+ * deprecated in favor of the GUACAMOLE_HOME/extensions directory.
+ */
+ @Deprecated
+ public static final AuthenticationProviderProperty AUTH_PROVIDER = new AuthenticationProviderProperty() {
+
+ @Override
+ public String getName() { return "auth-provider"; }
+
+ };
+
+ /**
+ * The directory to search for authentication provider classes. This
+ * property is currently supported, but deprecated in favor of the
+ * GUACAMOLE_HOME/lib directory.
+ */
+ @Deprecated
+ public static final FileGuacamoleProperty LIB_DIRECTORY = new FileGuacamoleProperty() {
+
+ @Override
+ public String getName() { return "lib-directory"; }
+
+ };
+
+ /**
+ * The session timeout for the API, in minutes.
+ */
+ public static final IntegerGuacamoleProperty API_SESSION_TIMEOUT = new IntegerGuacamoleProperty() {
+
+ @Override
+ public String getName() { return "api-session-timeout"; }
+
+ };
+
+ /**
+ * Comma-separated list of all allowed languages, where each language is
+ * represented by a language key, such as "en" or "en_US". If specified,
+ * only languages within this list will be listed as available by the REST
+ * service.
+ */
+ public static final StringSetProperty ALLOWED_LANGUAGES = new StringSetProperty() {
+
+ @Override
+ public String getName() { return "allowed-languages"; }
+
+ };
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/properties/StringSetProperty.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/properties/StringSetProperty.java b/guacamole/src/main/java/org/apache/guacamole/properties/StringSetProperty.java
new file mode 100644
index 0000000..5bcd13c
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/properties/StringSetProperty.java
@@ -0,0 +1,66 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.properties;
+
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.regex.Pattern;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.properties.GuacamoleProperty;
+
+/**
+ * A GuacamoleProperty whose value is a Set of unique Strings. The string value
+ * parsed to produce this set is a comma-delimited list. Duplicate values are
+ * ignored, as is any whitespace following delimiters. To maintain
+ * compatibility with the behavior of Java properties in general, only
+ * whitespace at the beginning of each value is ignored; trailing whitespace
+ * becomes part of the value.
+ *
+ * @author Michael Jumper
+ */
+public abstract class StringSetProperty implements GuacamoleProperty<Set<String>> {
+
+ /**
+ * A pattern which matches against the delimiters between values. This is
+ * currently simply a comma and any following whitespace. Parts of the
+ * input string which match this pattern will not be included in the parsed
+ * result.
+ */
+ private static final Pattern DELIMITER_PATTERN = Pattern.compile(",\\s*");
+
+ @Override
+ public Set<String> parseValue(String values) throws GuacamoleException {
+
+ // If no property provided, return null.
+ if (values == null)
+ return null;
+
+ // Split string into a set of individual values
+ List<String> valueList = Arrays.asList(DELIMITER_PATTERN.split(values));
+ return new HashSet<String>(valueList);
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/properties/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/properties/package-info.java b/guacamole/src/main/java/org/apache/guacamole/properties/package-info.java
new file mode 100644
index 0000000..0640815
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/properties/package-info.java
@@ -0,0 +1,28 @@
+/*
+ * 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.
+ */
+
+/**
+ * Classes related to the properties which the Guacamole web application
+ * (and stock parts of it) read from guacamole.properties.
+ */
+package org.apache.guacamole.properties;
+
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/resource/AbstractResource.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/resource/AbstractResource.java b/guacamole/src/main/java/org/apache/guacamole/resource/AbstractResource.java
new file mode 100644
index 0000000..f985361
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/resource/AbstractResource.java
@@ -0,0 +1,82 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.resource;
+
+/**
+ * Base abstract resource implementation which provides an associated mimetype,
+ * and modification time. Classes which extend AbstractResource must provide
+ * their own InputStream, however.
+ *
+ * @author Michael Jumper
+ */
+public abstract class AbstractResource implements Resource {
+
+ /**
+ * The mimetype of this resource.
+ */
+ private final String mimetype;
+
+ /**
+ * The time this resource was last modified, in milliseconds since midnight
+ * of January 1, 1970 UTC.
+ */
+ private final long lastModified;
+
+ /**
+ * Initializes this AbstractResource with the given mimetype and
+ * modification time.
+ *
+ * @param mimetype
+ * The mimetype of this resource.
+ *
+ * @param lastModified
+ * The time this resource was last modified, in milliseconds since
+ * midnight of January 1, 1970 UTC.
+ */
+ public AbstractResource(String mimetype, long lastModified) {
+ this.mimetype = mimetype;
+ this.lastModified = lastModified;
+ }
+
+ /**
+ * Initializes this AbstractResource with the given mimetype. The
+ * modification time of the resource is set to the current system time.
+ *
+ * @param mimetype
+ * The mimetype of this resource.
+ */
+ public AbstractResource(String mimetype) {
+ this(mimetype, System.currentTimeMillis());
+ }
+
+ @Override
+ public long getLastModified() {
+ return lastModified;
+ }
+
+ @Override
+ public String getMimeType() {
+ return mimetype;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/resource/ByteArrayResource.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/resource/ByteArrayResource.java b/guacamole/src/main/java/org/apache/guacamole/resource/ByteArrayResource.java
new file mode 100644
index 0000000..2fa8199
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/resource/ByteArrayResource.java
@@ -0,0 +1,62 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.resource;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+
+/**
+ * A resource which contains a defined byte array.
+ *
+ * @author Michael Jumper
+ */
+public class ByteArrayResource extends AbstractResource {
+
+ /**
+ * The bytes contained by this resource.
+ */
+ private final byte[] bytes;
+
+ /**
+ * Creates a new ByteArrayResource which provides access to the given byte
+ * array. Changes to the given byte array will affect this resource even
+ * after the resource is created. Changing the byte array while an input
+ * stream from this resource is in use has undefined behavior.
+ *
+ * @param mimetype
+ * The mimetype of the resource.
+ *
+ * @param bytes
+ * The bytes that this resource should contain.
+ */
+ public ByteArrayResource(String mimetype, byte[] bytes) {
+ super(mimetype);
+ this.bytes = bytes;
+ }
+
+ @Override
+ public InputStream asStream() {
+ return new ByteArrayInputStream(bytes);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/resource/ClassPathResource.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/resource/ClassPathResource.java b/guacamole/src/main/java/org/apache/guacamole/resource/ClassPathResource.java
new file mode 100644
index 0000000..fb81791
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/resource/ClassPathResource.java
@@ -0,0 +1,85 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.resource;
+
+import java.io.InputStream;
+
+/**
+ * A resource which is located within the classpath of an arbitrary
+ * ClassLoader.
+ *
+ * @author Michael Jumper
+ */
+public class ClassPathResource extends AbstractResource {
+
+ /**
+ * The classloader to use when reading this resource.
+ */
+ private final ClassLoader classLoader;
+
+ /**
+ * The path of this resource relative to the classloader.
+ */
+ private final String path;
+
+ /**
+ * Creates a new ClassPathResource which uses the given ClassLoader to
+ * read the resource having the given path.
+ *
+ * @param classLoader
+ * The ClassLoader to use when reading the resource.
+ *
+ * @param mimetype
+ * The mimetype of the resource.
+ *
+ * @param path
+ * The path of the resource relative to the given ClassLoader.
+ */
+ public ClassPathResource(ClassLoader classLoader, String mimetype, String path) {
+ super(mimetype);
+ this.classLoader = classLoader;
+ this.path = path;
+ }
+
+ /**
+ * Creates a new ClassPathResource which uses the ClassLoader associated
+ * with the ClassPathResource class to read the resource having the given
+ * path.
+ *
+ * @param mimetype
+ * The mimetype of the resource.
+ *
+ * @param path
+ * The path of the resource relative to the ClassLoader associated
+ * with the ClassPathResource class.
+ */
+ public ClassPathResource(String mimetype, String path) {
+ this(ClassPathResource.class.getClassLoader(), mimetype, path);
+ }
+
+ @Override
+ public InputStream asStream() {
+ return classLoader.getResourceAsStream(path);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/resource/Resource.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/resource/Resource.java b/guacamole/src/main/java/org/apache/guacamole/resource/Resource.java
new file mode 100644
index 0000000..845bd72
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/resource/Resource.java
@@ -0,0 +1,67 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.resource;
+
+import java.io.InputStream;
+
+/**
+ * An arbitrary resource that can be served to a user via HTTP. Resources are
+ * anonymous but have a defined mimetype and corresponding input stream.
+ *
+ * @author Michael Jumper
+ */
+public interface Resource {
+
+ /**
+ * Returns the mimetype of this resource. This function MUST always return
+ * a value. If the type is unknown, return "application/octet-stream".
+ *
+ * @return
+ * The mimetype of this resource.
+ */
+ String getMimeType();
+
+ /**
+ * Returns the time the resource was last modified in milliseconds since
+ * midnight of January 1, 1970 UTC.
+ *
+ * @return
+ * The time the resource was last modified, in milliseconds.
+ */
+ long getLastModified();
+
+ /**
+ * Returns an InputStream which reads the contents of this resource,
+ * starting with the first byte. Reading from the returned InputStream will
+ * not affect reads from other InputStreams returned by other calls to
+ * asStream(). The returned InputStream must be manually closed when no
+ * longer needed. If the resource is unexpectedly unavailable, this will
+ * return null.
+ *
+ * @return
+ * An InputStream which reads the contents of this resource, starting
+ * with the first byte, or null if the resource is unavailable.
+ */
+ InputStream asStream();
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/resource/ResourceServlet.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/resource/ResourceServlet.java b/guacamole/src/main/java/org/apache/guacamole/resource/ResourceServlet.java
new file mode 100644
index 0000000..f1af7c6
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/resource/ResourceServlet.java
@@ -0,0 +1,126 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.resource;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Servlet which serves a given resource for all HTTP GET requests. The HEAD
+ * method is correctly supported, and HTTP 304 ("Not Modified") responses will
+ * be properly returned for GET requests depending on the last time the
+ * resource was modified.
+ *
+ * @author Michael Jumper
+ */
+public class ResourceServlet extends HttpServlet {
+
+ /**
+ * Logger for this class.
+ */
+ private static final Logger logger = LoggerFactory.getLogger(ResourceServlet.class);
+
+ /**
+ * The size of the buffer to use when transferring data from the input
+ * stream of a resource to the output stream of a request.
+ */
+ private static final int BUFFER_SIZE = 10240;
+
+ /**
+ * The resource to serve for every GET request.
+ */
+ private final Resource resource;
+
+ /**
+ * Creates a new ResourceServlet which serves the given Resource for all
+ * HTTP GET requests.
+ *
+ * @param resource
+ * The Resource to serve.
+ */
+ public ResourceServlet(Resource resource) {
+ this.resource = resource;
+ }
+
+ @Override
+ protected void doHead(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+
+ // Set last modified and content type headers
+ response.addDateHeader("Last-Modified", resource.getLastModified());
+ response.setContentType(resource.getMimeType());
+
+ }
+
+ @Override
+ protected void doGet(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+
+ // Get input stream from resource
+ InputStream input = resource.asStream();
+
+ // If resource does not exist, return not found
+ if (input == null) {
+ logger.debug("Resource does not exist: \"{}\"", request.getServletPath());
+ response.setStatus(HttpServletResponse.SC_NOT_FOUND);
+ return;
+ }
+
+ try {
+
+ // Write headers
+ doHead(request, response);
+
+ // If not modified since "If-Modified-Since" header, return not modified
+ long ifModifiedSince = request.getDateHeader("If-Modified-Since");
+ if (resource.getLastModified() - ifModifiedSince < 1000) {
+ logger.debug("Resource not modified: \"{}\"", request.getServletPath());
+ response.setStatus(HttpServletResponse.SC_NOT_MODIFIED);
+ return;
+ }
+
+ int length;
+ byte[] buffer = new byte[BUFFER_SIZE];
+
+ // Write resource to response body
+ OutputStream output = response.getOutputStream();
+ while ((length = input.read(buffer)) != -1)
+ output.write(buffer, 0, length);
+
+ }
+
+ // Ensure input stream is always closed
+ finally {
+ input.close();
+ }
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/resource/SequenceResource.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/resource/SequenceResource.java b/guacamole/src/main/java/org/apache/guacamole/resource/SequenceResource.java
new file mode 100644
index 0000000..fe407b5
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/resource/SequenceResource.java
@@ -0,0 +1,153 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.resource;
+
+import java.io.InputStream;
+import java.io.SequenceInputStream;
+import java.util.Arrays;
+import java.util.Enumeration;
+import java.util.Iterator;
+
+/**
+ * A resource which is the logical concatenation of other resources.
+ *
+ * @author Michael Jumper
+ */
+public class SequenceResource extends AbstractResource {
+
+ /**
+ * The resources to be concatenated.
+ */
+ private final Iterable<Resource> resources;
+
+ /**
+ * Returns the mimetype of the first resource in the given Iterable, or
+ * "application/octet-stream" if no resources are provided.
+ *
+ * @param resources
+ * The resources from which the mimetype should be retrieved.
+ *
+ * @return
+ * The mimetype of the first resource, or "application/octet-stream"
+ * if no resources were provided.
+ */
+ private static String getMimeType(Iterable<Resource> resources) {
+
+ // If no resources, just assume application/octet-stream
+ Iterator<Resource> resourceIterator = resources.iterator();
+ if (!resourceIterator.hasNext())
+ return "application/octet-stream";
+
+ // Return mimetype of first resource
+ return resourceIterator.next().getMimeType();
+
+ }
+
+ /**
+ * Creates a new SequenceResource as the logical concatenation of the
+ * given resources. Each resource is concatenated in iteration order as
+ * needed when reading from the input stream of the SequenceResource.
+ *
+ * @param mimetype
+ * The mimetype of the resource.
+ *
+ * @param resources
+ * The resources to concatenate within the InputStream of this
+ * SequenceResource.
+ */
+ public SequenceResource(String mimetype, Iterable<Resource> resources) {
+ super(mimetype);
+ this.resources = resources;
+ }
+
+ /**
+ * Creates a new SequenceResource as the logical concatenation of the
+ * given resources. Each resource is concatenated in iteration order as
+ * needed when reading from the input stream of the SequenceResource. The
+ * mimetype of the resulting concatenation is derived from the first
+ * resource.
+ *
+ * @param resources
+ * The resources to concatenate within the InputStream of this
+ * SequenceResource.
+ */
+ public SequenceResource(Iterable<Resource> resources) {
+ super(getMimeType(resources));
+ this.resources = resources;
+ }
+
+ /**
+ * Creates a new SequenceResource as the logical concatenation of the
+ * given resources. Each resource is concatenated in iteration order as
+ * needed when reading from the input stream of the SequenceResource.
+ *
+ * @param mimetype
+ * The mimetype of the resource.
+ *
+ * @param resources
+ * The resources to concatenate within the InputStream of this
+ * SequenceResource.
+ */
+ public SequenceResource(String mimetype, Resource... resources) {
+ this(mimetype, Arrays.asList(resources));
+ }
+
+ /**
+ * Creates a new SequenceResource as the logical concatenation of the
+ * given resources. Each resource is concatenated in iteration order as
+ * needed when reading from the input stream of the SequenceResource. The
+ * mimetype of the resulting concatenation is derived from the first
+ * resource.
+ *
+ * @param resources
+ * The resources to concatenate within the InputStream of this
+ * SequenceResource.
+ */
+ public SequenceResource(Resource... resources) {
+ this(Arrays.asList(resources));
+ }
+
+ @Override
+ public InputStream asStream() {
+ return new SequenceInputStream(new Enumeration<InputStream>() {
+
+ /**
+ * Iterator over all resources associated with this
+ * SequenceResource.
+ */
+ private final Iterator<Resource> resourceIterator = resources.iterator();
+
+ @Override
+ public boolean hasMoreElements() {
+ return resourceIterator.hasNext();
+ }
+
+ @Override
+ public InputStream nextElement() {
+ return resourceIterator.next().asStream();
+ }
+
+ });
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/resource/WebApplicationResource.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/resource/WebApplicationResource.java b/guacamole/src/main/java/org/apache/guacamole/resource/WebApplicationResource.java
new file mode 100644
index 0000000..b8aae14
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/resource/WebApplicationResource.java
@@ -0,0 +1,116 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.resource;
+
+import java.io.InputStream;
+import javax.servlet.ServletContext;
+
+/**
+ * A resource which is located within the classpath associated with another
+ * class.
+ *
+ * @author Michael Jumper
+ */
+public class WebApplicationResource extends AbstractResource {
+
+ /**
+ * The servlet context to use when reading the resource and, if necessary,
+ * when determining the mimetype of the resource.
+ */
+ private final ServletContext context;
+
+ /**
+ * The path of this resource relative to the ServletContext.
+ */
+ private final String path;
+
+ /**
+ * Derives a mimetype from the filename within the given path using the
+ * given ServletContext, if possible.
+ *
+ * @param context
+ * The ServletContext to use to derive the mimetype.
+ *
+ * @param path
+ * The path to derive the mimetype from.
+ *
+ * @return
+ * An appropriate mimetype based on the name of the file in the path,
+ * or "application/octet-stream" if no mimetype could be determined.
+ */
+ private static String getMimeType(ServletContext context, String path) {
+
+ // If mimetype is known, use defined mimetype
+ String mimetype = context.getMimeType(path);
+ if (mimetype != null)
+ return mimetype;
+
+ // Otherwise, default to application/octet-stream
+ return "application/octet-stream";
+
+ }
+
+ /**
+ * Creates a new WebApplicationResource which serves the resource at the
+ * given path relative to the given ServletContext. Rather than deriving
+ * the mimetype of the resource from the filename within the path, the
+ * mimetype given is used.
+ *
+ * @param context
+ * The ServletContext to use when reading the resource.
+ *
+ * @param mimetype
+ * The mimetype of the resource.
+ *
+ * @param path
+ * The path of the resource relative to the given ServletContext.
+ */
+ public WebApplicationResource(ServletContext context, String mimetype, String path) {
+ super(mimetype);
+ this.context = context;
+ this.path = path;
+ }
+
+ /**
+ * Creates a new WebApplicationResource which serves the resource at the
+ * given path relative to the given ServletContext. The mimetype of the
+ * resource is automatically determined based on the filename within the
+ * path.
+ *
+ * @param context
+ * The ServletContext to use when reading the resource and deriving the
+ * mimetype.
+ *
+ * @param path
+ * The path of the resource relative to the given ServletContext.
+ */
+ public WebApplicationResource(ServletContext context, String path) {
+ this(context, getMimeType(context, path), path);
+ }
+
+ @Override
+ public InputStream asStream() {
+ return context.getResourceAsStream(path);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/resource/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/resource/package-info.java b/guacamole/src/main/java/org/apache/guacamole/resource/package-info.java
new file mode 100644
index 0000000..edbe504
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/resource/package-info.java
@@ -0,0 +1,28 @@
+/*
+ * 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.
+ */
+
+/**
+ * Classes which describe and provide access to arbitrary resources, such as
+ * the contents of the classpath of a classloader, or files within the web
+ * application itself.
+ */
+package org.apache.guacamole.resource;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/APIError.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/APIError.java b/guacamole/src/main/java/org/apache/guacamole/rest/APIError.java
new file mode 100644
index 0000000..74fa7d2
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/APIError.java
@@ -0,0 +1,183 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.rest;
+
+import java.util.Collection;
+import javax.ws.rs.core.Response;
+import org.apache.guacamole.form.Field;
+
+/**
+ * Describes an error that occurred within a REST endpoint.
+ *
+ * @author James Muehlner
+ * @author Michael Jumper
+ */
+public class APIError {
+
+ /**
+ * The error message.
+ */
+ private final String message;
+
+ /**
+ * All expected request parameters, if any, as a collection of fields.
+ */
+ private final Collection<Field> expected;
+
+ /**
+ * The type of error that occurred.
+ */
+ private final Type type;
+
+ /**
+ * All possible types of REST API errors.
+ */
+ public enum Type {
+
+ /**
+ * The requested operation could not be performed because the request
+ * itself was malformed.
+ */
+ BAD_REQUEST(Response.Status.BAD_REQUEST),
+
+ /**
+ * The credentials provided were invalid.
+ */
+ INVALID_CREDENTIALS(Response.Status.FORBIDDEN),
+
+ /**
+ * The credentials provided were not necessarily invalid, but were not
+ * sufficient to determine validity.
+ */
+ INSUFFICIENT_CREDENTIALS(Response.Status.FORBIDDEN),
+
+ /**
+ * An internal server error has occurred.
+ */
+ INTERNAL_ERROR(Response.Status.INTERNAL_SERVER_ERROR),
+
+ /**
+ * An object related to the request does not exist.
+ */
+ NOT_FOUND(Response.Status.NOT_FOUND),
+
+ /**
+ * Permission was denied to perform the requested operation.
+ */
+ PERMISSION_DENIED(Response.Status.FORBIDDEN);
+
+ /**
+ * The HTTP status associated with this error type.
+ */
+ private final Response.Status status;
+
+ /**
+ * Defines a new error type associated with the given HTTP status.
+ *
+ * @param status
+ * The HTTP status to associate with the error type.
+ */
+ Type(Response.Status status) {
+ this.status = status;
+ }
+
+ /**
+ * Returns the HTTP status associated with this error type.
+ *
+ * @return
+ * The HTTP status associated with this error type.
+ */
+ public Response.Status getStatus() {
+ return status;
+ }
+
+ }
+
+ /**
+ * Create a new APIError with the specified error message.
+ *
+ * @param type
+ * The type of error that occurred.
+ *
+ * @param message
+ * The error message.
+ */
+ public APIError(Type type, String message) {
+ this.type = type;
+ this.message = message;
+ this.expected = null;
+ }
+
+ /**
+ * Create a new APIError with the specified error message and parameter
+ * information.
+ *
+ * @param type
+ * The type of error that occurred.
+ *
+ * @param message
+ * The error message.
+ *
+ * @param expected
+ * All parameters expected in the original request, or now required as
+ * a result of the original request, as a collection of fields.
+ */
+ public APIError(Type type, String message, Collection<Field> expected) {
+ this.type = type;
+ this.message = message;
+ this.expected = expected;
+ }
+
+ /**
+ * Returns the type of error that occurred.
+ *
+ * @return
+ * The type of error that occurred.
+ */
+ public Type getType() {
+ return type;
+ }
+
+ /**
+ * Returns a collection of all required parameters, where each parameter is
+ * represented by a field.
+ *
+ * @return
+ * A collection of all required parameters.
+ */
+ public Collection<Field> getExpected() {
+ return expected;
+ }
+
+ /**
+ * Returns a human-readable error message describing the error that
+ * occurred.
+ *
+ * @return
+ * A human-readable error message.
+ */
+ public String getMessage() {
+ return message;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/APIException.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/APIException.java b/guacamole/src/main/java/org/apache/guacamole/rest/APIException.java
new file mode 100644
index 0000000..7a70fb8
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/APIException.java
@@ -0,0 +1,85 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.rest;
+
+import java.util.Collection;
+import javax.ws.rs.WebApplicationException;
+import javax.ws.rs.core.Response;
+import org.apache.guacamole.form.Field;
+
+/**
+ * An exception that will result in the given error error information being
+ * returned from the API layer. All error messages have the same format which
+ * is defined by APIError.
+ *
+ * @author James Muehlner
+ * @author Michael Jumper
+ */
+public class APIException extends WebApplicationException {
+
+ /**
+ * Construct a new APIException with the given error. All information
+ * associated with this new exception will be extracted from the given
+ * APIError.
+ *
+ * @param error
+ * The error that occurred.
+ */
+ public APIException(APIError error) {
+ super(Response.status(error.getType().getStatus()).entity(error).build());
+ }
+
+ /**
+ * Creates a new APIException with the given type and message. The
+ * corresponding APIError will be created from the provided information.
+ *
+ * @param type
+ * The type of error that occurred.
+ *
+ * @param message
+ * A human-readable message describing the error.
+ */
+ public APIException(APIError.Type type, String message) {
+ this(new APIError(type, message));
+ }
+
+ /**
+ * Creates a new APIException with the given type, message, and parameter
+ * information. The corresponding APIError will be created from the
+ * provided information.
+ *
+ * @param type
+ * The type of error that occurred.
+ *
+ * @param message
+ * A human-readable message describing the error.
+ *
+ * @param expected
+ * All parameters expected in the original request, or now required as
+ * a result of the original request, as a collection of fields.
+ */
+ public APIException(APIError.Type type, String message, Collection<Field> expected) {
+ this(new APIError(type, message, expected));
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/APIPatch.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/APIPatch.java b/guacamole/src/main/java/org/apache/guacamole/rest/APIPatch.java
new file mode 100644
index 0000000..08ee062
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/APIPatch.java
@@ -0,0 +1,104 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.rest;
+
+/**
+ * An object for representing the body of a HTTP PATCH method.
+ * See https://tools.ietf.org/html/rfc6902
+ *
+ * @author James Muehlner
+ * @param <T> The type of object being patched.
+ */
+public class APIPatch<T> {
+
+ /**
+ * The possible operations for a PATCH request.
+ */
+ public enum Operation {
+ add, remove, test, copy, replace, move
+ }
+
+ /**
+ * The operation to perform for this patch.
+ */
+ private Operation op;
+
+ /**
+ * The value for this patch.
+ */
+ private T value;
+
+ /**
+ * The path for this patch.
+ */
+ private String path;
+
+ /**
+ * Returns the operation for this patch.
+ * @return the operation for this patch.
+ */
+ public Operation getOp() {
+ return op;
+ }
+
+ /**
+ * Set the operation for this patch.
+ * @param op The operation for this patch.
+ */
+ public void setOp(Operation op) {
+ this.op = op;
+ }
+
+ /**
+ * Returns the value of this patch.
+ * @return The value of this patch.
+ */
+ public T getValue() {
+ return value;
+ }
+
+ /**
+ * Sets the value of this patch.
+ * @param value The value of this patch.
+ */
+ public void setValue(T value) {
+ this.value = value;
+ }
+
+ /**
+ * Returns the path for this patch.
+ * @return The path for this patch.
+ */
+ public String getPath() {
+ return path;
+ }
+
+ /**
+ * Set the path for this patch.
+ * @param path The path for this patch.
+ */
+ public void setPath(String path) {
+ this.path = path;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/APIRequest.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/APIRequest.java b/guacamole/src/main/java/org/apache/guacamole/rest/APIRequest.java
new file mode 100644
index 0000000..cd4fcd5
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/APIRequest.java
@@ -0,0 +1,107 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.rest;
+
+import java.util.Collections;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletRequestWrapper;
+import javax.ws.rs.core.MultivaluedMap;
+
+/**
+ * Wrapper for HttpServletRequest which uses a given MultivaluedMap to provide
+ * the values of all request parameters.
+ *
+ * @author Michael Jumper
+ */
+public class APIRequest extends HttpServletRequestWrapper {
+
+ /**
+ * Map of all request parameter names to their corresponding values.
+ */
+ private final Map<String, String[]> parameters;
+
+ /**
+ * Wraps the given HttpServletRequest, using the given MultivaluedMap to
+ * provide all request parameters. All HttpServletRequest functions which
+ * do not deal with parameter names and values are delegated to the wrapped
+ * request.
+ *
+ * @param request
+ * The HttpServletRequest to wrap.
+ *
+ * @param parameters
+ * All request parameters.
+ */
+ public APIRequest(HttpServletRequest request,
+ MultivaluedMap<String, String> parameters) {
+
+ super(request);
+
+ // Copy parameters from given MultivaluedMap
+ this.parameters = new HashMap<String, String[]>(parameters.size());
+ for (Map.Entry<String, List<String>> entry : parameters.entrySet()) {
+
+ // Get parameter name and all corresponding values
+ String name = entry.getKey();
+ List<String> values = entry.getValue();
+
+ // Add parameters to map
+ this.parameters.put(name, values.toArray(new String[values.size()]));
+
+ }
+
+ }
+
+ @Override
+ public String[] getParameterValues(String name) {
+ return parameters.get(name);
+ }
+
+ @Override
+ public Enumeration<String> getParameterNames() {
+ return Collections.enumeration(parameters.keySet());
+ }
+
+ @Override
+ public Map<String, String[]> getParameterMap() {
+ return Collections.unmodifiableMap(parameters);
+ }
+
+ @Override
+ public String getParameter(String name) {
+
+ // If no such parameter exists, just return null
+ String[] values = getParameterValues(name);
+ if (values == null)
+ return null;
+
+ // Otherwise, return first value
+ return values[0];
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/ObjectRetrievalService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/ObjectRetrievalService.java b/guacamole/src/main/java/org/apache/guacamole/rest/ObjectRetrievalService.java
new file mode 100644
index 0000000..1cf8919
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/ObjectRetrievalService.java
@@ -0,0 +1,280 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.rest;
+
+import java.util.List;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.GuacamoleResourceNotFoundException;
+import org.apache.guacamole.net.auth.AuthenticationProvider;
+import org.apache.guacamole.net.auth.Connection;
+import org.apache.guacamole.net.auth.ConnectionGroup;
+import org.apache.guacamole.net.auth.Directory;
+import org.apache.guacamole.net.auth.User;
+import org.apache.guacamole.net.auth.UserContext;
+import org.apache.guacamole.GuacamoleSession;
+import org.apache.guacamole.rest.connectiongroup.APIConnectionGroup;
+
+/**
+ * Provides easy access and automatic error handling for retrieval of objects,
+ * such as users, connections, or connection groups. REST API semantics, such
+ * as the special root connection group identifier, are also handled
+ * automatically.
+ */
+public class ObjectRetrievalService {
+
+ /**
+ * Retrieves a single UserContext from the given GuacamoleSession, which
+ * may contain multiple UserContexts.
+ *
+ * @param session
+ * The GuacamoleSession to retrieve the UserContext from.
+ *
+ * @param authProviderIdentifier
+ * The unique identifier of the AuthenticationProvider that created the
+ * UserContext being retrieved. Only one UserContext per User per
+ * AuthenticationProvider can exist.
+ *
+ * @return
+ * The UserContext that was created by the AuthenticationProvider
+ * having the given identifier.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while retrieving the UserContext, or if the
+ * UserContext does not exist.
+ */
+ public UserContext retrieveUserContext(GuacamoleSession session,
+ String authProviderIdentifier) throws GuacamoleException {
+
+ // Get list of UserContexts
+ List<UserContext> userContexts = session.getUserContexts();
+
+ // Locate and return the UserContext associated with the
+ // AuthenticationProvider having the given identifier, if any
+ for (UserContext userContext : userContexts) {
+
+ // Get AuthenticationProvider associated with current UserContext
+ AuthenticationProvider authProvider = userContext.getAuthenticationProvider();
+
+ // If AuthenticationProvider identifier matches, done
+ if (authProvider.getIdentifier().equals(authProviderIdentifier))
+ return userContext;
+
+ }
+
+ throw new GuacamoleResourceNotFoundException("Session not associated with authentication provider \"" + authProviderIdentifier + "\".");
+
+ }
+
+ /**
+ * Retrieves a single user from the given user context.
+ *
+ * @param userContext
+ * The user context to retrieve the user from.
+ *
+ * @param identifier
+ * The identifier of the user to retrieve.
+ *
+ * @return
+ * The user having the given identifier.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while retrieving the user, or if the
+ * user does not exist.
+ */
+ public User retrieveUser(UserContext userContext,
+ String identifier) throws GuacamoleException {
+
+ // Get user directory
+ Directory<User> directory = userContext.getUserDirectory();
+
+ // Pull specified user
+ User user = directory.get(identifier);
+ if (user == null)
+ throw new GuacamoleResourceNotFoundException("No such user: \"" + identifier + "\"");
+
+ return user;
+
+ }
+
+ /**
+ * Retrieves a single user from the given GuacamoleSession.
+ *
+ * @param session
+ * The GuacamoleSession to retrieve the user from.
+ *
+ * @param authProviderIdentifier
+ * The unique identifier of the AuthenticationProvider that created the
+ * UserContext from which the user should be retrieved. Only one
+ * UserContext per User per AuthenticationProvider can exist.
+ *
+ * @param identifier
+ * The identifier of the user to retrieve.
+ *
+ * @return
+ * The user having the given identifier.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while retrieving the user, or if the
+ * user does not exist.
+ */
+ public User retrieveUser(GuacamoleSession session, String authProviderIdentifier,
+ String identifier) throws GuacamoleException {
+
+ UserContext userContext = retrieveUserContext(session, authProviderIdentifier);
+ return retrieveUser(userContext, identifier);
+
+ }
+
+ /**
+ * Retrieves a single connection from the given user context.
+ *
+ * @param userContext
+ * The user context to retrieve the connection from.
+ *
+ * @param identifier
+ * The identifier of the connection to retrieve.
+ *
+ * @return
+ * The connection having the given identifier.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while retrieving the connection, or if the
+ * connection does not exist.
+ */
+ public Connection retrieveConnection(UserContext userContext,
+ String identifier) throws GuacamoleException {
+
+ // Get connection directory
+ Directory<Connection> directory = userContext.getConnectionDirectory();
+
+ // Pull specified connection
+ Connection connection = directory.get(identifier);
+ if (connection == null)
+ throw new GuacamoleResourceNotFoundException("No such connection: \"" + identifier + "\"");
+
+ return connection;
+
+ }
+
+ /**
+ * Retrieves a single connection from the given GuacamoleSession.
+ *
+ * @param session
+ * The GuacamoleSession to retrieve the connection from.
+ *
+ * @param authProviderIdentifier
+ * The unique identifier of the AuthenticationProvider that created the
+ * UserContext from which the connection should be retrieved. Only one
+ * UserContext per User per AuthenticationProvider can exist.
+ *
+ * @param identifier
+ * The identifier of the connection to retrieve.
+ *
+ * @return
+ * The connection having the given identifier.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while retrieving the connection, or if the
+ * connection does not exist.
+ */
+ public Connection retrieveConnection(GuacamoleSession session,
+ String authProviderIdentifier, String identifier)
+ throws GuacamoleException {
+
+ UserContext userContext = retrieveUserContext(session, authProviderIdentifier);
+ return retrieveConnection(userContext, identifier);
+
+ }
+
+ /**
+ * Retrieves a single connection group from the given user context. If
+ * the given identifier the REST API root identifier, the root connection
+ * group will be returned. The underlying authentication provider may
+ * additionally use a different identifier for root.
+ *
+ * @param userContext
+ * The user context to retrieve the connection group from.
+ *
+ * @param identifier
+ * The identifier of the connection group to retrieve.
+ *
+ * @return
+ * The connection group having the given identifier, or the root
+ * connection group if the identifier the root identifier.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while retrieving the connection group, or if the
+ * connection group does not exist.
+ */
+ public ConnectionGroup retrieveConnectionGroup(UserContext userContext,
+ String identifier) throws GuacamoleException {
+
+ // Use root group if identifier is the standard root identifier
+ if (identifier != null && identifier.equals(APIConnectionGroup.ROOT_IDENTIFIER))
+ return userContext.getRootConnectionGroup();
+
+ // Pull specified connection group otherwise
+ Directory<ConnectionGroup> directory = userContext.getConnectionGroupDirectory();
+ ConnectionGroup connectionGroup = directory.get(identifier);
+
+ if (connectionGroup == null)
+ throw new GuacamoleResourceNotFoundException("No such connection group: \"" + identifier + "\"");
+
+ return connectionGroup;
+
+ }
+
+ /**
+ * Retrieves a single connection group from the given GuacamoleSession. If
+ * the given identifier is the REST API root identifier, the root
+ * connection group will be returned. The underlying authentication
+ * provider may additionally use a different identifier for root.
+ *
+ * @param session
+ * The GuacamoleSession to retrieve the connection group from.
+ *
+ * @param authProviderIdentifier
+ * The unique identifier of the AuthenticationProvider that created the
+ * UserContext from which the connection group should be retrieved.
+ * Only one UserContext per User per AuthenticationProvider can exist.
+ *
+ * @param identifier
+ * The identifier of the connection group to retrieve.
+ *
+ * @return
+ * The connection group having the given identifier, or the root
+ * connection group if the identifier is the root identifier.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while retrieving the connection group, or if the
+ * connection group does not exist.
+ */
+ public ConnectionGroup retrieveConnectionGroup(GuacamoleSession session,
+ String authProviderIdentifier, String identifier) throws GuacamoleException {
+
+ UserContext userContext = retrieveUserContext(session, authProviderIdentifier);
+ return retrieveConnectionGroup(userContext, identifier);
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/PATCH.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/PATCH.java b/guacamole/src/main/java/org/apache/guacamole/rest/PATCH.java
new file mode 100644
index 0000000..f87ca98
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/PATCH.java
@@ -0,0 +1,40 @@
+/*
+ * 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.
+ */
+
+
+package org.apache.guacamole.rest;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import javax.ws.rs.HttpMethod;
+
+/**
+ * An annotation for using the HTTP PATCH method in the REST endpoints.
+ *
+ * @author James Muehlner
+ */
+@Target({ElementType.METHOD})
+@Retention(RetentionPolicy.RUNTIME)
+@HttpMethod("PATCH")
+public @interface PATCH {}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/RESTExceptionWrapper.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/RESTExceptionWrapper.java b/guacamole/src/main/java/org/apache/guacamole/rest/RESTExceptionWrapper.java
new file mode 100644
index 0000000..0193e22
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/RESTExceptionWrapper.java
@@ -0,0 +1,274 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.rest;
+
+import com.google.inject.Inject;
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Method;
+import javax.ws.rs.FormParam;
+import javax.ws.rs.QueryParam;
+import org.aopalliance.intercept.MethodInterceptor;
+import org.aopalliance.intercept.MethodInvocation;
+import org.apache.guacamole.GuacamoleClientException;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.GuacamoleResourceNotFoundException;
+import org.apache.guacamole.GuacamoleSecurityException;
+import org.apache.guacamole.GuacamoleUnauthorizedException;
+import org.apache.guacamole.net.auth.credentials.GuacamoleInsufficientCredentialsException;
+import org.apache.guacamole.net.auth.credentials.GuacamoleInvalidCredentialsException;
+import org.apache.guacamole.rest.auth.AuthenticationService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * A method interceptor which wraps custom exception handling around methods
+ * which can throw GuacamoleExceptions and which are exposed through the REST
+ * interface. The various types of GuacamoleExceptions are automatically
+ * translated into appropriate HTTP responses, including JSON describing the
+ * error that occurred.
+ *
+ * @author James Muehlner
+ * @author Michael Jumper
+ */
+public class RESTExceptionWrapper implements MethodInterceptor {
+
+ /**
+ * Logger for this class.
+ */
+ private final Logger logger = LoggerFactory.getLogger(RESTExceptionWrapper.class);
+
+ /**
+ * Service for authenticating users and managing their Guacamole sessions.
+ */
+ @Inject
+ private AuthenticationService authenticationService;
+
+ /**
+ * Determines whether the given set of annotations describes an HTTP
+ * request parameter of the given name. For a parameter to be associated
+ * with an HTTP request parameter, it must be annotated with either the
+ * <code>@QueryParam</code> or <code>@FormParam</code> annotations.
+ *
+ * @param annotations
+ * The annotations associated with the Java parameter being checked.
+ *
+ * @param name
+ * The name of the HTTP request parameter.
+ *
+ * @return
+ * true if the given set of annotations describes an HTTP request
+ * parameter having the given name, false otherwise.
+ */
+ private boolean isRequestParameter(Annotation[] annotations, String name) {
+
+ // Search annotations for associated HTTP parameters
+ for (Annotation annotation : annotations) {
+
+ // Check if parameter is associated with the HTTP query string
+ if (annotation instanceof QueryParam && name.equals(((QueryParam) annotation).value()))
+ return true;
+
+ // Failing that, check whether the parameter is associated with the
+ // HTTP request body
+ if (annotation instanceof FormParam && name.equals(((FormParam) annotation).value()))
+ return true;
+
+ }
+
+ // No parameter annotations are present
+ return false;
+
+ }
+
+ /**
+ * Returns the authentication token that was passed in the given method
+ * invocation. If the given method invocation is not associated with an
+ * HTTP request (it lacks the appropriate JAX-RS annotations) or there is
+ * no authentication token, null is returned.
+ *
+ * @param invocation
+ * The method invocation whose corresponding authentication token
+ * should be determined.
+ *
+ * @return
+ * The authentication token passed in the given method invocation, or
+ * null if there is no such token.
+ */
+ private String getAuthenticationToken(MethodInvocation invocation) {
+
+ Method method = invocation.getMethod();
+
+ // Get the types and annotations associated with each parameter
+ Annotation[][] parameterAnnotations = method.getParameterAnnotations();
+ Class<?>[] parameterTypes = method.getParameterTypes();
+
+ // The Java standards require these to be parallel arrays
+ assert(parameterAnnotations.length == parameterTypes.length);
+
+ // Iterate through all parameters, looking for the authentication token
+ for (int i = 0; i < parameterTypes.length; i++) {
+
+ // Only inspect String parameters
+ Class<?> parameterType = parameterTypes[i];
+ if (parameterType != String.class)
+ continue;
+
+ // Parameter must be declared as a REST service parameter
+ Annotation[] annotations = parameterAnnotations[i];
+ if (!isRequestParameter(annotations, "token"))
+ continue;
+
+ // The token parameter has been found - return its value
+ Object[] args = invocation.getArguments();
+ return (String) args[i];
+
+ }
+
+ // No token parameter is defined
+ return null;
+
+ }
+
+ @Override
+ public Object invoke(MethodInvocation invocation) throws Throwable {
+
+ try {
+
+ // Invoke wrapped method
+ try {
+ return invocation.proceed();
+ }
+
+ // Ensure any associated session is invalidated if unauthorized
+ catch (GuacamoleUnauthorizedException e) {
+
+ // Pull authentication token from request
+ String token = getAuthenticationToken(invocation);
+
+ // If there is an associated auth token, invalidate it
+ if (authenticationService.destroyGuacamoleSession(token))
+ logger.debug("Implicitly invalidated session for token \"{}\".", token);
+
+ // Continue with exception processing
+ throw e;
+
+ }
+
+ }
+
+ // Additional credentials are needed
+ catch (GuacamoleInsufficientCredentialsException e) {
+
+ // Generate default message
+ String message = e.getMessage();
+ if (message == null)
+ message = "Permission denied.";
+
+ throw new APIException(
+ APIError.Type.INSUFFICIENT_CREDENTIALS,
+ message,
+ e.getCredentialsInfo().getFields()
+ );
+ }
+
+ // The provided credentials are wrong
+ catch (GuacamoleInvalidCredentialsException e) {
+
+ // Generate default message
+ String message = e.getMessage();
+ if (message == null)
+ message = "Permission denied.";
+
+ throw new APIException(
+ APIError.Type.INVALID_CREDENTIALS,
+ message,
+ e.getCredentialsInfo().getFields()
+ );
+ }
+
+ // Generic permission denied
+ catch (GuacamoleSecurityException e) {
+
+ // Generate default message
+ String message = e.getMessage();
+ if (message == null)
+ message = "Permission denied.";
+
+ throw new APIException(
+ APIError.Type.PERMISSION_DENIED,
+ message
+ );
+
+ }
+
+ // Arbitrary resource not found
+ catch (GuacamoleResourceNotFoundException e) {
+
+ // Generate default message
+ String message = e.getMessage();
+ if (message == null)
+ message = "Not found.";
+
+ throw new APIException(
+ APIError.Type.NOT_FOUND,
+ message
+ );
+
+ }
+
+ // Arbitrary bad requests
+ catch (GuacamoleClientException e) {
+
+ // Generate default message
+ String message = e.getMessage();
+ if (message == null)
+ message = "Invalid request.";
+
+ throw new APIException(
+ APIError.Type.BAD_REQUEST,
+ message
+ );
+
+ }
+
+ // All other errors
+ catch (GuacamoleException e) {
+
+ // Generate default message
+ String message = e.getMessage();
+ if (message == null)
+ message = "Unexpected server error.";
+
+ // Ensure internal errors are logged at the debug level
+ logger.debug("Unexpected exception in REST endpoint.", e);
+
+ throw new APIException(
+ APIError.Type.INTERNAL_ERROR,
+ message
+ );
+
+ }
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/RESTMethodMatcher.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/RESTMethodMatcher.java b/guacamole/src/main/java/org/apache/guacamole/rest/RESTMethodMatcher.java
new file mode 100644
index 0000000..0283e63
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/RESTMethodMatcher.java
@@ -0,0 +1,109 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.rest;
+
+import com.google.inject.matcher.AbstractMatcher;
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Method;
+import javax.ws.rs.HttpMethod;
+import org.apache.guacamole.GuacamoleException;
+
+/**
+ * A Guice Matcher which matches only methods which throw GuacamoleException
+ * (or a subclass thereof) and are explicitly annotated as with an HTTP method
+ * annotation like <code>@GET</code> or <code>@POST</code>. Any method which
+ * throws GuacamoleException and is annotated with an annotation that is
+ * annotated with <code>@HttpMethod</code> will match.
+ *
+ * @author Michael Jumper
+ */
+public class RESTMethodMatcher extends AbstractMatcher<Method> {
+
+ /**
+ * Returns whether the given method throws the specified exception type,
+ * including any subclasses of that type.
+ *
+ * @param method
+ * The method to test.
+ *
+ * @param exceptionType
+ * The exception type to test for.
+ *
+ * @return
+ * true if the given method throws an exception of the specified type,
+ * false otherwise.
+ */
+ private boolean methodThrowsException(Method method,
+ Class<? extends Exception> exceptionType) {
+
+ // Check whether the method throws an exception of the specified type
+ for (Class<?> thrownType : method.getExceptionTypes()) {
+ if (exceptionType.isAssignableFrom(thrownType))
+ return true;
+ }
+
+ // No such exception is declared to be thrown
+ return false;
+
+ }
+
+ /**
+ * Returns whether the given method is annotated as a REST method. A REST
+ * method is annotated with an annotation which is annotated with
+ * <code>@HttpMethod</code>.
+ *
+ * @param method
+ * The method to test.
+ *
+ * @return
+ * true if the given method is annotated as a REST method, false
+ * otherwise.
+ */
+ private boolean isRESTMethod(Method method) {
+
+ // Check whether the required REST annotations are present
+ for (Annotation annotation : method.getAnnotations()) {
+
+ // A method is a REST method if it is annotated with @HttpMethod
+ Class<? extends Annotation> annotationType = annotation.annotationType();
+ if (annotationType.isAnnotationPresent(HttpMethod.class))
+ return true;
+
+ }
+
+ // The method is not an HTTP method
+ return false;
+
+ }
+
+ @Override
+ public boolean matches(Method method) {
+
+ // Guacamole REST methods are REST methods which throw
+ // GuacamoleExceptions
+ return isRESTMethod(method)
+ && methodThrowsException(method, GuacamoleException.class);
+
+ }
+
+}
[12/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Remove useless .net.basic subpackage, now that everything is being renamed.
Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/GuacamoleClassLoader.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/GuacamoleClassLoader.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/GuacamoleClassLoader.java
deleted file mode 100644
index 236d366..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/GuacamoleClassLoader.java
+++ /dev/null
@@ -1,185 +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.
- */
-
-package org.apache.guacamole.net.basic;
-
-import java.io.File;
-import java.io.FilenameFilter;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.security.AccessController;
-import java.security.PrivilegedActionException;
-import java.security.PrivilegedExceptionAction;
-import java.util.ArrayList;
-import java.util.Collection;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.environment.Environment;
-import org.apache.guacamole.environment.LocalEnvironment;
-import org.apache.guacamole.net.basic.properties.BasicGuacamoleProperties;
-
-/**
- * A ClassLoader implementation which finds classes within a configurable
- * directory. This directory is set within guacamole.properties. This class
- * is deprecated in favor of DirectoryClassLoader, which is automatically
- * configured based on the presence/absence of GUACAMOLE_HOME/lib.
- *
- * @author Michael Jumper
- */
-@Deprecated
-public class GuacamoleClassLoader extends ClassLoader {
-
- /**
- * Class loader which will load classes from the classpath specified
- * in guacamole.properties.
- */
- private URLClassLoader classLoader = null;
-
- /**
- * Any exception that occurs while the class loader is being instantiated.
- */
- private static GuacamoleException exception = null;
-
- /**
- * Singleton instance of the GuacamoleClassLoader.
- */
- private static GuacamoleClassLoader instance = null;
-
- static {
-
- try {
- // Attempt to create singleton classloader which loads classes from
- // all .jar's in the lib directory defined in guacamole.properties
- instance = AccessController.doPrivileged(new PrivilegedExceptionAction<GuacamoleClassLoader>() {
-
- @Override
- public GuacamoleClassLoader run() throws GuacamoleException {
-
- // TODONT: This should be injected, but GuacamoleClassLoader will be removed soon.
- Environment environment = new LocalEnvironment();
-
- return new GuacamoleClassLoader(
- environment.getProperty(BasicGuacamoleProperties.LIB_DIRECTORY)
- );
-
- }
-
- });
- }
-
- catch (PrivilegedActionException e) {
- // On error, record exception
- exception = (GuacamoleException) e.getException();
- }
-
- }
-
- /**
- * Creates a new GuacamoleClassLoader which reads classes from the given
- * directory.
- *
- * @param libDirectory The directory to load classes from.
- * @throws GuacamoleException If the file given is not a director, or if
- * an error occurs while constructing the URL
- * for the backing classloader.
- */
- private GuacamoleClassLoader(File libDirectory) throws GuacamoleException {
-
- // If no directory provided, just direct requests to parent classloader
- if (libDirectory == null)
- return;
-
- // Validate directory is indeed a directory
- if (!libDirectory.isDirectory())
- throw new GuacamoleException(libDirectory + " is not a directory.");
-
- // Get list of URLs for all .jar's in the lib directory
- Collection<URL> jarURLs = new ArrayList<URL>();
- File[] files = libDirectory.listFiles(new FilenameFilter() {
-
- @Override
- public boolean accept(File dir, String name) {
-
- // If it ends with .jar, accept the file
- return name.endsWith(".jar");
-
- }
-
- });
-
- // Verify directory was successfully read
- if (files == null)
- throw new GuacamoleException("Unable to read contents of directory " + libDirectory);
-
- // Add the URL for each .jar to the jar URL list
- for (File file : files) {
-
- try {
- jarURLs.add(file.toURI().toURL());
- }
- catch (MalformedURLException e) {
- throw new GuacamoleException(e);
- }
-
- }
-
- // Set delegate classloader to new URLClassLoader which loads from the
- // .jars found above.
-
- URL[] urls = new URL[jarURLs.size()];
- classLoader = new URLClassLoader(
- jarURLs.toArray(urls),
- getClass().getClassLoader()
- );
-
- }
-
- /**
- * Returns an instance of a GuacamoleClassLoader which finds classes
- * within the directory configured in guacamole.properties.
- *
- * @return An instance of a GuacamoleClassLoader.
- * @throws GuacamoleException If no instance could be returned due to an
- * error.
- */
- public static GuacamoleClassLoader getInstance() throws GuacamoleException {
-
- // If instance could not be created, rethrow original exception
- if (exception != null) throw exception;
-
- return instance;
-
- }
-
- @Override
- public Class<?> findClass(String name) throws ClassNotFoundException {
-
- // If no classloader, use default loader
- if (classLoader == null)
- return Class.forName(name);
-
- // Otherwise, delegate
- return classLoader.loadClass(name);
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/GuacamoleSession.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/GuacamoleSession.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/GuacamoleSession.java
deleted file mode 100644
index 6d9ffc3..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/GuacamoleSession.java
+++ /dev/null
@@ -1,222 +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.
- */
-
-package org.apache.guacamole.net.basic;
-
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.environment.Environment;
-import org.apache.guacamole.net.GuacamoleTunnel;
-import org.apache.guacamole.net.auth.AuthenticatedUser;
-import org.apache.guacamole.net.auth.UserContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Contains Guacamole-specific user information which is tied to the current
- * session, such as the UserContext and current clipboard state.
- *
- * @author Michael Jumper
- */
-public class GuacamoleSession {
-
- /**
- * Logger for this class.
- */
- private static final Logger logger = LoggerFactory.getLogger(GuacamoleSession.class);
-
- /**
- * The user associated with this session.
- */
- private AuthenticatedUser authenticatedUser;
-
- /**
- * All UserContexts associated with this session. Each
- * AuthenticationProvider may provide its own UserContext.
- */
- private List<UserContext> userContexts;
-
- /**
- * All currently-active tunnels, indexed by tunnel UUID.
- */
- private final Map<String, GuacamoleTunnel> tunnels = new ConcurrentHashMap<String, GuacamoleTunnel>();
-
- /**
- * The last time this session was accessed.
- */
- private long lastAccessedTime;
-
- /**
- * Creates a new Guacamole session associated with the given
- * AuthenticatedUser and UserContexts.
- *
- * @param environment
- * The environment of the Guacamole server associated with this new
- * session.
- *
- * @param authenticatedUser
- * The authenticated user to associate this session with.
- *
- * @param userContexts
- * The List of UserContexts to associate with this session.
- *
- * @throws GuacamoleException
- * If an error prevents the session from being created.
- */
- public GuacamoleSession(Environment environment,
- AuthenticatedUser authenticatedUser,
- List<UserContext> userContexts)
- throws GuacamoleException {
- this.lastAccessedTime = System.currentTimeMillis();
- this.authenticatedUser = authenticatedUser;
- this.userContexts = userContexts;
- }
-
- /**
- * Returns the authenticated user associated with this session.
- *
- * @return
- * The authenticated user associated with this session.
- */
- public AuthenticatedUser getAuthenticatedUser() {
- return authenticatedUser;
- }
-
- /**
- * Replaces the authenticated user associated with this session with the
- * given authenticated user.
- *
- * @param authenticatedUser
- * The authenticated user to associated with this session.
- */
- public void setAuthenticatedUser(AuthenticatedUser authenticatedUser) {
- this.authenticatedUser = authenticatedUser;
- }
-
- /**
- * Returns a list of all UserContexts associated with this session. Each
- * AuthenticationProvider currently loaded by Guacamole may provide its own
- * UserContext for any successfully-authenticated user.
- *
- * @return
- * An unmodifiable list of all UserContexts associated with this
- * session.
- */
- public List<UserContext> getUserContexts() {
- return Collections.unmodifiableList(userContexts);
- }
-
- /**
- * Replaces all UserContexts associated with this session with the given
- * List of UserContexts.
- *
- * @param userContexts
- * The List of UserContexts to associate with this session.
- */
- public void setUserContexts(List<UserContext> userContexts) {
- this.userContexts = userContexts;
- }
-
- /**
- * Returns whether this session has any associated active tunnels.
- *
- * @return true if this session has any associated active tunnels,
- * false otherwise.
- */
- public boolean hasTunnels() {
- return !tunnels.isEmpty();
- }
-
- /**
- * Returns a map of all active tunnels associated with this session, where
- * each key is the String representation of the tunnel's UUID. Changes to
- * this map immediately affect the set of tunnels associated with this
- * session. A tunnel need not be present here to be used by the user
- * associated with this session, but tunnels not in this set will not
- * be taken into account when determining whether a session is in use.
- *
- * @return A map of all active tunnels associated with this session.
- */
- public Map<String, GuacamoleTunnel> getTunnels() {
- return tunnels;
- }
-
- /**
- * Associates the given tunnel with this session, such that it is taken
- * into account when determining session activity.
- *
- * @param tunnel The tunnel to associate with this session.
- */
- public void addTunnel(GuacamoleTunnel tunnel) {
- tunnels.put(tunnel.getUUID().toString(), tunnel);
- }
-
- /**
- * Disassociates the tunnel having the given UUID from this session.
- *
- * @param uuid The UUID of the tunnel to disassociate from this session.
- * @return true if the tunnel existed and was removed, false otherwise.
- */
- public boolean removeTunnel(String uuid) {
- return tunnels.remove(uuid) != null;
- }
-
- /**
- * Updates this session, marking it as accessed.
- */
- public void access() {
- lastAccessedTime = System.currentTimeMillis();
- }
-
- /**
- * Returns the time this session was last accessed, as the number of
- * milliseconds since midnight January 1, 1970 GMT. Session access must
- * be explicitly marked through calls to the access() function.
- *
- * @return The time this session was last accessed.
- */
- public long getLastAccessedTime() {
- return lastAccessedTime;
- }
-
- /**
- * Closes all associated tunnels and prevents any further use of this
- * session.
- */
- public void invalidate() {
-
- // Close all associated tunnels, if possible
- for (GuacamoleTunnel tunnel : tunnels.values()) {
- try {
- tunnel.close();
- }
- catch (GuacamoleException e) {
- logger.debug("Unable to close tunnel.", e);
- }
- }
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/HTTPTunnelRequest.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/HTTPTunnelRequest.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/HTTPTunnelRequest.java
deleted file mode 100644
index da6bf22..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/HTTPTunnelRequest.java
+++ /dev/null
@@ -1,90 +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.
- */
-
-package org.apache.guacamole.net.basic;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import javax.servlet.http.HttpServletRequest;
-
-/**
- * HTTP-specific implementation of TunnelRequest.
- *
- * @author Michael Jumper
- */
-public class HTTPTunnelRequest extends TunnelRequest {
-
- /**
- * A copy of the parameters obtained from the HttpServletRequest used to
- * construct the HTTPTunnelRequest.
- */
- private final Map<String, List<String>> parameterMap =
- new HashMap<String, List<String>>();
-
- /**
- * Creates a HTTPTunnelRequest which copies and exposes the parameters
- * from the given HttpServletRequest.
- *
- * @param request
- * The HttpServletRequest to copy parameter values from.
- */
- @SuppressWarnings("unchecked") // getParameterMap() is defined as returning Map<String, String[]>
- public HTTPTunnelRequest(HttpServletRequest request) {
-
- // For each parameter
- for (Map.Entry<String, String[]> mapEntry : ((Map<String, String[]>)
- request.getParameterMap()).entrySet()) {
-
- // Get parameter name and corresponding values
- String parameterName = mapEntry.getKey();
- List<String> parameterValues = Arrays.asList(mapEntry.getValue());
-
- // Store copy of all values in our own map
- parameterMap.put(
- parameterName,
- new ArrayList<String>(parameterValues)
- );
-
- }
-
- }
-
- @Override
- public String getParameter(String name) {
- List<String> values = getParameterValues(name);
-
- // Return the first value from the list if available
- if (values != null && !values.isEmpty())
- return values.get(0);
-
- return null;
- }
-
- @Override
- public List<String> getParameterValues(String name) {
- return parameterMap.get(name);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/TunnelLoader.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/TunnelLoader.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/TunnelLoader.java
deleted file mode 100644
index 960daff..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/TunnelLoader.java
+++ /dev/null
@@ -1,44 +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.
- */
-
-package org.apache.guacamole.net.basic;
-
-import com.google.inject.Module;
-
-/**
- * Generic means of loading a tunnel without adding explicit dependencies within
- * the main ServletModule, as not all servlet containers may have the classes
- * required by all tunnel implementations.
- *
- * @author Michael Jumper
- */
-public interface TunnelLoader extends Module {
-
- /**
- * Checks whether this type of tunnel is supported by the servlet container.
- *
- * @return true if this type of tunnel is supported and can be loaded
- * without errors, false otherwise.
- */
- public boolean isSupported();
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/TunnelModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/TunnelModule.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/TunnelModule.java
deleted file mode 100644
index 1168517..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/TunnelModule.java
+++ /dev/null
@@ -1,113 +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.
- */
-
-package org.apache.guacamole.net.basic;
-
-import com.google.inject.servlet.ServletModule;
-import java.lang.reflect.InvocationTargetException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Module which loads tunnel implementations.
- *
- * @author Michael Jumper
- */
-public class TunnelModule extends ServletModule {
-
- /**
- * Logger for this class.
- */
- private final Logger logger = LoggerFactory.getLogger(TunnelModule.class);
-
- /**
- * Classnames of all implementation-specific WebSocket tunnel modules.
- */
- private static final String[] WEBSOCKET_MODULES = {
- "org.apache.guacamole.net.basic.websocket.WebSocketTunnelModule",
- "org.apache.guacamole.net.basic.websocket.jetty8.WebSocketTunnelModule",
- "org.apache.guacamole.net.basic.websocket.jetty9.WebSocketTunnelModule",
- "org.apache.guacamole.net.basic.websocket.tomcat.WebSocketTunnelModule"
- };
-
- private boolean loadWebSocketModule(String classname) {
-
- try {
-
- // Attempt to find WebSocket module
- Class<?> module = Class.forName(classname);
-
- // Create loader
- TunnelLoader loader = (TunnelLoader) module.getConstructor().newInstance();
-
- // Install module, if supported
- if (loader.isSupported()) {
- install(loader);
- return true;
- }
-
- }
-
- // If no such class or constructor, etc., then this particular
- // WebSocket support is not present
- catch (ClassNotFoundException e) {}
- catch (NoClassDefFoundError e) {}
- catch (NoSuchMethodException e) {}
-
- // Log errors which indicate bugs
- catch (InstantiationException e) {
- logger.debug("Error instantiating WebSocket module.", e);
- }
- catch (IllegalAccessException e) {
- logger.debug("Error instantiating WebSocket module.", e);
- }
- catch (InvocationTargetException e) {
- logger.debug("Error instantiating WebSocket module.", e);
- }
-
- // Load attempt failed
- return false;
-
- }
-
- @Override
- protected void configureServlets() {
-
- bind(TunnelRequestService.class);
-
- // Set up HTTP tunnel
- serve("/tunnel").with(BasicGuacamoleTunnelServlet.class);
-
- // Try to load each WebSocket tunnel in sequence
- for (String classname : WEBSOCKET_MODULES) {
- if (loadWebSocketModule(classname)) {
- logger.debug("WebSocket module loaded: {}", classname);
- return;
- }
- }
-
- // Warn of lack of WebSocket
- logger.info("WebSocket support NOT present. Only HTTP will be used.");
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/TunnelRequest.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/TunnelRequest.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/TunnelRequest.java
deleted file mode 100644
index 5866485..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/TunnelRequest.java
+++ /dev/null
@@ -1,372 +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.
- */
-
-package org.apache.guacamole.net.basic;
-
-import java.util.List;
-import org.apache.guacamole.GuacamoleClientException;
-import org.apache.guacamole.GuacamoleException;
-
-/**
- * A request object which provides only the functions absolutely required to
- * retrieve and connect to a tunnel.
- *
- * @author Michael Jumper
- */
-public abstract class TunnelRequest {
-
- /**
- * The name of the request parameter containing the user's authentication
- * token.
- */
- public static final String AUTH_TOKEN_PARAMETER = "token";
-
- /**
- * The name of the parameter containing the identifier of the
- * AuthenticationProvider associated with the UserContext containing the
- * object to which a tunnel is being requested.
- */
- public static final String AUTH_PROVIDER_IDENTIFIER_PARAMETER = "GUAC_DATA_SOURCE";
-
- /**
- * The name of the parameter specifying the type of object to which a
- * tunnel is being requested. Currently, this may be "c" for a Guacamole
- * connection, or "g" for a Guacamole connection group.
- */
- public static final String TYPE_PARAMETER = "GUAC_TYPE";
-
- /**
- * The name of the parameter containing the unique identifier of the object
- * to which a tunnel is being requested.
- */
- public static final String IDENTIFIER_PARAMETER = "GUAC_ID";
-
- /**
- * The name of the parameter containing the desired display width, in
- * pixels.
- */
- public static final String WIDTH_PARAMETER = "GUAC_WIDTH";
-
- /**
- * The name of the parameter containing the desired display height, in
- * pixels.
- */
- public static final String HEIGHT_PARAMETER = "GUAC_HEIGHT";
-
- /**
- * The name of the parameter containing the desired display resolution, in
- * DPI.
- */
- public static final String DPI_PARAMETER = "GUAC_DPI";
-
- /**
- * The name of the parameter specifying one supported audio mimetype. This
- * will normally appear multiple times within a single tunnel request -
- * once for each mimetype.
- */
- public static final String AUDIO_PARAMETER = "GUAC_AUDIO";
-
- /**
- * The name of the parameter specifying one supported video mimetype. This
- * will normally appear multiple times within a single tunnel request -
- * once for each mimetype.
- */
- public static final String VIDEO_PARAMETER = "GUAC_VIDEO";
-
- /**
- * The name of the parameter specifying one supported image mimetype. This
- * will normally appear multiple times within a single tunnel request -
- * once for each mimetype.
- */
- public static final String IMAGE_PARAMETER = "GUAC_IMAGE";
-
- /**
- * All supported object types that can be used as the destination of a
- * tunnel.
- */
- public static enum Type {
-
- /**
- * A Guacamole connection.
- */
- CONNECTION("c"),
-
- /**
- * A Guacamole connection group.
- */
- CONNECTION_GROUP("g");
-
- /**
- * The parameter value which denotes a destination object of this type.
- */
- final String PARAMETER_VALUE;
-
- /**
- * Defines a Type having the given corresponding parameter value.
- *
- * @param value
- * The parameter value which denotes a destination object of this
- * type.
- */
- Type(String value) {
- PARAMETER_VALUE = value;
- }
-
- };
-
- /**
- * Returns the value of the parameter having the given name.
- *
- * @param name
- * The name of the parameter to return.
- *
- * @return
- * The value of the parameter having the given name, or null if no such
- * parameter was specified.
- */
- public abstract String getParameter(String name);
-
- /**
- * Returns a list of all values specified for the given parameter.
- *
- * @param name
- * The name of the parameter to return.
- *
- * @return
- * All values of the parameter having the given name , or null if no
- * such parameter was specified.
- */
- public abstract List<String> getParameterValues(String name);
-
- /**
- * Returns the value of the parameter having the given name, throwing an
- * exception if the parameter is missing.
- *
- * @param name
- * The name of the parameter to return.
- *
- * @return
- * The value of the parameter having the given name.
- *
- * @throws GuacamoleException
- * If the parameter is not present in the request.
- */
- public String getRequiredParameter(String name) throws GuacamoleException {
-
- // Pull requested parameter, aborting if absent
- String value = getParameter(name);
- if (value == null)
- throw new GuacamoleClientException("Parameter \"" + name + "\" is required.");
-
- return value;
-
- }
-
- /**
- * Returns the integer value of the parameter having the given name,
- * throwing an exception if the parameter cannot be parsed.
- *
- * @param name
- * The name of the parameter to return.
- *
- * @return
- * The integer value of the parameter having the given name, or null if
- * the parameter is missing.
- *
- * @throws GuacamoleException
- * If the parameter is not a valid integer.
- */
- public Integer getIntegerParameter(String name) throws GuacamoleException {
-
- // Pull requested parameter
- String value = getParameter(name);
- if (value == null)
- return null;
-
- // Attempt to parse as an integer
- try {
- return Integer.parseInt(value);
- }
-
- // Rethrow any parsing error as a GuacamoleClientException
- catch (NumberFormatException e) {
- throw new GuacamoleClientException("Parameter \"" + name + "\" must be a valid integer.", e);
- }
-
- }
-
- /**
- * Returns the authentication token associated with this tunnel request.
- *
- * @return
- * The authentication token associated with this tunnel request, or
- * null if no authentication token is present.
- */
- public String getAuthenticationToken() {
- return getParameter(AUTH_TOKEN_PARAMETER);
- }
-
- /**
- * Returns the identifier of the AuthenticationProvider associated with the
- * UserContext from which the connection or connection group is to be
- * retrieved when the tunnel is created. In the context of the REST API and
- * the JavaScript side of the web application, this is referred to as the
- * data source identifier.
- *
- * @return
- * The identifier of the AuthenticationProvider associated with the
- * UserContext from which the connection or connection group is to be
- * retrieved when the tunnel is created.
- *
- * @throws GuacamoleException
- * If the identifier was not present in the request.
- */
- public String getAuthenticationProviderIdentifier()
- throws GuacamoleException {
- return getRequiredParameter(AUTH_PROVIDER_IDENTIFIER_PARAMETER);
- }
-
- /**
- * Returns the type of object for which the tunnel is being requested.
- *
- * @return
- * The type of object for which the tunnel is being requested.
- *
- * @throws GuacamoleException
- * If the type was not present in the request, or if the type requested
- * is in the wrong format.
- */
- public Type getType() throws GuacamoleException {
-
- String type = getRequiredParameter(TYPE_PARAMETER);
-
- // For each possible object type
- for (Type possibleType : Type.values()) {
-
- // Match against defined parameter value
- if (type.equals(possibleType.PARAMETER_VALUE))
- return possibleType;
-
- }
-
- throw new GuacamoleClientException("Illegal identifier - unknown type.");
-
- }
-
- /**
- * Returns the identifier of the destination of the tunnel being requested.
- * As there are multiple types of destination objects available, and within
- * multiple data sources, the associated object type and data source are
- * also necessary to determine what this identifier refers to.
- *
- * @return
- * The identifier of the destination of the tunnel being requested.
- *
- * @throws GuacamoleException
- * If the identifier was not present in the request.
- */
- public String getIdentifier() throws GuacamoleException {
- return getRequiredParameter(IDENTIFIER_PARAMETER);
- }
-
- /**
- * Returns the display width desired for the Guacamole session over the
- * tunnel being requested.
- *
- * @return
- * The display width desired for the Guacamole session over the tunnel
- * being requested, or null if no width was given.
- *
- * @throws GuacamoleException
- * If the width specified was not a valid integer.
- */
- public Integer getWidth() throws GuacamoleException {
- return getIntegerParameter(WIDTH_PARAMETER);
- }
-
- /**
- * Returns the display height desired for the Guacamole session over the
- * tunnel being requested.
- *
- * @return
- * The display height desired for the Guacamole session over the tunnel
- * being requested, or null if no width was given.
- *
- * @throws GuacamoleException
- * If the height specified was not a valid integer.
- */
- public Integer getHeight() throws GuacamoleException {
- return getIntegerParameter(HEIGHT_PARAMETER);
- }
-
- /**
- * Returns the display resolution desired for the Guacamole session over
- * the tunnel being requested, in DPI.
- *
- * @return
- * The display resolution desired for the Guacamole session over the
- * tunnel being requested, or null if no resolution was given.
- *
- * @throws GuacamoleException
- * If the resolution specified was not a valid integer.
- */
- public Integer getDPI() throws GuacamoleException {
- return getIntegerParameter(DPI_PARAMETER);
- }
-
- /**
- * Returns a list of all audio mimetypes declared as supported within the
- * tunnel request.
- *
- * @return
- * A list of all audio mimetypes declared as supported within the
- * tunnel request, or null if no mimetypes were specified.
- */
- public List<String> getAudioMimetypes() {
- return getParameterValues(AUDIO_PARAMETER);
- }
-
- /**
- * Returns a list of all video mimetypes declared as supported within the
- * tunnel request.
- *
- * @return
- * A list of all video mimetypes declared as supported within the
- * tunnel request, or null if no mimetypes were specified.
- */
- public List<String> getVideoMimetypes() {
- return getParameterValues(VIDEO_PARAMETER);
- }
-
- /**
- * Returns a list of all image mimetypes declared as supported within the
- * tunnel request.
- *
- * @return
- * A list of all image mimetypes declared as supported within the
- * tunnel request, or null if no mimetypes were specified.
- */
- public List<String> getImageMimetypes() {
- return getParameterValues(IMAGE_PARAMETER);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/TunnelRequestService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/TunnelRequestService.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/TunnelRequestService.java
deleted file mode 100644
index 128b899..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/TunnelRequestService.java
+++ /dev/null
@@ -1,359 +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.
- */
-
-package org.apache.guacamole.net.basic;
-
-import com.google.inject.Inject;
-import com.google.inject.Singleton;
-import java.util.List;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.GuacamoleSecurityException;
-import org.apache.guacamole.GuacamoleUnauthorizedException;
-import org.apache.guacamole.net.DelegatingGuacamoleTunnel;
-import org.apache.guacamole.net.GuacamoleTunnel;
-import org.apache.guacamole.net.auth.Connection;
-import org.apache.guacamole.net.auth.ConnectionGroup;
-import org.apache.guacamole.net.auth.Directory;
-import org.apache.guacamole.net.auth.UserContext;
-import org.apache.guacamole.net.basic.rest.ObjectRetrievalService;
-import org.apache.guacamole.net.basic.rest.auth.AuthenticationService;
-import org.apache.guacamole.protocol.GuacamoleClientInformation;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Utility class that takes a standard request from the Guacamole JavaScript
- * client and produces the corresponding GuacamoleTunnel. The implementation
- * of this utility is specific to the form of request used by the upstream
- * Guacamole web application, and is not necessarily useful to applications
- * that use purely the Guacamole API.
- *
- * @author Michael Jumper
- * @author Vasily Loginov
- */
-@Singleton
-public class TunnelRequestService {
-
- /**
- * Logger for this class.
- */
- private final Logger logger = LoggerFactory.getLogger(TunnelRequestService.class);
-
- /**
- * A service for authenticating users from auth tokens.
- */
- @Inject
- private AuthenticationService authenticationService;
-
- /**
- * Service for convenient retrieval of objects.
- */
- @Inject
- private ObjectRetrievalService retrievalService;
-
- /**
- * Reads and returns the client information provided within the given
- * request.
- *
- * @param request
- * The request describing tunnel to create.
- *
- * @return GuacamoleClientInformation
- * An object containing information about the client sending the tunnel
- * request.
- *
- * @throws GuacamoleException
- * If the parameters of the tunnel request are invalid.
- */
- protected GuacamoleClientInformation getClientInformation(TunnelRequest request)
- throws GuacamoleException {
-
- // Get client information
- GuacamoleClientInformation info = new GuacamoleClientInformation();
-
- // Set width if provided
- Integer width = request.getWidth();
- if (width != null)
- info.setOptimalScreenWidth(width);
-
- // Set height if provided
- Integer height = request.getHeight();
- if (height != null)
- info.setOptimalScreenHeight(height);
-
- // Set resolution if provided
- Integer dpi = request.getDPI();
- if (dpi != null)
- info.setOptimalResolution(dpi);
-
- // Add audio mimetypes
- List<String> audioMimetypes = request.getAudioMimetypes();
- if (audioMimetypes != null)
- info.getAudioMimetypes().addAll(audioMimetypes);
-
- // Add video mimetypes
- List<String> videoMimetypes = request.getVideoMimetypes();
- if (videoMimetypes != null)
- info.getVideoMimetypes().addAll(videoMimetypes);
-
- // Add image mimetypes
- List<String> imageMimetypes = request.getImageMimetypes();
- if (imageMimetypes != null)
- info.getImageMimetypes().addAll(imageMimetypes);
-
- return info;
- }
-
- /**
- * Creates a new tunnel using which is connected to the connection or
- * connection group identifier by the given ID. Client information
- * is specified in the {@code info} parameter.
- *
- * @param context
- * The UserContext associated with the user for whom the tunnel is
- * being created.
- *
- * @param type
- * The type of object being connected to (connection or group).
- *
- * @param id
- * The id of the connection or group being connected to.
- *
- * @param info
- * Information describing the connected Guacamole client.
- *
- * @return
- * A new tunnel, connected as required by the request.
- *
- * @throws GuacamoleException
- * If an error occurs while creating the tunnel.
- */
- protected GuacamoleTunnel createConnectedTunnel(UserContext context,
- final TunnelRequest.Type type, String id,
- GuacamoleClientInformation info)
- throws GuacamoleException {
-
- // Create connected tunnel from identifier
- GuacamoleTunnel tunnel = null;
- switch (type) {
-
- // Connection identifiers
- case CONNECTION: {
-
- // Get connection directory
- Directory<Connection> directory = context.getConnectionDirectory();
-
- // Get authorized connection
- Connection connection = directory.get(id);
- if (connection == null) {
- logger.info("Connection \"{}\" does not exist for user \"{}\".", id, context.self().getIdentifier());
- throw new GuacamoleSecurityException("Requested connection is not authorized.");
- }
-
- // Connect tunnel
- tunnel = connection.connect(info);
- logger.info("User \"{}\" connected to connection \"{}\".", context.self().getIdentifier(), id);
- break;
- }
-
- // Connection group identifiers
- case CONNECTION_GROUP: {
-
- // Get connection group directory
- Directory<ConnectionGroup> directory = context.getConnectionGroupDirectory();
-
- // Get authorized connection group
- ConnectionGroup group = directory.get(id);
- if (group == null) {
- logger.info("Connection group \"{}\" does not exist for user \"{}\".", id, context.self().getIdentifier());
- throw new GuacamoleSecurityException("Requested connection group is not authorized.");
- }
-
- // Connect tunnel
- tunnel = group.connect(info);
- logger.info("User \"{}\" connected to group \"{}\".", context.self().getIdentifier(), id);
- break;
- }
-
- // Type is guaranteed to be one of the above
- default:
- assert(false);
-
- }
-
- return tunnel;
-
- }
-
- /**
- * Associates the given tunnel with the given session, returning a wrapped
- * version of the same tunnel which automatically handles closure and
- * removal from the session.
- *
- * @param tunnel
- * The connected tunnel to wrap and monitor.
- *
- * @param authToken
- * The authentication token associated with the given session. If
- * provided, this token will be automatically invalidated (and the
- * corresponding session destroyed) if tunnel errors imply that the
- * user is no longer authorized.
- *
- * @param session
- * The Guacamole session to associate the tunnel with.
- *
- * @param type
- * The type of object being connected to (connection or group).
- *
- * @param id
- * The id of the connection or group being connected to.
- *
- * @return
- * A new tunnel, associated with the given session, which delegates all
- * functionality to the given tunnel while monitoring and automatically
- * handling closure.
- *
- * @throws GuacamoleException
- * If an error occurs while obtaining the tunnel.
- */
- protected GuacamoleTunnel createAssociatedTunnel(GuacamoleTunnel tunnel,
- final String authToken, final GuacamoleSession session,
- final TunnelRequest.Type type, final String id)
- throws GuacamoleException {
-
- // Monitor tunnel closure and data
- GuacamoleTunnel monitoredTunnel = new DelegatingGuacamoleTunnel(tunnel) {
-
- /**
- * The time the connection began, measured in milliseconds since
- * midnight, January 1, 1970 UTC.
- */
- private final long connectionStartTime = System.currentTimeMillis();
-
- @Override
- public void close() throws GuacamoleException {
-
- long connectionEndTime = System.currentTimeMillis();
- long duration = connectionEndTime - connectionStartTime;
-
- // Log closure
- switch (type) {
-
- // Connection identifiers
- case CONNECTION:
- logger.info("User \"{}\" disconnected from connection \"{}\". Duration: {} milliseconds",
- session.getAuthenticatedUser().getIdentifier(), id, duration);
- break;
-
- // Connection group identifiers
- case CONNECTION_GROUP:
- logger.info("User \"{}\" disconnected from connection group \"{}\". Duration: {} milliseconds",
- session.getAuthenticatedUser().getIdentifier(), id, duration);
- break;
-
- // Type is guaranteed to be one of the above
- default:
- assert(false);
-
- }
-
- try {
-
- // Close and clean up tunnel
- session.removeTunnel(getUUID().toString());
- super.close();
-
- }
-
- // Ensure any associated session is invalidated if unauthorized
- catch (GuacamoleUnauthorizedException e) {
-
- // If there is an associated auth token, invalidate it
- if (authenticationService.destroyGuacamoleSession(authToken))
- logger.debug("Implicitly invalidated session for token \"{}\".", authToken);
-
- // Continue with exception processing
- throw e;
-
- }
-
- }
-
- };
-
- // Associate tunnel with session
- session.addTunnel(monitoredTunnel);
- return monitoredTunnel;
-
- }
-
- /**
- * Creates a new tunnel using the parameters and credentials present in
- * the given request.
- *
- * @param request
- * The request describing the tunnel to create.
- *
- * @return
- * The created tunnel, or null if the tunnel could not be created.
- *
- * @throws GuacamoleException
- * If an error occurs while creating the tunnel.
- */
- public GuacamoleTunnel createTunnel(TunnelRequest request)
- throws GuacamoleException {
-
- // Parse request parameters
- String authToken = request.getAuthenticationToken();
- String id = request.getIdentifier();
- TunnelRequest.Type type = request.getType();
- String authProviderIdentifier = request.getAuthenticationProviderIdentifier();
- GuacamoleClientInformation info = getClientInformation(request);
-
- GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
- UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
-
- try {
-
- // Create connected tunnel using provided connection ID and client information
- GuacamoleTunnel tunnel = createConnectedTunnel(userContext, type, id, info);
-
- // Associate tunnel with session
- return createAssociatedTunnel(tunnel, authToken, session, type, id);
-
- }
-
- // Ensure any associated session is invalidated if unauthorized
- catch (GuacamoleUnauthorizedException e) {
-
- // If there is an associated auth token, invalidate it
- if (authenticationService.destroyGuacamoleSession(authToken))
- logger.debug("Implicitly invalidated session for token \"{}\".", authToken);
-
- // Continue with exception processing
- throw e;
-
- }
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/auth/Authorization.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/auth/Authorization.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/auth/Authorization.java
deleted file mode 100644
index 82974a3..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/auth/Authorization.java
+++ /dev/null
@@ -1,255 +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.
- */
-
-package org.apache.guacamole.net.basic.auth;
-
-import java.io.UnsupportedEncodingException;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-import java.util.Map;
-import java.util.TreeMap;
-import org.apache.guacamole.protocol.GuacamoleConfiguration;
-
-/**
- * Mapping of username/password pair to configuration set. In addition to basic
- * storage of the username, password, and configurations, this class also
- * provides password validation functions.
- *
- * @author Mike Jumper
- */
-public class Authorization {
-
- /**
- * All supported password encodings.
- */
- public static enum Encoding {
-
- /**
- * Plain-text password (not hashed at all).
- */
- PLAIN_TEXT,
-
- /**
- * Password hashed with MD5.
- */
- MD5
-
- }
-
- /**
- * The username being authorized.
- */
- private String username;
-
- /**
- * The password corresponding to the username being authorized, which may
- * be hashed.
- */
- private String password;
-
- /**
- * The encoding used when the password was hashed.
- */
- private Encoding encoding = Encoding.PLAIN_TEXT;
-
- /**
- * Map of all authorized configurations, indexed by configuration name.
- */
- private Map<String, GuacamoleConfiguration> configs = new
- TreeMap<String, GuacamoleConfiguration>();
-
- /**
- * Lookup table of hex bytes characters by value.
- */
- private static final char HEX_CHARS[] = {
- '0', '1', '2', '3', '4', '5', '6', '7',
- '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'
- };
-
- /**
- * Produces a String containing the bytes provided in hexadecimal notation.
- *
- * @param bytes The bytes to convert into hex.
- * @return A String containing the hex representation of the given bytes.
- */
- private static String getHexString(byte[] bytes) {
-
- // If null byte array given, return null
- if (bytes == null)
- return null;
-
- // Create string builder for holding the hex representation,
- // pre-calculating the exact length
- StringBuilder hex = new StringBuilder(2 * bytes.length);
-
- // Convert each byte into a pair of hex digits
- for (byte b : bytes) {
- hex.append(HEX_CHARS[(b & 0xF0) >> 4])
- .append(HEX_CHARS[ b & 0x0F ]);
- }
-
- // Return the string produced
- return hex.toString();
-
- }
-
- /**
- * Returns the username associated with this authorization.
- *
- * @return The username associated with this authorization.
- */
- public String getUsername() {
- return username;
- }
-
- /**
- * Sets the username associated with this authorization.
- *
- * @param username The username to associate with this authorization.
- */
- public void setUsername(String username) {
- this.username = username;
- }
-
- /**
- * Returns the password associated with this authorization, which may be
- * encoded or hashed.
- *
- * @return The password associated with this authorization.
- */
- public String getPassword() {
- return password;
- }
-
- /**
- * Sets the password associated with this authorization, which must be
- * encoded using the encoding specified with setEncoding(). By default,
- * passwords are plain text.
- *
- * @param password Sets the password associated with this authorization.
- */
- public void setPassword(String password) {
- this.password = password;
- }
-
- /**
- * Returns the encoding used to hash the password, if any.
- *
- * @return The encoding used to hash the password.
- */
- public Encoding getEncoding() {
- return encoding;
- }
-
- /**
- * Sets the encoding which will be used to hash the password or when
- * comparing a given password for validation.
- *
- * @param encoding The encoding to use for password hashing.
- */
- public void setEncoding(Encoding encoding) {
- this.encoding = encoding;
- }
-
- /**
- * Returns whether a given username/password pair is authorized based on
- * the stored username and password. The password given must be plain text.
- * It will be hashed as necessary to perform the validation.
- *
- * @param username The username to validate.
- * @param password The password to validate.
- * @return true if the username/password pair given is authorized, false
- * otherwise.
- */
- public boolean validate(String username, String password) {
-
- // If username matches
- if (username != null && password != null
- && username.equals(this.username)) {
-
- switch (encoding) {
-
- // If plain text, just compare
- case PLAIN_TEXT:
-
- // Compare plaintext
- return password.equals(this.password);
-
- // If hased with MD5, hash password and compare
- case MD5:
-
- // Compare hashed password
- try {
- MessageDigest digest = MessageDigest.getInstance("MD5");
- String hashedPassword = getHexString(digest.digest(password.getBytes("UTF-8")));
- return hashedPassword.equals(this.password.toUpperCase());
- }
- catch (UnsupportedEncodingException e) {
- throw new UnsupportedOperationException("Unexpected lack of UTF-8 support.", e);
- }
- catch (NoSuchAlgorithmException e) {
- throw new UnsupportedOperationException("Unexpected lack of MD5 support.", e);
- }
-
- }
-
- } // end validation check
-
- return false;
-
- }
-
- /**
- * Returns the GuacamoleConfiguration having the given name and associated
- * with the username/password pair stored within this authorization.
- *
- * @param name The name of the GuacamoleConfiguration to return.
- * @return The GuacamoleConfiguration having the given name, or null if no
- * such GuacamoleConfiguration exists.
- */
- public GuacamoleConfiguration getConfiguration(String name) {
- return configs.get(name);
- }
-
- /**
- * Adds the given GuacamoleConfiguration to the set of stored configurations
- * under the given name.
- *
- * @param name The name to associate this GuacamoleConfiguration with.
- * @param config The GuacamoleConfiguration to store.
- */
- public void addConfiguration(String name, GuacamoleConfiguration config) {
- configs.put(name, config);
- }
-
- /**
- * Returns a Map of all stored GuacamoleConfigurations associated with the
- * username/password pair stored within this authorization, indexed by
- * configuration name.
- *
- * @return A Map of all stored GuacamoleConfigurations.
- */
- public Map<String, GuacamoleConfiguration> getConfigurations() {
- return configs;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/auth/UserMapping.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/auth/UserMapping.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/auth/UserMapping.java
deleted file mode 100644
index 3853abc..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/auth/UserMapping.java
+++ /dev/null
@@ -1,62 +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.
- */
-
-package org.apache.guacamole.net.basic.auth;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Mapping of all usernames to corresponding authorizations.
- *
- * @author Mike Jumper
- */
-public class UserMapping {
-
- /**
- * All authorizations, indexed by username.
- */
- private Map<String, Authorization> authorizations =
- new HashMap<String, Authorization>();
-
- /**
- * Adds the given authorization to the user mapping.
- *
- * @param authorization The authorization to add to the user mapping.
- */
- public void addAuthorization(Authorization authorization) {
- authorizations.put(authorization.getUsername(), authorization);
- }
-
- /**
- * Returns the authorization corresponding to the user having the given
- * username, if any.
- *
- * @param username The username to find the authorization for.
- * @return The authorization corresponding to the user having the given
- * username, or null if no such authorization exists.
- */
- public Authorization getAuthorization(String username) {
- return authorizations.get(username);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/auth/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/auth/package-info.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/auth/package-info.java
deleted file mode 100644
index 5831377..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/auth/package-info.java
+++ /dev/null
@@ -1,28 +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.
- */
-
-/**
- * Classes which drive the default, basic authentication of the Guacamole
- * web application.
- */
-package org.apache.guacamole.net.basic.auth;
-
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/extension/AuthenticationProviderFacade.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/extension/AuthenticationProviderFacade.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/extension/AuthenticationProviderFacade.java
deleted file mode 100644
index b63c846..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/extension/AuthenticationProviderFacade.java
+++ /dev/null
@@ -1,203 +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.
- */
-
-package org.apache.guacamole.net.basic.extension;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.UUID;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.net.auth.AuthenticatedUser;
-import org.apache.guacamole.net.auth.AuthenticationProvider;
-import org.apache.guacamole.net.auth.Credentials;
-import org.apache.guacamole.net.auth.UserContext;
-import org.apache.guacamole.net.auth.credentials.CredentialsInfo;
-import org.apache.guacamole.net.auth.credentials.GuacamoleInvalidCredentialsException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Provides a safe wrapper around an AuthenticationProvider subclass, such that
- * authentication attempts can cleanly fail, and errors can be properly logged,
- * even if the AuthenticationProvider cannot be instantiated.
- *
- * @author Michael Jumper
- */
-public class AuthenticationProviderFacade implements AuthenticationProvider {
-
- /**
- * Logger for this class.
- */
- private Logger logger = LoggerFactory.getLogger(AuthenticationProviderFacade.class);
-
- /**
- * The underlying authentication provider, or null if the authentication
- * provider could not be instantiated.
- */
- private final AuthenticationProvider authProvider;
-
- /**
- * The identifier to provide for the underlying authentication provider if
- * the authentication provider could not be loaded.
- */
- private final String facadeIdentifier = UUID.randomUUID().toString();
-
- /**
- * Creates a new AuthenticationProviderFacade which delegates all function
- * calls to an instance of the given AuthenticationProvider subclass. If
- * an instance of the given class cannot be created, creation of this
- * facade will still succeed, but its use will result in errors being
- * logged, and all authentication attempts will fail.
- *
- * @param authProviderClass
- * The AuthenticationProvider subclass to instantiate.
- */
- public AuthenticationProviderFacade(Class<? extends AuthenticationProvider> authProviderClass) {
-
- AuthenticationProvider instance = null;
-
- try {
- // Attempt to instantiate the authentication provider
- instance = authProviderClass.getConstructor().newInstance();
- }
- catch (NoSuchMethodException e) {
- logger.error("The authentication extension in use is not properly defined. "
- + "Please contact the developers of the extension or, if you "
- + "are the developer, turn on debug-level logging.");
- logger.debug("AuthenticationProvider is missing a default constructor.", e);
- }
- catch (SecurityException e) {
- logger.error("The Java security mananager is preventing authentication extensions "
- + "from being loaded. Please check the configuration of Java or your "
- + "servlet container.");
- logger.debug("Creation of AuthenticationProvider disallowed by security manager.", e);
- }
- catch (InstantiationException e) {
- logger.error("The authentication extension in use is not properly defined. "
- + "Please contact the developers of the extension or, if you "
- + "are the developer, turn on debug-level logging.");
- logger.debug("AuthenticationProvider cannot be instantiated.", e);
- }
- catch (IllegalAccessException e) {
- logger.error("The authentication extension in use is not properly defined. "
- + "Please contact the developers of the extension or, if you "
- + "are the developer, turn on debug-level logging.");
- logger.debug("Default constructor of AuthenticationProvider is not public.", e);
- }
- catch (IllegalArgumentException e) {
- logger.error("The authentication extension in use is not properly defined. "
- + "Please contact the developers of the extension or, if you "
- + "are the developer, turn on debug-level logging.");
- logger.debug("Default constructor of AuthenticationProvider cannot accept zero arguments.", e);
- }
- catch (InvocationTargetException e) {
-
- // Obtain causing error - create relatively-informative stub error if cause is unknown
- Throwable cause = e.getCause();
- if (cause == null)
- cause = new GuacamoleException("Error encountered during initialization.");
-
- logger.error("Authentication extension failed to start: {}", cause.getMessage());
- logger.debug("AuthenticationProvider instantiation failed.", e);
-
- }
-
- // Associate instance, if any
- authProvider = instance;
-
- }
-
- @Override
- public String getIdentifier() {
-
- // Ignore auth attempts if no auth provider could be loaded
- if (authProvider == null) {
- logger.warn("The authentication system could not be loaded. Please check for errors earlier in the logs.");
- return facadeIdentifier;
- }
-
- // Delegate to underlying auth provider
- return authProvider.getIdentifier();
-
- }
-
- @Override
- public AuthenticatedUser authenticateUser(Credentials credentials)
- throws GuacamoleException {
-
- // Ignore auth attempts if no auth provider could be loaded
- if (authProvider == null) {
- logger.warn("Authentication attempt denied because the authentication system could not be loaded. Please check for errors earlier in the logs.");
- throw new GuacamoleInvalidCredentialsException("Permission denied.", CredentialsInfo.USERNAME_PASSWORD);
- }
-
- // Delegate to underlying auth provider
- return authProvider.authenticateUser(credentials);
-
- }
-
- @Override
- public AuthenticatedUser updateAuthenticatedUser(AuthenticatedUser authenticatedUser,
- Credentials credentials) throws GuacamoleException {
-
- // Ignore auth attempts if no auth provider could be loaded
- if (authProvider == null) {
- logger.warn("Reauthentication attempt denied because the authentication system could not be loaded. Please check for errors earlier in the logs.");
- throw new GuacamoleInvalidCredentialsException("Permission denied.", CredentialsInfo.USERNAME_PASSWORD);
- }
-
- // Delegate to underlying auth provider
- return authProvider.updateAuthenticatedUser(authenticatedUser, credentials);
-
- }
-
- @Override
- public UserContext getUserContext(AuthenticatedUser authenticatedUser)
- throws GuacamoleException {
-
- // Ignore auth attempts if no auth provider could be loaded
- if (authProvider == null) {
- logger.warn("User data retrieval attempt denied because the authentication system could not be loaded. Please check for errors earlier in the logs.");
- return null;
- }
-
- // Delegate to underlying auth provider
- return authProvider.getUserContext(authenticatedUser);
-
- }
-
- @Override
- public UserContext updateUserContext(UserContext context,
- AuthenticatedUser authenticatedUser)
- throws GuacamoleException {
-
- // Ignore auth attempts if no auth provider could be loaded
- if (authProvider == null) {
- logger.warn("User data refresh attempt denied because the authentication system could not be loaded. Please check for errors earlier in the logs.");
- return null;
- }
-
- // Delegate to underlying auth provider
- return authProvider.updateUserContext(context, authenticatedUser);
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/extension/DirectoryClassLoader.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/extension/DirectoryClassLoader.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/extension/DirectoryClassLoader.java
deleted file mode 100644
index e69c230..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/extension/DirectoryClassLoader.java
+++ /dev/null
@@ -1,154 +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.
- */
-
-package org.apache.guacamole.net.basic.extension;
-
-import java.io.File;
-import java.io.FilenameFilter;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.security.AccessController;
-import java.security.PrivilegedActionException;
-import java.security.PrivilegedExceptionAction;
-import java.util.ArrayList;
-import java.util.Collection;
-import org.apache.guacamole.GuacamoleException;
-
-/**
- * A ClassLoader implementation which finds classes within .jar files within a
- * given directory.
- *
- * @author Michael Jumper
- */
-public class DirectoryClassLoader extends URLClassLoader {
-
- /**
- * Returns an instance of DirectoryClassLoader configured to load .jar
- * files from the given directory. Calling this function multiple times
- * will not affect previously-returned instances of DirectoryClassLoader.
- *
- * @param dir
- * The directory from which .jar files should be read.
- *
- * @return
- * A DirectoryClassLoader instance which loads classes from the .jar
- * files in the given directory.
- *
- * @throws GuacamoleException
- * If the given file is not a directory, or the contents of the given
- * directory cannot be read.
- */
- public static DirectoryClassLoader getInstance(final File dir)
- throws GuacamoleException {
-
- try {
- // Attempt to create singleton classloader which loads classes from
- // all .jar's in the lib directory defined in guacamole.properties
- return AccessController.doPrivileged(new PrivilegedExceptionAction<DirectoryClassLoader>() {
-
- @Override
- public DirectoryClassLoader run() throws GuacamoleException {
- return new DirectoryClassLoader(dir);
- }
-
- });
- }
-
- catch (PrivilegedActionException e) {
- throw (GuacamoleException) e.getException();
- }
-
- }
-
- /**
- * Returns all .jar files within the given directory as an array of URLs.
- *
- * @param dir
- * The directory to retrieve all .jar files from.
- *
- * @return
- * An array of the URLs of all .jar files within the given directory.
- *
- * @throws GuacamoleException
- * If the given file is not a directory, or the contents of the given
- * directory cannot be read.
- */
- private static URL[] getJarURLs(File dir) throws GuacamoleException {
-
- // Validate directory is indeed a directory
- if (!dir.isDirectory())
- throw new GuacamoleException(dir + " is not a directory.");
-
- // Get list of URLs for all .jar's in the lib directory
- Collection<URL> jarURLs = new ArrayList<URL>();
- File[] files = dir.listFiles(new FilenameFilter() {
-
- @Override
- public boolean accept(File dir, String name) {
-
- // If it ends with .jar, accept the file
- return name.endsWith(".jar");
-
- }
-
- });
-
- // Verify directory was successfully read
- if (files == null)
- throw new GuacamoleException("Unable to read contents of directory " + dir);
-
- // Add the URL for each .jar to the jar URL list
- for (File file : files) {
-
- try {
- jarURLs.add(file.toURI().toURL());
- }
- catch (MalformedURLException e) {
- throw new GuacamoleException(e);
- }
-
- }
-
- // Set delegate classloader to new URLClassLoader which loads from the .jars found above.
- URL[] urls = new URL[jarURLs.size()];
- return jarURLs.toArray(urls);
-
- }
-
- /**
- * Creates a new DirectoryClassLoader configured to load .jar files from
- * the given directory.
- *
- * @param dir
- * The directory from which .jar files should be read.
- *
- * @throws GuacamoleException
- * If the given file is not a directory, or the contents of the given
- * directory cannot be read.
- */
-
- private DirectoryClassLoader(File dir) throws GuacamoleException {
- super(getJarURLs(dir), DirectoryClassLoader.class.getClassLoader());
- }
-
-}
[08/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Remove useless .net.basic subpackage, now that everything is being renamed.
Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/connection/ConnectionRESTService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/connection/ConnectionRESTService.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/connection/ConnectionRESTService.java
deleted file mode 100644
index 616d213..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/connection/ConnectionRESTService.java
+++ /dev/null
@@ -1,349 +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.
- */
-
-package org.apache.guacamole.net.basic.rest.connection;
-
-import com.google.inject.Inject;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.MediaType;
-import org.apache.guacamole.GuacamoleClientException;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.GuacamoleSecurityException;
-import org.apache.guacamole.net.auth.Connection;
-import org.apache.guacamole.net.auth.ConnectionRecord;
-import org.apache.guacamole.net.auth.Directory;
-import org.apache.guacamole.net.auth.User;
-import org.apache.guacamole.net.auth.UserContext;
-import org.apache.guacamole.net.auth.permission.ObjectPermission;
-import org.apache.guacamole.net.auth.permission.ObjectPermissionSet;
-import org.apache.guacamole.net.auth.permission.SystemPermission;
-import org.apache.guacamole.net.auth.permission.SystemPermissionSet;
-import org.apache.guacamole.net.basic.GuacamoleSession;
-import org.apache.guacamole.net.basic.rest.ObjectRetrievalService;
-import org.apache.guacamole.net.basic.rest.auth.AuthenticationService;
-import org.apache.guacamole.net.basic.rest.history.APIConnectionRecord;
-import org.apache.guacamole.protocol.GuacamoleConfiguration;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A REST Service for handling connection CRUD operations.
- *
- * @author James Muehlner
- */
-@Path("/data/{dataSource}/connections")
-@Produces(MediaType.APPLICATION_JSON)
-@Consumes(MediaType.APPLICATION_JSON)
-public class ConnectionRESTService {
-
- /**
- * Logger for this class.
- */
- private static final Logger logger = LoggerFactory.getLogger(ConnectionRESTService.class);
-
- /**
- * A service for authenticating users from auth tokens.
- */
- @Inject
- private AuthenticationService authenticationService;
-
- /**
- * Service for convenient retrieval of objects.
- */
- @Inject
- private ObjectRetrievalService retrievalService;
-
- /**
- * Retrieves an individual connection.
- *
- * @param authToken
- * The authentication token that is used to authenticate the user
- * performing the operation.
- *
- * @param authProviderIdentifier
- * The unique identifier of the AuthenticationProvider associated with
- * the UserContext containing the connection to be retrieved.
- *
- * @param connectionID
- * The identifier of the connection to retrieve.
- *
- * @return
- * The connection having the given identifier.
- *
- * @throws GuacamoleException
- * If an error occurs while retrieving the connection.
- */
- @GET
- @Path("/{connectionID}")
- public APIConnection getConnection(@QueryParam("token") String authToken,
- @PathParam("dataSource") String authProviderIdentifier,
- @PathParam("connectionID") String connectionID)
- throws GuacamoleException {
-
- GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
-
- // Retrieve the requested connection
- return new APIConnection(retrievalService.retrieveConnection(session, authProviderIdentifier, connectionID));
-
- }
-
- /**
- * Retrieves the parameters associated with a single connection.
- *
- * @param authToken
- * The authentication token that is used to authenticate the user
- * performing the operation.
- *
- * @param authProviderIdentifier
- * The unique identifier of the AuthenticationProvider associated with
- * the UserContext containing the connection whose parameters are to be
- * retrieved.
- *
- * @param connectionID
- * The identifier of the connection.
- *
- * @return
- * A map of parameter name/value pairs.
- *
- * @throws GuacamoleException
- * If an error occurs while retrieving the connection parameters.
- */
- @GET
- @Path("/{connectionID}/parameters")
- public Map<String, String> getConnectionParameters(@QueryParam("token") String authToken,
- @PathParam("dataSource") String authProviderIdentifier,
- @PathParam("connectionID") String connectionID)
- throws GuacamoleException {
-
- GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
- UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
- User self = userContext.self();
-
- // Retrieve permission sets
- SystemPermissionSet systemPermissions = self.getSystemPermissions();
- ObjectPermissionSet connectionPermissions = self.getConnectionPermissions();
-
- // Deny access if adminstrative or update permission is missing
- if (!systemPermissions.hasPermission(SystemPermission.Type.ADMINISTER)
- && !connectionPermissions.hasPermission(ObjectPermission.Type.UPDATE, connectionID))
- throw new GuacamoleSecurityException("Permission to read connection parameters denied.");
-
- // Retrieve the requested connection
- Connection connection = retrievalService.retrieveConnection(userContext, connectionID);
-
- // Retrieve connection configuration
- GuacamoleConfiguration config = connection.getConfiguration();
-
- // Return parameter map
- return config.getParameters();
-
- }
-
- /**
- * Retrieves the usage history of a single connection.
- *
- * @param authToken
- * The authentication token that is used to authenticate the user
- * performing the operation.
- *
- * @param authProviderIdentifier
- * The unique identifier of the AuthenticationProvider associated with
- * the UserContext containing the connection whose history is to be
- * retrieved.
- *
- * @param connectionID
- * The identifier of the connection.
- *
- * @return
- * A list of connection records, describing the start and end times of
- * various usages of this connection.
- *
- * @throws GuacamoleException
- * If an error occurs while retrieving the connection history.
- */
- @GET
- @Path("/{connectionID}/history")
- public List<APIConnectionRecord> getConnectionHistory(@QueryParam("token") String authToken,
- @PathParam("dataSource") String authProviderIdentifier,
- @PathParam("connectionID") String connectionID)
- throws GuacamoleException {
-
- GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
-
- // Retrieve the requested connection
- Connection connection = retrievalService.retrieveConnection(session, authProviderIdentifier, connectionID);
-
- // Retrieve the requested connection's history
- List<APIConnectionRecord> apiRecords = new ArrayList<APIConnectionRecord>();
- for (ConnectionRecord record : connection.getHistory())
- apiRecords.add(new APIConnectionRecord(record));
-
- // Return the converted history
- return apiRecords;
-
- }
-
- /**
- * Deletes an individual connection.
- *
- * @param authToken
- * The authentication token that is used to authenticate the user
- * performing the operation.
- *
- * @param authProviderIdentifier
- * The unique identifier of the AuthenticationProvider associated with
- * the UserContext containing the connection to be deleted.
- *
- * @param connectionID
- * The identifier of the connection to delete.
- *
- * @throws GuacamoleException
- * If an error occurs while deleting the connection.
- */
- @DELETE
- @Path("/{connectionID}")
- public void deleteConnection(@QueryParam("token") String authToken,
- @PathParam("dataSource") String authProviderIdentifier,
- @PathParam("connectionID") String connectionID)
- throws GuacamoleException {
-
- GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
- UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
-
- // Get the connection directory
- Directory<Connection> connectionDirectory = userContext.getConnectionDirectory();
-
- // Delete the specified connection
- connectionDirectory.remove(connectionID);
-
- }
-
- /**
- * Creates a new connection and returns the new connection, with identifier
- * field populated.
- *
- * @param authToken
- * The authentication token that is used to authenticate the user
- * performing the operation.
- *
- * @param authProviderIdentifier
- * The unique identifier of the AuthenticationProvider associated with
- * the UserContext in which the connection is to be created.
- *
- * @param connection
- * The connection to create.
- *
- * @return
- * The new connection.
- *
- * @throws GuacamoleException
- * If an error occurs while creating the connection.
- */
- @POST
- public APIConnection createConnection(@QueryParam("token") String authToken,
- @PathParam("dataSource") String authProviderIdentifier,
- APIConnection connection) throws GuacamoleException {
-
- GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
- UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
-
- // Validate that connection data was provided
- if (connection == null)
- throw new GuacamoleClientException("Connection JSON must be submitted when creating connections.");
-
- // Add the new connection
- Directory<Connection> connectionDirectory = userContext.getConnectionDirectory();
- connectionDirectory.add(new APIConnectionWrapper(connection));
-
- // Return the new connection
- return connection;
-
- }
-
- /**
- * Updates an existing connection. If the parent identifier of the
- * connection is changed, the connection will also be moved to the new
- * parent group.
- *
- * @param authToken
- * The authentication token that is used to authenticate the user
- * performing the operation.
- *
- * @param authProviderIdentifier
- * The unique identifier of the AuthenticationProvider associated with
- * the UserContext containing the connection to be updated.
- *
- * @param connectionID
- * The identifier of the connection to update.
- *
- * @param connection
- * The connection data to update the specified connection with.
- *
- * @throws GuacamoleException
- * If an error occurs while updating the connection.
- */
- @PUT
- @Path("/{connectionID}")
- public void updateConnection(@QueryParam("token") String authToken,
- @PathParam("dataSource") String authProviderIdentifier,
- @PathParam("connectionID") String connectionID,
- APIConnection connection) throws GuacamoleException {
-
- GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
- UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
-
- // Validate that connection data was provided
- if (connection == null)
- throw new GuacamoleClientException("Connection JSON must be submitted when updating connections.");
-
- // Get the connection directory
- Directory<Connection> connectionDirectory = userContext.getConnectionDirectory();
-
- // Retrieve connection to update
- Connection existingConnection = retrievalService.retrieveConnection(userContext, connectionID);
-
- // Build updated configuration
- GuacamoleConfiguration config = new GuacamoleConfiguration();
- config.setProtocol(connection.getProtocol());
- config.setParameters(connection.getParameters());
-
- // Update the connection
- existingConnection.setConfiguration(config);
- existingConnection.setParentIdentifier(connection.getParentIdentifier());
- existingConnection.setName(connection.getName());
- existingConnection.setAttributes(connection.getAttributes());
- connectionDirectory.update(existingConnection);
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/connection/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/connection/package-info.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/connection/package-info.java
deleted file mode 100644
index ba92eaa..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/connection/package-info.java
+++ /dev/null
@@ -1,27 +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.
- */
-
-/**
- * Classes related to the connection manipulation aspect of the Guacamole REST API.
- */
-package org.apache.guacamole.net.basic.rest.connection;
-
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/connectiongroup/APIConnectionGroup.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/connectiongroup/APIConnectionGroup.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/connectiongroup/APIConnectionGroup.java
deleted file mode 100644
index bf98a08..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/connectiongroup/APIConnectionGroup.java
+++ /dev/null
@@ -1,272 +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.
- */
-
-package org.apache.guacamole.net.basic.rest.connectiongroup;
-
-import java.util.Collection;
-import java.util.Map;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
-import org.apache.guacamole.net.auth.ConnectionGroup;
-import org.apache.guacamole.net.auth.ConnectionGroup.Type;
-import org.apache.guacamole.net.basic.rest.connection.APIConnection;
-
-/**
- * A simple connection group to expose through the REST endpoints.
- *
- * @author James Muehlner
- */
-@JsonIgnoreProperties(ignoreUnknown = true)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
-public class APIConnectionGroup {
-
- /**
- * The identifier of the root connection group.
- */
- public static final String ROOT_IDENTIFIER = "ROOT";
-
- /**
- * The name of this connection group.
- */
- private String name;
-
- /**
- * The identifier of this connection group.
- */
- private String identifier;
-
- /**
- * The identifier of the parent connection group for this connection group.
- */
- private String parentIdentifier;
-
- /**
- * The type of this connection group.
- */
- private Type type;
-
- /**
- * The count of currently active connections using this connection group.
- */
- private int activeConnections;
-
- /**
- * All child connection groups. If children are not being queried, this may
- * be omitted.
- */
- private Collection<APIConnectionGroup> childConnectionGroups;
-
- /**
- * All child connections. If children are not being queried, this may be
- * omitted.
- */
- private Collection<APIConnection> childConnections;
-
- /**
- * Map of all associated attributes by attribute identifier.
- */
- private Map<String, String> attributes;
-
- /**
- * Create an empty APIConnectionGroup.
- */
- public APIConnectionGroup() {}
-
- /**
- * Create a new APIConnectionGroup from the given ConnectionGroup record.
- *
- * @param connectionGroup The ConnectionGroup record to initialize this
- * APIConnectionGroup from.
- */
- public APIConnectionGroup(ConnectionGroup connectionGroup) {
-
- // Set connection group information
- this.identifier = connectionGroup.getIdentifier();
- this.parentIdentifier = connectionGroup.getParentIdentifier();
- this.name = connectionGroup.getName();
- this.type = connectionGroup.getType();
- this.activeConnections = connectionGroup.getActiveConnections();
-
- // Associate any attributes
- this.attributes = connectionGroup.getAttributes();
-
- }
-
- /**
- * Returns the name of this connection group.
- * @return The name of this connection group.
- */
- public String getName() {
- return name;
- }
-
- /**
- * Set the name of this connection group.
- * @param name The name of this connection group.
- */
- public void setName(String name) {
- this.name = name;
- }
-
- /**
- * Returns the identifier of this connection group.
- * @return The identifier of this connection group.
- */
- public String getIdentifier() {
- return identifier;
- }
-
- /**
- * Set the identifier of this connection group.
- * @param identifier The identifier of this connection group.
- */
- public void setIdentifier(String identifier) {
- this.identifier = identifier;
- }
-
- /**
- * Returns the unique identifier for this connection group.
- * @return The unique identifier for this connection group.
- */
- public String getParentIdentifier() {
- return parentIdentifier;
- }
- /**
- * Sets the parent connection group identifier for this connection group.
- * @param parentIdentifier The parent connection group identifier
- * for this connection group.
- */
- public void setParentIdentifier(String parentIdentifier) {
- this.parentIdentifier = parentIdentifier;
- }
-
- /**
- * Returns the type of this connection group.
- * @return The type of this connection group.
- */
- public Type getType() {
- return type;
- }
-
- /**
- * Set the type of this connection group.
- * @param type The Type of this connection group.
- */
- public void setType(Type type) {
- this.type = type;
- }
-
- /**
- * Returns a collection of all child connection groups, or null if children
- * have not been queried.
- *
- * @return
- * A collection of all child connection groups, or null if children
- * have not been queried.
- */
- public Collection<APIConnectionGroup> getChildConnectionGroups() {
- return childConnectionGroups;
- }
-
- /**
- * Sets the collection of all child connection groups to the given
- * collection, which may be null if children have not been queried.
- *
- * @param childConnectionGroups
- * The collection containing all child connection groups of this
- * connection group, or null if children have not been queried.
- */
- public void setChildConnectionGroups(Collection<APIConnectionGroup> childConnectionGroups) {
- this.childConnectionGroups = childConnectionGroups;
- }
-
- /**
- * Returns a collection of all child connections, or null if children have
- * not been queried.
- *
- * @return
- * A collection of all child connections, or null if children have not
- * been queried.
- */
- public Collection<APIConnection> getChildConnections() {
- return childConnections;
- }
-
- /**
- * Sets the collection of all child connections to the given collection,
- * which may be null if children have not been queried.
- *
- * @param childConnections
- * The collection containing all child connections of this connection
- * group, or null if children have not been queried.
- */
- public void setChildConnections(Collection<APIConnection> childConnections) {
- this.childConnections = childConnections;
- }
-
- /**
- * Returns the number of currently active connections using this
- * connection group.
- *
- * @return
- * The number of currently active usages of this connection group.
- */
- public int getActiveConnections() {
- return activeConnections;
- }
-
- /**
- * Set the number of currently active connections using this connection
- * group.
- *
- * @param activeConnections
- * The number of currently active usages of this connection group.
- */
- public void setActiveUsers(int activeConnections) {
- this.activeConnections = activeConnections;
- }
-
- /**
- * Returns a map of all attributes associated with this connection group.
- * Each entry key is the attribute identifier, while each value is the
- * attribute value itself.
- *
- * @return
- * The attribute map for this connection group.
- */
- public Map<String, String> getAttributes() {
- return attributes;
- }
-
- /**
- * Sets the map of all attributes associated with this connection group.
- * Each entry key is the attribute identifier, while each value is the
- * attribute value itself.
- *
- * @param attributes
- * The attribute map for this connection group.
- */
- public void setAttributes(Map<String, String> attributes) {
- this.attributes = attributes;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/connectiongroup/APIConnectionGroupWrapper.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/connectiongroup/APIConnectionGroupWrapper.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/connectiongroup/APIConnectionGroupWrapper.java
deleted file mode 100644
index ff37746..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/connectiongroup/APIConnectionGroupWrapper.java
+++ /dev/null
@@ -1,124 +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.
- */
-
-package org.apache.guacamole.net.basic.rest.connectiongroup;
-
-import java.util.Map;
-import java.util.Set;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.net.GuacamoleTunnel;
-import org.apache.guacamole.net.auth.ConnectionGroup;
-import org.apache.guacamole.protocol.GuacamoleClientInformation;
-
-/**
- * A wrapper to make an APIConnection look like a ConnectionGroup.
- * Useful where a org.apache.guacamole.net.auth.ConnectionGroup is required.
- *
- * @author James Muehlner
- */
-public class APIConnectionGroupWrapper implements ConnectionGroup {
-
- /**
- * The wrapped APIConnectionGroup.
- */
- private final APIConnectionGroup apiConnectionGroup;
-
- /**
- * Create a new APIConnectionGroupWrapper to wrap the given
- * APIConnectionGroup as a ConnectionGroup.
- * @param apiConnectionGroup the APIConnectionGroup to wrap.
- */
- public APIConnectionGroupWrapper(APIConnectionGroup apiConnectionGroup) {
- this.apiConnectionGroup = apiConnectionGroup;
- }
-
- @Override
- public String getName() {
- return apiConnectionGroup.getName();
- }
-
- @Override
- public void setName(String name) {
- apiConnectionGroup.setName(name);
- }
-
- @Override
- public String getIdentifier() {
- return apiConnectionGroup.getIdentifier();
- }
-
- @Override
- public void setIdentifier(String identifier) {
- apiConnectionGroup.setIdentifier(identifier);
- }
-
- @Override
- public String getParentIdentifier() {
- return apiConnectionGroup.getParentIdentifier();
- }
-
- @Override
- public void setParentIdentifier(String parentIdentifier) {
- apiConnectionGroup.setParentIdentifier(parentIdentifier);
- }
-
- @Override
- public void setType(Type type) {
- apiConnectionGroup.setType(type);
- }
-
- @Override
- public Type getType() {
- return apiConnectionGroup.getType();
- }
-
- @Override
- public int getActiveConnections() {
- return apiConnectionGroup.getActiveConnections();
- }
-
- @Override
- public Set<String> getConnectionIdentifiers() {
- throw new UnsupportedOperationException("Operation not supported.");
- }
-
- @Override
- public Set<String> getConnectionGroupIdentifiers() {
- throw new UnsupportedOperationException("Operation not supported.");
- }
-
- @Override
- public Map<String, String> getAttributes() {
- return apiConnectionGroup.getAttributes();
- }
-
- @Override
- public void setAttributes(Map<String, String> attributes) {
- apiConnectionGroup.setAttributes(attributes);
- }
-
- @Override
- public GuacamoleTunnel connect(GuacamoleClientInformation info) throws GuacamoleException {
- throw new UnsupportedOperationException("Operation not supported.");
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/connectiongroup/ConnectionGroupRESTService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/connectiongroup/ConnectionGroupRESTService.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/connectiongroup/ConnectionGroupRESTService.java
deleted file mode 100644
index 2f113de..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/connectiongroup/ConnectionGroupRESTService.java
+++ /dev/null
@@ -1,287 +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.
- */
-
-package org.apache.guacamole.net.basic.rest.connectiongroup;
-
-import com.google.inject.Inject;
-import java.util.List;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.MediaType;
-import org.apache.guacamole.GuacamoleClientException;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.net.auth.ConnectionGroup;
-import org.apache.guacamole.net.auth.Directory;
-import org.apache.guacamole.net.auth.UserContext;
-import org.apache.guacamole.net.auth.permission.ObjectPermission;
-import org.apache.guacamole.net.basic.GuacamoleSession;
-import org.apache.guacamole.net.basic.rest.ObjectRetrievalService;
-import org.apache.guacamole.net.basic.rest.auth.AuthenticationService;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A REST Service for handling connection group CRUD operations.
- *
- * @author James Muehlner
- */
-@Path("/data/{dataSource}/connectionGroups")
-@Produces(MediaType.APPLICATION_JSON)
-@Consumes(MediaType.APPLICATION_JSON)
-public class ConnectionGroupRESTService {
-
- /**
- * Logger for this class.
- */
- private static final Logger logger = LoggerFactory.getLogger(ConnectionGroupRESTService.class);
-
- /**
- * A service for authenticating users from auth tokens.
- */
- @Inject
- private AuthenticationService authenticationService;
-
- /**
- * Service for convenient retrieval of objects.
- */
- @Inject
- private ObjectRetrievalService retrievalService;
-
- /**
- * Gets an individual connection group.
- *
- * @param authToken
- * The authentication token that is used to authenticate the user
- * performing the operation.
- *
- * @param authProviderIdentifier
- * The unique identifier of the AuthenticationProvider associated with
- * the UserContext containing the connection group to be retrieved.
- *
- * @param connectionGroupID
- * The ID of the connection group to retrieve.
- *
- * @return
- * The connection group, without any descendants.
- *
- * @throws GuacamoleException
- * If a problem is encountered while retrieving the connection group.
- */
- @GET
- @Path("/{connectionGroupID}")
- public APIConnectionGroup getConnectionGroup(@QueryParam("token") String authToken,
- @PathParam("dataSource") String authProviderIdentifier,
- @PathParam("connectionGroupID") String connectionGroupID)
- throws GuacamoleException {
-
- GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
-
- // Retrieve the requested connection group
- return new APIConnectionGroup(retrievalService.retrieveConnectionGroup(session, authProviderIdentifier, connectionGroupID));
-
- }
-
- /**
- * Gets an individual connection group and all children.
- *
- * @param authToken
- * The authentication token that is used to authenticate the user
- * performing the operation.
- *
- * @param authProviderIdentifier
- * The unique identifier of the AuthenticationProvider associated with
- * the UserContext containing the connection group to be retrieved.
- *
- * @param connectionGroupID
- * The ID of the connection group to retrieve.
- *
- * @param permissions
- * If specified and non-empty, limit the returned list to only those
- * connections for which the current user has any of the given
- * permissions. Otherwise, all visible connections are returned.
- * Connection groups are unaffected by this parameter.
- *
- * @return
- * The requested connection group, including all descendants.
- *
- * @throws GuacamoleException
- * If a problem is encountered while retrieving the connection group or
- * its descendants.
- */
- @GET
- @Path("/{connectionGroupID}/tree")
- public APIConnectionGroup getConnectionGroupTree(@QueryParam("token") String authToken,
- @PathParam("dataSource") String authProviderIdentifier,
- @PathParam("connectionGroupID") String connectionGroupID,
- @QueryParam("permission") List<ObjectPermission.Type> permissions)
- throws GuacamoleException {
-
- GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
- UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
-
- // Retrieve the requested tree, filtering by the given permissions
- ConnectionGroup treeRoot = retrievalService.retrieveConnectionGroup(userContext, connectionGroupID);
- ConnectionGroupTree tree = new ConnectionGroupTree(userContext, treeRoot, permissions);
-
- // Return tree as a connection group
- return tree.getRootAPIConnectionGroup();
-
- }
-
- /**
- * Deletes an individual connection group.
- *
- * @param authToken
- * The authentication token that is used to authenticate the user
- * performing the operation.
- *
- * @param authProviderIdentifier
- * The unique identifier of the AuthenticationProvider associated with
- * the UserContext containing the connection group to be deleted.
- *
- * @param connectionGroupID
- * The identifier of the connection group to delete.
- *
- * @throws GuacamoleException
- * If an error occurs while deleting the connection group.
- */
- @DELETE
- @Path("/{connectionGroupID}")
- public void deleteConnectionGroup(@QueryParam("token") String authToken,
- @PathParam("dataSource") String authProviderIdentifier,
- @PathParam("connectionGroupID") String connectionGroupID)
- throws GuacamoleException {
-
- GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
- UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
-
- // Get the connection group directory
- Directory<ConnectionGroup> connectionGroupDirectory = userContext.getConnectionGroupDirectory();
-
- // Delete the connection group
- connectionGroupDirectory.remove(connectionGroupID);
-
- }
-
- /**
- * Creates a new connection group and returns the new connection group,
- * with identifier field populated.
- *
- * @param authToken
- * The authentication token that is used to authenticate the user
- * performing the operation.
- *
- * @param authProviderIdentifier
- * The unique identifier of the AuthenticationProvider associated with
- * the UserContext in which the connection group is to be created.
- *
- * @param connectionGroup
- * The connection group to create.
- *
- * @return
- * The new connection group.
- *
- * @throws GuacamoleException
- * If an error occurs while creating the connection group.
- */
- @POST
- public APIConnectionGroup createConnectionGroup(
- @QueryParam("token") String authToken,
- @PathParam("dataSource") String authProviderIdentifier,
- APIConnectionGroup connectionGroup) throws GuacamoleException {
-
- GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
- UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
-
- // Validate that connection group data was provided
- if (connectionGroup == null)
- throw new GuacamoleClientException("Connection group JSON must be submitted when creating connections groups.");
-
- // Add the new connection group
- Directory<ConnectionGroup> connectionGroupDirectory = userContext.getConnectionGroupDirectory();
- connectionGroupDirectory.add(new APIConnectionGroupWrapper(connectionGroup));
-
- // Return the new connection group
- return connectionGroup;
-
- }
-
- /**
- * Updates a connection group. If the parent identifier of the
- * connection group is changed, the connection group will also be moved to
- * the new parent group.
- *
- * @param authToken
- * The authentication token that is used to authenticate the user
- * performing the operation.
- *
- * @param authProviderIdentifier
- * The unique identifier of the AuthenticationProvider associated with
- * the UserContext containing the connection group to be updated.
- *
- * @param connectionGroupID
- * The identifier of the existing connection group to update.
- *
- * @param connectionGroup
- * The data to update the existing connection group with.
- *
- * @throws GuacamoleException
- * If an error occurs while updating the connection group.
- */
- @PUT
- @Path("/{connectionGroupID}")
- public void updateConnectionGroup(@QueryParam("token") String authToken,
- @PathParam("dataSource") String authProviderIdentifier,
- @PathParam("connectionGroupID") String connectionGroupID,
- APIConnectionGroup connectionGroup)
- throws GuacamoleException {
-
- GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
- UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
-
- // Validate that connection group data was provided
- if (connectionGroup == null)
- throw new GuacamoleClientException("Connection group JSON must be submitted when updating connection groups.");
-
- // Get the connection group directory
- Directory<ConnectionGroup> connectionGroupDirectory = userContext.getConnectionGroupDirectory();
-
- // Retrieve connection group to update
- ConnectionGroup existingConnectionGroup = retrievalService.retrieveConnectionGroup(userContext, connectionGroupID);
-
- // Update the connection group
- existingConnectionGroup.setName(connectionGroup.getName());
- existingConnectionGroup.setParentIdentifier(connectionGroup.getParentIdentifier());
- existingConnectionGroup.setType(connectionGroup.getType());
- existingConnectionGroup.setAttributes(connectionGroup.getAttributes());
- connectionGroupDirectory.update(existingConnectionGroup);
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/connectiongroup/ConnectionGroupTree.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/connectiongroup/ConnectionGroupTree.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/connectiongroup/ConnectionGroupTree.java
deleted file mode 100644
index 7b89466..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/connectiongroup/ConnectionGroupTree.java
+++ /dev/null
@@ -1,259 +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.
- */
-
-package org.apache.guacamole.net.basic.rest.connectiongroup;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.net.auth.Connection;
-import org.apache.guacamole.net.auth.ConnectionGroup;
-import org.apache.guacamole.net.auth.UserContext;
-import org.apache.guacamole.net.auth.permission.ObjectPermission;
-import org.apache.guacamole.net.auth.permission.ObjectPermissionSet;
-import org.apache.guacamole.net.basic.rest.connection.APIConnection;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Provides access to the entire tree of connection groups and their
- * connections.
- *
- * @author Michael Jumper
- */
-public class ConnectionGroupTree {
-
- /**
- * Logger for this class.
- */
- private static final Logger logger = LoggerFactory.getLogger(ConnectionGroupTree.class);
-
- /**
- * The context of the user obtaining this tree.
- */
- private final UserContext userContext;
-
- /**
- * The root connection group as an APIConnectionGroup.
- */
- private final APIConnectionGroup rootAPIGroup;
-
- /**
- * All connection groups that have been retrieved, stored by their
- * identifiers.
- */
- private final Map<String, APIConnectionGroup> retrievedGroups =
- new HashMap<String, APIConnectionGroup>();
-
- /**
- * Adds each of the provided connections to the current tree as children
- * of their respective parents. The parent connection groups must already
- * be added.
- *
- * @param connections
- * The connections to add to the tree.
- *
- * @throws GuacamoleException
- * If an error occurs while adding the connection to the tree.
- */
- private void addConnections(Collection<Connection> connections)
- throws GuacamoleException {
-
- // Add each connection to the tree
- for (Connection connection : connections) {
-
- // Retrieve the connection's parent group
- APIConnectionGroup parent = retrievedGroups.get(connection.getParentIdentifier());
- if (parent != null) {
-
- Collection<APIConnection> children = parent.getChildConnections();
-
- // Create child collection if it does not yet exist
- if (children == null) {
- children = new ArrayList<APIConnection>();
- parent.setChildConnections(children);
- }
-
- // Add child
- children.add(new APIConnection(connection));
-
- }
-
- // Warn of internal consistency issues
- else
- logger.debug("Connection \"{}\" cannot be added to the tree: parent \"{}\" does not actually exist.",
- connection.getIdentifier(),
- connection.getParentIdentifier());
-
- } // end for each connection
-
- }
-
- /**
- * Adds each of the provided connection groups to the current tree as
- * children of their respective parents. The parent connection groups must
- * already be added.
- *
- * @param connectionGroups
- * The connection groups to add to the tree.
- */
- private void addConnectionGroups(Collection<ConnectionGroup> connectionGroups) {
-
- // Add each connection group to the tree
- for (ConnectionGroup connectionGroup : connectionGroups) {
-
- // Retrieve the connection group's parent group
- APIConnectionGroup parent = retrievedGroups.get(connectionGroup.getParentIdentifier());
- if (parent != null) {
-
- Collection<APIConnectionGroup> children = parent.getChildConnectionGroups();
-
- // Create child collection if it does not yet exist
- if (children == null) {
- children = new ArrayList<APIConnectionGroup>();
- parent.setChildConnectionGroups(children);
- }
-
- // Add child
- APIConnectionGroup apiConnectionGroup = new APIConnectionGroup(connectionGroup);
- retrievedGroups.put(connectionGroup.getIdentifier(), apiConnectionGroup);
- children.add(apiConnectionGroup);
-
- }
-
- // Warn of internal consistency issues
- else
- logger.debug("Connection group \"{}\" cannot be added to the tree: parent \"{}\" does not actually exist.",
- connectionGroup.getIdentifier(),
- connectionGroup.getParentIdentifier());
-
- } // end for each connection group
-
- }
-
- /**
- * Adds all descendants of the given parent groups to their corresponding
- * parents already stored under root.
- *
- * @param parents
- * The parents whose descendants should be added to the tree.
- *
- * @param permissions
- * If specified and non-empty, limit added connections to only
- * connections for which the current user has any of the given
- * permissions. Otherwise, all visible connections are added.
- * Connection groups are unaffected by this parameter.
- *
- * @throws GuacamoleException
- * If an error occurs while retrieving the descendants.
- */
- private void addDescendants(Collection<ConnectionGroup> parents,
- List<ObjectPermission.Type> permissions)
- throws GuacamoleException {
-
- // If no parents, nothing to do
- if (parents.isEmpty())
- return;
-
- Collection<String> childConnectionIdentifiers = new ArrayList<String>();
- Collection<String> childConnectionGroupIdentifiers = new ArrayList<String>();
-
- // Build lists of identifiers for retrieval
- for (ConnectionGroup parent : parents) {
- childConnectionIdentifiers.addAll(parent.getConnectionIdentifiers());
- childConnectionGroupIdentifiers.addAll(parent.getConnectionGroupIdentifiers());
- }
-
- // Filter identifiers based on permissions, if requested
- if (permissions != null && !permissions.isEmpty()) {
- ObjectPermissionSet permissionSet = userContext.self().getConnectionPermissions();
- childConnectionIdentifiers = permissionSet.getAccessibleObjects(permissions, childConnectionIdentifiers);
- }
-
- // Retrieve child connections
- if (!childConnectionIdentifiers.isEmpty()) {
- Collection<Connection> childConnections = userContext.getConnectionDirectory().getAll(childConnectionIdentifiers);
- addConnections(childConnections);
- }
-
- // Retrieve child connection groups
- if (!childConnectionGroupIdentifiers.isEmpty()) {
- Collection<ConnectionGroup> childConnectionGroups = userContext.getConnectionGroupDirectory().getAll(childConnectionGroupIdentifiers);
- addConnectionGroups(childConnectionGroups);
- addDescendants(childConnectionGroups, permissions);
- }
-
- }
-
- /**
- * Creates a new connection group tree using the given connection group as
- * the tree root.
- *
- * @param userContext
- * The context of the user obtaining the connection group tree.
- *
- * @param root
- * The connection group to use as the root of this connection group
- * tree.
- *
- * @param permissions
- * If specified and non-empty, limit the contents of the tree to only
- * those connections for which the current user has any of the given
- * permissions. Otherwise, all visible connections are returned.
- * Connection groups are unaffected by this parameter.
- *
- * @throws GuacamoleException
- * If an error occurs while retrieving the tree of connection groups
- * and their descendants.
- */
- public ConnectionGroupTree(UserContext userContext, ConnectionGroup root,
- List<ObjectPermission.Type> permissions) throws GuacamoleException {
-
- this.userContext = userContext;
-
- // Store root of tree
- this.rootAPIGroup = new APIConnectionGroup(root);
- retrievedGroups.put(root.getIdentifier(), this.rootAPIGroup);
-
- // Add all descendants
- addDescendants(Collections.singleton(root), permissions);
-
- }
-
- /**
- * Returns the entire connection group tree as an APIConnectionGroup. The
- * returned APIConnectionGroup is the root group and will contain all
- * descendant connection groups and connections, arranged hierarchically.
- *
- * @return
- * The root connection group, containing the entire connection group
- * tree and all connections.
- */
- public APIConnectionGroup getRootAPIConnectionGroup() {
- return rootAPIGroup;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/connectiongroup/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/connectiongroup/package-info.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/connectiongroup/package-info.java
deleted file mode 100644
index 0b5d6da..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/connectiongroup/package-info.java
+++ /dev/null
@@ -1,28 +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.
- */
-
-/**
- * Classes related to the connection group manipulation aspect
- * of the Guacamole REST API.
- */
-package org.apache.guacamole.net.basic.rest.connectiongroup;
-
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/history/APIConnectionRecord.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/history/APIConnectionRecord.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/history/APIConnectionRecord.java
deleted file mode 100644
index d583c15..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/history/APIConnectionRecord.java
+++ /dev/null
@@ -1,163 +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.
- */
-
-package org.apache.guacamole.net.basic.rest.history;
-
-import java.util.Date;
-import org.apache.guacamole.net.auth.ConnectionRecord;
-
-/**
- * A connection record which may be exposed through the REST endpoints.
- *
- * @author Michael Jumper
- */
-public class APIConnectionRecord {
-
- /**
- * The identifier of the connection associated with this record.
- */
- private final String connectionIdentifier;
-
- /**
- * The identifier of the connection associated with this record.
- */
- private final String connectionName;
-
- /**
- * The date and time the connection began.
- */
- private final Date startDate;
-
- /**
- * The date and time the connection ended, or null if the connection is
- * still running or if the end time is unknown.
- */
- private final Date endDate;
-
- /**
- * The host from which the connection originated, if known.
- */
- private final String remoteHost;
-
- /**
- * The name of the user who used or is using the connection.
- */
- private final String username;
-
- /**
- * Whether the connection is currently active.
- */
- private final boolean active;
-
- /**
- * Creates a new APIConnectionRecord, copying the data from the given
- * record.
- *
- * @param record
- * The record to copy data from.
- */
- public APIConnectionRecord(ConnectionRecord record) {
- this.connectionIdentifier = record.getConnectionIdentifier();
- this.connectionName = record.getConnectionName();
- this.startDate = record.getStartDate();
- this.endDate = record.getEndDate();
- this.remoteHost = record.getRemoteHost();
- this.username = record.getUsername();
- this.active = record.isActive();
- }
-
- /**
- * Returns the identifier of the connection associated with this
- * record.
- *
- * @return
- * The identifier of the connection associated with this record.
- */
- public String getConnectionIdentifier() {
- return connectionIdentifier;
- }
-
- /**
- * Returns the name of the connection associated with this record.
- *
- * @return
- * The name of the connection associated with this record.
- */
- public String getConnectionName() {
- return connectionName;
- }
-
- /**
- * Returns the date and time the connection began.
- *
- * @return
- * The date and time the connection began.
- */
- public Date getStartDate() {
- return startDate;
- }
-
- /**
- * Returns the date and time the connection ended, if applicable.
- *
- * @return
- * The date and time the connection ended, or null if the connection is
- * still running or if the end time is unknown.
- */
- public Date getEndDate() {
- return endDate;
- }
-
- /**
- * Returns the remote host from which this connection originated.
- *
- * @return
- * The remote host from which this connection originated.
- */
- public String getRemoteHost() {
- return remoteHost;
- }
-
- /**
- * Returns the name of the user who used or is using the connection at the
- * times given by this connection record.
- *
- * @return
- * The name of the user who used or is using the associated connection.
- */
- public String getUsername() {
- return username;
- }
-
- /**
- * Returns whether the connection associated with this record is still
- * active.
- *
- * @return
- * true if the connection associated with this record is still active,
- * false otherwise.
- */
- public boolean isActive() {
- return active;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/history/APIConnectionRecordSortPredicate.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/history/APIConnectionRecordSortPredicate.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/history/APIConnectionRecordSortPredicate.java
deleted file mode 100644
index 29971e5..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/history/APIConnectionRecordSortPredicate.java
+++ /dev/null
@@ -1,148 +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.
- */
-
-package org.apache.guacamole.net.basic.rest.history;
-
-import org.apache.guacamole.net.auth.ConnectionRecordSet;
-import org.apache.guacamole.net.basic.rest.APIError;
-import org.apache.guacamole.net.basic.rest.APIException;
-
-/**
- * A sort predicate which species the property to use when sorting connection
- * records, along with the sort order.
- *
- * @author Michael Jumper
- */
-public class APIConnectionRecordSortPredicate {
-
- /**
- * The prefix which will be included before the name of a sortable property
- * to indicate that the sort order is descending, not ascending.
- */
- public static final String DESCENDING_PREFIX = "-";
-
- /**
- * All possible property name strings and their corresponding
- * ConnectionRecordSet.SortableProperty values.
- */
- public enum SortableProperty {
-
- /**
- * The date that the connection associated with the connection record
- * began (connected).
- */
- startDate(ConnectionRecordSet.SortableProperty.START_DATE);
-
- /**
- * The ConnectionRecordSet.SortableProperty that this property name
- * string represents.
- */
- public final ConnectionRecordSet.SortableProperty recordProperty;
-
- /**
- * Creates a new SortableProperty which associates the property name
- * string (identical to its own name) with the given
- * ConnectionRecordSet.SortableProperty value.
- *
- * @param recordProperty
- * The ConnectionRecordSet.SortableProperty value to associate with
- * the new SortableProperty.
- */
- SortableProperty(ConnectionRecordSet.SortableProperty recordProperty) {
- this.recordProperty = recordProperty;
- }
-
- }
-
- /**
- * The property to use when sorting ConnectionRecords.
- */
- private ConnectionRecordSet.SortableProperty property;
-
- /**
- * Whether the requested sort order is descending (true) or ascending
- * (false).
- */
- private boolean descending;
-
- /**
- * Parses the given string value, determining the requested sort property
- * and ordering. Possible values consist of any valid property name, and
- * may include an optional prefix to denote descending sort order. Each
- * possible property name is enumerated by the SortableValue enum.
- *
- * @param value
- * The sort predicate string to parse, which must consist ONLY of a
- * valid property name, possibly preceded by the DESCENDING_PREFIX.
- *
- * @throws APIException
- * If the provided sort predicate string is invalid.
- */
- public APIConnectionRecordSortPredicate(String value)
- throws APIException {
-
- // Parse whether sort order is descending
- if (value.startsWith(DESCENDING_PREFIX)) {
- descending = true;
- value = value.substring(DESCENDING_PREFIX.length());
- }
-
- // Parse sorting property into ConnectionRecordSet.SortableProperty
- try {
- this.property = SortableProperty.valueOf(value).recordProperty;
- }
-
- // Bail out if sort property is not valid
- catch (IllegalArgumentException e) {
- throw new APIException(
- APIError.Type.BAD_REQUEST,
- String.format("Invalid sort property: \"%s\"", value)
- );
- }
-
- }
-
- /**
- * Returns the SortableProperty defined by ConnectionRecordSet which
- * represents the property requested.
- *
- * @return
- * The ConnectionRecordSet.SortableProperty which refers to the same
- * property as the string originally provided when this
- * APIConnectionRecordSortPredicate was created.
- */
- public ConnectionRecordSet.SortableProperty getProperty() {
- return property;
- }
-
- /**
- * Returns whether the requested sort order is descending.
- *
- * @return
- * true if the sort order is descending, false if the sort order is
- * ascending.
- */
- public boolean isDescending() {
- return descending;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/history/HistoryRESTService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/history/HistoryRESTService.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/history/HistoryRESTService.java
deleted file mode 100644
index e6f0b50..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/history/HistoryRESTService.java
+++ /dev/null
@@ -1,147 +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.
- */
-
-package org.apache.guacamole.net.basic.rest.history;
-
-import com.google.inject.Inject;
-import java.util.ArrayList;
-import java.util.List;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.MediaType;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.net.auth.ConnectionRecord;
-import org.apache.guacamole.net.auth.ConnectionRecordSet;
-import org.apache.guacamole.net.auth.UserContext;
-import org.apache.guacamole.net.basic.GuacamoleSession;
-import org.apache.guacamole.net.basic.rest.ObjectRetrievalService;
-import org.apache.guacamole.net.basic.rest.auth.AuthenticationService;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A REST Service for retrieving and managing the history records of Guacamole
- * objects.
- *
- * @author Michael Jumper
- */
-@Path("/data/{dataSource}/history")
-@Produces(MediaType.APPLICATION_JSON)
-@Consumes(MediaType.APPLICATION_JSON)
-public class HistoryRESTService {
-
- /**
- * Logger for this class.
- */
- private static final Logger logger = LoggerFactory.getLogger(HistoryRESTService.class);
-
- /**
- * The maximum number of history records to return in any one response.
- */
- private static final int MAXIMUM_HISTORY_SIZE = 1000;
-
- /**
- * A service for authenticating users from auth tokens.
- */
- @Inject
- private AuthenticationService authenticationService;
-
- /**
- * Service for convenient retrieval of objects.
- */
- @Inject
- private ObjectRetrievalService retrievalService;
-
- /**
- * Retrieves the usage history for all connections, restricted by optional
- * filter parameters.
- *
- * @param authToken
- * The authentication token that is used to authenticate the user
- * performing the operation.
- *
- * @param authProviderIdentifier
- * The unique identifier of the AuthenticationProvider associated with
- * the UserContext containing the connection whose history is to be
- * retrieved.
- *
- * @param requiredContents
- * The set of strings that each must occur somewhere within the
- * returned connection records, whether within the associated username,
- * the name of the associated connection, or any associated date. If
- * non-empty, any connection record not matching each of the strings
- * within the collection will be excluded from the results.
- *
- * @param sortPredicates
- * A list of predicates to apply while sorting the resulting connection
- * records, describing the properties involved and the sort order for
- * those properties.
- *
- * @return
- * A list of connection records, describing the start and end times of
- * various usages of this connection.
- *
- * @throws GuacamoleException
- * If an error occurs while retrieving the connection history.
- */
- @GET
- @Path("/connections")
- public List<APIConnectionRecord> getConnectionHistory(@QueryParam("token") String authToken,
- @PathParam("dataSource") String authProviderIdentifier,
- @QueryParam("contains") List<String> requiredContents,
- @QueryParam("order") List<APIConnectionRecordSortPredicate> sortPredicates)
- throws GuacamoleException {
-
- GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
- UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
-
- // Retrieve overall connection history
- ConnectionRecordSet history = userContext.getConnectionHistory();
-
- // Restrict to records which contain the specified strings
- for (String required : requiredContents) {
- if (!required.isEmpty())
- history = history.contains(required);
- }
-
- // Sort according to specified ordering
- for (APIConnectionRecordSortPredicate predicate : sortPredicates)
- history = history.sort(predicate.getProperty(), predicate.isDescending());
-
- // Limit to maximum result size
- history = history.limit(MAXIMUM_HISTORY_SIZE);
-
- // Convert record set to collection of API connection records
- List<APIConnectionRecord> apiRecords = new ArrayList<APIConnectionRecord>();
- for (ConnectionRecord record : history.asCollection())
- apiRecords.add(new APIConnectionRecord(record));
-
- // Return the converted history
- return apiRecords;
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/history/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/history/package-info.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/history/package-info.java
deleted file mode 100644
index 3dc031a..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/history/package-info.java
+++ /dev/null
@@ -1,28 +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.
- */
-
-/**
- * Classes related to retrieval or maintenance of history records using the
- * Guacamole REST API.
- */
-package org.apache.guacamole.net.basic.rest.history;
-
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/language/LanguageRESTService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/language/LanguageRESTService.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/language/LanguageRESTService.java
deleted file mode 100644
index 9e878e8..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/language/LanguageRESTService.java
+++ /dev/null
@@ -1,63 +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.
- */
-
-package org.apache.guacamole.net.basic.rest.language;
-
-import com.google.inject.Inject;
-import java.util.Map;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import org.apache.guacamole.net.basic.extension.LanguageResourceService;
-
-
-/**
- * A REST Service for handling the listing of languages.
- *
- * @author James Muehlner
- */
-@Path("/languages")
-@Produces(MediaType.APPLICATION_JSON)
-public class LanguageRESTService {
-
- /**
- * Service for retrieving information regarding available language
- * resources.
- */
- @Inject
- private LanguageResourceService languageResourceService;
-
- /**
- * Returns a map of all available language keys to their corresponding
- * human-readable names.
- *
- * @return
- * A map of languages defined in the system, of language key to
- * display name.
- */
- @GET
- public Map<String, String> getLanguages() {
- return languageResourceService.getLanguageNames();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/language/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/language/package-info.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/language/package-info.java
deleted file mode 100644
index 9620350..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/language/package-info.java
+++ /dev/null
@@ -1,27 +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.
- */
-
-/**
- * Classes related to the language retrieval aspect of the Guacamole REST API.
- */
-package org.apache.guacamole.net.basic.rest.language;
-
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/package-info.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/package-info.java
deleted file mode 100644
index e61d11e..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/package-info.java
+++ /dev/null
@@ -1,27 +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.
- */
-
-/**
- * Classes related to the basic Guacamole REST API.
- */
-package org.apache.guacamole.net.basic.rest;
-
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/patch/PatchRESTService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/patch/PatchRESTService.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/patch/PatchRESTService.java
deleted file mode 100644
index 4cd90cd..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/patch/PatchRESTService.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * Copyright (C) 2016 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.
- */
-
-package org.apache.guacamole.net.basic.rest.patch;
-
-import com.google.inject.Inject;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.util.ArrayList;
-import java.util.List;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.GuacamoleServerException;
-import org.apache.guacamole.net.basic.extension.PatchResourceService;
-import org.apache.guacamole.net.basic.resource.Resource;
-
-/**
- * A REST Service for handling the listing of HTML patches.
- *
- * @author Michael Jumper
- */
-@Path("/patches")
-@Produces(MediaType.APPLICATION_JSON)
-public class PatchRESTService {
-
- /**
- * Service for retrieving information regarding available HTML patch
- * resources.
- */
- @Inject
- private PatchResourceService patchResourceService;
-
- /**
- * Reads the entire contents of the given resource as a String. The
- * resource is assumed to be encoded in UTF-8.
- *
- * @param resource
- * The resource to read as a new String.
- *
- * @return
- * A new String containing the contents of the given resource.
- *
- * @throws IOException
- * If an I/O error prevents reading the resource.
- */
- private String readResourceAsString(Resource resource) throws IOException {
-
- StringBuilder contents = new StringBuilder();
-
- // Read entire resource into StringBuilder one chunk at a time
- Reader reader = new InputStreamReader(resource.asStream(), "UTF-8");
- try {
-
- char buffer[] = new char[8192];
- int length;
-
- while ((length = reader.read(buffer)) != -1) {
- contents.append(buffer, 0, length);
- }
-
- }
-
- // Ensure resource is always closed
- finally {
- reader.close();
- }
-
- return contents.toString();
-
- }
-
- /**
- * Returns a list of all available HTML patches, in the order they should
- * be applied. Each patch is raw HTML containing additional meta tags
- * describing how and where the patch should be applied.
- *
- * @return
- * A list of all HTML patches defined in the system, in the order they
- * should be applied.
- *
- * @throws GuacamoleException
- * If an error occurs preventing any HTML patch from being read.
- */
- @GET
- public List<String> getPatches() throws GuacamoleException {
-
- try {
-
- // Allocate a list of equal size to the total number of patches
- List<Resource> resources = patchResourceService.getPatchResources();
- List<String> patches = new ArrayList<String>(resources.size());
-
- // Convert each patch resource to a string
- for (Resource resource : resources) {
- patches.add(readResourceAsString(resource));
- }
-
- // Return all patches in string form
- return patches;
-
- }
-
- // Bail out entirely on error
- catch (IOException e) {
- throw new GuacamoleServerException("Unable to read HTML patches.", e);
- }
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/patch/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/patch/package-info.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/patch/package-info.java
deleted file mode 100644
index 549efc2..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/patch/package-info.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (C) 2016 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.
- */
-
-/**
- * Classes related to the HTML patch retrieval aspect of the Guacamole REST API.
- */
-package org.apache.guacamole.net.basic.rest.patch;
-
[10/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Remove useless .net.basic subpackage, now that everything is being renamed.
Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/properties/StringSetProperty.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/properties/StringSetProperty.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/properties/StringSetProperty.java
deleted file mode 100644
index 34fb58a..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/properties/StringSetProperty.java
+++ /dev/null
@@ -1,66 +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.
- */
-
-package org.apache.guacamole.net.basic.properties;
-
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import java.util.regex.Pattern;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.properties.GuacamoleProperty;
-
-/**
- * A GuacamoleProperty whose value is a Set of unique Strings. The string value
- * parsed to produce this set is a comma-delimited list. Duplicate values are
- * ignored, as is any whitespace following delimiters. To maintain
- * compatibility with the behavior of Java properties in general, only
- * whitespace at the beginning of each value is ignored; trailing whitespace
- * becomes part of the value.
- *
- * @author Michael Jumper
- */
-public abstract class StringSetProperty implements GuacamoleProperty<Set<String>> {
-
- /**
- * A pattern which matches against the delimiters between values. This is
- * currently simply a comma and any following whitespace. Parts of the
- * input string which match this pattern will not be included in the parsed
- * result.
- */
- private static final Pattern DELIMITER_PATTERN = Pattern.compile(",\\s*");
-
- @Override
- public Set<String> parseValue(String values) throws GuacamoleException {
-
- // If no property provided, return null.
- if (values == null)
- return null;
-
- // Split string into a set of individual values
- List<String> valueList = Arrays.asList(DELIMITER_PATTERN.split(values));
- return new HashSet<String>(valueList);
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/properties/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/properties/package-info.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/properties/package-info.java
deleted file mode 100644
index 6ca9523..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/properties/package-info.java
+++ /dev/null
@@ -1,28 +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.
- */
-
-/**
- * Classes related to the properties which the Guacamole web application
- * (and stock parts of it) read from guacamole.properties.
- */
-package org.apache.guacamole.net.basic.properties;
-
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/resource/AbstractResource.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/resource/AbstractResource.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/resource/AbstractResource.java
deleted file mode 100644
index c4489a4..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/resource/AbstractResource.java
+++ /dev/null
@@ -1,82 +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.
- */
-
-package org.apache.guacamole.net.basic.resource;
-
-/**
- * Base abstract resource implementation which provides an associated mimetype,
- * and modification time. Classes which extend AbstractResource must provide
- * their own InputStream, however.
- *
- * @author Michael Jumper
- */
-public abstract class AbstractResource implements Resource {
-
- /**
- * The mimetype of this resource.
- */
- private final String mimetype;
-
- /**
- * The time this resource was last modified, in milliseconds since midnight
- * of January 1, 1970 UTC.
- */
- private final long lastModified;
-
- /**
- * Initializes this AbstractResource with the given mimetype and
- * modification time.
- *
- * @param mimetype
- * The mimetype of this resource.
- *
- * @param lastModified
- * The time this resource was last modified, in milliseconds since
- * midnight of January 1, 1970 UTC.
- */
- public AbstractResource(String mimetype, long lastModified) {
- this.mimetype = mimetype;
- this.lastModified = lastModified;
- }
-
- /**
- * Initializes this AbstractResource with the given mimetype. The
- * modification time of the resource is set to the current system time.
- *
- * @param mimetype
- * The mimetype of this resource.
- */
- public AbstractResource(String mimetype) {
- this(mimetype, System.currentTimeMillis());
- }
-
- @Override
- public long getLastModified() {
- return lastModified;
- }
-
- @Override
- public String getMimeType() {
- return mimetype;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/resource/ByteArrayResource.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/resource/ByteArrayResource.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/resource/ByteArrayResource.java
deleted file mode 100644
index af071d8..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/resource/ByteArrayResource.java
+++ /dev/null
@@ -1,62 +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.
- */
-
-package org.apache.guacamole.net.basic.resource;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-
-/**
- * A resource which contains a defined byte array.
- *
- * @author Michael Jumper
- */
-public class ByteArrayResource extends AbstractResource {
-
- /**
- * The bytes contained by this resource.
- */
- private final byte[] bytes;
-
- /**
- * Creates a new ByteArrayResource which provides access to the given byte
- * array. Changes to the given byte array will affect this resource even
- * after the resource is created. Changing the byte array while an input
- * stream from this resource is in use has undefined behavior.
- *
- * @param mimetype
- * The mimetype of the resource.
- *
- * @param bytes
- * The bytes that this resource should contain.
- */
- public ByteArrayResource(String mimetype, byte[] bytes) {
- super(mimetype);
- this.bytes = bytes;
- }
-
- @Override
- public InputStream asStream() {
- return new ByteArrayInputStream(bytes);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/resource/ClassPathResource.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/resource/ClassPathResource.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/resource/ClassPathResource.java
deleted file mode 100644
index 5dc5392..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/resource/ClassPathResource.java
+++ /dev/null
@@ -1,85 +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.
- */
-
-package org.apache.guacamole.net.basic.resource;
-
-import java.io.InputStream;
-
-/**
- * A resource which is located within the classpath of an arbitrary
- * ClassLoader.
- *
- * @author Michael Jumper
- */
-public class ClassPathResource extends AbstractResource {
-
- /**
- * The classloader to use when reading this resource.
- */
- private final ClassLoader classLoader;
-
- /**
- * The path of this resource relative to the classloader.
- */
- private final String path;
-
- /**
- * Creates a new ClassPathResource which uses the given ClassLoader to
- * read the resource having the given path.
- *
- * @param classLoader
- * The ClassLoader to use when reading the resource.
- *
- * @param mimetype
- * The mimetype of the resource.
- *
- * @param path
- * The path of the resource relative to the given ClassLoader.
- */
- public ClassPathResource(ClassLoader classLoader, String mimetype, String path) {
- super(mimetype);
- this.classLoader = classLoader;
- this.path = path;
- }
-
- /**
- * Creates a new ClassPathResource which uses the ClassLoader associated
- * with the ClassPathResource class to read the resource having the given
- * path.
- *
- * @param mimetype
- * The mimetype of the resource.
- *
- * @param path
- * The path of the resource relative to the ClassLoader associated
- * with the ClassPathResource class.
- */
- public ClassPathResource(String mimetype, String path) {
- this(ClassPathResource.class.getClassLoader(), mimetype, path);
- }
-
- @Override
- public InputStream asStream() {
- return classLoader.getResourceAsStream(path);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/resource/Resource.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/resource/Resource.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/resource/Resource.java
deleted file mode 100644
index f8accdd..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/resource/Resource.java
+++ /dev/null
@@ -1,67 +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.
- */
-
-package org.apache.guacamole.net.basic.resource;
-
-import java.io.InputStream;
-
-/**
- * An arbitrary resource that can be served to a user via HTTP. Resources are
- * anonymous but have a defined mimetype and corresponding input stream.
- *
- * @author Michael Jumper
- */
-public interface Resource {
-
- /**
- * Returns the mimetype of this resource. This function MUST always return
- * a value. If the type is unknown, return "application/octet-stream".
- *
- * @return
- * The mimetype of this resource.
- */
- String getMimeType();
-
- /**
- * Returns the time the resource was last modified in milliseconds since
- * midnight of January 1, 1970 UTC.
- *
- * @return
- * The time the resource was last modified, in milliseconds.
- */
- long getLastModified();
-
- /**
- * Returns an InputStream which reads the contents of this resource,
- * starting with the first byte. Reading from the returned InputStream will
- * not affect reads from other InputStreams returned by other calls to
- * asStream(). The returned InputStream must be manually closed when no
- * longer needed. If the resource is unexpectedly unavailable, this will
- * return null.
- *
- * @return
- * An InputStream which reads the contents of this resource, starting
- * with the first byte, or null if the resource is unavailable.
- */
- InputStream asStream();
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/resource/ResourceServlet.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/resource/ResourceServlet.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/resource/ResourceServlet.java
deleted file mode 100644
index 8266049..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/resource/ResourceServlet.java
+++ /dev/null
@@ -1,126 +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.
- */
-
-package org.apache.guacamole.net.basic.resource;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Servlet which serves a given resource for all HTTP GET requests. The HEAD
- * method is correctly supported, and HTTP 304 ("Not Modified") responses will
- * be properly returned for GET requests depending on the last time the
- * resource was modified.
- *
- * @author Michael Jumper
- */
-public class ResourceServlet extends HttpServlet {
-
- /**
- * Logger for this class.
- */
- private static final Logger logger = LoggerFactory.getLogger(ResourceServlet.class);
-
- /**
- * The size of the buffer to use when transferring data from the input
- * stream of a resource to the output stream of a request.
- */
- private static final int BUFFER_SIZE = 10240;
-
- /**
- * The resource to serve for every GET request.
- */
- private final Resource resource;
-
- /**
- * Creates a new ResourceServlet which serves the given Resource for all
- * HTTP GET requests.
- *
- * @param resource
- * The Resource to serve.
- */
- public ResourceServlet(Resource resource) {
- this.resource = resource;
- }
-
- @Override
- protected void doHead(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
-
- // Set last modified and content type headers
- response.addDateHeader("Last-Modified", resource.getLastModified());
- response.setContentType(resource.getMimeType());
-
- }
-
- @Override
- protected void doGet(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
-
- // Get input stream from resource
- InputStream input = resource.asStream();
-
- // If resource does not exist, return not found
- if (input == null) {
- logger.debug("Resource does not exist: \"{}\"", request.getServletPath());
- response.setStatus(HttpServletResponse.SC_NOT_FOUND);
- return;
- }
-
- try {
-
- // Write headers
- doHead(request, response);
-
- // If not modified since "If-Modified-Since" header, return not modified
- long ifModifiedSince = request.getDateHeader("If-Modified-Since");
- if (resource.getLastModified() - ifModifiedSince < 1000) {
- logger.debug("Resource not modified: \"{}\"", request.getServletPath());
- response.setStatus(HttpServletResponse.SC_NOT_MODIFIED);
- return;
- }
-
- int length;
- byte[] buffer = new byte[BUFFER_SIZE];
-
- // Write resource to response body
- OutputStream output = response.getOutputStream();
- while ((length = input.read(buffer)) != -1)
- output.write(buffer, 0, length);
-
- }
-
- // Ensure input stream is always closed
- finally {
- input.close();
- }
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/resource/SequenceResource.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/resource/SequenceResource.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/resource/SequenceResource.java
deleted file mode 100644
index 635adf5..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/resource/SequenceResource.java
+++ /dev/null
@@ -1,153 +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.
- */
-
-package org.apache.guacamole.net.basic.resource;
-
-import java.io.InputStream;
-import java.io.SequenceInputStream;
-import java.util.Arrays;
-import java.util.Enumeration;
-import java.util.Iterator;
-
-/**
- * A resource which is the logical concatenation of other resources.
- *
- * @author Michael Jumper
- */
-public class SequenceResource extends AbstractResource {
-
- /**
- * The resources to be concatenated.
- */
- private final Iterable<Resource> resources;
-
- /**
- * Returns the mimetype of the first resource in the given Iterable, or
- * "application/octet-stream" if no resources are provided.
- *
- * @param resources
- * The resources from which the mimetype should be retrieved.
- *
- * @return
- * The mimetype of the first resource, or "application/octet-stream"
- * if no resources were provided.
- */
- private static String getMimeType(Iterable<Resource> resources) {
-
- // If no resources, just assume application/octet-stream
- Iterator<Resource> resourceIterator = resources.iterator();
- if (!resourceIterator.hasNext())
- return "application/octet-stream";
-
- // Return mimetype of first resource
- return resourceIterator.next().getMimeType();
-
- }
-
- /**
- * Creates a new SequenceResource as the logical concatenation of the
- * given resources. Each resource is concatenated in iteration order as
- * needed when reading from the input stream of the SequenceResource.
- *
- * @param mimetype
- * The mimetype of the resource.
- *
- * @param resources
- * The resources to concatenate within the InputStream of this
- * SequenceResource.
- */
- public SequenceResource(String mimetype, Iterable<Resource> resources) {
- super(mimetype);
- this.resources = resources;
- }
-
- /**
- * Creates a new SequenceResource as the logical concatenation of the
- * given resources. Each resource is concatenated in iteration order as
- * needed when reading from the input stream of the SequenceResource. The
- * mimetype of the resulting concatenation is derived from the first
- * resource.
- *
- * @param resources
- * The resources to concatenate within the InputStream of this
- * SequenceResource.
- */
- public SequenceResource(Iterable<Resource> resources) {
- super(getMimeType(resources));
- this.resources = resources;
- }
-
- /**
- * Creates a new SequenceResource as the logical concatenation of the
- * given resources. Each resource is concatenated in iteration order as
- * needed when reading from the input stream of the SequenceResource.
- *
- * @param mimetype
- * The mimetype of the resource.
- *
- * @param resources
- * The resources to concatenate within the InputStream of this
- * SequenceResource.
- */
- public SequenceResource(String mimetype, Resource... resources) {
- this(mimetype, Arrays.asList(resources));
- }
-
- /**
- * Creates a new SequenceResource as the logical concatenation of the
- * given resources. Each resource is concatenated in iteration order as
- * needed when reading from the input stream of the SequenceResource. The
- * mimetype of the resulting concatenation is derived from the first
- * resource.
- *
- * @param resources
- * The resources to concatenate within the InputStream of this
- * SequenceResource.
- */
- public SequenceResource(Resource... resources) {
- this(Arrays.asList(resources));
- }
-
- @Override
- public InputStream asStream() {
- return new SequenceInputStream(new Enumeration<InputStream>() {
-
- /**
- * Iterator over all resources associated with this
- * SequenceResource.
- */
- private final Iterator<Resource> resourceIterator = resources.iterator();
-
- @Override
- public boolean hasMoreElements() {
- return resourceIterator.hasNext();
- }
-
- @Override
- public InputStream nextElement() {
- return resourceIterator.next().asStream();
- }
-
- });
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/resource/WebApplicationResource.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/resource/WebApplicationResource.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/resource/WebApplicationResource.java
deleted file mode 100644
index 5e22831..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/resource/WebApplicationResource.java
+++ /dev/null
@@ -1,116 +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.
- */
-
-package org.apache.guacamole.net.basic.resource;
-
-import java.io.InputStream;
-import javax.servlet.ServletContext;
-
-/**
- * A resource which is located within the classpath associated with another
- * class.
- *
- * @author Michael Jumper
- */
-public class WebApplicationResource extends AbstractResource {
-
- /**
- * The servlet context to use when reading the resource and, if necessary,
- * when determining the mimetype of the resource.
- */
- private final ServletContext context;
-
- /**
- * The path of this resource relative to the ServletContext.
- */
- private final String path;
-
- /**
- * Derives a mimetype from the filename within the given path using the
- * given ServletContext, if possible.
- *
- * @param context
- * The ServletContext to use to derive the mimetype.
- *
- * @param path
- * The path to derive the mimetype from.
- *
- * @return
- * An appropriate mimetype based on the name of the file in the path,
- * or "application/octet-stream" if no mimetype could be determined.
- */
- private static String getMimeType(ServletContext context, String path) {
-
- // If mimetype is known, use defined mimetype
- String mimetype = context.getMimeType(path);
- if (mimetype != null)
- return mimetype;
-
- // Otherwise, default to application/octet-stream
- return "application/octet-stream";
-
- }
-
- /**
- * Creates a new WebApplicationResource which serves the resource at the
- * given path relative to the given ServletContext. Rather than deriving
- * the mimetype of the resource from the filename within the path, the
- * mimetype given is used.
- *
- * @param context
- * The ServletContext to use when reading the resource.
- *
- * @param mimetype
- * The mimetype of the resource.
- *
- * @param path
- * The path of the resource relative to the given ServletContext.
- */
- public WebApplicationResource(ServletContext context, String mimetype, String path) {
- super(mimetype);
- this.context = context;
- this.path = path;
- }
-
- /**
- * Creates a new WebApplicationResource which serves the resource at the
- * given path relative to the given ServletContext. The mimetype of the
- * resource is automatically determined based on the filename within the
- * path.
- *
- * @param context
- * The ServletContext to use when reading the resource and deriving the
- * mimetype.
- *
- * @param path
- * The path of the resource relative to the given ServletContext.
- */
- public WebApplicationResource(ServletContext context, String path) {
- this(context, getMimeType(context, path), path);
- }
-
- @Override
- public InputStream asStream() {
- return context.getResourceAsStream(path);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/resource/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/resource/package-info.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/resource/package-info.java
deleted file mode 100644
index 6e1829f..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/resource/package-info.java
+++ /dev/null
@@ -1,28 +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.
- */
-
-/**
- * Classes which describe and provide access to arbitrary resources, such as
- * the contents of the classpath of a classloader, or files within the web
- * application itself.
- */
-package org.apache.guacamole.net.basic.resource;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/APIError.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/APIError.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/APIError.java
deleted file mode 100644
index 642fb39..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/APIError.java
+++ /dev/null
@@ -1,183 +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.
- */
-
-package org.apache.guacamole.net.basic.rest;
-
-import java.util.Collection;
-import javax.ws.rs.core.Response;
-import org.apache.guacamole.form.Field;
-
-/**
- * Describes an error that occurred within a REST endpoint.
- *
- * @author James Muehlner
- * @author Michael Jumper
- */
-public class APIError {
-
- /**
- * The error message.
- */
- private final String message;
-
- /**
- * All expected request parameters, if any, as a collection of fields.
- */
- private final Collection<Field> expected;
-
- /**
- * The type of error that occurred.
- */
- private final Type type;
-
- /**
- * All possible types of REST API errors.
- */
- public enum Type {
-
- /**
- * The requested operation could not be performed because the request
- * itself was malformed.
- */
- BAD_REQUEST(Response.Status.BAD_REQUEST),
-
- /**
- * The credentials provided were invalid.
- */
- INVALID_CREDENTIALS(Response.Status.FORBIDDEN),
-
- /**
- * The credentials provided were not necessarily invalid, but were not
- * sufficient to determine validity.
- */
- INSUFFICIENT_CREDENTIALS(Response.Status.FORBIDDEN),
-
- /**
- * An internal server error has occurred.
- */
- INTERNAL_ERROR(Response.Status.INTERNAL_SERVER_ERROR),
-
- /**
- * An object related to the request does not exist.
- */
- NOT_FOUND(Response.Status.NOT_FOUND),
-
- /**
- * Permission was denied to perform the requested operation.
- */
- PERMISSION_DENIED(Response.Status.FORBIDDEN);
-
- /**
- * The HTTP status associated with this error type.
- */
- private final Response.Status status;
-
- /**
- * Defines a new error type associated with the given HTTP status.
- *
- * @param status
- * The HTTP status to associate with the error type.
- */
- Type(Response.Status status) {
- this.status = status;
- }
-
- /**
- * Returns the HTTP status associated with this error type.
- *
- * @return
- * The HTTP status associated with this error type.
- */
- public Response.Status getStatus() {
- return status;
- }
-
- }
-
- /**
- * Create a new APIError with the specified error message.
- *
- * @param type
- * The type of error that occurred.
- *
- * @param message
- * The error message.
- */
- public APIError(Type type, String message) {
- this.type = type;
- this.message = message;
- this.expected = null;
- }
-
- /**
- * Create a new APIError with the specified error message and parameter
- * information.
- *
- * @param type
- * The type of error that occurred.
- *
- * @param message
- * The error message.
- *
- * @param expected
- * All parameters expected in the original request, or now required as
- * a result of the original request, as a collection of fields.
- */
- public APIError(Type type, String message, Collection<Field> expected) {
- this.type = type;
- this.message = message;
- this.expected = expected;
- }
-
- /**
- * Returns the type of error that occurred.
- *
- * @return
- * The type of error that occurred.
- */
- public Type getType() {
- return type;
- }
-
- /**
- * Returns a collection of all required parameters, where each parameter is
- * represented by a field.
- *
- * @return
- * A collection of all required parameters.
- */
- public Collection<Field> getExpected() {
- return expected;
- }
-
- /**
- * Returns a human-readable error message describing the error that
- * occurred.
- *
- * @return
- * A human-readable error message.
- */
- public String getMessage() {
- return message;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/APIException.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/APIException.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/APIException.java
deleted file mode 100644
index 50f05a2..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/APIException.java
+++ /dev/null
@@ -1,85 +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.
- */
-
-package org.apache.guacamole.net.basic.rest;
-
-import java.util.Collection;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Response;
-import org.apache.guacamole.form.Field;
-
-/**
- * An exception that will result in the given error error information being
- * returned from the API layer. All error messages have the same format which
- * is defined by APIError.
- *
- * @author James Muehlner
- * @author Michael Jumper
- */
-public class APIException extends WebApplicationException {
-
- /**
- * Construct a new APIException with the given error. All information
- * associated with this new exception will be extracted from the given
- * APIError.
- *
- * @param error
- * The error that occurred.
- */
- public APIException(APIError error) {
- super(Response.status(error.getType().getStatus()).entity(error).build());
- }
-
- /**
- * Creates a new APIException with the given type and message. The
- * corresponding APIError will be created from the provided information.
- *
- * @param type
- * The type of error that occurred.
- *
- * @param message
- * A human-readable message describing the error.
- */
- public APIException(APIError.Type type, String message) {
- this(new APIError(type, message));
- }
-
- /**
- * Creates a new APIException with the given type, message, and parameter
- * information. The corresponding APIError will be created from the
- * provided information.
- *
- * @param type
- * The type of error that occurred.
- *
- * @param message
- * A human-readable message describing the error.
- *
- * @param expected
- * All parameters expected in the original request, or now required as
- * a result of the original request, as a collection of fields.
- */
- public APIException(APIError.Type type, String message, Collection<Field> expected) {
- this(new APIError(type, message, expected));
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/APIPatch.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/APIPatch.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/APIPatch.java
deleted file mode 100644
index 3be1eac..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/APIPatch.java
+++ /dev/null
@@ -1,104 +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.
- */
-
-package org.apache.guacamole.net.basic.rest;
-
-/**
- * An object for representing the body of a HTTP PATCH method.
- * See https://tools.ietf.org/html/rfc6902
- *
- * @author James Muehlner
- * @param <T> The type of object being patched.
- */
-public class APIPatch<T> {
-
- /**
- * The possible operations for a PATCH request.
- */
- public enum Operation {
- add, remove, test, copy, replace, move
- }
-
- /**
- * The operation to perform for this patch.
- */
- private Operation op;
-
- /**
- * The value for this patch.
- */
- private T value;
-
- /**
- * The path for this patch.
- */
- private String path;
-
- /**
- * Returns the operation for this patch.
- * @return the operation for this patch.
- */
- public Operation getOp() {
- return op;
- }
-
- /**
- * Set the operation for this patch.
- * @param op The operation for this patch.
- */
- public void setOp(Operation op) {
- this.op = op;
- }
-
- /**
- * Returns the value of this patch.
- * @return The value of this patch.
- */
- public T getValue() {
- return value;
- }
-
- /**
- * Sets the value of this patch.
- * @param value The value of this patch.
- */
- public void setValue(T value) {
- this.value = value;
- }
-
- /**
- * Returns the path for this patch.
- * @return The path for this patch.
- */
- public String getPath() {
- return path;
- }
-
- /**
- * Set the path for this patch.
- * @param path The path for this patch.
- */
- public void setPath(String path) {
- this.path = path;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/APIRequest.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/APIRequest.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/APIRequest.java
deleted file mode 100644
index 566990a..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/APIRequest.java
+++ /dev/null
@@ -1,107 +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.
- */
-
-package org.apache.guacamole.net.basic.rest;
-
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletRequestWrapper;
-import javax.ws.rs.core.MultivaluedMap;
-
-/**
- * Wrapper for HttpServletRequest which uses a given MultivaluedMap to provide
- * the values of all request parameters.
- *
- * @author Michael Jumper
- */
-public class APIRequest extends HttpServletRequestWrapper {
-
- /**
- * Map of all request parameter names to their corresponding values.
- */
- private final Map<String, String[]> parameters;
-
- /**
- * Wraps the given HttpServletRequest, using the given MultivaluedMap to
- * provide all request parameters. All HttpServletRequest functions which
- * do not deal with parameter names and values are delegated to the wrapped
- * request.
- *
- * @param request
- * The HttpServletRequest to wrap.
- *
- * @param parameters
- * All request parameters.
- */
- public APIRequest(HttpServletRequest request,
- MultivaluedMap<String, String> parameters) {
-
- super(request);
-
- // Copy parameters from given MultivaluedMap
- this.parameters = new HashMap<String, String[]>(parameters.size());
- for (Map.Entry<String, List<String>> entry : parameters.entrySet()) {
-
- // Get parameter name and all corresponding values
- String name = entry.getKey();
- List<String> values = entry.getValue();
-
- // Add parameters to map
- this.parameters.put(name, values.toArray(new String[values.size()]));
-
- }
-
- }
-
- @Override
- public String[] getParameterValues(String name) {
- return parameters.get(name);
- }
-
- @Override
- public Enumeration<String> getParameterNames() {
- return Collections.enumeration(parameters.keySet());
- }
-
- @Override
- public Map<String, String[]> getParameterMap() {
- return Collections.unmodifiableMap(parameters);
- }
-
- @Override
- public String getParameter(String name) {
-
- // If no such parameter exists, just return null
- String[] values = getParameterValues(name);
- if (values == null)
- return null;
-
- // Otherwise, return first value
- return values[0];
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/ObjectRetrievalService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/ObjectRetrievalService.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/ObjectRetrievalService.java
deleted file mode 100644
index 90dcf9e..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/ObjectRetrievalService.java
+++ /dev/null
@@ -1,280 +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.
- */
-
-package org.apache.guacamole.net.basic.rest;
-
-import java.util.List;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.GuacamoleResourceNotFoundException;
-import org.apache.guacamole.net.auth.AuthenticationProvider;
-import org.apache.guacamole.net.auth.Connection;
-import org.apache.guacamole.net.auth.ConnectionGroup;
-import org.apache.guacamole.net.auth.Directory;
-import org.apache.guacamole.net.auth.User;
-import org.apache.guacamole.net.auth.UserContext;
-import org.apache.guacamole.net.basic.GuacamoleSession;
-import org.apache.guacamole.net.basic.rest.connectiongroup.APIConnectionGroup;
-
-/**
- * Provides easy access and automatic error handling for retrieval of objects,
- * such as users, connections, or connection groups. REST API semantics, such
- * as the special root connection group identifier, are also handled
- * automatically.
- */
-public class ObjectRetrievalService {
-
- /**
- * Retrieves a single UserContext from the given GuacamoleSession, which
- * may contain multiple UserContexts.
- *
- * @param session
- * The GuacamoleSession to retrieve the UserContext from.
- *
- * @param authProviderIdentifier
- * The unique identifier of the AuthenticationProvider that created the
- * UserContext being retrieved. Only one UserContext per User per
- * AuthenticationProvider can exist.
- *
- * @return
- * The UserContext that was created by the AuthenticationProvider
- * having the given identifier.
- *
- * @throws GuacamoleException
- * If an error occurs while retrieving the UserContext, or if the
- * UserContext does not exist.
- */
- public UserContext retrieveUserContext(GuacamoleSession session,
- String authProviderIdentifier) throws GuacamoleException {
-
- // Get list of UserContexts
- List<UserContext> userContexts = session.getUserContexts();
-
- // Locate and return the UserContext associated with the
- // AuthenticationProvider having the given identifier, if any
- for (UserContext userContext : userContexts) {
-
- // Get AuthenticationProvider associated with current UserContext
- AuthenticationProvider authProvider = userContext.getAuthenticationProvider();
-
- // If AuthenticationProvider identifier matches, done
- if (authProvider.getIdentifier().equals(authProviderIdentifier))
- return userContext;
-
- }
-
- throw new GuacamoleResourceNotFoundException("Session not associated with authentication provider \"" + authProviderIdentifier + "\".");
-
- }
-
- /**
- * Retrieves a single user from the given user context.
- *
- * @param userContext
- * The user context to retrieve the user from.
- *
- * @param identifier
- * The identifier of the user to retrieve.
- *
- * @return
- * The user having the given identifier.
- *
- * @throws GuacamoleException
- * If an error occurs while retrieving the user, or if the
- * user does not exist.
- */
- public User retrieveUser(UserContext userContext,
- String identifier) throws GuacamoleException {
-
- // Get user directory
- Directory<User> directory = userContext.getUserDirectory();
-
- // Pull specified user
- User user = directory.get(identifier);
- if (user == null)
- throw new GuacamoleResourceNotFoundException("No such user: \"" + identifier + "\"");
-
- return user;
-
- }
-
- /**
- * Retrieves a single user from the given GuacamoleSession.
- *
- * @param session
- * The GuacamoleSession to retrieve the user from.
- *
- * @param authProviderIdentifier
- * The unique identifier of the AuthenticationProvider that created the
- * UserContext from which the user should be retrieved. Only one
- * UserContext per User per AuthenticationProvider can exist.
- *
- * @param identifier
- * The identifier of the user to retrieve.
- *
- * @return
- * The user having the given identifier.
- *
- * @throws GuacamoleException
- * If an error occurs while retrieving the user, or if the
- * user does not exist.
- */
- public User retrieveUser(GuacamoleSession session, String authProviderIdentifier,
- String identifier) throws GuacamoleException {
-
- UserContext userContext = retrieveUserContext(session, authProviderIdentifier);
- return retrieveUser(userContext, identifier);
-
- }
-
- /**
- * Retrieves a single connection from the given user context.
- *
- * @param userContext
- * The user context to retrieve the connection from.
- *
- * @param identifier
- * The identifier of the connection to retrieve.
- *
- * @return
- * The connection having the given identifier.
- *
- * @throws GuacamoleException
- * If an error occurs while retrieving the connection, or if the
- * connection does not exist.
- */
- public Connection retrieveConnection(UserContext userContext,
- String identifier) throws GuacamoleException {
-
- // Get connection directory
- Directory<Connection> directory = userContext.getConnectionDirectory();
-
- // Pull specified connection
- Connection connection = directory.get(identifier);
- if (connection == null)
- throw new GuacamoleResourceNotFoundException("No such connection: \"" + identifier + "\"");
-
- return connection;
-
- }
-
- /**
- * Retrieves a single connection from the given GuacamoleSession.
- *
- * @param session
- * The GuacamoleSession to retrieve the connection from.
- *
- * @param authProviderIdentifier
- * The unique identifier of the AuthenticationProvider that created the
- * UserContext from which the connection should be retrieved. Only one
- * UserContext per User per AuthenticationProvider can exist.
- *
- * @param identifier
- * The identifier of the connection to retrieve.
- *
- * @return
- * The connection having the given identifier.
- *
- * @throws GuacamoleException
- * If an error occurs while retrieving the connection, or if the
- * connection does not exist.
- */
- public Connection retrieveConnection(GuacamoleSession session,
- String authProviderIdentifier, String identifier)
- throws GuacamoleException {
-
- UserContext userContext = retrieveUserContext(session, authProviderIdentifier);
- return retrieveConnection(userContext, identifier);
-
- }
-
- /**
- * Retrieves a single connection group from the given user context. If
- * the given identifier the REST API root identifier, the root connection
- * group will be returned. The underlying authentication provider may
- * additionally use a different identifier for root.
- *
- * @param userContext
- * The user context to retrieve the connection group from.
- *
- * @param identifier
- * The identifier of the connection group to retrieve.
- *
- * @return
- * The connection group having the given identifier, or the root
- * connection group if the identifier the root identifier.
- *
- * @throws GuacamoleException
- * If an error occurs while retrieving the connection group, or if the
- * connection group does not exist.
- */
- public ConnectionGroup retrieveConnectionGroup(UserContext userContext,
- String identifier) throws GuacamoleException {
-
- // Use root group if identifier is the standard root identifier
- if (identifier != null && identifier.equals(APIConnectionGroup.ROOT_IDENTIFIER))
- return userContext.getRootConnectionGroup();
-
- // Pull specified connection group otherwise
- Directory<ConnectionGroup> directory = userContext.getConnectionGroupDirectory();
- ConnectionGroup connectionGroup = directory.get(identifier);
-
- if (connectionGroup == null)
- throw new GuacamoleResourceNotFoundException("No such connection group: \"" + identifier + "\"");
-
- return connectionGroup;
-
- }
-
- /**
- * Retrieves a single connection group from the given GuacamoleSession. If
- * the given identifier is the REST API root identifier, the root
- * connection group will be returned. The underlying authentication
- * provider may additionally use a different identifier for root.
- *
- * @param session
- * The GuacamoleSession to retrieve the connection group from.
- *
- * @param authProviderIdentifier
- * The unique identifier of the AuthenticationProvider that created the
- * UserContext from which the connection group should be retrieved.
- * Only one UserContext per User per AuthenticationProvider can exist.
- *
- * @param identifier
- * The identifier of the connection group to retrieve.
- *
- * @return
- * The connection group having the given identifier, or the root
- * connection group if the identifier is the root identifier.
- *
- * @throws GuacamoleException
- * If an error occurs while retrieving the connection group, or if the
- * connection group does not exist.
- */
- public ConnectionGroup retrieveConnectionGroup(GuacamoleSession session,
- String authProviderIdentifier, String identifier) throws GuacamoleException {
-
- UserContext userContext = retrieveUserContext(session, authProviderIdentifier);
- return retrieveConnectionGroup(userContext, identifier);
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/PATCH.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/PATCH.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/PATCH.java
deleted file mode 100644
index 84350c6..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/PATCH.java
+++ /dev/null
@@ -1,40 +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.
- */
-
-
-package org.apache.guacamole.net.basic.rest;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-import javax.ws.rs.HttpMethod;
-
-/**
- * An annotation for using the HTTP PATCH method in the REST endpoints.
- *
- * @author James Muehlner
- */
-@Target({ElementType.METHOD})
-@Retention(RetentionPolicy.RUNTIME)
-@HttpMethod("PATCH")
-public @interface PATCH {}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/RESTExceptionWrapper.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/RESTExceptionWrapper.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/RESTExceptionWrapper.java
deleted file mode 100644
index 319bc62..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/RESTExceptionWrapper.java
+++ /dev/null
@@ -1,274 +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.
- */
-
-package org.apache.guacamole.net.basic.rest;
-
-import com.google.inject.Inject;
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Method;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.QueryParam;
-import org.aopalliance.intercept.MethodInterceptor;
-import org.aopalliance.intercept.MethodInvocation;
-import org.apache.guacamole.GuacamoleClientException;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.GuacamoleResourceNotFoundException;
-import org.apache.guacamole.GuacamoleSecurityException;
-import org.apache.guacamole.GuacamoleUnauthorizedException;
-import org.apache.guacamole.net.auth.credentials.GuacamoleInsufficientCredentialsException;
-import org.apache.guacamole.net.auth.credentials.GuacamoleInvalidCredentialsException;
-import org.apache.guacamole.net.basic.rest.auth.AuthenticationService;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A method interceptor which wraps custom exception handling around methods
- * which can throw GuacamoleExceptions and which are exposed through the REST
- * interface. The various types of GuacamoleExceptions are automatically
- * translated into appropriate HTTP responses, including JSON describing the
- * error that occurred.
- *
- * @author James Muehlner
- * @author Michael Jumper
- */
-public class RESTExceptionWrapper implements MethodInterceptor {
-
- /**
- * Logger for this class.
- */
- private final Logger logger = LoggerFactory.getLogger(RESTExceptionWrapper.class);
-
- /**
- * Service for authenticating users and managing their Guacamole sessions.
- */
- @Inject
- private AuthenticationService authenticationService;
-
- /**
- * Determines whether the given set of annotations describes an HTTP
- * request parameter of the given name. For a parameter to be associated
- * with an HTTP request parameter, it must be annotated with either the
- * <code>@QueryParam</code> or <code>@FormParam</code> annotations.
- *
- * @param annotations
- * The annotations associated with the Java parameter being checked.
- *
- * @param name
- * The name of the HTTP request parameter.
- *
- * @return
- * true if the given set of annotations describes an HTTP request
- * parameter having the given name, false otherwise.
- */
- private boolean isRequestParameter(Annotation[] annotations, String name) {
-
- // Search annotations for associated HTTP parameters
- for (Annotation annotation : annotations) {
-
- // Check if parameter is associated with the HTTP query string
- if (annotation instanceof QueryParam && name.equals(((QueryParam) annotation).value()))
- return true;
-
- // Failing that, check whether the parameter is associated with the
- // HTTP request body
- if (annotation instanceof FormParam && name.equals(((FormParam) annotation).value()))
- return true;
-
- }
-
- // No parameter annotations are present
- return false;
-
- }
-
- /**
- * Returns the authentication token that was passed in the given method
- * invocation. If the given method invocation is not associated with an
- * HTTP request (it lacks the appropriate JAX-RS annotations) or there is
- * no authentication token, null is returned.
- *
- * @param invocation
- * The method invocation whose corresponding authentication token
- * should be determined.
- *
- * @return
- * The authentication token passed in the given method invocation, or
- * null if there is no such token.
- */
- private String getAuthenticationToken(MethodInvocation invocation) {
-
- Method method = invocation.getMethod();
-
- // Get the types and annotations associated with each parameter
- Annotation[][] parameterAnnotations = method.getParameterAnnotations();
- Class<?>[] parameterTypes = method.getParameterTypes();
-
- // The Java standards require these to be parallel arrays
- assert(parameterAnnotations.length == parameterTypes.length);
-
- // Iterate through all parameters, looking for the authentication token
- for (int i = 0; i < parameterTypes.length; i++) {
-
- // Only inspect String parameters
- Class<?> parameterType = parameterTypes[i];
- if (parameterType != String.class)
- continue;
-
- // Parameter must be declared as a REST service parameter
- Annotation[] annotations = parameterAnnotations[i];
- if (!isRequestParameter(annotations, "token"))
- continue;
-
- // The token parameter has been found - return its value
- Object[] args = invocation.getArguments();
- return (String) args[i];
-
- }
-
- // No token parameter is defined
- return null;
-
- }
-
- @Override
- public Object invoke(MethodInvocation invocation) throws Throwable {
-
- try {
-
- // Invoke wrapped method
- try {
- return invocation.proceed();
- }
-
- // Ensure any associated session is invalidated if unauthorized
- catch (GuacamoleUnauthorizedException e) {
-
- // Pull authentication token from request
- String token = getAuthenticationToken(invocation);
-
- // If there is an associated auth token, invalidate it
- if (authenticationService.destroyGuacamoleSession(token))
- logger.debug("Implicitly invalidated session for token \"{}\".", token);
-
- // Continue with exception processing
- throw e;
-
- }
-
- }
-
- // Additional credentials are needed
- catch (GuacamoleInsufficientCredentialsException e) {
-
- // Generate default message
- String message = e.getMessage();
- if (message == null)
- message = "Permission denied.";
-
- throw new APIException(
- APIError.Type.INSUFFICIENT_CREDENTIALS,
- message,
- e.getCredentialsInfo().getFields()
- );
- }
-
- // The provided credentials are wrong
- catch (GuacamoleInvalidCredentialsException e) {
-
- // Generate default message
- String message = e.getMessage();
- if (message == null)
- message = "Permission denied.";
-
- throw new APIException(
- APIError.Type.INVALID_CREDENTIALS,
- message,
- e.getCredentialsInfo().getFields()
- );
- }
-
- // Generic permission denied
- catch (GuacamoleSecurityException e) {
-
- // Generate default message
- String message = e.getMessage();
- if (message == null)
- message = "Permission denied.";
-
- throw new APIException(
- APIError.Type.PERMISSION_DENIED,
- message
- );
-
- }
-
- // Arbitrary resource not found
- catch (GuacamoleResourceNotFoundException e) {
-
- // Generate default message
- String message = e.getMessage();
- if (message == null)
- message = "Not found.";
-
- throw new APIException(
- APIError.Type.NOT_FOUND,
- message
- );
-
- }
-
- // Arbitrary bad requests
- catch (GuacamoleClientException e) {
-
- // Generate default message
- String message = e.getMessage();
- if (message == null)
- message = "Invalid request.";
-
- throw new APIException(
- APIError.Type.BAD_REQUEST,
- message
- );
-
- }
-
- // All other errors
- catch (GuacamoleException e) {
-
- // Generate default message
- String message = e.getMessage();
- if (message == null)
- message = "Unexpected server error.";
-
- // Ensure internal errors are logged at the debug level
- logger.debug("Unexpected exception in REST endpoint.", e);
-
- throw new APIException(
- APIError.Type.INTERNAL_ERROR,
- message
- );
-
- }
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/RESTMethodMatcher.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/RESTMethodMatcher.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/RESTMethodMatcher.java
deleted file mode 100644
index 08f14e1..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/RESTMethodMatcher.java
+++ /dev/null
@@ -1,109 +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.
- */
-
-package org.apache.guacamole.net.basic.rest;
-
-import com.google.inject.matcher.AbstractMatcher;
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Method;
-import javax.ws.rs.HttpMethod;
-import org.apache.guacamole.GuacamoleException;
-
-/**
- * A Guice Matcher which matches only methods which throw GuacamoleException
- * (or a subclass thereof) and are explicitly annotated as with an HTTP method
- * annotation like <code>@GET</code> or <code>@POST</code>. Any method which
- * throws GuacamoleException and is annotated with an annotation that is
- * annotated with <code>@HttpMethod</code> will match.
- *
- * @author Michael Jumper
- */
-public class RESTMethodMatcher extends AbstractMatcher<Method> {
-
- /**
- * Returns whether the given method throws the specified exception type,
- * including any subclasses of that type.
- *
- * @param method
- * The method to test.
- *
- * @param exceptionType
- * The exception type to test for.
- *
- * @return
- * true if the given method throws an exception of the specified type,
- * false otherwise.
- */
- private boolean methodThrowsException(Method method,
- Class<? extends Exception> exceptionType) {
-
- // Check whether the method throws an exception of the specified type
- for (Class<?> thrownType : method.getExceptionTypes()) {
- if (exceptionType.isAssignableFrom(thrownType))
- return true;
- }
-
- // No such exception is declared to be thrown
- return false;
-
- }
-
- /**
- * Returns whether the given method is annotated as a REST method. A REST
- * method is annotated with an annotation which is annotated with
- * <code>@HttpMethod</code>.
- *
- * @param method
- * The method to test.
- *
- * @return
- * true if the given method is annotated as a REST method, false
- * otherwise.
- */
- private boolean isRESTMethod(Method method) {
-
- // Check whether the required REST annotations are present
- for (Annotation annotation : method.getAnnotations()) {
-
- // A method is a REST method if it is annotated with @HttpMethod
- Class<? extends Annotation> annotationType = annotation.annotationType();
- if (annotationType.isAnnotationPresent(HttpMethod.class))
- return true;
-
- }
-
- // The method is not an HTTP method
- return false;
-
- }
-
- @Override
- public boolean matches(Method method) {
-
- // Guacamole REST methods are REST methods which throw
- // GuacamoleExceptions
- return isRESTMethod(method)
- && methodThrowsException(method, GuacamoleException.class);
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/RESTServiceModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/RESTServiceModule.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/RESTServiceModule.java
deleted file mode 100644
index 9174aad..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/RESTServiceModule.java
+++ /dev/null
@@ -1,107 +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.
- */
-
-package org.apache.guacamole.net.basic.rest;
-
-import com.google.inject.Scopes;
-import com.google.inject.matcher.Matchers;
-import com.google.inject.servlet.ServletModule;
-import com.sun.jersey.guice.spi.container.servlet.GuiceContainer;
-import org.aopalliance.intercept.MethodInterceptor;
-import org.codehaus.jackson.jaxrs.JacksonJsonProvider;
-import org.apache.guacamole.net.basic.rest.auth.TokenRESTService;
-import org.apache.guacamole.net.basic.rest.connection.ConnectionRESTService;
-import org.apache.guacamole.net.basic.rest.connectiongroup.ConnectionGroupRESTService;
-import org.apache.guacamole.net.basic.rest.activeconnection.ActiveConnectionRESTService;
-import org.apache.guacamole.net.basic.rest.auth.AuthTokenGenerator;
-import org.apache.guacamole.net.basic.rest.auth.AuthenticationService;
-import org.apache.guacamole.net.basic.rest.auth.SecureRandomAuthTokenGenerator;
-import org.apache.guacamole.net.basic.rest.auth.TokenSessionMap;
-import org.apache.guacamole.net.basic.rest.history.HistoryRESTService;
-import org.apache.guacamole.net.basic.rest.language.LanguageRESTService;
-import org.apache.guacamole.net.basic.rest.patch.PatchRESTService;
-import org.apache.guacamole.net.basic.rest.schema.SchemaRESTService;
-import org.apache.guacamole.net.basic.rest.user.UserRESTService;
-
-/**
- * A Guice Module to set up the servlet mappings and authentication-specific
- * dependency injection for the Guacamole REST API.
- *
- * @author James Muehlner
- * @author Michael Jumper
- */
-public class RESTServiceModule extends ServletModule {
-
- /**
- * Singleton instance of TokenSessionMap.
- */
- private final TokenSessionMap tokenSessionMap;
-
- /**
- * Creates a module which handles binding of REST services and related
- * authentication objects, including the singleton TokenSessionMap.
- *
- * @param tokenSessionMap
- * An instance of TokenSessionMap to inject as a singleton wherever
- * needed.
- */
- public RESTServiceModule(TokenSessionMap tokenSessionMap) {
- this.tokenSessionMap = tokenSessionMap;
- }
-
- @Override
- protected void configureServlets() {
-
- // Bind session map
- bind(TokenSessionMap.class).toInstance(tokenSessionMap);
-
- // Bind low-level services
- bind(AuthenticationService.class);
- bind(AuthTokenGenerator.class).to(SecureRandomAuthTokenGenerator.class);
-
- // Automatically translate GuacamoleExceptions for REST methods
- MethodInterceptor interceptor = new RESTExceptionWrapper();
- requestInjection(interceptor);
- bindInterceptor(Matchers.any(), new RESTMethodMatcher(), interceptor);
-
- // Bind convenience services used by the REST API
- bind(ObjectRetrievalService.class);
-
- // Set up the API endpoints
- bind(ActiveConnectionRESTService.class);
- bind(ConnectionGroupRESTService.class);
- bind(ConnectionRESTService.class);
- bind(HistoryRESTService.class);
- bind(LanguageRESTService.class);
- bind(PatchRESTService.class);
- bind(SchemaRESTService.class);
- bind(TokenRESTService.class);
- bind(UserRESTService.class);
-
- // Set up the servlet and JSON mappings
- bind(GuiceContainer.class);
- bind(JacksonJsonProvider.class).in(Scopes.SINGLETON);
- serve("/api/*").with(GuiceContainer.class);
-
- }
-
-}
[26/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Relicense C and JavaScript files.
Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/settings/settingsModule.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/settings/settingsModule.js b/guacamole/src/main/webapp/app/settings/settingsModule.js
index b3d8c06..7adc0d1 100644
--- a/guacamole/src/main/webapp/app/settings/settingsModule.js
+++ b/guacamole/src/main/webapp/app/settings/settingsModule.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/settings/types/ActiveConnectionWrapper.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/settings/types/ActiveConnectionWrapper.js b/guacamole/src/main/webapp/app/settings/types/ActiveConnectionWrapper.js
index abc1af2..18e9032 100644
--- a/guacamole/src/main/webapp/app/settings/types/ActiveConnectionWrapper.js
+++ b/guacamole/src/main/webapp/app/settings/types/ActiveConnectionWrapper.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/settings/types/ConnectionHistoryEntryWrapper.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/settings/types/ConnectionHistoryEntryWrapper.js b/guacamole/src/main/webapp/app/settings/types/ConnectionHistoryEntryWrapper.js
index e2e3726..9794f6a 100644
--- a/guacamole/src/main/webapp/app/settings/types/ConnectionHistoryEntryWrapper.js
+++ b/guacamole/src/main/webapp/app/settings/types/ConnectionHistoryEntryWrapper.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/storage/services/sessionStorageFactory.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/storage/services/sessionStorageFactory.js b/guacamole/src/main/webapp/app/storage/services/sessionStorageFactory.js
index 018ff9e..9ca7b0d 100644
--- a/guacamole/src/main/webapp/app/storage/services/sessionStorageFactory.js
+++ b/guacamole/src/main/webapp/app/storage/services/sessionStorageFactory.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/storage/storageModule.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/storage/storageModule.js b/guacamole/src/main/webapp/app/storage/storageModule.js
index f41860e..219ffe0 100644
--- a/guacamole/src/main/webapp/app/storage/storageModule.js
+++ b/guacamole/src/main/webapp/app/storage/storageModule.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/textInput/directives/guacKey.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/textInput/directives/guacKey.js b/guacamole/src/main/webapp/app/textInput/directives/guacKey.js
index f6dd6f4..e13e3f9 100644
--- a/guacamole/src/main/webapp/app/textInput/directives/guacKey.js
+++ b/guacamole/src/main/webapp/app/textInput/directives/guacKey.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/textInput/directives/guacTextInput.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/textInput/directives/guacTextInput.js b/guacamole/src/main/webapp/app/textInput/directives/guacTextInput.js
index 00d3fd2..3a4ac20 100644
--- a/guacamole/src/main/webapp/app/textInput/directives/guacTextInput.js
+++ b/guacamole/src/main/webapp/app/textInput/directives/guacTextInput.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/textInput/textInputModule.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/textInput/textInputModule.js b/guacamole/src/main/webapp/app/textInput/textInputModule.js
index 89a1e79..7fd3445 100644
--- a/guacamole/src/main/webapp/app/textInput/textInputModule.js
+++ b/guacamole/src/main/webapp/app/textInput/textInputModule.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/touch/directives/guacTouchDrag.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/touch/directives/guacTouchDrag.js b/guacamole/src/main/webapp/app/touch/directives/guacTouchDrag.js
index 9cb8f45..ff38797 100644
--- a/guacamole/src/main/webapp/app/touch/directives/guacTouchDrag.js
+++ b/guacamole/src/main/webapp/app/touch/directives/guacTouchDrag.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/touch/directives/guacTouchPinch.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/touch/directives/guacTouchPinch.js b/guacamole/src/main/webapp/app/touch/directives/guacTouchPinch.js
index 9a3efea..5195dd4 100644
--- a/guacamole/src/main/webapp/app/touch/directives/guacTouchPinch.js
+++ b/guacamole/src/main/webapp/app/touch/directives/guacTouchPinch.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/touch/touchModule.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/touch/touchModule.js b/guacamole/src/main/webapp/app/touch/touchModule.js
index 3a86c33..751c9ae 100644
--- a/guacamole/src/main/webapp/app/touch/touchModule.js
+++ b/guacamole/src/main/webapp/app/touch/touchModule.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
[34/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Relicense C and JavaScript files.
Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleConnectionRecordSet.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleConnectionRecordSet.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleConnectionRecordSet.java
index f1c2efb..b29caac 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleConnectionRecordSet.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleConnectionRecordSet.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.auth.simple;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleDirectory.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleDirectory.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleDirectory.java
index b39be6f..89f0940 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleDirectory.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleDirectory.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.auth.simple;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleObjectPermissionSet.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleObjectPermissionSet.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleObjectPermissionSet.java
index 73889d1..5862752 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleObjectPermissionSet.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleObjectPermissionSet.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.auth.simple;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleSystemPermissionSet.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleSystemPermissionSet.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleSystemPermissionSet.java
index 24c2f6a..79fcf3f 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleSystemPermissionSet.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleSystemPermissionSet.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.auth.simple;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleUser.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleUser.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleUser.java
index 13228ce..da169fc 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleUser.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleUser.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.auth.simple;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleUserContext.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleUserContext.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleUserContext.java
index c564d73..24cbcc3 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleUserContext.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleUserContext.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.auth.simple;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleUserDirectory.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleUserDirectory.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleUserDirectory.java
index 7e4a2d8..8b31e32 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleUserDirectory.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleUserDirectory.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.auth.simple;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/package-info.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/package-info.java
index 24e952a..3ac95c3 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/package-info.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/package-info.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/event/AuthenticationFailureEvent.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/event/AuthenticationFailureEvent.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/event/AuthenticationFailureEvent.java
index 1bf878a..202962e 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/event/AuthenticationFailureEvent.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/event/AuthenticationFailureEvent.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.event;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/event/AuthenticationSuccessEvent.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/event/AuthenticationSuccessEvent.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/event/AuthenticationSuccessEvent.java
index d383f38..74c323f 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/event/AuthenticationSuccessEvent.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/event/AuthenticationSuccessEvent.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.event;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/event/CredentialEvent.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/event/CredentialEvent.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/event/CredentialEvent.java
index 62c9cdc..e3428d0 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/event/CredentialEvent.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/event/CredentialEvent.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.event;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/event/TunnelCloseEvent.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/event/TunnelCloseEvent.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/event/TunnelCloseEvent.java
index 4619f77..9ddb365 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/event/TunnelCloseEvent.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/event/TunnelCloseEvent.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.event;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/event/TunnelConnectEvent.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/event/TunnelConnectEvent.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/event/TunnelConnectEvent.java
index e54f7a2..76e13fd 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/event/TunnelConnectEvent.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/event/TunnelConnectEvent.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.event;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/event/TunnelEvent.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/event/TunnelEvent.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/event/TunnelEvent.java
index d4d3c37..a20012e 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/event/TunnelEvent.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/event/TunnelEvent.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.event;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/event/UserEvent.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/event/UserEvent.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/event/UserEvent.java
index 790dab4..14a5292 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/event/UserEvent.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/event/UserEvent.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.event;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/event/listener/AuthenticationFailureListener.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/event/listener/AuthenticationFailureListener.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/event/listener/AuthenticationFailureListener.java
index acb30f5..af9d3a5 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/event/listener/AuthenticationFailureListener.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/event/listener/AuthenticationFailureListener.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.event.listener;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/event/listener/AuthenticationSuccessListener.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/event/listener/AuthenticationSuccessListener.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/event/listener/AuthenticationSuccessListener.java
index e360906..8ac9fe3 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/event/listener/AuthenticationSuccessListener.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/event/listener/AuthenticationSuccessListener.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.event.listener;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/event/listener/TunnelCloseListener.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/event/listener/TunnelCloseListener.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/event/listener/TunnelCloseListener.java
index 7d554dc..effb8b5 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/event/listener/TunnelCloseListener.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/event/listener/TunnelCloseListener.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.event.listener;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/event/listener/TunnelConnectListener.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/event/listener/TunnelConnectListener.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/event/listener/TunnelConnectListener.java
index a582bc9..bc41588 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/event/listener/TunnelConnectListener.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/event/listener/TunnelConnectListener.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.event.listener;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/event/listener/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/event/listener/package-info.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/event/listener/package-info.java
index 9853f57..b499ed0 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/event/listener/package-info.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/event/listener/package-info.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/event/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/event/package-info.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/event/package-info.java
index 091aa16..2088a7f 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/event/package-info.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/event/package-info.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/properties/BooleanGuacamoleProperty.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/properties/BooleanGuacamoleProperty.java b/guacamole-ext/src/main/java/org/apache/guacamole/properties/BooleanGuacamoleProperty.java
index e29a5b8..be8cac8 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/properties/BooleanGuacamoleProperty.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/properties/BooleanGuacamoleProperty.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.properties;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/properties/FileGuacamoleProperty.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/properties/FileGuacamoleProperty.java b/guacamole-ext/src/main/java/org/apache/guacamole/properties/FileGuacamoleProperty.java
index 0d72f2f..03eb717 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/properties/FileGuacamoleProperty.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/properties/FileGuacamoleProperty.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.properties;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/properties/GuacamoleHome.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/properties/GuacamoleHome.java b/guacamole-ext/src/main/java/org/apache/guacamole/properties/GuacamoleHome.java
index bafa403..598969e 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/properties/GuacamoleHome.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/properties/GuacamoleHome.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.properties;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/properties/GuacamoleProperties.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/properties/GuacamoleProperties.java b/guacamole-ext/src/main/java/org/apache/guacamole/properties/GuacamoleProperties.java
index 5a1b3cd..eb05ab1 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/properties/GuacamoleProperties.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/properties/GuacamoleProperties.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.properties;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/properties/GuacamoleProperty.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/properties/GuacamoleProperty.java b/guacamole-ext/src/main/java/org/apache/guacamole/properties/GuacamoleProperty.java
index d9da536..5bd6df8 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/properties/GuacamoleProperty.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/properties/GuacamoleProperty.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.properties;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/properties/IntegerGuacamoleProperty.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/properties/IntegerGuacamoleProperty.java b/guacamole-ext/src/main/java/org/apache/guacamole/properties/IntegerGuacamoleProperty.java
index f0ca447..0b58629 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/properties/IntegerGuacamoleProperty.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/properties/IntegerGuacamoleProperty.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.properties;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/properties/LongGuacamoleProperty.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/properties/LongGuacamoleProperty.java b/guacamole-ext/src/main/java/org/apache/guacamole/properties/LongGuacamoleProperty.java
index 699d4f5..bca8538 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/properties/LongGuacamoleProperty.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/properties/LongGuacamoleProperty.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.properties;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/properties/StringGuacamoleProperty.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/properties/StringGuacamoleProperty.java b/guacamole-ext/src/main/java/org/apache/guacamole/properties/StringGuacamoleProperty.java
index 8562d4c..61bd67f 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/properties/StringGuacamoleProperty.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/properties/StringGuacamoleProperty.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.properties;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/properties/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/properties/package-info.java b/guacamole-ext/src/main/java/org/apache/guacamole/properties/package-info.java
index 0fc0e48..8db9d75 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/properties/package-info.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/properties/package-info.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/protocols/ProtocolInfo.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/protocols/ProtocolInfo.java b/guacamole-ext/src/main/java/org/apache/guacamole/protocols/ProtocolInfo.java
index 5580b06..ec33231 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/protocols/ProtocolInfo.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/protocols/ProtocolInfo.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.protocols;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/token/StandardTokens.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/token/StandardTokens.java b/guacamole-ext/src/main/java/org/apache/guacamole/token/StandardTokens.java
index e158d7b..8c4655a 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/token/StandardTokens.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/token/StandardTokens.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2016 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.token;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/token/TokenFilter.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/token/TokenFilter.java b/guacamole-ext/src/main/java/org/apache/guacamole/token/TokenFilter.java
index 4ef9485..eaea700 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/token/TokenFilter.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/token/TokenFilter.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.token;
[43/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Remove copyright notice from template HTML (the DOM tree is insane
otherwise). Add required license header to index.html.
Posted by jm...@apache.org.
GUACAMOLE-1: Remove copyright notice from template HTML (the DOM tree is insane otherwise). Add required license header to index.html.
Project: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/commit/98a32fee
Tree: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/tree/98a32fee
Diff: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/diff/98a32fee
Branch: refs/heads/master
Commit: 98a32feed87e7b3c17fe9c617bbd9a4e75122fda
Parents: 1810ec9
Author: Michael Jumper <mj...@apache.org>
Authored: Fri Mar 25 10:50:55 2016 -0700
Committer: Michael Jumper <mj...@apache.org>
Committed: Mon Mar 28 20:50:22 2016 -0700
----------------------------------------------------------------------
.../src/main/webapp/index.html | 21 -----------
.../webapp/app/client/templates/client.html | 21 -----------
.../main/webapp/app/client/templates/file.html | 21 -----------
.../webapp/app/client/templates/guacClient.html | 21 -----------
.../app/client/templates/guacFileBrowser.html | 21 -----------
.../app/client/templates/guacFileTransfer.html | 21 -----------
.../templates/guacFileTransferManager.html | 21 -----------
.../app/client/templates/guacThumbnail.html | 21 -----------
.../app/client/templates/guacViewport.html | 21 -----------
.../webapp/app/element/templates/blank.html | 21 -----------
.../main/webapp/app/form/templates/form.html | 21 -----------
.../webapp/app/form/templates/formField.html | 21 -----------
.../app/groupList/templates/guacGroupList.html | 21 -----------
.../templates/guacGroupListFilter.html | 21 -----------
.../webapp/app/home/templates/connection.html | 21 -----------
.../app/home/templates/connectionGroup.html | 21 -----------
.../home/templates/guacRecentConnections.html | 21 -----------
.../main/webapp/app/home/templates/home.html | 21 -----------
.../webapp/app/list/templates/guacFilter.html | 21 -----------
.../webapp/app/list/templates/guacPager.html | 21 -----------
.../main/webapp/app/login/templates/login.html | 21 -----------
.../templates/connectionGroupPermission.html | 21 -----------
.../manage/templates/connectionPermission.html | 21 -----------
.../app/manage/templates/locationChooser.html | 21 -----------
.../locationChooserConnectionGroup.html | 21 -----------
.../app/manage/templates/manageConnection.html | 21 -----------
.../manage/templates/manageConnectionGroup.html | 21 -----------
.../webapp/app/manage/templates/manageUser.html | 21 -----------
.../app/navigation/templates/guacPageList.html | 21 -----------
.../app/navigation/templates/guacUserMenu.html | 21 -----------
.../templates/guacNotification.html | 21 -----------
.../main/webapp/app/osk/templates/guacOsk.html | 21 -----------
.../app/settings/templates/connection.html | 21 -----------
.../app/settings/templates/connectionGroup.html | 21 -----------
.../webapp/app/settings/templates/settings.html | 21 -----------
.../templates/settingsConnectionHistory.html | 21 -----------
.../settings/templates/settingsConnections.html | 21 -----------
.../settings/templates/settingsPreferences.html | 21 -----------
.../settings/templates/settingsSessions.html | 21 -----------
.../app/settings/templates/settingsUsers.html | 21 -----------
.../webapp/app/textInput/templates/guacKey.html | 21 -----------
.../app/textInput/templates/guacTextInput.html | 21 -----------
guacamole/src/main/webapp/index.html | 39 +++++++++-----------
43 files changed, 18 insertions(+), 903 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/98a32fee/doc/guacamole-example/src/main/webapp/index.html
----------------------------------------------------------------------
diff --git a/doc/guacamole-example/src/main/webapp/index.html b/doc/guacamole-example/src/main/webapp/index.html
index 901ec42..6b31813 100644
--- a/doc/guacamole-example/src/main/webapp/index.html
+++ b/doc/guacamole-example/src/main/webapp/index.html
@@ -1,25 +1,4 @@
<!DOCTYPE HTML>
-<!--
- 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.
--->
<html>
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/98a32fee/guacamole/src/main/webapp/app/client/templates/client.html
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/client/templates/client.html b/guacamole/src/main/webapp/app/client/templates/client.html
index b2292ed..f56b506 100644
--- a/guacamole/src/main/webapp/app/client/templates/client.html
+++ b/guacamole/src/main/webapp/app/client/templates/client.html
@@ -1,24 +1,3 @@
-<!--
- 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.
--->
<guac-viewport>
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/98a32fee/guacamole/src/main/webapp/app/client/templates/file.html
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/client/templates/file.html b/guacamole/src/main/webapp/app/client/templates/file.html
index 2bd86ea..83b6b2a 100644
--- a/guacamole/src/main/webapp/app/client/templates/file.html
+++ b/guacamole/src/main/webapp/app/client/templates/file.html
@@ -1,25 +1,4 @@
<div class="list-item">
- <!--
- 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.
- -->
<!-- Filename and icon -->
<div class="caption">
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/98a32fee/guacamole/src/main/webapp/app/client/templates/guacClient.html
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/client/templates/guacClient.html b/guacamole/src/main/webapp/app/client/templates/guacClient.html
index 0642b17..973322f 100644
--- a/guacamole/src/main/webapp/app/client/templates/guacClient.html
+++ b/guacamole/src/main/webapp/app/client/templates/guacClient.html
@@ -1,25 +1,4 @@
<div class="main" guac-resize="mainElementResized">
- <!--
- 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.
- -->
<!-- Display -->
<div class="displayOuter">
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/98a32fee/guacamole/src/main/webapp/app/client/templates/guacFileBrowser.html
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/client/templates/guacFileBrowser.html b/guacamole/src/main/webapp/app/client/templates/guacFileBrowser.html
index 2fd57c7..70ea53d 100644
--- a/guacamole/src/main/webapp/app/client/templates/guacFileBrowser.html
+++ b/guacamole/src/main/webapp/app/client/templates/guacFileBrowser.html
@@ -1,25 +1,4 @@
<div class="file-browser">
- <!--
- 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.
- -->
<!-- Current directory contents -->
<div class="current-directory-contents"></div>
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/98a32fee/guacamole/src/main/webapp/app/client/templates/guacFileTransfer.html
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/client/templates/guacFileTransfer.html b/guacamole/src/main/webapp/app/client/templates/guacFileTransfer.html
index 8af545b..dd96baa 100644
--- a/guacamole/src/main/webapp/app/client/templates/guacFileTransfer.html
+++ b/guacamole/src/main/webapp/app/client/templates/guacFileTransfer.html
@@ -1,25 +1,4 @@
<div class="transfer" ng-class="{'in-progress': isInProgress(), 'savable': isSavable(), 'error': hasError()}" ng-click="save()">
- <!--
- 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.
- -->
<!-- Overall status of transfer -->
<div class="transfer-status">
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/98a32fee/guacamole/src/main/webapp/app/client/templates/guacFileTransferManager.html
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/client/templates/guacFileTransferManager.html b/guacamole/src/main/webapp/app/client/templates/guacFileTransferManager.html
index fc2a22f..2a7dd5a 100644
--- a/guacamole/src/main/webapp/app/client/templates/guacFileTransferManager.html
+++ b/guacamole/src/main/webapp/app/client/templates/guacFileTransferManager.html
@@ -1,25 +1,4 @@
<div class="transfer-manager">
- <!--
- 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.
- -->
<!-- File transfer manager header -->
<div class="header">
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/98a32fee/guacamole/src/main/webapp/app/client/templates/guacThumbnail.html
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/client/templates/guacThumbnail.html b/guacamole/src/main/webapp/app/client/templates/guacThumbnail.html
index 1dd1c61..61e597e 100644
--- a/guacamole/src/main/webapp/app/client/templates/guacThumbnail.html
+++ b/guacamole/src/main/webapp/app/client/templates/guacThumbnail.html
@@ -1,25 +1,4 @@
<div class="thumbnail-main" guac-resize="updateDisplayScale">
- <!--
- 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.
- -->
<!-- Display -->
<div class="display">
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/98a32fee/guacamole/src/main/webapp/app/client/templates/guacViewport.html
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/client/templates/guacViewport.html b/guacamole/src/main/webapp/app/client/templates/guacViewport.html
index e31e61a..28081ec 100644
--- a/guacamole/src/main/webapp/app/client/templates/guacViewport.html
+++ b/guacamole/src/main/webapp/app/client/templates/guacViewport.html
@@ -1,23 +1,2 @@
<div class="viewport" ng-transclude>
- <!--
- 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.
- -->
</div>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/98a32fee/guacamole/src/main/webapp/app/element/templates/blank.html
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/element/templates/blank.html b/guacamole/src/main/webapp/app/element/templates/blank.html
index 0a2bef6..47dc938 100644
--- a/guacamole/src/main/webapp/app/element/templates/blank.html
+++ b/guacamole/src/main/webapp/app/element/templates/blank.html
@@ -4,26 +4,5 @@
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>_</title>
</head>
- <!--
- 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.
- -->
<body></body>
</html>
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/98a32fee/guacamole/src/main/webapp/app/form/templates/form.html
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/form/templates/form.html b/guacamole/src/main/webapp/app/form/templates/form.html
index 1f9b6d8..6013543 100644
--- a/guacamole/src/main/webapp/app/form/templates/form.html
+++ b/guacamole/src/main/webapp/app/form/templates/form.html
@@ -1,26 +1,5 @@
<div class="form-group">
<div ng-repeat="form in forms" class="form">
- <!--
- Copyright 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.
- -->
<!-- Form name -->
<h3 ng-show="form.name">{{getSectionHeader(form) | translate}}</h3>
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/98a32fee/guacamole/src/main/webapp/app/form/templates/formField.html
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/form/templates/formField.html b/guacamole/src/main/webapp/app/form/templates/formField.html
index a90eec4..f8d3303 100644
--- a/guacamole/src/main/webapp/app/form/templates/formField.html
+++ b/guacamole/src/main/webapp/app/form/templates/formField.html
@@ -1,25 +1,4 @@
<label class="labeled-field" ng-class="{empty: !model}">
- <!--
- Copyright 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.
- -->
<!-- Field header -->
<span class="field-header">{{getFieldHeader() | translate}}</span>
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/98a32fee/guacamole/src/main/webapp/app/groupList/templates/guacGroupList.html
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/groupList/templates/guacGroupList.html b/guacamole/src/main/webapp/app/groupList/templates/guacGroupList.html
index 9059ab6..19d9fd5 100644
--- a/guacamole/src/main/webapp/app/groupList/templates/guacGroupList.html
+++ b/guacamole/src/main/webapp/app/groupList/templates/guacGroupList.html
@@ -1,25 +1,4 @@
<div class="group-list">
- <!--
- 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.
- -->
<script type="text/ng-template" id="nestedGroup.html">
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/98a32fee/guacamole/src/main/webapp/app/groupList/templates/guacGroupListFilter.html
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/groupList/templates/guacGroupListFilter.html b/guacamole/src/main/webapp/app/groupList/templates/guacGroupListFilter.html
index 9ac3a82..d4d160b 100644
--- a/guacamole/src/main/webapp/app/groupList/templates/guacGroupListFilter.html
+++ b/guacamole/src/main/webapp/app/groupList/templates/guacGroupListFilter.html
@@ -1,25 +1,4 @@
<div class="group-list-filter filter">
- <!--
- 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.
- -->
<!-- Filter string -->
<input class="search-string" placeholder="{{placeholder()}}" type="text" ng-model="searchString"/>
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/98a32fee/guacamole/src/main/webapp/app/home/templates/connection.html
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/home/templates/connection.html b/guacamole/src/main/webapp/app/home/templates/connection.html
index 87f101a..01f58bb 100644
--- a/guacamole/src/main/webapp/app/home/templates/connection.html
+++ b/guacamole/src/main/webapp/app/home/templates/connection.html
@@ -1,25 +1,4 @@
<a ng-href="#/client/{{context.getClientIdentifier(item)}}">
- <!--
- 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.
- -->
<div class="caption" ng-class="{active: item.getActiveConnections()}">
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/98a32fee/guacamole/src/main/webapp/app/home/templates/connectionGroup.html
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/home/templates/connectionGroup.html b/guacamole/src/main/webapp/app/home/templates/connectionGroup.html
index 3f5e1ca..1fe1515 100644
--- a/guacamole/src/main/webapp/app/home/templates/connectionGroup.html
+++ b/guacamole/src/main/webapp/app/home/templates/connectionGroup.html
@@ -1,25 +1,4 @@
<span class="name">
- <!--
- 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.
- -->
<a ng-show="item.isBalancing" ng-href="#/client/{{context.getClientIdentifier(item)}}">{{item.name}}</a>
<span ng-show="!item.isBalancing">{{item.name}}</span>
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/98a32fee/guacamole/src/main/webapp/app/home/templates/guacRecentConnections.html
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/home/templates/guacRecentConnections.html b/guacamole/src/main/webapp/app/home/templates/guacRecentConnections.html
index 0f1985f..c505389 100644
--- a/guacamole/src/main/webapp/app/home/templates/guacRecentConnections.html
+++ b/guacamole/src/main/webapp/app/home/templates/guacRecentConnections.html
@@ -1,25 +1,4 @@
<div>
- <!--
- 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.
- -->
<!-- Text displayed if no recent connections exist -->
<p class="placeholder" ng-hide="hasRecentConnections()">{{'HOME.INFO_NO_RECENT_CONNECTIONS' | translate}}</p>
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/98a32fee/guacamole/src/main/webapp/app/home/templates/home.html
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/home/templates/home.html b/guacamole/src/main/webapp/app/home/templates/home.html
index d38d5da..7271945 100644
--- a/guacamole/src/main/webapp/app/home/templates/home.html
+++ b/guacamole/src/main/webapp/app/home/templates/home.html
@@ -1,24 +1,3 @@
-<!--
- 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.
--->
<div class="view" ng-class="{loading: !isLoaded()}">
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/98a32fee/guacamole/src/main/webapp/app/list/templates/guacFilter.html
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/list/templates/guacFilter.html b/guacamole/src/main/webapp/app/list/templates/guacFilter.html
index a5eeb0c..1e6dad4 100644
--- a/guacamole/src/main/webapp/app/list/templates/guacFilter.html
+++ b/guacamole/src/main/webapp/app/list/templates/guacFilter.html
@@ -1,25 +1,4 @@
<div class="filter">
- <!--
- 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.
- -->
<!-- Filter string -->
<input class="search-string" placeholder="{{placeholder()}}" type="text" ng-model="searchString"/>
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/98a32fee/guacamole/src/main/webapp/app/list/templates/guacPager.html
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/list/templates/guacPager.html b/guacamole/src/main/webapp/app/list/templates/guacPager.html
index 0ebe152..34e56fc 100644
--- a/guacamole/src/main/webapp/app/list/templates/guacPager.html
+++ b/guacamole/src/main/webapp/app/list/templates/guacPager.html
@@ -1,25 +1,4 @@
<div class="pager" ng-show="pageNumbers.length > 1">
- <!--
- 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.
- -->
<!-- First / Previous -->
<div class="first-page icon" ng-class="{disabled: !canSelectPage(firstPage)}" ng-click="selectPage(firstPage)"/>
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/98a32fee/guacamole/src/main/webapp/app/login/templates/login.html
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/login/templates/login.html b/guacamole/src/main/webapp/app/login/templates/login.html
index 5a2c11e..65c0520 100644
--- a/guacamole/src/main/webapp/app/login/templates/login.html
+++ b/guacamole/src/main/webapp/app/login/templates/login.html
@@ -1,25 +1,4 @@
<div class="login-ui" ng-class="{error: loginError, continuation: isContinuation(), initial: !isContinuation()}" >
- <!--
- Copyright 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.
- -->
<!-- Login error message -->
<p class="login-error">{{loginError | translate}}</p>
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/98a32fee/guacamole/src/main/webapp/app/manage/templates/connectionGroupPermission.html
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/manage/templates/connectionGroupPermission.html b/guacamole/src/main/webapp/app/manage/templates/connectionGroupPermission.html
index 86ebcaf..b43376b 100644
--- a/guacamole/src/main/webapp/app/manage/templates/connectionGroupPermission.html
+++ b/guacamole/src/main/webapp/app/manage/templates/connectionGroupPermission.html
@@ -1,25 +1,4 @@
<div class="choice">
- <!--
- 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.
- -->
<input type="checkbox" ng-model="context.getPermissionFlags().connectionGroupPermissions.READ[item.identifier]"
ng-change="context.connectionGroupPermissionChanged(item.identifier)"/>
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/98a32fee/guacamole/src/main/webapp/app/manage/templates/connectionPermission.html
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/manage/templates/connectionPermission.html b/guacamole/src/main/webapp/app/manage/templates/connectionPermission.html
index 37985d7..8ccaf44 100644
--- a/guacamole/src/main/webapp/app/manage/templates/connectionPermission.html
+++ b/guacamole/src/main/webapp/app/manage/templates/connectionPermission.html
@@ -1,25 +1,4 @@
<div class="choice">
- <!--
- 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.
- -->
<!-- Connection icon -->
<div class="protocol">
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/98a32fee/guacamole/src/main/webapp/app/manage/templates/locationChooser.html
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/manage/templates/locationChooser.html b/guacamole/src/main/webapp/app/manage/templates/locationChooser.html
index 0075f9a..57c957e 100644
--- a/guacamole/src/main/webapp/app/manage/templates/locationChooser.html
+++ b/guacamole/src/main/webapp/app/manage/templates/locationChooser.html
@@ -1,25 +1,4 @@
<div class="location-chooser">
- <!--
- Copyright 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.
- -->
<!-- Chosen group name -->
<div ng-click="toggleMenu()" class="location">{{chosenConnectionGroupName}}</div>
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/98a32fee/guacamole/src/main/webapp/app/manage/templates/locationChooserConnectionGroup.html
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/manage/templates/locationChooserConnectionGroup.html b/guacamole/src/main/webapp/app/manage/templates/locationChooserConnectionGroup.html
index fefaa7e..b437150 100644
--- a/guacamole/src/main/webapp/app/manage/templates/locationChooserConnectionGroup.html
+++ b/guacamole/src/main/webapp/app/manage/templates/locationChooserConnectionGroup.html
@@ -1,25 +1,4 @@
<span class="name" ng-click="context.chooseGroup(item.wrappedItem)">
- <!--
- 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.
- -->
{{item.name}}
</span>
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/98a32fee/guacamole/src/main/webapp/app/manage/templates/manageConnection.html
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/manage/templates/manageConnection.html b/guacamole/src/main/webapp/app/manage/templates/manageConnection.html
index a38e705..2bf0fad 100644
--- a/guacamole/src/main/webapp/app/manage/templates/manageConnection.html
+++ b/guacamole/src/main/webapp/app/manage/templates/manageConnection.html
@@ -1,24 +1,3 @@
-<!--
-Copyright 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.
--->
<div class="view" ng-class="{loading: !isLoaded()}">
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/98a32fee/guacamole/src/main/webapp/app/manage/templates/manageConnectionGroup.html
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/manage/templates/manageConnectionGroup.html b/guacamole/src/main/webapp/app/manage/templates/manageConnectionGroup.html
index 956b898..0b95251 100644
--- a/guacamole/src/main/webapp/app/manage/templates/manageConnectionGroup.html
+++ b/guacamole/src/main/webapp/app/manage/templates/manageConnectionGroup.html
@@ -1,24 +1,3 @@
-<!--
-Copyright 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.
--->
<div class="view" ng-class="{loading: !isLoaded()}">
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/98a32fee/guacamole/src/main/webapp/app/manage/templates/manageUser.html
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/manage/templates/manageUser.html b/guacamole/src/main/webapp/app/manage/templates/manageUser.html
index 8586654..14edccd 100644
--- a/guacamole/src/main/webapp/app/manage/templates/manageUser.html
+++ b/guacamole/src/main/webapp/app/manage/templates/manageUser.html
@@ -1,24 +1,3 @@
-<!--
-Copyright 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.
--->
<div class="manage-user view" ng-class="{loading: !isLoaded()}">
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/98a32fee/guacamole/src/main/webapp/app/navigation/templates/guacPageList.html
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/navigation/templates/guacPageList.html b/guacamole/src/main/webapp/app/navigation/templates/guacPageList.html
index 2f3b8aa..efadd0a 100644
--- a/guacamole/src/main/webapp/app/navigation/templates/guacPageList.html
+++ b/guacamole/src/main/webapp/app/navigation/templates/guacPageList.html
@@ -1,25 +1,4 @@
<div class="page-list" ng-show="levels.length">
- <!--
- 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.
- -->
<!-- Navigation links -->
<ul class="page-list-level" ng-repeat="level in levels track by $index">
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/98a32fee/guacamole/src/main/webapp/app/navigation/templates/guacUserMenu.html
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/navigation/templates/guacUserMenu.html b/guacamole/src/main/webapp/app/navigation/templates/guacUserMenu.html
index 8df34a5..4acd474 100644
--- a/guacamole/src/main/webapp/app/navigation/templates/guacUserMenu.html
+++ b/guacamole/src/main/webapp/app/navigation/templates/guacUserMenu.html
@@ -1,25 +1,4 @@
<div class="user-menu">
- <!--
- 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.
- -->
<div class="user-menu-dropdown" ng-class="{open: menuShown}" ng-click="toggleMenu()">
<div class="username">{{username}}</div>
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/98a32fee/guacamole/src/main/webapp/app/notification/templates/guacNotification.html
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/notification/templates/guacNotification.html b/guacamole/src/main/webapp/app/notification/templates/guacNotification.html
index 1b1cae6..db3360a 100644
--- a/guacamole/src/main/webapp/app/notification/templates/guacNotification.html
+++ b/guacamole/src/main/webapp/app/notification/templates/guacNotification.html
@@ -1,25 +1,4 @@
<div class="notification" ng-class="notification.className">
- <!--
- 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.
- -->
<!-- Notification title -->
<div ng-show="notification.title" class="title-bar">
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/98a32fee/guacamole/src/main/webapp/app/osk/templates/guacOsk.html
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/osk/templates/guacOsk.html b/guacamole/src/main/webapp/app/osk/templates/guacOsk.html
index 097d1b3..344c214 100644
--- a/guacamole/src/main/webapp/app/osk/templates/guacOsk.html
+++ b/guacamole/src/main/webapp/app/osk/templates/guacOsk.html
@@ -1,23 +1,2 @@
<div class="osk" guac-resize="keyboardResized">
- <!--
- 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.
- -->
</div>
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/98a32fee/guacamole/src/main/webapp/app/settings/templates/connection.html
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/settings/templates/connection.html b/guacamole/src/main/webapp/app/settings/templates/connection.html
index 7514ade..0a6001c 100644
--- a/guacamole/src/main/webapp/app/settings/templates/connection.html
+++ b/guacamole/src/main/webapp/app/settings/templates/connection.html
@@ -1,25 +1,4 @@
<a ng-href="#/manage/{{item.dataSource}}/connections/{{item.identifier}}">
- <!--
- 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.
- -->
<div class="caption" ng-class="{active: item.getActiveConnections()}">
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/98a32fee/guacamole/src/main/webapp/app/settings/templates/connectionGroup.html
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/settings/templates/connectionGroup.html b/guacamole/src/main/webapp/app/settings/templates/connectionGroup.html
index ebfb180..8b480f1 100644
--- a/guacamole/src/main/webapp/app/settings/templates/connectionGroup.html
+++ b/guacamole/src/main/webapp/app/settings/templates/connectionGroup.html
@@ -1,25 +1,4 @@
<a ng-href="#/manage/{{item.dataSource}}/connectionGroups/{{item.identifier}}">
- <!--
- 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.
- -->
<span class="name">{{item.name}}</span>
</a>
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/98a32fee/guacamole/src/main/webapp/app/settings/templates/settings.html
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/settings/templates/settings.html b/guacamole/src/main/webapp/app/settings/templates/settings.html
index 9880ee2..eec1f97 100644
--- a/guacamole/src/main/webapp/app/settings/templates/settings.html
+++ b/guacamole/src/main/webapp/app/settings/templates/settings.html
@@ -1,24 +1,3 @@
-<!--
-Copyright 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.
--->
<div class="view">
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/98a32fee/guacamole/src/main/webapp/app/settings/templates/settingsConnectionHistory.html
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/settings/templates/settingsConnectionHistory.html b/guacamole/src/main/webapp/app/settings/templates/settingsConnectionHistory.html
index c22560e..b03ea3e 100644
--- a/guacamole/src/main/webapp/app/settings/templates/settingsConnectionHistory.html
+++ b/guacamole/src/main/webapp/app/settings/templates/settingsConnectionHistory.html
@@ -1,25 +1,4 @@
<div class="settings section connectionHistory">
- <!--
- Copyright 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.
- -->
<!-- Connection history -->
<p>{{'SETTINGS_CONNECTION_HISTORY.HELP_CONNECTION_HISTORY' | translate}}</p>
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/98a32fee/guacamole/src/main/webapp/app/settings/templates/settingsConnections.html
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/settings/templates/settingsConnections.html b/guacamole/src/main/webapp/app/settings/templates/settingsConnections.html
index ca61736..ea1805b 100644
--- a/guacamole/src/main/webapp/app/settings/templates/settingsConnections.html
+++ b/guacamole/src/main/webapp/app/settings/templates/settingsConnections.html
@@ -1,25 +1,4 @@
<div class="settings section connections" ng-class="{loading: !isLoaded()}">
- <!--
- Copyright 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.
- -->
<!-- Connection management -->
<p>{{'SETTINGS_CONNECTIONS.HELP_CONNECTIONS' | translate}}</p>
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/98a32fee/guacamole/src/main/webapp/app/settings/templates/settingsPreferences.html
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/settings/templates/settingsPreferences.html b/guacamole/src/main/webapp/app/settings/templates/settingsPreferences.html
index e202c88..9ce0f90 100644
--- a/guacamole/src/main/webapp/app/settings/templates/settingsPreferences.html
+++ b/guacamole/src/main/webapp/app/settings/templates/settingsPreferences.html
@@ -1,25 +1,4 @@
<div class="preferences" ng-class="{loading: !isLoaded()}">
- <!--
- Copyright 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.
- -->
<!-- Language settings -->
<div class="settings section language">
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/98a32fee/guacamole/src/main/webapp/app/settings/templates/settingsSessions.html
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/settings/templates/settingsSessions.html b/guacamole/src/main/webapp/app/settings/templates/settingsSessions.html
index 405c9d3..917c7db 100644
--- a/guacamole/src/main/webapp/app/settings/templates/settingsSessions.html
+++ b/guacamole/src/main/webapp/app/settings/templates/settingsSessions.html
@@ -1,25 +1,4 @@
<div class="settings section sessions" ng-class="{loading: !isLoaded()}">
- <!--
- Copyright 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.
- -->
<!-- User Session management -->
<p>{{'SETTINGS_SESSIONS.HELP_SESSIONS' | translate}}</p>
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/98a32fee/guacamole/src/main/webapp/app/settings/templates/settingsUsers.html
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/settings/templates/settingsUsers.html b/guacamole/src/main/webapp/app/settings/templates/settingsUsers.html
index e6bd5c9..41dac6c 100644
--- a/guacamole/src/main/webapp/app/settings/templates/settingsUsers.html
+++ b/guacamole/src/main/webapp/app/settings/templates/settingsUsers.html
@@ -1,25 +1,4 @@
<div class="settings section users" ng-class="{loading: !isLoaded()}">
- <!--
- Copyright 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.
- -->
<!-- User management -->
<p>{{'SETTINGS_USERS.HELP_USERS' | translate}}</p>
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/98a32fee/guacamole/src/main/webapp/app/textInput/templates/guacKey.html
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/textInput/templates/guacKey.html b/guacamole/src/main/webapp/app/textInput/templates/guacKey.html
index 7daa105..61c9672 100644
--- a/guacamole/src/main/webapp/app/textInput/templates/guacKey.html
+++ b/guacamole/src/main/webapp/app/textInput/templates/guacKey.html
@@ -1,25 +1,4 @@
<button class="key" ng-click="updateKey()" ng-class="{pressed: pressed, sticky: sticky}">
- <!--
- 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.
- -->
{{text | translate}}
</button>
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/98a32fee/guacamole/src/main/webapp/app/textInput/templates/guacTextInput.html
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/textInput/templates/guacTextInput.html b/guacamole/src/main/webapp/app/textInput/templates/guacTextInput.html
index a2511b7..cb1c837 100644
--- a/guacamole/src/main/webapp/app/textInput/templates/guacTextInput.html
+++ b/guacamole/src/main/webapp/app/textInput/templates/guacTextInput.html
@@ -1,25 +1,4 @@
<div class="text-input">
- <!--
- 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.
- -->
<!-- Text input target -->
<div class="text-input-field"><div class="sent-history"><div class="sent-text" ng-repeat="text in sentText track by $index">{{text}}</div></div><textarea rows="1" class="target" autocorrect="off" autocapitalize="off"></textarea></div><div class="text-input-buttons"><guac-key keysym="65507" sticky="true" text="'CLIENT.NAME_KEY_CTRL'" pressed="ctrlPressed"></guac-key><guac-key keysym="65513" sticky="true" text="'CLIENT.NAME_KEY_ALT'" pressed="altPressed"></guac-key><guac-key keysym="65307" text="'CLIENT.NAME_KEY_ESC'"></guac-key><guac-key keysym="65289" text="'CLIENT.NAME_KEY_TAB'"></guac-key></div>
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/98a32fee/guacamole/src/main/webapp/index.html
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/index.html b/guacamole/src/main/webapp/index.html
index 2c69db2..36436cf 100644
--- a/guacamole/src/main/webapp/index.html
+++ b/guacamole/src/main/webapp/index.html
@@ -1,4 +1,22 @@
<!DOCTYPE html>
+<!--
+ 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.
+-->
<html ng-app="index" ng-controller="indexController">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
@@ -11,27 +29,6 @@
<link rel="stylesheet" type="text/css" href="app.css?v=${project.version}">
<title ng-bind="page.title | translate"></title>
</head>
- <!--
- Copyright 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.
- -->
<body ng-class="page.bodyClassName">
<!-- Content for logged-in users -->
[04/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Remove useless .net.basic subpackage, now that everything is being renamed.
Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/RESTServiceModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/RESTServiceModule.java b/guacamole/src/main/java/org/apache/guacamole/rest/RESTServiceModule.java
new file mode 100644
index 0000000..5458aec
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/RESTServiceModule.java
@@ -0,0 +1,107 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.rest;
+
+import com.google.inject.Scopes;
+import com.google.inject.matcher.Matchers;
+import com.google.inject.servlet.ServletModule;
+import com.sun.jersey.guice.spi.container.servlet.GuiceContainer;
+import org.aopalliance.intercept.MethodInterceptor;
+import org.codehaus.jackson.jaxrs.JacksonJsonProvider;
+import org.apache.guacamole.rest.auth.TokenRESTService;
+import org.apache.guacamole.rest.connection.ConnectionRESTService;
+import org.apache.guacamole.rest.connectiongroup.ConnectionGroupRESTService;
+import org.apache.guacamole.rest.activeconnection.ActiveConnectionRESTService;
+import org.apache.guacamole.rest.auth.AuthTokenGenerator;
+import org.apache.guacamole.rest.auth.AuthenticationService;
+import org.apache.guacamole.rest.auth.SecureRandomAuthTokenGenerator;
+import org.apache.guacamole.rest.auth.TokenSessionMap;
+import org.apache.guacamole.rest.history.HistoryRESTService;
+import org.apache.guacamole.rest.language.LanguageRESTService;
+import org.apache.guacamole.rest.patch.PatchRESTService;
+import org.apache.guacamole.rest.schema.SchemaRESTService;
+import org.apache.guacamole.rest.user.UserRESTService;
+
+/**
+ * A Guice Module to set up the servlet mappings and authentication-specific
+ * dependency injection for the Guacamole REST API.
+ *
+ * @author James Muehlner
+ * @author Michael Jumper
+ */
+public class RESTServiceModule extends ServletModule {
+
+ /**
+ * Singleton instance of TokenSessionMap.
+ */
+ private final TokenSessionMap tokenSessionMap;
+
+ /**
+ * Creates a module which handles binding of REST services and related
+ * authentication objects, including the singleton TokenSessionMap.
+ *
+ * @param tokenSessionMap
+ * An instance of TokenSessionMap to inject as a singleton wherever
+ * needed.
+ */
+ public RESTServiceModule(TokenSessionMap tokenSessionMap) {
+ this.tokenSessionMap = tokenSessionMap;
+ }
+
+ @Override
+ protected void configureServlets() {
+
+ // Bind session map
+ bind(TokenSessionMap.class).toInstance(tokenSessionMap);
+
+ // Bind low-level services
+ bind(AuthenticationService.class);
+ bind(AuthTokenGenerator.class).to(SecureRandomAuthTokenGenerator.class);
+
+ // Automatically translate GuacamoleExceptions for REST methods
+ MethodInterceptor interceptor = new RESTExceptionWrapper();
+ requestInjection(interceptor);
+ bindInterceptor(Matchers.any(), new RESTMethodMatcher(), interceptor);
+
+ // Bind convenience services used by the REST API
+ bind(ObjectRetrievalService.class);
+
+ // Set up the API endpoints
+ bind(ActiveConnectionRESTService.class);
+ bind(ConnectionGroupRESTService.class);
+ bind(ConnectionRESTService.class);
+ bind(HistoryRESTService.class);
+ bind(LanguageRESTService.class);
+ bind(PatchRESTService.class);
+ bind(SchemaRESTService.class);
+ bind(TokenRESTService.class);
+ bind(UserRESTService.class);
+
+ // Set up the servlet and JSON mappings
+ bind(GuiceContainer.class);
+ bind(JacksonJsonProvider.class).in(Scopes.SINGLETON);
+ serve("/api/*").with(GuiceContainer.class);
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/activeconnection/APIActiveConnection.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/activeconnection/APIActiveConnection.java b/guacamole/src/main/java/org/apache/guacamole/rest/activeconnection/APIActiveConnection.java
new file mode 100644
index 0000000..b892333
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/activeconnection/APIActiveConnection.java
@@ -0,0 +1,130 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.rest.activeconnection;
+
+import java.util.Date;
+import org.apache.guacamole.net.auth.ActiveConnection;
+
+/**
+ * Information related to active connections which may be exposed through the
+ * REST endpoints.
+ *
+ * @author Michael Jumper
+ */
+public class APIActiveConnection {
+
+ /**
+ * The identifier of the active connection itself.
+ */
+ private final String identifier;
+
+ /**
+ * The identifier of the connection associated with this
+ * active connection.
+ */
+ private final String connectionIdentifier;
+
+ /**
+ * The date and time the connection began.
+ */
+ private final Date startDate;
+
+ /**
+ * The host from which the connection originated, if known.
+ */
+ private final String remoteHost;
+
+ /**
+ * The name of the user who used or is using the connection.
+ */
+ private final String username;
+
+ /**
+ * Creates a new APIActiveConnection, copying the information from the given
+ * active connection.
+ *
+ * @param connection
+ * The active connection to copy data from.
+ */
+ public APIActiveConnection(ActiveConnection connection) {
+ this.identifier = connection.getIdentifier();
+ this.connectionIdentifier = connection.getConnectionIdentifier();
+ this.startDate = connection.getStartDate();
+ this.remoteHost = connection.getRemoteHost();
+ this.username = connection.getUsername();
+ }
+
+ /**
+ * Returns the identifier of the connection associated with this tunnel.
+ *
+ * @return
+ * The identifier of the connection associated with this tunnel.
+ */
+ public String getConnectionIdentifier() {
+ return connectionIdentifier;
+ }
+
+ /**
+ * Returns the date and time the connection began.
+ *
+ * @return
+ * The date and time the connection began.
+ */
+ public Date getStartDate() {
+ return startDate;
+ }
+
+ /**
+ * Returns the remote host from which this connection originated.
+ *
+ * @return
+ * The remote host from which this connection originated.
+ */
+ public String getRemoteHost() {
+ return remoteHost;
+ }
+
+ /**
+ * Returns the name of the user who used or is using the connection at the
+ * times given by this tunnel.
+ *
+ * @return
+ * The name of the user who used or is using the associated connection.
+ */
+ public String getUsername() {
+ return username;
+ }
+
+ /**
+ * Returns the identifier of the active connection itself. This is
+ * distinct from the connection identifier, and uniquely identifies a
+ * specific use of a connection.
+ *
+ * @return
+ * The identifier of the active connection.
+ */
+ public String getIdentifier() {
+ return identifier;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/activeconnection/ActiveConnectionRESTService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/activeconnection/ActiveConnectionRESTService.java b/guacamole/src/main/java/org/apache/guacamole/rest/activeconnection/ActiveConnectionRESTService.java
new file mode 100644
index 0000000..90e1608
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/activeconnection/ActiveConnectionRESTService.java
@@ -0,0 +1,196 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.rest.activeconnection;
+
+import com.google.inject.Inject;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.MediaType;
+import org.apache.guacamole.GuacamoleClientException;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.GuacamoleUnsupportedException;
+import org.apache.guacamole.net.auth.ActiveConnection;
+import org.apache.guacamole.net.auth.Directory;
+import org.apache.guacamole.net.auth.User;
+import org.apache.guacamole.net.auth.UserContext;
+import org.apache.guacamole.net.auth.permission.ObjectPermission;
+import org.apache.guacamole.net.auth.permission.ObjectPermissionSet;
+import org.apache.guacamole.net.auth.permission.SystemPermission;
+import org.apache.guacamole.net.auth.permission.SystemPermissionSet;
+import org.apache.guacamole.GuacamoleSession;
+import org.apache.guacamole.rest.APIPatch;
+import org.apache.guacamole.rest.ObjectRetrievalService;
+import org.apache.guacamole.rest.PATCH;
+import org.apache.guacamole.rest.auth.AuthenticationService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * A REST Service for retrieving and managing the tunnels of active connections.
+ *
+ * @author Michael Jumper
+ */
+@Path("/data/{dataSource}/activeConnections")
+@Produces(MediaType.APPLICATION_JSON)
+@Consumes(MediaType.APPLICATION_JSON)
+public class ActiveConnectionRESTService {
+
+ /**
+ * Logger for this class.
+ */
+ private static final Logger logger = LoggerFactory.getLogger(ActiveConnectionRESTService.class);
+
+ /**
+ * A service for authenticating users from auth tokens.
+ */
+ @Inject
+ private AuthenticationService authenticationService;
+
+ /**
+ * Service for convenient retrieval of objects.
+ */
+ @Inject
+ private ObjectRetrievalService retrievalService;
+
+ /**
+ * Gets a list of active connections in the system, filtering the returned
+ * list by the given permissions, if specified.
+ *
+ * @param authToken
+ * The authentication token that is used to authenticate the user
+ * performing the operation.
+ *
+ * @param authProviderIdentifier
+ * The unique identifier of the AuthenticationProvider associated with
+ * the UserContext containing the active connections to be retrieved.
+ *
+ * @param permissions
+ * The set of permissions to filter with. A user must have one or more
+ * of these permissions for a user to appear in the result.
+ * If null, no filtering will be performed.
+ *
+ * @return
+ * A list of all active connections. If a permission was specified,
+ * this list will contain only those active connections for which the
+ * current user has that permission.
+ *
+ * @throws GuacamoleException
+ * If an error is encountered while retrieving active connections.
+ */
+ @GET
+ public Map<String, APIActiveConnection> getActiveConnections(@QueryParam("token") String authToken,
+ @PathParam("dataSource") String authProviderIdentifier,
+ @QueryParam("permission") List<ObjectPermission.Type> permissions)
+ throws GuacamoleException {
+
+ GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
+ UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
+ User self = userContext.self();
+
+ // Do not filter on permissions if no permissions are specified
+ if (permissions != null && permissions.isEmpty())
+ permissions = null;
+
+ // An admin user has access to any connection
+ SystemPermissionSet systemPermissions = self.getSystemPermissions();
+ boolean isAdmin = systemPermissions.hasPermission(SystemPermission.Type.ADMINISTER);
+
+ // Get the directory
+ Directory<ActiveConnection> activeConnectionDirectory = userContext.getActiveConnectionDirectory();
+
+ // Filter connections, if requested
+ Collection<String> activeConnectionIdentifiers = activeConnectionDirectory.getIdentifiers();
+ if (!isAdmin && permissions != null) {
+ ObjectPermissionSet activeConnectionPermissions = self.getActiveConnectionPermissions();
+ activeConnectionIdentifiers = activeConnectionPermissions.getAccessibleObjects(permissions, activeConnectionIdentifiers);
+ }
+
+ // Retrieve all active connections , converting to API active connections
+ Map<String, APIActiveConnection> apiActiveConnections = new HashMap<String, APIActiveConnection>();
+ for (ActiveConnection activeConnection : activeConnectionDirectory.getAll(activeConnectionIdentifiers))
+ apiActiveConnections.put(activeConnection.getIdentifier(), new APIActiveConnection(activeConnection));
+
+ return apiActiveConnections;
+
+ }
+
+ /**
+ * Applies the given active connection patches. This operation currently
+ * only supports deletion of active connections through the "remove" patch
+ * operation. Deleting an active connection effectively kills the
+ * connection. The path of each patch operation is of the form "/ID"
+ * where ID is the identifier of the active connection being modified.
+ *
+ * @param authToken
+ * The authentication token that is used to authenticate the user
+ * performing the operation.
+ *
+ * @param authProviderIdentifier
+ * The unique identifier of the AuthenticationProvider associated with
+ * the UserContext containing the active connections to be deleted.
+ *
+ * @param patches
+ * The active connection patches to apply for this request.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while deleting the active connections.
+ */
+ @PATCH
+ public void patchTunnels(@QueryParam("token") String authToken,
+ @PathParam("dataSource") String authProviderIdentifier,
+ List<APIPatch<String>> patches) throws GuacamoleException {
+
+ GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
+ UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
+
+ // Get the directory
+ Directory<ActiveConnection> activeConnectionDirectory = userContext.getActiveConnectionDirectory();
+
+ // Close each connection listed for removal
+ for (APIPatch<String> patch : patches) {
+
+ // Only remove is supported
+ if (patch.getOp() != APIPatch.Operation.remove)
+ throw new GuacamoleUnsupportedException("Only the \"remove\" operation is supported when patching active connections.");
+
+ // Retrieve and validate path
+ String path = patch.getPath();
+ if (!path.startsWith("/"))
+ throw new GuacamoleClientException("Patch paths must start with \"/\".");
+
+ // Close connection
+ activeConnectionDirectory.remove(path.substring(1));
+
+ }
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/auth/APIAuthenticationResponse.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/auth/APIAuthenticationResponse.java b/guacamole/src/main/java/org/apache/guacamole/rest/auth/APIAuthenticationResponse.java
new file mode 100644
index 0000000..f0a4306
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/auth/APIAuthenticationResponse.java
@@ -0,0 +1,105 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.rest.auth;
+
+/**
+ * A simple object to represent an auth token/username pair in the API.
+ *
+ * @author James Muehlner
+ */
+public class APIAuthenticationResponse {
+
+ /**
+ * The auth token.
+ */
+ private final String authToken;
+
+
+ /**
+ * The username of the user that authenticated.
+ */
+ private final String username;
+
+ /**
+ * The unique identifier of the data source from which this user account
+ * came. Although this user account may exist across several data sources
+ * (AuthenticationProviders), this will be the unique identifier of the
+ * AuthenticationProvider that authenticated this user for the current
+ * session.
+ */
+ private final String dataSource;
+
+ /**
+ * Returns the unique authentication token which identifies the current
+ * session.
+ *
+ * @return
+ * The user's authentication token.
+ */
+ public String getAuthToken() {
+ return authToken;
+ }
+
+ /**
+ * Returns the user identified by the authentication token associated with
+ * the current session.
+ *
+ * @return
+ * The user identified by this authentication token.
+ */
+ public String getUsername() {
+ return username;
+ }
+
+ /**
+ * Returns the unique identifier of the data source associated with the user
+ * account associated with this auth token.
+ *
+ * @return
+ * The unique identifier of the data source associated with the user
+ * account associated with this auth token.
+ */
+ public String getDataSource() {
+ return dataSource;
+ }
+
+ /**
+ * Create a new APIAuthToken Object with the given auth token.
+ *
+ * @param dataSource
+ * The unique identifier of the AuthenticationProvider which
+ * authenticated the user.
+ *
+ * @param authToken
+ * The auth token to create the new APIAuthToken with.
+ *
+ * @param username
+ * The username of the user owning the given token.
+ */
+ public APIAuthenticationResponse(String dataSource, String authToken, String username) {
+ this.dataSource = dataSource;
+ this.authToken = authToken;
+ this.username = username;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/auth/APIAuthenticationResult.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/auth/APIAuthenticationResult.java b/guacamole/src/main/java/org/apache/guacamole/rest/auth/APIAuthenticationResult.java
new file mode 100644
index 0000000..fa1c080
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/auth/APIAuthenticationResult.java
@@ -0,0 +1,133 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.rest.auth;
+
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * A simple object which describes the result of an authentication operation,
+ * including the resulting token.
+ *
+ * @author James Muehlner
+ * @author Michael Jumper
+ */
+public class APIAuthenticationResult {
+
+ /**
+ * The unique token generated for the user that authenticated.
+ */
+ private final String authToken;
+
+ /**
+ * The username of the user that authenticated.
+ */
+ private final String username;
+
+ /**
+ * The unique identifier of the data source from which this user account
+ * came. Although this user account may exist across several data sources
+ * (AuthenticationProviders), this will be the unique identifier of the
+ * AuthenticationProvider that authenticated this user for the current
+ * session.
+ */
+ private final String dataSource;
+
+ /**
+ * The identifiers of all data sources available to this user.
+ */
+ private final List<String> availableDataSources;
+
+ /**
+ * Returns the unique authentication token which identifies the current
+ * session.
+ *
+ * @return
+ * The user's authentication token.
+ */
+ public String getAuthToken() {
+ return authToken;
+ }
+
+ /**
+ * Returns the user identified by the authentication token associated with
+ * the current session.
+ *
+ * @return
+ * The user identified by this authentication token.
+ */
+ public String getUsername() {
+ return username;
+ }
+
+ /**
+ * Returns the unique identifier of the data source associated with the user
+ * account associated with the current session.
+ *
+ * @return
+ * The unique identifier of the data source associated with the user
+ * account associated with the current session.
+ */
+ public String getDataSource() {
+ return dataSource;
+ }
+
+ /**
+ * Returns the identifiers of all data sources available to the user
+ * associated with the current session.
+ *
+ * @return
+ * The identifiers of all data sources available to the user associated
+ * with the current session.
+ */
+ public List<String> getAvailableDataSources() {
+ return availableDataSources;
+ }
+
+ /**
+ * Create a new APIAuthenticationResult object containing the given data.
+ *
+ * @param authToken
+ * The unique token generated for the user that authenticated, to be
+ * used for the duration of their session.
+ *
+ * @param username
+ * The username of the user owning the given token.
+ *
+ * @param dataSource
+ * The unique identifier of the AuthenticationProvider which
+ * authenticated the user.
+ *
+ * @param availableDataSources
+ * The unique identifier of all AuthenticationProviders to which the
+ * user now has access.
+ */
+ public APIAuthenticationResult(String authToken, String username,
+ String dataSource, List<String> availableDataSources) {
+ this.authToken = authToken;
+ this.username = username;
+ this.dataSource = dataSource;
+ this.availableDataSources = Collections.unmodifiableList(availableDataSources);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/auth/AuthTokenGenerator.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/auth/AuthTokenGenerator.java b/guacamole/src/main/java/org/apache/guacamole/rest/auth/AuthTokenGenerator.java
new file mode 100644
index 0000000..cdab5aa
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/auth/AuthTokenGenerator.java
@@ -0,0 +1,39 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.rest.auth;
+
+/**
+ * Generates an auth token for an authenticated user.
+ *
+ * @author James Muehlner
+ */
+public interface AuthTokenGenerator {
+
+ /**
+ * Get a new auth token.
+ *
+ * @return A new auth token.
+ */
+ public String getToken();
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/auth/AuthenticationService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/auth/AuthenticationService.java b/guacamole/src/main/java/org/apache/guacamole/rest/auth/AuthenticationService.java
new file mode 100644
index 0000000..7fa51e5
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/auth/AuthenticationService.java
@@ -0,0 +1,475 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.rest.auth;
+
+import com.google.inject.Inject;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.regex.Pattern;
+import javax.servlet.http.HttpServletRequest;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.GuacamoleSecurityException;
+import org.apache.guacamole.GuacamoleUnauthorizedException;
+import org.apache.guacamole.environment.Environment;
+import org.apache.guacamole.net.auth.AuthenticatedUser;
+import org.apache.guacamole.net.auth.AuthenticationProvider;
+import org.apache.guacamole.net.auth.Credentials;
+import org.apache.guacamole.net.auth.UserContext;
+import org.apache.guacamole.net.auth.credentials.CredentialsInfo;
+import org.apache.guacamole.net.auth.credentials.GuacamoleCredentialsException;
+import org.apache.guacamole.net.auth.credentials.GuacamoleInvalidCredentialsException;
+import org.apache.guacamole.GuacamoleSession;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * A service for performing authentication checks in REST endpoints.
+ *
+ * @author James Muehlner
+ * @author Michael Jumper
+ */
+public class AuthenticationService {
+
+ /**
+ * Logger for this class.
+ */
+ private static final Logger logger = LoggerFactory.getLogger(AuthenticationService.class);
+
+ /**
+ * The Guacamole server environment.
+ */
+ @Inject
+ private Environment environment;
+
+ /**
+ * All configured authentication providers which can be used to
+ * authenticate users or retrieve data associated with authenticated users.
+ */
+ @Inject
+ private List<AuthenticationProvider> authProviders;
+
+ /**
+ * The map of auth tokens to sessions for the REST endpoints.
+ */
+ @Inject
+ private TokenSessionMap tokenSessionMap;
+
+ /**
+ * A generator for creating new auth tokens.
+ */
+ @Inject
+ private AuthTokenGenerator authTokenGenerator;
+
+ /**
+ * Regular expression which matches any IPv4 address.
+ */
+ private static final String IPV4_ADDRESS_REGEX = "([0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3})";
+
+ /**
+ * Regular expression which matches any IPv6 address.
+ */
+ private static final String IPV6_ADDRESS_REGEX = "([0-9a-fA-F]*(:[0-9a-fA-F]*){0,7})";
+
+ /**
+ * Regular expression which matches any IP address, regardless of version.
+ */
+ private static final String IP_ADDRESS_REGEX = "(" + IPV4_ADDRESS_REGEX + "|" + IPV6_ADDRESS_REGEX + ")";
+
+ /**
+ * Pattern which matches valid values of the de-facto standard
+ * "X-Forwarded-For" header.
+ */
+ private static final Pattern X_FORWARDED_FOR = Pattern.compile("^" + IP_ADDRESS_REGEX + "(, " + IP_ADDRESS_REGEX + ")*$");
+
+ /**
+ * Returns a formatted string containing an IP address, or list of IP
+ * addresses, which represent the HTTP client and any involved proxies. As
+ * the headers used to determine proxies can easily be forged, this data is
+ * superficially validated to ensure that it at least looks like a list of
+ * IPs.
+ *
+ * @param request
+ * The HTTP request to format.
+ *
+ * @return
+ * A formatted string containing one or more IP addresses.
+ */
+ private String getLoggableAddress(HttpServletRequest request) {
+
+ // Log X-Forwarded-For, if present and valid
+ String header = request.getHeader("X-Forwarded-For");
+ if (header != null && X_FORWARDED_FOR.matcher(header).matches())
+ return "[" + header + ", " + request.getRemoteAddr() + "]";
+
+ // If header absent or invalid, just use source IP
+ return request.getRemoteAddr();
+
+ }
+
+ /**
+ * Attempts authentication against all AuthenticationProviders, in order,
+ * using the provided credentials. The first authentication failure takes
+ * priority, but remaining AuthenticationProviders are attempted. If any
+ * AuthenticationProvider succeeds, the resulting AuthenticatedUser is
+ * returned, and no further AuthenticationProviders are tried.
+ *
+ * @param credentials
+ * The credentials to use for authentication.
+ *
+ * @return
+ * The AuthenticatedUser given by the highest-priority
+ * AuthenticationProvider for which the given credentials are valid.
+ *
+ * @throws GuacamoleException
+ * If the given credentials are not valid for any
+ * AuthenticationProvider, or if an error occurs while authenticating
+ * the user.
+ */
+ private AuthenticatedUser authenticateUser(Credentials credentials)
+ throws GuacamoleException {
+
+ GuacamoleCredentialsException authFailure = null;
+
+ // Attempt authentication against each AuthenticationProvider
+ for (AuthenticationProvider authProvider : authProviders) {
+
+ // Attempt authentication
+ try {
+ AuthenticatedUser authenticatedUser = authProvider.authenticateUser(credentials);
+ if (authenticatedUser != null)
+ return authenticatedUser;
+ }
+
+ // First failure takes priority for now
+ catch (GuacamoleCredentialsException e) {
+ if (authFailure == null)
+ authFailure = e;
+ }
+
+ }
+
+ // If a specific failure occured, rethrow that
+ if (authFailure != null)
+ throw authFailure;
+
+ // Otherwise, request standard username/password
+ throw new GuacamoleInvalidCredentialsException(
+ "Permission Denied.",
+ CredentialsInfo.USERNAME_PASSWORD
+ );
+
+ }
+
+ /**
+ * Re-authenticates the given AuthenticatedUser against the
+ * AuthenticationProvider that originally created it, using the given
+ * Credentials.
+ *
+ * @param authenticatedUser
+ * The AuthenticatedUser to re-authenticate.
+ *
+ * @param credentials
+ * The Credentials to use to re-authenticate the user.
+ *
+ * @return
+ * A AuthenticatedUser which may have been updated due to re-
+ * authentication.
+ *
+ * @throws GuacamoleException
+ * If an error prevents the user from being re-authenticated.
+ */
+ private AuthenticatedUser updateAuthenticatedUser(AuthenticatedUser authenticatedUser,
+ Credentials credentials) throws GuacamoleException {
+
+ // Get original AuthenticationProvider
+ AuthenticationProvider authProvider = authenticatedUser.getAuthenticationProvider();
+
+ // Re-authenticate the AuthenticatedUser against the original AuthenticationProvider only
+ authenticatedUser = authProvider.updateAuthenticatedUser(authenticatedUser, credentials);
+ if (authenticatedUser == null)
+ throw new GuacamoleSecurityException("User re-authentication failed.");
+
+ return authenticatedUser;
+
+ }
+
+ /**
+ * Returns the AuthenticatedUser associated with the given session and
+ * credentials, performing a fresh authentication and creating a new
+ * AuthenticatedUser if necessary.
+ *
+ * @param existingSession
+ * The current GuacamoleSession, or null if no session exists yet.
+ *
+ * @param credentials
+ * The Credentials to use to authenticate the user.
+ *
+ * @return
+ * The AuthenticatedUser associated with the given session and
+ * credentials.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while authenticating or re-authenticating the
+ * user.
+ */
+ private AuthenticatedUser getAuthenticatedUser(GuacamoleSession existingSession,
+ Credentials credentials) throws GuacamoleException {
+
+ try {
+
+ // Re-authenticate user if session exists
+ if (existingSession != null)
+ return updateAuthenticatedUser(existingSession.getAuthenticatedUser(), credentials);
+
+ // Otherwise, attempt authentication as a new user
+ AuthenticatedUser authenticatedUser = AuthenticationService.this.authenticateUser(credentials);
+ if (logger.isInfoEnabled())
+ logger.info("User \"{}\" successfully authenticated from {}.",
+ authenticatedUser.getIdentifier(),
+ getLoggableAddress(credentials.getRequest()));
+
+ return authenticatedUser;
+
+ }
+
+ // Log and rethrow any authentication errors
+ catch (GuacamoleException e) {
+
+ // Get request and username for sake of logging
+ HttpServletRequest request = credentials.getRequest();
+ String username = credentials.getUsername();
+
+ // Log authentication failures with associated usernames
+ if (username != null) {
+ if (logger.isWarnEnabled())
+ logger.warn("Authentication attempt from {} for user \"{}\" failed.",
+ getLoggableAddress(request), username);
+ }
+
+ // Log anonymous authentication failures
+ else if (logger.isDebugEnabled())
+ logger.debug("Anonymous authentication attempt from {} failed.",
+ getLoggableAddress(request));
+
+ // Rethrow exception
+ throw e;
+
+ }
+
+ }
+
+ /**
+ * Returns all UserContexts associated with the given AuthenticatedUser,
+ * updating existing UserContexts, if any. If no UserContexts are yet
+ * associated with the given AuthenticatedUser, new UserContexts are
+ * generated by polling each available AuthenticationProvider.
+ *
+ * @param existingSession
+ * The current GuacamoleSession, or null if no session exists yet.
+ *
+ * @param authenticatedUser
+ * The AuthenticatedUser that has successfully authenticated or re-
+ * authenticated.
+ *
+ * @return
+ * A List of all UserContexts associated with the given
+ * AuthenticatedUser.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while creating or updating any UserContext.
+ */
+ private List<UserContext> getUserContexts(GuacamoleSession existingSession,
+ AuthenticatedUser authenticatedUser) throws GuacamoleException {
+
+ List<UserContext> userContexts = new ArrayList<UserContext>(authProviders.size());
+
+ // If UserContexts already exist, update them and add to the list
+ if (existingSession != null) {
+
+ // Update all old user contexts
+ List<UserContext> oldUserContexts = existingSession.getUserContexts();
+ for (UserContext oldUserContext : oldUserContexts) {
+
+ // Update existing UserContext
+ AuthenticationProvider authProvider = oldUserContext.getAuthenticationProvider();
+ UserContext userContext = authProvider.updateUserContext(oldUserContext, authenticatedUser);
+
+ // Add to available data, if successful
+ if (userContext != null)
+ userContexts.add(userContext);
+
+ // If unsuccessful, log that this happened, as it may be a bug
+ else
+ logger.debug("AuthenticationProvider \"{}\" retroactively destroyed its UserContext.",
+ authProvider.getClass().getName());
+
+ }
+
+ }
+
+ // Otherwise, create new UserContexts from available AuthenticationProviders
+ else {
+
+ // Get UserContexts from each available AuthenticationProvider
+ for (AuthenticationProvider authProvider : authProviders) {
+
+ // Generate new UserContext
+ UserContext userContext = authProvider.getUserContext(authenticatedUser);
+
+ // Add to available data, if successful
+ if (userContext != null)
+ userContexts.add(userContext);
+
+ }
+
+ }
+
+ return userContexts;
+
+ }
+
+ /**
+ * Authenticates a user using the given credentials and optional
+ * authentication token, returning the authentication token associated with
+ * the user's Guacamole session, which may be newly generated. If an
+ * existing token is provided, the authentication procedure will attempt to
+ * update or reuse the provided token, but it is possible that a new token
+ * will be returned. Note that this function CANNOT return null.
+ *
+ * @param credentials
+ * The credentials to use when authenticating the user.
+ *
+ * @param token
+ * The authentication token to use if attempting to re-authenticate an
+ * existing session, or null to request a new token.
+ *
+ * @return
+ * The authentication token associated with the newly created or
+ * existing session.
+ *
+ * @throws GuacamoleException
+ * If the authentication or re-authentication attempt fails.
+ */
+ public String authenticate(Credentials credentials, String token)
+ throws GuacamoleException {
+
+ // Pull existing session if token provided
+ GuacamoleSession existingSession;
+ if (token != null)
+ existingSession = tokenSessionMap.get(token);
+ else
+ existingSession = null;
+
+ // Get up-to-date AuthenticatedUser and associated UserContexts
+ AuthenticatedUser authenticatedUser = getAuthenticatedUser(existingSession, credentials);
+ List<UserContext> userContexts = getUserContexts(existingSession, authenticatedUser);
+
+ // Update existing session, if it exists
+ String authToken;
+ if (existingSession != null) {
+ authToken = token;
+ existingSession.setAuthenticatedUser(authenticatedUser);
+ existingSession.setUserContexts(userContexts);
+ }
+
+ // If no existing session, generate a new token/session pair
+ else {
+ authToken = authTokenGenerator.getToken();
+ tokenSessionMap.put(authToken, new GuacamoleSession(environment, authenticatedUser, userContexts));
+ logger.debug("Login was successful for user \"{}\".", authenticatedUser.getIdentifier());
+ }
+
+ return authToken;
+
+ }
+
+ /**
+ * Finds the Guacamole session for a given auth token, if the auth token
+ * represents a currently logged in user. Throws an unauthorized error
+ * otherwise.
+ *
+ * @param authToken The auth token to check against the map of logged in users.
+ * @return The session that corresponds to the provided auth token.
+ * @throws GuacamoleException If the auth token does not correspond to any
+ * logged in user.
+ */
+ public GuacamoleSession getGuacamoleSession(String authToken)
+ throws GuacamoleException {
+
+ // Try to get the session from the map of logged in users.
+ GuacamoleSession session = tokenSessionMap.get(authToken);
+
+ // Authentication failed.
+ if (session == null)
+ throw new GuacamoleUnauthorizedException("Permission Denied.");
+
+ return session;
+
+ }
+
+ /**
+ * Invalidates a specific authentication token and its corresponding
+ * Guacamole session, effectively logging out the associated user. If the
+ * authentication token is not valid, this function has no effect.
+ *
+ * @param authToken
+ * The token being invalidated.
+ *
+ * @return
+ * true if the given authentication token was valid and the
+ * corresponding Guacamole session was destroyed, false if the given
+ * authentication token was not valid and no action was taken.
+ */
+ public boolean destroyGuacamoleSession(String authToken) {
+
+ // Remove corresponding GuacamoleSession if the token is valid
+ GuacamoleSession session = tokenSessionMap.remove(authToken);
+ if (session == null)
+ return false;
+
+ // Invalidate the removed session
+ session.invalidate();
+ return true;
+
+ }
+
+ /**
+ * Returns all UserContexts associated with a given auth token, if the auth
+ * token represents a currently logged in user. Throws an unauthorized
+ * error otherwise.
+ *
+ * @param authToken
+ * The auth token to check against the map of logged in users.
+ *
+ * @return
+ * A List of all UserContexts associated with the provided auth token.
+ *
+ * @throws GuacamoleException
+ * If the auth token does not correspond to any logged in user.
+ */
+ public List<UserContext> getUserContexts(String authToken)
+ throws GuacamoleException {
+ return getGuacamoleSession(authToken).getUserContexts();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/auth/BasicTokenSessionMap.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/auth/BasicTokenSessionMap.java b/guacamole/src/main/java/org/apache/guacamole/rest/auth/BasicTokenSessionMap.java
new file mode 100644
index 0000000..9de33fb
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/auth/BasicTokenSessionMap.java
@@ -0,0 +1,189 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.rest.auth;
+
+import java.util.Iterator;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.TimeUnit;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.environment.Environment;
+import org.apache.guacamole.GuacamoleSession;
+import org.apache.guacamole.properties.BasicGuacamoleProperties;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * A basic, HashMap-based implementation of the TokenSessionMap with support
+ * for session timeouts.
+ *
+ * @author James Muehlner
+ */
+public class BasicTokenSessionMap implements TokenSessionMap {
+
+ /**
+ * Logger for this class.
+ */
+ private static final Logger logger = LoggerFactory.getLogger(BasicTokenSessionMap.class);
+
+ /**
+ * Executor service which runs the period session eviction task.
+ */
+ private final ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
+
+ /**
+ * Keeps track of the authToken to GuacamoleSession mapping.
+ */
+ private final ConcurrentMap<String, GuacamoleSession> sessionMap =
+ new ConcurrentHashMap<String, GuacamoleSession>();
+
+ /**
+ * Create a new BasicTokenGuacamoleSessionMap configured using the given
+ * environment.
+ *
+ * @param environment
+ * The environment to use when configuring the token session map.
+ */
+ public BasicTokenSessionMap(Environment environment) {
+
+ int sessionTimeoutValue;
+
+ // Read session timeout from guacamole.properties
+ try {
+ sessionTimeoutValue = environment.getProperty(BasicGuacamoleProperties.API_SESSION_TIMEOUT, 60);
+ }
+ catch (GuacamoleException e) {
+ logger.error("Unable to read guacamole.properties: {}", e.getMessage());
+ logger.debug("Error while reading session timeout value.", e);
+ sessionTimeoutValue = 60;
+ }
+
+ // Check for expired sessions every minute
+ logger.info("Sessions will expire after {} minutes of inactivity.", sessionTimeoutValue);
+ executor.scheduleAtFixedRate(new SessionEvictionTask(sessionTimeoutValue * 60000l), 1, 1, TimeUnit.MINUTES);
+
+ }
+
+ /**
+ * Task which iterates through all active sessions, evicting those sessions
+ * which are beyond the session timeout.
+ */
+ private class SessionEvictionTask implements Runnable {
+
+ /**
+ * The maximum allowed age of any session, in milliseconds.
+ */
+ private final long sessionTimeout;
+
+ /**
+ * Creates a new task which automatically evicts sessions which are
+ * older than the specified timeout.
+ *
+ * @param sessionTimeout The maximum age of any session, in
+ * milliseconds.
+ */
+ public SessionEvictionTask(long sessionTimeout) {
+ this.sessionTimeout = sessionTimeout;
+ }
+
+ @Override
+ public void run() {
+
+ // Get start time of session check time
+ long sessionCheckStart = System.currentTimeMillis();
+
+ logger.debug("Checking for expired sessions...");
+
+ // For each session, remove sesions which have expired
+ Iterator<Map.Entry<String, GuacamoleSession>> entries = sessionMap.entrySet().iterator();
+ while (entries.hasNext()) {
+
+ Map.Entry<String, GuacamoleSession> entry = entries.next();
+ GuacamoleSession session = entry.getValue();
+
+ // Do not expire sessions which are active
+ if (session.hasTunnels())
+ continue;
+
+ // Get elapsed time since last access
+ long age = sessionCheckStart - session.getLastAccessedTime();
+
+ // If session is too old, evict it and check the next one
+ if (age >= sessionTimeout) {
+ logger.debug("Session \"{}\" has timed out.", entry.getKey());
+ entries.remove();
+ session.invalidate();
+ }
+
+ }
+
+ // Log completion and duration
+ logger.debug("Session check completed in {} ms.",
+ System.currentTimeMillis() - sessionCheckStart);
+
+ }
+
+ }
+
+ @Override
+ public GuacamoleSession get(String authToken) {
+
+ // There are no null auth tokens
+ if (authToken == null)
+ return null;
+
+ // Update the last access time and return the GuacamoleSession
+ GuacamoleSession session = sessionMap.get(authToken);
+ if (session != null)
+ session.access();
+
+ return session;
+
+ }
+
+ @Override
+ public void put(String authToken, GuacamoleSession session) {
+ sessionMap.put(authToken, session);
+ }
+
+ @Override
+ public GuacamoleSession remove(String authToken) {
+
+ // There are no null auth tokens
+ if (authToken == null)
+ return null;
+
+ // Attempt to retrieve only if non-null
+ return sessionMap.remove(authToken);
+
+ }
+
+ @Override
+ public void shutdown() {
+ executor.shutdownNow();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/auth/SecureRandomAuthTokenGenerator.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/auth/SecureRandomAuthTokenGenerator.java b/guacamole/src/main/java/org/apache/guacamole/rest/auth/SecureRandomAuthTokenGenerator.java
new file mode 100644
index 0000000..ed93bd4
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/auth/SecureRandomAuthTokenGenerator.java
@@ -0,0 +1,48 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.rest.auth;
+
+import java.security.SecureRandom;
+import org.apache.commons.codec.binary.Hex;
+
+/**
+ * An implementation of the AuthTokenGenerator based around SecureRandom.
+ *
+ * @author James Muehlner
+ */
+public class SecureRandomAuthTokenGenerator implements AuthTokenGenerator {
+
+ /**
+ * Instance of SecureRandom for generating the auth token.
+ */
+ private final SecureRandom secureRandom = new SecureRandom();
+
+ @Override
+ public String getToken() {
+ byte[] bytes = new byte[32];
+ secureRandom.nextBytes(bytes);
+
+ return Hex.encodeHexString(bytes);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/auth/TokenRESTService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/auth/TokenRESTService.java b/guacamole/src/main/java/org/apache/guacamole/rest/auth/TokenRESTService.java
new file mode 100644
index 0000000..5a062fb
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/auth/TokenRESTService.java
@@ -0,0 +1,230 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.rest.auth;
+
+import com.google.inject.Inject;
+import java.io.UnsupportedEncodingException;
+import java.util.ArrayList;
+import java.util.List;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.DELETE;
+import javax.ws.rs.FormParam;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.MultivaluedMap;
+import javax.xml.bind.DatatypeConverter;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.GuacamoleResourceNotFoundException;
+import org.apache.guacamole.net.auth.AuthenticatedUser;
+import org.apache.guacamole.net.auth.Credentials;
+import org.apache.guacamole.net.auth.UserContext;
+import org.apache.guacamole.GuacamoleSession;
+import org.apache.guacamole.rest.APIRequest;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * A service for managing auth tokens via the Guacamole REST API.
+ *
+ * @author James Muehlner
+ * @author Michael Jumper
+ */
+@Path("/tokens")
+@Produces(MediaType.APPLICATION_JSON)
+public class TokenRESTService {
+
+ /**
+ * Logger for this class.
+ */
+ private static final Logger logger = LoggerFactory.getLogger(TokenRESTService.class);
+
+ /**
+ * Service for authenticating users and managing their Guacamole sessions.
+ */
+ @Inject
+ private AuthenticationService authenticationService;
+
+ /**
+ * Returns the credentials associated with the given request, using the
+ * provided username and password.
+ *
+ * @param request
+ * The request to use to derive the credentials.
+ *
+ * @param username
+ * The username to associate with the credentials, or null if the
+ * username should be derived from the request.
+ *
+ * @param password
+ * The password to associate with the credentials, or null if the
+ * password should be derived from the request.
+ *
+ * @return
+ * A new Credentials object whose contents have been derived from the
+ * given request, along with the provided username and password.
+ */
+ private Credentials getCredentials(HttpServletRequest request,
+ String username, String password) {
+
+ // If no username/password given, try Authorization header
+ if (username == null && password == null) {
+
+ String authorization = request.getHeader("Authorization");
+ if (authorization != null && authorization.startsWith("Basic ")) {
+
+ try {
+
+ // Decode base64 authorization
+ String basicBase64 = authorization.substring(6);
+ String basicCredentials = new String(DatatypeConverter.parseBase64Binary(basicBase64), "UTF-8");
+
+ // Pull username/password from auth data
+ int colon = basicCredentials.indexOf(':');
+ if (colon != -1) {
+ username = basicCredentials.substring(0, colon);
+ password = basicCredentials.substring(colon + 1);
+ }
+ else
+ logger.debug("Invalid HTTP Basic \"Authorization\" header received.");
+
+ }
+
+ // UTF-8 support is required by the Java specification
+ catch (UnsupportedEncodingException e) {
+ throw new UnsupportedOperationException("Unexpected lack of UTF-8 support.", e);
+ }
+
+ }
+
+ } // end Authorization header fallback
+
+ // Build credentials
+ Credentials credentials = new Credentials();
+ credentials.setUsername(username);
+ credentials.setPassword(password);
+ credentials.setRequest(request);
+ credentials.setSession(request.getSession(true));
+
+ return credentials;
+
+ }
+
+ /**
+ * Authenticates a user, generates an auth token, associates that auth token
+ * with the user's UserContext for use by further requests. If an existing
+ * token is provided, the authentication procedure will attempt to update
+ * or reuse the provided token.
+ *
+ * @param username
+ * The username of the user who is to be authenticated.
+ *
+ * @param password
+ * The password of the user who is to be authenticated.
+ *
+ * @param token
+ * An optional existing auth token for the user who is to be
+ * authenticated.
+ *
+ * @param consumedRequest
+ * The HttpServletRequest associated with the login attempt. The
+ * parameters of this request may not be accessible, as the request may
+ * have been fully consumed by JAX-RS.
+ *
+ * @param parameters
+ * A MultivaluedMap containing all parameters from the given HTTP
+ * request. All request parameters must be made available through this
+ * map, even if those parameters are no longer accessible within the
+ * now-fully-consumed HTTP request.
+ *
+ * @return
+ * An authentication response object containing the possible-new auth
+ * token, as well as other related data.
+ *
+ * @throws GuacamoleException
+ * If an error prevents successful authentication.
+ */
+ @POST
+ public APIAuthenticationResult createToken(@FormParam("username") String username,
+ @FormParam("password") String password,
+ @FormParam("token") String token,
+ @Context HttpServletRequest consumedRequest,
+ MultivaluedMap<String, String> parameters)
+ throws GuacamoleException {
+
+ // Reconstitute the HTTP request with the map of parameters
+ HttpServletRequest request = new APIRequest(consumedRequest, parameters);
+
+ // Build credentials from request
+ Credentials credentials = getCredentials(request, username, password);
+
+ // Create/update session producing possibly-new token
+ token = authenticationService.authenticate(credentials, token);
+
+ // Pull corresponding session
+ GuacamoleSession session = authenticationService.getGuacamoleSession(token);
+ if (session == null)
+ throw new GuacamoleResourceNotFoundException("No such token.");
+
+ // Build list of all available auth providers
+ List<UserContext> userContexts = session.getUserContexts();
+ List<String> authProviderIdentifiers = new ArrayList<String>(userContexts.size());
+ for (UserContext userContext : userContexts)
+ authProviderIdentifiers.add(userContext.getAuthenticationProvider().getIdentifier());
+
+ // Return possibly-new auth token
+ AuthenticatedUser authenticatedUser = session.getAuthenticatedUser();
+ return new APIAuthenticationResult(
+ token,
+ authenticatedUser.getIdentifier(),
+ authenticatedUser.getAuthenticationProvider().getIdentifier(),
+ authProviderIdentifiers
+ );
+
+ }
+
+ /**
+ * Invalidates a specific auth token, effectively logging out the associated
+ * user.
+ *
+ * @param authToken
+ * The token being invalidated.
+ *
+ * @throws GuacamoleException
+ * If the specified token does not exist.
+ */
+ @DELETE
+ @Path("/{token}")
+ public void invalidateToken(@PathParam("token") String authToken)
+ throws GuacamoleException {
+
+ // Invalidate session, if it exists
+ if (!authenticationService.destroyGuacamoleSession(authToken))
+ throw new GuacamoleResourceNotFoundException("No such token.");
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/auth/TokenSessionMap.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/auth/TokenSessionMap.java b/guacamole/src/main/java/org/apache/guacamole/rest/auth/TokenSessionMap.java
new file mode 100644
index 0000000..756084a
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/auth/TokenSessionMap.java
@@ -0,0 +1,69 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.rest.auth;
+
+import org.apache.guacamole.GuacamoleSession;
+
+/**
+ * Represents a mapping of auth token to Guacamole session for the REST
+ * authentication system.
+ *
+ * @author James Muehlner
+ */
+public interface TokenSessionMap {
+
+ /**
+ * Registers that a user has just logged in with the specified authToken and
+ * GuacamoleSession.
+ *
+ * @param authToken The authentication token for the logged in user.
+ * @param session The GuacamoleSession for the logged in user.
+ */
+ public void put(String authToken, GuacamoleSession session);
+
+ /**
+ * Get the GuacamoleSession for a logged in user. If the auth token does not
+ * represent a user who is currently logged in, returns null.
+ *
+ * @param authToken The authentication token for the logged in user.
+ * @return The GuacamoleSession for the given auth token, if the auth token
+ * represents a currently logged in user, null otherwise.
+ */
+ public GuacamoleSession get(String authToken);
+
+ /**
+ * Removes the GuacamoleSession associated with the given auth token.
+ *
+ * @param authToken The token to remove.
+ * @return The GuacamoleSession for the given auth token, if the auth token
+ * represents a currently logged in user, null otherwise.
+ */
+ public GuacamoleSession remove(String authToken);
+
+ /**
+ * Shuts down this session map, disallowing future sessions and reclaiming
+ * any resources.
+ */
+ public void shutdown();
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/auth/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/auth/package-info.java b/guacamole/src/main/java/org/apache/guacamole/rest/auth/package-info.java
new file mode 100644
index 0000000..d58bede
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/auth/package-info.java
@@ -0,0 +1,27 @@
+/*
+ * 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.
+ */
+
+/**
+ * Classes related to the authentication aspect of the Guacamole REST API.
+ */
+package org.apache.guacamole.rest.auth;
+
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/connection/APIConnection.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/connection/APIConnection.java b/guacamole/src/main/java/org/apache/guacamole/rest/connection/APIConnection.java
new file mode 100644
index 0000000..0a607f7
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/connection/APIConnection.java
@@ -0,0 +1,233 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.rest.connection;
+
+import java.util.Map;
+import org.codehaus.jackson.annotate.JsonIgnoreProperties;
+import org.codehaus.jackson.map.annotate.JsonSerialize;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.net.auth.Connection;
+import org.apache.guacamole.protocol.GuacamoleConfiguration;
+
+/**
+ * A simple connection to expose through the REST endpoints.
+ *
+ * @author James Muehlner
+ */
+@JsonIgnoreProperties(ignoreUnknown = true)
+@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
+public class APIConnection {
+
+ /**
+ * The name of this connection.
+ */
+ private String name;
+
+ /**
+ * The identifier of this connection.
+ */
+ private String identifier;
+
+ /**
+ * The identifier of the parent connection group for this connection.
+ */
+ private String parentIdentifier;
+
+ /**
+ * The protocol of this connection.
+ */
+ private String protocol;
+
+ /**
+ * Map of all associated parameter values, indexed by parameter name.
+ */
+ private Map<String, String> parameters;
+
+ /**
+ * Map of all associated attributes by attribute identifier.
+ */
+ private Map<String, String> attributes;
+
+ /**
+ * The count of currently active connections using this connection.
+ */
+ private int activeConnections;
+
+ /**
+ * Create an empty APIConnection.
+ */
+ public APIConnection() {}
+
+ /**
+ * Create an APIConnection from a Connection record. Parameters for the
+ * connection will not be included.
+ *
+ * @param connection The connection to create this APIConnection from.
+ * @throws GuacamoleException If a problem is encountered while
+ * instantiating this new APIConnection.
+ */
+ public APIConnection(Connection connection)
+ throws GuacamoleException {
+
+ // Set connection information
+ this.name = connection.getName();
+ this.identifier = connection.getIdentifier();
+ this.parentIdentifier = connection.getParentIdentifier();
+ this.activeConnections = connection.getActiveConnections();
+
+ // Set protocol from configuration
+ GuacamoleConfiguration configuration = connection.getConfiguration();
+ this.protocol = configuration.getProtocol();
+
+ // Associate any attributes
+ this.attributes = connection.getAttributes();
+
+ }
+
+ /**
+ * Returns the name of this connection.
+ * @return The name of this connection.
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * Set the name of this connection.
+ * @param name The name of this connection.
+ */
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ /**
+ * Returns the unique identifier for this connection.
+ * @return The unique identifier for this connection.
+ */
+ public String getIdentifier() {
+ return identifier;
+ }
+
+ /**
+ * Sets the unique identifier for this connection.
+ * @param identifier The unique identifier for this connection.
+ */
+ public void setIdentifier(String identifier) {
+ this.identifier = identifier;
+ }
+
+ /**
+ * Returns the unique identifier for this connection.
+ * @return The unique identifier for this connection.
+ */
+ public String getParentIdentifier() {
+ return parentIdentifier;
+ }
+
+ /**
+ * Sets the parent connection group identifier for this connection.
+ * @param parentIdentifier The parent connection group identifier
+ * for this connection.
+ */
+ public void setParentIdentifier(String parentIdentifier) {
+ this.parentIdentifier = parentIdentifier;
+ }
+
+ /**
+ * Returns the parameter map for this connection.
+ * @return The parameter map for this connection.
+ */
+ public Map<String, String> getParameters() {
+ return parameters;
+ }
+
+ /**
+ * Sets the parameter map for this connection.
+ * @param parameters The parameter map for this connection.
+ */
+ public void setParameters(Map<String, String> parameters) {
+ this.parameters = parameters;
+ }
+
+ /**
+ * Returns the protocol for this connection.
+ * @return The protocol for this connection.
+ */
+ public String getProtocol() {
+ return protocol;
+ }
+
+ /**
+ * Sets the protocol for this connection.
+ * @param protocol protocol for this connection.
+ */
+ public void setProtocol(String protocol) {
+ this.protocol = protocol;
+ }
+
+ /**
+ * Returns the number of currently active connections using this
+ * connection.
+ *
+ * @return
+ * The number of currently active usages of this connection.
+ */
+ public int getActiveConnections() {
+ return activeConnections;
+ }
+
+ /**
+ * Set the number of currently active connections using this connection.
+ *
+ * @param activeConnections
+ * The number of currently active usages of this connection.
+ */
+ public void setActiveUsers(int activeConnections) {
+ this.activeConnections = activeConnections;
+ }
+
+ /**
+ * Returns a map of all attributes associated with this connection. Each
+ * entry key is the attribute identifier, while each value is the attribute
+ * value itself.
+ *
+ * @return
+ * The attribute map for this connection.
+ */
+ public Map<String, String> getAttributes() {
+ return attributes;
+ }
+
+ /**
+ * Sets the map of all attributes associated with this connection. Each
+ * entry key is the attribute identifier, while each value is the attribute
+ * value itself.
+ *
+ * @param attributes
+ * The attribute map for this connection.
+ */
+ public void setAttributes(Map<String, String> attributes) {
+ this.attributes = attributes;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/connection/APIConnectionWrapper.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/connection/APIConnectionWrapper.java b/guacamole/src/main/java/org/apache/guacamole/rest/connection/APIConnectionWrapper.java
new file mode 100644
index 0000000..a785930
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/connection/APIConnectionWrapper.java
@@ -0,0 +1,138 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.rest.connection;
+
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.net.GuacamoleTunnel;
+import org.apache.guacamole.net.auth.Connection;
+import org.apache.guacamole.net.auth.ConnectionRecord;
+import org.apache.guacamole.protocol.GuacamoleClientInformation;
+import org.apache.guacamole.protocol.GuacamoleConfiguration;
+
+/**
+ * A wrapper to make an APIConnection look like a Connection. Useful where a
+ * org.apache.guacamole.net.auth.Connection is required.
+ *
+ * @author James Muehlner
+ */
+public class APIConnectionWrapper implements Connection {
+
+ /**
+ * The wrapped APIConnection.
+ */
+ private final APIConnection apiConnection;
+
+ /**
+ * Creates a new APIConnectionWrapper which wraps the given APIConnection
+ * as a Connection.
+ *
+ * @param apiConnection
+ * The APIConnection to wrap.
+ */
+ public APIConnectionWrapper(APIConnection apiConnection) {
+ this.apiConnection = apiConnection;
+ }
+
+ @Override
+ public String getName() {
+ return apiConnection.getName();
+ }
+
+ @Override
+ public void setName(String name) {
+ apiConnection.setName(name);
+ }
+
+ @Override
+ public String getIdentifier() {
+ return apiConnection.getIdentifier();
+ }
+
+ @Override
+ public void setIdentifier(String identifier) {
+ apiConnection.setIdentifier(identifier);
+ }
+
+ @Override
+ public String getParentIdentifier() {
+ return apiConnection.getParentIdentifier();
+ }
+
+ @Override
+ public void setParentIdentifier(String parentIdentifier) {
+ apiConnection.setParentIdentifier(parentIdentifier);
+ }
+
+ @Override
+ public int getActiveConnections() {
+ return apiConnection.getActiveConnections();
+ }
+
+ @Override
+ public GuacamoleConfiguration getConfiguration() {
+
+ // Create the GuacamoleConfiguration with current protocol
+ GuacamoleConfiguration configuration = new GuacamoleConfiguration();
+ configuration.setProtocol(apiConnection.getProtocol());
+
+ // Add parameters, if available
+ Map<String, String> parameters = apiConnection.getParameters();
+ if (parameters != null)
+ configuration.setParameters(parameters);
+
+ return configuration;
+ }
+
+ @Override
+ public void setConfiguration(GuacamoleConfiguration config) {
+
+ // Set protocol and parameters
+ apiConnection.setProtocol(config.getProtocol());
+ apiConnection.setParameters(config.getParameters());
+
+ }
+
+ @Override
+ public Map<String, String> getAttributes() {
+ return apiConnection.getAttributes();
+ }
+
+ @Override
+ public void setAttributes(Map<String, String> attributes) {
+ apiConnection.setAttributes(attributes);
+ }
+
+ @Override
+ public GuacamoleTunnel connect(GuacamoleClientInformation info) throws GuacamoleException {
+ throw new UnsupportedOperationException("Operation not supported.");
+ }
+
+ @Override
+ public List<? extends ConnectionRecord> getHistory() throws GuacamoleException {
+ return Collections.<ConnectionRecord>emptyList();
+ }
+
+}
[22/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Rename Basic* classes sensibly. Refactor tunnel classes into own packages.
Posted by jm...@apache.org.
GUACAMOLE-1: Rename Basic* classes sensibly. Refactor tunnel classes into own packages.
Project: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/commit/713fc7f8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/tree/713fc7f8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/diff/713fc7f8
Branch: refs/heads/master
Commit: 713fc7f89fd70ee59778966b2f9de2216cb9bb8d
Parents: c7a5f0b
Author: Michael Jumper <mj...@apache.org>
Authored: Tue Mar 22 15:29:04 2016 -0700
Committer: Michael Jumper <mj...@apache.org>
Committed: Mon Mar 28 20:50:07 2016 -0700
----------------------------------------------------------------------
.../guacamole/BasicGuacamoleTunnelServlet.java | 67 ----
.../guacamole/BasicServletContextListener.java | 103 -----
.../GuacamoleServletContextListener.java | 103 +++++
.../org/apache/guacamole/HTTPTunnelRequest.java | 90 -----
.../java/org/apache/guacamole/TunnelLoader.java | 44 ---
.../java/org/apache/guacamole/TunnelModule.java | 113 ------
.../org/apache/guacamole/TunnelRequest.java | 372 ------------------
.../apache/guacamole/TunnelRequestService.java | 359 ------------------
.../rest/auth/BasicTokenSessionMap.java | 200 ----------
.../rest/auth/HashTokenSessionMap.java | 200 ++++++++++
.../apache/guacamole/tunnel/TunnelLoader.java | 44 +++
.../apache/guacamole/tunnel/TunnelModule.java | 114 ++++++
.../apache/guacamole/tunnel/TunnelRequest.java | 374 +++++++++++++++++++
.../guacamole/tunnel/TunnelRequestService.java | 363 ++++++++++++++++++
.../tunnel/http/HTTPTunnelRequest.java | 91 +++++
.../RestrictedGuacamoleHTTPTunnelServlet.java | 69 ++++
.../guacamole/tunnel/http/package-info.java | 27 ++
.../apache/guacamole/tunnel/package-info.java | 27 ++
...trictedGuacamoleWebSocketTunnelEndpoint.java | 121 ++++++
.../tunnel/websocket/WebSocketTunnelModule.java | 104 ++++++
.../websocket/WebSocketTunnelRequest.java | 70 ++++
.../jetty8/GuacamoleWebSocketTunnelServlet.java | 232 ++++++++++++
...strictedGuacamoleWebSocketTunnelServlet.java | 52 +++
.../websocket/jetty8/WebSocketTunnelModule.java | 73 ++++
.../tunnel/websocket/jetty8/package-info.java | 27 ++
.../GuacamoleWebSocketTunnelListener.java | 243 ++++++++++++
.../RestrictedGuacamoleWebSocketCreator.java | 72 ++++
...trictedGuacamoleWebSocketTunnelListener.java | 59 +++
...strictedGuacamoleWebSocketTunnelServlet.java | 54 +++
.../websocket/jetty9/WebSocketTunnelModule.java | 73 ++++
.../jetty9/WebSocketTunnelRequest.java | 76 ++++
.../tunnel/websocket/jetty9/package-info.java | 28 ++
.../tunnel/websocket/package-info.java | 28 ++
.../tomcat/GuacamoleWebSocketTunnelServlet.java | 265 +++++++++++++
...strictedGuacamoleWebSocketTunnelServlet.java | 52 +++
.../websocket/tomcat/WebSocketTunnelModule.java | 73 ++++
.../tunnel/websocket/tomcat/package-info.java | 29 ++
.../BasicGuacamoleWebSocketTunnelEndpoint.java | 120 ------
.../websocket/WebSocketTunnelModule.java | 104 ------
.../websocket/WebSocketTunnelRequest.java | 70 ----
.../BasicGuacamoleWebSocketTunnelServlet.java | 52 ---
.../jetty8/GuacamoleWebSocketTunnelServlet.java | 232 ------------
.../websocket/jetty8/WebSocketTunnelModule.java | 73 ----
.../websocket/jetty8/package-info.java | 27 --
.../jetty9/BasicGuacamoleWebSocketCreator.java | 72 ----
.../BasicGuacamoleWebSocketTunnelListener.java | 59 ---
.../BasicGuacamoleWebSocketTunnelServlet.java | 54 ---
.../GuacamoleWebSocketTunnelListener.java | 243 ------------
.../websocket/jetty9/WebSocketTunnelModule.java | 73 ----
.../jetty9/WebSocketTunnelRequest.java | 76 ----
.../websocket/jetty9/package-info.java | 28 --
.../guacamole/websocket/package-info.java | 28 --
.../BasicGuacamoleWebSocketTunnelServlet.java | 52 ---
.../tomcat/GuacamoleWebSocketTunnelServlet.java | 265 -------------
.../websocket/tomcat/WebSocketTunnelModule.java | 73 ----
.../websocket/tomcat/package-info.java | 29 --
guacamole/src/main/webapp/WEB-INF/web.xml | 2 +-
57 files changed, 3144 insertions(+), 3079 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/BasicGuacamoleTunnelServlet.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/BasicGuacamoleTunnelServlet.java b/guacamole/src/main/java/org/apache/guacamole/BasicGuacamoleTunnelServlet.java
deleted file mode 100644
index 7ebbd7f..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/BasicGuacamoleTunnelServlet.java
+++ /dev/null
@@ -1,67 +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.
- */
-
-package org.apache.guacamole;
-
-import com.google.inject.Inject;
-import com.google.inject.Singleton;
-import javax.servlet.http.HttpServletRequest;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.net.GuacamoleTunnel;
-import org.apache.guacamole.servlet.GuacamoleHTTPTunnelServlet;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Connects users to a tunnel associated with the authorized connection
- * having the given ID.
- *
- * @author Michael Jumper
- */
-@Singleton
-public class BasicGuacamoleTunnelServlet extends GuacamoleHTTPTunnelServlet {
-
- /**
- * Service for handling tunnel requests.
- */
- @Inject
- private TunnelRequestService tunnelRequestService;
-
- /**
- * Logger for this class.
- */
- private static final Logger logger = LoggerFactory.getLogger(BasicGuacamoleTunnelServlet.class);
-
- @Override
- protected GuacamoleTunnel doConnect(HttpServletRequest request) throws GuacamoleException {
-
- // Attempt to create HTTP tunnel
- GuacamoleTunnel tunnel = tunnelRequestService.createTunnel(new HTTPTunnelRequest(request));
-
- // If successful, warn of lack of WebSocket
- logger.info("Using HTTP tunnel (not WebSocket). Performance may be sub-optimal.");
-
- return tunnel;
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/BasicServletContextListener.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/BasicServletContextListener.java b/guacamole/src/main/java/org/apache/guacamole/BasicServletContextListener.java
deleted file mode 100644
index 96fab85..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/BasicServletContextListener.java
+++ /dev/null
@@ -1,103 +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.
- */
-
-package org.apache.guacamole;
-
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-import com.google.inject.Stage;
-import com.google.inject.servlet.GuiceServletContextListener;
-import javax.servlet.ServletContextEvent;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.environment.Environment;
-import org.apache.guacamole.environment.LocalEnvironment;
-import org.apache.guacamole.extension.ExtensionModule;
-import org.apache.guacamole.log.LogModule;
-import org.apache.guacamole.rest.RESTServiceModule;
-import org.apache.guacamole.rest.auth.BasicTokenSessionMap;
-import org.apache.guacamole.rest.auth.TokenSessionMap;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A ServletContextListener to listen for initialization of the servlet context
- * in order to set up dependency injection.
- *
- * @author James Muehlner
- */
-public class BasicServletContextListener extends GuiceServletContextListener {
-
- /**
- * Logger for this class.
- */
- private final Logger logger = LoggerFactory.getLogger(BasicServletContextListener.class);
-
- /**
- * The Guacamole server environment.
- */
- private Environment environment;
-
- /**
- * Singleton instance of a TokenSessionMap.
- */
- private TokenSessionMap sessionMap;
-
- @Override
- public void contextInitialized(ServletContextEvent servletContextEvent) {
-
- try {
- environment = new LocalEnvironment();
- sessionMap = new BasicTokenSessionMap(environment);
- }
- catch (GuacamoleException e) {
- logger.error("Unable to read guacamole.properties: {}", e.getMessage());
- logger.debug("Error reading guacamole.properties.", e);
- throw new RuntimeException(e);
- }
-
- super.contextInitialized(servletContextEvent);
-
- }
-
- @Override
- protected Injector getInjector() {
- return Guice.createInjector(Stage.PRODUCTION,
- new EnvironmentModule(environment),
- new LogModule(environment),
- new ExtensionModule(environment),
- new RESTServiceModule(sessionMap),
- new TunnelModule()
- );
- }
-
- @Override
- public void contextDestroyed(ServletContextEvent servletContextEvent) {
-
- super.contextDestroyed(servletContextEvent);
-
- // Shutdown TokenSessionMap
- if (sessionMap != null)
- sessionMap.shutdown();
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/GuacamoleServletContextListener.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/GuacamoleServletContextListener.java b/guacamole/src/main/java/org/apache/guacamole/GuacamoleServletContextListener.java
new file mode 100644
index 0000000..ea5f61a
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/GuacamoleServletContextListener.java
@@ -0,0 +1,103 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole;
+
+import org.apache.guacamole.tunnel.TunnelModule;
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+import com.google.inject.Stage;
+import com.google.inject.servlet.GuiceServletContextListener;
+import javax.servlet.ServletContextEvent;
+import org.apache.guacamole.environment.Environment;
+import org.apache.guacamole.environment.LocalEnvironment;
+import org.apache.guacamole.extension.ExtensionModule;
+import org.apache.guacamole.log.LogModule;
+import org.apache.guacamole.rest.RESTServiceModule;
+import org.apache.guacamole.rest.auth.HashTokenSessionMap;
+import org.apache.guacamole.rest.auth.TokenSessionMap;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * A ServletContextListener to listen for initialization of the servlet context
+ * in order to set up dependency injection.
+ *
+ * @author James Muehlner
+ */
+public class GuacamoleServletContextListener extends GuiceServletContextListener {
+
+ /**
+ * Logger for this class.
+ */
+ private final Logger logger = LoggerFactory.getLogger(GuacamoleServletContextListener.class);
+
+ /**
+ * The Guacamole server environment.
+ */
+ private Environment environment;
+
+ /**
+ * Singleton instance of a TokenSessionMap.
+ */
+ private TokenSessionMap sessionMap;
+
+ @Override
+ public void contextInitialized(ServletContextEvent servletContextEvent) {
+
+ try {
+ environment = new LocalEnvironment();
+ sessionMap = new HashTokenSessionMap(environment);
+ }
+ catch (GuacamoleException e) {
+ logger.error("Unable to read guacamole.properties: {}", e.getMessage());
+ logger.debug("Error reading guacamole.properties.", e);
+ throw new RuntimeException(e);
+ }
+
+ super.contextInitialized(servletContextEvent);
+
+ }
+
+ @Override
+ protected Injector getInjector() {
+ return Guice.createInjector(Stage.PRODUCTION,
+ new EnvironmentModule(environment),
+ new LogModule(environment),
+ new ExtensionModule(environment),
+ new RESTServiceModule(sessionMap),
+ new TunnelModule()
+ );
+ }
+
+ @Override
+ public void contextDestroyed(ServletContextEvent servletContextEvent) {
+
+ super.contextDestroyed(servletContextEvent);
+
+ // Shutdown TokenSessionMap
+ if (sessionMap != null)
+ sessionMap.shutdown();
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/HTTPTunnelRequest.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/HTTPTunnelRequest.java b/guacamole/src/main/java/org/apache/guacamole/HTTPTunnelRequest.java
deleted file mode 100644
index 9edc45a..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/HTTPTunnelRequest.java
+++ /dev/null
@@ -1,90 +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.
- */
-
-package org.apache.guacamole;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import javax.servlet.http.HttpServletRequest;
-
-/**
- * HTTP-specific implementation of TunnelRequest.
- *
- * @author Michael Jumper
- */
-public class HTTPTunnelRequest extends TunnelRequest {
-
- /**
- * A copy of the parameters obtained from the HttpServletRequest used to
- * construct the HTTPTunnelRequest.
- */
- private final Map<String, List<String>> parameterMap =
- new HashMap<String, List<String>>();
-
- /**
- * Creates a HTTPTunnelRequest which copies and exposes the parameters
- * from the given HttpServletRequest.
- *
- * @param request
- * The HttpServletRequest to copy parameter values from.
- */
- @SuppressWarnings("unchecked") // getParameterMap() is defined as returning Map<String, String[]>
- public HTTPTunnelRequest(HttpServletRequest request) {
-
- // For each parameter
- for (Map.Entry<String, String[]> mapEntry : ((Map<String, String[]>)
- request.getParameterMap()).entrySet()) {
-
- // Get parameter name and corresponding values
- String parameterName = mapEntry.getKey();
- List<String> parameterValues = Arrays.asList(mapEntry.getValue());
-
- // Store copy of all values in our own map
- parameterMap.put(
- parameterName,
- new ArrayList<String>(parameterValues)
- );
-
- }
-
- }
-
- @Override
- public String getParameter(String name) {
- List<String> values = getParameterValues(name);
-
- // Return the first value from the list if available
- if (values != null && !values.isEmpty())
- return values.get(0);
-
- return null;
- }
-
- @Override
- public List<String> getParameterValues(String name) {
- return parameterMap.get(name);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/TunnelLoader.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/TunnelLoader.java b/guacamole/src/main/java/org/apache/guacamole/TunnelLoader.java
deleted file mode 100644
index 756c6dd..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/TunnelLoader.java
+++ /dev/null
@@ -1,44 +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.
- */
-
-package org.apache.guacamole;
-
-import com.google.inject.Module;
-
-/**
- * Generic means of loading a tunnel without adding explicit dependencies within
- * the main ServletModule, as not all servlet containers may have the classes
- * required by all tunnel implementations.
- *
- * @author Michael Jumper
- */
-public interface TunnelLoader extends Module {
-
- /**
- * Checks whether this type of tunnel is supported by the servlet container.
- *
- * @return true if this type of tunnel is supported and can be loaded
- * without errors, false otherwise.
- */
- public boolean isSupported();
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/TunnelModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/TunnelModule.java b/guacamole/src/main/java/org/apache/guacamole/TunnelModule.java
deleted file mode 100644
index e7c105c..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/TunnelModule.java
+++ /dev/null
@@ -1,113 +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.
- */
-
-package org.apache.guacamole;
-
-import com.google.inject.servlet.ServletModule;
-import java.lang.reflect.InvocationTargetException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Module which loads tunnel implementations.
- *
- * @author Michael Jumper
- */
-public class TunnelModule extends ServletModule {
-
- /**
- * Logger for this class.
- */
- private final Logger logger = LoggerFactory.getLogger(TunnelModule.class);
-
- /**
- * Classnames of all implementation-specific WebSocket tunnel modules.
- */
- private static final String[] WEBSOCKET_MODULES = {
- "org.apache.guacamole.websocket.WebSocketTunnelModule",
- "org.apache.guacamole.websocket.jetty8.WebSocketTunnelModule",
- "org.apache.guacamole.websocket.jetty9.WebSocketTunnelModule",
- "org.apache.guacamole.websocket.tomcat.WebSocketTunnelModule"
- };
-
- private boolean loadWebSocketModule(String classname) {
-
- try {
-
- // Attempt to find WebSocket module
- Class<?> module = Class.forName(classname);
-
- // Create loader
- TunnelLoader loader = (TunnelLoader) module.getConstructor().newInstance();
-
- // Install module, if supported
- if (loader.isSupported()) {
- install(loader);
- return true;
- }
-
- }
-
- // If no such class or constructor, etc., then this particular
- // WebSocket support is not present
- catch (ClassNotFoundException e) {}
- catch (NoClassDefFoundError e) {}
- catch (NoSuchMethodException e) {}
-
- // Log errors which indicate bugs
- catch (InstantiationException e) {
- logger.debug("Error instantiating WebSocket module.", e);
- }
- catch (IllegalAccessException e) {
- logger.debug("Error instantiating WebSocket module.", e);
- }
- catch (InvocationTargetException e) {
- logger.debug("Error instantiating WebSocket module.", e);
- }
-
- // Load attempt failed
- return false;
-
- }
-
- @Override
- protected void configureServlets() {
-
- bind(TunnelRequestService.class);
-
- // Set up HTTP tunnel
- serve("/tunnel").with(BasicGuacamoleTunnelServlet.class);
-
- // Try to load each WebSocket tunnel in sequence
- for (String classname : WEBSOCKET_MODULES) {
- if (loadWebSocketModule(classname)) {
- logger.debug("WebSocket module loaded: {}", classname);
- return;
- }
- }
-
- // Warn of lack of WebSocket
- logger.info("WebSocket support NOT present. Only HTTP will be used.");
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/TunnelRequest.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/TunnelRequest.java b/guacamole/src/main/java/org/apache/guacamole/TunnelRequest.java
deleted file mode 100644
index 622e2f0..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/TunnelRequest.java
+++ /dev/null
@@ -1,372 +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.
- */
-
-package org.apache.guacamole;
-
-import java.util.List;
-import org.apache.guacamole.GuacamoleClientException;
-import org.apache.guacamole.GuacamoleException;
-
-/**
- * A request object which provides only the functions absolutely required to
- * retrieve and connect to a tunnel.
- *
- * @author Michael Jumper
- */
-public abstract class TunnelRequest {
-
- /**
- * The name of the request parameter containing the user's authentication
- * token.
- */
- public static final String AUTH_TOKEN_PARAMETER = "token";
-
- /**
- * The name of the parameter containing the identifier of the
- * AuthenticationProvider associated with the UserContext containing the
- * object to which a tunnel is being requested.
- */
- public static final String AUTH_PROVIDER_IDENTIFIER_PARAMETER = "GUAC_DATA_SOURCE";
-
- /**
- * The name of the parameter specifying the type of object to which a
- * tunnel is being requested. Currently, this may be "c" for a Guacamole
- * connection, or "g" for a Guacamole connection group.
- */
- public static final String TYPE_PARAMETER = "GUAC_TYPE";
-
- /**
- * The name of the parameter containing the unique identifier of the object
- * to which a tunnel is being requested.
- */
- public static final String IDENTIFIER_PARAMETER = "GUAC_ID";
-
- /**
- * The name of the parameter containing the desired display width, in
- * pixels.
- */
- public static final String WIDTH_PARAMETER = "GUAC_WIDTH";
-
- /**
- * The name of the parameter containing the desired display height, in
- * pixels.
- */
- public static final String HEIGHT_PARAMETER = "GUAC_HEIGHT";
-
- /**
- * The name of the parameter containing the desired display resolution, in
- * DPI.
- */
- public static final String DPI_PARAMETER = "GUAC_DPI";
-
- /**
- * The name of the parameter specifying one supported audio mimetype. This
- * will normally appear multiple times within a single tunnel request -
- * once for each mimetype.
- */
- public static final String AUDIO_PARAMETER = "GUAC_AUDIO";
-
- /**
- * The name of the parameter specifying one supported video mimetype. This
- * will normally appear multiple times within a single tunnel request -
- * once for each mimetype.
- */
- public static final String VIDEO_PARAMETER = "GUAC_VIDEO";
-
- /**
- * The name of the parameter specifying one supported image mimetype. This
- * will normally appear multiple times within a single tunnel request -
- * once for each mimetype.
- */
- public static final String IMAGE_PARAMETER = "GUAC_IMAGE";
-
- /**
- * All supported object types that can be used as the destination of a
- * tunnel.
- */
- public static enum Type {
-
- /**
- * A Guacamole connection.
- */
- CONNECTION("c"),
-
- /**
- * A Guacamole connection group.
- */
- CONNECTION_GROUP("g");
-
- /**
- * The parameter value which denotes a destination object of this type.
- */
- final String PARAMETER_VALUE;
-
- /**
- * Defines a Type having the given corresponding parameter value.
- *
- * @param value
- * The parameter value which denotes a destination object of this
- * type.
- */
- Type(String value) {
- PARAMETER_VALUE = value;
- }
-
- };
-
- /**
- * Returns the value of the parameter having the given name.
- *
- * @param name
- * The name of the parameter to return.
- *
- * @return
- * The value of the parameter having the given name, or null if no such
- * parameter was specified.
- */
- public abstract String getParameter(String name);
-
- /**
- * Returns a list of all values specified for the given parameter.
- *
- * @param name
- * The name of the parameter to return.
- *
- * @return
- * All values of the parameter having the given name , or null if no
- * such parameter was specified.
- */
- public abstract List<String> getParameterValues(String name);
-
- /**
- * Returns the value of the parameter having the given name, throwing an
- * exception if the parameter is missing.
- *
- * @param name
- * The name of the parameter to return.
- *
- * @return
- * The value of the parameter having the given name.
- *
- * @throws GuacamoleException
- * If the parameter is not present in the request.
- */
- public String getRequiredParameter(String name) throws GuacamoleException {
-
- // Pull requested parameter, aborting if absent
- String value = getParameter(name);
- if (value == null)
- throw new GuacamoleClientException("Parameter \"" + name + "\" is required.");
-
- return value;
-
- }
-
- /**
- * Returns the integer value of the parameter having the given name,
- * throwing an exception if the parameter cannot be parsed.
- *
- * @param name
- * The name of the parameter to return.
- *
- * @return
- * The integer value of the parameter having the given name, or null if
- * the parameter is missing.
- *
- * @throws GuacamoleException
- * If the parameter is not a valid integer.
- */
- public Integer getIntegerParameter(String name) throws GuacamoleException {
-
- // Pull requested parameter
- String value = getParameter(name);
- if (value == null)
- return null;
-
- // Attempt to parse as an integer
- try {
- return Integer.parseInt(value);
- }
-
- // Rethrow any parsing error as a GuacamoleClientException
- catch (NumberFormatException e) {
- throw new GuacamoleClientException("Parameter \"" + name + "\" must be a valid integer.", e);
- }
-
- }
-
- /**
- * Returns the authentication token associated with this tunnel request.
- *
- * @return
- * The authentication token associated with this tunnel request, or
- * null if no authentication token is present.
- */
- public String getAuthenticationToken() {
- return getParameter(AUTH_TOKEN_PARAMETER);
- }
-
- /**
- * Returns the identifier of the AuthenticationProvider associated with the
- * UserContext from which the connection or connection group is to be
- * retrieved when the tunnel is created. In the context of the REST API and
- * the JavaScript side of the web application, this is referred to as the
- * data source identifier.
- *
- * @return
- * The identifier of the AuthenticationProvider associated with the
- * UserContext from which the connection or connection group is to be
- * retrieved when the tunnel is created.
- *
- * @throws GuacamoleException
- * If the identifier was not present in the request.
- */
- public String getAuthenticationProviderIdentifier()
- throws GuacamoleException {
- return getRequiredParameter(AUTH_PROVIDER_IDENTIFIER_PARAMETER);
- }
-
- /**
- * Returns the type of object for which the tunnel is being requested.
- *
- * @return
- * The type of object for which the tunnel is being requested.
- *
- * @throws GuacamoleException
- * If the type was not present in the request, or if the type requested
- * is in the wrong format.
- */
- public Type getType() throws GuacamoleException {
-
- String type = getRequiredParameter(TYPE_PARAMETER);
-
- // For each possible object type
- for (Type possibleType : Type.values()) {
-
- // Match against defined parameter value
- if (type.equals(possibleType.PARAMETER_VALUE))
- return possibleType;
-
- }
-
- throw new GuacamoleClientException("Illegal identifier - unknown type.");
-
- }
-
- /**
- * Returns the identifier of the destination of the tunnel being requested.
- * As there are multiple types of destination objects available, and within
- * multiple data sources, the associated object type and data source are
- * also necessary to determine what this identifier refers to.
- *
- * @return
- * The identifier of the destination of the tunnel being requested.
- *
- * @throws GuacamoleException
- * If the identifier was not present in the request.
- */
- public String getIdentifier() throws GuacamoleException {
- return getRequiredParameter(IDENTIFIER_PARAMETER);
- }
-
- /**
- * Returns the display width desired for the Guacamole session over the
- * tunnel being requested.
- *
- * @return
- * The display width desired for the Guacamole session over the tunnel
- * being requested, or null if no width was given.
- *
- * @throws GuacamoleException
- * If the width specified was not a valid integer.
- */
- public Integer getWidth() throws GuacamoleException {
- return getIntegerParameter(WIDTH_PARAMETER);
- }
-
- /**
- * Returns the display height desired for the Guacamole session over the
- * tunnel being requested.
- *
- * @return
- * The display height desired for the Guacamole session over the tunnel
- * being requested, or null if no width was given.
- *
- * @throws GuacamoleException
- * If the height specified was not a valid integer.
- */
- public Integer getHeight() throws GuacamoleException {
- return getIntegerParameter(HEIGHT_PARAMETER);
- }
-
- /**
- * Returns the display resolution desired for the Guacamole session over
- * the tunnel being requested, in DPI.
- *
- * @return
- * The display resolution desired for the Guacamole session over the
- * tunnel being requested, or null if no resolution was given.
- *
- * @throws GuacamoleException
- * If the resolution specified was not a valid integer.
- */
- public Integer getDPI() throws GuacamoleException {
- return getIntegerParameter(DPI_PARAMETER);
- }
-
- /**
- * Returns a list of all audio mimetypes declared as supported within the
- * tunnel request.
- *
- * @return
- * A list of all audio mimetypes declared as supported within the
- * tunnel request, or null if no mimetypes were specified.
- */
- public List<String> getAudioMimetypes() {
- return getParameterValues(AUDIO_PARAMETER);
- }
-
- /**
- * Returns a list of all video mimetypes declared as supported within the
- * tunnel request.
- *
- * @return
- * A list of all video mimetypes declared as supported within the
- * tunnel request, or null if no mimetypes were specified.
- */
- public List<String> getVideoMimetypes() {
- return getParameterValues(VIDEO_PARAMETER);
- }
-
- /**
- * Returns a list of all image mimetypes declared as supported within the
- * tunnel request.
- *
- * @return
- * A list of all image mimetypes declared as supported within the
- * tunnel request, or null if no mimetypes were specified.
- */
- public List<String> getImageMimetypes() {
- return getParameterValues(IMAGE_PARAMETER);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/TunnelRequestService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/TunnelRequestService.java b/guacamole/src/main/java/org/apache/guacamole/TunnelRequestService.java
deleted file mode 100644
index d78fdde..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/TunnelRequestService.java
+++ /dev/null
@@ -1,359 +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.
- */
-
-package org.apache.guacamole;
-
-import com.google.inject.Inject;
-import com.google.inject.Singleton;
-import java.util.List;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.GuacamoleSecurityException;
-import org.apache.guacamole.GuacamoleUnauthorizedException;
-import org.apache.guacamole.net.DelegatingGuacamoleTunnel;
-import org.apache.guacamole.net.GuacamoleTunnel;
-import org.apache.guacamole.net.auth.Connection;
-import org.apache.guacamole.net.auth.ConnectionGroup;
-import org.apache.guacamole.net.auth.Directory;
-import org.apache.guacamole.net.auth.UserContext;
-import org.apache.guacamole.rest.ObjectRetrievalService;
-import org.apache.guacamole.rest.auth.AuthenticationService;
-import org.apache.guacamole.protocol.GuacamoleClientInformation;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Utility class that takes a standard request from the Guacamole JavaScript
- * client and produces the corresponding GuacamoleTunnel. The implementation
- * of this utility is specific to the form of request used by the upstream
- * Guacamole web application, and is not necessarily useful to applications
- * that use purely the Guacamole API.
- *
- * @author Michael Jumper
- * @author Vasily Loginov
- */
-@Singleton
-public class TunnelRequestService {
-
- /**
- * Logger for this class.
- */
- private final Logger logger = LoggerFactory.getLogger(TunnelRequestService.class);
-
- /**
- * A service for authenticating users from auth tokens.
- */
- @Inject
- private AuthenticationService authenticationService;
-
- /**
- * Service for convenient retrieval of objects.
- */
- @Inject
- private ObjectRetrievalService retrievalService;
-
- /**
- * Reads and returns the client information provided within the given
- * request.
- *
- * @param request
- * The request describing tunnel to create.
- *
- * @return GuacamoleClientInformation
- * An object containing information about the client sending the tunnel
- * request.
- *
- * @throws GuacamoleException
- * If the parameters of the tunnel request are invalid.
- */
- protected GuacamoleClientInformation getClientInformation(TunnelRequest request)
- throws GuacamoleException {
-
- // Get client information
- GuacamoleClientInformation info = new GuacamoleClientInformation();
-
- // Set width if provided
- Integer width = request.getWidth();
- if (width != null)
- info.setOptimalScreenWidth(width);
-
- // Set height if provided
- Integer height = request.getHeight();
- if (height != null)
- info.setOptimalScreenHeight(height);
-
- // Set resolution if provided
- Integer dpi = request.getDPI();
- if (dpi != null)
- info.setOptimalResolution(dpi);
-
- // Add audio mimetypes
- List<String> audioMimetypes = request.getAudioMimetypes();
- if (audioMimetypes != null)
- info.getAudioMimetypes().addAll(audioMimetypes);
-
- // Add video mimetypes
- List<String> videoMimetypes = request.getVideoMimetypes();
- if (videoMimetypes != null)
- info.getVideoMimetypes().addAll(videoMimetypes);
-
- // Add image mimetypes
- List<String> imageMimetypes = request.getImageMimetypes();
- if (imageMimetypes != null)
- info.getImageMimetypes().addAll(imageMimetypes);
-
- return info;
- }
-
- /**
- * Creates a new tunnel using which is connected to the connection or
- * connection group identifier by the given ID. Client information
- * is specified in the {@code info} parameter.
- *
- * @param context
- * The UserContext associated with the user for whom the tunnel is
- * being created.
- *
- * @param type
- * The type of object being connected to (connection or group).
- *
- * @param id
- * The id of the connection or group being connected to.
- *
- * @param info
- * Information describing the connected Guacamole client.
- *
- * @return
- * A new tunnel, connected as required by the request.
- *
- * @throws GuacamoleException
- * If an error occurs while creating the tunnel.
- */
- protected GuacamoleTunnel createConnectedTunnel(UserContext context,
- final TunnelRequest.Type type, String id,
- GuacamoleClientInformation info)
- throws GuacamoleException {
-
- // Create connected tunnel from identifier
- GuacamoleTunnel tunnel = null;
- switch (type) {
-
- // Connection identifiers
- case CONNECTION: {
-
- // Get connection directory
- Directory<Connection> directory = context.getConnectionDirectory();
-
- // Get authorized connection
- Connection connection = directory.get(id);
- if (connection == null) {
- logger.info("Connection \"{}\" does not exist for user \"{}\".", id, context.self().getIdentifier());
- throw new GuacamoleSecurityException("Requested connection is not authorized.");
- }
-
- // Connect tunnel
- tunnel = connection.connect(info);
- logger.info("User \"{}\" connected to connection \"{}\".", context.self().getIdentifier(), id);
- break;
- }
-
- // Connection group identifiers
- case CONNECTION_GROUP: {
-
- // Get connection group directory
- Directory<ConnectionGroup> directory = context.getConnectionGroupDirectory();
-
- // Get authorized connection group
- ConnectionGroup group = directory.get(id);
- if (group == null) {
- logger.info("Connection group \"{}\" does not exist for user \"{}\".", id, context.self().getIdentifier());
- throw new GuacamoleSecurityException("Requested connection group is not authorized.");
- }
-
- // Connect tunnel
- tunnel = group.connect(info);
- logger.info("User \"{}\" connected to group \"{}\".", context.self().getIdentifier(), id);
- break;
- }
-
- // Type is guaranteed to be one of the above
- default:
- assert(false);
-
- }
-
- return tunnel;
-
- }
-
- /**
- * Associates the given tunnel with the given session, returning a wrapped
- * version of the same tunnel which automatically handles closure and
- * removal from the session.
- *
- * @param tunnel
- * The connected tunnel to wrap and monitor.
- *
- * @param authToken
- * The authentication token associated with the given session. If
- * provided, this token will be automatically invalidated (and the
- * corresponding session destroyed) if tunnel errors imply that the
- * user is no longer authorized.
- *
- * @param session
- * The Guacamole session to associate the tunnel with.
- *
- * @param type
- * The type of object being connected to (connection or group).
- *
- * @param id
- * The id of the connection or group being connected to.
- *
- * @return
- * A new tunnel, associated with the given session, which delegates all
- * functionality to the given tunnel while monitoring and automatically
- * handling closure.
- *
- * @throws GuacamoleException
- * If an error occurs while obtaining the tunnel.
- */
- protected GuacamoleTunnel createAssociatedTunnel(GuacamoleTunnel tunnel,
- final String authToken, final GuacamoleSession session,
- final TunnelRequest.Type type, final String id)
- throws GuacamoleException {
-
- // Monitor tunnel closure and data
- GuacamoleTunnel monitoredTunnel = new DelegatingGuacamoleTunnel(tunnel) {
-
- /**
- * The time the connection began, measured in milliseconds since
- * midnight, January 1, 1970 UTC.
- */
- private final long connectionStartTime = System.currentTimeMillis();
-
- @Override
- public void close() throws GuacamoleException {
-
- long connectionEndTime = System.currentTimeMillis();
- long duration = connectionEndTime - connectionStartTime;
-
- // Log closure
- switch (type) {
-
- // Connection identifiers
- case CONNECTION:
- logger.info("User \"{}\" disconnected from connection \"{}\". Duration: {} milliseconds",
- session.getAuthenticatedUser().getIdentifier(), id, duration);
- break;
-
- // Connection group identifiers
- case CONNECTION_GROUP:
- logger.info("User \"{}\" disconnected from connection group \"{}\". Duration: {} milliseconds",
- session.getAuthenticatedUser().getIdentifier(), id, duration);
- break;
-
- // Type is guaranteed to be one of the above
- default:
- assert(false);
-
- }
-
- try {
-
- // Close and clean up tunnel
- session.removeTunnel(getUUID().toString());
- super.close();
-
- }
-
- // Ensure any associated session is invalidated if unauthorized
- catch (GuacamoleUnauthorizedException e) {
-
- // If there is an associated auth token, invalidate it
- if (authenticationService.destroyGuacamoleSession(authToken))
- logger.debug("Implicitly invalidated session for token \"{}\".", authToken);
-
- // Continue with exception processing
- throw e;
-
- }
-
- }
-
- };
-
- // Associate tunnel with session
- session.addTunnel(monitoredTunnel);
- return monitoredTunnel;
-
- }
-
- /**
- * Creates a new tunnel using the parameters and credentials present in
- * the given request.
- *
- * @param request
- * The request describing the tunnel to create.
- *
- * @return
- * The created tunnel, or null if the tunnel could not be created.
- *
- * @throws GuacamoleException
- * If an error occurs while creating the tunnel.
- */
- public GuacamoleTunnel createTunnel(TunnelRequest request)
- throws GuacamoleException {
-
- // Parse request parameters
- String authToken = request.getAuthenticationToken();
- String id = request.getIdentifier();
- TunnelRequest.Type type = request.getType();
- String authProviderIdentifier = request.getAuthenticationProviderIdentifier();
- GuacamoleClientInformation info = getClientInformation(request);
-
- GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
- UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
-
- try {
-
- // Create connected tunnel using provided connection ID and client information
- GuacamoleTunnel tunnel = createConnectedTunnel(userContext, type, id, info);
-
- // Associate tunnel with session
- return createAssociatedTunnel(tunnel, authToken, session, type, id);
-
- }
-
- // Ensure any associated session is invalidated if unauthorized
- catch (GuacamoleUnauthorizedException e) {
-
- // If there is an associated auth token, invalidate it
- if (authenticationService.destroyGuacamoleSession(authToken))
- logger.debug("Implicitly invalidated session for token \"{}\".", authToken);
-
- // Continue with exception processing
- throw e;
-
- }
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/rest/auth/BasicTokenSessionMap.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/auth/BasicTokenSessionMap.java b/guacamole/src/main/java/org/apache/guacamole/rest/auth/BasicTokenSessionMap.java
deleted file mode 100644
index 9486122..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/rest/auth/BasicTokenSessionMap.java
+++ /dev/null
@@ -1,200 +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.
- */
-
-package org.apache.guacamole.rest.auth;
-
-import java.util.Iterator;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.Executors;
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.TimeUnit;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.environment.Environment;
-import org.apache.guacamole.GuacamoleSession;
-import org.apache.guacamole.properties.IntegerGuacamoleProperty;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A HashMap-based implementation of the TokenSessionMap with support for
- * session timeouts.
- *
- * @author James Muehlner
- */
-public class BasicTokenSessionMap implements TokenSessionMap {
-
- /**
- * Logger for this class.
- */
- private static final Logger logger = LoggerFactory.getLogger(BasicTokenSessionMap.class);
-
- /**
- * Executor service which runs the period session eviction task.
- */
- private final ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
-
- /**
- * Keeps track of the authToken to GuacamoleSession mapping.
- */
- private final ConcurrentMap<String, GuacamoleSession> sessionMap =
- new ConcurrentHashMap<String, GuacamoleSession>();
-
- /**
- * The session timeout for the Guacamole REST API, in minutes.
- */
- private final IntegerGuacamoleProperty API_SESSION_TIMEOUT =
- new IntegerGuacamoleProperty() {
-
- @Override
- public String getName() { return "api-session-timeout"; }
-
- };
-
- /**
- * Create a new BasicTokenGuacamoleSessionMap configured using the given
- * environment.
- *
- * @param environment
- * The environment to use when configuring the token session map.
- */
- public BasicTokenSessionMap(Environment environment) {
-
- int sessionTimeoutValue;
-
- // Read session timeout from guacamole.properties
- try {
- sessionTimeoutValue = environment.getProperty(API_SESSION_TIMEOUT, 60);
- }
- catch (GuacamoleException e) {
- logger.error("Unable to read guacamole.properties: {}", e.getMessage());
- logger.debug("Error while reading session timeout value.", e);
- sessionTimeoutValue = 60;
- }
-
- // Check for expired sessions every minute
- logger.info("Sessions will expire after {} minutes of inactivity.", sessionTimeoutValue);
- executor.scheduleAtFixedRate(new SessionEvictionTask(sessionTimeoutValue * 60000l), 1, 1, TimeUnit.MINUTES);
-
- }
-
- /**
- * Task which iterates through all active sessions, evicting those sessions
- * which are beyond the session timeout.
- */
- private class SessionEvictionTask implements Runnable {
-
- /**
- * The maximum allowed age of any session, in milliseconds.
- */
- private final long sessionTimeout;
-
- /**
- * Creates a new task which automatically evicts sessions which are
- * older than the specified timeout.
- *
- * @param sessionTimeout The maximum age of any session, in
- * milliseconds.
- */
- public SessionEvictionTask(long sessionTimeout) {
- this.sessionTimeout = sessionTimeout;
- }
-
- @Override
- public void run() {
-
- // Get start time of session check time
- long sessionCheckStart = System.currentTimeMillis();
-
- logger.debug("Checking for expired sessions...");
-
- // For each session, remove sesions which have expired
- Iterator<Map.Entry<String, GuacamoleSession>> entries = sessionMap.entrySet().iterator();
- while (entries.hasNext()) {
-
- Map.Entry<String, GuacamoleSession> entry = entries.next();
- GuacamoleSession session = entry.getValue();
-
- // Do not expire sessions which are active
- if (session.hasTunnels())
- continue;
-
- // Get elapsed time since last access
- long age = sessionCheckStart - session.getLastAccessedTime();
-
- // If session is too old, evict it and check the next one
- if (age >= sessionTimeout) {
- logger.debug("Session \"{}\" has timed out.", entry.getKey());
- entries.remove();
- session.invalidate();
- }
-
- }
-
- // Log completion and duration
- logger.debug("Session check completed in {} ms.",
- System.currentTimeMillis() - sessionCheckStart);
-
- }
-
- }
-
- @Override
- public GuacamoleSession get(String authToken) {
-
- // There are no null auth tokens
- if (authToken == null)
- return null;
-
- // Update the last access time and return the GuacamoleSession
- GuacamoleSession session = sessionMap.get(authToken);
- if (session != null)
- session.access();
-
- return session;
-
- }
-
- @Override
- public void put(String authToken, GuacamoleSession session) {
- sessionMap.put(authToken, session);
- }
-
- @Override
- public GuacamoleSession remove(String authToken) {
-
- // There are no null auth tokens
- if (authToken == null)
- return null;
-
- // Attempt to retrieve only if non-null
- return sessionMap.remove(authToken);
-
- }
-
- @Override
- public void shutdown() {
- executor.shutdownNow();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/rest/auth/HashTokenSessionMap.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/auth/HashTokenSessionMap.java b/guacamole/src/main/java/org/apache/guacamole/rest/auth/HashTokenSessionMap.java
new file mode 100644
index 0000000..a362c69
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/auth/HashTokenSessionMap.java
@@ -0,0 +1,200 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.rest.auth;
+
+import java.util.Iterator;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.TimeUnit;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.environment.Environment;
+import org.apache.guacamole.GuacamoleSession;
+import org.apache.guacamole.properties.IntegerGuacamoleProperty;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * A HashMap-based implementation of the TokenSessionMap with support for
+ * session timeouts.
+ *
+ * @author James Muehlner
+ */
+public class HashTokenSessionMap implements TokenSessionMap {
+
+ /**
+ * Logger for this class.
+ */
+ private static final Logger logger = LoggerFactory.getLogger(HashTokenSessionMap.class);
+
+ /**
+ * Executor service which runs the period session eviction task.
+ */
+ private final ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
+
+ /**
+ * Keeps track of the authToken to GuacamoleSession mapping.
+ */
+ private final ConcurrentMap<String, GuacamoleSession> sessionMap =
+ new ConcurrentHashMap<String, GuacamoleSession>();
+
+ /**
+ * The session timeout for the Guacamole REST API, in minutes.
+ */
+ private final IntegerGuacamoleProperty API_SESSION_TIMEOUT =
+ new IntegerGuacamoleProperty() {
+
+ @Override
+ public String getName() { return "api-session-timeout"; }
+
+ };
+
+ /**
+ * Create a new BasicTokenGuacamoleSessionMap configured using the given
+ * environment.
+ *
+ * @param environment
+ * The environment to use when configuring the token session map.
+ */
+ public HashTokenSessionMap(Environment environment) {
+
+ int sessionTimeoutValue;
+
+ // Read session timeout from guacamole.properties
+ try {
+ sessionTimeoutValue = environment.getProperty(API_SESSION_TIMEOUT, 60);
+ }
+ catch (GuacamoleException e) {
+ logger.error("Unable to read guacamole.properties: {}", e.getMessage());
+ logger.debug("Error while reading session timeout value.", e);
+ sessionTimeoutValue = 60;
+ }
+
+ // Check for expired sessions every minute
+ logger.info("Sessions will expire after {} minutes of inactivity.", sessionTimeoutValue);
+ executor.scheduleAtFixedRate(new SessionEvictionTask(sessionTimeoutValue * 60000l), 1, 1, TimeUnit.MINUTES);
+
+ }
+
+ /**
+ * Task which iterates through all active sessions, evicting those sessions
+ * which are beyond the session timeout.
+ */
+ private class SessionEvictionTask implements Runnable {
+
+ /**
+ * The maximum allowed age of any session, in milliseconds.
+ */
+ private final long sessionTimeout;
+
+ /**
+ * Creates a new task which automatically evicts sessions which are
+ * older than the specified timeout.
+ *
+ * @param sessionTimeout The maximum age of any session, in
+ * milliseconds.
+ */
+ public SessionEvictionTask(long sessionTimeout) {
+ this.sessionTimeout = sessionTimeout;
+ }
+
+ @Override
+ public void run() {
+
+ // Get start time of session check time
+ long sessionCheckStart = System.currentTimeMillis();
+
+ logger.debug("Checking for expired sessions...");
+
+ // For each session, remove sesions which have expired
+ Iterator<Map.Entry<String, GuacamoleSession>> entries = sessionMap.entrySet().iterator();
+ while (entries.hasNext()) {
+
+ Map.Entry<String, GuacamoleSession> entry = entries.next();
+ GuacamoleSession session = entry.getValue();
+
+ // Do not expire sessions which are active
+ if (session.hasTunnels())
+ continue;
+
+ // Get elapsed time since last access
+ long age = sessionCheckStart - session.getLastAccessedTime();
+
+ // If session is too old, evict it and check the next one
+ if (age >= sessionTimeout) {
+ logger.debug("Session \"{}\" has timed out.", entry.getKey());
+ entries.remove();
+ session.invalidate();
+ }
+
+ }
+
+ // Log completion and duration
+ logger.debug("Session check completed in {} ms.",
+ System.currentTimeMillis() - sessionCheckStart);
+
+ }
+
+ }
+
+ @Override
+ public GuacamoleSession get(String authToken) {
+
+ // There are no null auth tokens
+ if (authToken == null)
+ return null;
+
+ // Update the last access time and return the GuacamoleSession
+ GuacamoleSession session = sessionMap.get(authToken);
+ if (session != null)
+ session.access();
+
+ return session;
+
+ }
+
+ @Override
+ public void put(String authToken, GuacamoleSession session) {
+ sessionMap.put(authToken, session);
+ }
+
+ @Override
+ public GuacamoleSession remove(String authToken) {
+
+ // There are no null auth tokens
+ if (authToken == null)
+ return null;
+
+ // Attempt to retrieve only if non-null
+ return sessionMap.remove(authToken);
+
+ }
+
+ @Override
+ public void shutdown() {
+ executor.shutdownNow();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelLoader.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelLoader.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelLoader.java
new file mode 100644
index 0000000..2e58d95
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelLoader.java
@@ -0,0 +1,44 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.tunnel;
+
+import com.google.inject.Module;
+
+/**
+ * Generic means of loading a tunnel without adding explicit dependencies within
+ * the main ServletModule, as not all servlet containers may have the classes
+ * required by all tunnel implementations.
+ *
+ * @author Michael Jumper
+ */
+public interface TunnelLoader extends Module {
+
+ /**
+ * Checks whether this type of tunnel is supported by the servlet container.
+ *
+ * @return true if this type of tunnel is supported and can be loaded
+ * without errors, false otherwise.
+ */
+ public boolean isSupported();
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelModule.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelModule.java
new file mode 100644
index 0000000..331184f
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelModule.java
@@ -0,0 +1,114 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.tunnel;
+
+import org.apache.guacamole.tunnel.http.RestrictedGuacamoleHTTPTunnelServlet;
+import com.google.inject.servlet.ServletModule;
+import java.lang.reflect.InvocationTargetException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Module which loads tunnel implementations.
+ *
+ * @author Michael Jumper
+ */
+public class TunnelModule extends ServletModule {
+
+ /**
+ * Logger for this class.
+ */
+ private final Logger logger = LoggerFactory.getLogger(TunnelModule.class);
+
+ /**
+ * Classnames of all implementation-specific WebSocket tunnel modules.
+ */
+ private static final String[] WEBSOCKET_MODULES = {
+ "org.apache.guacamole.websocket.WebSocketTunnelModule",
+ "org.apache.guacamole.websocket.jetty8.WebSocketTunnelModule",
+ "org.apache.guacamole.websocket.jetty9.WebSocketTunnelModule",
+ "org.apache.guacamole.websocket.tomcat.WebSocketTunnelModule"
+ };
+
+ private boolean loadWebSocketModule(String classname) {
+
+ try {
+
+ // Attempt to find WebSocket module
+ Class<?> module = Class.forName(classname);
+
+ // Create loader
+ TunnelLoader loader = (TunnelLoader) module.getConstructor().newInstance();
+
+ // Install module, if supported
+ if (loader.isSupported()) {
+ install(loader);
+ return true;
+ }
+
+ }
+
+ // If no such class or constructor, etc., then this particular
+ // WebSocket support is not present
+ catch (ClassNotFoundException e) {}
+ catch (NoClassDefFoundError e) {}
+ catch (NoSuchMethodException e) {}
+
+ // Log errors which indicate bugs
+ catch (InstantiationException e) {
+ logger.debug("Error instantiating WebSocket module.", e);
+ }
+ catch (IllegalAccessException e) {
+ logger.debug("Error instantiating WebSocket module.", e);
+ }
+ catch (InvocationTargetException e) {
+ logger.debug("Error instantiating WebSocket module.", e);
+ }
+
+ // Load attempt failed
+ return false;
+
+ }
+
+ @Override
+ protected void configureServlets() {
+
+ bind(TunnelRequestService.class);
+
+ // Set up HTTP tunnel
+ serve("/tunnel").with(RestrictedGuacamoleHTTPTunnelServlet.class);
+
+ // Try to load each WebSocket tunnel in sequence
+ for (String classname : WEBSOCKET_MODULES) {
+ if (loadWebSocketModule(classname)) {
+ logger.debug("WebSocket module loaded: {}", classname);
+ return;
+ }
+ }
+
+ // Warn of lack of WebSocket
+ logger.info("WebSocket support NOT present. Only HTTP will be used.");
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelRequest.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelRequest.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelRequest.java
new file mode 100644
index 0000000..e210ded
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelRequest.java
@@ -0,0 +1,374 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.tunnel;
+
+import java.util.List;
+import org.apache.guacamole.GuacamoleClientException;
+import org.apache.guacamole.GuacamoleClientException;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.GuacamoleException;
+
+/**
+ * A request object which provides only the functions absolutely required to
+ * retrieve and connect to a tunnel.
+ *
+ * @author Michael Jumper
+ */
+public abstract class TunnelRequest {
+
+ /**
+ * The name of the request parameter containing the user's authentication
+ * token.
+ */
+ public static final String AUTH_TOKEN_PARAMETER = "token";
+
+ /**
+ * The name of the parameter containing the identifier of the
+ * AuthenticationProvider associated with the UserContext containing the
+ * object to which a tunnel is being requested.
+ */
+ public static final String AUTH_PROVIDER_IDENTIFIER_PARAMETER = "GUAC_DATA_SOURCE";
+
+ /**
+ * The name of the parameter specifying the type of object to which a
+ * tunnel is being requested. Currently, this may be "c" for a Guacamole
+ * connection, or "g" for a Guacamole connection group.
+ */
+ public static final String TYPE_PARAMETER = "GUAC_TYPE";
+
+ /**
+ * The name of the parameter containing the unique identifier of the object
+ * to which a tunnel is being requested.
+ */
+ public static final String IDENTIFIER_PARAMETER = "GUAC_ID";
+
+ /**
+ * The name of the parameter containing the desired display width, in
+ * pixels.
+ */
+ public static final String WIDTH_PARAMETER = "GUAC_WIDTH";
+
+ /**
+ * The name of the parameter containing the desired display height, in
+ * pixels.
+ */
+ public static final String HEIGHT_PARAMETER = "GUAC_HEIGHT";
+
+ /**
+ * The name of the parameter containing the desired display resolution, in
+ * DPI.
+ */
+ public static final String DPI_PARAMETER = "GUAC_DPI";
+
+ /**
+ * The name of the parameter specifying one supported audio mimetype. This
+ * will normally appear multiple times within a single tunnel request -
+ * once for each mimetype.
+ */
+ public static final String AUDIO_PARAMETER = "GUAC_AUDIO";
+
+ /**
+ * The name of the parameter specifying one supported video mimetype. This
+ * will normally appear multiple times within a single tunnel request -
+ * once for each mimetype.
+ */
+ public static final String VIDEO_PARAMETER = "GUAC_VIDEO";
+
+ /**
+ * The name of the parameter specifying one supported image mimetype. This
+ * will normally appear multiple times within a single tunnel request -
+ * once for each mimetype.
+ */
+ public static final String IMAGE_PARAMETER = "GUAC_IMAGE";
+
+ /**
+ * All supported object types that can be used as the destination of a
+ * tunnel.
+ */
+ public static enum Type {
+
+ /**
+ * A Guacamole connection.
+ */
+ CONNECTION("c"),
+
+ /**
+ * A Guacamole connection group.
+ */
+ CONNECTION_GROUP("g");
+
+ /**
+ * The parameter value which denotes a destination object of this type.
+ */
+ final String PARAMETER_VALUE;
+
+ /**
+ * Defines a Type having the given corresponding parameter value.
+ *
+ * @param value
+ * The parameter value which denotes a destination object of this
+ * type.
+ */
+ Type(String value) {
+ PARAMETER_VALUE = value;
+ }
+
+ };
+
+ /**
+ * Returns the value of the parameter having the given name.
+ *
+ * @param name
+ * The name of the parameter to return.
+ *
+ * @return
+ * The value of the parameter having the given name, or null if no such
+ * parameter was specified.
+ */
+ public abstract String getParameter(String name);
+
+ /**
+ * Returns a list of all values specified for the given parameter.
+ *
+ * @param name
+ * The name of the parameter to return.
+ *
+ * @return
+ * All values of the parameter having the given name , or null if no
+ * such parameter was specified.
+ */
+ public abstract List<String> getParameterValues(String name);
+
+ /**
+ * Returns the value of the parameter having the given name, throwing an
+ * exception if the parameter is missing.
+ *
+ * @param name
+ * The name of the parameter to return.
+ *
+ * @return
+ * The value of the parameter having the given name.
+ *
+ * @throws GuacamoleException
+ * If the parameter is not present in the request.
+ */
+ public String getRequiredParameter(String name) throws GuacamoleException {
+
+ // Pull requested parameter, aborting if absent
+ String value = getParameter(name);
+ if (value == null)
+ throw new GuacamoleClientException("Parameter \"" + name + "\" is required.");
+
+ return value;
+
+ }
+
+ /**
+ * Returns the integer value of the parameter having the given name,
+ * throwing an exception if the parameter cannot be parsed.
+ *
+ * @param name
+ * The name of the parameter to return.
+ *
+ * @return
+ * The integer value of the parameter having the given name, or null if
+ * the parameter is missing.
+ *
+ * @throws GuacamoleException
+ * If the parameter is not a valid integer.
+ */
+ public Integer getIntegerParameter(String name) throws GuacamoleException {
+
+ // Pull requested parameter
+ String value = getParameter(name);
+ if (value == null)
+ return null;
+
+ // Attempt to parse as an integer
+ try {
+ return Integer.parseInt(value);
+ }
+
+ // Rethrow any parsing error as a GuacamoleClientException
+ catch (NumberFormatException e) {
+ throw new GuacamoleClientException("Parameter \"" + name + "\" must be a valid integer.", e);
+ }
+
+ }
+
+ /**
+ * Returns the authentication token associated with this tunnel request.
+ *
+ * @return
+ * The authentication token associated with this tunnel request, or
+ * null if no authentication token is present.
+ */
+ public String getAuthenticationToken() {
+ return getParameter(AUTH_TOKEN_PARAMETER);
+ }
+
+ /**
+ * Returns the identifier of the AuthenticationProvider associated with the
+ * UserContext from which the connection or connection group is to be
+ * retrieved when the tunnel is created. In the context of the REST API and
+ * the JavaScript side of the web application, this is referred to as the
+ * data source identifier.
+ *
+ * @return
+ * The identifier of the AuthenticationProvider associated with the
+ * UserContext from which the connection or connection group is to be
+ * retrieved when the tunnel is created.
+ *
+ * @throws GuacamoleException
+ * If the identifier was not present in the request.
+ */
+ public String getAuthenticationProviderIdentifier()
+ throws GuacamoleException {
+ return getRequiredParameter(AUTH_PROVIDER_IDENTIFIER_PARAMETER);
+ }
+
+ /**
+ * Returns the type of object for which the tunnel is being requested.
+ *
+ * @return
+ * The type of object for which the tunnel is being requested.
+ *
+ * @throws GuacamoleException
+ * If the type was not present in the request, or if the type requested
+ * is in the wrong format.
+ */
+ public Type getType() throws GuacamoleException {
+
+ String type = getRequiredParameter(TYPE_PARAMETER);
+
+ // For each possible object type
+ for (Type possibleType : Type.values()) {
+
+ // Match against defined parameter value
+ if (type.equals(possibleType.PARAMETER_VALUE))
+ return possibleType;
+
+ }
+
+ throw new GuacamoleClientException("Illegal identifier - unknown type.");
+
+ }
+
+ /**
+ * Returns the identifier of the destination of the tunnel being requested.
+ * As there are multiple types of destination objects available, and within
+ * multiple data sources, the associated object type and data source are
+ * also necessary to determine what this identifier refers to.
+ *
+ * @return
+ * The identifier of the destination of the tunnel being requested.
+ *
+ * @throws GuacamoleException
+ * If the identifier was not present in the request.
+ */
+ public String getIdentifier() throws GuacamoleException {
+ return getRequiredParameter(IDENTIFIER_PARAMETER);
+ }
+
+ /**
+ * Returns the display width desired for the Guacamole session over the
+ * tunnel being requested.
+ *
+ * @return
+ * The display width desired for the Guacamole session over the tunnel
+ * being requested, or null if no width was given.
+ *
+ * @throws GuacamoleException
+ * If the width specified was not a valid integer.
+ */
+ public Integer getWidth() throws GuacamoleException {
+ return getIntegerParameter(WIDTH_PARAMETER);
+ }
+
+ /**
+ * Returns the display height desired for the Guacamole session over the
+ * tunnel being requested.
+ *
+ * @return
+ * The display height desired for the Guacamole session over the tunnel
+ * being requested, or null if no width was given.
+ *
+ * @throws GuacamoleException
+ * If the height specified was not a valid integer.
+ */
+ public Integer getHeight() throws GuacamoleException {
+ return getIntegerParameter(HEIGHT_PARAMETER);
+ }
+
+ /**
+ * Returns the display resolution desired for the Guacamole session over
+ * the tunnel being requested, in DPI.
+ *
+ * @return
+ * The display resolution desired for the Guacamole session over the
+ * tunnel being requested, or null if no resolution was given.
+ *
+ * @throws GuacamoleException
+ * If the resolution specified was not a valid integer.
+ */
+ public Integer getDPI() throws GuacamoleException {
+ return getIntegerParameter(DPI_PARAMETER);
+ }
+
+ /**
+ * Returns a list of all audio mimetypes declared as supported within the
+ * tunnel request.
+ *
+ * @return
+ * A list of all audio mimetypes declared as supported within the
+ * tunnel request, or null if no mimetypes were specified.
+ */
+ public List<String> getAudioMimetypes() {
+ return getParameterValues(AUDIO_PARAMETER);
+ }
+
+ /**
+ * Returns a list of all video mimetypes declared as supported within the
+ * tunnel request.
+ *
+ * @return
+ * A list of all video mimetypes declared as supported within the
+ * tunnel request, or null if no mimetypes were specified.
+ */
+ public List<String> getVideoMimetypes() {
+ return getParameterValues(VIDEO_PARAMETER);
+ }
+
+ /**
+ * Returns a list of all image mimetypes declared as supported within the
+ * tunnel request.
+ *
+ * @return
+ * A list of all image mimetypes declared as supported within the
+ * tunnel request, or null if no mimetypes were specified.
+ */
+ public List<String> getImageMimetypes() {
+ return getParameterValues(IMAGE_PARAMETER);
+ }
+
+}
[07/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Remove useless .net.basic subpackage, now that everything is being renamed.
Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/permission/APIPermissionSet.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/permission/APIPermissionSet.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/permission/APIPermissionSet.java
deleted file mode 100644
index 2965bfc..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/permission/APIPermissionSet.java
+++ /dev/null
@@ -1,300 +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.
- */
-
-package org.apache.guacamole.net.basic.rest.permission;
-
-import java.util.EnumSet;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.net.auth.User;
-import org.apache.guacamole.net.auth.permission.ObjectPermission;
-import org.apache.guacamole.net.auth.permission.ObjectPermissionSet;
-import org.apache.guacamole.net.auth.permission.SystemPermission;
-import org.apache.guacamole.net.auth.permission.SystemPermissionSet;
-
-/**
- * The set of permissions which are granted to a specific user, organized by
- * object type and, if applicable, identifier. This object can be constructed
- * with arbitrary permissions present, or manipulated after creation through
- * the manipulation or replacement of its collections of permissions, but is
- * otherwise not intended for internal use as a data structure for permissions.
- * Its primary purpose is as a hierarchical format for exchanging granted
- * permissions with REST clients.
- */
-public class APIPermissionSet {
-
- /**
- * Map of connection ID to the set of granted permissions.
- */
- private Map<String, Set<ObjectPermission.Type>> connectionPermissions =
- new HashMap<String, Set<ObjectPermission.Type>>();
-
- /**
- * Map of connection group ID to the set of granted permissions.
- */
- private Map<String, Set<ObjectPermission.Type>> connectionGroupPermissions =
- new HashMap<String, Set<ObjectPermission.Type>>();
-
- /**
- * Map of active connection ID to the set of granted permissions.
- */
- private Map<String, Set<ObjectPermission.Type>> activeConnectionPermissions =
- new HashMap<String, Set<ObjectPermission.Type>>();
-
- /**
- * Map of user ID to the set of granted permissions.
- */
- private Map<String, Set<ObjectPermission.Type>> userPermissions =
- new HashMap<String, Set<ObjectPermission.Type>>();
-
- /**
- * Set of all granted system-level permissions.
- */
- private Set<SystemPermission.Type> systemPermissions =
- EnumSet.noneOf(SystemPermission.Type.class);
-
- /**
- * Creates a new permission set which contains no granted permissions. Any
- * permissions must be added by manipulating or replacing the applicable
- * permission collection.
- */
- public APIPermissionSet() {
- }
-
- /**
- * Adds the system permissions from the given SystemPermissionSet to the
- * Set of system permissions provided.
- *
- * @param permissions
- * The Set to add system permissions to.
- *
- * @param permSet
- * The SystemPermissionSet containing the system permissions to add.
- *
- * @throws GuacamoleException
- * If an error occurs while retrieving system permissions from the
- * SystemPermissionSet.
- */
- private void addSystemPermissions(Set<SystemPermission.Type> permissions,
- SystemPermissionSet permSet) throws GuacamoleException {
-
- // Add all provided system permissions
- for (SystemPermission permission : permSet.getPermissions())
- permissions.add(permission.getType());
-
- }
-
- /**
- * Adds the object permissions from the given ObjectPermissionSet to the
- * Map of object permissions provided.
- *
- * @param permissions
- * The Map to add object permissions to.
- *
- * @param permSet
- * The ObjectPermissionSet containing the object permissions to add.
- *
- * @throws GuacamoleException
- * If an error occurs while retrieving object permissions from the
- * ObjectPermissionSet.
- */
- private void addObjectPermissions(Map<String, Set<ObjectPermission.Type>> permissions,
- ObjectPermissionSet permSet) throws GuacamoleException {
-
- // Add all provided object permissions
- for (ObjectPermission permission : permSet.getPermissions()) {
-
- // Get associated set of permissions
- String identifier = permission.getObjectIdentifier();
- Set<ObjectPermission.Type> objectPermissions = permissions.get(identifier);
-
- // Create new set if none yet exists
- if (objectPermissions == null)
- permissions.put(identifier, EnumSet.of(permission.getType()));
-
- // Otherwise add to existing set
- else
- objectPermissions.add(permission.getType());
-
- }
-
- }
-
- /**
- * Creates a new permission set containing all permissions currently
- * granted to the given user.
- *
- * @param user
- * The user whose permissions should be stored within this permission
- * set.
- *
- * @throws GuacamoleException
- * If an error occurs while retrieving the user's permissions.
- */
- public APIPermissionSet(User user) throws GuacamoleException {
-
- // Add all permissions from the provided user
- addSystemPermissions(systemPermissions, user.getSystemPermissions());
- addObjectPermissions(connectionPermissions, user.getConnectionPermissions());
- addObjectPermissions(connectionGroupPermissions, user.getConnectionGroupPermissions());
- addObjectPermissions(activeConnectionPermissions, user.getActiveConnectionPermissions());
- addObjectPermissions(userPermissions, user.getUserPermissions());
-
- }
-
- /**
- * Returns a map of connection IDs to the set of permissions granted for
- * that connection. If no permissions are granted to a particular
- * connection, its ID will not be present as a key in the map. This map is
- * mutable, and changes to this map will affect the permission set
- * directly.
- *
- * @return
- * A map of connection IDs to the set of permissions granted for that
- * connection.
- */
- public Map<String, Set<ObjectPermission.Type>> getConnectionPermissions() {
- return connectionPermissions;
- }
-
- /**
- * Returns a map of connection group IDs to the set of permissions granted
- * for that connection group. If no permissions are granted to a particular
- * connection group, its ID will not be present as a key in the map. This
- * map is mutable, and changes to this map will affect the permission set
- * directly.
- *
- * @return
- * A map of connection group IDs to the set of permissions granted for
- * that connection group.
- */
- public Map<String, Set<ObjectPermission.Type>> getConnectionGroupPermissions() {
- return connectionGroupPermissions;
- }
-
- /**
- * Returns a map of active connection IDs to the set of permissions granted
- * for that active connection. If no permissions are granted to a particular
- * active connection, its ID will not be present as a key in the map. This
- * map is mutable, and changes to this map will affect the permission set
- * directly.
- *
- * @return
- * A map of active connection IDs to the set of permissions granted for
- * that active connection.
- */
- public Map<String, Set<ObjectPermission.Type>> getActiveConnectionPermissions() {
- return activeConnectionPermissions;
- }
-
- /**
- * Returns a map of user IDs to the set of permissions granted for that
- * user. If no permissions are granted to a particular user, its ID will
- * not be present as a key in the map. This map is mutable, and changes to
- * to this map will affect the permission set directly.
- *
- * @return
- * A map of user IDs to the set of permissions granted for that user.
- */
- public Map<String, Set<ObjectPermission.Type>> getUserPermissions() {
- return userPermissions;
- }
-
- /**
- * Returns the set of granted system-level permissions. If no permissions
- * are granted at the system level, this will be an empty set. This set is
- * mutable, and changes to this set will affect the permission set
- * directly.
- *
- * @return
- * The set of granted system-level permissions.
- */
- public Set<SystemPermission.Type> getSystemPermissions() {
- return systemPermissions;
- }
-
- /**
- * Replaces the current map of connection permissions with the given map,
- * which must map connection ID to its corresponding set of granted
- * permissions. If a connection has no permissions, its ID must not be
- * present as a key in the map.
- *
- * @param connectionPermissions
- * The map which must replace the currently-stored map of permissions.
- */
- public void setConnectionPermissions(Map<String, Set<ObjectPermission.Type>> connectionPermissions) {
- this.connectionPermissions = connectionPermissions;
- }
-
- /**
- * Replaces the current map of connection group permissions with the given
- * map, which must map connection group ID to its corresponding set of
- * granted permissions. If a connection group has no permissions, its ID
- * must not be present as a key in the map.
- *
- * @param connectionGroupPermissions
- * The map which must replace the currently-stored map of permissions.
- */
- public void setConnectionGroupPermissions(Map<String, Set<ObjectPermission.Type>> connectionGroupPermissions) {
- this.connectionGroupPermissions = connectionGroupPermissions;
- }
-
- /**
- * Replaces the current map of active connection permissions with the give
- * map, which must map active connection ID to its corresponding set of
- * granted permissions. If an active connection has no permissions, its ID
- * must not be present as a key in the map.
- *
- * @param activeConnectionPermissions
- * The map which must replace the currently-stored map of permissions.
- */
- public void setActiveConnectionPermissions(Map<String, Set<ObjectPermission.Type>> activeConnectionPermissions) {
- this.activeConnectionPermissions = activeConnectionPermissions;
- }
-
- /**
- * Replaces the current map of user permissions with the given map, which
- * must map user ID to its corresponding set of granted permissions. If a
- * user has no permissions, its ID must not be present as a key in the map.
- *
- * @param userPermissions
- * The map which must replace the currently-stored map of permissions.
- */
- public void setUserPermissions(Map<String, Set<ObjectPermission.Type>> userPermissions) {
- this.userPermissions = userPermissions;
- }
-
- /**
- * Replaces the current set of system-level permissions with the given set.
- * If no system-level permissions are granted, the empty set must be
- * specified.
- *
- * @param systemPermissions
- * The set which must replace the currently-stored set of permissions.
- */
- public void setSystemPermissions(Set<SystemPermission.Type> systemPermissions) {
- this.systemPermissions = systemPermissions;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/permission/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/permission/package-info.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/permission/package-info.java
deleted file mode 100644
index 8312852..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/permission/package-info.java
+++ /dev/null
@@ -1,27 +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.
- */
-
-/**
- * Classes related to the permission manipulation aspect of the Guacamole REST API.
- */
-package org.apache.guacamole.net.basic.rest.permission;
-
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/schema/SchemaRESTService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/schema/SchemaRESTService.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/schema/SchemaRESTService.java
deleted file mode 100644
index dfd9298..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/schema/SchemaRESTService.java
+++ /dev/null
@@ -1,199 +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.
- */
-
-package org.apache.guacamole.net.basic.rest.schema;
-
-import com.google.inject.Inject;
-import java.util.Collection;
-import java.util.Map;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.MediaType;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.environment.Environment;
-import org.apache.guacamole.environment.LocalEnvironment;
-import org.apache.guacamole.form.Form;
-import org.apache.guacamole.net.auth.UserContext;
-import org.apache.guacamole.net.basic.GuacamoleSession;
-import org.apache.guacamole.net.basic.rest.ObjectRetrievalService;
-import org.apache.guacamole.net.basic.rest.auth.AuthenticationService;
-import org.apache.guacamole.protocols.ProtocolInfo;
-
-/**
- * A REST service which provides access to descriptions of the properties,
- * attributes, etc. of objects used within the Guacamole REST API.
- *
- * @author Michael Jumper
- */
-@Path("/schema/{dataSource}")
-@Produces(MediaType.APPLICATION_JSON)
-@Consumes(MediaType.APPLICATION_JSON)
-public class SchemaRESTService {
-
- /**
- * A service for authenticating users from auth tokens.
- */
- @Inject
- private AuthenticationService authenticationService;
-
- /**
- * Service for convenient retrieval of objects.
- */
- @Inject
- private ObjectRetrievalService retrievalService;
-
- /**
- * Retrieves the possible attributes of a user object.
- *
- * @param authToken
- * The authentication token that is used to authenticate the user
- * performing the operation.
- *
- * @param authProviderIdentifier
- * The unique identifier of the AuthenticationProvider associated with
- * the UserContext dictating the available user attributes.
- *
- * @return
- * A collection of forms which describe the possible attributes of a
- * user object.
- *
- * @throws GuacamoleException
- * If an error occurs while retrieving the possible attributes.
- */
- @GET
- @Path("/users/attributes")
- public Collection<Form> getUserAttributes(@QueryParam("token") String authToken,
- @PathParam("dataSource") String authProviderIdentifier)
- throws GuacamoleException {
-
- // Retrieve all possible user attributes
- GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
- UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
- return userContext.getUserAttributes();
-
- }
-
- /**
- * Retrieves the possible attributes of a connection object.
- *
- * @param authToken
- * The authentication token that is used to authenticate the user
- * performing the operation.
- *
- * @param authProviderIdentifier
- * The unique identifier of the AuthenticationProvider associated with
- * the UserContext dictating the available connection attributes.
- *
- * @return
- * A collection of forms which describe the possible attributes of a
- * connection object.
- *
- * @throws GuacamoleException
- * If an error occurs while retrieving the possible attributes.
- */
- @GET
- @Path("/connections/attributes")
- public Collection<Form> getConnectionAttributes(@QueryParam("token") String authToken,
- @PathParam("dataSource") String authProviderIdentifier)
- throws GuacamoleException {
-
- // Retrieve all possible connection attributes
- GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
- UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
- return userContext.getConnectionAttributes();
-
- }
-
- /**
- * Retrieves the possible attributes of a connection group object.
- *
- * @param authToken
- * The authentication token that is used to authenticate the user
- * performing the operation.
- *
- * @param authProviderIdentifier
- * The unique identifier of the AuthenticationProvider associated with
- * the UserContext dictating the available connection group
- * attributes.
- *
- * @return
- * A collection of forms which describe the possible attributes of a
- * connection group object.
- *
- * @throws GuacamoleException
- * If an error occurs while retrieving the possible attributes.
- */
- @GET
- @Path("/connectionGroups/attributes")
- public Collection<Form> getConnectionGroupAttributes(@QueryParam("token") String authToken,
- @PathParam("dataSource") String authProviderIdentifier)
- throws GuacamoleException {
-
- // Retrieve all possible connection group attributes
- GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
- UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
- return userContext.getConnectionGroupAttributes();
-
- }
-
- /**
- * Gets a map of protocols defined in the system - protocol name to protocol.
- *
- * @param authToken
- * The authentication token that is used to authenticate the user
- * performing the operation.
- *
- * @param authProviderIdentifier
- * The unique identifier of the AuthenticationProvider associated with
- * the UserContext dictating the protocols available. Currently, the
- * UserContext actually does not dictate this, the the same set of
- * protocols will be retrieved for all users, though the identifier
- * given here will be validated.
- *
- * @return
- * A map of protocol information, where each key is the unique name
- * associated with that protocol.
- *
- * @throws GuacamoleException
- * If an error occurs while retrieving the available protocols.
- */
- @GET
- @Path("/protocols")
- public Map<String, ProtocolInfo> getProtocols(@QueryParam("token") String authToken,
- @PathParam("dataSource") String authProviderIdentifier)
- throws GuacamoleException {
-
- // Verify the given auth token and auth provider identifier are valid
- GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
- retrievalService.retrieveUserContext(session, authProviderIdentifier);
-
- // Get and return a map of all protocols.
- Environment env = new LocalEnvironment();
- return env.getProtocols();
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/schema/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/schema/package-info.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/schema/package-info.java
deleted file mode 100644
index a005d7e..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/schema/package-info.java
+++ /dev/null
@@ -1,27 +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.
- */
-
-/**
- * Classes related to the self-description of the Guacamole REST API, such as
- * the attributes or parameters applicable to specific objects.
- */
-package org.apache.guacamole.net.basic.rest.schema;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/user/APIUser.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/user/APIUser.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/user/APIUser.java
deleted file mode 100644
index bcbbf7e..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/user/APIUser.java
+++ /dev/null
@@ -1,130 +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.
- */
-
-package org.apache.guacamole.net.basic.rest.user;
-
-import java.util.Map;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
-import org.apache.guacamole.net.auth.User;
-
-/**
- * A simple User to expose through the REST endpoints.
- *
- * @author James Muehlner
- */
-@JsonIgnoreProperties(ignoreUnknown = true)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
-public class APIUser {
-
- /**
- * The username of this user.
- */
- private String username;
-
- /**
- * The password of this user.
- */
- private String password;
-
- /**
- * Map of all associated attributes by attribute identifier.
- */
- private Map<String, String> attributes;
-
- /**
- * Construct a new empty APIUser.
- */
- public APIUser() {}
-
- /**
- * Construct a new APIUser from the provided User.
- * @param user The User to construct the APIUser from.
- */
- public APIUser(User user) {
-
- // Set user information
- this.username = user.getIdentifier();
- this.password = user.getPassword();
-
- // Associate any attributes
- this.attributes = user.getAttributes();
-
- }
-
- /**
- * Returns the username for this user.
- * @return The username for this user.
- */
- public String getUsername() {
- return username;
- }
-
- /**
- * Set the username for this user.
- * @param username The username for this user.
- */
- public void setUsername(String username) {
- this.username = username;
- }
-
- /**
- * Returns the password for this user.
- * @return The password for this user.
- */
- public String getPassword() {
- return password;
- }
-
- /**
- * Set the password for this user.
- * @param password The password for this user.
- */
- public void setPassword(String password) {
- this.password = password;
- }
-
- /**
- * Returns a map of all attributes associated with this user. Each entry
- * key is the attribute identifier, while each value is the attribute
- * value itself.
- *
- * @return
- * The attribute map for this user.
- */
- public Map<String, String> getAttributes() {
- return attributes;
- }
-
- /**
- * Sets the map of all attributes associated with this user. Each entry key
- * is the attribute identifier, while each value is the attribute value
- * itself.
- *
- * @param attributes
- * The attribute map for this user.
- */
- public void setAttributes(Map<String, String> attributes) {
- this.attributes = attributes;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/user/APIUserPasswordUpdate.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/user/APIUserPasswordUpdate.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/user/APIUserPasswordUpdate.java
deleted file mode 100644
index 483a141..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/user/APIUserPasswordUpdate.java
+++ /dev/null
@@ -1,82 +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.
- */
-package org.apache.guacamole.net.basic.rest.user;
-
-/**
- * All the information necessary for the password update operation on a user.
- *
- * @author James Muehlner
- */
-public class APIUserPasswordUpdate {
-
- /**
- * The old (current) password of this user.
- */
- private String oldPassword;
-
- /**
- * The new password of this user.
- */
- private String newPassword;
-
- /**
- * Returns the old password for this user. This password must match the
- * user's current password for the password update operation to succeed.
- *
- * @return
- * The old password for this user.
- */
- public String getOldPassword() {
- return oldPassword;
- }
-
- /**
- * Set the old password for this user. This password must match the
- * user's current password for the password update operation to succeed.
- *
- * @param oldPassword
- * The old password for this user.
- */
- public void setOldPassword(String oldPassword) {
- this.oldPassword = oldPassword;
- }
-
- /**
- * Returns the new password that will be assigned to this user.
- *
- * @return
- * The new password for this user.
- */
- public String getNewPassword() {
- return newPassword;
- }
-
- /**
- * Set the new password that will be assigned to this user.
- *
- * @param newPassword
- * The new password for this user.
- */
- public void setNewPassword(String newPassword) {
- this.newPassword = newPassword;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/user/APIUserWrapper.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/user/APIUserWrapper.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/user/APIUserWrapper.java
deleted file mode 100644
index 68931e0..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/user/APIUserWrapper.java
+++ /dev/null
@@ -1,115 +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.
- */
-
-package org.apache.guacamole.net.basic.rest.user;
-
-import java.util.Map;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.GuacamoleUnsupportedException;
-import org.apache.guacamole.net.auth.User;
-import org.apache.guacamole.net.auth.permission.ObjectPermissionSet;
-import org.apache.guacamole.net.auth.permission.SystemPermissionSet;
-
-/**
- * A wrapper to make an APIUser look like a User. Useful where an
- * org.apache.guacamole.net.auth.User is required. As a simple wrapper for
- * APIUser, access to permissions is not provided. Any attempt to access or
- * manipulate permissions on an APIUserWrapper will result in an exception.
- *
- * @author James Muehlner
- */
-public class APIUserWrapper implements User {
-
- /**
- * The wrapped APIUser.
- */
- private final APIUser apiUser;
-
- /**
- * Wrap a given APIUser to expose as a User.
- * @param apiUser The APIUser to wrap.
- */
- public APIUserWrapper(APIUser apiUser) {
- this.apiUser = apiUser;
- }
-
- @Override
- public String getIdentifier() {
- return apiUser.getUsername();
- }
-
- @Override
- public void setIdentifier(String username) {
- apiUser.setUsername(username);
- }
-
- @Override
- public String getPassword() {
- return apiUser.getPassword();
- }
-
- @Override
- public void setPassword(String password) {
- apiUser.setPassword(password);
- }
-
- @Override
- public Map<String, String> getAttributes() {
- return apiUser.getAttributes();
- }
-
- @Override
- public void setAttributes(Map<String, String> attributes) {
- apiUser.setAttributes(attributes);
- }
-
- @Override
- public SystemPermissionSet getSystemPermissions()
- throws GuacamoleException {
- throw new GuacamoleUnsupportedException("APIUserWrapper does not provide permission access.");
- }
-
- @Override
- public ObjectPermissionSet getConnectionPermissions()
- throws GuacamoleException {
- throw new GuacamoleUnsupportedException("APIUserWrapper does not provide permission access.");
- }
-
- @Override
- public ObjectPermissionSet getConnectionGroupPermissions()
- throws GuacamoleException {
- throw new GuacamoleUnsupportedException("APIUserWrapper does not provide permission access.");
- }
-
- @Override
- public ObjectPermissionSet getUserPermissions()
- throws GuacamoleException {
- throw new GuacamoleUnsupportedException("APIUserWrapper does not provide permission access.");
- }
-
- @Override
- public ObjectPermissionSet getActiveConnectionPermissions()
- throws GuacamoleException {
- throw new GuacamoleUnsupportedException("APIUserWrapper does not provide permission access.");
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/user/PermissionSetPatch.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/user/PermissionSetPatch.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/user/PermissionSetPatch.java
deleted file mode 100644
index a398388..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/user/PermissionSetPatch.java
+++ /dev/null
@@ -1,98 +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.
- */
-
-package org.apache.guacamole.net.basic.rest.user;
-
-import java.util.HashSet;
-import java.util.Set;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.net.auth.permission.Permission;
-import org.apache.guacamole.net.auth.permission.PermissionSet;
-
-/**
- * A set of changes to be applied to a PermissionSet, describing the set of
- * permissions being added and removed.
- *
- * @author Michael Jumper
- * @param <PermissionType>
- * The type of permissions being added and removed.
- */
-public class PermissionSetPatch<PermissionType extends Permission> {
-
- /**
- * The set of all permissions being added.
- */
- private final Set<PermissionType> addedPermissions =
- new HashSet<PermissionType>();
-
- /**
- * The set of all permissions being removed.
- */
- private final Set<PermissionType> removedPermissions =
- new HashSet<PermissionType>();
-
- /**
- * Queues the given permission to be added. The add operation will be
- * performed only when apply() is called.
- *
- * @param permission
- * The permission to add.
- */
- public void addPermission(PermissionType permission) {
- addedPermissions.add(permission);
- }
-
- /**
- * Queues the given permission to be removed. The remove operation will be
- * performed only when apply() is called.
- *
- * @param permission
- * The permission to remove.
- */
- public void removePermission(PermissionType permission) {
- removedPermissions.add(permission);
- }
-
- /**
- * Applies all queued changes to the given permission set.
- *
- * @param permissionSet
- * The permission set to add and remove permissions from.
- *
- * @throws GuacamoleException
- * If an error occurs while manipulating the permissions of the given
- * permission set.
- */
- public void apply(PermissionSet<PermissionType> permissionSet)
- throws GuacamoleException {
-
- // Add any added permissions
- if (!addedPermissions.isEmpty())
- permissionSet.addPermissions(addedPermissions);
-
- // Remove any removed permissions
- if (!removedPermissions.isEmpty())
- permissionSet.removePermissions(removedPermissions);
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/user/UserRESTService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/user/UserRESTService.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/user/UserRESTService.java
deleted file mode 100644
index 9c79eef..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/user/UserRESTService.java
+++ /dev/null
@@ -1,647 +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.
- */
-
-package org.apache.guacamole.net.basic.rest.user;
-
-import com.google.inject.Inject;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import java.util.UUID;
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import org.apache.guacamole.GuacamoleClientException;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.GuacamoleResourceNotFoundException;
-import org.apache.guacamole.GuacamoleSecurityException;
-import org.apache.guacamole.net.auth.AuthenticationProvider;
-import org.apache.guacamole.net.auth.Credentials;
-import org.apache.guacamole.net.auth.Directory;
-import org.apache.guacamole.net.auth.User;
-import org.apache.guacamole.net.auth.UserContext;
-import org.apache.guacamole.net.auth.credentials.GuacamoleCredentialsException;
-import org.apache.guacamole.net.auth.permission.ObjectPermission;
-import org.apache.guacamole.net.auth.permission.ObjectPermissionSet;
-import org.apache.guacamole.net.auth.permission.Permission;
-import org.apache.guacamole.net.auth.permission.SystemPermission;
-import org.apache.guacamole.net.auth.permission.SystemPermissionSet;
-import org.apache.guacamole.net.basic.GuacamoleSession;
-import org.apache.guacamole.net.basic.rest.APIPatch;
-import static org.apache.guacamole.net.basic.rest.APIPatch.Operation.add;
-import static org.apache.guacamole.net.basic.rest.APIPatch.Operation.remove;
-import org.apache.guacamole.net.basic.rest.ObjectRetrievalService;
-import org.apache.guacamole.net.basic.rest.PATCH;
-import org.apache.guacamole.net.basic.rest.auth.AuthenticationService;
-import org.apache.guacamole.net.basic.rest.permission.APIPermissionSet;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A REST Service for handling user CRUD operations.
- *
- * @author James Muehlner
- * @author Michael Jumper
- */
-@Path("/data/{dataSource}/users")
-@Produces(MediaType.APPLICATION_JSON)
-@Consumes(MediaType.APPLICATION_JSON)
-public class UserRESTService {
-
- /**
- * Logger for this class.
- */
- private static final Logger logger = LoggerFactory.getLogger(UserRESTService.class);
-
- /**
- * The prefix of any path within an operation of a JSON patch which
- * modifies the permissions of a user regarding a specific connection.
- */
- private static final String CONNECTION_PERMISSION_PATCH_PATH_PREFIX = "/connectionPermissions/";
-
- /**
- * The prefix of any path within an operation of a JSON patch which
- * modifies the permissions of a user regarding a specific connection group.
- */
- private static final String CONNECTION_GROUP_PERMISSION_PATCH_PATH_PREFIX = "/connectionGroupPermissions/";
-
- /**
- * The prefix of any path within an operation of a JSON patch which
- * modifies the permissions of a user regarding a specific active connection.
- */
- private static final String ACTIVE_CONNECTION_PERMISSION_PATCH_PATH_PREFIX = "/activeConnectionPermissions/";
-
- /**
- * The prefix of any path within an operation of a JSON patch which
- * modifies the permissions of a user regarding another, specific user.
- */
- private static final String USER_PERMISSION_PATCH_PATH_PREFIX = "/userPermissions/";
-
- /**
- * The path of any operation within a JSON patch which modifies the
- * permissions of a user regarding the entire system.
- */
- private static final String SYSTEM_PERMISSION_PATCH_PATH = "/systemPermissions";
-
- /**
- * A service for authenticating users from auth tokens.
- */
- @Inject
- private AuthenticationService authenticationService;
-
- /**
- * Service for convenient retrieval of objects.
- */
- @Inject
- private ObjectRetrievalService retrievalService;
-
- /**
- * Gets a list of users in the given data source (UserContext), filtering
- * the returned list by the given permission, if specified.
- *
- * @param authToken
- * The authentication token that is used to authenticate the user
- * performing the operation.
- *
- * @param authProviderIdentifier
- * The unique identifier of the AuthenticationProvider associated with
- * the UserContext from which the users are to be retrieved.
- *
- * @param permissions
- * The set of permissions to filter with. A user must have one or more
- * of these permissions for a user to appear in the result.
- * If null, no filtering will be performed.
- *
- * @return
- * A list of all visible users. If a permission was specified, this
- * list will contain only those users for whom the current user has
- * that permission.
- *
- * @throws GuacamoleException
- * If an error is encountered while retrieving users.
- */
- @GET
- public List<APIUser> getUsers(@QueryParam("token") String authToken,
- @PathParam("dataSource") String authProviderIdentifier,
- @QueryParam("permission") List<ObjectPermission.Type> permissions)
- throws GuacamoleException {
-
- GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
- UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
-
- // An admin user has access to any user
- User self = userContext.self();
- SystemPermissionSet systemPermissions = self.getSystemPermissions();
- boolean isAdmin = systemPermissions.hasPermission(SystemPermission.Type.ADMINISTER);
-
- // Get the directory
- Directory<User> userDirectory = userContext.getUserDirectory();
-
- // Filter users, if requested
- Collection<String> userIdentifiers = userDirectory.getIdentifiers();
- if (!isAdmin && permissions != null && !permissions.isEmpty()) {
- ObjectPermissionSet userPermissions = self.getUserPermissions();
- userIdentifiers = userPermissions.getAccessibleObjects(permissions, userIdentifiers);
- }
-
- // Retrieve all users, converting to API users
- List<APIUser> apiUsers = new ArrayList<APIUser>();
- for (User user : userDirectory.getAll(userIdentifiers))
- apiUsers.add(new APIUser(user));
-
- return apiUsers;
-
- }
-
- /**
- * Retrieves an individual user.
- *
- * @param authToken
- * The authentication token that is used to authenticate the user
- * performing the operation.
- *
- * @param authProviderIdentifier
- * The unique identifier of the AuthenticationProvider associated with
- * the UserContext from which the requested user is to be retrieved.
- *
- * @param username
- * The username of the user to retrieve.
- *
- * @return user
- * The user having the given username.
- *
- * @throws GuacamoleException
- * If an error occurs while retrieving the user.
- */
- @GET
- @Path("/{username}")
- public APIUser getUser(@QueryParam("token") String authToken,
- @PathParam("dataSource") String authProviderIdentifier,
- @PathParam("username") String username)
- throws GuacamoleException {
-
- GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
-
- // Retrieve the requested user
- User user = retrievalService.retrieveUser(session, authProviderIdentifier, username);
- return new APIUser(user);
-
- }
-
- /**
- * Creates a new user and returns the user that was created.
- *
- * @param authToken
- * The authentication token that is used to authenticate the user
- * performing the operation.
- *
- * @param authProviderIdentifier
- * The unique identifier of the AuthenticationProvider associated with
- * the UserContext in which the requested user is to be created.
- *
- * @param user
- * The new user to create.
- *
- * @throws GuacamoleException
- * If a problem is encountered while creating the user.
- *
- * @return
- * The newly created user.
- */
- @POST
- public APIUser createUser(@QueryParam("token") String authToken,
- @PathParam("dataSource") String authProviderIdentifier, APIUser user)
- throws GuacamoleException {
-
- GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
- UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
-
- // Get the directory
- Directory<User> userDirectory = userContext.getUserDirectory();
-
- // Randomly set the password if it wasn't provided
- if (user.getPassword() == null)
- user.setPassword(UUID.randomUUID().toString());
-
- // Create the user
- userDirectory.add(new APIUserWrapper(user));
-
- return user;
-
- }
-
- /**
- * Updates an individual existing user.
- *
- * @param authToken
- * The authentication token that is used to authenticate the user
- * performing the operation.
- *
- * @param authProviderIdentifier
- * The unique identifier of the AuthenticationProvider associated with
- * the UserContext in which the requested user is to be updated.
- *
- * @param username
- * The username of the user to update.
- *
- * @param user
- * The data to update the user with.
- *
- * @throws GuacamoleException
- * If an error occurs while updating the user.
- */
- @PUT
- @Path("/{username}")
- public void updateUser(@QueryParam("token") String authToken,
- @PathParam("dataSource") String authProviderIdentifier,
- @PathParam("username") String username, APIUser user)
- throws GuacamoleException {
-
- GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
- UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
-
- // Get the directory
- Directory<User> userDirectory = userContext.getUserDirectory();
-
- // Validate data and path are sane
- if (!user.getUsername().equals(username))
- throw new GuacamoleClientException("Username in path does not match username provided JSON data.");
-
- // A user may not use this endpoint to modify himself
- if (userContext.self().getIdentifier().equals(user.getUsername()))
- throw new GuacamoleSecurityException("Permission denied.");
-
- // Get the user
- User existingUser = retrievalService.retrieveUser(userContext, username);
-
- // Do not update the user password if no password was provided
- if (user.getPassword() != null)
- existingUser.setPassword(user.getPassword());
-
- // Update user attributes
- existingUser.setAttributes(user.getAttributes());
-
- // Update the user
- userDirectory.update(existingUser);
-
- }
-
- /**
- * Updates the password for an individual existing user.
- *
- * @param authToken
- * The authentication token that is used to authenticate the user
- * performing the operation.
- *
- * @param authProviderIdentifier
- * The unique identifier of the AuthenticationProvider associated with
- * the UserContext in which the requested user is to be updated.
- *
- * @param username
- * The username of the user to update.
- *
- * @param userPasswordUpdate
- * The object containing the old password for the user, as well as the
- * new password to set for that user.
- *
- * @param request
- * The HttpServletRequest associated with the password update attempt.
- *
- * @throws GuacamoleException
- * If an error occurs while updating the user's password.
- */
- @PUT
- @Path("/{username}/password")
- public void updatePassword(@QueryParam("token") String authToken,
- @PathParam("dataSource") String authProviderIdentifier,
- @PathParam("username") String username,
- APIUserPasswordUpdate userPasswordUpdate,
- @Context HttpServletRequest request) throws GuacamoleException {
-
- GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
- UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
-
- // Build credentials
- Credentials credentials = new Credentials();
- credentials.setUsername(username);
- credentials.setPassword(userPasswordUpdate.getOldPassword());
- credentials.setRequest(request);
- credentials.setSession(request.getSession(true));
-
- // Verify that the old password was correct
- try {
- AuthenticationProvider authProvider = userContext.getAuthenticationProvider();
- if (authProvider.authenticateUser(credentials) == null)
- throw new GuacamoleSecurityException("Permission denied.");
- }
-
- // Pass through any credentials exceptions as simple permission denied
- catch (GuacamoleCredentialsException e) {
- throw new GuacamoleSecurityException("Permission denied.");
- }
-
- // Get the user directory
- Directory<User> userDirectory = userContext.getUserDirectory();
-
- // Get the user that we want to updates
- User user = retrievalService.retrieveUser(userContext, username);
-
- // Set password to the newly provided one
- user.setPassword(userPasswordUpdate.getNewPassword());
-
- // Update the user
- userDirectory.update(user);
-
- }
-
- /**
- * Deletes an individual existing user.
- *
- * @param authToken
- * The authentication token that is used to authenticate the user
- * performing the operation.
- *
- * @param authProviderIdentifier
- * The unique identifier of the AuthenticationProvider associated with
- * the UserContext from which the requested user is to be deleted.
- *
- * @param username
- * The username of the user to delete.
- *
- * @throws GuacamoleException
- * If an error occurs while deleting the user.
- */
- @DELETE
- @Path("/{username}")
- public void deleteUser(@QueryParam("token") String authToken,
- @PathParam("dataSource") String authProviderIdentifier,
- @PathParam("username") String username)
- throws GuacamoleException {
-
- GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
- UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
-
- // Get the directory
- Directory<User> userDirectory = userContext.getUserDirectory();
-
- // Get the user
- User existingUser = userDirectory.get(username);
- if (existingUser == null)
- throw new GuacamoleResourceNotFoundException("No such user: \"" + username + "\"");
-
- // Delete the user
- userDirectory.remove(username);
-
- }
-
- /**
- * Gets a list of permissions for the user with the given username.
- *
- * @param authToken
- * The authentication token that is used to authenticate the user
- * performing the operation.
- *
- * @param authProviderIdentifier
- * The unique identifier of the AuthenticationProvider associated with
- * the UserContext in which the requested user is to be found.
- *
- * @param username
- * The username of the user to retrieve permissions for.
- *
- * @return
- * A list of all permissions granted to the specified user.
- *
- * @throws GuacamoleException
- * If an error occurs while retrieving permissions.
- */
- @GET
- @Path("/{username}/permissions")
- public APIPermissionSet getPermissions(@QueryParam("token") String authToken,
- @PathParam("dataSource") String authProviderIdentifier,
- @PathParam("username") String username)
- throws GuacamoleException {
-
- GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
- UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
-
- User user;
-
- // If username is own username, just use self - might not have query permissions
- if (userContext.self().getIdentifier().equals(username))
- user = userContext.self();
-
- // If not self, query corresponding user from directory
- else {
- user = userContext.getUserDirectory().get(username);
- if (user == null)
- throw new GuacamoleResourceNotFoundException("No such user: \"" + username + "\"");
- }
-
- return new APIPermissionSet(user);
-
- }
-
- /**
- * Updates the given permission set patch by queuing an add or remove
- * operation for the given permission based on the given patch operation.
- *
- * @param <PermissionType>
- * The type of permission stored within the permission set.
- *
- * @param operation
- * The patch operation to perform.
- *
- * @param permissionSetPatch
- * The permission set patch being modified.
- *
- * @param permission
- * The permission being added or removed from the set.
- *
- * @throws GuacamoleException
- * If the requested patch operation is not supported.
- */
- private <PermissionType extends Permission> void updatePermissionSet(
- APIPatch.Operation operation,
- PermissionSetPatch<PermissionType> permissionSetPatch,
- PermissionType permission) throws GuacamoleException {
-
- // Add or remove permission based on operation
- switch (operation) {
-
- // Add permission
- case add:
- permissionSetPatch.addPermission(permission);
- break;
-
- // Remove permission
- case remove:
- permissionSetPatch.removePermission(permission);
- break;
-
- // Unsupported patch operation
- default:
- throw new GuacamoleClientException("Unsupported patch operation: \"" + operation + "\"");
-
- }
-
- }
-
- /**
- * Applies a given list of permission patches. Each patch specifies either
- * an "add" or a "remove" operation for a permission type, represented by
- * a string. Valid permission types depend on the path of each patch
- * operation, as the path dictates the permission being modified, such as
- * "/connectionPermissions/42" or "/systemPermissions".
- *
- * @param authToken
- * The authentication token that is used to authenticate the user
- * performing the operation.
- *
- * @param authProviderIdentifier
- * The unique identifier of the AuthenticationProvider associated with
- * the UserContext in which the requested user is to be found.
- *
- * @param username
- * The username of the user to modify the permissions of.
- *
- * @param patches
- * The permission patches to apply for this request.
- *
- * @throws GuacamoleException
- * If a problem is encountered while modifying permissions.
- */
- @PATCH
- @Path("/{username}/permissions")
- public void patchPermissions(@QueryParam("token") String authToken,
- @PathParam("dataSource") String authProviderIdentifier,
- @PathParam("username") String username,
- List<APIPatch<String>> patches) throws GuacamoleException {
-
- GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
- UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
-
- // Get the user
- User user = userContext.getUserDirectory().get(username);
- if (user == null)
- throw new GuacamoleResourceNotFoundException("No such user: \"" + username + "\"");
-
- // Permission patches for all types of permissions
- PermissionSetPatch<ObjectPermission> connectionPermissionPatch = new PermissionSetPatch<ObjectPermission>();
- PermissionSetPatch<ObjectPermission> connectionGroupPermissionPatch = new PermissionSetPatch<ObjectPermission>();
- PermissionSetPatch<ObjectPermission> activeConnectionPermissionPatch = new PermissionSetPatch<ObjectPermission>();
- PermissionSetPatch<ObjectPermission> userPermissionPatch = new PermissionSetPatch<ObjectPermission>();
- PermissionSetPatch<SystemPermission> systemPermissionPatch = new PermissionSetPatch<SystemPermission>();
-
- // Apply all patch operations individually
- for (APIPatch<String> patch : patches) {
-
- String path = patch.getPath();
-
- // Create connection permission if path has connection prefix
- if (path.startsWith(CONNECTION_PERMISSION_PATCH_PATH_PREFIX)) {
-
- // Get identifier and type from patch operation
- String identifier = path.substring(CONNECTION_PERMISSION_PATCH_PATH_PREFIX.length());
- ObjectPermission.Type type = ObjectPermission.Type.valueOf(patch.getValue());
-
- // Create and update corresponding permission
- ObjectPermission permission = new ObjectPermission(type, identifier);
- updatePermissionSet(patch.getOp(), connectionPermissionPatch, permission);
-
- }
-
- // Create connection group permission if path has connection group prefix
- else if (path.startsWith(CONNECTION_GROUP_PERMISSION_PATCH_PATH_PREFIX)) {
-
- // Get identifier and type from patch operation
- String identifier = path.substring(CONNECTION_GROUP_PERMISSION_PATCH_PATH_PREFIX.length());
- ObjectPermission.Type type = ObjectPermission.Type.valueOf(patch.getValue());
-
- // Create and update corresponding permission
- ObjectPermission permission = new ObjectPermission(type, identifier);
- updatePermissionSet(patch.getOp(), connectionGroupPermissionPatch, permission);
-
- }
-
- // Create active connection permission if path has active connection prefix
- else if (path.startsWith(ACTIVE_CONNECTION_PERMISSION_PATCH_PATH_PREFIX)) {
-
- // Get identifier and type from patch operation
- String identifier = path.substring(ACTIVE_CONNECTION_PERMISSION_PATCH_PATH_PREFIX.length());
- ObjectPermission.Type type = ObjectPermission.Type.valueOf(patch.getValue());
-
- // Create and update corresponding permission
- ObjectPermission permission = new ObjectPermission(type, identifier);
- updatePermissionSet(patch.getOp(), activeConnectionPermissionPatch, permission);
-
- }
-
- // Create user permission if path has user prefix
- else if (path.startsWith(USER_PERMISSION_PATCH_PATH_PREFIX)) {
-
- // Get identifier and type from patch operation
- String identifier = path.substring(USER_PERMISSION_PATCH_PATH_PREFIX.length());
- ObjectPermission.Type type = ObjectPermission.Type.valueOf(patch.getValue());
-
- // Create and update corresponding permission
- ObjectPermission permission = new ObjectPermission(type, identifier);
- updatePermissionSet(patch.getOp(), userPermissionPatch, permission);
-
- }
-
- // Create system permission if path is system path
- else if (path.equals(SYSTEM_PERMISSION_PATCH_PATH)) {
-
- // Get identifier and type from patch operation
- SystemPermission.Type type = SystemPermission.Type.valueOf(patch.getValue());
-
- // Create and update corresponding permission
- SystemPermission permission = new SystemPermission(type);
- updatePermissionSet(patch.getOp(), systemPermissionPatch, permission);
-
- }
-
- // Otherwise, the path is not supported
- else
- throw new GuacamoleClientException("Unsupported patch path: \"" + path + "\"");
-
- } // end for each patch operation
-
- // Save the permission changes
- connectionPermissionPatch.apply(user.getConnectionPermissions());
- connectionGroupPermissionPatch.apply(user.getConnectionGroupPermissions());
- activeConnectionPermissionPatch.apply(user.getActiveConnectionPermissions());
- userPermissionPatch.apply(user.getUserPermissions());
- systemPermissionPatch.apply(user.getSystemPermissions());
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/user/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/user/package-info.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/user/package-info.java
deleted file mode 100644
index dfa6d91..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/user/package-info.java
+++ /dev/null
@@ -1,27 +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.
- */
-
-/**
- * Classes related to the user manipulation aspect of the Guacamole REST API.
- */
-package org.apache.guacamole.net.basic.rest.user;
-
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/BasicGuacamoleWebSocketTunnelEndpoint.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/BasicGuacamoleWebSocketTunnelEndpoint.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/BasicGuacamoleWebSocketTunnelEndpoint.java
deleted file mode 100644
index 981c383..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/BasicGuacamoleWebSocketTunnelEndpoint.java
+++ /dev/null
@@ -1,120 +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.
- */
-
-package org.apache.guacamole.net.basic.websocket;
-
-import com.google.inject.Provider;
-import java.util.Map;
-import javax.websocket.EndpointConfig;
-import javax.websocket.HandshakeResponse;
-import javax.websocket.Session;
-import javax.websocket.server.HandshakeRequest;
-import javax.websocket.server.ServerEndpointConfig;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.net.GuacamoleTunnel;
-import org.apache.guacamole.net.basic.TunnelRequest;
-import org.apache.guacamole.net.basic.TunnelRequestService;
-import org.apache.guacamole.websocket.GuacamoleWebSocketTunnelEndpoint;
-
-/**
- * Tunnel implementation which uses WebSocket as a tunnel backend, rather than
- * HTTP, properly parsing connection IDs included in the connection request.
- */
-public class BasicGuacamoleWebSocketTunnelEndpoint extends GuacamoleWebSocketTunnelEndpoint {
-
- /**
- * Unique string which shall be used to store the TunnelRequest
- * associated with a WebSocket connection.
- */
- private static final String TUNNEL_REQUEST_PROPERTY = "WS_GUAC_TUNNEL_REQUEST";
-
- /**
- * Unique string which shall be used to store the TunnelRequestService to
- * be used for processing TunnelRequests.
- */
- private static final String TUNNEL_REQUEST_SERVICE_PROPERTY = "WS_GUAC_TUNNEL_REQUEST_SERVICE";
-
- /**
- * Configurator implementation which stores the requested GuacamoleTunnel
- * within the user properties. The GuacamoleTunnel will be later retrieved
- * during the connection process.
- */
- public static class Configurator extends ServerEndpointConfig.Configurator {
-
- /**
- * Provider which provides instances of a service for handling
- * tunnel requests.
- */
- private final Provider<TunnelRequestService> tunnelRequestServiceProvider;
-
- /**
- * Creates a new Configurator which uses the given tunnel request
- * service provider to retrieve the necessary service to handle new
- * connections requests.
- *
- * @param tunnelRequestServiceProvider
- * The tunnel request service provider to use for all new
- * connections.
- */
- public Configurator(Provider<TunnelRequestService> tunnelRequestServiceProvider) {
- this.tunnelRequestServiceProvider = tunnelRequestServiceProvider;
- }
-
- @Override
- public void modifyHandshake(ServerEndpointConfig config,
- HandshakeRequest request, HandshakeResponse response) {
-
- super.modifyHandshake(config, request, response);
-
- // Store tunnel request and tunnel request service for retrieval
- // upon WebSocket open
- Map<String, Object> userProperties = config.getUserProperties();
- userProperties.clear();
- userProperties.put(TUNNEL_REQUEST_PROPERTY, new WebSocketTunnelRequest(request));
- userProperties.put(TUNNEL_REQUEST_SERVICE_PROPERTY, tunnelRequestServiceProvider.get());
-
- }
-
- }
-
- @Override
- protected GuacamoleTunnel createTunnel(Session session,
- EndpointConfig config) throws GuacamoleException {
-
- Map<String, Object> userProperties = config.getUserProperties();
-
- // Get original tunnel request
- TunnelRequest tunnelRequest = (TunnelRequest) userProperties.get(TUNNEL_REQUEST_PROPERTY);
- if (tunnelRequest == null)
- return null;
-
- // Get tunnel request service
- TunnelRequestService tunnelRequestService = (TunnelRequestService) userProperties.get(TUNNEL_REQUEST_SERVICE_PROPERTY);
- if (tunnelRequestService == null)
- return null;
-
- // Create and return tunnel
- return tunnelRequestService.createTunnel(tunnelRequest);
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/WebSocketTunnelModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/WebSocketTunnelModule.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/WebSocketTunnelModule.java
deleted file mode 100644
index d3118b4..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/WebSocketTunnelModule.java
+++ /dev/null
@@ -1,104 +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.
- */
-
-package org.apache.guacamole.net.basic.websocket;
-
-import com.google.inject.Provider;
-import com.google.inject.servlet.ServletModule;
-import java.util.Arrays;
-import javax.websocket.DeploymentException;
-import javax.websocket.server.ServerContainer;
-import javax.websocket.server.ServerEndpointConfig;
-import org.apache.guacamole.net.basic.TunnelLoader;
-import org.apache.guacamole.net.basic.TunnelRequestService;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Loads the JSR-356 WebSocket tunnel implementation.
- *
- * @author Michael Jumper
- */
-public class WebSocketTunnelModule extends ServletModule implements TunnelLoader {
-
- /**
- * Logger for this class.
- */
- private final Logger logger = LoggerFactory.getLogger(WebSocketTunnelModule.class);
-
- @Override
- public boolean isSupported() {
-
- try {
-
- // Attempt to find WebSocket servlet
- Class.forName("javax.websocket.Endpoint");
-
- // Support found
- return true;
-
- }
-
- // If no such servlet class, this particular WebSocket support
- // is not present
- catch (ClassNotFoundException e) {}
- catch (NoClassDefFoundError e) {}
-
- // Support not found
- return false;
-
- }
-
- @Override
- public void configureServlets() {
-
- logger.info("Loading JSR-356 WebSocket support...");
-
- // Get container
- ServerContainer container = (ServerContainer) getServletContext().getAttribute("javax.websocket.server.ServerContainer");
- if (container == null) {
- logger.warn("ServerContainer attribute required by JSR-356 is missing. Cannot load JSR-356 WebSocket support.");
- return;
- }
-
- Provider<TunnelRequestService> tunnelRequestServiceProvider = getProvider(TunnelRequestService.class);
-
- // Build configuration for WebSocket tunnel
- ServerEndpointConfig config =
- ServerEndpointConfig.Builder.create(BasicGuacamoleWebSocketTunnelEndpoint.class, "/websocket-tunnel")
- .configurator(new BasicGuacamoleWebSocketTunnelEndpoint.Configurator(tunnelRequestServiceProvider))
- .subprotocols(Arrays.asList(new String[]{"guacamole"}))
- .build();
-
- try {
-
- // Add configuration to container
- container.addEndpoint(config);
-
- }
- catch (DeploymentException e) {
- logger.error("Unable to deploy WebSocket tunnel.", e);
- }
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/WebSocketTunnelRequest.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/WebSocketTunnelRequest.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/WebSocketTunnelRequest.java
deleted file mode 100644
index 7c2b844..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/WebSocketTunnelRequest.java
+++ /dev/null
@@ -1,70 +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.
- */
-
-package org.apache.guacamole.net.basic.websocket;
-
-import java.util.List;
-import java.util.Map;
-import javax.websocket.server.HandshakeRequest;
-import org.apache.guacamole.net.basic.TunnelRequest;
-
-/**
- * WebSocket-specific implementation of TunnelRequest.
- *
- * @author Michael Jumper
- */
-public class WebSocketTunnelRequest extends TunnelRequest {
-
- /**
- * All parameters passed via HTTP to the WebSocket handshake.
- */
- private final Map<String, List<String>> handshakeParameters;
-
- /**
- * Creates a TunnelRequest implementation which delegates parameter and
- * session retrieval to the given HandshakeRequest.
- *
- * @param request The HandshakeRequest to wrap.
- */
- public WebSocketTunnelRequest(HandshakeRequest request) {
- this.handshakeParameters = request.getParameterMap();
- }
-
- @Override
- public String getParameter(String name) {
-
- // Pull list of values, if present
- List<String> values = getParameterValues(name);
- if (values == null || values.isEmpty())
- return null;
-
- // Return first parameter value arbitrarily
- return values.get(0);
-
- }
-
- @Override
- public List<String> getParameterValues(String name) {
- return handshakeParameters.get(name);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty8/BasicGuacamoleWebSocketTunnelServlet.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty8/BasicGuacamoleWebSocketTunnelServlet.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty8/BasicGuacamoleWebSocketTunnelServlet.java
deleted file mode 100644
index 6d12b2b..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty8/BasicGuacamoleWebSocketTunnelServlet.java
+++ /dev/null
@@ -1,52 +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.
- */
-
-package org.apache.guacamole.net.basic.websocket.jetty8;
-
-import com.google.inject.Inject;
-import com.google.inject.Singleton;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.net.GuacamoleTunnel;
-import org.apache.guacamole.net.basic.TunnelRequestService;
-import org.apache.guacamole.net.basic.TunnelRequest;
-
-/**
- * Tunnel servlet implementation which uses WebSocket as a tunnel backend,
- * rather than HTTP, properly parsing connection IDs included in the connection
- * request.
- */
-@Singleton
-public class BasicGuacamoleWebSocketTunnelServlet extends GuacamoleWebSocketTunnelServlet {
-
- /**
- * Service for handling tunnel requests.
- */
- @Inject
- private TunnelRequestService tunnelRequestService;
-
- @Override
- protected GuacamoleTunnel doConnect(TunnelRequest request)
- throws GuacamoleException {
- return tunnelRequestService.createTunnel(request);
- }
-
-}
[47/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Relicense SQL files.
Posted by jm...@apache.org.
GUACAMOLE-1: Relicense SQL files.
Project: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/commit/07972de9
Tree: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/tree/07972de9
Diff: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/diff/07972de9
Branch: refs/heads/master
Commit: 07972de9c00cd8a337718f4dcaa2789eeadf13f7
Parents: 67b09c3
Author: Michael Jumper <mj...@apache.org>
Authored: Fri Mar 25 11:16:46 2016 -0700
Committer: Michael Jumper <mj...@apache.org>
Committed: Mon Mar 28 20:50:34 2016 -0700
----------------------------------------------------------------------
.../schema/001-create-schema.sql | 35 +++++++++-----------
.../schema/002-create-admin-user.sql | 31 ++++++++---------
.../schema/upgrade/upgrade-pre-0.8.2.sql | 31 ++++++++---------
.../schema/upgrade/upgrade-pre-0.9.6.sql | 31 ++++++++---------
.../schema/upgrade/upgrade-pre-0.9.7.sql | 35 +++++++++-----------
.../schema/upgrade/upgrade-pre-0.9.8.sql | 35 +++++++++-----------
.../schema/upgrade/upgrade-pre-0.9.9.sql | 31 ++++++++---------
.../schema/001-create-schema.sql | 31 ++++++++---------
.../schema/002-create-admin-user.sql | 31 ++++++++---------
.../schema/upgrade/upgrade-pre-0.9.7.sql | 35 +++++++++-----------
.../schema/upgrade/upgrade-pre-0.9.8.sql | 35 +++++++++-----------
.../schema/upgrade/upgrade-pre-0.9.9.sql | 31 ++++++++---------
12 files changed, 178 insertions(+), 214 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/07972de9/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/001-create-schema.sql
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/001-create-schema.sql b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/001-create-schema.sql
index d56d44c..339236a 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/001-create-schema.sql
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/001-create-schema.sql
@@ -1,23 +1,20 @@
--
--- 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.
+-- 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.
--
--
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/07972de9/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/002-create-admin-user.sql
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/002-create-admin-user.sql b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/002-create-admin-user.sql
index 2a2530b..a0710e2 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/002-create-admin-user.sql
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/002-create-admin-user.sql
@@ -1,23 +1,20 @@
--
--- Copyright (C) 2015 Glyptodon LLC
+-- 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
--
--- 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:
+-- http://www.apache.org/licenses/LICENSE-2.0
--
--- 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.
+-- 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.
--
-- Create default user "guacadmin" with password "guacadmin"
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/07972de9/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/upgrade/upgrade-pre-0.8.2.sql
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/upgrade/upgrade-pre-0.8.2.sql b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/upgrade/upgrade-pre-0.8.2.sql
index b9db2ad..616b728 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/upgrade/upgrade-pre-0.8.2.sql
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/upgrade/upgrade-pre-0.8.2.sql
@@ -1,23 +1,20 @@
--
--- Copyright (C) 2013 Glyptodon LLC
+-- 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
--
--- 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:
+-- http://www.apache.org/licenses/LICENSE-2.0
--
--- 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.
+-- 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.
--
--
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/07972de9/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/upgrade/upgrade-pre-0.9.6.sql
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/upgrade/upgrade-pre-0.9.6.sql b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/upgrade/upgrade-pre-0.9.6.sql
index a963670..aeba2aa 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/upgrade/upgrade-pre-0.9.6.sql
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/upgrade/upgrade-pre-0.9.6.sql
@@ -1,23 +1,20 @@
--
--- Copyright (C) 2015 Glyptodon LLC
+-- 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
--
--- 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:
+-- http://www.apache.org/licenses/LICENSE-2.0
--
--- 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.
+-- 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.
--
--
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/07972de9/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/upgrade/upgrade-pre-0.9.7.sql
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/upgrade/upgrade-pre-0.9.7.sql b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/upgrade/upgrade-pre-0.9.7.sql
index 761d9be..8d7ebfd 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/upgrade/upgrade-pre-0.9.7.sql
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/upgrade/upgrade-pre-0.9.7.sql
@@ -1,23 +1,20 @@
--
--- 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.
+-- 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.
--
--
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/07972de9/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/upgrade/upgrade-pre-0.9.8.sql
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/upgrade/upgrade-pre-0.9.8.sql b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/upgrade/upgrade-pre-0.9.8.sql
index 1f393f5..f03d8e7 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/upgrade/upgrade-pre-0.9.8.sql
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/upgrade/upgrade-pre-0.9.8.sql
@@ -1,23 +1,20 @@
--
--- 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.
+-- 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.
--
--
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/07972de9/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/upgrade/upgrade-pre-0.9.9.sql
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/upgrade/upgrade-pre-0.9.9.sql b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/upgrade/upgrade-pre-0.9.9.sql
index d26684b..858ce94 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/upgrade/upgrade-pre-0.9.9.sql
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/schema/upgrade/upgrade-pre-0.9.9.sql
@@ -1,23 +1,20 @@
--
--- Copyright (C) 2015 Glyptodon LLC
+-- 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
--
--- 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:
+-- http://www.apache.org/licenses/LICENSE-2.0
--
--- 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.
+-- 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.
--
--
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/07972de9/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/schema/001-create-schema.sql
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/schema/001-create-schema.sql b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/schema/001-create-schema.sql
index b1512d6..705fdb3 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/schema/001-create-schema.sql
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/schema/001-create-schema.sql
@@ -1,23 +1,20 @@
--
--- Copyright (C) 2015 Glyptodon LLC
+-- 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
--
--- 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:
+-- http://www.apache.org/licenses/LICENSE-2.0
--
--- 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.
+-- 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.
--
--
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/07972de9/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/schema/002-create-admin-user.sql
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/schema/002-create-admin-user.sql b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/schema/002-create-admin-user.sql
index 16eafbe..9163ea8 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/schema/002-create-admin-user.sql
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/schema/002-create-admin-user.sql
@@ -1,23 +1,20 @@
--
--- Copyright (C) 2015 Glyptodon LLC
+-- 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
--
--- 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:
+-- http://www.apache.org/licenses/LICENSE-2.0
--
--- 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.
+-- 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.
--
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/07972de9/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/schema/upgrade/upgrade-pre-0.9.7.sql
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/schema/upgrade/upgrade-pre-0.9.7.sql b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/schema/upgrade/upgrade-pre-0.9.7.sql
index 0853e90..37aacf4 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/schema/upgrade/upgrade-pre-0.9.7.sql
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/schema/upgrade/upgrade-pre-0.9.7.sql
@@ -1,23 +1,20 @@
--
--- 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.
+-- 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.
--
--
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/07972de9/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/schema/upgrade/upgrade-pre-0.9.8.sql
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/schema/upgrade/upgrade-pre-0.9.8.sql b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/schema/upgrade/upgrade-pre-0.9.8.sql
index da4cff4..f6146dc 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/schema/upgrade/upgrade-pre-0.9.8.sql
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/schema/upgrade/upgrade-pre-0.9.8.sql
@@ -1,23 +1,20 @@
--
--- 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.
+-- 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.
--
--
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/07972de9/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/schema/upgrade/upgrade-pre-0.9.9.sql
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/schema/upgrade/upgrade-pre-0.9.9.sql b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/schema/upgrade/upgrade-pre-0.9.9.sql
index f4f58b5..41197fa 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/schema/upgrade/upgrade-pre-0.9.9.sql
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/schema/upgrade/upgrade-pre-0.9.9.sql
@@ -1,23 +1,20 @@
--
--- Copyright (C) 2015 Glyptodon LLC
+-- 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
--
--- 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:
+-- http://www.apache.org/licenses/LICENSE-2.0
--
--- 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.
+-- 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.
--
--
[25/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Ensure any LinkageErrors thrown by Class.forName() for an extension do not
result in the entire startup process aborting.
Posted by jm...@apache.org.
GUACAMOLE-1: Ensure any LinkageErrors thrown by Class.forName() for an extension do not result in the entire startup process aborting.
Project: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/commit/2297dfbe
Tree: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/tree/2297dfbe
Diff: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/diff/2297dfbe
Branch: refs/heads/master
Commit: 2297dfbe7d63d5d329ad8b5da6d807094ae683f7
Parents: 2cb1ffa
Author: Michael Jumper <mj...@apache.org>
Authored: Tue Mar 22 16:30:04 2016 -0700
Committer: Michael Jumper <mj...@apache.org>
Committed: Mon Mar 28 20:50:15 2016 -0700
----------------------------------------------------------------------
.../src/main/java/org/apache/guacamole/extension/Extension.java | 3 +++
1 file changed, 3 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/2297dfbe/guacamole/src/main/java/org/apache/guacamole/extension/Extension.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/extension/Extension.java b/guacamole/src/main/java/org/apache/guacamole/extension/Extension.java
index 7ac0563..f842924 100644
--- a/guacamole/src/main/java/org/apache/guacamole/extension/Extension.java
+++ b/guacamole/src/main/java/org/apache/guacamole/extension/Extension.java
@@ -230,6 +230,9 @@ public class Extension {
catch (ClassNotFoundException e) {
throw new GuacamoleException("Authentication provider class not found.", e);
}
+ catch (LinkageError e) {
+ throw new GuacamoleException("Authentication provider class cannot be loaded (wrong version of API?).", e);
+ }
}
[36/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Relicense C and JavaScript files.
Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/protocol/GuacamoleConfiguration.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/protocol/GuacamoleConfiguration.java b/guacamole-common/src/main/java/org/apache/guacamole/protocol/GuacamoleConfiguration.java
index 98523c4..206d714 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/protocol/GuacamoleConfiguration.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/protocol/GuacamoleConfiguration.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.protocol;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/protocol/GuacamoleFilter.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/protocol/GuacamoleFilter.java b/guacamole-common/src/main/java/org/apache/guacamole/protocol/GuacamoleFilter.java
index 02c4970..5519dc1 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/protocol/GuacamoleFilter.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/protocol/GuacamoleFilter.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.protocol;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/protocol/GuacamoleInstruction.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/protocol/GuacamoleInstruction.java b/guacamole-common/src/main/java/org/apache/guacamole/protocol/GuacamoleInstruction.java
index 7a813d3..e140558 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/protocol/GuacamoleInstruction.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/protocol/GuacamoleInstruction.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.protocol;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/protocol/GuacamoleParser.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/protocol/GuacamoleParser.java b/guacamole-common/src/main/java/org/apache/guacamole/protocol/GuacamoleParser.java
index 18363fb..d4eda56 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/protocol/GuacamoleParser.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/protocol/GuacamoleParser.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.protocol;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/protocol/GuacamoleStatus.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/protocol/GuacamoleStatus.java b/guacamole-common/src/main/java/org/apache/guacamole/protocol/GuacamoleStatus.java
index c8fe227..4dbae64 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/protocol/GuacamoleStatus.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/protocol/GuacamoleStatus.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC.
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.protocol;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/protocol/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/protocol/package-info.java b/guacamole-common/src/main/java/org/apache/guacamole/protocol/package-info.java
index bf86803..e80ecd0 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/protocol/package-info.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/protocol/package-info.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/servlet/GuacamoleHTTPTunnel.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/servlet/GuacamoleHTTPTunnel.java b/guacamole-common/src/main/java/org/apache/guacamole/servlet/GuacamoleHTTPTunnel.java
index a5b0e12..dea1368 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/servlet/GuacamoleHTTPTunnel.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/servlet/GuacamoleHTTPTunnel.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.servlet;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/servlet/GuacamoleHTTPTunnelMap.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/servlet/GuacamoleHTTPTunnelMap.java b/guacamole-common/src/main/java/org/apache/guacamole/servlet/GuacamoleHTTPTunnelMap.java
index 1e845e2..2c25df5 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/servlet/GuacamoleHTTPTunnelMap.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/servlet/GuacamoleHTTPTunnelMap.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.servlet;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/servlet/GuacamoleHTTPTunnelServlet.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/servlet/GuacamoleHTTPTunnelServlet.java b/guacamole-common/src/main/java/org/apache/guacamole/servlet/GuacamoleHTTPTunnelServlet.java
index 54cd746..40d7ca2 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/servlet/GuacamoleHTTPTunnelServlet.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/servlet/GuacamoleHTTPTunnelServlet.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.servlet;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/servlet/GuacamoleSession.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/servlet/GuacamoleSession.java b/guacamole-common/src/main/java/org/apache/guacamole/servlet/GuacamoleSession.java
index d64fb6c..60eeda5 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/servlet/GuacamoleSession.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/servlet/GuacamoleSession.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.servlet;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/servlet/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/servlet/package-info.java b/guacamole-common/src/main/java/org/apache/guacamole/servlet/package-info.java
index 61ff588..81965f2 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/servlet/package-info.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/servlet/package-info.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/websocket/GuacamoleWebSocketTunnelEndpoint.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/websocket/GuacamoleWebSocketTunnelEndpoint.java b/guacamole-common/src/main/java/org/apache/guacamole/websocket/GuacamoleWebSocketTunnelEndpoint.java
index 1e1c321..dbded9b 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/websocket/GuacamoleWebSocketTunnelEndpoint.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/websocket/GuacamoleWebSocketTunnelEndpoint.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.websocket;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/test/java/org/apache/guacamole/io/ReaderGuacamoleReaderTest.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/test/java/org/apache/guacamole/io/ReaderGuacamoleReaderTest.java b/guacamole-common/src/test/java/org/apache/guacamole/io/ReaderGuacamoleReaderTest.java
index 76748d9..95c8b1b 100644
--- a/guacamole-common/src/test/java/org/apache/guacamole/io/ReaderGuacamoleReaderTest.java
+++ b/guacamole-common/src/test/java/org/apache/guacamole/io/ReaderGuacamoleReaderTest.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.io;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/test/java/org/apache/guacamole/protocol/FilteredGuacamoleReaderTest.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/test/java/org/apache/guacamole/protocol/FilteredGuacamoleReaderTest.java b/guacamole-common/src/test/java/org/apache/guacamole/protocol/FilteredGuacamoleReaderTest.java
index 4a0452e..fcdfa22 100644
--- a/guacamole-common/src/test/java/org/apache/guacamole/protocol/FilteredGuacamoleReaderTest.java
+++ b/guacamole-common/src/test/java/org/apache/guacamole/protocol/FilteredGuacamoleReaderTest.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.protocol;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/test/java/org/apache/guacamole/protocol/FilteredGuacamoleWriterTest.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/test/java/org/apache/guacamole/protocol/FilteredGuacamoleWriterTest.java b/guacamole-common/src/test/java/org/apache/guacamole/protocol/FilteredGuacamoleWriterTest.java
index 74f6d97..c5bc335 100644
--- a/guacamole-common/src/test/java/org/apache/guacamole/protocol/FilteredGuacamoleWriterTest.java
+++ b/guacamole-common/src/test/java/org/apache/guacamole/protocol/FilteredGuacamoleWriterTest.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.protocol;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/test/java/org/apache/guacamole/protocol/GuacamoleParserTest.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/test/java/org/apache/guacamole/protocol/GuacamoleParserTest.java b/guacamole-common/src/test/java/org/apache/guacamole/protocol/GuacamoleParserTest.java
index 058a3e1..b721e9d 100644
--- a/guacamole-common/src/test/java/org/apache/guacamole/protocol/GuacamoleParserTest.java
+++ b/guacamole-common/src/test/java/org/apache/guacamole/protocol/GuacamoleParserTest.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.protocol;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/environment/Environment.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/environment/Environment.java b/guacamole-ext/src/main/java/org/apache/guacamole/environment/Environment.java
index 1ce4e5b..65e73c7 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/environment/Environment.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/environment/Environment.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.environment;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/environment/LocalEnvironment.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/environment/LocalEnvironment.java b/guacamole-ext/src/main/java/org/apache/guacamole/environment/LocalEnvironment.java
index aa981f7..6a05da1 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/environment/LocalEnvironment.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/environment/LocalEnvironment.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.environment;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/form/BooleanField.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/form/BooleanField.java b/guacamole-ext/src/main/java/org/apache/guacamole/form/BooleanField.java
index faef3c2..f50c122 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/form/BooleanField.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/form/BooleanField.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.form;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/form/DateField.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/form/DateField.java b/guacamole-ext/src/main/java/org/apache/guacamole/form/DateField.java
index 4da7665..3fa9c89 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/form/DateField.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/form/DateField.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.form;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/form/EnumField.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/form/EnumField.java b/guacamole-ext/src/main/java/org/apache/guacamole/form/EnumField.java
index bddc154..8cce5b6 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/form/EnumField.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/form/EnumField.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.form;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/form/Field.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/form/Field.java b/guacamole-ext/src/main/java/org/apache/guacamole/form/Field.java
index 4148f89..d89f9f7 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/form/Field.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/form/Field.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.form;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/form/FieldOption.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/form/FieldOption.java b/guacamole-ext/src/main/java/org/apache/guacamole/form/FieldOption.java
index 97566e7..9d78b7e 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/form/FieldOption.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/form/FieldOption.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.form;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/form/Form.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/form/Form.java b/guacamole-ext/src/main/java/org/apache/guacamole/form/Form.java
index 1d2fbff..767cb6b 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/form/Form.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/form/Form.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.form;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/form/MultilineField.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/form/MultilineField.java b/guacamole-ext/src/main/java/org/apache/guacamole/form/MultilineField.java
index 57c4ac5..171287b 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/form/MultilineField.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/form/MultilineField.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.form;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/form/NumericField.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/form/NumericField.java b/guacamole-ext/src/main/java/org/apache/guacamole/form/NumericField.java
index 26716dd..fa2caf8 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/form/NumericField.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/form/NumericField.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.form;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/form/PasswordField.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/form/PasswordField.java b/guacamole-ext/src/main/java/org/apache/guacamole/form/PasswordField.java
index 750224c..609662a 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/form/PasswordField.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/form/PasswordField.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.form;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/form/TextField.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/form/TextField.java b/guacamole-ext/src/main/java/org/apache/guacamole/form/TextField.java
index e18d4e0..69a8a05 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/form/TextField.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/form/TextField.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.form;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/form/TimeField.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/form/TimeField.java b/guacamole-ext/src/main/java/org/apache/guacamole/form/TimeField.java
index 6e124cb..47b4fd6 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/form/TimeField.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/form/TimeField.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.form;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/form/TimeZoneField.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/form/TimeZoneField.java b/guacamole-ext/src/main/java/org/apache/guacamole/form/TimeZoneField.java
index 4aa0e81..3757391 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/form/TimeZoneField.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/form/TimeZoneField.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.form;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/form/UsernameField.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/form/UsernameField.java b/guacamole-ext/src/main/java/org/apache/guacamole/form/UsernameField.java
index 8eaadb3..1e65a0a 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/form/UsernameField.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/form/UsernameField.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.form;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/form/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/form/package-info.java b/guacamole-ext/src/main/java/org/apache/guacamole/form/package-info.java
index 8d5ebc5..c0b6088 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/form/package-info.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/form/package-info.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/AbstractActiveConnection.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/AbstractActiveConnection.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/AbstractActiveConnection.java
index 0d539c2..4b3855f 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/AbstractActiveConnection.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/AbstractActiveConnection.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.auth;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/AbstractAuthenticatedUser.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/AbstractAuthenticatedUser.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/AbstractAuthenticatedUser.java
index b9ed61c..b26fac5 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/AbstractAuthenticatedUser.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/AbstractAuthenticatedUser.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.auth;
[51/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Add DISCLAIMER.
Posted by jm...@apache.org.
GUACAMOLE-1: Add DISCLAIMER.
Project: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/commit/0d39a04a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/tree/0d39a04a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/diff/0d39a04a
Branch: refs/heads/master
Commit: 0d39a04a1e099a7a8c52f2ec387f8b4012db72dc
Parents: 831e974
Author: Michael Jumper <mj...@apache.org>
Authored: Fri Mar 25 16:34:52 2016 -0700
Committer: Michael Jumper <mj...@apache.org>
Committed: Mon Mar 28 20:50:40 2016 -0700
----------------------------------------------------------------------
DISCLAIMER | 7 +++++++
1 file changed, 7 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/0d39a04a/DISCLAIMER
----------------------------------------------------------------------
diff --git a/DISCLAIMER b/DISCLAIMER
new file mode 100644
index 0000000..1a9c3be
--- /dev/null
+++ b/DISCLAIMER
@@ -0,0 +1,7 @@
+Apache Guacamole is an effort undergoing incubation at The Apache Software
+Foundation (ASF). Incubation is required of all newly accepted projects until a
+further review indicates that the infrastructure, communications, and decision
+making process have stabilized in a manner consistent with other successful ASF
+projects. While incubation status is not necessarily a reflection of the
+completeness or stability of the code, it does indicate that the project has
+yet to be fully endorsed by the ASF.
[24/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Finish refactor within classname strings. Fix comments.
Posted by jm...@apache.org.
GUACAMOLE-1: Finish refactor within classname strings. Fix comments.
Project: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/commit/2cb1ffa6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/tree/2cb1ffa6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/diff/2cb1ffa6
Branch: refs/heads/master
Commit: 2cb1ffa60d4d2dab3e83cf625f683ce31e1a3645
Parents: b7b5873
Author: Michael Jumper <mj...@apache.org>
Authored: Tue Mar 22 15:38:58 2016 -0700
Committer: Michael Jumper <mj...@apache.org>
Committed: Mon Mar 28 20:50:13 2016 -0700
----------------------------------------------------------------------
.../guacamole/auth/file/FileAuthenticationProvider.java | 4 ++--
.../org/apache/guacamole/rest/auth/HashTokenSessionMap.java | 3 +--
.../main/java/org/apache/guacamole/tunnel/TunnelModule.java | 8 ++++----
.../RestrictedGuacamoleWebSocketTunnelEndpoint.java | 1 -
.../tunnel/websocket/jetty8/WebSocketTunnelModule.java | 2 +-
.../tunnel/websocket/jetty9/WebSocketTunnelModule.java | 2 +-
.../tunnel/websocket/tomcat/WebSocketTunnelModule.java | 2 +-
7 files changed, 10 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/2cb1ffa6/guacamole/src/main/java/org/apache/guacamole/auth/file/FileAuthenticationProvider.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/auth/file/FileAuthenticationProvider.java b/guacamole/src/main/java/org/apache/guacamole/auth/file/FileAuthenticationProvider.java
index 75230fd..13ebe62 100644
--- a/guacamole/src/main/java/org/apache/guacamole/auth/file/FileAuthenticationProvider.java
+++ b/guacamole/src/main/java/org/apache/guacamole/auth/file/FileAuthenticationProvider.java
@@ -94,8 +94,8 @@ public class FileAuthenticationProvider extends SimpleAuthenticationProvider {
public static final String USER_MAPPING_FILENAME = "user-mapping.xml";
/**
- * Creates a new BasicFileAuthenticationProvider that authenticates users
- * against simple, monolithic XML file.
+ * Creates a new FileAuthenticationProvider that authenticates users against
+ * simple, monolithic XML file.
*
* @throws GuacamoleException
* If a required property is missing, or an error occurs while parsing
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/2cb1ffa6/guacamole/src/main/java/org/apache/guacamole/rest/auth/HashTokenSessionMap.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/auth/HashTokenSessionMap.java b/guacamole/src/main/java/org/apache/guacamole/rest/auth/HashTokenSessionMap.java
index a362c69..5c5f46f 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/auth/HashTokenSessionMap.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/auth/HashTokenSessionMap.java
@@ -72,8 +72,7 @@ public class HashTokenSessionMap implements TokenSessionMap {
};
/**
- * Create a new BasicTokenGuacamoleSessionMap configured using the given
- * environment.
+ * Create a new HashTokenSessionMap configured using the given environment.
*
* @param environment
* The environment to use when configuring the token session map.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/2cb1ffa6/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelModule.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelModule.java
index 331184f..12f3b74 100644
--- a/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelModule.java
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelModule.java
@@ -44,10 +44,10 @@ public class TunnelModule extends ServletModule {
* Classnames of all implementation-specific WebSocket tunnel modules.
*/
private static final String[] WEBSOCKET_MODULES = {
- "org.apache.guacamole.websocket.WebSocketTunnelModule",
- "org.apache.guacamole.websocket.jetty8.WebSocketTunnelModule",
- "org.apache.guacamole.websocket.jetty9.WebSocketTunnelModule",
- "org.apache.guacamole.websocket.tomcat.WebSocketTunnelModule"
+ "org.apache.guacamole.tunnel.websocket.WebSocketTunnelModule",
+ "org.apache.guacamole.tunnel.websocket.jetty8.WebSocketTunnelModule",
+ "org.apache.guacamole.tunnel.websocket.jetty9.WebSocketTunnelModule",
+ "org.apache.guacamole.tunnel.websocket.tomcat.WebSocketTunnelModule"
};
private boolean loadWebSocketModule(String classname) {
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/2cb1ffa6/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/RestrictedGuacamoleWebSocketTunnelEndpoint.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/RestrictedGuacamoleWebSocketTunnelEndpoint.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/RestrictedGuacamoleWebSocketTunnelEndpoint.java
index 09b7487..5e5560f 100644
--- a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/RestrictedGuacamoleWebSocketTunnelEndpoint.java
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/RestrictedGuacamoleWebSocketTunnelEndpoint.java
@@ -34,7 +34,6 @@ import org.apache.guacamole.net.GuacamoleTunnel;
import org.apache.guacamole.tunnel.TunnelRequest;
import org.apache.guacamole.tunnel.TunnelRequestService;
import org.apache.guacamole.websocket.GuacamoleWebSocketTunnelEndpoint;
-import org.apache.guacamole.websocket.GuacamoleWebSocketTunnelEndpoint;
/**
* Tunnel implementation which uses WebSocket as a tunnel backend, rather than
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/2cb1ffa6/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/WebSocketTunnelModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/WebSocketTunnelModule.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/WebSocketTunnelModule.java
index 79a09db..d5d45bd 100644
--- a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/WebSocketTunnelModule.java
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/WebSocketTunnelModule.java
@@ -45,7 +45,7 @@ public class WebSocketTunnelModule extends ServletModule implements TunnelLoader
try {
// Attempt to find WebSocket servlet
- Class.forName("org.apache.guacamole.websocket.jetty8.BasicGuacamoleWebSocketTunnelServlet");
+ Class.forName("org.apache.guacamole.tunnel.websocket.jetty8.RestrictedGuacamoleWebSocketTunnelServlet");
// Support found
return true;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/2cb1ffa6/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/WebSocketTunnelModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/WebSocketTunnelModule.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/WebSocketTunnelModule.java
index 3477894..9def8e6 100644
--- a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/WebSocketTunnelModule.java
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/WebSocketTunnelModule.java
@@ -45,7 +45,7 @@ public class WebSocketTunnelModule extends ServletModule implements TunnelLoader
try {
// Attempt to find WebSocket servlet
- Class.forName("org.apache.guacamole.websocket.jetty9.BasicGuacamoleWebSocketTunnelServlet");
+ Class.forName("org.apache.guacamole.tunnel.websocket.jetty9.RestrictedGuacamoleWebSocketTunnelServlet");
// Support found
return true;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/2cb1ffa6/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/WebSocketTunnelModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/WebSocketTunnelModule.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/WebSocketTunnelModule.java
index 1b553b9..650522e 100644
--- a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/WebSocketTunnelModule.java
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/WebSocketTunnelModule.java
@@ -45,7 +45,7 @@ public class WebSocketTunnelModule extends ServletModule implements TunnelLoader
try {
// Attempt to find WebSocket servlet
- Class.forName("org.apache.guacamole.websocket.tomcat.BasicGuacamoleWebSocketTunnelServlet");
+ Class.forName("org.apache.guacamole.tunnel.websocket.tomcat.RestrictedGuacamoleWebSocketTunnelServlet");
// Support found
return true;
[23/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Remove unused ClipboardState class.
Posted by jm...@apache.org.
GUACAMOLE-1: Remove unused ClipboardState class.
Project: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/commit/b7b5873a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/tree/b7b5873a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/diff/b7b5873a
Branch: refs/heads/master
Commit: b7b5873a9258b1061710defbfe3e829f6411720c
Parents: 713fc7f
Author: Michael Jumper <mj...@apache.org>
Authored: Tue Mar 22 15:30:38 2016 -0700
Committer: Michael Jumper <mj...@apache.org>
Committed: Mon Mar 28 20:50:09 2016 -0700
----------------------------------------------------------------------
.../org/apache/guacamole/ClipboardState.java | 154 -------------------
1 file changed, 154 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/b7b5873a/guacamole/src/main/java/org/apache/guacamole/ClipboardState.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/ClipboardState.java b/guacamole/src/main/java/org/apache/guacamole/ClipboardState.java
deleted file mode 100644
index bde6822..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/ClipboardState.java
+++ /dev/null
@@ -1,154 +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.
- */
-
-package org.apache.guacamole;
-
-/**
- * Provides central storage for a cross-connection clipboard state. This
- * clipboard state is shared only for a single HTTP session. Multiple HTTP
- * sessions will all have their own state.
- *
- * @author Michael Jumper
- */
-public class ClipboardState {
-
- /**
- * The maximum number of bytes to track.
- */
- private static final int MAXIMUM_LENGTH = 262144;
-
- /**
- * The mimetype of the current contents.
- */
- private String mimetype = "text/plain";
-
- /**
- * The mimetype of the pending contents.
- */
- private String pending_mimetype = "text/plain";
-
- /**
- * The current contents.
- */
- private byte[] contents = new byte[0];
-
- /**
- * The pending clipboard contents.
- */
- private final byte[] pending = new byte[MAXIMUM_LENGTH];
-
- /**
- * The length of the pending data, in bytes.
- */
- private int pending_length = 0;
-
- /**
- * The timestamp of the last contents update.
- */
- private long last_update = 0;
-
- /**
- * Returns the current clipboard contents.
- * @return The current clipboard contents
- */
- public synchronized byte[] getContents() {
- return contents;
- }
-
- /**
- * Returns the mimetype of the current clipboard contents.
- * @return The mimetype of the current clipboard contents.
- */
- public synchronized String getMimetype() {
- return mimetype;
- }
-
- /**
- * Begins a new update of the clipboard contents. The actual contents will
- * not be saved until commit() is called.
- *
- * @param mimetype The mimetype of the contents being added.
- */
- public synchronized void begin(String mimetype) {
- pending_length = 0;
- this.pending_mimetype = mimetype;
- }
-
- /**
- * Appends the given data to the clipboard contents.
- *
- * @param data The raw data to append.
- */
- public synchronized void append(byte[] data) {
-
- // Calculate size of copy
- int length = data.length;
- int remaining = pending.length - pending_length;
- if (remaining < length)
- length = remaining;
-
- // Append data
- System.arraycopy(data, 0, pending, pending_length, length);
- pending_length += length;
-
- }
-
- /**
- * Commits the pending contents to the clipboard, notifying any threads
- * waiting for clipboard updates.
- */
- public synchronized void commit() {
-
- // Commit contents
- mimetype = pending_mimetype;
- contents = new byte[pending_length];
- System.arraycopy(pending, 0, contents, 0, pending_length);
-
- // Notify of update
- last_update = System.currentTimeMillis();
- this.notifyAll();
-
- }
-
- /**
- * Wait up to the given timeout for new clipboard data.
- *
- * @param timeout The amount of time to wait, in milliseconds.
- * @return true if the contents were updated within the timeframe given,
- * false otherwise.
- */
- public synchronized boolean waitForContents(int timeout) {
-
- // Wait for new contents if it's been a while
- if (System.currentTimeMillis() - last_update > timeout) {
- try {
- this.wait(timeout);
- return true;
- }
- catch (InterruptedException e) { /* ignore */ }
- }
-
- return false;
-
- }
-
-}
[21/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Rename Basic* classes sensibly. Refactor tunnel classes into own packages.
Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelRequestService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelRequestService.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelRequestService.java
new file mode 100644
index 0000000..3607b3d
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelRequestService.java
@@ -0,0 +1,363 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.tunnel;
+
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+import java.util.List;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.GuacamoleSecurityException;
+import org.apache.guacamole.GuacamoleSecurityException;
+import org.apache.guacamole.GuacamoleSession;
+import org.apache.guacamole.GuacamoleUnauthorizedException;
+import org.apache.guacamole.GuacamoleUnauthorizedException;
+import org.apache.guacamole.net.DelegatingGuacamoleTunnel;
+import org.apache.guacamole.net.GuacamoleTunnel;
+import org.apache.guacamole.net.auth.Connection;
+import org.apache.guacamole.net.auth.ConnectionGroup;
+import org.apache.guacamole.net.auth.Directory;
+import org.apache.guacamole.net.auth.UserContext;
+import org.apache.guacamole.rest.ObjectRetrievalService;
+import org.apache.guacamole.rest.auth.AuthenticationService;
+import org.apache.guacamole.protocol.GuacamoleClientInformation;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Utility class that takes a standard request from the Guacamole JavaScript
+ * client and produces the corresponding GuacamoleTunnel. The implementation
+ * of this utility is specific to the form of request used by the upstream
+ * Guacamole web application, and is not necessarily useful to applications
+ * that use purely the Guacamole API.
+ *
+ * @author Michael Jumper
+ * @author Vasily Loginov
+ */
+@Singleton
+public class TunnelRequestService {
+
+ /**
+ * Logger for this class.
+ */
+ private final Logger logger = LoggerFactory.getLogger(TunnelRequestService.class);
+
+ /**
+ * A service for authenticating users from auth tokens.
+ */
+ @Inject
+ private AuthenticationService authenticationService;
+
+ /**
+ * Service for convenient retrieval of objects.
+ */
+ @Inject
+ private ObjectRetrievalService retrievalService;
+
+ /**
+ * Reads and returns the client information provided within the given
+ * request.
+ *
+ * @param request
+ * The request describing tunnel to create.
+ *
+ * @return GuacamoleClientInformation
+ * An object containing information about the client sending the tunnel
+ * request.
+ *
+ * @throws GuacamoleException
+ * If the parameters of the tunnel request are invalid.
+ */
+ protected GuacamoleClientInformation getClientInformation(TunnelRequest request)
+ throws GuacamoleException {
+
+ // Get client information
+ GuacamoleClientInformation info = new GuacamoleClientInformation();
+
+ // Set width if provided
+ Integer width = request.getWidth();
+ if (width != null)
+ info.setOptimalScreenWidth(width);
+
+ // Set height if provided
+ Integer height = request.getHeight();
+ if (height != null)
+ info.setOptimalScreenHeight(height);
+
+ // Set resolution if provided
+ Integer dpi = request.getDPI();
+ if (dpi != null)
+ info.setOptimalResolution(dpi);
+
+ // Add audio mimetypes
+ List<String> audioMimetypes = request.getAudioMimetypes();
+ if (audioMimetypes != null)
+ info.getAudioMimetypes().addAll(audioMimetypes);
+
+ // Add video mimetypes
+ List<String> videoMimetypes = request.getVideoMimetypes();
+ if (videoMimetypes != null)
+ info.getVideoMimetypes().addAll(videoMimetypes);
+
+ // Add image mimetypes
+ List<String> imageMimetypes = request.getImageMimetypes();
+ if (imageMimetypes != null)
+ info.getImageMimetypes().addAll(imageMimetypes);
+
+ return info;
+ }
+
+ /**
+ * Creates a new tunnel using which is connected to the connection or
+ * connection group identifier by the given ID. Client information
+ * is specified in the {@code info} parameter.
+ *
+ * @param context
+ * The UserContext associated with the user for whom the tunnel is
+ * being created.
+ *
+ * @param type
+ * The type of object being connected to (connection or group).
+ *
+ * @param id
+ * The id of the connection or group being connected to.
+ *
+ * @param info
+ * Information describing the connected Guacamole client.
+ *
+ * @return
+ * A new tunnel, connected as required by the request.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while creating the tunnel.
+ */
+ protected GuacamoleTunnel createConnectedTunnel(UserContext context,
+ final TunnelRequest.Type type, String id,
+ GuacamoleClientInformation info)
+ throws GuacamoleException {
+
+ // Create connected tunnel from identifier
+ GuacamoleTunnel tunnel = null;
+ switch (type) {
+
+ // Connection identifiers
+ case CONNECTION: {
+
+ // Get connection directory
+ Directory<Connection> directory = context.getConnectionDirectory();
+
+ // Get authorized connection
+ Connection connection = directory.get(id);
+ if (connection == null) {
+ logger.info("Connection \"{}\" does not exist for user \"{}\".", id, context.self().getIdentifier());
+ throw new GuacamoleSecurityException("Requested connection is not authorized.");
+ }
+
+ // Connect tunnel
+ tunnel = connection.connect(info);
+ logger.info("User \"{}\" connected to connection \"{}\".", context.self().getIdentifier(), id);
+ break;
+ }
+
+ // Connection group identifiers
+ case CONNECTION_GROUP: {
+
+ // Get connection group directory
+ Directory<ConnectionGroup> directory = context.getConnectionGroupDirectory();
+
+ // Get authorized connection group
+ ConnectionGroup group = directory.get(id);
+ if (group == null) {
+ logger.info("Connection group \"{}\" does not exist for user \"{}\".", id, context.self().getIdentifier());
+ throw new GuacamoleSecurityException("Requested connection group is not authorized.");
+ }
+
+ // Connect tunnel
+ tunnel = group.connect(info);
+ logger.info("User \"{}\" connected to group \"{}\".", context.self().getIdentifier(), id);
+ break;
+ }
+
+ // Type is guaranteed to be one of the above
+ default:
+ assert(false);
+
+ }
+
+ return tunnel;
+
+ }
+
+ /**
+ * Associates the given tunnel with the given session, returning a wrapped
+ * version of the same tunnel which automatically handles closure and
+ * removal from the session.
+ *
+ * @param tunnel
+ * The connected tunnel to wrap and monitor.
+ *
+ * @param authToken
+ * The authentication token associated with the given session. If
+ * provided, this token will be automatically invalidated (and the
+ * corresponding session destroyed) if tunnel errors imply that the
+ * user is no longer authorized.
+ *
+ * @param session
+ * The Guacamole session to associate the tunnel with.
+ *
+ * @param type
+ * The type of object being connected to (connection or group).
+ *
+ * @param id
+ * The id of the connection or group being connected to.
+ *
+ * @return
+ * A new tunnel, associated with the given session, which delegates all
+ * functionality to the given tunnel while monitoring and automatically
+ * handling closure.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while obtaining the tunnel.
+ */
+ protected GuacamoleTunnel createAssociatedTunnel(GuacamoleTunnel tunnel,
+ final String authToken, final GuacamoleSession session,
+ final TunnelRequest.Type type, final String id)
+ throws GuacamoleException {
+
+ // Monitor tunnel closure and data
+ GuacamoleTunnel monitoredTunnel = new DelegatingGuacamoleTunnel(tunnel) {
+
+ /**
+ * The time the connection began, measured in milliseconds since
+ * midnight, January 1, 1970 UTC.
+ */
+ private final long connectionStartTime = System.currentTimeMillis();
+
+ @Override
+ public void close() throws GuacamoleException {
+
+ long connectionEndTime = System.currentTimeMillis();
+ long duration = connectionEndTime - connectionStartTime;
+
+ // Log closure
+ switch (type) {
+
+ // Connection identifiers
+ case CONNECTION:
+ logger.info("User \"{}\" disconnected from connection \"{}\". Duration: {} milliseconds",
+ session.getAuthenticatedUser().getIdentifier(), id, duration);
+ break;
+
+ // Connection group identifiers
+ case CONNECTION_GROUP:
+ logger.info("User \"{}\" disconnected from connection group \"{}\". Duration: {} milliseconds",
+ session.getAuthenticatedUser().getIdentifier(), id, duration);
+ break;
+
+ // Type is guaranteed to be one of the above
+ default:
+ assert(false);
+
+ }
+
+ try {
+
+ // Close and clean up tunnel
+ session.removeTunnel(getUUID().toString());
+ super.close();
+
+ }
+
+ // Ensure any associated session is invalidated if unauthorized
+ catch (GuacamoleUnauthorizedException e) {
+
+ // If there is an associated auth token, invalidate it
+ if (authenticationService.destroyGuacamoleSession(authToken))
+ logger.debug("Implicitly invalidated session for token \"{}\".", authToken);
+
+ // Continue with exception processing
+ throw e;
+
+ }
+
+ }
+
+ };
+
+ // Associate tunnel with session
+ session.addTunnel(monitoredTunnel);
+ return monitoredTunnel;
+
+ }
+
+ /**
+ * Creates a new tunnel using the parameters and credentials present in
+ * the given request.
+ *
+ * @param request
+ * The request describing the tunnel to create.
+ *
+ * @return
+ * The created tunnel, or null if the tunnel could not be created.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while creating the tunnel.
+ */
+ public GuacamoleTunnel createTunnel(TunnelRequest request)
+ throws GuacamoleException {
+
+ // Parse request parameters
+ String authToken = request.getAuthenticationToken();
+ String id = request.getIdentifier();
+ TunnelRequest.Type type = request.getType();
+ String authProviderIdentifier = request.getAuthenticationProviderIdentifier();
+ GuacamoleClientInformation info = getClientInformation(request);
+
+ GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
+ UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
+
+ try {
+
+ // Create connected tunnel using provided connection ID and client information
+ GuacamoleTunnel tunnel = createConnectedTunnel(userContext, type, id, info);
+
+ // Associate tunnel with session
+ return createAssociatedTunnel(tunnel, authToken, session, type, id);
+
+ }
+
+ // Ensure any associated session is invalidated if unauthorized
+ catch (GuacamoleUnauthorizedException e) {
+
+ // If there is an associated auth token, invalidate it
+ if (authenticationService.destroyGuacamoleSession(authToken))
+ logger.debug("Implicitly invalidated session for token \"{}\".", authToken);
+
+ // Continue with exception processing
+ throw e;
+
+ }
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/tunnel/http/HTTPTunnelRequest.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/http/HTTPTunnelRequest.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/http/HTTPTunnelRequest.java
new file mode 100644
index 0000000..072c792
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/http/HTTPTunnelRequest.java
@@ -0,0 +1,91 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.tunnel.http;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import javax.servlet.http.HttpServletRequest;
+import org.apache.guacamole.tunnel.TunnelRequest;
+
+/**
+ * HTTP-specific implementation of TunnelRequest.
+ *
+ * @author Michael Jumper
+ */
+public class HTTPTunnelRequest extends TunnelRequest {
+
+ /**
+ * A copy of the parameters obtained from the HttpServletRequest used to
+ * construct the HTTPTunnelRequest.
+ */
+ private final Map<String, List<String>> parameterMap =
+ new HashMap<String, List<String>>();
+
+ /**
+ * Creates a HTTPTunnelRequest which copies and exposes the parameters
+ * from the given HttpServletRequest.
+ *
+ * @param request
+ * The HttpServletRequest to copy parameter values from.
+ */
+ @SuppressWarnings("unchecked") // getParameterMap() is defined as returning Map<String, String[]>
+ public HTTPTunnelRequest(HttpServletRequest request) {
+
+ // For each parameter
+ for (Map.Entry<String, String[]> mapEntry : ((Map<String, String[]>)
+ request.getParameterMap()).entrySet()) {
+
+ // Get parameter name and corresponding values
+ String parameterName = mapEntry.getKey();
+ List<String> parameterValues = Arrays.asList(mapEntry.getValue());
+
+ // Store copy of all values in our own map
+ parameterMap.put(
+ parameterName,
+ new ArrayList<String>(parameterValues)
+ );
+
+ }
+
+ }
+
+ @Override
+ public String getParameter(String name) {
+ List<String> values = getParameterValues(name);
+
+ // Return the first value from the list if available
+ if (values != null && !values.isEmpty())
+ return values.get(0);
+
+ return null;
+ }
+
+ @Override
+ public List<String> getParameterValues(String name) {
+ return parameterMap.get(name);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/tunnel/http/RestrictedGuacamoleHTTPTunnelServlet.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/http/RestrictedGuacamoleHTTPTunnelServlet.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/http/RestrictedGuacamoleHTTPTunnelServlet.java
new file mode 100644
index 0000000..986c684
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/http/RestrictedGuacamoleHTTPTunnelServlet.java
@@ -0,0 +1,69 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.tunnel.http;
+
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+import javax.servlet.http.HttpServletRequest;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.tunnel.TunnelRequestService;
+import org.apache.guacamole.net.GuacamoleTunnel;
+import org.apache.guacamole.servlet.GuacamoleHTTPTunnelServlet;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Connects users to a tunnel associated with the authorized connection
+ * having the given ID.
+ *
+ * @author Michael Jumper
+ */
+@Singleton
+public class RestrictedGuacamoleHTTPTunnelServlet extends GuacamoleHTTPTunnelServlet {
+
+ /**
+ * Service for handling tunnel requests.
+ */
+ @Inject
+ private TunnelRequestService tunnelRequestService;
+
+ /**
+ * Logger for this class.
+ */
+ private static final Logger logger = LoggerFactory.getLogger(RestrictedGuacamoleHTTPTunnelServlet.class);
+
+ @Override
+ protected GuacamoleTunnel doConnect(HttpServletRequest request) throws GuacamoleException {
+
+ // Attempt to create HTTP tunnel
+ GuacamoleTunnel tunnel = tunnelRequestService.createTunnel(new HTTPTunnelRequest(request));
+
+ // If successful, warn of lack of WebSocket
+ logger.info("Using HTTP tunnel (not WebSocket). Performance may be sub-optimal.");
+
+ return tunnel;
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/tunnel/http/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/http/package-info.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/http/package-info.java
new file mode 100644
index 0000000..6b732e2
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/http/package-info.java
@@ -0,0 +1,27 @@
+/*
+ * 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.
+ */
+
+/**
+ * Classes which leverage Guacamole's built-in HTTP tunnel implementation.
+ */
+package org.apache.guacamole.tunnel.http;
+
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/tunnel/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/package-info.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/package-info.java
new file mode 100644
index 0000000..b06f8e4
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/package-info.java
@@ -0,0 +1,27 @@
+/*
+ * 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.
+ */
+
+/**
+ * Classes which are common to all tunnel implementations.
+ */
+package org.apache.guacamole.tunnel;
+
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/RestrictedGuacamoleWebSocketTunnelEndpoint.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/RestrictedGuacamoleWebSocketTunnelEndpoint.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/RestrictedGuacamoleWebSocketTunnelEndpoint.java
new file mode 100644
index 0000000..09b7487
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/RestrictedGuacamoleWebSocketTunnelEndpoint.java
@@ -0,0 +1,121 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.tunnel.websocket;
+
+import com.google.inject.Provider;
+import java.util.Map;
+import javax.websocket.EndpointConfig;
+import javax.websocket.HandshakeResponse;
+import javax.websocket.Session;
+import javax.websocket.server.HandshakeRequest;
+import javax.websocket.server.ServerEndpointConfig;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.net.GuacamoleTunnel;
+import org.apache.guacamole.tunnel.TunnelRequest;
+import org.apache.guacamole.tunnel.TunnelRequestService;
+import org.apache.guacamole.websocket.GuacamoleWebSocketTunnelEndpoint;
+import org.apache.guacamole.websocket.GuacamoleWebSocketTunnelEndpoint;
+
+/**
+ * Tunnel implementation which uses WebSocket as a tunnel backend, rather than
+ * HTTP, properly parsing connection IDs included in the connection request.
+ */
+public class RestrictedGuacamoleWebSocketTunnelEndpoint extends GuacamoleWebSocketTunnelEndpoint {
+
+ /**
+ * Unique string which shall be used to store the TunnelRequest
+ * associated with a WebSocket connection.
+ */
+ private static final String TUNNEL_REQUEST_PROPERTY = "WS_GUAC_TUNNEL_REQUEST";
+
+ /**
+ * Unique string which shall be used to store the TunnelRequestService to
+ * be used for processing TunnelRequests.
+ */
+ private static final String TUNNEL_REQUEST_SERVICE_PROPERTY = "WS_GUAC_TUNNEL_REQUEST_SERVICE";
+
+ /**
+ * Configurator implementation which stores the requested GuacamoleTunnel
+ * within the user properties. The GuacamoleTunnel will be later retrieved
+ * during the connection process.
+ */
+ public static class Configurator extends ServerEndpointConfig.Configurator {
+
+ /**
+ * Provider which provides instances of a service for handling
+ * tunnel requests.
+ */
+ private final Provider<TunnelRequestService> tunnelRequestServiceProvider;
+
+ /**
+ * Creates a new Configurator which uses the given tunnel request
+ * service provider to retrieve the necessary service to handle new
+ * connections requests.
+ *
+ * @param tunnelRequestServiceProvider
+ * The tunnel request service provider to use for all new
+ * connections.
+ */
+ public Configurator(Provider<TunnelRequestService> tunnelRequestServiceProvider) {
+ this.tunnelRequestServiceProvider = tunnelRequestServiceProvider;
+ }
+
+ @Override
+ public void modifyHandshake(ServerEndpointConfig config,
+ HandshakeRequest request, HandshakeResponse response) {
+
+ super.modifyHandshake(config, request, response);
+
+ // Store tunnel request and tunnel request service for retrieval
+ // upon WebSocket open
+ Map<String, Object> userProperties = config.getUserProperties();
+ userProperties.clear();
+ userProperties.put(TUNNEL_REQUEST_PROPERTY, new WebSocketTunnelRequest(request));
+ userProperties.put(TUNNEL_REQUEST_SERVICE_PROPERTY, tunnelRequestServiceProvider.get());
+
+ }
+
+ }
+
+ @Override
+ protected GuacamoleTunnel createTunnel(Session session,
+ EndpointConfig config) throws GuacamoleException {
+
+ Map<String, Object> userProperties = config.getUserProperties();
+
+ // Get original tunnel request
+ TunnelRequest tunnelRequest = (TunnelRequest) userProperties.get(TUNNEL_REQUEST_PROPERTY);
+ if (tunnelRequest == null)
+ return null;
+
+ // Get tunnel request service
+ TunnelRequestService tunnelRequestService = (TunnelRequestService) userProperties.get(TUNNEL_REQUEST_SERVICE_PROPERTY);
+ if (tunnelRequestService == null)
+ return null;
+
+ // Create and return tunnel
+ return tunnelRequestService.createTunnel(tunnelRequest);
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/WebSocketTunnelModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/WebSocketTunnelModule.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/WebSocketTunnelModule.java
new file mode 100644
index 0000000..9183b4d
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/WebSocketTunnelModule.java
@@ -0,0 +1,104 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.tunnel.websocket;
+
+import com.google.inject.Provider;
+import com.google.inject.servlet.ServletModule;
+import java.util.Arrays;
+import javax.websocket.DeploymentException;
+import javax.websocket.server.ServerContainer;
+import javax.websocket.server.ServerEndpointConfig;
+import org.apache.guacamole.tunnel.TunnelLoader;
+import org.apache.guacamole.tunnel.TunnelRequestService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Loads the JSR-356 WebSocket tunnel implementation.
+ *
+ * @author Michael Jumper
+ */
+public class WebSocketTunnelModule extends ServletModule implements TunnelLoader {
+
+ /**
+ * Logger for this class.
+ */
+ private final Logger logger = LoggerFactory.getLogger(WebSocketTunnelModule.class);
+
+ @Override
+ public boolean isSupported() {
+
+ try {
+
+ // Attempt to find WebSocket servlet
+ Class.forName("javax.websocket.Endpoint");
+
+ // Support found
+ return true;
+
+ }
+
+ // If no such servlet class, this particular WebSocket support
+ // is not present
+ catch (ClassNotFoundException e) {}
+ catch (NoClassDefFoundError e) {}
+
+ // Support not found
+ return false;
+
+ }
+
+ @Override
+ public void configureServlets() {
+
+ logger.info("Loading JSR-356 WebSocket support...");
+
+ // Get container
+ ServerContainer container = (ServerContainer) getServletContext().getAttribute("javax.websocket.server.ServerContainer");
+ if (container == null) {
+ logger.warn("ServerContainer attribute required by JSR-356 is missing. Cannot load JSR-356 WebSocket support.");
+ return;
+ }
+
+ Provider<TunnelRequestService> tunnelRequestServiceProvider = getProvider(TunnelRequestService.class);
+
+ // Build configuration for WebSocket tunnel
+ ServerEndpointConfig config =
+ ServerEndpointConfig.Builder.create(RestrictedGuacamoleWebSocketTunnelEndpoint.class, "/websocket-tunnel")
+ .configurator(new RestrictedGuacamoleWebSocketTunnelEndpoint.Configurator(tunnelRequestServiceProvider))
+ .subprotocols(Arrays.asList(new String[]{"guacamole"}))
+ .build();
+
+ try {
+
+ // Add configuration to container
+ container.addEndpoint(config);
+
+ }
+ catch (DeploymentException e) {
+ logger.error("Unable to deploy WebSocket tunnel.", e);
+ }
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/WebSocketTunnelRequest.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/WebSocketTunnelRequest.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/WebSocketTunnelRequest.java
new file mode 100644
index 0000000..e5d424d
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/WebSocketTunnelRequest.java
@@ -0,0 +1,70 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.tunnel.websocket;
+
+import java.util.List;
+import java.util.Map;
+import javax.websocket.server.HandshakeRequest;
+import org.apache.guacamole.tunnel.TunnelRequest;
+
+/**
+ * WebSocket-specific implementation of TunnelRequest.
+ *
+ * @author Michael Jumper
+ */
+public class WebSocketTunnelRequest extends TunnelRequest {
+
+ /**
+ * All parameters passed via HTTP to the WebSocket handshake.
+ */
+ private final Map<String, List<String>> handshakeParameters;
+
+ /**
+ * Creates a TunnelRequest implementation which delegates parameter and
+ * session retrieval to the given HandshakeRequest.
+ *
+ * @param request The HandshakeRequest to wrap.
+ */
+ public WebSocketTunnelRequest(HandshakeRequest request) {
+ this.handshakeParameters = request.getParameterMap();
+ }
+
+ @Override
+ public String getParameter(String name) {
+
+ // Pull list of values, if present
+ List<String> values = getParameterValues(name);
+ if (values == null || values.isEmpty())
+ return null;
+
+ // Return first parameter value arbitrarily
+ return values.get(0);
+
+ }
+
+ @Override
+ public List<String> getParameterValues(String name) {
+ return handshakeParameters.get(name);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/GuacamoleWebSocketTunnelServlet.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/GuacamoleWebSocketTunnelServlet.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/GuacamoleWebSocketTunnelServlet.java
new file mode 100644
index 0000000..619c606
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/GuacamoleWebSocketTunnelServlet.java
@@ -0,0 +1,232 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.tunnel.websocket.jetty8;
+
+import java.io.IOException;
+import javax.servlet.http.HttpServletRequest;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.io.GuacamoleReader;
+import org.apache.guacamole.io.GuacamoleWriter;
+import org.apache.guacamole.net.GuacamoleTunnel;
+import org.eclipse.jetty.websocket.WebSocket;
+import org.eclipse.jetty.websocket.WebSocket.Connection;
+import org.eclipse.jetty.websocket.WebSocketServlet;
+import org.apache.guacamole.GuacamoleClientException;
+import org.apache.guacamole.GuacamoleConnectionClosedException;
+import org.apache.guacamole.tunnel.http.HTTPTunnelRequest;
+import org.apache.guacamole.tunnel.TunnelRequest;
+import org.apache.guacamole.protocol.GuacamoleStatus;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * A WebSocketServlet partial re-implementation of GuacamoleTunnelServlet.
+ *
+ * @author Michael Jumper
+ */
+public abstract class GuacamoleWebSocketTunnelServlet extends WebSocketServlet {
+
+ /**
+ * Logger for this class.
+ */
+ private static final Logger logger = LoggerFactory.getLogger(GuacamoleWebSocketTunnelServlet.class);
+
+ /**
+ * The default, minimum buffer size for instructions.
+ */
+ private static final int BUFFER_SIZE = 8192;
+
+ /**
+ * Sends the given status on the given WebSocket connection and closes the
+ * connection.
+ *
+ * @param connection The WebSocket connection to close.
+ * @param guac_status The status to send.
+ */
+ public static void closeConnection(Connection connection,
+ GuacamoleStatus guac_status) {
+
+ connection.close(guac_status.getWebSocketCode(),
+ Integer.toString(guac_status.getGuacamoleStatusCode()));
+
+ }
+
+ @Override
+ public WebSocket doWebSocketConnect(HttpServletRequest request, String protocol) {
+
+ final TunnelRequest tunnelRequest = new HTTPTunnelRequest(request);
+
+ // Return new WebSocket which communicates through tunnel
+ return new WebSocket.OnTextMessage() {
+
+ /**
+ * The GuacamoleTunnel associated with the connected WebSocket. If
+ * the WebSocket has not yet been connected, this will be null.
+ */
+ private GuacamoleTunnel tunnel = null;
+
+ @Override
+ public void onMessage(String string) {
+
+ // Ignore inbound messages if there is no associated tunnel
+ if (tunnel == null)
+ return;
+
+ GuacamoleWriter writer = tunnel.acquireWriter();
+
+ // Write message received
+ try {
+ writer.write(string.toCharArray());
+ }
+ catch (GuacamoleConnectionClosedException e) {
+ logger.debug("Connection to guacd closed.", e);
+ }
+ catch (GuacamoleException e) {
+ logger.debug("WebSocket tunnel write failed.", e);
+ }
+
+ tunnel.releaseWriter();
+
+ }
+
+ @Override
+ public void onOpen(final Connection connection) {
+
+ try {
+ tunnel = doConnect(tunnelRequest);
+ }
+ catch (GuacamoleException e) {
+ logger.error("Creation of WebSocket tunnel to guacd failed: {}", e.getMessage());
+ logger.debug("Error connecting WebSocket tunnel.", e);
+ closeConnection(connection, e.getStatus());
+ return;
+ }
+
+ // Do not start connection if tunnel does not exist
+ if (tunnel == null) {
+ closeConnection(connection, GuacamoleStatus.RESOURCE_NOT_FOUND);
+ return;
+ }
+
+ Thread readThread = new Thread() {
+
+ @Override
+ public void run() {
+
+ StringBuilder buffer = new StringBuilder(BUFFER_SIZE);
+ GuacamoleReader reader = tunnel.acquireReader();
+ char[] readMessage;
+
+ try {
+
+ try {
+
+ // Attempt to read
+ while ((readMessage = reader.read()) != null) {
+
+ // Buffer message
+ buffer.append(readMessage);
+
+ // Flush if we expect to wait or buffer is getting full
+ if (!reader.available() || buffer.length() >= BUFFER_SIZE) {
+ connection.sendMessage(buffer.toString());
+ buffer.setLength(0);
+ }
+
+ }
+
+ // No more data
+ closeConnection(connection, GuacamoleStatus.SUCCESS);
+
+ }
+
+ // Catch any thrown guacamole exception and attempt
+ // to pass within the WebSocket connection, logging
+ // each error appropriately.
+ catch (GuacamoleClientException e) {
+ logger.info("WebSocket connection terminated: {}", e.getMessage());
+ logger.debug("WebSocket connection terminated due to client error.", e);
+ closeConnection(connection, e.getStatus());
+ }
+ catch (GuacamoleConnectionClosedException e) {
+ logger.debug("Connection to guacd closed.", e);
+ closeConnection(connection, GuacamoleStatus.SUCCESS);
+ }
+ catch (GuacamoleException e) {
+ logger.error("Connection to guacd terminated abnormally: {}", e.getMessage());
+ logger.debug("Internal error during connection to guacd.", e);
+ closeConnection(connection, e.getStatus());
+ }
+
+ }
+ catch (IOException e) {
+ logger.debug("WebSocket tunnel read failed due to I/O error.", e);
+ }
+
+ }
+
+ };
+
+ readThread.start();
+
+ }
+
+ @Override
+ public void onClose(int i, String string) {
+ try {
+ if (tunnel != null)
+ tunnel.close();
+ }
+ catch (GuacamoleException e) {
+ logger.debug("Unable to close connection to guacd.", e);
+ }
+ }
+
+ };
+
+ }
+
+ /**
+ * Called whenever the JavaScript Guacamole client makes a connection
+ * request. It it up to the implementor of this function to define what
+ * conditions must be met for a tunnel to be configured and returned as a
+ * result of this connection request (whether some sort of credentials must
+ * be specified, for example).
+ *
+ * @param request
+ * The TunnelRequest associated with the connection request received.
+ * Any parameters specified along with the connection request can be
+ * read from this object.
+ *
+ * @return
+ * A newly constructed GuacamoleTunnel if successful, null otherwise.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while constructing the GuacamoleTunnel, or if the
+ * conditions required for connection are not met.
+ */
+ protected abstract GuacamoleTunnel doConnect(TunnelRequest request)
+ throws GuacamoleException;
+
+}
+
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/RestrictedGuacamoleWebSocketTunnelServlet.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/RestrictedGuacamoleWebSocketTunnelServlet.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/RestrictedGuacamoleWebSocketTunnelServlet.java
new file mode 100644
index 0000000..b7a82b9
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/RestrictedGuacamoleWebSocketTunnelServlet.java
@@ -0,0 +1,52 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.tunnel.websocket.jetty8;
+
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.net.GuacamoleTunnel;
+import org.apache.guacamole.tunnel.TunnelRequestService;
+import org.apache.guacamole.tunnel.TunnelRequest;
+
+/**
+ * Tunnel servlet implementation which uses WebSocket as a tunnel backend,
+ * rather than HTTP, properly parsing connection IDs included in the connection
+ * request.
+ */
+@Singleton
+public class RestrictedGuacamoleWebSocketTunnelServlet extends GuacamoleWebSocketTunnelServlet {
+
+ /**
+ * Service for handling tunnel requests.
+ */
+ @Inject
+ private TunnelRequestService tunnelRequestService;
+
+ @Override
+ protected GuacamoleTunnel doConnect(TunnelRequest request)
+ throws GuacamoleException {
+ return tunnelRequestService.createTunnel(request);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/WebSocketTunnelModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/WebSocketTunnelModule.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/WebSocketTunnelModule.java
new file mode 100644
index 0000000..79a09db
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/WebSocketTunnelModule.java
@@ -0,0 +1,73 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.tunnel.websocket.jetty8;
+
+import com.google.inject.servlet.ServletModule;
+import org.apache.guacamole.tunnel.TunnelLoader;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Loads the Jetty 8 WebSocket tunnel implementation.
+ *
+ * @author Michael Jumper
+ */
+public class WebSocketTunnelModule extends ServletModule implements TunnelLoader {
+
+ /**
+ * Logger for this class.
+ */
+ private final Logger logger = LoggerFactory.getLogger(WebSocketTunnelModule.class);
+
+ @Override
+ public boolean isSupported() {
+
+ try {
+
+ // Attempt to find WebSocket servlet
+ Class.forName("org.apache.guacamole.websocket.jetty8.BasicGuacamoleWebSocketTunnelServlet");
+
+ // Support found
+ return true;
+
+ }
+
+ // If no such servlet class, this particular WebSocket support
+ // is not present
+ catch (ClassNotFoundException e) {}
+ catch (NoClassDefFoundError e) {}
+
+ // Support not found
+ return false;
+
+ }
+
+ @Override
+ public void configureServlets() {
+
+ logger.info("Loading Jetty 8 WebSocket support...");
+ serve("/websocket-tunnel").with(RestrictedGuacamoleWebSocketTunnelServlet.class);
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/package-info.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/package-info.java
new file mode 100644
index 0000000..85e5758
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/package-info.java
@@ -0,0 +1,27 @@
+/*
+ * 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.
+ */
+
+/**
+ * Jetty 8 WebSocket tunnel implementation. The classes here require Jetty 8.
+ */
+package org.apache.guacamole.tunnel.websocket.jetty8;
+
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/GuacamoleWebSocketTunnelListener.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/GuacamoleWebSocketTunnelListener.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/GuacamoleWebSocketTunnelListener.java
new file mode 100644
index 0000000..4d118fb
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/GuacamoleWebSocketTunnelListener.java
@@ -0,0 +1,243 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.tunnel.websocket.jetty9;
+
+import java.io.IOException;
+import org.eclipse.jetty.websocket.api.CloseStatus;
+import org.eclipse.jetty.websocket.api.RemoteEndpoint;
+import org.eclipse.jetty.websocket.api.Session;
+import org.eclipse.jetty.websocket.api.WebSocketListener;
+import org.apache.guacamole.GuacamoleClientException;
+import org.apache.guacamole.GuacamoleConnectionClosedException;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.io.GuacamoleReader;
+import org.apache.guacamole.io.GuacamoleWriter;
+import org.apache.guacamole.net.GuacamoleTunnel;
+import org.apache.guacamole.protocol.GuacamoleStatus;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * WebSocket listener implementation which provides a Guacamole tunnel
+ *
+ * @author Michael Jumper
+ */
+public abstract class GuacamoleWebSocketTunnelListener implements WebSocketListener {
+
+ /**
+ * The default, minimum buffer size for instructions.
+ */
+ private static final int BUFFER_SIZE = 8192;
+
+ /**
+ * Logger for this class.
+ */
+ private static final Logger logger = LoggerFactory.getLogger(RestrictedGuacamoleWebSocketTunnelServlet.class);
+
+ /**
+ * The underlying GuacamoleTunnel. WebSocket reads/writes will be handled
+ * as reads/writes to this tunnel.
+ */
+ private GuacamoleTunnel tunnel;
+
+ /**
+ * Sends the given status on the given WebSocket connection and closes the
+ * connection.
+ *
+ * @param session The outbound WebSocket connection to close.
+ * @param guac_status The status to send.
+ */
+ private void closeConnection(Session session, GuacamoleStatus guac_status) {
+
+ try {
+ int code = guac_status.getWebSocketCode();
+ String message = Integer.toString(guac_status.getGuacamoleStatusCode());
+ session.close(new CloseStatus(code, message));
+ }
+ catch (IOException e) {
+ logger.debug("Unable to close WebSocket connection.", e);
+ }
+
+ }
+
+ /**
+ * Returns a new tunnel for the given session. How this tunnel is created
+ * or retrieved is implementation-dependent.
+ *
+ * @param session The session associated with the active WebSocket
+ * connection.
+ * @return A connected tunnel, or null if no such tunnel exists.
+ * @throws GuacamoleException If an error occurs while retrieving the
+ * tunnel, or if access to the tunnel is denied.
+ */
+ protected abstract GuacamoleTunnel createTunnel(Session session)
+ throws GuacamoleException;
+
+ @Override
+ public void onWebSocketConnect(final Session session) {
+
+ try {
+
+ // Get tunnel
+ tunnel = createTunnel(session);
+ if (tunnel == null) {
+ closeConnection(session, GuacamoleStatus.RESOURCE_NOT_FOUND);
+ return;
+ }
+
+ }
+ catch (GuacamoleException e) {
+ logger.error("Creation of WebSocket tunnel to guacd failed: {}", e.getMessage());
+ logger.debug("Error connecting WebSocket tunnel.", e);
+ closeConnection(session, e.getStatus());
+ return;
+ }
+
+ // Prepare read transfer thread
+ Thread readThread = new Thread() {
+
+ /**
+ * Remote (client) side of this connection
+ */
+ private final RemoteEndpoint remote = session.getRemote();
+
+ @Override
+ public void run() {
+
+ StringBuilder buffer = new StringBuilder(BUFFER_SIZE);
+ GuacamoleReader reader = tunnel.acquireReader();
+ char[] readMessage;
+
+ try {
+
+ try {
+
+ // Attempt to read
+ while ((readMessage = reader.read()) != null) {
+
+ // Buffer message
+ buffer.append(readMessage);
+
+ // Flush if we expect to wait or buffer is getting full
+ if (!reader.available() || buffer.length() >= BUFFER_SIZE) {
+ remote.sendString(buffer.toString());
+ buffer.setLength(0);
+ }
+
+ }
+
+ // No more data
+ closeConnection(session, GuacamoleStatus.SUCCESS);
+
+ }
+
+ // Catch any thrown guacamole exception and attempt
+ // to pass within the WebSocket connection, logging
+ // each error appropriately.
+ catch (GuacamoleClientException e) {
+ logger.info("WebSocket connection terminated: {}", e.getMessage());
+ logger.debug("WebSocket connection terminated due to client error.", e);
+ closeConnection(session, e.getStatus());
+ }
+ catch (GuacamoleConnectionClosedException e) {
+ logger.debug("Connection to guacd closed.", e);
+ closeConnection(session, GuacamoleStatus.SUCCESS);
+ }
+ catch (GuacamoleException e) {
+ logger.error("Connection to guacd terminated abnormally: {}", e.getMessage());
+ logger.debug("Internal error during connection to guacd.", e);
+ closeConnection(session, e.getStatus());
+ }
+
+ }
+ catch (IOException e) {
+ logger.debug("I/O error prevents further reads.", e);
+ }
+
+ }
+
+ };
+
+ readThread.start();
+
+ }
+
+ @Override
+ public void onWebSocketText(String message) {
+
+ // Ignore inbound messages if there is no associated tunnel
+ if (tunnel == null)
+ return;
+
+ GuacamoleWriter writer = tunnel.acquireWriter();
+
+ try {
+ // Write received message
+ writer.write(message.toCharArray());
+ }
+ catch (GuacamoleConnectionClosedException e) {
+ logger.debug("Connection to guacd closed.", e);
+ }
+ catch (GuacamoleException e) {
+ logger.debug("WebSocket tunnel write failed.", e);
+ }
+
+ tunnel.releaseWriter();
+
+ }
+
+ @Override
+ public void onWebSocketBinary(byte[] payload, int offset, int length) {
+ throw new UnsupportedOperationException("Binary WebSocket messages are not supported.");
+ }
+
+ @Override
+ public void onWebSocketError(Throwable t) {
+
+ logger.debug("WebSocket tunnel closing due to error.", t);
+
+ try {
+ if (tunnel != null)
+ tunnel.close();
+ }
+ catch (GuacamoleException e) {
+ logger.debug("Unable to close connection to guacd.", e);
+ }
+
+ }
+
+
+ @Override
+ public void onWebSocketClose(int statusCode, String reason) {
+
+ try {
+ if (tunnel != null)
+ tunnel.close();
+ }
+ catch (GuacamoleException e) {
+ logger.debug("Unable to close connection to guacd.", e);
+ }
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/RestrictedGuacamoleWebSocketCreator.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/RestrictedGuacamoleWebSocketCreator.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/RestrictedGuacamoleWebSocketCreator.java
new file mode 100644
index 0000000..c15215d
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/RestrictedGuacamoleWebSocketCreator.java
@@ -0,0 +1,72 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.tunnel.websocket.jetty9;
+
+import org.eclipse.jetty.websocket.api.UpgradeRequest;
+import org.eclipse.jetty.websocket.api.UpgradeResponse;
+import org.eclipse.jetty.websocket.servlet.WebSocketCreator;
+import org.apache.guacamole.tunnel.TunnelRequestService;
+
+/**
+ * WebSocketCreator which selects the appropriate WebSocketListener
+ * implementation if the "guacamole" subprotocol is in use.
+ *
+ * @author Michael Jumper
+ */
+public class RestrictedGuacamoleWebSocketCreator implements WebSocketCreator {
+
+ /**
+ * Service for handling tunnel requests.
+ */
+ private final TunnelRequestService tunnelRequestService;
+
+ /**
+ * Creates a new WebSocketCreator which uses the given TunnelRequestService
+ * to create new GuacamoleTunnels for inbound requests.
+ *
+ * @param tunnelRequestService The service to use for inbound tunnel
+ * requests.
+ */
+ public RestrictedGuacamoleWebSocketCreator(TunnelRequestService tunnelRequestService) {
+ this.tunnelRequestService = tunnelRequestService;
+ }
+
+ @Override
+ public Object createWebSocket(UpgradeRequest request, UpgradeResponse response) {
+
+ // Validate and use "guacamole" subprotocol
+ for (String subprotocol : request.getSubProtocols()) {
+
+ if ("guacamole".equals(subprotocol)) {
+ response.setAcceptedSubProtocol(subprotocol);
+ return new RestrictedGuacamoleWebSocketTunnelListener(tunnelRequestService);
+ }
+
+ }
+
+ // Invalid protocol
+ return null;
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/RestrictedGuacamoleWebSocketTunnelListener.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/RestrictedGuacamoleWebSocketTunnelListener.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/RestrictedGuacamoleWebSocketTunnelListener.java
new file mode 100644
index 0000000..f24663d
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/RestrictedGuacamoleWebSocketTunnelListener.java
@@ -0,0 +1,59 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.tunnel.websocket.jetty9;
+
+import org.eclipse.jetty.websocket.api.Session;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.net.GuacamoleTunnel;
+import org.apache.guacamole.tunnel.TunnelRequestService;
+
+/**
+ * WebSocket listener implementation which properly parses connection IDs
+ * included in the connection request.
+ *
+ * @author Michael Jumper
+ */
+public class RestrictedGuacamoleWebSocketTunnelListener extends GuacamoleWebSocketTunnelListener {
+
+ /**
+ * Service for handling tunnel requests.
+ */
+ private final TunnelRequestService tunnelRequestService;
+
+ /**
+ * Creates a new WebSocketListener which uses the given TunnelRequestService
+ * to create new GuacamoleTunnels for inbound requests.
+ *
+ * @param tunnelRequestService The service to use for inbound tunnel
+ * requests.
+ */
+ public RestrictedGuacamoleWebSocketTunnelListener(TunnelRequestService tunnelRequestService) {
+ this.tunnelRequestService = tunnelRequestService;
+ }
+
+ @Override
+ protected GuacamoleTunnel createTunnel(Session session) throws GuacamoleException {
+ return tunnelRequestService.createTunnel(new WebSocketTunnelRequest(session.getUpgradeRequest()));
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/RestrictedGuacamoleWebSocketTunnelServlet.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/RestrictedGuacamoleWebSocketTunnelServlet.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/RestrictedGuacamoleWebSocketTunnelServlet.java
new file mode 100644
index 0000000..84b25b9
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/RestrictedGuacamoleWebSocketTunnelServlet.java
@@ -0,0 +1,54 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.tunnel.websocket.jetty9;
+
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+import org.eclipse.jetty.websocket.servlet.WebSocketServlet;
+import org.eclipse.jetty.websocket.servlet.WebSocketServletFactory;
+import org.apache.guacamole.tunnel.TunnelRequestService;
+
+/**
+ * A WebSocketServlet partial re-implementation of GuacamoleTunnelServlet.
+ *
+ * @author Michael Jumper
+ */
+@Singleton
+public class RestrictedGuacamoleWebSocketTunnelServlet extends WebSocketServlet {
+
+ /**
+ * Service for handling tunnel requests.
+ */
+ @Inject
+ private TunnelRequestService tunnelRequestService;
+
+ @Override
+ public void configure(WebSocketServletFactory factory) {
+
+ // Register WebSocket implementation
+ factory.setCreator(new RestrictedGuacamoleWebSocketCreator(tunnelRequestService));
+
+ }
+
+}
+
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/WebSocketTunnelModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/WebSocketTunnelModule.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/WebSocketTunnelModule.java
new file mode 100644
index 0000000..3477894
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/WebSocketTunnelModule.java
@@ -0,0 +1,73 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.tunnel.websocket.jetty9;
+
+import com.google.inject.servlet.ServletModule;
+import org.apache.guacamole.tunnel.TunnelLoader;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Loads the Jetty 9 WebSocket tunnel implementation.
+ *
+ * @author Michael Jumper
+ */
+public class WebSocketTunnelModule extends ServletModule implements TunnelLoader {
+
+ /**
+ * Logger for this class.
+ */
+ private final Logger logger = LoggerFactory.getLogger(WebSocketTunnelModule.class);
+
+ @Override
+ public boolean isSupported() {
+
+ try {
+
+ // Attempt to find WebSocket servlet
+ Class.forName("org.apache.guacamole.websocket.jetty9.BasicGuacamoleWebSocketTunnelServlet");
+
+ // Support found
+ return true;
+
+ }
+
+ // If no such servlet class, this particular WebSocket support
+ // is not present
+ catch (ClassNotFoundException e) {}
+ catch (NoClassDefFoundError e) {}
+
+ // Support not found
+ return false;
+
+ }
+
+ @Override
+ public void configureServlets() {
+
+ logger.info("Loading Jetty 9 WebSocket support...");
+ serve("/websocket-tunnel").with(RestrictedGuacamoleWebSocketTunnelServlet.class);
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/WebSocketTunnelRequest.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/WebSocketTunnelRequest.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/WebSocketTunnelRequest.java
new file mode 100644
index 0000000..56c7726
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/WebSocketTunnelRequest.java
@@ -0,0 +1,76 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.tunnel.websocket.jetty9;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import org.eclipse.jetty.websocket.api.UpgradeRequest;
+import org.apache.guacamole.tunnel.TunnelRequest;
+
+/**
+ * Jetty 9 WebSocket-specific implementation of TunnelRequest.
+ *
+ * @author Michael Jumper
+ */
+public class WebSocketTunnelRequest extends TunnelRequest {
+
+ /**
+ * All parameters passed via HTTP to the WebSocket handshake.
+ */
+ private final Map<String, String[]> handshakeParameters;
+
+ /**
+ * Creates a TunnelRequest implementation which delegates parameter and
+ * session retrieval to the given UpgradeRequest.
+ *
+ * @param request The UpgradeRequest to wrap.
+ */
+ public WebSocketTunnelRequest(UpgradeRequest request) {
+ this.handshakeParameters = request.getParameterMap();
+ }
+
+ @Override
+ public String getParameter(String name) {
+
+ // Pull list of values, if present
+ List<String> values = getParameterValues(name);
+ if (values == null || values.isEmpty())
+ return null;
+
+ // Return first parameter value arbitrarily
+ return values.get(0);
+
+ }
+
+ @Override
+ public List<String> getParameterValues(String name) {
+
+ String[] values = handshakeParameters.get(name);
+ if (values == null)
+ return null;
+
+ return Arrays.asList(values);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/package-info.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/package-info.java
new file mode 100644
index 0000000..13f2f0b
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/package-info.java
@@ -0,0 +1,28 @@
+/*
+ * 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.
+ */
+
+/**
+ * Jetty 9 WebSocket tunnel implementation. The classes here require at least
+ * Jetty 9, prior to Jetty 9.1 (when support for JSR 356 was implemented).
+ */
+package org.apache.guacamole.tunnel.websocket.jetty9;
+
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/package-info.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/package-info.java
new file mode 100644
index 0000000..2c273a5
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/package-info.java
@@ -0,0 +1,28 @@
+/*
+ * 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.
+ */
+
+/**
+ * Standard WebSocket tunnel implementation. The classes here require a recent
+ * servlet container that supports JSR 356.
+ */
+package org.apache.guacamole.tunnel.websocket;
+
[31/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Relicense C and JavaScript files.
Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/history/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/history/package-info.java b/guacamole/src/main/java/org/apache/guacamole/rest/history/package-info.java
index ed2d0fc..87f6d3c 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/history/package-info.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/history/package-info.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/language/LanguageRESTService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/language/LanguageRESTService.java b/guacamole/src/main/java/org/apache/guacamole/rest/language/LanguageRESTService.java
index 2595ae3..cb312dc 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/language/LanguageRESTService.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/language/LanguageRESTService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.rest.language;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/language/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/language/package-info.java b/guacamole/src/main/java/org/apache/guacamole/rest/language/package-info.java
index cb0a190..c26481b 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/language/package-info.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/language/package-info.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/package-info.java b/guacamole/src/main/java/org/apache/guacamole/rest/package-info.java
index 541ff76..36c4f05 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/package-info.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/package-info.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/patch/PatchRESTService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/patch/PatchRESTService.java b/guacamole/src/main/java/org/apache/guacamole/rest/patch/PatchRESTService.java
index 1d823b1..3c7ecca 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/patch/PatchRESTService.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/patch/PatchRESTService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2016 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.rest.patch;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/patch/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/patch/package-info.java b/guacamole/src/main/java/org/apache/guacamole/rest/patch/package-info.java
index 399c329..afc8878 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/patch/package-info.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/patch/package-info.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2016 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/permission/APIPermissionSet.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/permission/APIPermissionSet.java b/guacamole/src/main/java/org/apache/guacamole/rest/permission/APIPermissionSet.java
index 1f57ee5..7439401 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/permission/APIPermissionSet.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/permission/APIPermissionSet.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.rest.permission;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/permission/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/permission/package-info.java b/guacamole/src/main/java/org/apache/guacamole/rest/permission/package-info.java
index e23eadf..1c1ec59 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/permission/package-info.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/permission/package-info.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/schema/SchemaRESTService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/schema/SchemaRESTService.java b/guacamole/src/main/java/org/apache/guacamole/rest/schema/SchemaRESTService.java
index 3d52e8e..a5d9d90 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/schema/SchemaRESTService.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/schema/SchemaRESTService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.rest.schema;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/schema/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/schema/package-info.java b/guacamole/src/main/java/org/apache/guacamole/rest/schema/package-info.java
index 68dfa47..cc0e40b 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/schema/package-info.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/schema/package-info.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/user/APIUser.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/user/APIUser.java b/guacamole/src/main/java/org/apache/guacamole/rest/user/APIUser.java
index 286c4de..ac0e725 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/user/APIUser.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/user/APIUser.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.rest.user;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/user/APIUserPasswordUpdate.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/user/APIUserPasswordUpdate.java b/guacamole/src/main/java/org/apache/guacamole/rest/user/APIUserPasswordUpdate.java
index a4b47e8..f3ae269 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/user/APIUserPasswordUpdate.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/user/APIUserPasswordUpdate.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.rest.user;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/user/APIUserWrapper.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/user/APIUserWrapper.java b/guacamole/src/main/java/org/apache/guacamole/rest/user/APIUserWrapper.java
index d25b915..f9a05bb 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/user/APIUserWrapper.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/user/APIUserWrapper.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.rest.user;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/user/PermissionSetPatch.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/user/PermissionSetPatch.java b/guacamole/src/main/java/org/apache/guacamole/rest/user/PermissionSetPatch.java
index 02172ea..653f424 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/user/PermissionSetPatch.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/user/PermissionSetPatch.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.rest.user;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/user/UserRESTService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/user/UserRESTService.java b/guacamole/src/main/java/org/apache/guacamole/rest/user/UserRESTService.java
index 529bb82..c446ddf 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/user/UserRESTService.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/user/UserRESTService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.rest.user;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/user/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/user/package-info.java b/guacamole/src/main/java/org/apache/guacamole/rest/user/package-info.java
index ecc7846..4f3acd7 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/user/package-info.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/user/package-info.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelLoader.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelLoader.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelLoader.java
index 2e58d95..b91527f 100644
--- a/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelLoader.java
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelLoader.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.tunnel;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelModule.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelModule.java
index 12f3b74..fdc218c 100644
--- a/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelModule.java
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelModule.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.tunnel;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelRequest.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelRequest.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelRequest.java
index e210ded..2c97f04 100644
--- a/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelRequest.java
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelRequest.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.tunnel;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelRequestService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelRequestService.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelRequestService.java
index 3607b3d..3e35dc4 100644
--- a/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelRequestService.java
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelRequestService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.tunnel;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/tunnel/http/HTTPTunnelRequest.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/http/HTTPTunnelRequest.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/http/HTTPTunnelRequest.java
index 072c792..2b88af9 100644
--- a/guacamole/src/main/java/org/apache/guacamole/tunnel/http/HTTPTunnelRequest.java
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/http/HTTPTunnelRequest.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.tunnel.http;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/tunnel/http/RestrictedGuacamoleHTTPTunnelServlet.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/http/RestrictedGuacamoleHTTPTunnelServlet.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/http/RestrictedGuacamoleHTTPTunnelServlet.java
index 986c684..7aa1b09 100644
--- a/guacamole/src/main/java/org/apache/guacamole/tunnel/http/RestrictedGuacamoleHTTPTunnelServlet.java
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/http/RestrictedGuacamoleHTTPTunnelServlet.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.tunnel.http;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/tunnel/http/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/http/package-info.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/http/package-info.java
index 6b732e2..b791d9a 100644
--- a/guacamole/src/main/java/org/apache/guacamole/tunnel/http/package-info.java
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/http/package-info.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/tunnel/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/package-info.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/package-info.java
index b06f8e4..77b1604 100644
--- a/guacamole/src/main/java/org/apache/guacamole/tunnel/package-info.java
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/package-info.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/RestrictedGuacamoleWebSocketTunnelEndpoint.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/RestrictedGuacamoleWebSocketTunnelEndpoint.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/RestrictedGuacamoleWebSocketTunnelEndpoint.java
index 5e5560f..5f6e807 100644
--- a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/RestrictedGuacamoleWebSocketTunnelEndpoint.java
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/RestrictedGuacamoleWebSocketTunnelEndpoint.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.tunnel.websocket;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/WebSocketTunnelModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/WebSocketTunnelModule.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/WebSocketTunnelModule.java
index 9183b4d..1005f01 100644
--- a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/WebSocketTunnelModule.java
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/WebSocketTunnelModule.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.tunnel.websocket;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/WebSocketTunnelRequest.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/WebSocketTunnelRequest.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/WebSocketTunnelRequest.java
index e5d424d..acebe05 100644
--- a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/WebSocketTunnelRequest.java
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/WebSocketTunnelRequest.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.tunnel.websocket;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/GuacamoleWebSocketTunnelServlet.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/GuacamoleWebSocketTunnelServlet.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/GuacamoleWebSocketTunnelServlet.java
index 619c606..2e02e34 100644
--- a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/GuacamoleWebSocketTunnelServlet.java
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/GuacamoleWebSocketTunnelServlet.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.tunnel.websocket.jetty8;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/RestrictedGuacamoleWebSocketTunnelServlet.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/RestrictedGuacamoleWebSocketTunnelServlet.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/RestrictedGuacamoleWebSocketTunnelServlet.java
index b7a82b9..237bfba 100644
--- a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/RestrictedGuacamoleWebSocketTunnelServlet.java
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/RestrictedGuacamoleWebSocketTunnelServlet.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.tunnel.websocket.jetty8;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/WebSocketTunnelModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/WebSocketTunnelModule.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/WebSocketTunnelModule.java
index d5d45bd..4cbc2b0 100644
--- a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/WebSocketTunnelModule.java
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/WebSocketTunnelModule.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.tunnel.websocket.jetty8;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/package-info.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/package-info.java
index 85e5758..6f9f698 100644
--- a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/package-info.java
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty8/package-info.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/GuacamoleWebSocketTunnelListener.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/GuacamoleWebSocketTunnelListener.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/GuacamoleWebSocketTunnelListener.java
index 4d118fb..ce5be60 100644
--- a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/GuacamoleWebSocketTunnelListener.java
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/GuacamoleWebSocketTunnelListener.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.tunnel.websocket.jetty9;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/RestrictedGuacamoleWebSocketCreator.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/RestrictedGuacamoleWebSocketCreator.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/RestrictedGuacamoleWebSocketCreator.java
index c15215d..c393e71 100644
--- a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/RestrictedGuacamoleWebSocketCreator.java
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/RestrictedGuacamoleWebSocketCreator.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.tunnel.websocket.jetty9;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/RestrictedGuacamoleWebSocketTunnelListener.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/RestrictedGuacamoleWebSocketTunnelListener.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/RestrictedGuacamoleWebSocketTunnelListener.java
index f24663d..a5f450c 100644
--- a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/RestrictedGuacamoleWebSocketTunnelListener.java
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/RestrictedGuacamoleWebSocketTunnelListener.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.tunnel.websocket.jetty9;
[28/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Relicense C and JavaScript files.
Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/index/controllers/indexController.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/index/controllers/indexController.js b/guacamole/src/main/webapp/app/index/controllers/indexController.js
index 3980568..4d951fc 100644
--- a/guacamole/src/main/webapp/app/index/controllers/indexController.js
+++ b/guacamole/src/main/webapp/app/index/controllers/indexController.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/index/indexModule.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/index/indexModule.js b/guacamole/src/main/webapp/app/index/indexModule.js
index 8d30eaa..e1bbd51 100644
--- a/guacamole/src/main/webapp/app/index/indexModule.js
+++ b/guacamole/src/main/webapp/app/index/indexModule.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/list/directives/guacFilter.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/list/directives/guacFilter.js b/guacamole/src/main/webapp/app/list/directives/guacFilter.js
index cbca761..5a284d6 100644
--- a/guacamole/src/main/webapp/app/list/directives/guacFilter.js
+++ b/guacamole/src/main/webapp/app/list/directives/guacFilter.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/list/directives/guacPager.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/list/directives/guacPager.js b/guacamole/src/main/webapp/app/list/directives/guacPager.js
index 8031ddd..956abc3 100644
--- a/guacamole/src/main/webapp/app/list/directives/guacPager.js
+++ b/guacamole/src/main/webapp/app/list/directives/guacPager.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/list/directives/guacSortOrder.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/list/directives/guacSortOrder.js b/guacamole/src/main/webapp/app/list/directives/guacSortOrder.js
index ea5a5c9..09ed787 100644
--- a/guacamole/src/main/webapp/app/list/directives/guacSortOrder.js
+++ b/guacamole/src/main/webapp/app/list/directives/guacSortOrder.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/list/listModule.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/list/listModule.js b/guacamole/src/main/webapp/app/list/listModule.js
index 4273aca..b3e6581 100644
--- a/guacamole/src/main/webapp/app/list/listModule.js
+++ b/guacamole/src/main/webapp/app/list/listModule.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/list/types/FilterPattern.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/list/types/FilterPattern.js b/guacamole/src/main/webapp/app/list/types/FilterPattern.js
index fa42e2d..9737749 100644
--- a/guacamole/src/main/webapp/app/list/types/FilterPattern.js
+++ b/guacamole/src/main/webapp/app/list/types/FilterPattern.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/list/types/FilterToken.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/list/types/FilterToken.js b/guacamole/src/main/webapp/app/list/types/FilterToken.js
index 915f072..d512d38 100644
--- a/guacamole/src/main/webapp/app/list/types/FilterToken.js
+++ b/guacamole/src/main/webapp/app/list/types/FilterToken.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/list/types/IPv4Network.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/list/types/IPv4Network.js b/guacamole/src/main/webapp/app/list/types/IPv4Network.js
index 6ee8ff1..564eb7f 100644
--- a/guacamole/src/main/webapp/app/list/types/IPv4Network.js
+++ b/guacamole/src/main/webapp/app/list/types/IPv4Network.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/list/types/IPv6Network.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/list/types/IPv6Network.js b/guacamole/src/main/webapp/app/list/types/IPv6Network.js
index e2b4004..7fa85cb 100644
--- a/guacamole/src/main/webapp/app/list/types/IPv6Network.js
+++ b/guacamole/src/main/webapp/app/list/types/IPv6Network.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/list/types/SortOrder.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/list/types/SortOrder.js b/guacamole/src/main/webapp/app/list/types/SortOrder.js
index 86580b8..ad3bc56 100644
--- a/guacamole/src/main/webapp/app/list/types/SortOrder.js
+++ b/guacamole/src/main/webapp/app/list/types/SortOrder.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/locale/localeModule.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/locale/localeModule.js b/guacamole/src/main/webapp/app/locale/localeModule.js
index ef6c16f..765eb4d 100644
--- a/guacamole/src/main/webapp/app/locale/localeModule.js
+++ b/guacamole/src/main/webapp/app/locale/localeModule.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/locale/services/translationLoader.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/locale/services/translationLoader.js b/guacamole/src/main/webapp/app/locale/services/translationLoader.js
index a95f85f..6ff492d 100644
--- a/guacamole/src/main/webapp/app/locale/services/translationLoader.js
+++ b/guacamole/src/main/webapp/app/locale/services/translationLoader.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/locale/services/translationStringService.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/locale/services/translationStringService.js b/guacamole/src/main/webapp/app/locale/services/translationStringService.js
index 4a0e566..6cd09f2 100644
--- a/guacamole/src/main/webapp/app/locale/services/translationStringService.js
+++ b/guacamole/src/main/webapp/app/locale/services/translationStringService.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/login/directives/login.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/login/directives/login.js b/guacamole/src/main/webapp/app/login/directives/login.js
index 089afee..aa03af2 100644
--- a/guacamole/src/main/webapp/app/login/directives/login.js
+++ b/guacamole/src/main/webapp/app/login/directives/login.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/login/loginModule.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/login/loginModule.js b/guacamole/src/main/webapp/app/login/loginModule.js
index aa879f7..891387e 100644
--- a/guacamole/src/main/webapp/app/login/loginModule.js
+++ b/guacamole/src/main/webapp/app/login/loginModule.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/manage/controllers/manageConnectionController.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/manage/controllers/manageConnectionController.js b/guacamole/src/main/webapp/app/manage/controllers/manageConnectionController.js
index b584818..0e21873 100644
--- a/guacamole/src/main/webapp/app/manage/controllers/manageConnectionController.js
+++ b/guacamole/src/main/webapp/app/manage/controllers/manageConnectionController.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/manage/controllers/manageConnectionGroupController.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/manage/controllers/manageConnectionGroupController.js b/guacamole/src/main/webapp/app/manage/controllers/manageConnectionGroupController.js
index 5ce4ecf..d76b27a 100644
--- a/guacamole/src/main/webapp/app/manage/controllers/manageConnectionGroupController.js
+++ b/guacamole/src/main/webapp/app/manage/controllers/manageConnectionGroupController.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/manage/controllers/manageUserController.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/manage/controllers/manageUserController.js b/guacamole/src/main/webapp/app/manage/controllers/manageUserController.js
index 7bd6a1b..2a308f1 100644
--- a/guacamole/src/main/webapp/app/manage/controllers/manageUserController.js
+++ b/guacamole/src/main/webapp/app/manage/controllers/manageUserController.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/manage/directives/locationChooser.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/manage/directives/locationChooser.js b/guacamole/src/main/webapp/app/manage/directives/locationChooser.js
index 97dca1f..d91c5d4 100644
--- a/guacamole/src/main/webapp/app/manage/directives/locationChooser.js
+++ b/guacamole/src/main/webapp/app/manage/directives/locationChooser.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/manage/manageModule.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/manage/manageModule.js b/guacamole/src/main/webapp/app/manage/manageModule.js
index 5fde985..3e775db 100644
--- a/guacamole/src/main/webapp/app/manage/manageModule.js
+++ b/guacamole/src/main/webapp/app/manage/manageModule.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/manage/types/HistoryEntryWrapper.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/manage/types/HistoryEntryWrapper.js b/guacamole/src/main/webapp/app/manage/types/HistoryEntryWrapper.js
index f8f8aae..a45c2e5 100644
--- a/guacamole/src/main/webapp/app/manage/types/HistoryEntryWrapper.js
+++ b/guacamole/src/main/webapp/app/manage/types/HistoryEntryWrapper.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/manage/types/ManageableUser.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/manage/types/ManageableUser.js b/guacamole/src/main/webapp/app/manage/types/ManageableUser.js
index 8f2e43a..b67ddbd 100644
--- a/guacamole/src/main/webapp/app/manage/types/ManageableUser.js
+++ b/guacamole/src/main/webapp/app/manage/types/ManageableUser.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/navigation/directives/guacPageList.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/navigation/directives/guacPageList.js b/guacamole/src/main/webapp/app/navigation/directives/guacPageList.js
index cc4d8fb..c8eb90a 100644
--- a/guacamole/src/main/webapp/app/navigation/directives/guacPageList.js
+++ b/guacamole/src/main/webapp/app/navigation/directives/guacPageList.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/navigation/directives/guacUserMenu.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/navigation/directives/guacUserMenu.js b/guacamole/src/main/webapp/app/navigation/directives/guacUserMenu.js
index 6cc80c8..aed7b7c 100644
--- a/guacamole/src/main/webapp/app/navigation/directives/guacUserMenu.js
+++ b/guacamole/src/main/webapp/app/navigation/directives/guacUserMenu.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/navigation/navigationModule.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/navigation/navigationModule.js b/guacamole/src/main/webapp/app/navigation/navigationModule.js
index 8e3964a..332dcb8 100644
--- a/guacamole/src/main/webapp/app/navigation/navigationModule.js
+++ b/guacamole/src/main/webapp/app/navigation/navigationModule.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/navigation/services/userPageService.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/navigation/services/userPageService.js b/guacamole/src/main/webapp/app/navigation/services/userPageService.js
index 933f89f..479ae1a 100644
--- a/guacamole/src/main/webapp/app/navigation/services/userPageService.js
+++ b/guacamole/src/main/webapp/app/navigation/services/userPageService.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/navigation/types/ClientIdentifier.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/navigation/types/ClientIdentifier.js b/guacamole/src/main/webapp/app/navigation/types/ClientIdentifier.js
index 028a21f..23daef2 100644
--- a/guacamole/src/main/webapp/app/navigation/types/ClientIdentifier.js
+++ b/guacamole/src/main/webapp/app/navigation/types/ClientIdentifier.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/navigation/types/MenuAction.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/navigation/types/MenuAction.js b/guacamole/src/main/webapp/app/navigation/types/MenuAction.js
index eb8c7b7..a63bae5 100644
--- a/guacamole/src/main/webapp/app/navigation/types/MenuAction.js
+++ b/guacamole/src/main/webapp/app/navigation/types/MenuAction.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/navigation/types/PageDefinition.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/navigation/types/PageDefinition.js b/guacamole/src/main/webapp/app/navigation/types/PageDefinition.js
index ba702b0..96f5785 100644
--- a/guacamole/src/main/webapp/app/navigation/types/PageDefinition.js
+++ b/guacamole/src/main/webapp/app/navigation/types/PageDefinition.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/notification/directives/guacNotification.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/notification/directives/guacNotification.js b/guacamole/src/main/webapp/app/notification/directives/guacNotification.js
index a73703a..d3570e0 100644
--- a/guacamole/src/main/webapp/app/notification/directives/guacNotification.js
+++ b/guacamole/src/main/webapp/app/notification/directives/guacNotification.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/notification/notificationModule.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/notification/notificationModule.js b/guacamole/src/main/webapp/app/notification/notificationModule.js
index d400820..9a4eb0c 100644
--- a/guacamole/src/main/webapp/app/notification/notificationModule.js
+++ b/guacamole/src/main/webapp/app/notification/notificationModule.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/notification/services/guacNotification.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/notification/services/guacNotification.js b/guacamole/src/main/webapp/app/notification/services/guacNotification.js
index 9c66014..8273eb7 100644
--- a/guacamole/src/main/webapp/app/notification/services/guacNotification.js
+++ b/guacamole/src/main/webapp/app/notification/services/guacNotification.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/notification/types/Notification.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/notification/types/Notification.js b/guacamole/src/main/webapp/app/notification/types/Notification.js
index dfb5ef9..3a28401 100644
--- a/guacamole/src/main/webapp/app/notification/types/Notification.js
+++ b/guacamole/src/main/webapp/app/notification/types/Notification.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/notification/types/NotificationAction.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/notification/types/NotificationAction.js b/guacamole/src/main/webapp/app/notification/types/NotificationAction.js
index 215eb76..cc41acc 100644
--- a/guacamole/src/main/webapp/app/notification/types/NotificationAction.js
+++ b/guacamole/src/main/webapp/app/notification/types/NotificationAction.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
[19/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Rename Basic* classes sensibly. Refactor tunnel classes into own packages.
Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/GuacamoleWebSocketTunnelServlet.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/GuacamoleWebSocketTunnelServlet.java b/guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/GuacamoleWebSocketTunnelServlet.java
deleted file mode 100644
index 2927584..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/GuacamoleWebSocketTunnelServlet.java
+++ /dev/null
@@ -1,265 +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.
- */
-
-package org.apache.guacamole.websocket.tomcat;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Reader;
-import java.nio.ByteBuffer;
-import java.nio.CharBuffer;
-import java.util.List;
-import javax.servlet.http.HttpServletRequest;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.io.GuacamoleReader;
-import org.apache.guacamole.io.GuacamoleWriter;
-import org.apache.guacamole.net.GuacamoleTunnel;
-import org.apache.catalina.websocket.StreamInbound;
-import org.apache.catalina.websocket.WebSocketServlet;
-import org.apache.catalina.websocket.WsOutbound;
-import org.apache.guacamole.GuacamoleClientException;
-import org.apache.guacamole.GuacamoleConnectionClosedException;
-import org.apache.guacamole.HTTPTunnelRequest;
-import org.apache.guacamole.TunnelRequest;
-import org.apache.guacamole.protocol.GuacamoleStatus;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A WebSocketServlet partial re-implementation of GuacamoleTunnelServlet.
- *
- * @author Michael Jumper
- */
-public abstract class GuacamoleWebSocketTunnelServlet extends WebSocketServlet {
-
- /**
- * The default, minimum buffer size for instructions.
- */
- private static final int BUFFER_SIZE = 8192;
-
- /**
- * Logger for this class.
- */
- private final Logger logger = LoggerFactory.getLogger(GuacamoleWebSocketTunnelServlet.class);
-
- /**
- * Sends the given status on the given WebSocket connection and closes the
- * connection.
- *
- * @param outbound The outbound WebSocket connection to close.
- * @param guac_status The status to send.
- */
- public void closeConnection(WsOutbound outbound, GuacamoleStatus guac_status) {
-
- try {
- byte[] message = Integer.toString(guac_status.getGuacamoleStatusCode()).getBytes("UTF-8");
- outbound.close(guac_status.getWebSocketCode(), ByteBuffer.wrap(message));
- }
- catch (IOException e) {
- logger.debug("Unable to close WebSocket tunnel.", e);
- }
-
- }
-
- @Override
- protected String selectSubProtocol(List<String> subProtocols) {
-
- // Search for expected protocol
- for (String protocol : subProtocols)
- if ("guacamole".equals(protocol))
- return "guacamole";
-
- // Otherwise, fail
- return null;
-
- }
-
- @Override
- public StreamInbound createWebSocketInbound(String protocol,
- HttpServletRequest request) {
-
- final TunnelRequest tunnelRequest = new HTTPTunnelRequest(request);
-
- // Return new WebSocket which communicates through tunnel
- return new StreamInbound() {
-
- /**
- * The GuacamoleTunnel associated with the connected WebSocket. If
- * the WebSocket has not yet been connected, this will be null.
- */
- private GuacamoleTunnel tunnel = null;
-
- @Override
- protected void onTextData(Reader reader) throws IOException {
-
- // Ignore inbound messages if there is no associated tunnel
- if (tunnel == null)
- return;
-
- GuacamoleWriter writer = tunnel.acquireWriter();
-
- // Write all available data
- try {
-
- char[] buffer = new char[BUFFER_SIZE];
-
- int num_read;
- while ((num_read = reader.read(buffer)) > 0)
- writer.write(buffer, 0, num_read);
-
- }
- catch (GuacamoleConnectionClosedException e) {
- logger.debug("Connection to guacd closed.", e);
- }
- catch (GuacamoleException e) {
- logger.debug("WebSocket tunnel write failed.", e);
- }
-
- tunnel.releaseWriter();
- }
-
- @Override
- public void onOpen(final WsOutbound outbound) {
-
- try {
- tunnel = doConnect(tunnelRequest);
- }
- catch (GuacamoleException e) {
- logger.error("Creation of WebSocket tunnel to guacd failed: {}", e.getMessage());
- logger.debug("Error connecting WebSocket tunnel.", e);
- closeConnection(outbound, e.getStatus());
- return;
- }
-
- // Do not start connection if tunnel does not exist
- if (tunnel == null) {
- closeConnection(outbound, GuacamoleStatus.RESOURCE_NOT_FOUND);
- return;
- }
-
- Thread readThread = new Thread() {
-
- @Override
- public void run() {
-
- StringBuilder buffer = new StringBuilder(BUFFER_SIZE);
- GuacamoleReader reader = tunnel.acquireReader();
- char[] readMessage;
-
- try {
-
- try {
-
- // Attempt to read
- while ((readMessage = reader.read()) != null) {
-
- // Buffer message
- buffer.append(readMessage);
-
- // Flush if we expect to wait or buffer is getting full
- if (!reader.available() || buffer.length() >= BUFFER_SIZE) {
- outbound.writeTextMessage(CharBuffer.wrap(buffer));
- buffer.setLength(0);
- }
-
- }
-
- // No more data
- closeConnection(outbound, GuacamoleStatus.SUCCESS);
-
- }
-
- // Catch any thrown guacamole exception and attempt
- // to pass within the WebSocket connection, logging
- // each error appropriately.
- catch (GuacamoleClientException e) {
- logger.info("WebSocket connection terminated: {}", e.getMessage());
- logger.debug("WebSocket connection terminated due to client error.", e);
- closeConnection(outbound, e.getStatus());
- }
- catch (GuacamoleConnectionClosedException e) {
- logger.debug("Connection to guacd closed.", e);
- closeConnection(outbound, GuacamoleStatus.SUCCESS);
- }
- catch (GuacamoleException e) {
- logger.error("Connection to guacd terminated abnormally: {}", e.getMessage());
- logger.debug("Internal error during connection to guacd.", e);
- closeConnection(outbound, e.getStatus());
- }
-
- }
- catch (IOException e) {
- logger.debug("I/O error prevents further reads.", e);
- }
-
- }
-
- };
-
- readThread.start();
-
- }
-
- @Override
- public void onClose(int i) {
- try {
- if (tunnel != null)
- tunnel.close();
- }
- catch (GuacamoleException e) {
- logger.debug("Unable to close connection to guacd.", e);
- }
- }
-
- @Override
- protected void onBinaryData(InputStream in) throws IOException {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- };
-
- }
-
- /**
- * Called whenever the JavaScript Guacamole client makes a connection
- * request. It it up to the implementor of this function to define what
- * conditions must be met for a tunnel to be configured and returned as a
- * result of this connection request (whether some sort of credentials must
- * be specified, for example).
- *
- * @param request
- * The TunnelRequest associated with the connection request received.
- * Any parameters specified along with the connection request can be
- * read from this object.
- *
- * @return
- * A newly constructed GuacamoleTunnel if successful, null otherwise.
- *
- * @throws GuacamoleException
- * If an error occurs while constructing the GuacamoleTunnel, or if the
- * conditions required for connection are not met.
- */
- protected abstract GuacamoleTunnel doConnect(TunnelRequest request)
- throws GuacamoleException;
-
-}
-
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/WebSocketTunnelModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/WebSocketTunnelModule.java b/guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/WebSocketTunnelModule.java
deleted file mode 100644
index 85caf1b..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/WebSocketTunnelModule.java
+++ /dev/null
@@ -1,73 +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.
- */
-
-package org.apache.guacamole.websocket.tomcat;
-
-import com.google.inject.servlet.ServletModule;
-import org.apache.guacamole.TunnelLoader;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Loads the Jetty 9 WebSocket tunnel implementation.
- *
- * @author Michael Jumper
- */
-public class WebSocketTunnelModule extends ServletModule implements TunnelLoader {
-
- /**
- * Logger for this class.
- */
- private final Logger logger = LoggerFactory.getLogger(WebSocketTunnelModule.class);
-
- @Override
- public boolean isSupported() {
-
- try {
-
- // Attempt to find WebSocket servlet
- Class.forName("org.apache.guacamole.websocket.tomcat.BasicGuacamoleWebSocketTunnelServlet");
-
- // Support found
- return true;
-
- }
-
- // If no such servlet class, this particular WebSocket support
- // is not present
- catch (ClassNotFoundException e) {}
- catch (NoClassDefFoundError e) {}
-
- // Support not found
- return false;
-
- }
-
- @Override
- public void configureServlets() {
-
- logger.info("Loading Tomcat 7 WebSocket support...");
- serve("/websocket-tunnel").with(BasicGuacamoleWebSocketTunnelServlet.class);
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/package-info.java b/guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/package-info.java
deleted file mode 100644
index 7083a3e..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/websocket/tomcat/package-info.java
+++ /dev/null
@@ -1,29 +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.
- */
-
-/**
- * Tomcat WebSocket tunnel implementation. The classes here require at least
- * Tomcat 7.0, and may change significantly as there is no common WebSocket
- * API for Java yet.
- */
-package org.apache.guacamole.websocket.tomcat;
-
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/713fc7f8/guacamole/src/main/webapp/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/WEB-INF/web.xml b/guacamole/src/main/webapp/WEB-INF/web.xml
index 6e105f8..b268197 100644
--- a/guacamole/src/main/webapp/WEB-INF/web.xml
+++ b/guacamole/src/main/webapp/WEB-INF/web.xml
@@ -42,7 +42,7 @@
</filter-mapping>
<listener>
- <listener-class>org.apache.guacamole.BasicServletContextListener</listener-class>
+ <listener-class>org.apache.guacamole.GuacamoleServletContextListener</listener-class>
</listener>
<!-- Audio file mimetype mappings -->
[40/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Relicense C and JavaScript files.
Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ConnectionPermissionMapper.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ConnectionPermissionMapper.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ConnectionPermissionMapper.java
index ef6ce85..1c5feb8 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ConnectionPermissionMapper.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ConnectionPermissionMapper.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.permission;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ConnectionPermissionService.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ConnectionPermissionService.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ConnectionPermissionService.java
index 3741ffe..9a7105f 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ConnectionPermissionService.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ConnectionPermissionService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.permission;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ConnectionPermissionSet.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ConnectionPermissionSet.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ConnectionPermissionSet.java
index 8f4754d..d897aa4 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ConnectionPermissionSet.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ConnectionPermissionSet.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.permission;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ModeledObjectPermissionService.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ModeledObjectPermissionService.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ModeledObjectPermissionService.java
index a405728..ea36e17 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ModeledObjectPermissionService.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ModeledObjectPermissionService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.permission;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ModeledPermissionService.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ModeledPermissionService.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ModeledPermissionService.java
index 183f954..aaa0909 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ModeledPermissionService.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ModeledPermissionService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.permission;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ObjectPermissionMapper.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ObjectPermissionMapper.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ObjectPermissionMapper.java
index 51be6f4..df13c6e 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ObjectPermissionMapper.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ObjectPermissionMapper.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.permission;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ObjectPermissionModel.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ObjectPermissionModel.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ObjectPermissionModel.java
index c8dd078..c7396df 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ObjectPermissionModel.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ObjectPermissionModel.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.permission;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ObjectPermissionService.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ObjectPermissionService.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ObjectPermissionService.java
index 3d4c6a5..42bd7ce 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ObjectPermissionService.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ObjectPermissionService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.permission;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ObjectPermissionSet.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ObjectPermissionSet.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ObjectPermissionSet.java
index ccda6e6..5e9c95c 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ObjectPermissionSet.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ObjectPermissionSet.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.permission;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/PermissionMapper.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/PermissionMapper.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/PermissionMapper.java
index 07e4767..84a13d4 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/PermissionMapper.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/PermissionMapper.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.permission;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/PermissionModel.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/PermissionModel.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/PermissionModel.java
index 676479a..df33169 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/PermissionModel.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/PermissionModel.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.permission;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/PermissionService.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/PermissionService.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/PermissionService.java
index 9122d2b..e611946 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/PermissionService.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/PermissionService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.permission;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/SystemPermissionMapper.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/SystemPermissionMapper.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/SystemPermissionMapper.java
index fa6701e..e20c693 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/SystemPermissionMapper.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/SystemPermissionMapper.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.permission;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/SystemPermissionModel.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/SystemPermissionModel.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/SystemPermissionModel.java
index f24feb2..6088e4e 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/SystemPermissionModel.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/SystemPermissionModel.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.permission;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/SystemPermissionService.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/SystemPermissionService.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/SystemPermissionService.java
index eafc194..78c25eb 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/SystemPermissionService.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/SystemPermissionService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.permission;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/SystemPermissionSet.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/SystemPermissionSet.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/SystemPermissionSet.java
index c2906f0..cbdd565 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/SystemPermissionSet.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/SystemPermissionSet.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.permission;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/UserPermissionMapper.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/UserPermissionMapper.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/UserPermissionMapper.java
index 306148c..7611d4d 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/UserPermissionMapper.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/UserPermissionMapper.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.permission;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/UserPermissionService.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/UserPermissionService.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/UserPermissionService.java
index ea7f67f..8a81c89 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/UserPermissionService.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/UserPermissionService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.permission;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/UserPermissionSet.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/UserPermissionSet.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/UserPermissionSet.java
index 94bddd0..59d37b0 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/UserPermissionSet.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/UserPermissionSet.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.permission;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/package-info.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/package-info.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/package-info.java
index 9a643ce..82e5857 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/package-info.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/package-info.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/security/PasswordEncryptionService.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/security/PasswordEncryptionService.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/security/PasswordEncryptionService.java
index 4bcbbf4..248d70e 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/security/PasswordEncryptionService.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/security/PasswordEncryptionService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.security;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/security/SHA256PasswordEncryptionService.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/security/SHA256PasswordEncryptionService.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/security/SHA256PasswordEncryptionService.java
index bed9630..69748d3 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/security/SHA256PasswordEncryptionService.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/security/SHA256PasswordEncryptionService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.security;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/security/SaltService.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/security/SaltService.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/security/SaltService.java
index 5024e3c..10948ba 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/security/SaltService.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/security/SaltService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.security;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/security/SecureRandomSaltService.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/security/SecureRandomSaltService.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/security/SecureRandomSaltService.java
index f8fb5e1..924ca76 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/security/SecureRandomSaltService.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/security/SecureRandomSaltService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.security;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/security/package-info.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/security/package-info.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/security/package-info.java
index 7e9af68..5df8b31 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/security/package-info.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/security/package-info.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/AbstractGuacamoleTunnelService.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/AbstractGuacamoleTunnelService.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/AbstractGuacamoleTunnelService.java
index 4705d29..482a2fa 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/AbstractGuacamoleTunnelService.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/AbstractGuacamoleTunnelService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.tunnel;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/ActiveConnectionMultimap.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/ActiveConnectionMultimap.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/ActiveConnectionMultimap.java
index 5ab662d..e85b454 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/ActiveConnectionMultimap.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/ActiveConnectionMultimap.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.tunnel;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/ActiveConnectionRecord.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/ActiveConnectionRecord.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/ActiveConnectionRecord.java
index 34c4d9c..45122cd 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/ActiveConnectionRecord.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/ActiveConnectionRecord.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.tunnel;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/GuacamoleTunnelService.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/GuacamoleTunnelService.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/GuacamoleTunnelService.java
index 7666dfc..554967b 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/GuacamoleTunnelService.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/GuacamoleTunnelService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.tunnel;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/ManagedInetGuacamoleSocket.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/ManagedInetGuacamoleSocket.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/ManagedInetGuacamoleSocket.java
index 64fe60b..06f0506 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/ManagedInetGuacamoleSocket.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/ManagedInetGuacamoleSocket.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.tunnel;
[42/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Relicense C and JavaScript files.
Posted by jm...@apache.org.
GUACAMOLE-1: Relicense C and JavaScript files.
Project: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/commit/1810ec97
Tree: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/tree/1810ec97
Diff: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/diff/1810ec97
Branch: refs/heads/master
Commit: 1810ec971ff3a88acaa1d64261831f00051a49da
Parents: 2297dfb
Author: Michael Jumper <mj...@apache.org>
Authored: Fri Mar 25 10:45:21 2016 -0700
Committer: Michael Jumper <mj...@apache.org>
Committed: Mon Mar 28 20:50:18 2016 -0700
----------------------------------------------------------------------
.../example/DummyGuacamoleTunnelServlet.java | 31 ++++++++---------
.../jdbc/JDBCAuthenticationProviderModule.java | 31 ++++++++---------
.../guacamole/auth/jdbc/JDBCEnvironment.java | 31 ++++++++---------
.../ActiveConnectionDirectory.java | 31 ++++++++---------
.../ActiveConnectionPermissionService.java | 31 ++++++++---------
.../ActiveConnectionPermissionSet.java | 31 ++++++++---------
.../ActiveConnectionService.java | 31 ++++++++---------
.../TrackedActiveConnection.java | 31 ++++++++---------
.../jdbc/activeconnection/package-info.java | 31 ++++++++---------
.../auth/jdbc/base/DirectoryObjectService.java | 31 ++++++++---------
.../auth/jdbc/base/GroupedObjectModel.java | 31 ++++++++---------
.../auth/jdbc/base/ModeledDirectoryObject.java | 31 ++++++++---------
.../jdbc/base/ModeledDirectoryObjectMapper.java | 31 ++++++++---------
.../base/ModeledDirectoryObjectService.java | 31 ++++++++---------
.../base/ModeledGroupedDirectoryObject.java | 31 ++++++++---------
.../ModeledGroupedDirectoryObjectService.java | 31 ++++++++---------
.../guacamole/auth/jdbc/base/ModeledObject.java | 31 ++++++++---------
.../guacamole/auth/jdbc/base/ObjectModel.java | 31 ++++++++---------
.../auth/jdbc/base/RestrictedObject.java | 31 ++++++++---------
.../guacamole/auth/jdbc/base/package-info.java | 31 ++++++++---------
.../jdbc/connection/ConnectionDirectory.java | 31 ++++++++---------
.../auth/jdbc/connection/ConnectionMapper.java | 31 ++++++++---------
.../auth/jdbc/connection/ConnectionModel.java | 31 ++++++++---------
.../jdbc/connection/ConnectionRecordMapper.java | 31 ++++++++---------
.../jdbc/connection/ConnectionRecordModel.java | 31 ++++++++---------
.../connection/ConnectionRecordSearchTerm.java | 31 ++++++++---------
.../jdbc/connection/ConnectionRecordSet.java | 31 ++++++++---------
.../ConnectionRecordSortPredicate.java | 31 ++++++++---------
.../auth/jdbc/connection/ConnectionService.java | 31 ++++++++---------
.../auth/jdbc/connection/ModeledConnection.java | 31 ++++++++---------
.../connection/ModeledConnectionRecord.java | 31 ++++++++---------
.../ModeledGuacamoleConfiguration.java | 31 ++++++++---------
.../auth/jdbc/connection/ParameterMapper.java | 31 ++++++++---------
.../auth/jdbc/connection/ParameterModel.java | 31 ++++++++---------
.../auth/jdbc/connection/package-info.java | 31 ++++++++---------
.../ConnectionGroupDirectory.java | 31 ++++++++---------
.../connectiongroup/ConnectionGroupMapper.java | 31 ++++++++---------
.../connectiongroup/ConnectionGroupModel.java | 31 ++++++++---------
.../connectiongroup/ConnectionGroupService.java | 31 ++++++++---------
.../connectiongroup/ModeledConnectionGroup.java | 31 ++++++++---------
.../connectiongroup/RootConnectionGroup.java | 31 ++++++++---------
.../auth/jdbc/connectiongroup/package-info.java | 31 ++++++++---------
.../guacamole/auth/jdbc/package-info.java | 31 ++++++++---------
.../permission/AbstractPermissionService.java | 31 ++++++++---------
.../ConnectionGroupPermissionMapper.java | 31 ++++++++---------
.../ConnectionGroupPermissionService.java | 31 ++++++++---------
.../ConnectionGroupPermissionSet.java | 31 ++++++++---------
.../permission/ConnectionPermissionMapper.java | 31 ++++++++---------
.../permission/ConnectionPermissionService.java | 31 ++++++++---------
.../permission/ConnectionPermissionSet.java | 31 ++++++++---------
.../ModeledObjectPermissionService.java | 31 ++++++++---------
.../permission/ModeledPermissionService.java | 31 ++++++++---------
.../jdbc/permission/ObjectPermissionMapper.java | 31 ++++++++---------
.../jdbc/permission/ObjectPermissionModel.java | 31 ++++++++---------
.../permission/ObjectPermissionService.java | 31 ++++++++---------
.../jdbc/permission/ObjectPermissionSet.java | 31 ++++++++---------
.../auth/jdbc/permission/PermissionMapper.java | 31 ++++++++---------
.../auth/jdbc/permission/PermissionModel.java | 31 ++++++++---------
.../auth/jdbc/permission/PermissionService.java | 31 ++++++++---------
.../jdbc/permission/SystemPermissionMapper.java | 31 ++++++++---------
.../jdbc/permission/SystemPermissionModel.java | 31 ++++++++---------
.../permission/SystemPermissionService.java | 31 ++++++++---------
.../jdbc/permission/SystemPermissionSet.java | 31 ++++++++---------
.../jdbc/permission/UserPermissionMapper.java | 31 ++++++++---------
.../jdbc/permission/UserPermissionService.java | 31 ++++++++---------
.../auth/jdbc/permission/UserPermissionSet.java | 31 ++++++++---------
.../auth/jdbc/permission/package-info.java | 31 ++++++++---------
.../security/PasswordEncryptionService.java | 31 ++++++++---------
.../SHA256PasswordEncryptionService.java | 31 ++++++++---------
.../auth/jdbc/security/SaltService.java | 31 ++++++++---------
.../jdbc/security/SecureRandomSaltService.java | 31 ++++++++---------
.../auth/jdbc/security/package-info.java | 31 ++++++++---------
.../tunnel/AbstractGuacamoleTunnelService.java | 31 ++++++++---------
.../jdbc/tunnel/ActiveConnectionMultimap.java | 31 ++++++++---------
.../jdbc/tunnel/ActiveConnectionRecord.java | 31 ++++++++---------
.../jdbc/tunnel/GuacamoleTunnelService.java | 31 ++++++++---------
.../jdbc/tunnel/ManagedInetGuacamoleSocket.java | 31 ++++++++---------
.../jdbc/tunnel/ManagedSSLGuacamoleSocket.java | 31 ++++++++---------
.../RestrictedGuacamoleTunnelService.java | 31 ++++++++---------
.../apache/guacamole/auth/jdbc/tunnel/Seat.java | 31 ++++++++---------
.../auth/jdbc/tunnel/package-info.java | 31 ++++++++---------
.../auth/jdbc/user/AuthenticatedUser.java | 31 ++++++++---------
.../user/AuthenticationProviderService.java | 31 ++++++++---------
.../guacamole/auth/jdbc/user/ModeledUser.java | 31 ++++++++---------
.../guacamole/auth/jdbc/user/UserContext.java | 31 ++++++++---------
.../guacamole/auth/jdbc/user/UserDirectory.java | 31 ++++++++---------
.../guacamole/auth/jdbc/user/UserMapper.java | 31 ++++++++---------
.../guacamole/auth/jdbc/user/UserModel.java | 31 ++++++++---------
.../guacamole/auth/jdbc/user/UserService.java | 31 ++++++++---------
.../guacamole/auth/jdbc/user/package-info.java | 31 ++++++++---------
.../auth/mysql/MySQLAuthenticationProvider.java | 31 ++++++++---------
.../MySQLAuthenticationProviderModule.java | 31 ++++++++---------
.../guacamole/auth/mysql/MySQLEnvironment.java | 31 ++++++++---------
.../auth/mysql/MySQLGuacamoleProperties.java | 31 ++++++++---------
.../guacamole/auth/mysql/package-info.java | 31 ++++++++---------
.../PostgreSQLAuthenticationProvider.java | 31 ++++++++---------
.../PostgreSQLAuthenticationProviderModule.java | 31 ++++++++---------
.../auth/postgresql/PostgreSQLEnvironment.java | 31 ++++++++---------
.../PostgreSQLGuacamoleProperties.java | 31 ++++++++---------
.../guacamole/auth/postgresql/package-info.java | 31 ++++++++---------
.../ldap/AuthenticationProviderService.java | 31 ++++++++---------
.../auth/ldap/ConfigurationService.java | 31 ++++++++---------
.../guacamole/auth/ldap/EncryptionMethod.java | 31 ++++++++---------
.../auth/ldap/EncryptionMethodProperty.java | 31 ++++++++---------
.../guacamole/auth/ldap/EscapingService.java | 31 ++++++++---------
.../auth/ldap/LDAPAuthenticationProvider.java | 31 ++++++++---------
.../ldap/LDAPAuthenticationProviderModule.java | 31 ++++++++---------
.../auth/ldap/LDAPConnectionService.java | 31 ++++++++---------
.../auth/ldap/LDAPGuacamoleProperties.java | 31 ++++++++---------
.../guacamole/auth/ldap/StringListProperty.java | 31 ++++++++---------
.../auth/ldap/connection/ConnectionService.java | 31 ++++++++---------
.../auth/ldap/user/AuthenticatedUser.java | 31 ++++++++---------
.../guacamole/auth/ldap/user/UserContext.java | 31 ++++++++---------
.../guacamole/auth/ldap/user/UserService.java | 31 ++++++++---------
.../auth/noauth/NoAuthConfigContentHandler.java | 31 ++++++++---------
.../auth/noauth/NoAuthenticationProvider.java | 31 ++++++++---------
.../src/main/webapp/common/license.js | 33 ++++++++----------
.../main/webapp/modules/ArrayBufferReader.js | 31 ++++++++---------
.../main/webapp/modules/ArrayBufferWriter.js | 31 ++++++++---------
.../src/main/webapp/modules/AudioPlayer.js | 31 ++++++++---------
.../src/main/webapp/modules/BlobReader.js | 31 ++++++++---------
.../src/main/webapp/modules/Client.js | 31 ++++++++---------
.../src/main/webapp/modules/DataURIReader.js | 31 ++++++++---------
.../src/main/webapp/modules/Display.js | 31 ++++++++---------
.../src/main/webapp/modules/InputStream.js | 31 ++++++++---------
.../src/main/webapp/modules/IntegerPool.js | 31 ++++++++---------
.../src/main/webapp/modules/JSONReader.js | 31 ++++++++---------
.../src/main/webapp/modules/Keyboard.js | 31 ++++++++---------
.../src/main/webapp/modules/Layer.js | 31 ++++++++---------
.../src/main/webapp/modules/Mouse.js | 31 ++++++++---------
.../src/main/webapp/modules/Namespace.js | 31 ++++++++---------
.../src/main/webapp/modules/Object.js | 31 ++++++++---------
.../src/main/webapp/modules/OnScreenKeyboard.js | 31 ++++++++---------
.../src/main/webapp/modules/OutputStream.js | 31 ++++++++---------
.../src/main/webapp/modules/Parser.js | 31 ++++++++---------
.../src/main/webapp/modules/Status.js | 31 ++++++++---------
.../src/main/webapp/modules/StringReader.js | 31 ++++++++---------
.../src/main/webapp/modules/StringWriter.js | 31 ++++++++---------
.../src/main/webapp/modules/Tunnel.js | 31 ++++++++---------
.../src/main/webapp/modules/Version.js | 31 ++++++++---------
.../src/main/webapp/modules/VideoPlayer.js | 31 ++++++++---------
.../doc/example/ExampleTunnelServlet.java | 31 ++++++++---------
.../GuacamoleClientBadTypeException.java | 31 ++++++++---------
.../guacamole/GuacamoleClientException.java | 31 ++++++++---------
.../GuacamoleClientOverrunException.java | 31 ++++++++---------
.../GuacamoleClientTimeoutException.java | 31 ++++++++---------
.../GuacamoleClientTooManyException.java | 31 ++++++++---------
.../GuacamoleConnectionClosedException.java | 31 ++++++++---------
.../apache/guacamole/GuacamoleException.java | 31 ++++++++---------
.../GuacamoleResourceConflictException.java | 31 ++++++++---------
.../GuacamoleResourceNotFoundException.java | 31 ++++++++---------
.../guacamole/GuacamoleSecurityException.java | 31 ++++++++---------
.../guacamole/GuacamoleServerBusyException.java | 31 ++++++++---------
.../guacamole/GuacamoleServerException.java | 31 ++++++++---------
.../GuacamoleUnauthorizedException.java | 31 ++++++++---------
.../GuacamoleUnsupportedException.java | 31 ++++++++---------
.../guacamole/GuacamoleUpstreamException.java | 31 ++++++++---------
.../GuacamoleUpstreamTimeoutException.java | 31 ++++++++---------
.../apache/guacamole/io/GuacamoleReader.java | 31 ++++++++---------
.../apache/guacamole/io/GuacamoleWriter.java | 31 ++++++++---------
.../guacamole/io/ReaderGuacamoleReader.java | 31 ++++++++---------
.../guacamole/io/WriterGuacamoleWriter.java | 31 ++++++++---------
.../org/apache/guacamole/io/package-info.java | 31 ++++++++---------
.../guacamole/net/AbstractGuacamoleTunnel.java | 31 ++++++++---------
.../net/DelegatingGuacamoleTunnel.java | 31 ++++++++---------
.../apache/guacamole/net/GuacamoleSocket.java | 31 ++++++++---------
.../apache/guacamole/net/GuacamoleTunnel.java | 31 ++++++++---------
.../guacamole/net/InetGuacamoleSocket.java | 31 ++++++++---------
.../guacamole/net/SSLGuacamoleSocket.java | 31 ++++++++---------
.../guacamole/net/SimpleGuacamoleTunnel.java | 31 ++++++++---------
.../org/apache/guacamole/net/package-info.java | 31 ++++++++---------
.../java/org/apache/guacamole/package-info.java | 31 ++++++++---------
.../protocol/ConfiguredGuacamoleSocket.java | 31 ++++++++---------
.../protocol/FilteredGuacamoleReader.java | 31 ++++++++---------
.../protocol/FilteredGuacamoleSocket.java | 31 ++++++++---------
.../protocol/FilteredGuacamoleWriter.java | 31 ++++++++---------
.../protocol/GuacamoleClientInformation.java | 31 ++++++++---------
.../protocol/GuacamoleConfiguration.java | 31 ++++++++---------
.../guacamole/protocol/GuacamoleFilter.java | 31 ++++++++---------
.../protocol/GuacamoleInstruction.java | 31 ++++++++---------
.../guacamole/protocol/GuacamoleParser.java | 31 ++++++++---------
.../guacamole/protocol/GuacamoleStatus.java | 31 ++++++++---------
.../apache/guacamole/protocol/package-info.java | 31 ++++++++---------
.../guacamole/servlet/GuacamoleHTTPTunnel.java | 31 ++++++++---------
.../servlet/GuacamoleHTTPTunnelMap.java | 31 ++++++++---------
.../servlet/GuacamoleHTTPTunnelServlet.java | 31 ++++++++---------
.../guacamole/servlet/GuacamoleSession.java | 31 ++++++++---------
.../apache/guacamole/servlet/package-info.java | 31 ++++++++---------
.../GuacamoleWebSocketTunnelEndpoint.java | 31 ++++++++---------
.../guacamole/io/ReaderGuacamoleReaderTest.java | 31 ++++++++---------
.../protocol/FilteredGuacamoleReaderTest.java | 31 ++++++++---------
.../protocol/FilteredGuacamoleWriterTest.java | 31 ++++++++---------
.../guacamole/protocol/GuacamoleParserTest.java | 31 ++++++++---------
.../guacamole/environment/Environment.java | 35 +++++++++-----------
.../guacamole/environment/LocalEnvironment.java | 35 +++++++++-----------
.../org/apache/guacamole/form/BooleanField.java | 31 ++++++++---------
.../org/apache/guacamole/form/DateField.java | 31 ++++++++---------
.../org/apache/guacamole/form/EnumField.java | 31 ++++++++---------
.../java/org/apache/guacamole/form/Field.java | 31 ++++++++---------
.../org/apache/guacamole/form/FieldOption.java | 31 ++++++++---------
.../java/org/apache/guacamole/form/Form.java | 31 ++++++++---------
.../apache/guacamole/form/MultilineField.java | 31 ++++++++---------
.../org/apache/guacamole/form/NumericField.java | 31 ++++++++---------
.../apache/guacamole/form/PasswordField.java | 31 ++++++++---------
.../org/apache/guacamole/form/TextField.java | 31 ++++++++---------
.../org/apache/guacamole/form/TimeField.java | 31 ++++++++---------
.../apache/guacamole/form/TimeZoneField.java | 31 ++++++++---------
.../apache/guacamole/form/UsernameField.java | 31 ++++++++---------
.../org/apache/guacamole/form/package-info.java | 31 ++++++++---------
.../net/auth/AbstractActiveConnection.java | 35 +++++++++-----------
.../net/auth/AbstractAuthenticatedUser.java | 31 ++++++++---------
.../guacamole/net/auth/AbstractConnection.java | 35 +++++++++-----------
.../net/auth/AbstractConnectionGroup.java | 35 +++++++++-----------
.../apache/guacamole/net/auth/AbstractUser.java | 35 +++++++++-----------
.../guacamole/net/auth/ActiveConnection.java | 35 +++++++++-----------
.../guacamole/net/auth/AuthenticatedUser.java | 35 +++++++++-----------
.../net/auth/AuthenticationProvider.java | 35 +++++++++-----------
.../apache/guacamole/net/auth/Connectable.java | 35 +++++++++-----------
.../apache/guacamole/net/auth/Connection.java | 35 +++++++++-----------
.../guacamole/net/auth/ConnectionGroup.java | 35 +++++++++-----------
.../guacamole/net/auth/ConnectionRecord.java | 35 +++++++++-----------
.../guacamole/net/auth/ConnectionRecordSet.java | 31 ++++++++---------
.../apache/guacamole/net/auth/Credentials.java | 35 +++++++++-----------
.../apache/guacamole/net/auth/Directory.java | 35 +++++++++-----------
.../apache/guacamole/net/auth/Identifiable.java | 35 +++++++++-----------
.../org/apache/guacamole/net/auth/User.java | 35 +++++++++-----------
.../apache/guacamole/net/auth/UserContext.java | 35 +++++++++-----------
.../net/auth/credentials/CredentialsInfo.java | 35 +++++++++-----------
.../GuacamoleCredentialsException.java | 31 ++++++++---------
...acamoleInsufficientCredentialsException.java | 31 ++++++++---------
.../GuacamoleInvalidCredentialsException.java | 31 ++++++++---------
.../apache/guacamole/net/auth/package-info.java | 35 +++++++++-----------
.../net/auth/permission/ObjectPermission.java | 35 +++++++++-----------
.../auth/permission/ObjectPermissionSet.java | 31 ++++++++---------
.../net/auth/permission/Permission.java | 35 +++++++++-----------
.../net/auth/permission/PermissionSet.java | 31 ++++++++---------
.../net/auth/permission/SystemPermission.java | 35 +++++++++-----------
.../auth/permission/SystemPermissionSet.java | 31 ++++++++---------
.../net/auth/permission/package-info.java | 35 +++++++++-----------
.../simple/SimpleAuthenticationProvider.java | 35 +++++++++-----------
.../net/auth/simple/SimpleConnection.java | 35 +++++++++-----------
.../auth/simple/SimpleConnectionDirectory.java | 35 +++++++++-----------
.../net/auth/simple/SimpleConnectionGroup.java | 35 +++++++++-----------
.../simple/SimpleConnectionGroupDirectory.java | 35 +++++++++-----------
.../auth/simple/SimpleConnectionRecordSet.java | 31 ++++++++---------
.../net/auth/simple/SimpleDirectory.java | 31 ++++++++---------
.../auth/simple/SimpleObjectPermissionSet.java | 31 ++++++++---------
.../auth/simple/SimpleSystemPermissionSet.java | 31 ++++++++---------
.../guacamole/net/auth/simple/SimpleUser.java | 35 +++++++++-----------
.../net/auth/simple/SimpleUserContext.java | 35 +++++++++-----------
.../net/auth/simple/SimpleUserDirectory.java | 35 +++++++++-----------
.../guacamole/net/auth/simple/package-info.java | 35 +++++++++-----------
.../net/event/AuthenticationFailureEvent.java | 35 +++++++++-----------
.../net/event/AuthenticationSuccessEvent.java | 35 +++++++++-----------
.../guacamole/net/event/CredentialEvent.java | 35 +++++++++-----------
.../guacamole/net/event/TunnelCloseEvent.java | 35 +++++++++-----------
.../guacamole/net/event/TunnelConnectEvent.java | 35 +++++++++-----------
.../apache/guacamole/net/event/TunnelEvent.java | 35 +++++++++-----------
.../apache/guacamole/net/event/UserEvent.java | 35 +++++++++-----------
.../listener/AuthenticationFailureListener.java | 35 +++++++++-----------
.../listener/AuthenticationSuccessListener.java | 35 +++++++++-----------
.../net/event/listener/TunnelCloseListener.java | 35 +++++++++-----------
.../event/listener/TunnelConnectListener.java | 35 +++++++++-----------
.../net/event/listener/package-info.java | 35 +++++++++-----------
.../guacamole/net/event/package-info.java | 35 +++++++++-----------
.../properties/BooleanGuacamoleProperty.java | 35 +++++++++-----------
.../properties/FileGuacamoleProperty.java | 35 +++++++++-----------
.../guacamole/properties/GuacamoleHome.java | 35 +++++++++-----------
.../properties/GuacamoleProperties.java | 35 +++++++++-----------
.../guacamole/properties/GuacamoleProperty.java | 35 +++++++++-----------
.../properties/IntegerGuacamoleProperty.java | 35 +++++++++-----------
.../properties/LongGuacamoleProperty.java | 35 +++++++++-----------
.../properties/StringGuacamoleProperty.java | 35 +++++++++-----------
.../guacamole/properties/package-info.java | 35 +++++++++-----------
.../guacamole/protocols/ProtocolInfo.java | 31 ++++++++---------
.../apache/guacamole/token/StandardTokens.java | 31 ++++++++---------
.../org/apache/guacamole/token/TokenFilter.java | 35 +++++++++-----------
.../apache/guacamole/xml/DocumentHandler.java | 31 ++++++++---------
.../org/apache/guacamole/xml/TagHandler.java | 31 ++++++++---------
.../org/apache/guacamole/xml/package-info.java | 31 ++++++++---------
.../apache/guacamole/token/TokenFilterTest.java | 35 +++++++++-----------
.../org/apache/guacamole/EnvironmentModule.java | 31 ++++++++---------
.../GuacamoleServletContextListener.java | 31 ++++++++---------
.../org/apache/guacamole/GuacamoleSession.java | 31 ++++++++---------
.../guacamole/auth/file/Authorization.java | 31 ++++++++---------
.../auth/file/AuthorizeTagHandler.java | 31 ++++++++---------
.../auth/file/ConnectionTagHandler.java | 31 ++++++++---------
.../auth/file/FileAuthenticationProvider.java | 31 ++++++++---------
.../guacamole/auth/file/ParamTagHandler.java | 31 ++++++++---------
.../guacamole/auth/file/ProtocolTagHandler.java | 31 ++++++++---------
.../apache/guacamole/auth/file/UserMapping.java | 31 ++++++++---------
.../auth/file/UserMappingTagHandler.java | 31 ++++++++---------
.../guacamole/auth/file/package-info.java | 31 ++++++++---------
.../extension/AuthenticationProviderFacade.java | 31 ++++++++---------
.../extension/DirectoryClassLoader.java | 31 ++++++++---------
.../apache/guacamole/extension/Extension.java | 31 ++++++++---------
.../guacamole/extension/ExtensionManifest.java | 31 ++++++++---------
.../guacamole/extension/ExtensionModule.java | 31 ++++++++---------
.../extension/LanguageResourceService.java | 31 ++++++++---------
.../extension/PatchResourceService.java | 31 ++++++++---------
.../guacamole/extension/package-info.java | 31 ++++++++---------
.../org/apache/guacamole/log/LogModule.java | 31 ++++++++---------
.../java/org/apache/guacamole/package-info.java | 31 ++++++++---------
.../guacamole/properties/StringSetProperty.java | 31 ++++++++---------
.../guacamole/properties/package-info.java | 31 ++++++++---------
.../guacamole/resource/AbstractResource.java | 31 ++++++++---------
.../guacamole/resource/ByteArrayResource.java | 31 ++++++++---------
.../guacamole/resource/ClassPathResource.java | 31 ++++++++---------
.../org/apache/guacamole/resource/Resource.java | 31 ++++++++---------
.../guacamole/resource/ResourceServlet.java | 31 ++++++++---------
.../guacamole/resource/SequenceResource.java | 31 ++++++++---------
.../resource/WebApplicationResource.java | 31 ++++++++---------
.../apache/guacamole/resource/package-info.java | 31 ++++++++---------
.../org/apache/guacamole/rest/APIError.java | 31 ++++++++---------
.../org/apache/guacamole/rest/APIException.java | 31 ++++++++---------
.../org/apache/guacamole/rest/APIPatch.java | 31 ++++++++---------
.../org/apache/guacamole/rest/APIRequest.java | 31 ++++++++---------
.../guacamole/rest/ObjectRetrievalService.java | 31 ++++++++---------
.../java/org/apache/guacamole/rest/PATCH.java | 31 ++++++++---------
.../guacamole/rest/RESTExceptionWrapper.java | 31 ++++++++---------
.../guacamole/rest/RESTMethodMatcher.java | 31 ++++++++---------
.../guacamole/rest/RESTServiceModule.java | 31 ++++++++---------
.../activeconnection/APIActiveConnection.java | 31 ++++++++---------
.../ActiveConnectionRESTService.java | 31 ++++++++---------
.../rest/auth/APIAuthenticationResponse.java | 31 ++++++++---------
.../rest/auth/APIAuthenticationResult.java | 31 ++++++++---------
.../guacamole/rest/auth/AuthTokenGenerator.java | 31 ++++++++---------
.../rest/auth/AuthenticationService.java | 31 ++++++++---------
.../rest/auth/HashTokenSessionMap.java | 31 ++++++++---------
.../auth/SecureRandomAuthTokenGenerator.java | 31 ++++++++---------
.../guacamole/rest/auth/TokenRESTService.java | 31 ++++++++---------
.../guacamole/rest/auth/TokenSessionMap.java | 31 ++++++++---------
.../guacamole/rest/auth/package-info.java | 31 ++++++++---------
.../rest/connection/APIConnection.java | 31 ++++++++---------
.../rest/connection/APIConnectionWrapper.java | 31 ++++++++---------
.../rest/connection/ConnectionRESTService.java | 31 ++++++++---------
.../guacamole/rest/connection/package-info.java | 31 ++++++++---------
.../connectiongroup/APIConnectionGroup.java | 31 ++++++++---------
.../APIConnectionGroupWrapper.java | 31 ++++++++---------
.../ConnectionGroupRESTService.java | 31 ++++++++---------
.../connectiongroup/ConnectionGroupTree.java | 31 ++++++++---------
.../rest/connectiongroup/package-info.java | 31 ++++++++---------
.../rest/history/APIConnectionRecord.java | 31 ++++++++---------
.../APIConnectionRecordSortPredicate.java | 31 ++++++++---------
.../rest/history/HistoryRESTService.java | 31 ++++++++---------
.../guacamole/rest/history/package-info.java | 31 ++++++++---------
.../rest/language/LanguageRESTService.java | 31 ++++++++---------
.../guacamole/rest/language/package-info.java | 31 ++++++++---------
.../org/apache/guacamole/rest/package-info.java | 31 ++++++++---------
.../guacamole/rest/patch/PatchRESTService.java | 31 ++++++++---------
.../guacamole/rest/patch/package-info.java | 31 ++++++++---------
.../rest/permission/APIPermissionSet.java | 31 ++++++++---------
.../guacamole/rest/permission/package-info.java | 31 ++++++++---------
.../rest/schema/SchemaRESTService.java | 31 ++++++++---------
.../guacamole/rest/schema/package-info.java | 31 ++++++++---------
.../org/apache/guacamole/rest/user/APIUser.java | 31 ++++++++---------
.../rest/user/APIUserPasswordUpdate.java | 31 ++++++++---------
.../guacamole/rest/user/APIUserWrapper.java | 31 ++++++++---------
.../guacamole/rest/user/PermissionSetPatch.java | 31 ++++++++---------
.../guacamole/rest/user/UserRESTService.java | 31 ++++++++---------
.../guacamole/rest/user/package-info.java | 31 ++++++++---------
.../apache/guacamole/tunnel/TunnelLoader.java | 31 ++++++++---------
.../apache/guacamole/tunnel/TunnelModule.java | 31 ++++++++---------
.../apache/guacamole/tunnel/TunnelRequest.java | 31 ++++++++---------
.../guacamole/tunnel/TunnelRequestService.java | 31 ++++++++---------
.../tunnel/http/HTTPTunnelRequest.java | 31 ++++++++---------
.../RestrictedGuacamoleHTTPTunnelServlet.java | 31 ++++++++---------
.../guacamole/tunnel/http/package-info.java | 31 ++++++++---------
.../apache/guacamole/tunnel/package-info.java | 31 ++++++++---------
...trictedGuacamoleWebSocketTunnelEndpoint.java | 31 ++++++++---------
.../tunnel/websocket/WebSocketTunnelModule.java | 31 ++++++++---------
.../websocket/WebSocketTunnelRequest.java | 31 ++++++++---------
.../jetty8/GuacamoleWebSocketTunnelServlet.java | 31 ++++++++---------
...strictedGuacamoleWebSocketTunnelServlet.java | 31 ++++++++---------
.../websocket/jetty8/WebSocketTunnelModule.java | 31 ++++++++---------
.../tunnel/websocket/jetty8/package-info.java | 31 ++++++++---------
.../GuacamoleWebSocketTunnelListener.java | 31 ++++++++---------
.../RestrictedGuacamoleWebSocketCreator.java | 31 ++++++++---------
...trictedGuacamoleWebSocketTunnelListener.java | 31 ++++++++---------
...strictedGuacamoleWebSocketTunnelServlet.java | 31 ++++++++---------
.../websocket/jetty9/WebSocketTunnelModule.java | 31 ++++++++---------
.../jetty9/WebSocketTunnelRequest.java | 31 ++++++++---------
.../tunnel/websocket/jetty9/package-info.java | 31 ++++++++---------
.../tunnel/websocket/package-info.java | 31 ++++++++---------
.../tomcat/GuacamoleWebSocketTunnelServlet.java | 31 ++++++++---------
...strictedGuacamoleWebSocketTunnelServlet.java | 31 ++++++++---------
.../websocket/tomcat/WebSocketTunnelModule.java | 31 ++++++++---------
.../tunnel/websocket/tomcat/package-info.java | 31 ++++++++---------
.../src/main/webapp/app/auth/authModule.js | 31 ++++++++---------
.../app/auth/service/authenticationService.js | 31 ++++++++---------
.../src/main/webapp/app/client/clientModule.js | 31 ++++++++---------
.../app/client/controllers/clientController.js | 31 ++++++++---------
.../webapp/app/client/directives/guacClient.js | 31 ++++++++---------
.../app/client/directives/guacFileBrowser.js | 31 ++++++++---------
.../app/client/directives/guacFileTransfer.js | 31 ++++++++---------
.../directives/guacFileTransferManager.js | 31 ++++++++---------
.../app/client/directives/guacThumbnail.js | 31 ++++++++---------
.../app/client/directives/guacViewport.js | 31 ++++++++---------
.../app/client/services/clipboardService.js | 31 ++++++++---------
.../webapp/app/client/services/guacAudio.js | 31 ++++++++---------
.../app/client/services/guacClientManager.js | 31 ++++++++---------
.../webapp/app/client/services/guacImage.js | 31 ++++++++---------
.../webapp/app/client/services/guacVideo.js | 31 ++++++++---------
.../webapp/app/client/types/ClientProperties.js | 31 ++++++++---------
.../webapp/app/client/types/ManagedClient.js | 31 ++++++++---------
.../app/client/types/ManagedClientState.js | 31 ++++++++---------
.../webapp/app/client/types/ManagedDisplay.js | 31 ++++++++---------
.../app/client/types/ManagedFileDownload.js | 31 ++++++++---------
.../client/types/ManagedFileTransferState.js | 31 ++++++++---------
.../app/client/types/ManagedFileUpload.js | 31 ++++++++---------
.../app/client/types/ManagedFilesystem.js | 31 ++++++++---------
.../webapp/app/element/directives/guacFocus.js | 31 ++++++++---------
.../webapp/app/element/directives/guacMarker.js | 31 ++++++++---------
.../webapp/app/element/directives/guacResize.js | 31 ++++++++---------
.../webapp/app/element/directives/guacScroll.js | 31 ++++++++---------
.../webapp/app/element/directives/guacUpload.js | 31 ++++++++---------
.../main/webapp/app/element/elementModule.js | 31 ++++++++---------
.../src/main/webapp/app/element/types/Marker.js | 31 ++++++++---------
.../webapp/app/element/types/ScrollState.js | 31 ++++++++---------
.../form/controllers/checkboxFieldController.js | 31 ++++++++---------
.../app/form/controllers/dateFieldController.js | 31 ++++++++---------
.../form/controllers/numberFieldController.js | 31 ++++++++---------
.../form/controllers/passwordFieldController.js | 31 ++++++++---------
.../form/controllers/selectFieldController.js | 31 ++++++++---------
.../app/form/controllers/timeFieldController.js | 31 ++++++++---------
.../form/controllers/timeZoneFieldController.js | 31 ++++++++---------
.../src/main/webapp/app/form/directives/form.js | 31 ++++++++---------
.../webapp/app/form/directives/formField.js | 31 ++++++++---------
.../app/form/directives/guacLenientDate.js | 31 ++++++++---------
.../app/form/directives/guacLenientTime.js | 31 ++++++++---------
.../src/main/webapp/app/form/formModule.js | 31 ++++++++---------
.../webapp/app/form/services/formService.js | 31 ++++++++---------
.../src/main/webapp/app/form/types/FieldType.js | 31 ++++++++---------
.../app/groupList/directives/guacGroupList.js | 31 ++++++++---------
.../groupList/directives/guacGroupListFilter.js | 31 ++++++++---------
.../webapp/app/groupList/groupListModule.js | 31 ++++++++---------
.../webapp/app/groupList/types/GroupListItem.js | 31 ++++++++---------
.../main/webapp/app/history/historyModule.js | 31 ++++++++---------
.../webapp/app/history/services/guacHistory.js | 31 ++++++++---------
.../webapp/app/history/types/HistoryEntry.js | 31 ++++++++---------
.../app/home/controllers/homeController.js | 31 ++++++++---------
.../home/directives/guacRecentConnections.js | 31 ++++++++---------
.../src/main/webapp/app/home/homeModule.js | 31 ++++++++---------
.../webapp/app/home/types/ActiveConnection.js | 31 ++++++++---------
.../webapp/app/home/types/RecentConnection.js | 31 ++++++++---------
.../app/index/config/indexHttpPatchConfig.js | 31 ++++++++---------
.../webapp/app/index/config/indexRouteConfig.js | 31 ++++++++---------
.../app/index/config/indexTranslationConfig.js | 31 ++++++++---------
.../index/config/templateRequestDecorator.js | 31 ++++++++---------
.../app/index/controllers/indexController.js | 31 ++++++++---------
.../src/main/webapp/app/index/indexModule.js | 31 ++++++++---------
.../webapp/app/list/directives/guacFilter.js | 31 ++++++++---------
.../webapp/app/list/directives/guacPager.js | 31 ++++++++---------
.../webapp/app/list/directives/guacSortOrder.js | 31 ++++++++---------
.../src/main/webapp/app/list/listModule.js | 31 ++++++++---------
.../main/webapp/app/list/types/FilterPattern.js | 31 ++++++++---------
.../main/webapp/app/list/types/FilterToken.js | 31 ++++++++---------
.../main/webapp/app/list/types/IPv4Network.js | 31 ++++++++---------
.../main/webapp/app/list/types/IPv6Network.js | 31 ++++++++---------
.../src/main/webapp/app/list/types/SortOrder.js | 31 ++++++++---------
.../src/main/webapp/app/locale/localeModule.js | 31 ++++++++---------
.../app/locale/services/translationLoader.js | 31 ++++++++---------
.../locale/services/translationStringService.js | 31 ++++++++---------
.../main/webapp/app/login/directives/login.js | 31 ++++++++---------
.../src/main/webapp/app/login/loginModule.js | 31 ++++++++---------
.../controllers/manageConnectionController.js | 31 ++++++++---------
.../manageConnectionGroupController.js | 31 ++++++++---------
.../manage/controllers/manageUserController.js | 31 ++++++++---------
.../app/manage/directives/locationChooser.js | 31 ++++++++---------
.../src/main/webapp/app/manage/manageModule.js | 31 ++++++++---------
.../app/manage/types/HistoryEntryWrapper.js | 31 ++++++++---------
.../webapp/app/manage/types/ManageableUser.js | 31 ++++++++---------
.../app/navigation/directives/guacPageList.js | 31 ++++++++---------
.../app/navigation/directives/guacUserMenu.js | 31 ++++++++---------
.../webapp/app/navigation/navigationModule.js | 31 ++++++++---------
.../app/navigation/services/userPageService.js | 31 ++++++++---------
.../app/navigation/types/ClientIdentifier.js | 31 ++++++++---------
.../webapp/app/navigation/types/MenuAction.js | 31 ++++++++---------
.../app/navigation/types/PageDefinition.js | 31 ++++++++---------
.../notification/directives/guacNotification.js | 31 ++++++++---------
.../app/notification/notificationModule.js | 31 ++++++++---------
.../notification/services/guacNotification.js | 31 ++++++++---------
.../app/notification/types/Notification.js | 31 ++++++++---------
.../notification/types/NotificationAction.js | 31 ++++++++---------
.../notification/types/NotificationCountdown.js | 31 ++++++++---------
.../notification/types/NotificationProgress.js | 31 ++++++++---------
.../main/webapp/app/osk/directives/guacOsk.js | 31 ++++++++---------
guacamole/src/main/webapp/app/osk/oskModule.js | 31 ++++++++---------
.../src/main/webapp/app/rest/restModule.js | 31 ++++++++---------
.../rest/services/activeConnectionService.js | 31 ++++++++---------
.../webapp/app/rest/services/cacheService.js | 31 ++++++++---------
.../app/rest/services/connectionGroupService.js | 31 ++++++++---------
.../app/rest/services/connectionService.js | 31 ++++++++---------
.../app/rest/services/dataSourceService.js | 31 ++++++++---------
.../webapp/app/rest/services/historyService.js | 31 ++++++++---------
.../webapp/app/rest/services/languageService.js | 31 ++++++++---------
.../webapp/app/rest/services/patchService.js | 31 ++++++++---------
.../app/rest/services/permissionService.js | 31 ++++++++---------
.../webapp/app/rest/services/schemaService.js | 31 ++++++++---------
.../webapp/app/rest/services/userService.js | 31 ++++++++---------
.../webapp/app/rest/types/ActiveConnection.js | 31 ++++++++---------
.../main/webapp/app/rest/types/Connection.js | 31 ++++++++---------
.../webapp/app/rest/types/ConnectionGroup.js | 31 ++++++++---------
.../app/rest/types/ConnectionHistoryEntry.js | 31 ++++++++---------
.../src/main/webapp/app/rest/types/Error.js | 31 ++++++++---------
.../src/main/webapp/app/rest/types/Field.js | 31 ++++++++---------
.../src/main/webapp/app/rest/types/Form.js | 31 ++++++++---------
.../webapp/app/rest/types/PermissionFlagSet.js | 31 ++++++++---------
.../webapp/app/rest/types/PermissionPatch.js | 31 ++++++++---------
.../main/webapp/app/rest/types/PermissionSet.js | 31 ++++++++---------
.../src/main/webapp/app/rest/types/Protocol.js | 31 ++++++++---------
.../src/main/webapp/app/rest/types/User.js | 31 ++++++++---------
.../webapp/app/rest/types/UserPasswordUpdate.js | 31 ++++++++---------
.../settings/controllers/settingsController.js | 31 ++++++++---------
.../directives/guacSettingsConnectionHistory.js | 31 ++++++++---------
.../directives/guacSettingsConnections.js | 31 ++++++++---------
.../directives/guacSettingsPreferences.js | 31 ++++++++---------
.../settings/directives/guacSettingsSessions.js | 31 ++++++++---------
.../settings/directives/guacSettingsUsers.js | 31 ++++++++---------
.../app/settings/services/preferenceService.js | 31 ++++++++---------
.../main/webapp/app/settings/settingsModule.js | 31 ++++++++---------
.../settings/types/ActiveConnectionWrapper.js | 31 ++++++++---------
.../types/ConnectionHistoryEntryWrapper.js | 31 ++++++++---------
.../storage/services/sessionStorageFactory.js | 31 ++++++++---------
.../main/webapp/app/storage/storageModule.js | 31 ++++++++---------
.../webapp/app/textInput/directives/guacKey.js | 31 ++++++++---------
.../app/textInput/directives/guacTextInput.js | 31 ++++++++---------
.../webapp/app/textInput/textInputModule.js | 31 ++++++++---------
.../app/touch/directives/guacTouchDrag.js | 31 ++++++++---------
.../app/touch/directives/guacTouchPinch.js | 31 ++++++++---------
.../src/main/webapp/app/touch/touchModule.js | 31 ++++++++---------
531 files changed, 7548 insertions(+), 9143 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/doc/guacamole-example/src/main/java/org/apache/guacamole/net/example/DummyGuacamoleTunnelServlet.java
----------------------------------------------------------------------
diff --git a/doc/guacamole-example/src/main/java/org/apache/guacamole/net/example/DummyGuacamoleTunnelServlet.java b/doc/guacamole-example/src/main/java/org/apache/guacamole/net/example/DummyGuacamoleTunnelServlet.java
index 6704934..64f78e4 100644
--- a/doc/guacamole-example/src/main/java/org/apache/guacamole/net/example/DummyGuacamoleTunnelServlet.java
+++ b/doc/guacamole-example/src/main/java/org/apache/guacamole/net/example/DummyGuacamoleTunnelServlet.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.example;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/JDBCAuthenticationProviderModule.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/JDBCAuthenticationProviderModule.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/JDBCAuthenticationProviderModule.java
index 3cf849c..76725a6 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/JDBCAuthenticationProviderModule.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/JDBCAuthenticationProviderModule.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/JDBCEnvironment.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/JDBCEnvironment.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/JDBCEnvironment.java
index 31af41f..f14bc25 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/JDBCEnvironment.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/JDBCEnvironment.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/activeconnection/ActiveConnectionDirectory.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/activeconnection/ActiveConnectionDirectory.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/activeconnection/ActiveConnectionDirectory.java
index cf9e6b7..d7d5081 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/activeconnection/ActiveConnectionDirectory.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/activeconnection/ActiveConnectionDirectory.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.activeconnection;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/activeconnection/ActiveConnectionPermissionService.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/activeconnection/ActiveConnectionPermissionService.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/activeconnection/ActiveConnectionPermissionService.java
index 8434ead..68bd297 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/activeconnection/ActiveConnectionPermissionService.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/activeconnection/ActiveConnectionPermissionService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.activeconnection;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/activeconnection/ActiveConnectionPermissionSet.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/activeconnection/ActiveConnectionPermissionSet.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/activeconnection/ActiveConnectionPermissionSet.java
index 51dd82f..6b92a8d 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/activeconnection/ActiveConnectionPermissionSet.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/activeconnection/ActiveConnectionPermissionSet.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.activeconnection;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/activeconnection/ActiveConnectionService.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/activeconnection/ActiveConnectionService.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/activeconnection/ActiveConnectionService.java
index 8992be8..3d56967 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/activeconnection/ActiveConnectionService.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/activeconnection/ActiveConnectionService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.activeconnection;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/activeconnection/TrackedActiveConnection.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/activeconnection/TrackedActiveConnection.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/activeconnection/TrackedActiveConnection.java
index ebf142b..c02e54d 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/activeconnection/TrackedActiveConnection.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/activeconnection/TrackedActiveConnection.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.activeconnection;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/activeconnection/package-info.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/activeconnection/package-info.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/activeconnection/package-info.java
index 95f8a67..098b34e 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/activeconnection/package-info.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/activeconnection/package-info.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/DirectoryObjectService.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/DirectoryObjectService.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/DirectoryObjectService.java
index 976aff8..11ef2a4 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/DirectoryObjectService.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/DirectoryObjectService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.base;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/GroupedObjectModel.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/GroupedObjectModel.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/GroupedObjectModel.java
index 96b57ff..18dffee 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/GroupedObjectModel.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/GroupedObjectModel.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.base;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/ModeledDirectoryObject.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/ModeledDirectoryObject.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/ModeledDirectoryObject.java
index db25d63..840f605 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/ModeledDirectoryObject.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/ModeledDirectoryObject.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.base;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/ModeledDirectoryObjectMapper.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/ModeledDirectoryObjectMapper.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/ModeledDirectoryObjectMapper.java
index 43e1289..d6c5679 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/ModeledDirectoryObjectMapper.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/ModeledDirectoryObjectMapper.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.base;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/ModeledDirectoryObjectService.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/ModeledDirectoryObjectService.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/ModeledDirectoryObjectService.java
index 59b1c0b..6eb615e 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/ModeledDirectoryObjectService.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/ModeledDirectoryObjectService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.base;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/ModeledGroupedDirectoryObject.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/ModeledGroupedDirectoryObject.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/ModeledGroupedDirectoryObject.java
index 5133e33..6aca740 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/ModeledGroupedDirectoryObject.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/ModeledGroupedDirectoryObject.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.base;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/ModeledGroupedDirectoryObjectService.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/ModeledGroupedDirectoryObjectService.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/ModeledGroupedDirectoryObjectService.java
index 44312de..4aecff2 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/ModeledGroupedDirectoryObjectService.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/ModeledGroupedDirectoryObjectService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.base;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/ModeledObject.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/ModeledObject.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/ModeledObject.java
index 7a41fbc..febe700 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/ModeledObject.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/ModeledObject.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.base;
[50/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Update pom.xml to reflect Apache licensing.
Posted by jm...@apache.org.
GUACAMOLE-1: Update pom.xml to reflect Apache licensing.
Project: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/commit/831e974f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/tree/831e974f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/diff/831e974f
Branch: refs/heads/master
Commit: 831e974f5faa15d0fe74d61821053043312bb578
Parents: c569d2f
Author: Michael Jumper <mj...@apache.org>
Authored: Fri Mar 25 13:08:24 2016 -0700
Committer: Michael Jumper <mj...@apache.org>
Committed: Mon Mar 28 20:50:39 2016 -0700
----------------------------------------------------------------------
guacamole-common-js/pom.xml | 4 ++--
guacamole-common/pom.xml | 4 ++--
guacamole-ext/pom.xml | 4 ++--
guacamole/pom.xml | 4 ++--
4 files changed, 8 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/831e974f/guacamole-common-js/pom.xml
----------------------------------------------------------------------
diff --git a/guacamole-common-js/pom.xml b/guacamole-common-js/pom.xml
index 94ee03b..c266728 100644
--- a/guacamole-common-js/pom.xml
+++ b/guacamole-common-js/pom.xml
@@ -18,8 +18,8 @@
<!-- All applicable licenses -->
<licenses>
<license>
- <name>The MIT License</name>
- <url>http://www.opensource.org/licenses/mit-license.php</url>
+ <name>Apache License, Version 2.0</name>
+ <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/831e974f/guacamole-common/pom.xml
----------------------------------------------------------------------
diff --git a/guacamole-common/pom.xml b/guacamole-common/pom.xml
index d4098b5..3ddbbb7 100644
--- a/guacamole-common/pom.xml
+++ b/guacamole-common/pom.xml
@@ -17,8 +17,8 @@
<!-- All applicable licenses -->
<licenses>
<license>
- <name>The MIT License</name>
- <url>http://www.opensource.org/licenses/mit-license.php</url>
+ <name>Apache License, Version 2.0</name>
+ <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/831e974f/guacamole-ext/pom.xml
----------------------------------------------------------------------
diff --git a/guacamole-ext/pom.xml b/guacamole-ext/pom.xml
index 62d5a03..e4f1da6 100644
--- a/guacamole-ext/pom.xml
+++ b/guacamole-ext/pom.xml
@@ -17,8 +17,8 @@
<!-- All applicable licenses -->
<licenses>
<license>
- <name>The MIT License</name>
- <url>http://www.opensource.org/licenses/mit-license.php</url>
+ <name>Apache License, Version 2.0</name>
+ <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/831e974f/guacamole/pom.xml
----------------------------------------------------------------------
diff --git a/guacamole/pom.xml b/guacamole/pom.xml
index dd9dc28..e737bb1 100644
--- a/guacamole/pom.xml
+++ b/guacamole/pom.xml
@@ -17,8 +17,8 @@
<!-- All applicable licenses -->
<licenses>
<license>
- <name>The MIT License</name>
- <url>http://www.opensource.org/licenses/mit-license.php</url>
+ <name>Apache License, Version 2.0</name>
+ <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
[18/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Remove BasicGuacamoleProperties. Finally remove support for "auth-provider"
and "lib-directory" properties.
Posted by jm...@apache.org.
GUACAMOLE-1: Remove BasicGuacamoleProperties. Finally remove support for "auth-provider" and "lib-directory" properties.
Project: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/commit/c7a5f0bc
Tree: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/tree/c7a5f0bc
Diff: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/diff/c7a5f0bc
Branch: refs/heads/master
Commit: c7a5f0bcd611f6acac003f18a2022a185a34a5ee
Parents: 8590a0a
Author: Michael Jumper <mj...@apache.org>
Authored: Tue Mar 22 15:20:48 2016 -0700
Committer: Michael Jumper <mj...@apache.org>
Committed: Mon Mar 28 20:50:03 2016 -0700
----------------------------------------------------------------------
.../apache/guacamole/GuacamoleClassLoader.java | 185 -------------------
.../guacamole/extension/ExtensionModule.java | 42 -----
.../extension/LanguageResourceService.java | 17 +-
.../AuthenticationProviderProperty.java | 68 -------
.../properties/BasicGuacamoleProperties.java | 90 ---------
.../rest/auth/BasicTokenSessionMap.java | 21 ++-
6 files changed, 31 insertions(+), 392 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/c7a5f0bc/guacamole/src/main/java/org/apache/guacamole/GuacamoleClassLoader.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/GuacamoleClassLoader.java b/guacamole/src/main/java/org/apache/guacamole/GuacamoleClassLoader.java
deleted file mode 100644
index f89b885..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/GuacamoleClassLoader.java
+++ /dev/null
@@ -1,185 +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.
- */
-
-package org.apache.guacamole;
-
-import java.io.File;
-import java.io.FilenameFilter;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.security.AccessController;
-import java.security.PrivilegedActionException;
-import java.security.PrivilegedExceptionAction;
-import java.util.ArrayList;
-import java.util.Collection;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.environment.Environment;
-import org.apache.guacamole.environment.LocalEnvironment;
-import org.apache.guacamole.properties.BasicGuacamoleProperties;
-
-/**
- * A ClassLoader implementation which finds classes within a configurable
- * directory. This directory is set within guacamole.properties. This class
- * is deprecated in favor of DirectoryClassLoader, which is automatically
- * configured based on the presence/absence of GUACAMOLE_HOME/lib.
- *
- * @author Michael Jumper
- */
-@Deprecated
-public class GuacamoleClassLoader extends ClassLoader {
-
- /**
- * Class loader which will load classes from the classpath specified
- * in guacamole.properties.
- */
- private URLClassLoader classLoader = null;
-
- /**
- * Any exception that occurs while the class loader is being instantiated.
- */
- private static GuacamoleException exception = null;
-
- /**
- * Singleton instance of the GuacamoleClassLoader.
- */
- private static GuacamoleClassLoader instance = null;
-
- static {
-
- try {
- // Attempt to create singleton classloader which loads classes from
- // all .jar's in the lib directory defined in guacamole.properties
- instance = AccessController.doPrivileged(new PrivilegedExceptionAction<GuacamoleClassLoader>() {
-
- @Override
- public GuacamoleClassLoader run() throws GuacamoleException {
-
- // TODONT: This should be injected, but GuacamoleClassLoader will be removed soon.
- Environment environment = new LocalEnvironment();
-
- return new GuacamoleClassLoader(
- environment.getProperty(BasicGuacamoleProperties.LIB_DIRECTORY)
- );
-
- }
-
- });
- }
-
- catch (PrivilegedActionException e) {
- // On error, record exception
- exception = (GuacamoleException) e.getException();
- }
-
- }
-
- /**
- * Creates a new GuacamoleClassLoader which reads classes from the given
- * directory.
- *
- * @param libDirectory The directory to load classes from.
- * @throws GuacamoleException If the file given is not a director, or if
- * an error occurs while constructing the URL
- * for the backing classloader.
- */
- private GuacamoleClassLoader(File libDirectory) throws GuacamoleException {
-
- // If no directory provided, just direct requests to parent classloader
- if (libDirectory == null)
- return;
-
- // Validate directory is indeed a directory
- if (!libDirectory.isDirectory())
- throw new GuacamoleException(libDirectory + " is not a directory.");
-
- // Get list of URLs for all .jar's in the lib directory
- Collection<URL> jarURLs = new ArrayList<URL>();
- File[] files = libDirectory.listFiles(new FilenameFilter() {
-
- @Override
- public boolean accept(File dir, String name) {
-
- // If it ends with .jar, accept the file
- return name.endsWith(".jar");
-
- }
-
- });
-
- // Verify directory was successfully read
- if (files == null)
- throw new GuacamoleException("Unable to read contents of directory " + libDirectory);
-
- // Add the URL for each .jar to the jar URL list
- for (File file : files) {
-
- try {
- jarURLs.add(file.toURI().toURL());
- }
- catch (MalformedURLException e) {
- throw new GuacamoleException(e);
- }
-
- }
-
- // Set delegate classloader to new URLClassLoader which loads from the
- // .jars found above.
-
- URL[] urls = new URL[jarURLs.size()];
- classLoader = new URLClassLoader(
- jarURLs.toArray(urls),
- getClass().getClassLoader()
- );
-
- }
-
- /**
- * Returns an instance of a GuacamoleClassLoader which finds classes
- * within the directory configured in guacamole.properties.
- *
- * @return An instance of a GuacamoleClassLoader.
- * @throws GuacamoleException If no instance could be returned due to an
- * error.
- */
- public static GuacamoleClassLoader getInstance() throws GuacamoleException {
-
- // If instance could not be created, rethrow original exception
- if (exception != null) throw exception;
-
- return instance;
-
- }
-
- @Override
- public Class<?> findClass(String name) throws ClassNotFoundException {
-
- // If no classloader, use default loader
- if (classLoader == null)
- return Class.forName(name);
-
- // Otherwise, delegate
- return classLoader.loadClass(name);
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/c7a5f0bc/guacamole/src/main/java/org/apache/guacamole/extension/ExtensionModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/extension/ExtensionModule.java b/guacamole/src/main/java/org/apache/guacamole/extension/ExtensionModule.java
index 3823fbc..c8906b4 100644
--- a/guacamole/src/main/java/org/apache/guacamole/extension/ExtensionModule.java
+++ b/guacamole/src/main/java/org/apache/guacamole/extension/ExtensionModule.java
@@ -37,7 +37,6 @@ import org.apache.guacamole.GuacamoleException;
import org.apache.guacamole.GuacamoleServerException;
import org.apache.guacamole.environment.Environment;
import org.apache.guacamole.net.auth.AuthenticationProvider;
-import org.apache.guacamole.properties.BasicGuacamoleProperties;
import org.apache.guacamole.resource.Resource;
import org.apache.guacamole.resource.ResourceServlet;
import org.apache.guacamole.resource.SequenceResource;
@@ -149,42 +148,6 @@ public class ExtensionModule extends ServletModule {
}
/**
- * Reads the value of the now-deprecated "auth-provider" property from
- * guacamole.properties, returning the corresponding AuthenticationProvider
- * class. If no authentication provider could be read, or the property is
- * not present, null is returned.
- *
- * As this property is deprecated, this function will also log warning
- * messages if the property is actually specified.
- *
- * @return
- * The value of the deprecated "auth-provider" property, or null if the
- * property is not present.
- */
- @SuppressWarnings("deprecation") // We must continue to use this property until it is truly no longer supported
- private Class<AuthenticationProvider> getAuthProviderProperty() {
-
- // Get and bind auth provider instance, if defined via property
- try {
-
- // Use "auth-provider" property if present, but warn about deprecation
- Class<AuthenticationProvider> authenticationProvider = environment.getProperty(BasicGuacamoleProperties.AUTH_PROVIDER);
- if (authenticationProvider != null)
- logger.warn("The \"auth-provider\" and \"lib-directory\" properties are now deprecated. Please use the \"extensions\" and \"lib\" directories within GUACAMOLE_HOME instead.");
-
- return authenticationProvider;
-
- }
- catch (GuacamoleException e) {
- logger.warn("Value of deprecated \"auth-provider\" property within guacamole.properties is not valid: {}", e.getMessage());
- logger.debug("Error reading authentication provider from guacamole.properties.", e);
- }
-
- return null;
-
- }
-
- /**
* Binds the given AuthenticationProvider class such that any service
* requiring access to the AuthenticationProvider can obtain it via
* injection, along with any other bound AuthenticationProviders.
@@ -410,11 +373,6 @@ public class ExtensionModule extends ServletModule {
// Load initial language resources from servlet context
languageResourceService.addLanguageResources(getServletContext());
- // Load authentication provider from guacamole.properties for sake of backwards compatibility
- Class<AuthenticationProvider> authProviderProperty = getAuthProviderProperty();
- if (authProviderProperty != null)
- bindAuthenticationProvider(authProviderProperty);
-
// Init JavaScript resources with base guacamole.min.js
Collection<Resource> javaScriptResources = new ArrayList<Resource>();
javaScriptResources.add(new WebApplicationResource(getServletContext(), "/guacamole.min.js"));
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/c7a5f0bc/guacamole/src/main/java/org/apache/guacamole/extension/LanguageResourceService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/extension/LanguageResourceService.java b/guacamole/src/main/java/org/apache/guacamole/extension/LanguageResourceService.java
index c043887..2dec8ff 100644
--- a/guacamole/src/main/java/org/apache/guacamole/extension/LanguageResourceService.java
+++ b/guacamole/src/main/java/org/apache/guacamole/extension/LanguageResourceService.java
@@ -38,7 +38,7 @@ import org.codehaus.jackson.node.JsonNodeFactory;
import org.codehaus.jackson.node.ObjectNode;
import org.apache.guacamole.GuacamoleException;
import org.apache.guacamole.environment.Environment;
-import org.apache.guacamole.properties.BasicGuacamoleProperties;
+import org.apache.guacamole.properties.StringSetProperty;
import org.apache.guacamole.resource.ByteArrayResource;
import org.apache.guacamole.resource.Resource;
import org.apache.guacamole.resource.WebApplicationResource;
@@ -80,6 +80,19 @@ public class LanguageResourceService {
private static final Pattern LANGUAGE_KEY_PATTERN = Pattern.compile(".*/([a-z]+(_[A-Z]+)?)\\.json");
/**
+ * Comma-separated list of all allowed languages, where each language is
+ * represented by a language key, such as "en" or "en_US". If specified,
+ * only languages within this list will be listed as available by the REST
+ * service.
+ */
+ public final StringSetProperty ALLOWED_LANGUAGES = new StringSetProperty() {
+
+ @Override
+ public String getName() { return "allowed-languages"; }
+
+ };
+
+ /**
* The set of all language keys which are explicitly listed as allowed
* within guacamole.properties, or null if all defined languages should be
* allowed.
@@ -110,7 +123,7 @@ public class LanguageResourceService {
// Parse list of available languages from properties
try {
- parsedAllowedLanguages = environment.getProperty(BasicGuacamoleProperties.ALLOWED_LANGUAGES);
+ parsedAllowedLanguages = environment.getProperty(ALLOWED_LANGUAGES);
logger.debug("Available languages will be restricted to: {}", parsedAllowedLanguages);
}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/c7a5f0bc/guacamole/src/main/java/org/apache/guacamole/properties/AuthenticationProviderProperty.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/properties/AuthenticationProviderProperty.java b/guacamole/src/main/java/org/apache/guacamole/properties/AuthenticationProviderProperty.java
deleted file mode 100644
index 09f3576..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/properties/AuthenticationProviderProperty.java
+++ /dev/null
@@ -1,68 +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.
- */
-
-package org.apache.guacamole.properties;
-
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.net.auth.AuthenticationProvider;
-import org.apache.guacamole.properties.GuacamoleProperty;
-
-/**
- * A GuacamoleProperty whose value is the name of a class to use to
- * authenticate users. This class must implement AuthenticationProvider. Use
- * of this property type is deprecated in favor of the
- * GUACAMOLE_HOME/extensions directory.
- *
- * @author Michael Jumper
- */
-@Deprecated
-public abstract class AuthenticationProviderProperty implements GuacamoleProperty<Class<AuthenticationProvider>> {
-
- @Override
- @SuppressWarnings("unchecked") // Explicitly checked within by isAssignableFrom()
- public Class<AuthenticationProvider> parseValue(String authProviderClassName) throws GuacamoleException {
-
- // If no property provided, return null.
- if (authProviderClassName == null)
- return null;
-
- // Get auth provider instance
- try {
-
- // Get authentication provider class
- Class<?> authProviderClass = org.apache.guacamole.GuacamoleClassLoader.getInstance().loadClass(authProviderClassName);
-
- // Verify the located class is actually a subclass of AuthenticationProvider
- if (!AuthenticationProvider.class.isAssignableFrom(authProviderClass))
- throw new GuacamoleException("Specified authentication provider class is not a AuthenticationProvider.");
-
- // Return located class
- return (Class<AuthenticationProvider>) authProviderClass;
-
- }
- catch (ClassNotFoundException e) {
- throw new GuacamoleException("Authentication provider class not found", e);
- }
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/c7a5f0bc/guacamole/src/main/java/org/apache/guacamole/properties/BasicGuacamoleProperties.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/properties/BasicGuacamoleProperties.java b/guacamole/src/main/java/org/apache/guacamole/properties/BasicGuacamoleProperties.java
deleted file mode 100644
index 9d8d99f..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/properties/BasicGuacamoleProperties.java
+++ /dev/null
@@ -1,90 +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.
- */
-
-package org.apache.guacamole.properties;
-
-import org.apache.guacamole.properties.FileGuacamoleProperty;
-import org.apache.guacamole.properties.IntegerGuacamoleProperty;
-import org.apache.guacamole.properties.StringGuacamoleProperty;
-
-/**
- * Properties used by the default Guacamole web application.
- *
- * @author Michael Jumper
- */
-public class BasicGuacamoleProperties {
-
- /**
- * This class should not be instantiated.
- */
- private BasicGuacamoleProperties() {}
-
- /**
- * The authentication provider to user when retrieving the authorized
- * configurations of a user. This property is currently supported, but
- * deprecated in favor of the GUACAMOLE_HOME/extensions directory.
- */
- @Deprecated
- public static final AuthenticationProviderProperty AUTH_PROVIDER = new AuthenticationProviderProperty() {
-
- @Override
- public String getName() { return "auth-provider"; }
-
- };
-
- /**
- * The directory to search for authentication provider classes. This
- * property is currently supported, but deprecated in favor of the
- * GUACAMOLE_HOME/lib directory.
- */
- @Deprecated
- public static final FileGuacamoleProperty LIB_DIRECTORY = new FileGuacamoleProperty() {
-
- @Override
- public String getName() { return "lib-directory"; }
-
- };
-
- /**
- * The session timeout for the API, in minutes.
- */
- public static final IntegerGuacamoleProperty API_SESSION_TIMEOUT = new IntegerGuacamoleProperty() {
-
- @Override
- public String getName() { return "api-session-timeout"; }
-
- };
-
- /**
- * Comma-separated list of all allowed languages, where each language is
- * represented by a language key, such as "en" or "en_US". If specified,
- * only languages within this list will be listed as available by the REST
- * service.
- */
- public static final StringSetProperty ALLOWED_LANGUAGES = new StringSetProperty() {
-
- @Override
- public String getName() { return "allowed-languages"; }
-
- };
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/c7a5f0bc/guacamole/src/main/java/org/apache/guacamole/rest/auth/BasicTokenSessionMap.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/auth/BasicTokenSessionMap.java b/guacamole/src/main/java/org/apache/guacamole/rest/auth/BasicTokenSessionMap.java
index 9de33fb..9486122 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/auth/BasicTokenSessionMap.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/auth/BasicTokenSessionMap.java
@@ -32,14 +32,14 @@ import java.util.concurrent.TimeUnit;
import org.apache.guacamole.GuacamoleException;
import org.apache.guacamole.environment.Environment;
import org.apache.guacamole.GuacamoleSession;
-import org.apache.guacamole.properties.BasicGuacamoleProperties;
+import org.apache.guacamole.properties.IntegerGuacamoleProperty;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
- * A basic, HashMap-based implementation of the TokenSessionMap with support
- * for session timeouts.
- *
+ * A HashMap-based implementation of the TokenSessionMap with support for
+ * session timeouts.
+ *
* @author James Muehlner
*/
public class BasicTokenSessionMap implements TokenSessionMap {
@@ -61,6 +61,17 @@ public class BasicTokenSessionMap implements TokenSessionMap {
new ConcurrentHashMap<String, GuacamoleSession>();
/**
+ * The session timeout for the Guacamole REST API, in minutes.
+ */
+ private final IntegerGuacamoleProperty API_SESSION_TIMEOUT =
+ new IntegerGuacamoleProperty() {
+
+ @Override
+ public String getName() { return "api-session-timeout"; }
+
+ };
+
+ /**
* Create a new BasicTokenGuacamoleSessionMap configured using the given
* environment.
*
@@ -73,7 +84,7 @@ public class BasicTokenSessionMap implements TokenSessionMap {
// Read session timeout from guacamole.properties
try {
- sessionTimeoutValue = environment.getProperty(BasicGuacamoleProperties.API_SESSION_TIMEOUT, 60);
+ sessionTimeoutValue = environment.getProperty(API_SESSION_TIMEOUT, 60);
}
catch (GuacamoleException e) {
logger.error("Unable to read guacamole.properties: {}", e.getMessage());
[06/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Remove useless .net.basic subpackage, now that everything is being renamed.
Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty8/GuacamoleWebSocketTunnelServlet.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty8/GuacamoleWebSocketTunnelServlet.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty8/GuacamoleWebSocketTunnelServlet.java
deleted file mode 100644
index 26f45df..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty8/GuacamoleWebSocketTunnelServlet.java
+++ /dev/null
@@ -1,232 +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.
- */
-
-package org.apache.guacamole.net.basic.websocket.jetty8;
-
-import java.io.IOException;
-import javax.servlet.http.HttpServletRequest;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.io.GuacamoleReader;
-import org.apache.guacamole.io.GuacamoleWriter;
-import org.apache.guacamole.net.GuacamoleTunnel;
-import org.eclipse.jetty.websocket.WebSocket;
-import org.eclipse.jetty.websocket.WebSocket.Connection;
-import org.eclipse.jetty.websocket.WebSocketServlet;
-import org.apache.guacamole.GuacamoleClientException;
-import org.apache.guacamole.GuacamoleConnectionClosedException;
-import org.apache.guacamole.net.basic.HTTPTunnelRequest;
-import org.apache.guacamole.net.basic.TunnelRequest;
-import org.apache.guacamole.protocol.GuacamoleStatus;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A WebSocketServlet partial re-implementation of GuacamoleTunnelServlet.
- *
- * @author Michael Jumper
- */
-public abstract class GuacamoleWebSocketTunnelServlet extends WebSocketServlet {
-
- /**
- * Logger for this class.
- */
- private static final Logger logger = LoggerFactory.getLogger(GuacamoleWebSocketTunnelServlet.class);
-
- /**
- * The default, minimum buffer size for instructions.
- */
- private static final int BUFFER_SIZE = 8192;
-
- /**
- * Sends the given status on the given WebSocket connection and closes the
- * connection.
- *
- * @param connection The WebSocket connection to close.
- * @param guac_status The status to send.
- */
- public static void closeConnection(Connection connection,
- GuacamoleStatus guac_status) {
-
- connection.close(guac_status.getWebSocketCode(),
- Integer.toString(guac_status.getGuacamoleStatusCode()));
-
- }
-
- @Override
- public WebSocket doWebSocketConnect(HttpServletRequest request, String protocol) {
-
- final TunnelRequest tunnelRequest = new HTTPTunnelRequest(request);
-
- // Return new WebSocket which communicates through tunnel
- return new WebSocket.OnTextMessage() {
-
- /**
- * The GuacamoleTunnel associated with the connected WebSocket. If
- * the WebSocket has not yet been connected, this will be null.
- */
- private GuacamoleTunnel tunnel = null;
-
- @Override
- public void onMessage(String string) {
-
- // Ignore inbound messages if there is no associated tunnel
- if (tunnel == null)
- return;
-
- GuacamoleWriter writer = tunnel.acquireWriter();
-
- // Write message received
- try {
- writer.write(string.toCharArray());
- }
- catch (GuacamoleConnectionClosedException e) {
- logger.debug("Connection to guacd closed.", e);
- }
- catch (GuacamoleException e) {
- logger.debug("WebSocket tunnel write failed.", e);
- }
-
- tunnel.releaseWriter();
-
- }
-
- @Override
- public void onOpen(final Connection connection) {
-
- try {
- tunnel = doConnect(tunnelRequest);
- }
- catch (GuacamoleException e) {
- logger.error("Creation of WebSocket tunnel to guacd failed: {}", e.getMessage());
- logger.debug("Error connecting WebSocket tunnel.", e);
- closeConnection(connection, e.getStatus());
- return;
- }
-
- // Do not start connection if tunnel does not exist
- if (tunnel == null) {
- closeConnection(connection, GuacamoleStatus.RESOURCE_NOT_FOUND);
- return;
- }
-
- Thread readThread = new Thread() {
-
- @Override
- public void run() {
-
- StringBuilder buffer = new StringBuilder(BUFFER_SIZE);
- GuacamoleReader reader = tunnel.acquireReader();
- char[] readMessage;
-
- try {
-
- try {
-
- // Attempt to read
- while ((readMessage = reader.read()) != null) {
-
- // Buffer message
- buffer.append(readMessage);
-
- // Flush if we expect to wait or buffer is getting full
- if (!reader.available() || buffer.length() >= BUFFER_SIZE) {
- connection.sendMessage(buffer.toString());
- buffer.setLength(0);
- }
-
- }
-
- // No more data
- closeConnection(connection, GuacamoleStatus.SUCCESS);
-
- }
-
- // Catch any thrown guacamole exception and attempt
- // to pass within the WebSocket connection, logging
- // each error appropriately.
- catch (GuacamoleClientException e) {
- logger.info("WebSocket connection terminated: {}", e.getMessage());
- logger.debug("WebSocket connection terminated due to client error.", e);
- closeConnection(connection, e.getStatus());
- }
- catch (GuacamoleConnectionClosedException e) {
- logger.debug("Connection to guacd closed.", e);
- closeConnection(connection, GuacamoleStatus.SUCCESS);
- }
- catch (GuacamoleException e) {
- logger.error("Connection to guacd terminated abnormally: {}", e.getMessage());
- logger.debug("Internal error during connection to guacd.", e);
- closeConnection(connection, e.getStatus());
- }
-
- }
- catch (IOException e) {
- logger.debug("WebSocket tunnel read failed due to I/O error.", e);
- }
-
- }
-
- };
-
- readThread.start();
-
- }
-
- @Override
- public void onClose(int i, String string) {
- try {
- if (tunnel != null)
- tunnel.close();
- }
- catch (GuacamoleException e) {
- logger.debug("Unable to close connection to guacd.", e);
- }
- }
-
- };
-
- }
-
- /**
- * Called whenever the JavaScript Guacamole client makes a connection
- * request. It it up to the implementor of this function to define what
- * conditions must be met for a tunnel to be configured and returned as a
- * result of this connection request (whether some sort of credentials must
- * be specified, for example).
- *
- * @param request
- * The TunnelRequest associated with the connection request received.
- * Any parameters specified along with the connection request can be
- * read from this object.
- *
- * @return
- * A newly constructed GuacamoleTunnel if successful, null otherwise.
- *
- * @throws GuacamoleException
- * If an error occurs while constructing the GuacamoleTunnel, or if the
- * conditions required for connection are not met.
- */
- protected abstract GuacamoleTunnel doConnect(TunnelRequest request)
- throws GuacamoleException;
-
-}
-
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty8/WebSocketTunnelModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty8/WebSocketTunnelModule.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty8/WebSocketTunnelModule.java
deleted file mode 100644
index e4e037c..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty8/WebSocketTunnelModule.java
+++ /dev/null
@@ -1,73 +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.
- */
-
-package org.apache.guacamole.net.basic.websocket.jetty8;
-
-import com.google.inject.servlet.ServletModule;
-import org.apache.guacamole.net.basic.TunnelLoader;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Loads the Jetty 8 WebSocket tunnel implementation.
- *
- * @author Michael Jumper
- */
-public class WebSocketTunnelModule extends ServletModule implements TunnelLoader {
-
- /**
- * Logger for this class.
- */
- private final Logger logger = LoggerFactory.getLogger(WebSocketTunnelModule.class);
-
- @Override
- public boolean isSupported() {
-
- try {
-
- // Attempt to find WebSocket servlet
- Class.forName("org.apache.guacamole.net.basic.websocket.jetty8.BasicGuacamoleWebSocketTunnelServlet");
-
- // Support found
- return true;
-
- }
-
- // If no such servlet class, this particular WebSocket support
- // is not present
- catch (ClassNotFoundException e) {}
- catch (NoClassDefFoundError e) {}
-
- // Support not found
- return false;
-
- }
-
- @Override
- public void configureServlets() {
-
- logger.info("Loading Jetty 8 WebSocket support...");
- serve("/websocket-tunnel").with(BasicGuacamoleWebSocketTunnelServlet.class);
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty8/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty8/package-info.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty8/package-info.java
deleted file mode 100644
index 8cd31be..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty8/package-info.java
+++ /dev/null
@@ -1,27 +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.
- */
-
-/**
- * Jetty 8 WebSocket tunnel implementation. The classes here require Jetty 8.
- */
-package org.apache.guacamole.net.basic.websocket.jetty8;
-
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty9/BasicGuacamoleWebSocketCreator.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty9/BasicGuacamoleWebSocketCreator.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty9/BasicGuacamoleWebSocketCreator.java
deleted file mode 100644
index d7ba080..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty9/BasicGuacamoleWebSocketCreator.java
+++ /dev/null
@@ -1,72 +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.
- */
-
-package org.apache.guacamole.net.basic.websocket.jetty9;
-
-import org.eclipse.jetty.websocket.api.UpgradeRequest;
-import org.eclipse.jetty.websocket.api.UpgradeResponse;
-import org.eclipse.jetty.websocket.servlet.WebSocketCreator;
-import org.apache.guacamole.net.basic.TunnelRequestService;
-
-/**
- * WebSocketCreator which selects the appropriate WebSocketListener
- * implementation if the "guacamole" subprotocol is in use.
- *
- * @author Michael Jumper
- */
-public class BasicGuacamoleWebSocketCreator implements WebSocketCreator {
-
- /**
- * Service for handling tunnel requests.
- */
- private final TunnelRequestService tunnelRequestService;
-
- /**
- * Creates a new WebSocketCreator which uses the given TunnelRequestService
- * to create new GuacamoleTunnels for inbound requests.
- *
- * @param tunnelRequestService The service to use for inbound tunnel
- * requests.
- */
- public BasicGuacamoleWebSocketCreator(TunnelRequestService tunnelRequestService) {
- this.tunnelRequestService = tunnelRequestService;
- }
-
- @Override
- public Object createWebSocket(UpgradeRequest request, UpgradeResponse response) {
-
- // Validate and use "guacamole" subprotocol
- for (String subprotocol : request.getSubProtocols()) {
-
- if ("guacamole".equals(subprotocol)) {
- response.setAcceptedSubProtocol(subprotocol);
- return new BasicGuacamoleWebSocketTunnelListener(tunnelRequestService);
- }
-
- }
-
- // Invalid protocol
- return null;
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty9/BasicGuacamoleWebSocketTunnelListener.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty9/BasicGuacamoleWebSocketTunnelListener.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty9/BasicGuacamoleWebSocketTunnelListener.java
deleted file mode 100644
index de67830..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty9/BasicGuacamoleWebSocketTunnelListener.java
+++ /dev/null
@@ -1,59 +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.
- */
-
-package org.apache.guacamole.net.basic.websocket.jetty9;
-
-import org.eclipse.jetty.websocket.api.Session;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.net.GuacamoleTunnel;
-import org.apache.guacamole.net.basic.TunnelRequestService;
-
-/**
- * WebSocket listener implementation which properly parses connection IDs
- * included in the connection request.
- *
- * @author Michael Jumper
- */
-public class BasicGuacamoleWebSocketTunnelListener extends GuacamoleWebSocketTunnelListener {
-
- /**
- * Service for handling tunnel requests.
- */
- private final TunnelRequestService tunnelRequestService;
-
- /**
- * Creates a new WebSocketListener which uses the given TunnelRequestService
- * to create new GuacamoleTunnels for inbound requests.
- *
- * @param tunnelRequestService The service to use for inbound tunnel
- * requests.
- */
- public BasicGuacamoleWebSocketTunnelListener(TunnelRequestService tunnelRequestService) {
- this.tunnelRequestService = tunnelRequestService;
- }
-
- @Override
- protected GuacamoleTunnel createTunnel(Session session) throws GuacamoleException {
- return tunnelRequestService.createTunnel(new WebSocketTunnelRequest(session.getUpgradeRequest()));
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty9/BasicGuacamoleWebSocketTunnelServlet.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty9/BasicGuacamoleWebSocketTunnelServlet.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty9/BasicGuacamoleWebSocketTunnelServlet.java
deleted file mode 100644
index 65f673d..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty9/BasicGuacamoleWebSocketTunnelServlet.java
+++ /dev/null
@@ -1,54 +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.
- */
-
-package org.apache.guacamole.net.basic.websocket.jetty9;
-
-import com.google.inject.Inject;
-import com.google.inject.Singleton;
-import org.eclipse.jetty.websocket.servlet.WebSocketServlet;
-import org.eclipse.jetty.websocket.servlet.WebSocketServletFactory;
-import org.apache.guacamole.net.basic.TunnelRequestService;
-
-/**
- * A WebSocketServlet partial re-implementation of GuacamoleTunnelServlet.
- *
- * @author Michael Jumper
- */
-@Singleton
-public class BasicGuacamoleWebSocketTunnelServlet extends WebSocketServlet {
-
- /**
- * Service for handling tunnel requests.
- */
- @Inject
- private TunnelRequestService tunnelRequestService;
-
- @Override
- public void configure(WebSocketServletFactory factory) {
-
- // Register WebSocket implementation
- factory.setCreator(new BasicGuacamoleWebSocketCreator(tunnelRequestService));
-
- }
-
-}
-
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty9/GuacamoleWebSocketTunnelListener.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty9/GuacamoleWebSocketTunnelListener.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty9/GuacamoleWebSocketTunnelListener.java
deleted file mode 100644
index 1ca516e..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty9/GuacamoleWebSocketTunnelListener.java
+++ /dev/null
@@ -1,243 +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.
- */
-
-package org.apache.guacamole.net.basic.websocket.jetty9;
-
-import java.io.IOException;
-import org.eclipse.jetty.websocket.api.CloseStatus;
-import org.eclipse.jetty.websocket.api.RemoteEndpoint;
-import org.eclipse.jetty.websocket.api.Session;
-import org.eclipse.jetty.websocket.api.WebSocketListener;
-import org.apache.guacamole.GuacamoleClientException;
-import org.apache.guacamole.GuacamoleConnectionClosedException;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.io.GuacamoleReader;
-import org.apache.guacamole.io.GuacamoleWriter;
-import org.apache.guacamole.net.GuacamoleTunnel;
-import org.apache.guacamole.protocol.GuacamoleStatus;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * WebSocket listener implementation which provides a Guacamole tunnel
- *
- * @author Michael Jumper
- */
-public abstract class GuacamoleWebSocketTunnelListener implements WebSocketListener {
-
- /**
- * The default, minimum buffer size for instructions.
- */
- private static final int BUFFER_SIZE = 8192;
-
- /**
- * Logger for this class.
- */
- private static final Logger logger = LoggerFactory.getLogger(BasicGuacamoleWebSocketTunnelServlet.class);
-
- /**
- * The underlying GuacamoleTunnel. WebSocket reads/writes will be handled
- * as reads/writes to this tunnel.
- */
- private GuacamoleTunnel tunnel;
-
- /**
- * Sends the given status on the given WebSocket connection and closes the
- * connection.
- *
- * @param session The outbound WebSocket connection to close.
- * @param guac_status The status to send.
- */
- private void closeConnection(Session session, GuacamoleStatus guac_status) {
-
- try {
- int code = guac_status.getWebSocketCode();
- String message = Integer.toString(guac_status.getGuacamoleStatusCode());
- session.close(new CloseStatus(code, message));
- }
- catch (IOException e) {
- logger.debug("Unable to close WebSocket connection.", e);
- }
-
- }
-
- /**
- * Returns a new tunnel for the given session. How this tunnel is created
- * or retrieved is implementation-dependent.
- *
- * @param session The session associated with the active WebSocket
- * connection.
- * @return A connected tunnel, or null if no such tunnel exists.
- * @throws GuacamoleException If an error occurs while retrieving the
- * tunnel, or if access to the tunnel is denied.
- */
- protected abstract GuacamoleTunnel createTunnel(Session session)
- throws GuacamoleException;
-
- @Override
- public void onWebSocketConnect(final Session session) {
-
- try {
-
- // Get tunnel
- tunnel = createTunnel(session);
- if (tunnel == null) {
- closeConnection(session, GuacamoleStatus.RESOURCE_NOT_FOUND);
- return;
- }
-
- }
- catch (GuacamoleException e) {
- logger.error("Creation of WebSocket tunnel to guacd failed: {}", e.getMessage());
- logger.debug("Error connecting WebSocket tunnel.", e);
- closeConnection(session, e.getStatus());
- return;
- }
-
- // Prepare read transfer thread
- Thread readThread = new Thread() {
-
- /**
- * Remote (client) side of this connection
- */
- private final RemoteEndpoint remote = session.getRemote();
-
- @Override
- public void run() {
-
- StringBuilder buffer = new StringBuilder(BUFFER_SIZE);
- GuacamoleReader reader = tunnel.acquireReader();
- char[] readMessage;
-
- try {
-
- try {
-
- // Attempt to read
- while ((readMessage = reader.read()) != null) {
-
- // Buffer message
- buffer.append(readMessage);
-
- // Flush if we expect to wait or buffer is getting full
- if (!reader.available() || buffer.length() >= BUFFER_SIZE) {
- remote.sendString(buffer.toString());
- buffer.setLength(0);
- }
-
- }
-
- // No more data
- closeConnection(session, GuacamoleStatus.SUCCESS);
-
- }
-
- // Catch any thrown guacamole exception and attempt
- // to pass within the WebSocket connection, logging
- // each error appropriately.
- catch (GuacamoleClientException e) {
- logger.info("WebSocket connection terminated: {}", e.getMessage());
- logger.debug("WebSocket connection terminated due to client error.", e);
- closeConnection(session, e.getStatus());
- }
- catch (GuacamoleConnectionClosedException e) {
- logger.debug("Connection to guacd closed.", e);
- closeConnection(session, GuacamoleStatus.SUCCESS);
- }
- catch (GuacamoleException e) {
- logger.error("Connection to guacd terminated abnormally: {}", e.getMessage());
- logger.debug("Internal error during connection to guacd.", e);
- closeConnection(session, e.getStatus());
- }
-
- }
- catch (IOException e) {
- logger.debug("I/O error prevents further reads.", e);
- }
-
- }
-
- };
-
- readThread.start();
-
- }
-
- @Override
- public void onWebSocketText(String message) {
-
- // Ignore inbound messages if there is no associated tunnel
- if (tunnel == null)
- return;
-
- GuacamoleWriter writer = tunnel.acquireWriter();
-
- try {
- // Write received message
- writer.write(message.toCharArray());
- }
- catch (GuacamoleConnectionClosedException e) {
- logger.debug("Connection to guacd closed.", e);
- }
- catch (GuacamoleException e) {
- logger.debug("WebSocket tunnel write failed.", e);
- }
-
- tunnel.releaseWriter();
-
- }
-
- @Override
- public void onWebSocketBinary(byte[] payload, int offset, int length) {
- throw new UnsupportedOperationException("Binary WebSocket messages are not supported.");
- }
-
- @Override
- public void onWebSocketError(Throwable t) {
-
- logger.debug("WebSocket tunnel closing due to error.", t);
-
- try {
- if (tunnel != null)
- tunnel.close();
- }
- catch (GuacamoleException e) {
- logger.debug("Unable to close connection to guacd.", e);
- }
-
- }
-
-
- @Override
- public void onWebSocketClose(int statusCode, String reason) {
-
- try {
- if (tunnel != null)
- tunnel.close();
- }
- catch (GuacamoleException e) {
- logger.debug("Unable to close connection to guacd.", e);
- }
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty9/WebSocketTunnelModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty9/WebSocketTunnelModule.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty9/WebSocketTunnelModule.java
deleted file mode 100644
index a2958e3..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty9/WebSocketTunnelModule.java
+++ /dev/null
@@ -1,73 +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.
- */
-
-package org.apache.guacamole.net.basic.websocket.jetty9;
-
-import com.google.inject.servlet.ServletModule;
-import org.apache.guacamole.net.basic.TunnelLoader;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Loads the Jetty 9 WebSocket tunnel implementation.
- *
- * @author Michael Jumper
- */
-public class WebSocketTunnelModule extends ServletModule implements TunnelLoader {
-
- /**
- * Logger for this class.
- */
- private final Logger logger = LoggerFactory.getLogger(WebSocketTunnelModule.class);
-
- @Override
- public boolean isSupported() {
-
- try {
-
- // Attempt to find WebSocket servlet
- Class.forName("org.apache.guacamole.net.basic.websocket.jetty9.BasicGuacamoleWebSocketTunnelServlet");
-
- // Support found
- return true;
-
- }
-
- // If no such servlet class, this particular WebSocket support
- // is not present
- catch (ClassNotFoundException e) {}
- catch (NoClassDefFoundError e) {}
-
- // Support not found
- return false;
-
- }
-
- @Override
- public void configureServlets() {
-
- logger.info("Loading Jetty 9 WebSocket support...");
- serve("/websocket-tunnel").with(BasicGuacamoleWebSocketTunnelServlet.class);
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty9/WebSocketTunnelRequest.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty9/WebSocketTunnelRequest.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty9/WebSocketTunnelRequest.java
deleted file mode 100644
index b807f9f..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty9/WebSocketTunnelRequest.java
+++ /dev/null
@@ -1,76 +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.
- */
-
-package org.apache.guacamole.net.basic.websocket.jetty9;
-
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-import org.eclipse.jetty.websocket.api.UpgradeRequest;
-import org.apache.guacamole.net.basic.TunnelRequest;
-
-/**
- * Jetty 9 WebSocket-specific implementation of TunnelRequest.
- *
- * @author Michael Jumper
- */
-public class WebSocketTunnelRequest extends TunnelRequest {
-
- /**
- * All parameters passed via HTTP to the WebSocket handshake.
- */
- private final Map<String, String[]> handshakeParameters;
-
- /**
- * Creates a TunnelRequest implementation which delegates parameter and
- * session retrieval to the given UpgradeRequest.
- *
- * @param request The UpgradeRequest to wrap.
- */
- public WebSocketTunnelRequest(UpgradeRequest request) {
- this.handshakeParameters = request.getParameterMap();
- }
-
- @Override
- public String getParameter(String name) {
-
- // Pull list of values, if present
- List<String> values = getParameterValues(name);
- if (values == null || values.isEmpty())
- return null;
-
- // Return first parameter value arbitrarily
- return values.get(0);
-
- }
-
- @Override
- public List<String> getParameterValues(String name) {
-
- String[] values = handshakeParameters.get(name);
- if (values == null)
- return null;
-
- return Arrays.asList(values);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty9/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty9/package-info.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty9/package-info.java
deleted file mode 100644
index 21d8b2c..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/jetty9/package-info.java
+++ /dev/null
@@ -1,28 +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.
- */
-
-/**
- * Jetty 9 WebSocket tunnel implementation. The classes here require at least
- * Jetty 9, prior to Jetty 9.1 (when support for JSR 356 was implemented).
- */
-package org.apache.guacamole.net.basic.websocket.jetty9;
-
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/package-info.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/package-info.java
deleted file mode 100644
index a6f9957..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/package-info.java
+++ /dev/null
@@ -1,28 +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.
- */
-
-/**
- * Standard WebSocket tunnel implementation. The classes here require a recent
- * servlet container that supports JSR 356.
- */
-package org.apache.guacamole.net.basic.websocket;
-
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/tomcat/BasicGuacamoleWebSocketTunnelServlet.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/tomcat/BasicGuacamoleWebSocketTunnelServlet.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/tomcat/BasicGuacamoleWebSocketTunnelServlet.java
deleted file mode 100644
index 60361a7..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/tomcat/BasicGuacamoleWebSocketTunnelServlet.java
+++ /dev/null
@@ -1,52 +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.
- */
-
-package org.apache.guacamole.net.basic.websocket.tomcat;
-
-import com.google.inject.Inject;
-import com.google.inject.Singleton;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.net.GuacamoleTunnel;
-import org.apache.guacamole.net.basic.TunnelRequestService;
-import org.apache.guacamole.net.basic.TunnelRequest;
-
-/**
- * Tunnel servlet implementation which uses WebSocket as a tunnel backend,
- * rather than HTTP, properly parsing connection IDs included in the connection
- * request.
- */
-@Singleton
-public class BasicGuacamoleWebSocketTunnelServlet extends GuacamoleWebSocketTunnelServlet {
-
- /**
- * Service for handling tunnel requests.
- */
- @Inject
- private TunnelRequestService tunnelRequestService;
-
- @Override
- protected GuacamoleTunnel doConnect(TunnelRequest request)
- throws GuacamoleException {
- return tunnelRequestService.createTunnel(request);
- };
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/tomcat/GuacamoleWebSocketTunnelServlet.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/tomcat/GuacamoleWebSocketTunnelServlet.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/tomcat/GuacamoleWebSocketTunnelServlet.java
deleted file mode 100644
index 649c3cd..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/tomcat/GuacamoleWebSocketTunnelServlet.java
+++ /dev/null
@@ -1,265 +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.
- */
-
-package org.apache.guacamole.net.basic.websocket.tomcat;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Reader;
-import java.nio.ByteBuffer;
-import java.nio.CharBuffer;
-import java.util.List;
-import javax.servlet.http.HttpServletRequest;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.io.GuacamoleReader;
-import org.apache.guacamole.io.GuacamoleWriter;
-import org.apache.guacamole.net.GuacamoleTunnel;
-import org.apache.catalina.websocket.StreamInbound;
-import org.apache.catalina.websocket.WebSocketServlet;
-import org.apache.catalina.websocket.WsOutbound;
-import org.apache.guacamole.GuacamoleClientException;
-import org.apache.guacamole.GuacamoleConnectionClosedException;
-import org.apache.guacamole.net.basic.HTTPTunnelRequest;
-import org.apache.guacamole.net.basic.TunnelRequest;
-import org.apache.guacamole.protocol.GuacamoleStatus;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A WebSocketServlet partial re-implementation of GuacamoleTunnelServlet.
- *
- * @author Michael Jumper
- */
-public abstract class GuacamoleWebSocketTunnelServlet extends WebSocketServlet {
-
- /**
- * The default, minimum buffer size for instructions.
- */
- private static final int BUFFER_SIZE = 8192;
-
- /**
- * Logger for this class.
- */
- private final Logger logger = LoggerFactory.getLogger(GuacamoleWebSocketTunnelServlet.class);
-
- /**
- * Sends the given status on the given WebSocket connection and closes the
- * connection.
- *
- * @param outbound The outbound WebSocket connection to close.
- * @param guac_status The status to send.
- */
- public void closeConnection(WsOutbound outbound, GuacamoleStatus guac_status) {
-
- try {
- byte[] message = Integer.toString(guac_status.getGuacamoleStatusCode()).getBytes("UTF-8");
- outbound.close(guac_status.getWebSocketCode(), ByteBuffer.wrap(message));
- }
- catch (IOException e) {
- logger.debug("Unable to close WebSocket tunnel.", e);
- }
-
- }
-
- @Override
- protected String selectSubProtocol(List<String> subProtocols) {
-
- // Search for expected protocol
- for (String protocol : subProtocols)
- if ("guacamole".equals(protocol))
- return "guacamole";
-
- // Otherwise, fail
- return null;
-
- }
-
- @Override
- public StreamInbound createWebSocketInbound(String protocol,
- HttpServletRequest request) {
-
- final TunnelRequest tunnelRequest = new HTTPTunnelRequest(request);
-
- // Return new WebSocket which communicates through tunnel
- return new StreamInbound() {
-
- /**
- * The GuacamoleTunnel associated with the connected WebSocket. If
- * the WebSocket has not yet been connected, this will be null.
- */
- private GuacamoleTunnel tunnel = null;
-
- @Override
- protected void onTextData(Reader reader) throws IOException {
-
- // Ignore inbound messages if there is no associated tunnel
- if (tunnel == null)
- return;
-
- GuacamoleWriter writer = tunnel.acquireWriter();
-
- // Write all available data
- try {
-
- char[] buffer = new char[BUFFER_SIZE];
-
- int num_read;
- while ((num_read = reader.read(buffer)) > 0)
- writer.write(buffer, 0, num_read);
-
- }
- catch (GuacamoleConnectionClosedException e) {
- logger.debug("Connection to guacd closed.", e);
- }
- catch (GuacamoleException e) {
- logger.debug("WebSocket tunnel write failed.", e);
- }
-
- tunnel.releaseWriter();
- }
-
- @Override
- public void onOpen(final WsOutbound outbound) {
-
- try {
- tunnel = doConnect(tunnelRequest);
- }
- catch (GuacamoleException e) {
- logger.error("Creation of WebSocket tunnel to guacd failed: {}", e.getMessage());
- logger.debug("Error connecting WebSocket tunnel.", e);
- closeConnection(outbound, e.getStatus());
- return;
- }
-
- // Do not start connection if tunnel does not exist
- if (tunnel == null) {
- closeConnection(outbound, GuacamoleStatus.RESOURCE_NOT_FOUND);
- return;
- }
-
- Thread readThread = new Thread() {
-
- @Override
- public void run() {
-
- StringBuilder buffer = new StringBuilder(BUFFER_SIZE);
- GuacamoleReader reader = tunnel.acquireReader();
- char[] readMessage;
-
- try {
-
- try {
-
- // Attempt to read
- while ((readMessage = reader.read()) != null) {
-
- // Buffer message
- buffer.append(readMessage);
-
- // Flush if we expect to wait or buffer is getting full
- if (!reader.available() || buffer.length() >= BUFFER_SIZE) {
- outbound.writeTextMessage(CharBuffer.wrap(buffer));
- buffer.setLength(0);
- }
-
- }
-
- // No more data
- closeConnection(outbound, GuacamoleStatus.SUCCESS);
-
- }
-
- // Catch any thrown guacamole exception and attempt
- // to pass within the WebSocket connection, logging
- // each error appropriately.
- catch (GuacamoleClientException e) {
- logger.info("WebSocket connection terminated: {}", e.getMessage());
- logger.debug("WebSocket connection terminated due to client error.", e);
- closeConnection(outbound, e.getStatus());
- }
- catch (GuacamoleConnectionClosedException e) {
- logger.debug("Connection to guacd closed.", e);
- closeConnection(outbound, GuacamoleStatus.SUCCESS);
- }
- catch (GuacamoleException e) {
- logger.error("Connection to guacd terminated abnormally: {}", e.getMessage());
- logger.debug("Internal error during connection to guacd.", e);
- closeConnection(outbound, e.getStatus());
- }
-
- }
- catch (IOException e) {
- logger.debug("I/O error prevents further reads.", e);
- }
-
- }
-
- };
-
- readThread.start();
-
- }
-
- @Override
- public void onClose(int i) {
- try {
- if (tunnel != null)
- tunnel.close();
- }
- catch (GuacamoleException e) {
- logger.debug("Unable to close connection to guacd.", e);
- }
- }
-
- @Override
- protected void onBinaryData(InputStream in) throws IOException {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- };
-
- }
-
- /**
- * Called whenever the JavaScript Guacamole client makes a connection
- * request. It it up to the implementor of this function to define what
- * conditions must be met for a tunnel to be configured and returned as a
- * result of this connection request (whether some sort of credentials must
- * be specified, for example).
- *
- * @param request
- * The TunnelRequest associated with the connection request received.
- * Any parameters specified along with the connection request can be
- * read from this object.
- *
- * @return
- * A newly constructed GuacamoleTunnel if successful, null otherwise.
- *
- * @throws GuacamoleException
- * If an error occurs while constructing the GuacamoleTunnel, or if the
- * conditions required for connection are not met.
- */
- protected abstract GuacamoleTunnel doConnect(TunnelRequest request)
- throws GuacamoleException;
-
-}
-
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/tomcat/WebSocketTunnelModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/tomcat/WebSocketTunnelModule.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/tomcat/WebSocketTunnelModule.java
deleted file mode 100644
index 2ff57ab..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/tomcat/WebSocketTunnelModule.java
+++ /dev/null
@@ -1,73 +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.
- */
-
-package org.apache.guacamole.net.basic.websocket.tomcat;
-
-import com.google.inject.servlet.ServletModule;
-import org.apache.guacamole.net.basic.TunnelLoader;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Loads the Jetty 9 WebSocket tunnel implementation.
- *
- * @author Michael Jumper
- */
-public class WebSocketTunnelModule extends ServletModule implements TunnelLoader {
-
- /**
- * Logger for this class.
- */
- private final Logger logger = LoggerFactory.getLogger(WebSocketTunnelModule.class);
-
- @Override
- public boolean isSupported() {
-
- try {
-
- // Attempt to find WebSocket servlet
- Class.forName("org.apache.guacamole.net.basic.websocket.tomcat.BasicGuacamoleWebSocketTunnelServlet");
-
- // Support found
- return true;
-
- }
-
- // If no such servlet class, this particular WebSocket support
- // is not present
- catch (ClassNotFoundException e) {}
- catch (NoClassDefFoundError e) {}
-
- // Support not found
- return false;
-
- }
-
- @Override
- public void configureServlets() {
-
- logger.info("Loading Tomcat 7 WebSocket support...");
- serve("/websocket-tunnel").with(BasicGuacamoleWebSocketTunnelServlet.class);
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/tomcat/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/tomcat/package-info.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/tomcat/package-info.java
deleted file mode 100644
index a9a48f0..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/websocket/tomcat/package-info.java
+++ /dev/null
@@ -1,29 +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.
- */
-
-/**
- * Tomcat WebSocket tunnel implementation. The classes here require at least
- * Tomcat 7.0, and may change significantly as there is no common WebSocket
- * API for Java yet.
- */
-package org.apache.guacamole.net.basic.websocket.tomcat;
-
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/xml/usermapping/AuthorizeTagHandler.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/xml/usermapping/AuthorizeTagHandler.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/xml/usermapping/AuthorizeTagHandler.java
deleted file mode 100644
index 54a54e0..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/xml/usermapping/AuthorizeTagHandler.java
+++ /dev/null
@@ -1,151 +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.
- */
-
-package org.apache.guacamole.net.basic.xml.usermapping;
-
-import org.apache.guacamole.net.basic.auth.Authorization;
-import org.apache.guacamole.net.basic.auth.UserMapping;
-import org.apache.guacamole.xml.TagHandler;
-import org.apache.guacamole.protocol.GuacamoleConfiguration;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-
-/**
- * TagHandler for the "authorize" element.
- *
- * @author Mike Jumper
- */
-public class AuthorizeTagHandler implements TagHandler {
-
- /**
- * The Authorization corresponding to the "authorize" tag being handled
- * by this tag handler. The data of this Authorization will be populated
- * as the tag is parsed.
- */
- private Authorization authorization = new Authorization();
-
- /**
- * The default GuacamoleConfiguration to use if "param" or "protocol"
- * tags occur outside a "connection" tag.
- */
- private GuacamoleConfiguration default_config = null;
-
- /**
- * The UserMapping this authorization belongs to.
- */
- private UserMapping parent;
-
- /**
- * Creates a new AuthorizeTagHandler that parses an Authorization owned
- * by the given UserMapping.
- *
- * @param parent The UserMapping that owns the Authorization this handler
- * will parse.
- */
- public AuthorizeTagHandler(UserMapping parent) {
- this.parent = parent;
- }
-
- @Override
- public void init(Attributes attributes) throws SAXException {
-
- // Init username and password
- authorization.setUsername(attributes.getValue("username"));
- authorization.setPassword(attributes.getValue("password"));
-
- // Get encoding
- String encoding = attributes.getValue("encoding");
- if (encoding != null) {
-
- // If "md5", use MD5 encoding
- if (encoding.equals("md5"))
- authorization.setEncoding(Authorization.Encoding.MD5);
-
- // If "plain", use plain text
- else if (encoding.equals("plain"))
- authorization.setEncoding(Authorization.Encoding.PLAIN_TEXT);
-
- // Otherwise, bad encoding
- else
- throw new SAXException(
- "Invalid encoding: '" + encoding + "'");
-
- }
-
- parent.addAuthorization(this.asAuthorization());
-
- }
-
- @Override
- public TagHandler childElement(String localName) throws SAXException {
-
- // "connection" tag
- if (localName.equals("connection"))
- return new ConnectionTagHandler(authorization);
-
- // "param" tag
- if (localName.equals("param")) {
-
- // Create default config if it doesn't exist
- if (default_config == null) {
- default_config = new GuacamoleConfiguration();
- authorization.addConfiguration("DEFAULT", default_config);
- }
-
- return new ParamTagHandler(default_config);
- }
-
- // "protocol" tag
- if (localName.equals("protocol")) {
-
- // Create default config if it doesn't exist
- if (default_config == null) {
- default_config = new GuacamoleConfiguration();
- authorization.addConfiguration("DEFAULT", default_config);
- }
-
- return new ProtocolTagHandler(default_config);
- }
-
- return null;
-
- }
-
- @Override
- public void complete(String textContent) throws SAXException {
- // Do nothing
- }
-
- /**
- * Returns an Authorization backed by the data of this authorize tag
- * handler. This Authorization is guaranteed to at least have the username,
- * password, and encoding available. Any associated configurations will be
- * added dynamically as the authorize tag is parsed.
- *
- * @return An Authorization backed by the data of this authorize tag
- * handler.
- */
- public Authorization asAuthorization() {
- return authorization;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/xml/usermapping/ConnectionTagHandler.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/xml/usermapping/ConnectionTagHandler.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/xml/usermapping/ConnectionTagHandler.java
deleted file mode 100644
index 0c02f95..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/xml/usermapping/ConnectionTagHandler.java
+++ /dev/null
@@ -1,110 +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.
- */
-
-package org.apache.guacamole.net.basic.xml.usermapping;
-
-import org.apache.guacamole.net.basic.auth.Authorization;
-import org.apache.guacamole.xml.TagHandler;
-import org.apache.guacamole.protocol.GuacamoleConfiguration;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-
-/**
- * TagHandler for the "connection" element.
- *
- * @author Mike Jumper
- */
-public class ConnectionTagHandler implements TagHandler {
-
- /**
- * The GuacamoleConfiguration backing this tag handler.
- */
- private GuacamoleConfiguration config = new GuacamoleConfiguration();
-
- /**
- * The name associated with the connection being parsed.
- */
- private String name;
-
- /**
- * The Authorization this connection belongs to.
- */
- private Authorization parent;
-
- /**
- * Creates a new ConnectionTagHandler that parses a Connection owned by
- * the given Authorization.
- *
- * @param parent The Authorization that will own this Connection once
- * parsed.
- */
- public ConnectionTagHandler(Authorization parent) {
- this.parent = parent;
- }
-
- @Override
- public void init(Attributes attributes) throws SAXException {
- name = attributes.getValue("name");
- parent.addConfiguration(name, this.asGuacamoleConfiguration());
- }
-
- @Override
- public TagHandler childElement(String localName) throws SAXException {
-
- if (localName.equals("param"))
- return new ParamTagHandler(config);
-
- if (localName.equals("protocol"))
- return new ProtocolTagHandler(config);
-
- return null;
-
- }
-
- @Override
- public void complete(String textContent) throws SAXException {
- // Do nothing
- }
-
- /**
- * Returns a GuacamoleConfiguration whose contents are populated from data
- * within this connection element and child elements. This
- * GuacamoleConfiguration will continue to be modified as the user mapping
- * is parsed.
- *
- * @return A GuacamoleConfiguration whose contents are populated from data
- * within this connection element.
- */
- public GuacamoleConfiguration asGuacamoleConfiguration() {
- return config;
- }
-
- /**
- * Returns the name associated with this connection.
- *
- * @return The name associated with this connection.
- */
- public String getName() {
- return name;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/xml/usermapping/ParamTagHandler.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/xml/usermapping/ParamTagHandler.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/xml/usermapping/ParamTagHandler.java
deleted file mode 100644
index 4c5ef8b..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/xml/usermapping/ParamTagHandler.java
+++ /dev/null
@@ -1,74 +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.
- */
-
-package org.apache.guacamole.net.basic.xml.usermapping;
-
-import org.apache.guacamole.xml.TagHandler;
-import org.apache.guacamole.protocol.GuacamoleConfiguration;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-
-/**
- * TagHandler for the "param" element.
- *
- * @author Mike Jumper
- */
-public class ParamTagHandler implements TagHandler {
-
- /**
- * The GuacamoleConfiguration which will be populated with data from
- * the tag handled by this tag handler.
- */
- private GuacamoleConfiguration config;
-
- /**
- * The name of the parameter.
- */
- private String name;
-
- /**
- * Creates a new handler for an "param" tag having the given
- * attributes.
- *
- * @param config The GuacamoleConfiguration to update with the data parsed
- * from the "protocol" tag.
- */
- public ParamTagHandler(GuacamoleConfiguration config) {
- this.config = config;
- }
-
- @Override
- public void init(Attributes attributes) throws SAXException {
- this.name = attributes.getValue("name");
- }
-
- @Override
- public TagHandler childElement(String localName) throws SAXException {
- throw new SAXException("The 'param' tag can contain no elements.");
- }
-
- @Override
- public void complete(String textContent) throws SAXException {
- config.setParameter(name, textContent);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/xml/usermapping/ProtocolTagHandler.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/xml/usermapping/ProtocolTagHandler.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/xml/usermapping/ProtocolTagHandler.java
deleted file mode 100644
index b00b711..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/xml/usermapping/ProtocolTagHandler.java
+++ /dev/null
@@ -1,70 +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.
- */
-
-package org.apache.guacamole.net.basic.xml.usermapping;
-
-import org.apache.guacamole.xml.TagHandler;
-import org.apache.guacamole.protocol.GuacamoleConfiguration;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-
-/**
- * TagHandler for the "protocol" element.
- *
- * @author Mike Jumper
- */
-public class ProtocolTagHandler implements TagHandler {
-
- /**
- * The GuacamoleConfiguration which will be populated with data from
- * the tag handled by this tag handler.
- */
- private GuacamoleConfiguration config;
-
- /**
- * Creates a new handler for a "protocol" tag having the given
- * attributes.
- *
- * @param config The GuacamoleConfiguration to update with the data parsed
- * from the "protocol" tag.
- * @throws SAXException If the attributes given are not valid.
- */
- public ProtocolTagHandler(GuacamoleConfiguration config) throws SAXException {
- this.config = config;
- }
-
- @Override
- public void init(Attributes attributes) throws SAXException {
- // Do nothing
- }
-
- @Override
- public TagHandler childElement(String localName) throws SAXException {
- throw new SAXException("The 'protocol' tag can contain no elements.");
- }
-
- @Override
- public void complete(String textContent) throws SAXException {
- config.setProtocol(textContent);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/xml/usermapping/UserMappingTagHandler.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/xml/usermapping/UserMappingTagHandler.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/xml/usermapping/UserMappingTagHandler.java
deleted file mode 100644
index 144b2c4..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/xml/usermapping/UserMappingTagHandler.java
+++ /dev/null
@@ -1,78 +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.
- */
-
-package org.apache.guacamole.net.basic.xml.usermapping;
-
-import org.apache.guacamole.net.basic.auth.UserMapping;
-import org.apache.guacamole.xml.TagHandler;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-
-/**
- * TagHandler for the "user-mapping" element.
- *
- * @author Mike Jumper
- */
-public class UserMappingTagHandler implements TagHandler {
-
- /**
- * The UserMapping which will contain all data parsed by this tag handler.
- */
- private UserMapping user_mapping = new UserMapping();
-
- @Override
- public void init(Attributes attributes) throws SAXException {
- // Do nothing
- }
-
- @Override
- public TagHandler childElement(String localName) throws SAXException {
-
- // Start parsing of authorize tags, add to list of all authorizations
- if (localName.equals("authorize"))
- return new AuthorizeTagHandler(user_mapping);
-
- return null;
-
- }
-
- @Override
- public void complete(String textContent) throws SAXException {
- // Do nothing
- }
-
- /**
- * Returns a user mapping containing all authorizations and configurations
- * parsed so far. This user mapping will be backed by the data being parsed,
- * thus any additional authorizations or configurations will be available
- * in the object returned by this function even after this function has
- * returned, once the data corresponding to those authorizations or
- * configurations has been parsed.
- *
- * @return A user mapping containing all authorizations and configurations
- * parsed so far.
- */
- public UserMapping asUserMapping() {
- return user_mapping;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/xml/usermapping/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/xml/usermapping/package-info.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/xml/usermapping/package-info.java
deleted file mode 100644
index dfb580b..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/xml/usermapping/package-info.java
+++ /dev/null
@@ -1,27 +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.
- */
-
-/**
- * Classes related to parsing the user-mapping.xml file.
- */
-package org.apache.guacamole.net.basic.xml.usermapping;
-
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/package-info.java b/guacamole/src/main/java/org/apache/guacamole/package-info.java
new file mode 100644
index 0000000..63ee12e
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/package-info.java
@@ -0,0 +1,28 @@
+/*
+ * 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.
+ */
+
+/**
+ * Classes specific to the general-purpose web application implemented by
+ * the Guacamole project using the Guacamole APIs.
+ */
+package org.apache.guacamole;
+
[14/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Remove useless .net.basic subpackage, now that everything is being renamed.
Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/auth/Authorization.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/auth/Authorization.java b/guacamole/src/main/java/org/apache/guacamole/auth/Authorization.java
new file mode 100644
index 0000000..9ff1c79
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/auth/Authorization.java
@@ -0,0 +1,255 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.auth;
+
+import java.io.UnsupportedEncodingException;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
+import java.util.Map;
+import java.util.TreeMap;
+import org.apache.guacamole.protocol.GuacamoleConfiguration;
+
+/**
+ * Mapping of username/password pair to configuration set. In addition to basic
+ * storage of the username, password, and configurations, this class also
+ * provides password validation functions.
+ *
+ * @author Mike Jumper
+ */
+public class Authorization {
+
+ /**
+ * All supported password encodings.
+ */
+ public static enum Encoding {
+
+ /**
+ * Plain-text password (not hashed at all).
+ */
+ PLAIN_TEXT,
+
+ /**
+ * Password hashed with MD5.
+ */
+ MD5
+
+ }
+
+ /**
+ * The username being authorized.
+ */
+ private String username;
+
+ /**
+ * The password corresponding to the username being authorized, which may
+ * be hashed.
+ */
+ private String password;
+
+ /**
+ * The encoding used when the password was hashed.
+ */
+ private Encoding encoding = Encoding.PLAIN_TEXT;
+
+ /**
+ * Map of all authorized configurations, indexed by configuration name.
+ */
+ private Map<String, GuacamoleConfiguration> configs = new
+ TreeMap<String, GuacamoleConfiguration>();
+
+ /**
+ * Lookup table of hex bytes characters by value.
+ */
+ private static final char HEX_CHARS[] = {
+ '0', '1', '2', '3', '4', '5', '6', '7',
+ '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'
+ };
+
+ /**
+ * Produces a String containing the bytes provided in hexadecimal notation.
+ *
+ * @param bytes The bytes to convert into hex.
+ * @return A String containing the hex representation of the given bytes.
+ */
+ private static String getHexString(byte[] bytes) {
+
+ // If null byte array given, return null
+ if (bytes == null)
+ return null;
+
+ // Create string builder for holding the hex representation,
+ // pre-calculating the exact length
+ StringBuilder hex = new StringBuilder(2 * bytes.length);
+
+ // Convert each byte into a pair of hex digits
+ for (byte b : bytes) {
+ hex.append(HEX_CHARS[(b & 0xF0) >> 4])
+ .append(HEX_CHARS[ b & 0x0F ]);
+ }
+
+ // Return the string produced
+ return hex.toString();
+
+ }
+
+ /**
+ * Returns the username associated with this authorization.
+ *
+ * @return The username associated with this authorization.
+ */
+ public String getUsername() {
+ return username;
+ }
+
+ /**
+ * Sets the username associated with this authorization.
+ *
+ * @param username The username to associate with this authorization.
+ */
+ public void setUsername(String username) {
+ this.username = username;
+ }
+
+ /**
+ * Returns the password associated with this authorization, which may be
+ * encoded or hashed.
+ *
+ * @return The password associated with this authorization.
+ */
+ public String getPassword() {
+ return password;
+ }
+
+ /**
+ * Sets the password associated with this authorization, which must be
+ * encoded using the encoding specified with setEncoding(). By default,
+ * passwords are plain text.
+ *
+ * @param password Sets the password associated with this authorization.
+ */
+ public void setPassword(String password) {
+ this.password = password;
+ }
+
+ /**
+ * Returns the encoding used to hash the password, if any.
+ *
+ * @return The encoding used to hash the password.
+ */
+ public Encoding getEncoding() {
+ return encoding;
+ }
+
+ /**
+ * Sets the encoding which will be used to hash the password or when
+ * comparing a given password for validation.
+ *
+ * @param encoding The encoding to use for password hashing.
+ */
+ public void setEncoding(Encoding encoding) {
+ this.encoding = encoding;
+ }
+
+ /**
+ * Returns whether a given username/password pair is authorized based on
+ * the stored username and password. The password given must be plain text.
+ * It will be hashed as necessary to perform the validation.
+ *
+ * @param username The username to validate.
+ * @param password The password to validate.
+ * @return true if the username/password pair given is authorized, false
+ * otherwise.
+ */
+ public boolean validate(String username, String password) {
+
+ // If username matches
+ if (username != null && password != null
+ && username.equals(this.username)) {
+
+ switch (encoding) {
+
+ // If plain text, just compare
+ case PLAIN_TEXT:
+
+ // Compare plaintext
+ return password.equals(this.password);
+
+ // If hased with MD5, hash password and compare
+ case MD5:
+
+ // Compare hashed password
+ try {
+ MessageDigest digest = MessageDigest.getInstance("MD5");
+ String hashedPassword = getHexString(digest.digest(password.getBytes("UTF-8")));
+ return hashedPassword.equals(this.password.toUpperCase());
+ }
+ catch (UnsupportedEncodingException e) {
+ throw new UnsupportedOperationException("Unexpected lack of UTF-8 support.", e);
+ }
+ catch (NoSuchAlgorithmException e) {
+ throw new UnsupportedOperationException("Unexpected lack of MD5 support.", e);
+ }
+
+ }
+
+ } // end validation check
+
+ return false;
+
+ }
+
+ /**
+ * Returns the GuacamoleConfiguration having the given name and associated
+ * with the username/password pair stored within this authorization.
+ *
+ * @param name The name of the GuacamoleConfiguration to return.
+ * @return The GuacamoleConfiguration having the given name, or null if no
+ * such GuacamoleConfiguration exists.
+ */
+ public GuacamoleConfiguration getConfiguration(String name) {
+ return configs.get(name);
+ }
+
+ /**
+ * Adds the given GuacamoleConfiguration to the set of stored configurations
+ * under the given name.
+ *
+ * @param name The name to associate this GuacamoleConfiguration with.
+ * @param config The GuacamoleConfiguration to store.
+ */
+ public void addConfiguration(String name, GuacamoleConfiguration config) {
+ configs.put(name, config);
+ }
+
+ /**
+ * Returns a Map of all stored GuacamoleConfigurations associated with the
+ * username/password pair stored within this authorization, indexed by
+ * configuration name.
+ *
+ * @return A Map of all stored GuacamoleConfigurations.
+ */
+ public Map<String, GuacamoleConfiguration> getConfigurations() {
+ return configs;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/auth/UserMapping.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/auth/UserMapping.java b/guacamole/src/main/java/org/apache/guacamole/auth/UserMapping.java
new file mode 100644
index 0000000..7f86b1e
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/auth/UserMapping.java
@@ -0,0 +1,62 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.auth;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Mapping of all usernames to corresponding authorizations.
+ *
+ * @author Mike Jumper
+ */
+public class UserMapping {
+
+ /**
+ * All authorizations, indexed by username.
+ */
+ private Map<String, Authorization> authorizations =
+ new HashMap<String, Authorization>();
+
+ /**
+ * Adds the given authorization to the user mapping.
+ *
+ * @param authorization The authorization to add to the user mapping.
+ */
+ public void addAuthorization(Authorization authorization) {
+ authorizations.put(authorization.getUsername(), authorization);
+ }
+
+ /**
+ * Returns the authorization corresponding to the user having the given
+ * username, if any.
+ *
+ * @param username The username to find the authorization for.
+ * @return The authorization corresponding to the user having the given
+ * username, or null if no such authorization exists.
+ */
+ public Authorization getAuthorization(String username) {
+ return authorizations.get(username);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/auth/basic/AuthorizeTagHandler.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/auth/basic/AuthorizeTagHandler.java b/guacamole/src/main/java/org/apache/guacamole/auth/basic/AuthorizeTagHandler.java
new file mode 100644
index 0000000..bdd9c9a
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/auth/basic/AuthorizeTagHandler.java
@@ -0,0 +1,151 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.auth.basic;
+
+import org.apache.guacamole.auth.Authorization;
+import org.apache.guacamole.auth.UserMapping;
+import org.apache.guacamole.xml.TagHandler;
+import org.apache.guacamole.protocol.GuacamoleConfiguration;
+import org.xml.sax.Attributes;
+import org.xml.sax.SAXException;
+
+/**
+ * TagHandler for the "authorize" element.
+ *
+ * @author Mike Jumper
+ */
+public class AuthorizeTagHandler implements TagHandler {
+
+ /**
+ * The Authorization corresponding to the "authorize" tag being handled
+ * by this tag handler. The data of this Authorization will be populated
+ * as the tag is parsed.
+ */
+ private Authorization authorization = new Authorization();
+
+ /**
+ * The default GuacamoleConfiguration to use if "param" or "protocol"
+ * tags occur outside a "connection" tag.
+ */
+ private GuacamoleConfiguration default_config = null;
+
+ /**
+ * The UserMapping this authorization belongs to.
+ */
+ private UserMapping parent;
+
+ /**
+ * Creates a new AuthorizeTagHandler that parses an Authorization owned
+ * by the given UserMapping.
+ *
+ * @param parent The UserMapping that owns the Authorization this handler
+ * will parse.
+ */
+ public AuthorizeTagHandler(UserMapping parent) {
+ this.parent = parent;
+ }
+
+ @Override
+ public void init(Attributes attributes) throws SAXException {
+
+ // Init username and password
+ authorization.setUsername(attributes.getValue("username"));
+ authorization.setPassword(attributes.getValue("password"));
+
+ // Get encoding
+ String encoding = attributes.getValue("encoding");
+ if (encoding != null) {
+
+ // If "md5", use MD5 encoding
+ if (encoding.equals("md5"))
+ authorization.setEncoding(Authorization.Encoding.MD5);
+
+ // If "plain", use plain text
+ else if (encoding.equals("plain"))
+ authorization.setEncoding(Authorization.Encoding.PLAIN_TEXT);
+
+ // Otherwise, bad encoding
+ else
+ throw new SAXException(
+ "Invalid encoding: '" + encoding + "'");
+
+ }
+
+ parent.addAuthorization(this.asAuthorization());
+
+ }
+
+ @Override
+ public TagHandler childElement(String localName) throws SAXException {
+
+ // "connection" tag
+ if (localName.equals("connection"))
+ return new ConnectionTagHandler(authorization);
+
+ // "param" tag
+ if (localName.equals("param")) {
+
+ // Create default config if it doesn't exist
+ if (default_config == null) {
+ default_config = new GuacamoleConfiguration();
+ authorization.addConfiguration("DEFAULT", default_config);
+ }
+
+ return new ParamTagHandler(default_config);
+ }
+
+ // "protocol" tag
+ if (localName.equals("protocol")) {
+
+ // Create default config if it doesn't exist
+ if (default_config == null) {
+ default_config = new GuacamoleConfiguration();
+ authorization.addConfiguration("DEFAULT", default_config);
+ }
+
+ return new ProtocolTagHandler(default_config);
+ }
+
+ return null;
+
+ }
+
+ @Override
+ public void complete(String textContent) throws SAXException {
+ // Do nothing
+ }
+
+ /**
+ * Returns an Authorization backed by the data of this authorize tag
+ * handler. This Authorization is guaranteed to at least have the username,
+ * password, and encoding available. Any associated configurations will be
+ * added dynamically as the authorize tag is parsed.
+ *
+ * @return An Authorization backed by the data of this authorize tag
+ * handler.
+ */
+ public Authorization asAuthorization() {
+ return authorization;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/auth/basic/BasicFileAuthenticationProvider.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/auth/basic/BasicFileAuthenticationProvider.java b/guacamole/src/main/java/org/apache/guacamole/auth/basic/BasicFileAuthenticationProvider.java
new file mode 100644
index 0000000..be3fd1a
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/auth/basic/BasicFileAuthenticationProvider.java
@@ -0,0 +1,218 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.auth.basic;
+
+import java.io.BufferedInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Map;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.environment.Environment;
+import org.apache.guacamole.environment.LocalEnvironment;
+import org.apache.guacamole.net.auth.Credentials;
+import org.apache.guacamole.net.auth.simple.SimpleAuthenticationProvider;
+import org.apache.guacamole.auth.Authorization;
+import org.apache.guacamole.auth.UserMapping;
+import org.apache.guacamole.xml.DocumentHandler;
+import org.apache.guacamole.properties.FileGuacamoleProperty;
+import org.apache.guacamole.protocol.GuacamoleConfiguration;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+import org.xml.sax.XMLReader;
+import org.xml.sax.helpers.XMLReaderFactory;
+
+/**
+ * Authenticates users against a static list of username/password pairs.
+ * Each username/password may be associated with multiple configurations.
+ * This list is stored in an XML file which is reread if modified.
+ *
+ * @author Michael Jumper, Michal Kotas
+ */
+public class BasicFileAuthenticationProvider extends SimpleAuthenticationProvider {
+
+ /**
+ * Logger for this class.
+ */
+ private final Logger logger = LoggerFactory.getLogger(BasicFileAuthenticationProvider.class);
+
+ /**
+ * The time the user mapping file was last modified. If the file has never
+ * been read, and thus no modification time exists, this will be
+ * Long.MIN_VALUE.
+ */
+ private long lastModified = Long.MIN_VALUE;
+
+ /**
+ * The parsed UserMapping read when the user mapping file was last parsed.
+ */
+ private UserMapping cachedUserMapping;
+
+ /**
+ * Guacamole server environment.
+ */
+ private final Environment environment;
+
+ /**
+ * The XML file to read the user mapping from.
+ */
+ public static final FileGuacamoleProperty BASIC_USER_MAPPING = new FileGuacamoleProperty() {
+
+ @Override
+ public String getName() { return "basic-user-mapping"; }
+
+ };
+
+ /**
+ * The default filename to use for the user mapping, if not defined within
+ * guacamole.properties.
+ */
+ public static final String DEFAULT_USER_MAPPING = "user-mapping.xml";
+
+ /**
+ * Creates a new BasicFileAuthenticationProvider that authenticates users
+ * against simple, monolithic XML file.
+ *
+ * @throws GuacamoleException
+ * If a required property is missing, or an error occurs while parsing
+ * a property.
+ */
+ public BasicFileAuthenticationProvider() throws GuacamoleException {
+ environment = new LocalEnvironment();
+ }
+
+ @Override
+ public String getIdentifier() {
+ return "default";
+ }
+
+ /**
+ * Returns a UserMapping containing all authorization data given within
+ * the XML file specified by the "basic-user-mapping" property in
+ * guacamole.properties. If the XML file has been modified or has not yet
+ * been read, this function may reread the file.
+ *
+ * @return
+ * A UserMapping containing all authorization data within the user
+ * mapping XML file, or null if the file cannot be found/parsed.
+ */
+ private UserMapping getUserMapping() {
+
+ // Get user mapping file, defaulting to GUACAMOLE_HOME/user-mapping.xml
+ File userMappingFile;
+ try {
+ userMappingFile = environment.getProperty(BASIC_USER_MAPPING);
+ if (userMappingFile == null)
+ userMappingFile = new File(environment.getGuacamoleHome(), DEFAULT_USER_MAPPING);
+ }
+
+ // Abort if property cannot be parsed
+ catch (GuacamoleException e) {
+ logger.warn("Unable to read user mapping filename from properties: {}", e.getMessage());
+ logger.debug("Error parsing user mapping property.", e);
+ return null;
+ }
+
+ // Abort if user mapping does not exist
+ if (!userMappingFile.exists()) {
+ logger.debug("User mapping file \"{}\" does not exist and will not be read.", userMappingFile);
+ return null;
+ }
+
+ // Refresh user mapping if file has changed
+ if (lastModified < userMappingFile.lastModified()) {
+
+ logger.debug("Reading user mapping file: \"{}\"", userMappingFile);
+
+ // Parse document
+ try {
+
+ // Get handler for root element
+ UserMappingTagHandler userMappingHandler =
+ new UserMappingTagHandler();
+
+ // Set up document handler
+ DocumentHandler contentHandler = new DocumentHandler(
+ "user-mapping", userMappingHandler);
+
+ // Set up XML parser
+ XMLReader parser = XMLReaderFactory.createXMLReader();
+ parser.setContentHandler(contentHandler);
+
+ // Read and parse file
+ InputStream input = new BufferedInputStream(new FileInputStream(userMappingFile));
+ parser.parse(new InputSource(input));
+ input.close();
+
+ // Store mod time and user mapping
+ lastModified = userMappingFile.lastModified();
+ cachedUserMapping = userMappingHandler.asUserMapping();
+
+ }
+
+ // If the file is unreadable, return no mapping
+ catch (IOException e) {
+ logger.warn("Unable to read user mapping file \"{}\": {}", userMappingFile, e.getMessage());
+ logger.debug("Error reading user mapping file.", e);
+ return null;
+ }
+
+ // If the file cannot be parsed, return no mapping
+ catch (SAXException e) {
+ logger.warn("User mapping file \"{}\" is not valid: {}", userMappingFile, e.getMessage());
+ logger.debug("Error parsing user mapping file.", e);
+ return null;
+ }
+
+ }
+
+ // Return (possibly cached) user mapping
+ return cachedUserMapping;
+
+ }
+
+ @Override
+ public Map<String, GuacamoleConfiguration>
+ getAuthorizedConfigurations(Credentials credentials)
+ throws GuacamoleException {
+
+ // Abort authorization if no user mapping exists
+ UserMapping userMapping = getUserMapping();
+ if (userMapping == null)
+ return null;
+
+ // Validate and return info for given user and pass
+ Authorization auth = userMapping.getAuthorization(credentials.getUsername());
+ if (auth != null && auth.validate(credentials.getUsername(), credentials.getPassword()))
+ return auth.getConfigurations();
+
+ // Unauthorized
+ return null;
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/auth/basic/ConnectionTagHandler.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/auth/basic/ConnectionTagHandler.java b/guacamole/src/main/java/org/apache/guacamole/auth/basic/ConnectionTagHandler.java
new file mode 100644
index 0000000..f9acabb
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/auth/basic/ConnectionTagHandler.java
@@ -0,0 +1,110 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.auth.basic;
+
+import org.apache.guacamole.auth.Authorization;
+import org.apache.guacamole.xml.TagHandler;
+import org.apache.guacamole.protocol.GuacamoleConfiguration;
+import org.xml.sax.Attributes;
+import org.xml.sax.SAXException;
+
+/**
+ * TagHandler for the "connection" element.
+ *
+ * @author Mike Jumper
+ */
+public class ConnectionTagHandler implements TagHandler {
+
+ /**
+ * The GuacamoleConfiguration backing this tag handler.
+ */
+ private GuacamoleConfiguration config = new GuacamoleConfiguration();
+
+ /**
+ * The name associated with the connection being parsed.
+ */
+ private String name;
+
+ /**
+ * The Authorization this connection belongs to.
+ */
+ private Authorization parent;
+
+ /**
+ * Creates a new ConnectionTagHandler that parses a Connection owned by
+ * the given Authorization.
+ *
+ * @param parent The Authorization that will own this Connection once
+ * parsed.
+ */
+ public ConnectionTagHandler(Authorization parent) {
+ this.parent = parent;
+ }
+
+ @Override
+ public void init(Attributes attributes) throws SAXException {
+ name = attributes.getValue("name");
+ parent.addConfiguration(name, this.asGuacamoleConfiguration());
+ }
+
+ @Override
+ public TagHandler childElement(String localName) throws SAXException {
+
+ if (localName.equals("param"))
+ return new ParamTagHandler(config);
+
+ if (localName.equals("protocol"))
+ return new ProtocolTagHandler(config);
+
+ return null;
+
+ }
+
+ @Override
+ public void complete(String textContent) throws SAXException {
+ // Do nothing
+ }
+
+ /**
+ * Returns a GuacamoleConfiguration whose contents are populated from data
+ * within this connection element and child elements. This
+ * GuacamoleConfiguration will continue to be modified as the user mapping
+ * is parsed.
+ *
+ * @return A GuacamoleConfiguration whose contents are populated from data
+ * within this connection element.
+ */
+ public GuacamoleConfiguration asGuacamoleConfiguration() {
+ return config;
+ }
+
+ /**
+ * Returns the name associated with this connection.
+ *
+ * @return The name associated with this connection.
+ */
+ public String getName() {
+ return name;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/auth/basic/ParamTagHandler.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/auth/basic/ParamTagHandler.java b/guacamole/src/main/java/org/apache/guacamole/auth/basic/ParamTagHandler.java
new file mode 100644
index 0000000..5d3d804
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/auth/basic/ParamTagHandler.java
@@ -0,0 +1,74 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.auth.basic;
+
+import org.apache.guacamole.xml.TagHandler;
+import org.apache.guacamole.protocol.GuacamoleConfiguration;
+import org.xml.sax.Attributes;
+import org.xml.sax.SAXException;
+
+/**
+ * TagHandler for the "param" element.
+ *
+ * @author Mike Jumper
+ */
+public class ParamTagHandler implements TagHandler {
+
+ /**
+ * The GuacamoleConfiguration which will be populated with data from
+ * the tag handled by this tag handler.
+ */
+ private GuacamoleConfiguration config;
+
+ /**
+ * The name of the parameter.
+ */
+ private String name;
+
+ /**
+ * Creates a new handler for an "param" tag having the given
+ * attributes.
+ *
+ * @param config The GuacamoleConfiguration to update with the data parsed
+ * from the "protocol" tag.
+ */
+ public ParamTagHandler(GuacamoleConfiguration config) {
+ this.config = config;
+ }
+
+ @Override
+ public void init(Attributes attributes) throws SAXException {
+ this.name = attributes.getValue("name");
+ }
+
+ @Override
+ public TagHandler childElement(String localName) throws SAXException {
+ throw new SAXException("The 'param' tag can contain no elements.");
+ }
+
+ @Override
+ public void complete(String textContent) throws SAXException {
+ config.setParameter(name, textContent);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/auth/basic/ProtocolTagHandler.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/auth/basic/ProtocolTagHandler.java b/guacamole/src/main/java/org/apache/guacamole/auth/basic/ProtocolTagHandler.java
new file mode 100644
index 0000000..3fc5f12
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/auth/basic/ProtocolTagHandler.java
@@ -0,0 +1,70 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.auth.basic;
+
+import org.apache.guacamole.xml.TagHandler;
+import org.apache.guacamole.protocol.GuacamoleConfiguration;
+import org.xml.sax.Attributes;
+import org.xml.sax.SAXException;
+
+/**
+ * TagHandler for the "protocol" element.
+ *
+ * @author Mike Jumper
+ */
+public class ProtocolTagHandler implements TagHandler {
+
+ /**
+ * The GuacamoleConfiguration which will be populated with data from
+ * the tag handled by this tag handler.
+ */
+ private GuacamoleConfiguration config;
+
+ /**
+ * Creates a new handler for a "protocol" tag having the given
+ * attributes.
+ *
+ * @param config The GuacamoleConfiguration to update with the data parsed
+ * from the "protocol" tag.
+ * @throws SAXException If the attributes given are not valid.
+ */
+ public ProtocolTagHandler(GuacamoleConfiguration config) throws SAXException {
+ this.config = config;
+ }
+
+ @Override
+ public void init(Attributes attributes) throws SAXException {
+ // Do nothing
+ }
+
+ @Override
+ public TagHandler childElement(String localName) throws SAXException {
+ throw new SAXException("The 'protocol' tag can contain no elements.");
+ }
+
+ @Override
+ public void complete(String textContent) throws SAXException {
+ config.setProtocol(textContent);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/auth/basic/UserMappingTagHandler.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/auth/basic/UserMappingTagHandler.java b/guacamole/src/main/java/org/apache/guacamole/auth/basic/UserMappingTagHandler.java
new file mode 100644
index 0000000..f0bb6fa
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/auth/basic/UserMappingTagHandler.java
@@ -0,0 +1,78 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.auth.basic;
+
+import org.apache.guacamole.auth.UserMapping;
+import org.apache.guacamole.xml.TagHandler;
+import org.xml.sax.Attributes;
+import org.xml.sax.SAXException;
+
+/**
+ * TagHandler for the "user-mapping" element.
+ *
+ * @author Mike Jumper
+ */
+public class UserMappingTagHandler implements TagHandler {
+
+ /**
+ * The UserMapping which will contain all data parsed by this tag handler.
+ */
+ private UserMapping user_mapping = new UserMapping();
+
+ @Override
+ public void init(Attributes attributes) throws SAXException {
+ // Do nothing
+ }
+
+ @Override
+ public TagHandler childElement(String localName) throws SAXException {
+
+ // Start parsing of authorize tags, add to list of all authorizations
+ if (localName.equals("authorize"))
+ return new AuthorizeTagHandler(user_mapping);
+
+ return null;
+
+ }
+
+ @Override
+ public void complete(String textContent) throws SAXException {
+ // Do nothing
+ }
+
+ /**
+ * Returns a user mapping containing all authorizations and configurations
+ * parsed so far. This user mapping will be backed by the data being parsed,
+ * thus any additional authorizations or configurations will be available
+ * in the object returned by this function even after this function has
+ * returned, once the data corresponding to those authorizations or
+ * configurations has been parsed.
+ *
+ * @return A user mapping containing all authorizations and configurations
+ * parsed so far.
+ */
+ public UserMapping asUserMapping() {
+ return user_mapping;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/auth/basic/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/auth/basic/package-info.java b/guacamole/src/main/java/org/apache/guacamole/auth/basic/package-info.java
new file mode 100644
index 0000000..d5f8fb7
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/auth/basic/package-info.java
@@ -0,0 +1,27 @@
+/*
+ * 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.
+ */
+
+/**
+ * Classes related to parsing the user-mapping.xml file.
+ */
+package org.apache.guacamole.auth.basic;
+
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/auth/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/auth/package-info.java b/guacamole/src/main/java/org/apache/guacamole/auth/package-info.java
new file mode 100644
index 0000000..d1ac69e
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/auth/package-info.java
@@ -0,0 +1,28 @@
+/*
+ * 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.
+ */
+
+/**
+ * Classes which drive the default, basic authentication of the Guacamole
+ * web application.
+ */
+package org.apache.guacamole.auth;
+
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/extension/AuthenticationProviderFacade.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/extension/AuthenticationProviderFacade.java b/guacamole/src/main/java/org/apache/guacamole/extension/AuthenticationProviderFacade.java
new file mode 100644
index 0000000..b244255
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/extension/AuthenticationProviderFacade.java
@@ -0,0 +1,203 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.extension;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.UUID;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.net.auth.AuthenticatedUser;
+import org.apache.guacamole.net.auth.AuthenticationProvider;
+import org.apache.guacamole.net.auth.Credentials;
+import org.apache.guacamole.net.auth.UserContext;
+import org.apache.guacamole.net.auth.credentials.CredentialsInfo;
+import org.apache.guacamole.net.auth.credentials.GuacamoleInvalidCredentialsException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Provides a safe wrapper around an AuthenticationProvider subclass, such that
+ * authentication attempts can cleanly fail, and errors can be properly logged,
+ * even if the AuthenticationProvider cannot be instantiated.
+ *
+ * @author Michael Jumper
+ */
+public class AuthenticationProviderFacade implements AuthenticationProvider {
+
+ /**
+ * Logger for this class.
+ */
+ private Logger logger = LoggerFactory.getLogger(AuthenticationProviderFacade.class);
+
+ /**
+ * The underlying authentication provider, or null if the authentication
+ * provider could not be instantiated.
+ */
+ private final AuthenticationProvider authProvider;
+
+ /**
+ * The identifier to provide for the underlying authentication provider if
+ * the authentication provider could not be loaded.
+ */
+ private final String facadeIdentifier = UUID.randomUUID().toString();
+
+ /**
+ * Creates a new AuthenticationProviderFacade which delegates all function
+ * calls to an instance of the given AuthenticationProvider subclass. If
+ * an instance of the given class cannot be created, creation of this
+ * facade will still succeed, but its use will result in errors being
+ * logged, and all authentication attempts will fail.
+ *
+ * @param authProviderClass
+ * The AuthenticationProvider subclass to instantiate.
+ */
+ public AuthenticationProviderFacade(Class<? extends AuthenticationProvider> authProviderClass) {
+
+ AuthenticationProvider instance = null;
+
+ try {
+ // Attempt to instantiate the authentication provider
+ instance = authProviderClass.getConstructor().newInstance();
+ }
+ catch (NoSuchMethodException e) {
+ logger.error("The authentication extension in use is not properly defined. "
+ + "Please contact the developers of the extension or, if you "
+ + "are the developer, turn on debug-level logging.");
+ logger.debug("AuthenticationProvider is missing a default constructor.", e);
+ }
+ catch (SecurityException e) {
+ logger.error("The Java security mananager is preventing authentication extensions "
+ + "from being loaded. Please check the configuration of Java or your "
+ + "servlet container.");
+ logger.debug("Creation of AuthenticationProvider disallowed by security manager.", e);
+ }
+ catch (InstantiationException e) {
+ logger.error("The authentication extension in use is not properly defined. "
+ + "Please contact the developers of the extension or, if you "
+ + "are the developer, turn on debug-level logging.");
+ logger.debug("AuthenticationProvider cannot be instantiated.", e);
+ }
+ catch (IllegalAccessException e) {
+ logger.error("The authentication extension in use is not properly defined. "
+ + "Please contact the developers of the extension or, if you "
+ + "are the developer, turn on debug-level logging.");
+ logger.debug("Default constructor of AuthenticationProvider is not public.", e);
+ }
+ catch (IllegalArgumentException e) {
+ logger.error("The authentication extension in use is not properly defined. "
+ + "Please contact the developers of the extension or, if you "
+ + "are the developer, turn on debug-level logging.");
+ logger.debug("Default constructor of AuthenticationProvider cannot accept zero arguments.", e);
+ }
+ catch (InvocationTargetException e) {
+
+ // Obtain causing error - create relatively-informative stub error if cause is unknown
+ Throwable cause = e.getCause();
+ if (cause == null)
+ cause = new GuacamoleException("Error encountered during initialization.");
+
+ logger.error("Authentication extension failed to start: {}", cause.getMessage());
+ logger.debug("AuthenticationProvider instantiation failed.", e);
+
+ }
+
+ // Associate instance, if any
+ authProvider = instance;
+
+ }
+
+ @Override
+ public String getIdentifier() {
+
+ // Ignore auth attempts if no auth provider could be loaded
+ if (authProvider == null) {
+ logger.warn("The authentication system could not be loaded. Please check for errors earlier in the logs.");
+ return facadeIdentifier;
+ }
+
+ // Delegate to underlying auth provider
+ return authProvider.getIdentifier();
+
+ }
+
+ @Override
+ public AuthenticatedUser authenticateUser(Credentials credentials)
+ throws GuacamoleException {
+
+ // Ignore auth attempts if no auth provider could be loaded
+ if (authProvider == null) {
+ logger.warn("Authentication attempt denied because the authentication system could not be loaded. Please check for errors earlier in the logs.");
+ throw new GuacamoleInvalidCredentialsException("Permission denied.", CredentialsInfo.USERNAME_PASSWORD);
+ }
+
+ // Delegate to underlying auth provider
+ return authProvider.authenticateUser(credentials);
+
+ }
+
+ @Override
+ public AuthenticatedUser updateAuthenticatedUser(AuthenticatedUser authenticatedUser,
+ Credentials credentials) throws GuacamoleException {
+
+ // Ignore auth attempts if no auth provider could be loaded
+ if (authProvider == null) {
+ logger.warn("Reauthentication attempt denied because the authentication system could not be loaded. Please check for errors earlier in the logs.");
+ throw new GuacamoleInvalidCredentialsException("Permission denied.", CredentialsInfo.USERNAME_PASSWORD);
+ }
+
+ // Delegate to underlying auth provider
+ return authProvider.updateAuthenticatedUser(authenticatedUser, credentials);
+
+ }
+
+ @Override
+ public UserContext getUserContext(AuthenticatedUser authenticatedUser)
+ throws GuacamoleException {
+
+ // Ignore auth attempts if no auth provider could be loaded
+ if (authProvider == null) {
+ logger.warn("User data retrieval attempt denied because the authentication system could not be loaded. Please check for errors earlier in the logs.");
+ return null;
+ }
+
+ // Delegate to underlying auth provider
+ return authProvider.getUserContext(authenticatedUser);
+
+ }
+
+ @Override
+ public UserContext updateUserContext(UserContext context,
+ AuthenticatedUser authenticatedUser)
+ throws GuacamoleException {
+
+ // Ignore auth attempts if no auth provider could be loaded
+ if (authProvider == null) {
+ logger.warn("User data refresh attempt denied because the authentication system could not be loaded. Please check for errors earlier in the logs.");
+ return null;
+ }
+
+ // Delegate to underlying auth provider
+ return authProvider.updateUserContext(context, authenticatedUser);
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/extension/DirectoryClassLoader.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/extension/DirectoryClassLoader.java b/guacamole/src/main/java/org/apache/guacamole/extension/DirectoryClassLoader.java
new file mode 100644
index 0000000..1d1ac54
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/extension/DirectoryClassLoader.java
@@ -0,0 +1,154 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.extension;
+
+import java.io.File;
+import java.io.FilenameFilter;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.security.AccessController;
+import java.security.PrivilegedActionException;
+import java.security.PrivilegedExceptionAction;
+import java.util.ArrayList;
+import java.util.Collection;
+import org.apache.guacamole.GuacamoleException;
+
+/**
+ * A ClassLoader implementation which finds classes within .jar files within a
+ * given directory.
+ *
+ * @author Michael Jumper
+ */
+public class DirectoryClassLoader extends URLClassLoader {
+
+ /**
+ * Returns an instance of DirectoryClassLoader configured to load .jar
+ * files from the given directory. Calling this function multiple times
+ * will not affect previously-returned instances of DirectoryClassLoader.
+ *
+ * @param dir
+ * The directory from which .jar files should be read.
+ *
+ * @return
+ * A DirectoryClassLoader instance which loads classes from the .jar
+ * files in the given directory.
+ *
+ * @throws GuacamoleException
+ * If the given file is not a directory, or the contents of the given
+ * directory cannot be read.
+ */
+ public static DirectoryClassLoader getInstance(final File dir)
+ throws GuacamoleException {
+
+ try {
+ // Attempt to create singleton classloader which loads classes from
+ // all .jar's in the lib directory defined in guacamole.properties
+ return AccessController.doPrivileged(new PrivilegedExceptionAction<DirectoryClassLoader>() {
+
+ @Override
+ public DirectoryClassLoader run() throws GuacamoleException {
+ return new DirectoryClassLoader(dir);
+ }
+
+ });
+ }
+
+ catch (PrivilegedActionException e) {
+ throw (GuacamoleException) e.getException();
+ }
+
+ }
+
+ /**
+ * Returns all .jar files within the given directory as an array of URLs.
+ *
+ * @param dir
+ * The directory to retrieve all .jar files from.
+ *
+ * @return
+ * An array of the URLs of all .jar files within the given directory.
+ *
+ * @throws GuacamoleException
+ * If the given file is not a directory, or the contents of the given
+ * directory cannot be read.
+ */
+ private static URL[] getJarURLs(File dir) throws GuacamoleException {
+
+ // Validate directory is indeed a directory
+ if (!dir.isDirectory())
+ throw new GuacamoleException(dir + " is not a directory.");
+
+ // Get list of URLs for all .jar's in the lib directory
+ Collection<URL> jarURLs = new ArrayList<URL>();
+ File[] files = dir.listFiles(new FilenameFilter() {
+
+ @Override
+ public boolean accept(File dir, String name) {
+
+ // If it ends with .jar, accept the file
+ return name.endsWith(".jar");
+
+ }
+
+ });
+
+ // Verify directory was successfully read
+ if (files == null)
+ throw new GuacamoleException("Unable to read contents of directory " + dir);
+
+ // Add the URL for each .jar to the jar URL list
+ for (File file : files) {
+
+ try {
+ jarURLs.add(file.toURI().toURL());
+ }
+ catch (MalformedURLException e) {
+ throw new GuacamoleException(e);
+ }
+
+ }
+
+ // Set delegate classloader to new URLClassLoader which loads from the .jars found above.
+ URL[] urls = new URL[jarURLs.size()];
+ return jarURLs.toArray(urls);
+
+ }
+
+ /**
+ * Creates a new DirectoryClassLoader configured to load .jar files from
+ * the given directory.
+ *
+ * @param dir
+ * The directory from which .jar files should be read.
+ *
+ * @throws GuacamoleException
+ * If the given file is not a directory, or the contents of the given
+ * directory cannot be read.
+ */
+
+ private DirectoryClassLoader(File dir) throws GuacamoleException {
+ super(getJarURLs(dir), DirectoryClassLoader.class.getClassLoader());
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/extension/Extension.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/extension/Extension.java b/guacamole/src/main/java/org/apache/guacamole/extension/Extension.java
new file mode 100644
index 0000000..7ac0563
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/extension/Extension.java
@@ -0,0 +1,515 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.extension;
+
+import java.io.File;
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.security.AccessController;
+import java.security.PrivilegedActionException;
+import java.security.PrivilegedExceptionAction;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipException;
+import java.util.zip.ZipFile;
+import org.codehaus.jackson.JsonParseException;
+import org.codehaus.jackson.map.ObjectMapper;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.GuacamoleServerException;
+import org.apache.guacamole.net.auth.AuthenticationProvider;
+import org.apache.guacamole.resource.ClassPathResource;
+import org.apache.guacamole.resource.Resource;
+
+/**
+ * A Guacamole extension, which may provide custom authentication, static
+ * files, theming/branding, etc.
+ *
+ * @author Michael Jumper
+ */
+public class Extension {
+
+ /**
+ * The Jackson parser for parsing the language JSON files.
+ */
+ private static final ObjectMapper mapper = new ObjectMapper();
+
+ /**
+ * The name of the manifest file that describes the contents of a
+ * Guacamole extension.
+ */
+ private static final String MANIFEST_NAME = "guac-manifest.json";
+
+ /**
+ * The parsed manifest file of this extension, describing the location of
+ * resources within the extension.
+ */
+ private final ExtensionManifest manifest;
+
+ /**
+ * The classloader to use when reading resources from this extension,
+ * including classes and static files.
+ */
+ private final ClassLoader classLoader;
+
+ /**
+ * Map of all JavaScript resources defined within the extension, where each
+ * key is the path to that resource within the extension.
+ */
+ private final Map<String, Resource> javaScriptResources;
+
+ /**
+ * Map of all CSS resources defined within the extension, where each key is
+ * the path to that resource within the extension.
+ */
+ private final Map<String, Resource> cssResources;
+
+ /**
+ * Map of all HTML patch resources defined within the extension, where each
+ * key is the path to that resource within the extension.
+ */
+ private final Map<String, Resource> htmlResources;
+
+ /**
+ * Map of all translation resources defined within the extension, where
+ * each key is the path to that resource within the extension.
+ */
+ private final Map<String, Resource> translationResources;
+
+ /**
+ * Map of all resources defined within the extension which are not already
+ * associated as JavaScript, CSS, or translation resources, where each key
+ * is the path to that resource within the extension.
+ */
+ private final Map<String, Resource> staticResources;
+
+ /**
+ * The collection of all AuthenticationProvider classes defined within the
+ * extension.
+ */
+ private final Collection<Class<AuthenticationProvider>> authenticationProviderClasses;
+
+ /**
+ * The resource for the small favicon for the extension. If provided, this
+ * will replace the default Guacamole icon.
+ */
+ private final Resource smallIcon;
+
+ /**
+ * The resource foe the large favicon for the extension. If provided, this
+ * will replace the default Guacamole icon.
+ */
+ private final Resource largeIcon;
+
+ /**
+ * Returns a new map of all resources corresponding to the collection of
+ * paths provided. Each resource will be associated with the given
+ * mimetype, and stored in the map using its path as the key.
+ *
+ * @param mimetype
+ * The mimetype to associate with each resource.
+ *
+ * @param paths
+ * The paths corresponding to the resources desired.
+ *
+ * @return
+ * A new, unmodifiable map of resources corresponding to the
+ * collection of paths provided, where the key of each entry in the
+ * map is the path for the resource stored in that entry.
+ */
+ private Map<String, Resource> getClassPathResources(String mimetype, Collection<String> paths) {
+
+ // If no paths are provided, just return an empty map
+ if (paths == null)
+ return Collections.<String, Resource>emptyMap();
+
+ // Add classpath resource for each path provided
+ Map<String, Resource> resources = new HashMap<String, Resource>(paths.size());
+ for (String path : paths)
+ resources.put(path, new ClassPathResource(classLoader, mimetype, path));
+
+ // Callers should not rely on modifying the result
+ return Collections.unmodifiableMap(resources);
+
+ }
+
+ /**
+ * Returns a new map of all resources corresponding to the map of resource
+ * paths provided. Each resource will be associated with the mimetype
+ * stored in the given map using its path as the key.
+ *
+ * @param resourceTypes
+ * A map of all paths to their corresponding mimetypes.
+ *
+ * @return
+ * A new, unmodifiable map of resources corresponding to the
+ * collection of paths provided, where the key of each entry in the
+ * map is the path for the resource stored in that entry.
+ */
+ private Map<String, Resource> getClassPathResources(Map<String, String> resourceTypes) {
+
+ // If no paths are provided, just return an empty map
+ if (resourceTypes == null)
+ return Collections.<String, Resource>emptyMap();
+
+ // Add classpath resource for each path/mimetype pair provided
+ Map<String, Resource> resources = new HashMap<String, Resource>(resourceTypes.size());
+ for (Map.Entry<String, String> resource : resourceTypes.entrySet()) {
+
+ // Get path and mimetype from entry
+ String path = resource.getKey();
+ String mimetype = resource.getValue();
+
+ // Store as path/resource pair
+ resources.put(path, new ClassPathResource(classLoader, mimetype, path));
+
+ }
+
+ // Callers should not rely on modifying the result
+ return Collections.unmodifiableMap(resources);
+
+ }
+
+ /**
+ * Retrieve the AuthenticationProvider subclass having the given name. If
+ * the class having the given name does not exist or isn't actually a
+ * subclass of AuthenticationProvider, an exception will be thrown.
+ *
+ * @param name
+ * The name of the AuthenticationProvider class to retrieve.
+ *
+ * @return
+ * The subclass of AuthenticationProvider having the given name.
+ *
+ * @throws GuacamoleException
+ * If no such class exists, or if the class with the given name is not
+ * a subclass of AuthenticationProvider.
+ */
+ @SuppressWarnings("unchecked") // We check this ourselves with isAssignableFrom()
+ private Class<AuthenticationProvider> getAuthenticationProviderClass(String name)
+ throws GuacamoleException {
+
+ try {
+
+ // Get authentication provider class
+ Class<?> authenticationProviderClass = classLoader.loadClass(name);
+
+ // Verify the located class is actually a subclass of AuthenticationProvider
+ if (!AuthenticationProvider.class.isAssignableFrom(authenticationProviderClass))
+ throw new GuacamoleServerException("Authentication providers MUST extend the AuthenticationProvider class.");
+
+ // Return located class
+ return (Class<AuthenticationProvider>) authenticationProviderClass;
+
+ }
+ catch (ClassNotFoundException e) {
+ throw new GuacamoleException("Authentication provider class not found.", e);
+ }
+
+ }
+
+ /**
+ * Returns a new collection of all AuthenticationProvider subclasses having
+ * the given names. If any class does not exist or isn't actually a
+ * subclass of AuthenticationProvider, an exception will be thrown, and
+ * no further AuthenticationProvider classes will be loaded.
+ *
+ * @param names
+ * The names of the AuthenticationProvider classes to retrieve.
+ *
+ * @return
+ * A new collection of all AuthenticationProvider subclasses having the
+ * given names.
+ *
+ * @throws GuacamoleException
+ * If any given class does not exist, or if any given class is not a
+ * subclass of AuthenticationProvider.
+ */
+ private Collection<Class<AuthenticationProvider>> getAuthenticationProviderClasses(Collection<String> names)
+ throws GuacamoleException {
+
+ // If no classnames are provided, just return an empty list
+ if (names == null)
+ return Collections.<Class<AuthenticationProvider>>emptyList();
+
+ // Define all auth provider classes
+ Collection<Class<AuthenticationProvider>> classes = new ArrayList<Class<AuthenticationProvider>>(names.size());
+ for (String name : names)
+ classes.add(getAuthenticationProviderClass(name));
+
+ // Callers should not rely on modifying the result
+ return Collections.unmodifiableCollection(classes);
+
+ }
+
+ /**
+ * Loads the given file as an extension, which must be a .jar containing
+ * a guac-manifest.json file describing its contents.
+ *
+ * @param parent
+ * The classloader to use as the parent for the isolated classloader of
+ * this extension.
+ *
+ * @param file
+ * The file to load as an extension.
+ *
+ * @throws GuacamoleException
+ * If the provided file is not a .jar file, does not contain the
+ * guac-manifest.json, or if guac-manifest.json is invalid and cannot
+ * be parsed.
+ */
+ public Extension(final ClassLoader parent, final File file) throws GuacamoleException {
+
+ try {
+
+ // Open extension
+ ZipFile extension = new ZipFile(file);
+
+ try {
+
+ // Retrieve extension manifest
+ ZipEntry manifestEntry = extension.getEntry(MANIFEST_NAME);
+ if (manifestEntry == null)
+ throw new GuacamoleServerException("Extension " + file.getName() + " is missing " + MANIFEST_NAME);
+
+ // Parse manifest
+ manifest = mapper.readValue(extension.getInputStream(manifestEntry), ExtensionManifest.class);
+ if (manifest == null)
+ throw new GuacamoleServerException("Contents of " + MANIFEST_NAME + " must be a valid JSON object.");
+
+ }
+
+ // Always close zip file, if possible
+ finally {
+ extension.close();
+ }
+
+ try {
+
+ // Create isolated classloader for this extension
+ classLoader = AccessController.doPrivileged(new PrivilegedExceptionAction<ClassLoader>() {
+
+ @Override
+ public ClassLoader run() throws GuacamoleException {
+
+ try {
+
+ // Classloader must contain only the extension itself
+ return new URLClassLoader(new URL[]{file.toURI().toURL()}, parent);
+
+ }
+ catch (MalformedURLException e) {
+ throw new GuacamoleException(e);
+ }
+
+ }
+
+ });
+
+ }
+
+ // Rethrow any GuacamoleException
+ catch (PrivilegedActionException e) {
+ throw (GuacamoleException) e.getException();
+ }
+
+ }
+
+ // Abort load if not a valid zip file
+ catch (ZipException e) {
+ throw new GuacamoleServerException("Extension is not a valid zip file: " + file.getName(), e);
+ }
+
+ // Abort if manifest cannot be parsed (invalid JSON)
+ catch (JsonParseException e) {
+ throw new GuacamoleServerException(MANIFEST_NAME + " is not valid JSON: " + file.getName(), e);
+ }
+
+ // Abort if zip file cannot be read at all due to I/O errors
+ catch (IOException e) {
+ throw new GuacamoleServerException("Unable to read extension: " + file.getName(), e);
+ }
+
+ // Define static resources
+ cssResources = getClassPathResources("text/css", manifest.getCSSPaths());
+ javaScriptResources = getClassPathResources("text/javascript", manifest.getJavaScriptPaths());
+ htmlResources = getClassPathResources("text/html", manifest.getHTMLPaths());
+ translationResources = getClassPathResources("application/json", manifest.getTranslationPaths());
+ staticResources = getClassPathResources(manifest.getResourceTypes());
+
+ // Define authentication providers
+ authenticationProviderClasses = getAuthenticationProviderClasses(manifest.getAuthProviders());
+
+ // Get small icon resource if provided
+ if (manifest.getSmallIcon() != null)
+ smallIcon = new ClassPathResource(classLoader, "image/png", manifest.getSmallIcon());
+ else
+ smallIcon = null;
+
+ // Get large icon resource if provided
+ if (manifest.getLargeIcon() != null)
+ largeIcon = new ClassPathResource(classLoader, "image/png", manifest.getLargeIcon());
+ else
+ largeIcon = null;
+ }
+
+ /**
+ * Returns the version of the Guacamole web application for which this
+ * extension was built.
+ *
+ * @return
+ * The version of the Guacamole web application for which this
+ * extension was built.
+ */
+ public String getGuacamoleVersion() {
+ return manifest.getGuacamoleVersion();
+ }
+
+ /**
+ * Returns the name of this extension, as declared in the extension's
+ * manifest.
+ *
+ * @return
+ * The name of this extension.
+ */
+ public String getName() {
+ return manifest.getName();
+ }
+
+ /**
+ * Returns the namespace of this extension, as declared in the extension's
+ * manifest.
+ *
+ * @return
+ * The namespace of this extension.
+ */
+ public String getNamespace() {
+ return manifest.getNamespace();
+ }
+
+ /**
+ * Returns a map of all declared JavaScript resources associated with this
+ * extension, where the key of each entry in the map is the path to that
+ * resource within the extension .jar. JavaScript resources are declared
+ * within the extension manifest.
+ *
+ * @return
+ * All declared JavaScript resources associated with this extension.
+ */
+ public Map<String, Resource> getJavaScriptResources() {
+ return javaScriptResources;
+ }
+
+ /**
+ * Returns a map of all declared CSS resources associated with this
+ * extension, where the key of each entry in the map is the path to that
+ * resource within the extension .jar. CSS resources are declared within
+ * the extension manifest.
+ *
+ * @return
+ * All declared CSS resources associated with this extension.
+ */
+ public Map<String, Resource> getCSSResources() {
+ return cssResources;
+ }
+
+ /**
+ * Returns a map of all declared HTML patch resources associated with this
+ * extension, where the key of each entry in the map is the path to that
+ * resource within the extension .jar. HTML patch resources are declared
+ * within the extension manifest.
+ *
+ * @return
+ * All declared HTML patch resources associated with this extension.
+ */
+ public Map<String, Resource> getHTMLResources() {
+ return htmlResources;
+ }
+
+ /**
+ * Returns a map of all declared translation resources associated with this
+ * extension, where the key of each entry in the map is the path to that
+ * resource within the extension .jar. Translation resources are declared
+ * within the extension manifest.
+ *
+ * @return
+ * All declared translation resources associated with this extension.
+ */
+ public Map<String, Resource> getTranslationResources() {
+ return translationResources;
+ }
+
+ /**
+ * Returns a map of all declared resources associated with this extension,
+ * where these resources are not already associated as JavaScript, CSS, or
+ * translation resources. The key of each entry in the map is the path to
+ * that resource within the extension .jar. Static resources are declared
+ * within the extension manifest.
+ *
+ * @return
+ * All declared static resources associated with this extension.
+ */
+ public Map<String, Resource> getStaticResources() {
+ return staticResources;
+ }
+
+ /**
+ * Returns all declared authentication providers classes associated with
+ * this extension. Authentication providers are declared within the
+ * extension manifest.
+ *
+ * @return
+ * All declared authentication provider classes with this extension.
+ */
+ public Collection<Class<AuthenticationProvider>> getAuthenticationProviderClasses() {
+ return authenticationProviderClasses;
+ }
+
+ /**
+ * Returns the resource for the small favicon for the extension. If
+ * provided, this will replace the default Guacamole icon.
+ *
+ * @return
+ * The resource for the small favicon.
+ */
+ public Resource getSmallIcon() {
+ return smallIcon;
+ }
+
+ /**
+ * Returns the resource for the large favicon for the extension. If
+ * provided, this will replace the default Guacamole icon.
+ *
+ * @return
+ * The resource for the large favicon.
+ */
+ public Resource getLargeIcon() {
+ return largeIcon;
+ }
+
+}
[11/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Remove useless .net.basic subpackage, now that everything is being renamed.
Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/extension/Extension.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/extension/Extension.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/extension/Extension.java
deleted file mode 100644
index 120690a..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/extension/Extension.java
+++ /dev/null
@@ -1,515 +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.
- */
-
-package org.apache.guacamole.net.basic.extension;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.security.AccessController;
-import java.security.PrivilegedActionException;
-import java.security.PrivilegedExceptionAction;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipException;
-import java.util.zip.ZipFile;
-import org.codehaus.jackson.JsonParseException;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.GuacamoleServerException;
-import org.apache.guacamole.net.auth.AuthenticationProvider;
-import org.apache.guacamole.net.basic.resource.ClassPathResource;
-import org.apache.guacamole.net.basic.resource.Resource;
-
-/**
- * A Guacamole extension, which may provide custom authentication, static
- * files, theming/branding, etc.
- *
- * @author Michael Jumper
- */
-public class Extension {
-
- /**
- * The Jackson parser for parsing the language JSON files.
- */
- private static final ObjectMapper mapper = new ObjectMapper();
-
- /**
- * The name of the manifest file that describes the contents of a
- * Guacamole extension.
- */
- private static final String MANIFEST_NAME = "guac-manifest.json";
-
- /**
- * The parsed manifest file of this extension, describing the location of
- * resources within the extension.
- */
- private final ExtensionManifest manifest;
-
- /**
- * The classloader to use when reading resources from this extension,
- * including classes and static files.
- */
- private final ClassLoader classLoader;
-
- /**
- * Map of all JavaScript resources defined within the extension, where each
- * key is the path to that resource within the extension.
- */
- private final Map<String, Resource> javaScriptResources;
-
- /**
- * Map of all CSS resources defined within the extension, where each key is
- * the path to that resource within the extension.
- */
- private final Map<String, Resource> cssResources;
-
- /**
- * Map of all HTML patch resources defined within the extension, where each
- * key is the path to that resource within the extension.
- */
- private final Map<String, Resource> htmlResources;
-
- /**
- * Map of all translation resources defined within the extension, where
- * each key is the path to that resource within the extension.
- */
- private final Map<String, Resource> translationResources;
-
- /**
- * Map of all resources defined within the extension which are not already
- * associated as JavaScript, CSS, or translation resources, where each key
- * is the path to that resource within the extension.
- */
- private final Map<String, Resource> staticResources;
-
- /**
- * The collection of all AuthenticationProvider classes defined within the
- * extension.
- */
- private final Collection<Class<AuthenticationProvider>> authenticationProviderClasses;
-
- /**
- * The resource for the small favicon for the extension. If provided, this
- * will replace the default Guacamole icon.
- */
- private final Resource smallIcon;
-
- /**
- * The resource foe the large favicon for the extension. If provided, this
- * will replace the default Guacamole icon.
- */
- private final Resource largeIcon;
-
- /**
- * Returns a new map of all resources corresponding to the collection of
- * paths provided. Each resource will be associated with the given
- * mimetype, and stored in the map using its path as the key.
- *
- * @param mimetype
- * The mimetype to associate with each resource.
- *
- * @param paths
- * The paths corresponding to the resources desired.
- *
- * @return
- * A new, unmodifiable map of resources corresponding to the
- * collection of paths provided, where the key of each entry in the
- * map is the path for the resource stored in that entry.
- */
- private Map<String, Resource> getClassPathResources(String mimetype, Collection<String> paths) {
-
- // If no paths are provided, just return an empty map
- if (paths == null)
- return Collections.<String, Resource>emptyMap();
-
- // Add classpath resource for each path provided
- Map<String, Resource> resources = new HashMap<String, Resource>(paths.size());
- for (String path : paths)
- resources.put(path, new ClassPathResource(classLoader, mimetype, path));
-
- // Callers should not rely on modifying the result
- return Collections.unmodifiableMap(resources);
-
- }
-
- /**
- * Returns a new map of all resources corresponding to the map of resource
- * paths provided. Each resource will be associated with the mimetype
- * stored in the given map using its path as the key.
- *
- * @param resourceTypes
- * A map of all paths to their corresponding mimetypes.
- *
- * @return
- * A new, unmodifiable map of resources corresponding to the
- * collection of paths provided, where the key of each entry in the
- * map is the path for the resource stored in that entry.
- */
- private Map<String, Resource> getClassPathResources(Map<String, String> resourceTypes) {
-
- // If no paths are provided, just return an empty map
- if (resourceTypes == null)
- return Collections.<String, Resource>emptyMap();
-
- // Add classpath resource for each path/mimetype pair provided
- Map<String, Resource> resources = new HashMap<String, Resource>(resourceTypes.size());
- for (Map.Entry<String, String> resource : resourceTypes.entrySet()) {
-
- // Get path and mimetype from entry
- String path = resource.getKey();
- String mimetype = resource.getValue();
-
- // Store as path/resource pair
- resources.put(path, new ClassPathResource(classLoader, mimetype, path));
-
- }
-
- // Callers should not rely on modifying the result
- return Collections.unmodifiableMap(resources);
-
- }
-
- /**
- * Retrieve the AuthenticationProvider subclass having the given name. If
- * the class having the given name does not exist or isn't actually a
- * subclass of AuthenticationProvider, an exception will be thrown.
- *
- * @param name
- * The name of the AuthenticationProvider class to retrieve.
- *
- * @return
- * The subclass of AuthenticationProvider having the given name.
- *
- * @throws GuacamoleException
- * If no such class exists, or if the class with the given name is not
- * a subclass of AuthenticationProvider.
- */
- @SuppressWarnings("unchecked") // We check this ourselves with isAssignableFrom()
- private Class<AuthenticationProvider> getAuthenticationProviderClass(String name)
- throws GuacamoleException {
-
- try {
-
- // Get authentication provider class
- Class<?> authenticationProviderClass = classLoader.loadClass(name);
-
- // Verify the located class is actually a subclass of AuthenticationProvider
- if (!AuthenticationProvider.class.isAssignableFrom(authenticationProviderClass))
- throw new GuacamoleServerException("Authentication providers MUST extend the AuthenticationProvider class.");
-
- // Return located class
- return (Class<AuthenticationProvider>) authenticationProviderClass;
-
- }
- catch (ClassNotFoundException e) {
- throw new GuacamoleException("Authentication provider class not found.", e);
- }
-
- }
-
- /**
- * Returns a new collection of all AuthenticationProvider subclasses having
- * the given names. If any class does not exist or isn't actually a
- * subclass of AuthenticationProvider, an exception will be thrown, and
- * no further AuthenticationProvider classes will be loaded.
- *
- * @param names
- * The names of the AuthenticationProvider classes to retrieve.
- *
- * @return
- * A new collection of all AuthenticationProvider subclasses having the
- * given names.
- *
- * @throws GuacamoleException
- * If any given class does not exist, or if any given class is not a
- * subclass of AuthenticationProvider.
- */
- private Collection<Class<AuthenticationProvider>> getAuthenticationProviderClasses(Collection<String> names)
- throws GuacamoleException {
-
- // If no classnames are provided, just return an empty list
- if (names == null)
- return Collections.<Class<AuthenticationProvider>>emptyList();
-
- // Define all auth provider classes
- Collection<Class<AuthenticationProvider>> classes = new ArrayList<Class<AuthenticationProvider>>(names.size());
- for (String name : names)
- classes.add(getAuthenticationProviderClass(name));
-
- // Callers should not rely on modifying the result
- return Collections.unmodifiableCollection(classes);
-
- }
-
- /**
- * Loads the given file as an extension, which must be a .jar containing
- * a guac-manifest.json file describing its contents.
- *
- * @param parent
- * The classloader to use as the parent for the isolated classloader of
- * this extension.
- *
- * @param file
- * The file to load as an extension.
- *
- * @throws GuacamoleException
- * If the provided file is not a .jar file, does not contain the
- * guac-manifest.json, or if guac-manifest.json is invalid and cannot
- * be parsed.
- */
- public Extension(final ClassLoader parent, final File file) throws GuacamoleException {
-
- try {
-
- // Open extension
- ZipFile extension = new ZipFile(file);
-
- try {
-
- // Retrieve extension manifest
- ZipEntry manifestEntry = extension.getEntry(MANIFEST_NAME);
- if (manifestEntry == null)
- throw new GuacamoleServerException("Extension " + file.getName() + " is missing " + MANIFEST_NAME);
-
- // Parse manifest
- manifest = mapper.readValue(extension.getInputStream(manifestEntry), ExtensionManifest.class);
- if (manifest == null)
- throw new GuacamoleServerException("Contents of " + MANIFEST_NAME + " must be a valid JSON object.");
-
- }
-
- // Always close zip file, if possible
- finally {
- extension.close();
- }
-
- try {
-
- // Create isolated classloader for this extension
- classLoader = AccessController.doPrivileged(new PrivilegedExceptionAction<ClassLoader>() {
-
- @Override
- public ClassLoader run() throws GuacamoleException {
-
- try {
-
- // Classloader must contain only the extension itself
- return new URLClassLoader(new URL[]{file.toURI().toURL()}, parent);
-
- }
- catch (MalformedURLException e) {
- throw new GuacamoleException(e);
- }
-
- }
-
- });
-
- }
-
- // Rethrow any GuacamoleException
- catch (PrivilegedActionException e) {
- throw (GuacamoleException) e.getException();
- }
-
- }
-
- // Abort load if not a valid zip file
- catch (ZipException e) {
- throw new GuacamoleServerException("Extension is not a valid zip file: " + file.getName(), e);
- }
-
- // Abort if manifest cannot be parsed (invalid JSON)
- catch (JsonParseException e) {
- throw new GuacamoleServerException(MANIFEST_NAME + " is not valid JSON: " + file.getName(), e);
- }
-
- // Abort if zip file cannot be read at all due to I/O errors
- catch (IOException e) {
- throw new GuacamoleServerException("Unable to read extension: " + file.getName(), e);
- }
-
- // Define static resources
- cssResources = getClassPathResources("text/css", manifest.getCSSPaths());
- javaScriptResources = getClassPathResources("text/javascript", manifest.getJavaScriptPaths());
- htmlResources = getClassPathResources("text/html", manifest.getHTMLPaths());
- translationResources = getClassPathResources("application/json", manifest.getTranslationPaths());
- staticResources = getClassPathResources(manifest.getResourceTypes());
-
- // Define authentication providers
- authenticationProviderClasses = getAuthenticationProviderClasses(manifest.getAuthProviders());
-
- // Get small icon resource if provided
- if (manifest.getSmallIcon() != null)
- smallIcon = new ClassPathResource(classLoader, "image/png", manifest.getSmallIcon());
- else
- smallIcon = null;
-
- // Get large icon resource if provided
- if (manifest.getLargeIcon() != null)
- largeIcon = new ClassPathResource(classLoader, "image/png", manifest.getLargeIcon());
- else
- largeIcon = null;
- }
-
- /**
- * Returns the version of the Guacamole web application for which this
- * extension was built.
- *
- * @return
- * The version of the Guacamole web application for which this
- * extension was built.
- */
- public String getGuacamoleVersion() {
- return manifest.getGuacamoleVersion();
- }
-
- /**
- * Returns the name of this extension, as declared in the extension's
- * manifest.
- *
- * @return
- * The name of this extension.
- */
- public String getName() {
- return manifest.getName();
- }
-
- /**
- * Returns the namespace of this extension, as declared in the extension's
- * manifest.
- *
- * @return
- * The namespace of this extension.
- */
- public String getNamespace() {
- return manifest.getNamespace();
- }
-
- /**
- * Returns a map of all declared JavaScript resources associated with this
- * extension, where the key of each entry in the map is the path to that
- * resource within the extension .jar. JavaScript resources are declared
- * within the extension manifest.
- *
- * @return
- * All declared JavaScript resources associated with this extension.
- */
- public Map<String, Resource> getJavaScriptResources() {
- return javaScriptResources;
- }
-
- /**
- * Returns a map of all declared CSS resources associated with this
- * extension, where the key of each entry in the map is the path to that
- * resource within the extension .jar. CSS resources are declared within
- * the extension manifest.
- *
- * @return
- * All declared CSS resources associated with this extension.
- */
- public Map<String, Resource> getCSSResources() {
- return cssResources;
- }
-
- /**
- * Returns a map of all declared HTML patch resources associated with this
- * extension, where the key of each entry in the map is the path to that
- * resource within the extension .jar. HTML patch resources are declared
- * within the extension manifest.
- *
- * @return
- * All declared HTML patch resources associated with this extension.
- */
- public Map<String, Resource> getHTMLResources() {
- return htmlResources;
- }
-
- /**
- * Returns a map of all declared translation resources associated with this
- * extension, where the key of each entry in the map is the path to that
- * resource within the extension .jar. Translation resources are declared
- * within the extension manifest.
- *
- * @return
- * All declared translation resources associated with this extension.
- */
- public Map<String, Resource> getTranslationResources() {
- return translationResources;
- }
-
- /**
- * Returns a map of all declared resources associated with this extension,
- * where these resources are not already associated as JavaScript, CSS, or
- * translation resources. The key of each entry in the map is the path to
- * that resource within the extension .jar. Static resources are declared
- * within the extension manifest.
- *
- * @return
- * All declared static resources associated with this extension.
- */
- public Map<String, Resource> getStaticResources() {
- return staticResources;
- }
-
- /**
- * Returns all declared authentication providers classes associated with
- * this extension. Authentication providers are declared within the
- * extension manifest.
- *
- * @return
- * All declared authentication provider classes with this extension.
- */
- public Collection<Class<AuthenticationProvider>> getAuthenticationProviderClasses() {
- return authenticationProviderClasses;
- }
-
- /**
- * Returns the resource for the small favicon for the extension. If
- * provided, this will replace the default Guacamole icon.
- *
- * @return
- * The resource for the small favicon.
- */
- public Resource getSmallIcon() {
- return smallIcon;
- }
-
- /**
- * Returns the resource for the large favicon for the extension. If
- * provided, this will replace the default Guacamole icon.
- *
- * @return
- * The resource for the large favicon.
- */
- public Resource getLargeIcon() {
- return largeIcon;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/extension/ExtensionManifest.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/extension/ExtensionManifest.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/extension/ExtensionManifest.java
deleted file mode 100644
index 44efdae..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/extension/ExtensionManifest.java
+++ /dev/null
@@ -1,407 +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.
- */
-
-package org.apache.guacamole.net.basic.extension;
-
-import java.util.Collection;
-import java.util.Map;
-import org.codehaus.jackson.annotate.JsonProperty;
-
-/**
- * Java representation of the JSON manifest contained within every Guacamole
- * extension, identifying an extension and describing its contents.
- *
- * @author Michael Jumper
- */
-public class ExtensionManifest {
-
- /**
- * The version of Guacamole for which this extension was built.
- * Compatibility rules built into the web application will guard against
- * incompatible extensions being loaded.
- */
- private String guacamoleVersion;
-
- /**
- * The name of the extension associated with this manifest. The extension
- * name is human-readable, and used for display purposes only.
- */
- private String name;
-
- /**
- * The namespace of the extension associated with this manifest. The
- * extension namespace is required for internal use, and is used wherever
- * extension-specific files or resources need to be isolated from those of
- * other extensions.
- */
- private String namespace;
-
- /**
- * The paths of all JavaScript resources within the .jar of the extension
- * associated with this manifest.
- */
- private Collection<String> javaScriptPaths;
-
- /**
- * The paths of all CSS resources within the .jar of the extension
- * associated with this manifest.
- */
- private Collection<String> cssPaths;
-
- /**
- * The paths of all HTML patch resources within the .jar of the extension
- * associated with this manifest.
- */
- private Collection<String> htmlPaths;
-
- /**
- * The paths of all translation JSON files within this extension, if any.
- */
- private Collection<String> translationPaths;
-
- /**
- * The mimetypes of all resources within this extension which are not
- * already declared as JavaScript, CSS, or translation resources, if any.
- * The key of each entry is the resource path, while the value is the
- * corresponding mimetype.
- */
- private Map<String, String> resourceTypes;
-
- /**
- * The names of all authentication provider classes within this extension,
- * if any.
- */
- private Collection<String> authProviders;
-
- /**
- * The path to the small favicon. If provided, this will replace the default
- * Guacamole icon.
- */
- private String smallIcon;
-
- /**
- * The path to the large favicon. If provided, this will replace the default
- * Guacamole icon.
- */
- private String largeIcon;
-
- /**
- * Returns the version of the Guacamole web application for which the
- * extension was built, such as "0.9.7".
- *
- * @return
- * The version of the Guacamole web application for which the extension
- * was built.
- */
- public String getGuacamoleVersion() {
- return guacamoleVersion;
- }
-
- /**
- * Sets the version of the Guacamole web application for which the
- * extension was built, such as "0.9.7".
- *
- * @param guacamoleVersion
- * The version of the Guacamole web application for which the extension
- * was built.
- */
- public void setGuacamoleVersion(String guacamoleVersion) {
- this.guacamoleVersion = guacamoleVersion;
- }
-
- /**
- * Returns the name of the extension associated with this manifest. The
- * name is human-readable, for display purposes only, and is defined within
- * the manifest by the "name" property.
- *
- * @return
- * The name of the extension associated with this manifest.
- */
- public String getName() {
- return name;
- }
-
- /**
- * Sets the name of the extension associated with this manifest. The name
- * is human-readable, for display purposes only, and is defined within the
- * manifest by the "name" property.
- *
- * @param name
- * The name of the extension associated with this manifest.
- */
- public void setName(String name) {
- this.name = name;
- }
-
- /**
- * Returns the namespace of the extension associated with this manifest.
- * The namespace is required for internal use, and is used wherever
- * extension-specific files or resources need to be isolated from those of
- * other extensions. It is defined within the manifest by the "namespace"
- * property.
- *
- * @return
- * The namespace of the extension associated with this manifest.
- */
- public String getNamespace() {
- return namespace;
- }
-
- /**
- * Sets the namespace of the extension associated with this manifest. The
- * namespace is required for internal use, and is used wherever extension-
- * specific files or resources need to be isolated from those of other
- * extensions. It is defined within the manifest by the "namespace"
- * property.
- *
- * @param namespace
- * The namespace of the extension associated with this manifest.
- */
- public void setNamespace(String namespace) {
- this.namespace = namespace;
- }
-
- /**
- * Returns the paths to all JavaScript resources within the extension.
- * These paths are defined within the manifest by the "js" property as an
- * array of strings, where each string is a path relative to the root of
- * the extension .jar.
- *
- * @return
- * A collection of paths to all JavaScript resources within the
- * extension.
- */
- @JsonProperty("js")
- public Collection<String> getJavaScriptPaths() {
- return javaScriptPaths;
- }
-
- /**
- * Sets the paths to all JavaScript resources within the extension. These
- * paths are defined within the manifest by the "js" property as an array
- * of strings, where each string is a path relative to the root of the
- * extension .jar.
- *
- * @param javaScriptPaths
- * A collection of paths to all JavaScript resources within the
- * extension.
- */
- @JsonProperty("js")
- public void setJavaScriptPaths(Collection<String> javaScriptPaths) {
- this.javaScriptPaths = javaScriptPaths;
- }
-
- /**
- * Returns the paths to all CSS resources within the extension. These paths
- * are defined within the manifest by the "js" property as an array of
- * strings, where each string is a path relative to the root of the
- * extension .jar.
- *
- * @return
- * A collection of paths to all CSS resources within the extension.
- */
- @JsonProperty("css")
- public Collection<String> getCSSPaths() {
- return cssPaths;
- }
-
- /**
- * Sets the paths to all CSS resources within the extension. These paths
- * are defined within the manifest by the "js" property as an array of
- * strings, where each string is a path relative to the root of the
- * extension .jar.
- *
- * @param cssPaths
- * A collection of paths to all CSS resources within the extension.
- */
- @JsonProperty("css")
- public void setCSSPaths(Collection<String> cssPaths) {
- this.cssPaths = cssPaths;
- }
-
- /**
- * Returns the paths to all HTML patch resources within the extension. These
- * paths are defined within the manifest by the "html" property as an array
- * of strings, where each string is a path relative to the root of the
- * extension .jar.
- *
- * @return
- * A collection of paths to all HTML patch resources within the
- * extension.
- */
- @JsonProperty("html")
- public Collection<String> getHTMLPaths() {
- return htmlPaths;
- }
-
- /**
- * Sets the paths to all HTML patch resources within the extension. These
- * paths are defined within the manifest by the "html" property as an array
- * of strings, where each string is a path relative to the root of the
- * extension .jar.
- *
- * @param htmlPatchPaths
- * A collection of paths to all HTML patch resources within the
- * extension.
- */
- @JsonProperty("html")
- public void setHTMLPaths(Collection<String> htmlPatchPaths) {
- this.htmlPaths = htmlPatchPaths;
- }
-
- /**
- * Returns the paths to all translation resources within the extension.
- * These paths are defined within the manifest by the "translations"
- * property as an array of strings, where each string is a path relative to
- * the root of the extension .jar.
- *
- * @return
- * A collection of paths to all translation resources within the
- * extension.
- */
- @JsonProperty("translations")
- public Collection<String> getTranslationPaths() {
- return translationPaths;
- }
-
- /**
- * Sets the paths to all translation resources within the extension. These
- * paths are defined within the manifest by the "translations" property as
- * an array of strings, where each string is a path relative to the root of
- * the extension .jar.
- *
- * @param translationPaths
- * A collection of paths to all translation resources within the
- * extension.
- */
- @JsonProperty("translations")
- public void setTranslationPaths(Collection<String> translationPaths) {
- this.translationPaths = translationPaths;
- }
-
- /**
- * Returns a map of all resources to their corresponding mimetypes, for all
- * resources not already declared as JavaScript, CSS, or translation
- * resources. These paths and corresponding types are defined within the
- * manifest by the "resources" property as an object, where each property
- * name is a path relative to the root of the extension .jar, and each
- * value is a mimetype.
- *
- * @return
- * A map of all resources within the extension to their corresponding
- * mimetypes.
- */
- @JsonProperty("resources")
- public Map<String, String> getResourceTypes() {
- return resourceTypes;
- }
-
- /**
- * Sets the map of all resources to their corresponding mimetypes, for all
- * resources not already declared as JavaScript, CSS, or translation
- * resources. These paths and corresponding types are defined within the
- * manifest by the "resources" property as an object, where each property
- * name is a path relative to the root of the extension .jar, and each
- * value is a mimetype.
- *
- * @param resourceTypes
- * A map of all resources within the extension to their corresponding
- * mimetypes.
- */
- @JsonProperty("resources")
- public void setResourceTypes(Map<String, String> resourceTypes) {
- this.resourceTypes = resourceTypes;
- }
-
- /**
- * Returns the classnames of all authentication provider classes within the
- * extension. These classnames are defined within the manifest by the
- * "authProviders" property as an array of strings, where each string is an
- * authentication provider classname.
- *
- * @return
- * A collection of classnames of all authentication providers within
- * the extension.
- */
- public Collection<String> getAuthProviders() {
- return authProviders;
- }
-
- /**
- * Sets the classnames of all authentication provider classes within the
- * extension. These classnames are defined within the manifest by the
- * "authProviders" property as an array of strings, where each string is an
- * authentication provider classname.
- *
- * @param authProviders
- * A collection of classnames of all authentication providers within
- * the extension.
- */
- public void setAuthProviders(Collection<String> authProviders) {
- this.authProviders = authProviders;
- }
-
- /**
- * Returns the path to the small favicon, relative to the root of the
- * extension.
- *
- * @return
- * The path to the small favicon.
- */
- public String getSmallIcon() {
- return smallIcon;
- }
-
- /**
- * Sets the path to the small favicon. This will replace the default
- * Guacamole icon.
- *
- * @param smallIcon
- * The path to the small favicon.
- */
- public void setSmallIcon(String smallIcon) {
- this.smallIcon = smallIcon;
- }
-
- /**
- * Returns the path to the large favicon, relative to the root of the
- * extension.
- *
- * @return
- * The path to the large favicon.
- */
- public String getLargeIcon() {
- return largeIcon;
- }
-
- /**
- * Sets the path to the large favicon. This will replace the default
- * Guacamole icon.
- *
- * @param largeIcon
- * The path to the large favicon.
- */
- public void setLargeIcon(String largeIcon) {
- this.largeIcon = largeIcon;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/extension/ExtensionModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/extension/ExtensionModule.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/extension/ExtensionModule.java
deleted file mode 100644
index 7fcf6d4..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/extension/ExtensionModule.java
+++ /dev/null
@@ -1,450 +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.
- */
-
-package org.apache.guacamole.net.basic.extension;
-
-import com.google.inject.Provides;
-import com.google.inject.servlet.ServletModule;
-import java.io.File;
-import java.io.FileFilter;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import org.apache.guacamole.net.basic.BasicFileAuthenticationProvider;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.GuacamoleServerException;
-import org.apache.guacamole.environment.Environment;
-import org.apache.guacamole.net.auth.AuthenticationProvider;
-import org.apache.guacamole.net.basic.properties.BasicGuacamoleProperties;
-import org.apache.guacamole.net.basic.resource.Resource;
-import org.apache.guacamole.net.basic.resource.ResourceServlet;
-import org.apache.guacamole.net.basic.resource.SequenceResource;
-import org.apache.guacamole.net.basic.resource.WebApplicationResource;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A Guice Module which loads all extensions within the
- * GUACAMOLE_HOME/extensions directory, if any.
- *
- * @author Michael Jumper
- */
-public class ExtensionModule extends ServletModule {
-
- /**
- * Logger for this class.
- */
- private final Logger logger = LoggerFactory.getLogger(ExtensionModule.class);
-
- /**
- * The version strings of all Guacamole versions whose extensions are
- * compatible with this release.
- */
- private static final List<String> ALLOWED_GUACAMOLE_VERSIONS =
- Collections.unmodifiableList(Arrays.asList(
- "*",
- "0.9.9"
- ));
-
- /**
- * The name of the directory within GUACAMOLE_HOME containing any .jars
- * which should be included in the classpath of all extensions.
- */
- private static final String LIB_DIRECTORY = "lib";
-
- /**
- * The name of the directory within GUACAMOLE_HOME containing all
- * extensions.
- */
- private static final String EXTENSIONS_DIRECTORY = "extensions";
-
- /**
- * The string that the filenames of all extensions must end with to be
- * recognized as extensions.
- */
- private static final String EXTENSION_SUFFIX = ".jar";
-
- /**
- * The Guacamole server environment.
- */
- private final Environment environment;
-
- /**
- * All currently-bound authentication providers, if any.
- */
- private final List<AuthenticationProvider> boundAuthenticationProviders =
- new ArrayList<AuthenticationProvider>();
-
- /**
- * Service for adding and retrieving language resources.
- */
- private final LanguageResourceService languageResourceService;
-
- /**
- * Service for adding and retrieving HTML patch resources.
- */
- private final PatchResourceService patchResourceService;
-
- /**
- * Returns the classloader that should be used as the parent classloader
- * for all extensions. If the GUACAMOLE_HOME/lib directory exists, this
- * will be a classloader that loads classes from within the .jar files in
- * that directory. Lacking the GUACAMOLE_HOME/lib directory, this will
- * simply be the classloader associated with the ExtensionModule class.
- *
- * @return
- * The classloader that should be used as the parent classloader for
- * all extensions.
- *
- * @throws GuacamoleException
- * If an error occurs while retrieving the classloader.
- */
- private ClassLoader getParentClassLoader() throws GuacamoleException {
-
- // Retrieve lib directory
- File libDir = new File(environment.getGuacamoleHome(), LIB_DIRECTORY);
-
- // If lib directory does not exist, use default class loader
- if (!libDir.isDirectory())
- return ExtensionModule.class.getClassLoader();
-
- // Return classloader which loads classes from all .jars within the lib directory
- return DirectoryClassLoader.getInstance(libDir);
-
- }
-
- /**
- * Creates a module which loads all extensions within the
- * GUACAMOLE_HOME/extensions directory.
- *
- * @param environment
- * The environment to use when configuring authentication.
- */
- public ExtensionModule(Environment environment) {
- this.environment = environment;
- this.languageResourceService = new LanguageResourceService(environment);
- this.patchResourceService = new PatchResourceService();
- }
-
- /**
- * Reads the value of the now-deprecated "auth-provider" property from
- * guacamole.properties, returning the corresponding AuthenticationProvider
- * class. If no authentication provider could be read, or the property is
- * not present, null is returned.
- *
- * As this property is deprecated, this function will also log warning
- * messages if the property is actually specified.
- *
- * @return
- * The value of the deprecated "auth-provider" property, or null if the
- * property is not present.
- */
- @SuppressWarnings("deprecation") // We must continue to use this property until it is truly no longer supported
- private Class<AuthenticationProvider> getAuthProviderProperty() {
-
- // Get and bind auth provider instance, if defined via property
- try {
-
- // Use "auth-provider" property if present, but warn about deprecation
- Class<AuthenticationProvider> authenticationProvider = environment.getProperty(BasicGuacamoleProperties.AUTH_PROVIDER);
- if (authenticationProvider != null)
- logger.warn("The \"auth-provider\" and \"lib-directory\" properties are now deprecated. Please use the \"extensions\" and \"lib\" directories within GUACAMOLE_HOME instead.");
-
- return authenticationProvider;
-
- }
- catch (GuacamoleException e) {
- logger.warn("Value of deprecated \"auth-provider\" property within guacamole.properties is not valid: {}", e.getMessage());
- logger.debug("Error reading authentication provider from guacamole.properties.", e);
- }
-
- return null;
-
- }
-
- /**
- * Binds the given AuthenticationProvider class such that any service
- * requiring access to the AuthenticationProvider can obtain it via
- * injection, along with any other bound AuthenticationProviders.
- *
- * @param authenticationProvider
- * The AuthenticationProvider class to bind.
- */
- private void bindAuthenticationProvider(Class<? extends AuthenticationProvider> authenticationProvider) {
-
- // Bind authentication provider
- logger.debug("[{}] Binding AuthenticationProvider \"{}\".",
- boundAuthenticationProviders.size(), authenticationProvider.getName());
- boundAuthenticationProviders.add(new AuthenticationProviderFacade(authenticationProvider));
-
- }
-
- /**
- * Binds each of the the given AuthenticationProvider classes such that any
- * service requiring access to the AuthenticationProvider can obtain it via
- * injection.
- *
- * @param authProviders
- * The AuthenticationProvider classes to bind.
- */
- private void bindAuthenticationProviders(Collection<Class<AuthenticationProvider>> authProviders) {
-
- // Bind each authentication provider within extension
- for (Class<AuthenticationProvider> authenticationProvider : authProviders)
- bindAuthenticationProvider(authenticationProvider);
-
- }
-
- /**
- * Returns a list of all currently-bound AuthenticationProvider instances.
- *
- * @return
- * A List of all currently-bound AuthenticationProvider. The List is
- * not modifiable.
- */
- @Provides
- public List<AuthenticationProvider> getAuthenticationProviders() {
- return Collections.unmodifiableList(boundAuthenticationProviders);
- }
-
- /**
- * Serves each of the given resources as a language resource. Language
- * resources are served from within the "/translations" directory as JSON
- * files, where the name of each JSON file is the language key.
- *
- * @param resources
- * A map of all language resources to serve, where the key of each
- * entry in the language key from which the name of the JSON file will
- * be derived.
- */
- private void serveLanguageResources(Map<String, Resource> resources) {
-
- // Add all resources to language resource service
- for (Map.Entry<String, Resource> translationResource : resources.entrySet()) {
-
- // Get path and resource from path/resource pair
- String path = translationResource.getKey();
- Resource resource = translationResource.getValue();
-
- // Derive key from path
- String languageKey = languageResourceService.getLanguageKey(path);
- if (languageKey == null) {
- logger.warn("Invalid language file name: \"{}\"", path);
- continue;
- }
-
- // Add language resource
- languageResourceService.addLanguageResource(languageKey, resource);
-
- }
-
- }
-
- /**
- * Serves each of the given resources under the given prefix. The path of
- * each resource relative to the prefix is the key of its entry within the
- * map.
- *
- * @param prefix
- * The prefix under which each resource should be served.
- *
- * @param resources
- * A map of all resources to serve, where the key of each entry in the
- * map is the desired path of that resource relative to the prefix.
- */
- private void serveStaticResources(String prefix, Map<String, Resource> resources) {
-
- // Add all resources under given prefix
- for (Map.Entry<String, Resource> staticResource : resources.entrySet()) {
-
- // Get path and resource from path/resource pair
- String path = staticResource.getKey();
- Resource resource = staticResource.getValue();
-
- // Serve within namespace-derived path
- serve(prefix + path).with(new ResourceServlet(resource));
-
- }
-
- }
-
- /**
- * Returns whether the given version of Guacamole is compatible with this
- * version of Guacamole as far as extensions are concerned.
- *
- * @param guacamoleVersion
- * The version of Guacamole the extension was built for.
- *
- * @return
- * true if the given version of Guacamole is compatible with this
- * version of Guacamole, false otherwise.
- */
- private boolean isCompatible(String guacamoleVersion) {
- return ALLOWED_GUACAMOLE_VERSIONS.contains(guacamoleVersion);
- }
-
- /**
- * Loads all extensions within the GUACAMOLE_HOME/extensions directory, if
- * any, adding their static resource to the given resoure collections.
- *
- * @param javaScriptResources
- * A modifiable collection of static JavaScript resources which may
- * receive new JavaScript resources from extensions.
- *
- * @param cssResources
- * A modifiable collection of static CSS resources which may receive
- * new CSS resources from extensions.
- */
- private void loadExtensions(Collection<Resource> javaScriptResources,
- Collection<Resource> cssResources) {
-
- // Retrieve and validate extensions directory
- File extensionsDir = new File(environment.getGuacamoleHome(), EXTENSIONS_DIRECTORY);
- if (!extensionsDir.isDirectory())
- return;
-
- // Retrieve list of all extension files within extensions directory
- File[] extensionFiles = extensionsDir.listFiles(new FileFilter() {
-
- @Override
- public boolean accept(File file) {
- return file.isFile() && file.getName().endsWith(EXTENSION_SUFFIX);
- }
-
- });
-
- // Verify contents are accessible
- if (extensionFiles == null) {
- logger.warn("Although GUACAMOLE_HOME/" + EXTENSIONS_DIRECTORY + " exists, its contents cannot be read.");
- return;
- }
-
- // Sort files lexicographically
- Arrays.sort(extensionFiles);
-
- // Load each extension within the extension directory
- for (File extensionFile : extensionFiles) {
-
- logger.debug("Loading extension: \"{}\"", extensionFile.getName());
-
- try {
-
- // Load extension from file
- Extension extension = new Extension(getParentClassLoader(), extensionFile);
-
- // Validate Guacamole version of extension
- if (!isCompatible(extension.getGuacamoleVersion())) {
- logger.debug("Declared Guacamole version \"{}\" of extension \"{}\" is not compatible with this version of Guacamole.",
- extension.getGuacamoleVersion(), extensionFile.getName());
- throw new GuacamoleServerException("Extension \"" + extension.getName() + "\" is not "
- + "compatible with this version of Guacamole.");
- }
-
- // Add any JavaScript / CSS resources
- javaScriptResources.addAll(extension.getJavaScriptResources().values());
- cssResources.addAll(extension.getCSSResources().values());
-
- // Attempt to load all authentication providers
- bindAuthenticationProviders(extension.getAuthenticationProviderClasses());
-
- // Add any translation resources
- serveLanguageResources(extension.getTranslationResources());
-
- // Add all HTML patch resources
- patchResourceService.addPatchResources(extension.getHTMLResources().values());
-
- // Add all static resources under namespace-derived prefix
- String staticResourcePrefix = "/app/ext/" + extension.getNamespace() + "/";
- serveStaticResources(staticResourcePrefix, extension.getStaticResources());
-
- // Serve up the small favicon if provided
- if(extension.getSmallIcon() != null)
- serve("/images/logo-64.png").with(new ResourceServlet(extension.getSmallIcon()));
-
- // Serve up the large favicon if provided
- if(extension.getLargeIcon()!= null)
- serve("/images/logo-144.png").with(new ResourceServlet(extension.getLargeIcon()));
-
- // Log successful loading of extension by name
- logger.info("Extension \"{}\" loaded.", extension.getName());
-
- }
- catch (GuacamoleException e) {
- logger.error("Extension \"{}\" could not be loaded: {}", extensionFile.getName(), e.getMessage());
- logger.debug("Unable to load extension.", e);
- }
-
- }
-
- }
-
- @Override
- protected void configureServlets() {
-
- // Bind resource services
- bind(LanguageResourceService.class).toInstance(languageResourceService);
- bind(PatchResourceService.class).toInstance(patchResourceService);
-
- // Load initial language resources from servlet context
- languageResourceService.addLanguageResources(getServletContext());
-
- // Load authentication provider from guacamole.properties for sake of backwards compatibility
- Class<AuthenticationProvider> authProviderProperty = getAuthProviderProperty();
- if (authProviderProperty != null)
- bindAuthenticationProvider(authProviderProperty);
-
- // Init JavaScript resources with base guacamole.min.js
- Collection<Resource> javaScriptResources = new ArrayList<Resource>();
- javaScriptResources.add(new WebApplicationResource(getServletContext(), "/guacamole.min.js"));
-
- // Init CSS resources with base guacamole.min.css
- Collection<Resource> cssResources = new ArrayList<Resource>();
- cssResources.add(new WebApplicationResource(getServletContext(), "/guacamole.min.css"));
-
- // Load all extensions
- loadExtensions(javaScriptResources, cssResources);
-
- // Always bind basic auth last
- bindAuthenticationProvider(BasicFileAuthenticationProvider.class);
-
- // Dynamically generate app.js and app.css from extensions
- serve("/app.js").with(new ResourceServlet(new SequenceResource(javaScriptResources)));
- serve("/app.css").with(new ResourceServlet(new SequenceResource(cssResources)));
-
- // Dynamically serve all language resources
- for (Map.Entry<String, Resource> entry : languageResourceService.getLanguageResources().entrySet()) {
-
- // Get language key/resource pair
- String languageKey = entry.getKey();
- Resource resource = entry.getValue();
-
- // Serve resource within /translations
- serve("/translations/" + languageKey + ".json").with(new ResourceServlet(resource));
-
- }
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/extension/LanguageResourceService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/extension/LanguageResourceService.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/extension/LanguageResourceService.java
deleted file mode 100644
index 6423b5d..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/extension/LanguageResourceService.java
+++ /dev/null
@@ -1,442 +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.
- */
-
-package org.apache.guacamole.net.basic.extension;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import javax.servlet.ServletContext;
-import org.codehaus.jackson.JsonNode;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.node.JsonNodeFactory;
-import org.codehaus.jackson.node.ObjectNode;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.environment.Environment;
-import org.apache.guacamole.net.basic.properties.BasicGuacamoleProperties;
-import org.apache.guacamole.net.basic.resource.ByteArrayResource;
-import org.apache.guacamole.net.basic.resource.Resource;
-import org.apache.guacamole.net.basic.resource.WebApplicationResource;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Service which provides access to all built-in languages as resources, and
- * allows other resources to be added or overlaid against existing resources.
- *
- * @author Michael Jumper
- */
-public class LanguageResourceService {
-
- /**
- * Logger for this class.
- */
- private final Logger logger = LoggerFactory.getLogger(LanguageResourceService.class);
-
- /**
- * The path to the translation folder within the webapp.
- */
- private static final String TRANSLATION_PATH = "/translations";
-
- /**
- * The JSON property for the human readable display name.
- */
- private static final String LANGUAGE_DISPLAY_NAME_KEY = "NAME";
-
- /**
- * The Jackson parser for parsing the language JSON files.
- */
- private static final ObjectMapper mapper = new ObjectMapper();
-
- /**
- * The regular expression to use for parsing the language key from the
- * filename.
- */
- private static final Pattern LANGUAGE_KEY_PATTERN = Pattern.compile(".*/([a-z]+(_[A-Z]+)?)\\.json");
-
- /**
- * The set of all language keys which are explicitly listed as allowed
- * within guacamole.properties, or null if all defined languages should be
- * allowed.
- */
- private final Set<String> allowedLanguages;
-
- /**
- * Map of all language resources by language key. Language keys are
- * language and country code pairs, separated by an underscore, like
- * "en_US". The country code and underscore SHOULD be omitted in the case
- * that only one dialect of that language is defined, or in the case of the
- * most universal or well-supported of all supported dialects of that
- * language.
- */
- private final Map<String, Resource> resources = new HashMap<String, Resource>();
-
- /**
- * Creates a new service for tracking and parsing available translations
- * which reads its configuration from the given environment.
- *
- * @param environment
- * The environment from which the configuration properties of this
- * service should be read.
- */
- public LanguageResourceService(Environment environment) {
-
- Set<String> parsedAllowedLanguages;
-
- // Parse list of available languages from properties
- try {
- parsedAllowedLanguages = environment.getProperty(BasicGuacamoleProperties.ALLOWED_LANGUAGES);
- logger.debug("Available languages will be restricted to: {}", parsedAllowedLanguages);
- }
-
- // Warn of failure to parse
- catch (GuacamoleException e) {
- parsedAllowedLanguages = null;
- logger.error("Unable to parse list of allowed languages: {}", e.getMessage());
- logger.debug("Error parsing list of allowed languages.", e);
- }
-
- this.allowedLanguages = parsedAllowedLanguages;
-
- }
-
- /**
- * Derives a language key from the filename within the given path, if
- * possible. If the filename is not a valid language key, null is returned.
- *
- * @param path
- * The path containing the filename to derive the language key from.
- *
- * @return
- * The derived language key, or null if the filename is not a valid
- * language key.
- */
- public String getLanguageKey(String path) {
-
- // Parse language key from filename
- Matcher languageKeyMatcher = LANGUAGE_KEY_PATTERN.matcher(path);
- if (!languageKeyMatcher.matches())
- return null;
-
- // Return parsed key
- return languageKeyMatcher.group(1);
-
- }
-
- /**
- * Merges the given JSON objects. Any leaf node in overlay will overwrite
- * the corresponding path in original.
- *
- * @param original
- * The original JSON object to which changes should be applied.
- *
- * @param overlay
- * The JSON object containing changes that should be applied.
- *
- * @return
- * The newly constructed JSON object that is the result of merging
- * original and overlay.
- */
- private JsonNode mergeTranslations(JsonNode original, JsonNode overlay) {
-
- // If we are at a leaf node, the result of merging is simply the overlay
- if (!overlay.isObject() || original == null)
- return overlay;
-
- // Create mutable copy of original
- ObjectNode newNode = JsonNodeFactory.instance.objectNode();
- Iterator<String> fieldNames = original.getFieldNames();
- while (fieldNames.hasNext()) {
- String fieldName = fieldNames.next();
- newNode.put(fieldName, original.get(fieldName));
- }
-
- // Merge each field
- fieldNames = overlay.getFieldNames();
- while (fieldNames.hasNext()) {
- String fieldName = fieldNames.next();
- newNode.put(fieldName, mergeTranslations(original.get(fieldName), overlay.get(fieldName)));
- }
-
- return newNode;
-
- }
-
- /**
- * Parses the given language resource, returning the resulting JsonNode.
- * If the resource cannot be read because it does not exist, null is
- * returned.
- *
- * @param resource
- * The language resource to parse. Language resources must have the
- * mimetype "application/json".
- *
- * @return
- * A JsonNode representing the root of the parsed JSON tree, or null if
- * the given resource does not exist.
- *
- * @throws IOException
- * If an error occurs while parsing the resource as JSON.
- */
- private JsonNode parseLanguageResource(Resource resource) throws IOException {
-
- // Get resource stream
- InputStream stream = resource.asStream();
- if (stream == null)
- return null;
-
- // Parse JSON tree
- try {
- JsonNode tree = mapper.readTree(stream);
- return tree;
- }
-
- // Ensure stream is always closed
- finally {
- stream.close();
- }
-
- }
-
- /**
- * Returns whether a language having the given key should be allowed to be
- * loaded. If language availability restrictions are imposed through
- * guacamole.properties, this may return false in some cases. By default,
- * this function will always return true. Note that just because a language
- * key is allowed to be loaded does not imply that the language key is
- * valid.
- *
- * @param languageKey
- * The language key of the language to test.
- *
- * @return
- * true if the given language key should be allowed to be loaded, false
- * otherwise.
- */
- private boolean isLanguageAllowed(String languageKey) {
-
- // If no list is provided, all languages are implicitly available
- if (allowedLanguages == null)
- return true;
-
- return allowedLanguages.contains(languageKey);
-
- }
-
- /**
- * Adds or overlays the given language resource, which need not exist in
- * the ServletContext. If a language resource is already defined for the
- * given language key, the strings from the given resource will be overlaid
- * on top of the existing strings, augmenting or overriding the available
- * strings for that language.
- *
- * @param key
- * The language key of the resource being added. Language keys are
- * pairs consisting of a language code followed by an underscore and
- * country code, such as "en_US".
- *
- * @param resource
- * The language resource to add. This resource must have the mimetype
- * "application/json".
- */
- public void addLanguageResource(String key, Resource resource) {
-
- // Skip loading of language if not allowed
- if (!isLanguageAllowed(key)) {
- logger.debug("OMITTING language: \"{}\"", key);
- return;
- }
-
- // Merge language resources if already defined
- Resource existing = resources.get(key);
- if (existing != null) {
-
- try {
-
- // Read the original language resource
- JsonNode existingTree = parseLanguageResource(existing);
- if (existingTree == null) {
- logger.warn("Base language resource \"{}\" does not exist.", key);
- return;
- }
-
- // Read new language resource
- JsonNode resourceTree = parseLanguageResource(resource);
- if (resourceTree == null) {
- logger.warn("Overlay language resource \"{}\" does not exist.", key);
- return;
- }
-
- // Merge the language resources
- JsonNode mergedTree = mergeTranslations(existingTree, resourceTree);
- resources.put(key, new ByteArrayResource("application/json", mapper.writeValueAsBytes(mergedTree)));
-
- logger.debug("Merged strings with existing language: \"{}\"", key);
-
- }
- catch (IOException e) {
- logger.error("Unable to merge language resource \"{}\": {}", key, e.getMessage());
- logger.debug("Error merging language resource.", e);
- }
-
- }
-
- // Otherwise, add new language resource
- else {
- resources.put(key, resource);
- logger.debug("Added language: \"{}\"", key);
- }
-
- }
-
- /**
- * Adds or overlays all languages defined within the /translations
- * directory of the given ServletContext. If no such language files exist,
- * nothing is done. If a language is already defined, the strings from the
- * will be overlaid on top of the existing strings, augmenting or
- * overriding the available strings for that language. The language key
- * for each language file is derived from the filename.
- *
- * @param context
- * The ServletContext from which language files should be loaded.
- */
- public void addLanguageResources(ServletContext context) {
-
- // Get the paths of all the translation files
- Set<?> resourcePaths = context.getResourcePaths(TRANSLATION_PATH);
-
- // If no translation files found, nothing to add
- if (resourcePaths == null)
- return;
-
- // Iterate through all the found language files and add them to the map
- for (Object resourcePathObject : resourcePaths) {
-
- // Each resource path is guaranteed to be a string
- String resourcePath = (String) resourcePathObject;
-
- // Parse language key from path
- String languageKey = getLanguageKey(resourcePath);
- if (languageKey == null) {
- logger.warn("Invalid language file name: \"{}\"", resourcePath);
- continue;
- }
-
- // Add/overlay new resource
- addLanguageResource(
- languageKey,
- new WebApplicationResource(context, "application/json", resourcePath)
- );
-
- }
-
- }
-
- /**
- * Returns a set of all unique language keys currently associated with
- * language resources stored in this service. The returned set cannot be
- * modified.
- *
- * @return
- * A set of all unique language keys currently associated with this
- * service.
- */
- public Set<String> getLanguageKeys() {
- return Collections.unmodifiableSet(resources.keySet());
- }
-
- /**
- * Returns a map of all languages currently associated with this service,
- * where the key of each map entry is the language key. The returned map
- * cannot be modified.
- *
- * @return
- * A map of all languages currently associated with this service.
- */
- public Map<String, Resource> getLanguageResources() {
- return Collections.unmodifiableMap(resources);
- }
-
- /**
- * Returns a mapping of all language keys to their corresponding human-
- * readable language names. If an error occurs while parsing a language
- * resource, its key/name pair will simply be omitted. The returned map
- * cannot be modified.
- *
- * @return
- * A map of all language keys and their corresponding human-readable
- * names.
- */
- public Map<String, String> getLanguageNames() {
-
- Map<String, String> languageNames = new HashMap<String, String>();
-
- // For each language key/resource pair
- for (Map.Entry<String, Resource> entry : resources.entrySet()) {
-
- // Get language key and resource
- String languageKey = entry.getKey();
- Resource resource = entry.getValue();
-
- // Get stream for resource
- InputStream resourceStream = resource.asStream();
- if (resourceStream == null) {
- logger.warn("Expected language resource does not exist: \"{}\".", languageKey);
- continue;
- }
-
- // Get name node of language
- try {
- JsonNode tree = mapper.readTree(resourceStream);
- JsonNode nameNode = tree.get(LANGUAGE_DISPLAY_NAME_KEY);
-
- // Attempt to read language name from node
- String languageName;
- if (nameNode == null || (languageName = nameNode.getTextValue()) == null) {
- logger.warn("Root-level \"" + LANGUAGE_DISPLAY_NAME_KEY + "\" string missing or invalid in language \"{}\"", languageKey);
- languageName = languageKey;
- }
-
- // Add language key/name pair to map
- languageNames.put(languageKey, languageName);
-
- }
-
- // Continue with next language if unable to read
- catch (IOException e) {
- logger.warn("Unable to read language resource \"{}\".", languageKey);
- logger.debug("Error reading language resource.", e);
- }
-
- }
-
- return Collections.unmodifiableMap(languageNames);
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/extension/PatchResourceService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/extension/PatchResourceService.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/extension/PatchResourceService.java
deleted file mode 100644
index 76ef104..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/extension/PatchResourceService.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright (C) 2016 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.
- */
-
-package org.apache.guacamole.net.basic.extension;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import org.apache.guacamole.net.basic.resource.Resource;
-
-/**
- * Service which provides access to all HTML patches as resources, and allows
- * other patch resources to be added.
- *
- * @author Michael Jumper
- */
-public class PatchResourceService {
-
- /**
- * A list of all HTML patch resources currently defined, in the order they
- * should be applied.
- */
- private final List<Resource> resources = new ArrayList<Resource>();
-
- /**
- * Adds the given HTML patch resource such that it will apply to the
- * Guacamole UI. The patch will be applied by the JavaScript side of the
- * web application in the order that addPatchResource() is invoked.
- *
- * @param resource
- * The HTML patch resource to add. This resource must have the mimetype
- * "text/html".
- */
- public void addPatchResource(Resource resource) {
- resources.add(resource);
- }
-
- /**
- * Adds the given HTML patch resources such that they will apply to the
- * Guacamole UI. The patches will be applied by the JavaScript side of the
- * web application in the order provided.
- *
- * @param resources
- * The HTML patch resources to add. Each resource must have the
- * mimetype "text/html".
- */
- public void addPatchResources(Collection<Resource> resources) {
- for (Resource resource : resources)
- addPatchResource(resource);
- }
-
- /**
- * Returns a list of all HTML patches currently associated with this
- * service, in the order they should be applied. The returned list cannot
- * be modified.
- *
- * @return
- * A list of all HTML patches currently associated with this service.
- */
- public List<Resource> getPatchResources() {
- return Collections.unmodifiableList(resources);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/extension/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/extension/package-info.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/extension/package-info.java
deleted file mode 100644
index 9675904..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/extension/package-info.java
+++ /dev/null
@@ -1,27 +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.
- */
-
-/**
- * Classes which represent and facilitate the loading of extensions to the
- * Guacamole web application.
- */
-package org.apache.guacamole.net.basic.extension;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/log/LogModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/log/LogModule.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/log/LogModule.java
deleted file mode 100644
index 739460d..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/log/LogModule.java
+++ /dev/null
@@ -1,99 +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.
- */
-
-package org.apache.guacamole.net.basic.log;
-
-import ch.qos.logback.classic.LoggerContext;
-import ch.qos.logback.classic.joran.JoranConfigurator;
-import ch.qos.logback.core.joran.spi.JoranException;
-import ch.qos.logback.core.util.StatusPrinter;
-import com.google.inject.AbstractModule;
-import java.io.File;
-import org.apache.guacamole.environment.Environment;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Initializes the logging subsystem.
- *
- * @author Michael Jumper
- */
-public class LogModule extends AbstractModule {
-
- /**
- * Logger for this class.
- */
- private final Logger logger = LoggerFactory.getLogger(LogModule.class);
-
- /**
- * The Guacamole server environment.
- */
- private final Environment environment;
-
- /**
- * Creates a new LogModule which uses the given environment to determine
- * the logging configuration.
- *
- * @param environment
- * The environment to use when configuring logging.
- */
- public LogModule(Environment environment) {
- this.environment = environment;
- }
-
- @Override
- protected void configure() {
-
- // Only load logback configuration if GUACAMOLE_HOME exists
- File guacamoleHome = environment.getGuacamoleHome();
- if (!guacamoleHome.isDirectory())
- return;
-
- // Check for custom logback.xml
- File logbackConfiguration = new File(guacamoleHome, "logback.xml");
- if (!logbackConfiguration.exists())
- return;
-
- logger.info("Loading logback configuration from \"{}\".", logbackConfiguration);
-
- LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
- context.reset();
-
- try {
-
- // Initialize logback
- JoranConfigurator configurator = new JoranConfigurator();
- configurator.setContext(context);
- configurator.doConfigure(logbackConfiguration);
-
- // Dump any errors that occur during logback init
- StatusPrinter.printInCaseOfErrorsOrWarnings(context);
-
- }
- catch (JoranException e) {
- logger.error("Initialization of logback failed: {}", e.getMessage());
- logger.debug("Unable to load logback configuration..", e);
- }
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/package-info.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/package-info.java
deleted file mode 100644
index 183b530..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/package-info.java
+++ /dev/null
@@ -1,28 +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.
- */
-
-/**
- * Classes specific to the general-purpose web application implemented by
- * the Guacamole project using the Guacamole APIs.
- */
-package org.apache.guacamole.net.basic;
-
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/properties/AuthenticationProviderProperty.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/properties/AuthenticationProviderProperty.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/properties/AuthenticationProviderProperty.java
deleted file mode 100644
index 1c15131..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/properties/AuthenticationProviderProperty.java
+++ /dev/null
@@ -1,68 +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.
- */
-
-package org.apache.guacamole.net.basic.properties;
-
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.net.auth.AuthenticationProvider;
-import org.apache.guacamole.properties.GuacamoleProperty;
-
-/**
- * A GuacamoleProperty whose value is the name of a class to use to
- * authenticate users. This class must implement AuthenticationProvider. Use
- * of this property type is deprecated in favor of the
- * GUACAMOLE_HOME/extensions directory.
- *
- * @author Michael Jumper
- */
-@Deprecated
-public abstract class AuthenticationProviderProperty implements GuacamoleProperty<Class<AuthenticationProvider>> {
-
- @Override
- @SuppressWarnings("unchecked") // Explicitly checked within by isAssignableFrom()
- public Class<AuthenticationProvider> parseValue(String authProviderClassName) throws GuacamoleException {
-
- // If no property provided, return null.
- if (authProviderClassName == null)
- return null;
-
- // Get auth provider instance
- try {
-
- // Get authentication provider class
- Class<?> authProviderClass = org.apache.guacamole.net.basic.GuacamoleClassLoader.getInstance().loadClass(authProviderClassName);
-
- // Verify the located class is actually a subclass of AuthenticationProvider
- if (!AuthenticationProvider.class.isAssignableFrom(authProviderClass))
- throw new GuacamoleException("Specified authentication provider class is not a AuthenticationProvider.");
-
- // Return located class
- return (Class<AuthenticationProvider>) authProviderClass;
-
- }
- catch (ClassNotFoundException e) {
- throw new GuacamoleException("Authentication provider class not found", e);
- }
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/properties/BasicGuacamoleProperties.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/properties/BasicGuacamoleProperties.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/properties/BasicGuacamoleProperties.java
deleted file mode 100644
index b75d1c3..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/properties/BasicGuacamoleProperties.java
+++ /dev/null
@@ -1,90 +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.
- */
-
-package org.apache.guacamole.net.basic.properties;
-
-import org.apache.guacamole.properties.FileGuacamoleProperty;
-import org.apache.guacamole.properties.IntegerGuacamoleProperty;
-import org.apache.guacamole.properties.StringGuacamoleProperty;
-
-/**
- * Properties used by the default Guacamole web application.
- *
- * @author Michael Jumper
- */
-public class BasicGuacamoleProperties {
-
- /**
- * This class should not be instantiated.
- */
- private BasicGuacamoleProperties() {}
-
- /**
- * The authentication provider to user when retrieving the authorized
- * configurations of a user. This property is currently supported, but
- * deprecated in favor of the GUACAMOLE_HOME/extensions directory.
- */
- @Deprecated
- public static final AuthenticationProviderProperty AUTH_PROVIDER = new AuthenticationProviderProperty() {
-
- @Override
- public String getName() { return "auth-provider"; }
-
- };
-
- /**
- * The directory to search for authentication provider classes. This
- * property is currently supported, but deprecated in favor of the
- * GUACAMOLE_HOME/lib directory.
- */
- @Deprecated
- public static final FileGuacamoleProperty LIB_DIRECTORY = new FileGuacamoleProperty() {
-
- @Override
- public String getName() { return "lib-directory"; }
-
- };
-
- /**
- * The session timeout for the API, in minutes.
- */
- public static final IntegerGuacamoleProperty API_SESSION_TIMEOUT = new IntegerGuacamoleProperty() {
-
- @Override
- public String getName() { return "api-session-timeout"; }
-
- };
-
- /**
- * Comma-separated list of all allowed languages, where each language is
- * represented by a language key, such as "en" or "en_US". If specified,
- * only languages within this list will be listed as available by the REST
- * service.
- */
- public static final StringSetProperty ALLOWED_LANGUAGES = new StringSetProperty() {
-
- @Override
- public String getName() { return "allowed-languages"; }
-
- };
-
-}
[09/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Remove useless .net.basic subpackage, now that everything is being renamed.
Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/activeconnection/APIActiveConnection.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/activeconnection/APIActiveConnection.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/activeconnection/APIActiveConnection.java
deleted file mode 100644
index b695381..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/activeconnection/APIActiveConnection.java
+++ /dev/null
@@ -1,130 +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.
- */
-
-package org.apache.guacamole.net.basic.rest.activeconnection;
-
-import java.util.Date;
-import org.apache.guacamole.net.auth.ActiveConnection;
-
-/**
- * Information related to active connections which may be exposed through the
- * REST endpoints.
- *
- * @author Michael Jumper
- */
-public class APIActiveConnection {
-
- /**
- * The identifier of the active connection itself.
- */
- private final String identifier;
-
- /**
- * The identifier of the connection associated with this
- * active connection.
- */
- private final String connectionIdentifier;
-
- /**
- * The date and time the connection began.
- */
- private final Date startDate;
-
- /**
- * The host from which the connection originated, if known.
- */
- private final String remoteHost;
-
- /**
- * The name of the user who used or is using the connection.
- */
- private final String username;
-
- /**
- * Creates a new APIActiveConnection, copying the information from the given
- * active connection.
- *
- * @param connection
- * The active connection to copy data from.
- */
- public APIActiveConnection(ActiveConnection connection) {
- this.identifier = connection.getIdentifier();
- this.connectionIdentifier = connection.getConnectionIdentifier();
- this.startDate = connection.getStartDate();
- this.remoteHost = connection.getRemoteHost();
- this.username = connection.getUsername();
- }
-
- /**
- * Returns the identifier of the connection associated with this tunnel.
- *
- * @return
- * The identifier of the connection associated with this tunnel.
- */
- public String getConnectionIdentifier() {
- return connectionIdentifier;
- }
-
- /**
- * Returns the date and time the connection began.
- *
- * @return
- * The date and time the connection began.
- */
- public Date getStartDate() {
- return startDate;
- }
-
- /**
- * Returns the remote host from which this connection originated.
- *
- * @return
- * The remote host from which this connection originated.
- */
- public String getRemoteHost() {
- return remoteHost;
- }
-
- /**
- * Returns the name of the user who used or is using the connection at the
- * times given by this tunnel.
- *
- * @return
- * The name of the user who used or is using the associated connection.
- */
- public String getUsername() {
- return username;
- }
-
- /**
- * Returns the identifier of the active connection itself. This is
- * distinct from the connection identifier, and uniquely identifies a
- * specific use of a connection.
- *
- * @return
- * The identifier of the active connection.
- */
- public String getIdentifier() {
- return identifier;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/activeconnection/ActiveConnectionRESTService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/activeconnection/ActiveConnectionRESTService.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/activeconnection/ActiveConnectionRESTService.java
deleted file mode 100644
index 929009b..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/activeconnection/ActiveConnectionRESTService.java
+++ /dev/null
@@ -1,196 +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.
- */
-
-package org.apache.guacamole.net.basic.rest.activeconnection;
-
-import com.google.inject.Inject;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.MediaType;
-import org.apache.guacamole.GuacamoleClientException;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.GuacamoleUnsupportedException;
-import org.apache.guacamole.net.auth.ActiveConnection;
-import org.apache.guacamole.net.auth.Directory;
-import org.apache.guacamole.net.auth.User;
-import org.apache.guacamole.net.auth.UserContext;
-import org.apache.guacamole.net.auth.permission.ObjectPermission;
-import org.apache.guacamole.net.auth.permission.ObjectPermissionSet;
-import org.apache.guacamole.net.auth.permission.SystemPermission;
-import org.apache.guacamole.net.auth.permission.SystemPermissionSet;
-import org.apache.guacamole.net.basic.GuacamoleSession;
-import org.apache.guacamole.net.basic.rest.APIPatch;
-import org.apache.guacamole.net.basic.rest.ObjectRetrievalService;
-import org.apache.guacamole.net.basic.rest.PATCH;
-import org.apache.guacamole.net.basic.rest.auth.AuthenticationService;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A REST Service for retrieving and managing the tunnels of active connections.
- *
- * @author Michael Jumper
- */
-@Path("/data/{dataSource}/activeConnections")
-@Produces(MediaType.APPLICATION_JSON)
-@Consumes(MediaType.APPLICATION_JSON)
-public class ActiveConnectionRESTService {
-
- /**
- * Logger for this class.
- */
- private static final Logger logger = LoggerFactory.getLogger(ActiveConnectionRESTService.class);
-
- /**
- * A service for authenticating users from auth tokens.
- */
- @Inject
- private AuthenticationService authenticationService;
-
- /**
- * Service for convenient retrieval of objects.
- */
- @Inject
- private ObjectRetrievalService retrievalService;
-
- /**
- * Gets a list of active connections in the system, filtering the returned
- * list by the given permissions, if specified.
- *
- * @param authToken
- * The authentication token that is used to authenticate the user
- * performing the operation.
- *
- * @param authProviderIdentifier
- * The unique identifier of the AuthenticationProvider associated with
- * the UserContext containing the active connections to be retrieved.
- *
- * @param permissions
- * The set of permissions to filter with. A user must have one or more
- * of these permissions for a user to appear in the result.
- * If null, no filtering will be performed.
- *
- * @return
- * A list of all active connections. If a permission was specified,
- * this list will contain only those active connections for which the
- * current user has that permission.
- *
- * @throws GuacamoleException
- * If an error is encountered while retrieving active connections.
- */
- @GET
- public Map<String, APIActiveConnection> getActiveConnections(@QueryParam("token") String authToken,
- @PathParam("dataSource") String authProviderIdentifier,
- @QueryParam("permission") List<ObjectPermission.Type> permissions)
- throws GuacamoleException {
-
- GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
- UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
- User self = userContext.self();
-
- // Do not filter on permissions if no permissions are specified
- if (permissions != null && permissions.isEmpty())
- permissions = null;
-
- // An admin user has access to any connection
- SystemPermissionSet systemPermissions = self.getSystemPermissions();
- boolean isAdmin = systemPermissions.hasPermission(SystemPermission.Type.ADMINISTER);
-
- // Get the directory
- Directory<ActiveConnection> activeConnectionDirectory = userContext.getActiveConnectionDirectory();
-
- // Filter connections, if requested
- Collection<String> activeConnectionIdentifiers = activeConnectionDirectory.getIdentifiers();
- if (!isAdmin && permissions != null) {
- ObjectPermissionSet activeConnectionPermissions = self.getActiveConnectionPermissions();
- activeConnectionIdentifiers = activeConnectionPermissions.getAccessibleObjects(permissions, activeConnectionIdentifiers);
- }
-
- // Retrieve all active connections , converting to API active connections
- Map<String, APIActiveConnection> apiActiveConnections = new HashMap<String, APIActiveConnection>();
- for (ActiveConnection activeConnection : activeConnectionDirectory.getAll(activeConnectionIdentifiers))
- apiActiveConnections.put(activeConnection.getIdentifier(), new APIActiveConnection(activeConnection));
-
- return apiActiveConnections;
-
- }
-
- /**
- * Applies the given active connection patches. This operation currently
- * only supports deletion of active connections through the "remove" patch
- * operation. Deleting an active connection effectively kills the
- * connection. The path of each patch operation is of the form "/ID"
- * where ID is the identifier of the active connection being modified.
- *
- * @param authToken
- * The authentication token that is used to authenticate the user
- * performing the operation.
- *
- * @param authProviderIdentifier
- * The unique identifier of the AuthenticationProvider associated with
- * the UserContext containing the active connections to be deleted.
- *
- * @param patches
- * The active connection patches to apply for this request.
- *
- * @throws GuacamoleException
- * If an error occurs while deleting the active connections.
- */
- @PATCH
- public void patchTunnels(@QueryParam("token") String authToken,
- @PathParam("dataSource") String authProviderIdentifier,
- List<APIPatch<String>> patches) throws GuacamoleException {
-
- GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
- UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
-
- // Get the directory
- Directory<ActiveConnection> activeConnectionDirectory = userContext.getActiveConnectionDirectory();
-
- // Close each connection listed for removal
- for (APIPatch<String> patch : patches) {
-
- // Only remove is supported
- if (patch.getOp() != APIPatch.Operation.remove)
- throw new GuacamoleUnsupportedException("Only the \"remove\" operation is supported when patching active connections.");
-
- // Retrieve and validate path
- String path = patch.getPath();
- if (!path.startsWith("/"))
- throw new GuacamoleClientException("Patch paths must start with \"/\".");
-
- // Close connection
- activeConnectionDirectory.remove(path.substring(1));
-
- }
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/auth/APIAuthenticationResponse.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/auth/APIAuthenticationResponse.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/auth/APIAuthenticationResponse.java
deleted file mode 100644
index 4bb61e1..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/auth/APIAuthenticationResponse.java
+++ /dev/null
@@ -1,105 +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.
- */
-
-package org.apache.guacamole.net.basic.rest.auth;
-
-/**
- * A simple object to represent an auth token/username pair in the API.
- *
- * @author James Muehlner
- */
-public class APIAuthenticationResponse {
-
- /**
- * The auth token.
- */
- private final String authToken;
-
-
- /**
- * The username of the user that authenticated.
- */
- private final String username;
-
- /**
- * The unique identifier of the data source from which this user account
- * came. Although this user account may exist across several data sources
- * (AuthenticationProviders), this will be the unique identifier of the
- * AuthenticationProvider that authenticated this user for the current
- * session.
- */
- private final String dataSource;
-
- /**
- * Returns the unique authentication token which identifies the current
- * session.
- *
- * @return
- * The user's authentication token.
- */
- public String getAuthToken() {
- return authToken;
- }
-
- /**
- * Returns the user identified by the authentication token associated with
- * the current session.
- *
- * @return
- * The user identified by this authentication token.
- */
- public String getUsername() {
- return username;
- }
-
- /**
- * Returns the unique identifier of the data source associated with the user
- * account associated with this auth token.
- *
- * @return
- * The unique identifier of the data source associated with the user
- * account associated with this auth token.
- */
- public String getDataSource() {
- return dataSource;
- }
-
- /**
- * Create a new APIAuthToken Object with the given auth token.
- *
- * @param dataSource
- * The unique identifier of the AuthenticationProvider which
- * authenticated the user.
- *
- * @param authToken
- * The auth token to create the new APIAuthToken with.
- *
- * @param username
- * The username of the user owning the given token.
- */
- public APIAuthenticationResponse(String dataSource, String authToken, String username) {
- this.dataSource = dataSource;
- this.authToken = authToken;
- this.username = username;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/auth/APIAuthenticationResult.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/auth/APIAuthenticationResult.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/auth/APIAuthenticationResult.java
deleted file mode 100644
index b7eed27..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/auth/APIAuthenticationResult.java
+++ /dev/null
@@ -1,133 +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.
- */
-
-package org.apache.guacamole.net.basic.rest.auth;
-
-import java.util.Collections;
-import java.util.List;
-
-/**
- * A simple object which describes the result of an authentication operation,
- * including the resulting token.
- *
- * @author James Muehlner
- * @author Michael Jumper
- */
-public class APIAuthenticationResult {
-
- /**
- * The unique token generated for the user that authenticated.
- */
- private final String authToken;
-
- /**
- * The username of the user that authenticated.
- */
- private final String username;
-
- /**
- * The unique identifier of the data source from which this user account
- * came. Although this user account may exist across several data sources
- * (AuthenticationProviders), this will be the unique identifier of the
- * AuthenticationProvider that authenticated this user for the current
- * session.
- */
- private final String dataSource;
-
- /**
- * The identifiers of all data sources available to this user.
- */
- private final List<String> availableDataSources;
-
- /**
- * Returns the unique authentication token which identifies the current
- * session.
- *
- * @return
- * The user's authentication token.
- */
- public String getAuthToken() {
- return authToken;
- }
-
- /**
- * Returns the user identified by the authentication token associated with
- * the current session.
- *
- * @return
- * The user identified by this authentication token.
- */
- public String getUsername() {
- return username;
- }
-
- /**
- * Returns the unique identifier of the data source associated with the user
- * account associated with the current session.
- *
- * @return
- * The unique identifier of the data source associated with the user
- * account associated with the current session.
- */
- public String getDataSource() {
- return dataSource;
- }
-
- /**
- * Returns the identifiers of all data sources available to the user
- * associated with the current session.
- *
- * @return
- * The identifiers of all data sources available to the user associated
- * with the current session.
- */
- public List<String> getAvailableDataSources() {
- return availableDataSources;
- }
-
- /**
- * Create a new APIAuthenticationResult object containing the given data.
- *
- * @param authToken
- * The unique token generated for the user that authenticated, to be
- * used for the duration of their session.
- *
- * @param username
- * The username of the user owning the given token.
- *
- * @param dataSource
- * The unique identifier of the AuthenticationProvider which
- * authenticated the user.
- *
- * @param availableDataSources
- * The unique identifier of all AuthenticationProviders to which the
- * user now has access.
- */
- public APIAuthenticationResult(String authToken, String username,
- String dataSource, List<String> availableDataSources) {
- this.authToken = authToken;
- this.username = username;
- this.dataSource = dataSource;
- this.availableDataSources = Collections.unmodifiableList(availableDataSources);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/auth/AuthTokenGenerator.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/auth/AuthTokenGenerator.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/auth/AuthTokenGenerator.java
deleted file mode 100644
index c6528af..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/auth/AuthTokenGenerator.java
+++ /dev/null
@@ -1,39 +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.
- */
-
-package org.apache.guacamole.net.basic.rest.auth;
-
-/**
- * Generates an auth token for an authenticated user.
- *
- * @author James Muehlner
- */
-public interface AuthTokenGenerator {
-
- /**
- * Get a new auth token.
- *
- * @return A new auth token.
- */
- public String getToken();
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/auth/AuthenticationService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/auth/AuthenticationService.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/auth/AuthenticationService.java
deleted file mode 100644
index 1e11f9b..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/auth/AuthenticationService.java
+++ /dev/null
@@ -1,475 +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.
- */
-
-package org.apache.guacamole.net.basic.rest.auth;
-
-import com.google.inject.Inject;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.regex.Pattern;
-import javax.servlet.http.HttpServletRequest;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.GuacamoleSecurityException;
-import org.apache.guacamole.GuacamoleUnauthorizedException;
-import org.apache.guacamole.environment.Environment;
-import org.apache.guacamole.net.auth.AuthenticatedUser;
-import org.apache.guacamole.net.auth.AuthenticationProvider;
-import org.apache.guacamole.net.auth.Credentials;
-import org.apache.guacamole.net.auth.UserContext;
-import org.apache.guacamole.net.auth.credentials.CredentialsInfo;
-import org.apache.guacamole.net.auth.credentials.GuacamoleCredentialsException;
-import org.apache.guacamole.net.auth.credentials.GuacamoleInvalidCredentialsException;
-import org.apache.guacamole.net.basic.GuacamoleSession;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A service for performing authentication checks in REST endpoints.
- *
- * @author James Muehlner
- * @author Michael Jumper
- */
-public class AuthenticationService {
-
- /**
- * Logger for this class.
- */
- private static final Logger logger = LoggerFactory.getLogger(AuthenticationService.class);
-
- /**
- * The Guacamole server environment.
- */
- @Inject
- private Environment environment;
-
- /**
- * All configured authentication providers which can be used to
- * authenticate users or retrieve data associated with authenticated users.
- */
- @Inject
- private List<AuthenticationProvider> authProviders;
-
- /**
- * The map of auth tokens to sessions for the REST endpoints.
- */
- @Inject
- private TokenSessionMap tokenSessionMap;
-
- /**
- * A generator for creating new auth tokens.
- */
- @Inject
- private AuthTokenGenerator authTokenGenerator;
-
- /**
- * Regular expression which matches any IPv4 address.
- */
- private static final String IPV4_ADDRESS_REGEX = "([0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3})";
-
- /**
- * Regular expression which matches any IPv6 address.
- */
- private static final String IPV6_ADDRESS_REGEX = "([0-9a-fA-F]*(:[0-9a-fA-F]*){0,7})";
-
- /**
- * Regular expression which matches any IP address, regardless of version.
- */
- private static final String IP_ADDRESS_REGEX = "(" + IPV4_ADDRESS_REGEX + "|" + IPV6_ADDRESS_REGEX + ")";
-
- /**
- * Pattern which matches valid values of the de-facto standard
- * "X-Forwarded-For" header.
- */
- private static final Pattern X_FORWARDED_FOR = Pattern.compile("^" + IP_ADDRESS_REGEX + "(, " + IP_ADDRESS_REGEX + ")*$");
-
- /**
- * Returns a formatted string containing an IP address, or list of IP
- * addresses, which represent the HTTP client and any involved proxies. As
- * the headers used to determine proxies can easily be forged, this data is
- * superficially validated to ensure that it at least looks like a list of
- * IPs.
- *
- * @param request
- * The HTTP request to format.
- *
- * @return
- * A formatted string containing one or more IP addresses.
- */
- private String getLoggableAddress(HttpServletRequest request) {
-
- // Log X-Forwarded-For, if present and valid
- String header = request.getHeader("X-Forwarded-For");
- if (header != null && X_FORWARDED_FOR.matcher(header).matches())
- return "[" + header + ", " + request.getRemoteAddr() + "]";
-
- // If header absent or invalid, just use source IP
- return request.getRemoteAddr();
-
- }
-
- /**
- * Attempts authentication against all AuthenticationProviders, in order,
- * using the provided credentials. The first authentication failure takes
- * priority, but remaining AuthenticationProviders are attempted. If any
- * AuthenticationProvider succeeds, the resulting AuthenticatedUser is
- * returned, and no further AuthenticationProviders are tried.
- *
- * @param credentials
- * The credentials to use for authentication.
- *
- * @return
- * The AuthenticatedUser given by the highest-priority
- * AuthenticationProvider for which the given credentials are valid.
- *
- * @throws GuacamoleException
- * If the given credentials are not valid for any
- * AuthenticationProvider, or if an error occurs while authenticating
- * the user.
- */
- private AuthenticatedUser authenticateUser(Credentials credentials)
- throws GuacamoleException {
-
- GuacamoleCredentialsException authFailure = null;
-
- // Attempt authentication against each AuthenticationProvider
- for (AuthenticationProvider authProvider : authProviders) {
-
- // Attempt authentication
- try {
- AuthenticatedUser authenticatedUser = authProvider.authenticateUser(credentials);
- if (authenticatedUser != null)
- return authenticatedUser;
- }
-
- // First failure takes priority for now
- catch (GuacamoleCredentialsException e) {
- if (authFailure == null)
- authFailure = e;
- }
-
- }
-
- // If a specific failure occured, rethrow that
- if (authFailure != null)
- throw authFailure;
-
- // Otherwise, request standard username/password
- throw new GuacamoleInvalidCredentialsException(
- "Permission Denied.",
- CredentialsInfo.USERNAME_PASSWORD
- );
-
- }
-
- /**
- * Re-authenticates the given AuthenticatedUser against the
- * AuthenticationProvider that originally created it, using the given
- * Credentials.
- *
- * @param authenticatedUser
- * The AuthenticatedUser to re-authenticate.
- *
- * @param credentials
- * The Credentials to use to re-authenticate the user.
- *
- * @return
- * A AuthenticatedUser which may have been updated due to re-
- * authentication.
- *
- * @throws GuacamoleException
- * If an error prevents the user from being re-authenticated.
- */
- private AuthenticatedUser updateAuthenticatedUser(AuthenticatedUser authenticatedUser,
- Credentials credentials) throws GuacamoleException {
-
- // Get original AuthenticationProvider
- AuthenticationProvider authProvider = authenticatedUser.getAuthenticationProvider();
-
- // Re-authenticate the AuthenticatedUser against the original AuthenticationProvider only
- authenticatedUser = authProvider.updateAuthenticatedUser(authenticatedUser, credentials);
- if (authenticatedUser == null)
- throw new GuacamoleSecurityException("User re-authentication failed.");
-
- return authenticatedUser;
-
- }
-
- /**
- * Returns the AuthenticatedUser associated with the given session and
- * credentials, performing a fresh authentication and creating a new
- * AuthenticatedUser if necessary.
- *
- * @param existingSession
- * The current GuacamoleSession, or null if no session exists yet.
- *
- * @param credentials
- * The Credentials to use to authenticate the user.
- *
- * @return
- * The AuthenticatedUser associated with the given session and
- * credentials.
- *
- * @throws GuacamoleException
- * If an error occurs while authenticating or re-authenticating the
- * user.
- */
- private AuthenticatedUser getAuthenticatedUser(GuacamoleSession existingSession,
- Credentials credentials) throws GuacamoleException {
-
- try {
-
- // Re-authenticate user if session exists
- if (existingSession != null)
- return updateAuthenticatedUser(existingSession.getAuthenticatedUser(), credentials);
-
- // Otherwise, attempt authentication as a new user
- AuthenticatedUser authenticatedUser = AuthenticationService.this.authenticateUser(credentials);
- if (logger.isInfoEnabled())
- logger.info("User \"{}\" successfully authenticated from {}.",
- authenticatedUser.getIdentifier(),
- getLoggableAddress(credentials.getRequest()));
-
- return authenticatedUser;
-
- }
-
- // Log and rethrow any authentication errors
- catch (GuacamoleException e) {
-
- // Get request and username for sake of logging
- HttpServletRequest request = credentials.getRequest();
- String username = credentials.getUsername();
-
- // Log authentication failures with associated usernames
- if (username != null) {
- if (logger.isWarnEnabled())
- logger.warn("Authentication attempt from {} for user \"{}\" failed.",
- getLoggableAddress(request), username);
- }
-
- // Log anonymous authentication failures
- else if (logger.isDebugEnabled())
- logger.debug("Anonymous authentication attempt from {} failed.",
- getLoggableAddress(request));
-
- // Rethrow exception
- throw e;
-
- }
-
- }
-
- /**
- * Returns all UserContexts associated with the given AuthenticatedUser,
- * updating existing UserContexts, if any. If no UserContexts are yet
- * associated with the given AuthenticatedUser, new UserContexts are
- * generated by polling each available AuthenticationProvider.
- *
- * @param existingSession
- * The current GuacamoleSession, or null if no session exists yet.
- *
- * @param authenticatedUser
- * The AuthenticatedUser that has successfully authenticated or re-
- * authenticated.
- *
- * @return
- * A List of all UserContexts associated with the given
- * AuthenticatedUser.
- *
- * @throws GuacamoleException
- * If an error occurs while creating or updating any UserContext.
- */
- private List<UserContext> getUserContexts(GuacamoleSession existingSession,
- AuthenticatedUser authenticatedUser) throws GuacamoleException {
-
- List<UserContext> userContexts = new ArrayList<UserContext>(authProviders.size());
-
- // If UserContexts already exist, update them and add to the list
- if (existingSession != null) {
-
- // Update all old user contexts
- List<UserContext> oldUserContexts = existingSession.getUserContexts();
- for (UserContext oldUserContext : oldUserContexts) {
-
- // Update existing UserContext
- AuthenticationProvider authProvider = oldUserContext.getAuthenticationProvider();
- UserContext userContext = authProvider.updateUserContext(oldUserContext, authenticatedUser);
-
- // Add to available data, if successful
- if (userContext != null)
- userContexts.add(userContext);
-
- // If unsuccessful, log that this happened, as it may be a bug
- else
- logger.debug("AuthenticationProvider \"{}\" retroactively destroyed its UserContext.",
- authProvider.getClass().getName());
-
- }
-
- }
-
- // Otherwise, create new UserContexts from available AuthenticationProviders
- else {
-
- // Get UserContexts from each available AuthenticationProvider
- for (AuthenticationProvider authProvider : authProviders) {
-
- // Generate new UserContext
- UserContext userContext = authProvider.getUserContext(authenticatedUser);
-
- // Add to available data, if successful
- if (userContext != null)
- userContexts.add(userContext);
-
- }
-
- }
-
- return userContexts;
-
- }
-
- /**
- * Authenticates a user using the given credentials and optional
- * authentication token, returning the authentication token associated with
- * the user's Guacamole session, which may be newly generated. If an
- * existing token is provided, the authentication procedure will attempt to
- * update or reuse the provided token, but it is possible that a new token
- * will be returned. Note that this function CANNOT return null.
- *
- * @param credentials
- * The credentials to use when authenticating the user.
- *
- * @param token
- * The authentication token to use if attempting to re-authenticate an
- * existing session, or null to request a new token.
- *
- * @return
- * The authentication token associated with the newly created or
- * existing session.
- *
- * @throws GuacamoleException
- * If the authentication or re-authentication attempt fails.
- */
- public String authenticate(Credentials credentials, String token)
- throws GuacamoleException {
-
- // Pull existing session if token provided
- GuacamoleSession existingSession;
- if (token != null)
- existingSession = tokenSessionMap.get(token);
- else
- existingSession = null;
-
- // Get up-to-date AuthenticatedUser and associated UserContexts
- AuthenticatedUser authenticatedUser = getAuthenticatedUser(existingSession, credentials);
- List<UserContext> userContexts = getUserContexts(existingSession, authenticatedUser);
-
- // Update existing session, if it exists
- String authToken;
- if (existingSession != null) {
- authToken = token;
- existingSession.setAuthenticatedUser(authenticatedUser);
- existingSession.setUserContexts(userContexts);
- }
-
- // If no existing session, generate a new token/session pair
- else {
- authToken = authTokenGenerator.getToken();
- tokenSessionMap.put(authToken, new GuacamoleSession(environment, authenticatedUser, userContexts));
- logger.debug("Login was successful for user \"{}\".", authenticatedUser.getIdentifier());
- }
-
- return authToken;
-
- }
-
- /**
- * Finds the Guacamole session for a given auth token, if the auth token
- * represents a currently logged in user. Throws an unauthorized error
- * otherwise.
- *
- * @param authToken The auth token to check against the map of logged in users.
- * @return The session that corresponds to the provided auth token.
- * @throws GuacamoleException If the auth token does not correspond to any
- * logged in user.
- */
- public GuacamoleSession getGuacamoleSession(String authToken)
- throws GuacamoleException {
-
- // Try to get the session from the map of logged in users.
- GuacamoleSession session = tokenSessionMap.get(authToken);
-
- // Authentication failed.
- if (session == null)
- throw new GuacamoleUnauthorizedException("Permission Denied.");
-
- return session;
-
- }
-
- /**
- * Invalidates a specific authentication token and its corresponding
- * Guacamole session, effectively logging out the associated user. If the
- * authentication token is not valid, this function has no effect.
- *
- * @param authToken
- * The token being invalidated.
- *
- * @return
- * true if the given authentication token was valid and the
- * corresponding Guacamole session was destroyed, false if the given
- * authentication token was not valid and no action was taken.
- */
- public boolean destroyGuacamoleSession(String authToken) {
-
- // Remove corresponding GuacamoleSession if the token is valid
- GuacamoleSession session = tokenSessionMap.remove(authToken);
- if (session == null)
- return false;
-
- // Invalidate the removed session
- session.invalidate();
- return true;
-
- }
-
- /**
- * Returns all UserContexts associated with a given auth token, if the auth
- * token represents a currently logged in user. Throws an unauthorized
- * error otherwise.
- *
- * @param authToken
- * The auth token to check against the map of logged in users.
- *
- * @return
- * A List of all UserContexts associated with the provided auth token.
- *
- * @throws GuacamoleException
- * If the auth token does not correspond to any logged in user.
- */
- public List<UserContext> getUserContexts(String authToken)
- throws GuacamoleException {
- return getGuacamoleSession(authToken).getUserContexts();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/auth/BasicTokenSessionMap.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/auth/BasicTokenSessionMap.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/auth/BasicTokenSessionMap.java
deleted file mode 100644
index 42f513e..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/auth/BasicTokenSessionMap.java
+++ /dev/null
@@ -1,189 +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.
- */
-
-package org.apache.guacamole.net.basic.rest.auth;
-
-import java.util.Iterator;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.Executors;
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.TimeUnit;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.environment.Environment;
-import org.apache.guacamole.net.basic.GuacamoleSession;
-import org.apache.guacamole.net.basic.properties.BasicGuacamoleProperties;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A basic, HashMap-based implementation of the TokenSessionMap with support
- * for session timeouts.
- *
- * @author James Muehlner
- */
-public class BasicTokenSessionMap implements TokenSessionMap {
-
- /**
- * Logger for this class.
- */
- private static final Logger logger = LoggerFactory.getLogger(BasicTokenSessionMap.class);
-
- /**
- * Executor service which runs the period session eviction task.
- */
- private final ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
-
- /**
- * Keeps track of the authToken to GuacamoleSession mapping.
- */
- private final ConcurrentMap<String, GuacamoleSession> sessionMap =
- new ConcurrentHashMap<String, GuacamoleSession>();
-
- /**
- * Create a new BasicTokenGuacamoleSessionMap configured using the given
- * environment.
- *
- * @param environment
- * The environment to use when configuring the token session map.
- */
- public BasicTokenSessionMap(Environment environment) {
-
- int sessionTimeoutValue;
-
- // Read session timeout from guacamole.properties
- try {
- sessionTimeoutValue = environment.getProperty(BasicGuacamoleProperties.API_SESSION_TIMEOUT, 60);
- }
- catch (GuacamoleException e) {
- logger.error("Unable to read guacamole.properties: {}", e.getMessage());
- logger.debug("Error while reading session timeout value.", e);
- sessionTimeoutValue = 60;
- }
-
- // Check for expired sessions every minute
- logger.info("Sessions will expire after {} minutes of inactivity.", sessionTimeoutValue);
- executor.scheduleAtFixedRate(new SessionEvictionTask(sessionTimeoutValue * 60000l), 1, 1, TimeUnit.MINUTES);
-
- }
-
- /**
- * Task which iterates through all active sessions, evicting those sessions
- * which are beyond the session timeout.
- */
- private class SessionEvictionTask implements Runnable {
-
- /**
- * The maximum allowed age of any session, in milliseconds.
- */
- private final long sessionTimeout;
-
- /**
- * Creates a new task which automatically evicts sessions which are
- * older than the specified timeout.
- *
- * @param sessionTimeout The maximum age of any session, in
- * milliseconds.
- */
- public SessionEvictionTask(long sessionTimeout) {
- this.sessionTimeout = sessionTimeout;
- }
-
- @Override
- public void run() {
-
- // Get start time of session check time
- long sessionCheckStart = System.currentTimeMillis();
-
- logger.debug("Checking for expired sessions...");
-
- // For each session, remove sesions which have expired
- Iterator<Map.Entry<String, GuacamoleSession>> entries = sessionMap.entrySet().iterator();
- while (entries.hasNext()) {
-
- Map.Entry<String, GuacamoleSession> entry = entries.next();
- GuacamoleSession session = entry.getValue();
-
- // Do not expire sessions which are active
- if (session.hasTunnels())
- continue;
-
- // Get elapsed time since last access
- long age = sessionCheckStart - session.getLastAccessedTime();
-
- // If session is too old, evict it and check the next one
- if (age >= sessionTimeout) {
- logger.debug("Session \"{}\" has timed out.", entry.getKey());
- entries.remove();
- session.invalidate();
- }
-
- }
-
- // Log completion and duration
- logger.debug("Session check completed in {} ms.",
- System.currentTimeMillis() - sessionCheckStart);
-
- }
-
- }
-
- @Override
- public GuacamoleSession get(String authToken) {
-
- // There are no null auth tokens
- if (authToken == null)
- return null;
-
- // Update the last access time and return the GuacamoleSession
- GuacamoleSession session = sessionMap.get(authToken);
- if (session != null)
- session.access();
-
- return session;
-
- }
-
- @Override
- public void put(String authToken, GuacamoleSession session) {
- sessionMap.put(authToken, session);
- }
-
- @Override
- public GuacamoleSession remove(String authToken) {
-
- // There are no null auth tokens
- if (authToken == null)
- return null;
-
- // Attempt to retrieve only if non-null
- return sessionMap.remove(authToken);
-
- }
-
- @Override
- public void shutdown() {
- executor.shutdownNow();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/auth/SecureRandomAuthTokenGenerator.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/auth/SecureRandomAuthTokenGenerator.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/auth/SecureRandomAuthTokenGenerator.java
deleted file mode 100644
index 9c32ae2..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/auth/SecureRandomAuthTokenGenerator.java
+++ /dev/null
@@ -1,48 +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.
- */
-
-package org.apache.guacamole.net.basic.rest.auth;
-
-import java.security.SecureRandom;
-import org.apache.commons.codec.binary.Hex;
-
-/**
- * An implementation of the AuthTokenGenerator based around SecureRandom.
- *
- * @author James Muehlner
- */
-public class SecureRandomAuthTokenGenerator implements AuthTokenGenerator {
-
- /**
- * Instance of SecureRandom for generating the auth token.
- */
- private final SecureRandom secureRandom = new SecureRandom();
-
- @Override
- public String getToken() {
- byte[] bytes = new byte[32];
- secureRandom.nextBytes(bytes);
-
- return Hex.encodeHexString(bytes);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/auth/TokenRESTService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/auth/TokenRESTService.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/auth/TokenRESTService.java
deleted file mode 100644
index df37955..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/auth/TokenRESTService.java
+++ /dev/null
@@ -1,230 +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.
- */
-
-package org.apache.guacamole.net.basic.rest.auth;
-
-import com.google.inject.Inject;
-import java.io.UnsupportedEncodingException;
-import java.util.ArrayList;
-import java.util.List;
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.xml.bind.DatatypeConverter;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.GuacamoleResourceNotFoundException;
-import org.apache.guacamole.net.auth.AuthenticatedUser;
-import org.apache.guacamole.net.auth.Credentials;
-import org.apache.guacamole.net.auth.UserContext;
-import org.apache.guacamole.net.basic.GuacamoleSession;
-import org.apache.guacamole.net.basic.rest.APIRequest;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A service for managing auth tokens via the Guacamole REST API.
- *
- * @author James Muehlner
- * @author Michael Jumper
- */
-@Path("/tokens")
-@Produces(MediaType.APPLICATION_JSON)
-public class TokenRESTService {
-
- /**
- * Logger for this class.
- */
- private static final Logger logger = LoggerFactory.getLogger(TokenRESTService.class);
-
- /**
- * Service for authenticating users and managing their Guacamole sessions.
- */
- @Inject
- private AuthenticationService authenticationService;
-
- /**
- * Returns the credentials associated with the given request, using the
- * provided username and password.
- *
- * @param request
- * The request to use to derive the credentials.
- *
- * @param username
- * The username to associate with the credentials, or null if the
- * username should be derived from the request.
- *
- * @param password
- * The password to associate with the credentials, or null if the
- * password should be derived from the request.
- *
- * @return
- * A new Credentials object whose contents have been derived from the
- * given request, along with the provided username and password.
- */
- private Credentials getCredentials(HttpServletRequest request,
- String username, String password) {
-
- // If no username/password given, try Authorization header
- if (username == null && password == null) {
-
- String authorization = request.getHeader("Authorization");
- if (authorization != null && authorization.startsWith("Basic ")) {
-
- try {
-
- // Decode base64 authorization
- String basicBase64 = authorization.substring(6);
- String basicCredentials = new String(DatatypeConverter.parseBase64Binary(basicBase64), "UTF-8");
-
- // Pull username/password from auth data
- int colon = basicCredentials.indexOf(':');
- if (colon != -1) {
- username = basicCredentials.substring(0, colon);
- password = basicCredentials.substring(colon + 1);
- }
- else
- logger.debug("Invalid HTTP Basic \"Authorization\" header received.");
-
- }
-
- // UTF-8 support is required by the Java specification
- catch (UnsupportedEncodingException e) {
- throw new UnsupportedOperationException("Unexpected lack of UTF-8 support.", e);
- }
-
- }
-
- } // end Authorization header fallback
-
- // Build credentials
- Credentials credentials = new Credentials();
- credentials.setUsername(username);
- credentials.setPassword(password);
- credentials.setRequest(request);
- credentials.setSession(request.getSession(true));
-
- return credentials;
-
- }
-
- /**
- * Authenticates a user, generates an auth token, associates that auth token
- * with the user's UserContext for use by further requests. If an existing
- * token is provided, the authentication procedure will attempt to update
- * or reuse the provided token.
- *
- * @param username
- * The username of the user who is to be authenticated.
- *
- * @param password
- * The password of the user who is to be authenticated.
- *
- * @param token
- * An optional existing auth token for the user who is to be
- * authenticated.
- *
- * @param consumedRequest
- * The HttpServletRequest associated with the login attempt. The
- * parameters of this request may not be accessible, as the request may
- * have been fully consumed by JAX-RS.
- *
- * @param parameters
- * A MultivaluedMap containing all parameters from the given HTTP
- * request. All request parameters must be made available through this
- * map, even if those parameters are no longer accessible within the
- * now-fully-consumed HTTP request.
- *
- * @return
- * An authentication response object containing the possible-new auth
- * token, as well as other related data.
- *
- * @throws GuacamoleException
- * If an error prevents successful authentication.
- */
- @POST
- public APIAuthenticationResult createToken(@FormParam("username") String username,
- @FormParam("password") String password,
- @FormParam("token") String token,
- @Context HttpServletRequest consumedRequest,
- MultivaluedMap<String, String> parameters)
- throws GuacamoleException {
-
- // Reconstitute the HTTP request with the map of parameters
- HttpServletRequest request = new APIRequest(consumedRequest, parameters);
-
- // Build credentials from request
- Credentials credentials = getCredentials(request, username, password);
-
- // Create/update session producing possibly-new token
- token = authenticationService.authenticate(credentials, token);
-
- // Pull corresponding session
- GuacamoleSession session = authenticationService.getGuacamoleSession(token);
- if (session == null)
- throw new GuacamoleResourceNotFoundException("No such token.");
-
- // Build list of all available auth providers
- List<UserContext> userContexts = session.getUserContexts();
- List<String> authProviderIdentifiers = new ArrayList<String>(userContexts.size());
- for (UserContext userContext : userContexts)
- authProviderIdentifiers.add(userContext.getAuthenticationProvider().getIdentifier());
-
- // Return possibly-new auth token
- AuthenticatedUser authenticatedUser = session.getAuthenticatedUser();
- return new APIAuthenticationResult(
- token,
- authenticatedUser.getIdentifier(),
- authenticatedUser.getAuthenticationProvider().getIdentifier(),
- authProviderIdentifiers
- );
-
- }
-
- /**
- * Invalidates a specific auth token, effectively logging out the associated
- * user.
- *
- * @param authToken
- * The token being invalidated.
- *
- * @throws GuacamoleException
- * If the specified token does not exist.
- */
- @DELETE
- @Path("/{token}")
- public void invalidateToken(@PathParam("token") String authToken)
- throws GuacamoleException {
-
- // Invalidate session, if it exists
- if (!authenticationService.destroyGuacamoleSession(authToken))
- throw new GuacamoleResourceNotFoundException("No such token.");
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/auth/TokenSessionMap.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/auth/TokenSessionMap.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/auth/TokenSessionMap.java
deleted file mode 100644
index 39764af..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/auth/TokenSessionMap.java
+++ /dev/null
@@ -1,69 +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.
- */
-
-package org.apache.guacamole.net.basic.rest.auth;
-
-import org.apache.guacamole.net.basic.GuacamoleSession;
-
-/**
- * Represents a mapping of auth token to Guacamole session for the REST
- * authentication system.
- *
- * @author James Muehlner
- */
-public interface TokenSessionMap {
-
- /**
- * Registers that a user has just logged in with the specified authToken and
- * GuacamoleSession.
- *
- * @param authToken The authentication token for the logged in user.
- * @param session The GuacamoleSession for the logged in user.
- */
- public void put(String authToken, GuacamoleSession session);
-
- /**
- * Get the GuacamoleSession for a logged in user. If the auth token does not
- * represent a user who is currently logged in, returns null.
- *
- * @param authToken The authentication token for the logged in user.
- * @return The GuacamoleSession for the given auth token, if the auth token
- * represents a currently logged in user, null otherwise.
- */
- public GuacamoleSession get(String authToken);
-
- /**
- * Removes the GuacamoleSession associated with the given auth token.
- *
- * @param authToken The token to remove.
- * @return The GuacamoleSession for the given auth token, if the auth token
- * represents a currently logged in user, null otherwise.
- */
- public GuacamoleSession remove(String authToken);
-
- /**
- * Shuts down this session map, disallowing future sessions and reclaiming
- * any resources.
- */
- public void shutdown();
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/auth/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/auth/package-info.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/auth/package-info.java
deleted file mode 100644
index ef40778..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/auth/package-info.java
+++ /dev/null
@@ -1,27 +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.
- */
-
-/**
- * Classes related to the authentication aspect of the Guacamole REST API.
- */
-package org.apache.guacamole.net.basic.rest.auth;
-
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/connection/APIConnection.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/connection/APIConnection.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/connection/APIConnection.java
deleted file mode 100644
index 4c1877e..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/connection/APIConnection.java
+++ /dev/null
@@ -1,233 +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.
- */
-
-package org.apache.guacamole.net.basic.rest.connection;
-
-import java.util.Map;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.net.auth.Connection;
-import org.apache.guacamole.protocol.GuacamoleConfiguration;
-
-/**
- * A simple connection to expose through the REST endpoints.
- *
- * @author James Muehlner
- */
-@JsonIgnoreProperties(ignoreUnknown = true)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
-public class APIConnection {
-
- /**
- * The name of this connection.
- */
- private String name;
-
- /**
- * The identifier of this connection.
- */
- private String identifier;
-
- /**
- * The identifier of the parent connection group for this connection.
- */
- private String parentIdentifier;
-
- /**
- * The protocol of this connection.
- */
- private String protocol;
-
- /**
- * Map of all associated parameter values, indexed by parameter name.
- */
- private Map<String, String> parameters;
-
- /**
- * Map of all associated attributes by attribute identifier.
- */
- private Map<String, String> attributes;
-
- /**
- * The count of currently active connections using this connection.
- */
- private int activeConnections;
-
- /**
- * Create an empty APIConnection.
- */
- public APIConnection() {}
-
- /**
- * Create an APIConnection from a Connection record. Parameters for the
- * connection will not be included.
- *
- * @param connection The connection to create this APIConnection from.
- * @throws GuacamoleException If a problem is encountered while
- * instantiating this new APIConnection.
- */
- public APIConnection(Connection connection)
- throws GuacamoleException {
-
- // Set connection information
- this.name = connection.getName();
- this.identifier = connection.getIdentifier();
- this.parentIdentifier = connection.getParentIdentifier();
- this.activeConnections = connection.getActiveConnections();
-
- // Set protocol from configuration
- GuacamoleConfiguration configuration = connection.getConfiguration();
- this.protocol = configuration.getProtocol();
-
- // Associate any attributes
- this.attributes = connection.getAttributes();
-
- }
-
- /**
- * Returns the name of this connection.
- * @return The name of this connection.
- */
- public String getName() {
- return name;
- }
-
- /**
- * Set the name of this connection.
- * @param name The name of this connection.
- */
- public void setName(String name) {
- this.name = name;
- }
-
- /**
- * Returns the unique identifier for this connection.
- * @return The unique identifier for this connection.
- */
- public String getIdentifier() {
- return identifier;
- }
-
- /**
- * Sets the unique identifier for this connection.
- * @param identifier The unique identifier for this connection.
- */
- public void setIdentifier(String identifier) {
- this.identifier = identifier;
- }
-
- /**
- * Returns the unique identifier for this connection.
- * @return The unique identifier for this connection.
- */
- public String getParentIdentifier() {
- return parentIdentifier;
- }
-
- /**
- * Sets the parent connection group identifier for this connection.
- * @param parentIdentifier The parent connection group identifier
- * for this connection.
- */
- public void setParentIdentifier(String parentIdentifier) {
- this.parentIdentifier = parentIdentifier;
- }
-
- /**
- * Returns the parameter map for this connection.
- * @return The parameter map for this connection.
- */
- public Map<String, String> getParameters() {
- return parameters;
- }
-
- /**
- * Sets the parameter map for this connection.
- * @param parameters The parameter map for this connection.
- */
- public void setParameters(Map<String, String> parameters) {
- this.parameters = parameters;
- }
-
- /**
- * Returns the protocol for this connection.
- * @return The protocol for this connection.
- */
- public String getProtocol() {
- return protocol;
- }
-
- /**
- * Sets the protocol for this connection.
- * @param protocol protocol for this connection.
- */
- public void setProtocol(String protocol) {
- this.protocol = protocol;
- }
-
- /**
- * Returns the number of currently active connections using this
- * connection.
- *
- * @return
- * The number of currently active usages of this connection.
- */
- public int getActiveConnections() {
- return activeConnections;
- }
-
- /**
- * Set the number of currently active connections using this connection.
- *
- * @param activeConnections
- * The number of currently active usages of this connection.
- */
- public void setActiveUsers(int activeConnections) {
- this.activeConnections = activeConnections;
- }
-
- /**
- * Returns a map of all attributes associated with this connection. Each
- * entry key is the attribute identifier, while each value is the attribute
- * value itself.
- *
- * @return
- * The attribute map for this connection.
- */
- public Map<String, String> getAttributes() {
- return attributes;
- }
-
- /**
- * Sets the map of all attributes associated with this connection. Each
- * entry key is the attribute identifier, while each value is the attribute
- * value itself.
- *
- * @param attributes
- * The attribute map for this connection.
- */
- public void setAttributes(Map<String, String> attributes) {
- this.attributes = attributes;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/connection/APIConnectionWrapper.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/connection/APIConnectionWrapper.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/connection/APIConnectionWrapper.java
deleted file mode 100644
index 0b5de25..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/rest/connection/APIConnectionWrapper.java
+++ /dev/null
@@ -1,138 +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.
- */
-
-package org.apache.guacamole.net.basic.rest.connection;
-
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.net.GuacamoleTunnel;
-import org.apache.guacamole.net.auth.Connection;
-import org.apache.guacamole.net.auth.ConnectionRecord;
-import org.apache.guacamole.protocol.GuacamoleClientInformation;
-import org.apache.guacamole.protocol.GuacamoleConfiguration;
-
-/**
- * A wrapper to make an APIConnection look like a Connection. Useful where a
- * org.apache.guacamole.net.auth.Connection is required.
- *
- * @author James Muehlner
- */
-public class APIConnectionWrapper implements Connection {
-
- /**
- * The wrapped APIConnection.
- */
- private final APIConnection apiConnection;
-
- /**
- * Creates a new APIConnectionWrapper which wraps the given APIConnection
- * as a Connection.
- *
- * @param apiConnection
- * The APIConnection to wrap.
- */
- public APIConnectionWrapper(APIConnection apiConnection) {
- this.apiConnection = apiConnection;
- }
-
- @Override
- public String getName() {
- return apiConnection.getName();
- }
-
- @Override
- public void setName(String name) {
- apiConnection.setName(name);
- }
-
- @Override
- public String getIdentifier() {
- return apiConnection.getIdentifier();
- }
-
- @Override
- public void setIdentifier(String identifier) {
- apiConnection.setIdentifier(identifier);
- }
-
- @Override
- public String getParentIdentifier() {
- return apiConnection.getParentIdentifier();
- }
-
- @Override
- public void setParentIdentifier(String parentIdentifier) {
- apiConnection.setParentIdentifier(parentIdentifier);
- }
-
- @Override
- public int getActiveConnections() {
- return apiConnection.getActiveConnections();
- }
-
- @Override
- public GuacamoleConfiguration getConfiguration() {
-
- // Create the GuacamoleConfiguration with current protocol
- GuacamoleConfiguration configuration = new GuacamoleConfiguration();
- configuration.setProtocol(apiConnection.getProtocol());
-
- // Add parameters, if available
- Map<String, String> parameters = apiConnection.getParameters();
- if (parameters != null)
- configuration.setParameters(parameters);
-
- return configuration;
- }
-
- @Override
- public void setConfiguration(GuacamoleConfiguration config) {
-
- // Set protocol and parameters
- apiConnection.setProtocol(config.getProtocol());
- apiConnection.setParameters(config.getParameters());
-
- }
-
- @Override
- public Map<String, String> getAttributes() {
- return apiConnection.getAttributes();
- }
-
- @Override
- public void setAttributes(Map<String, String> attributes) {
- apiConnection.setAttributes(attributes);
- }
-
- @Override
- public GuacamoleTunnel connect(GuacamoleClientInformation info) throws GuacamoleException {
- throw new UnsupportedOperationException("Operation not supported.");
- }
-
- @Override
- public List<? extends ConnectionRecord> getHistory() throws GuacamoleException {
- return Collections.<ConnectionRecord>emptyList();
- }
-
-}
[15/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Remove useless .net.basic subpackage, now that everything is being renamed.
Posted by jm...@apache.org.
GUACAMOLE-1: Remove useless .net.basic subpackage, now that everything is being renamed.
Project: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/commit/648a6c96
Tree: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/tree/648a6c96
Diff: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/diff/648a6c96
Branch: refs/heads/master
Commit: 648a6c96f02973e8792af10328f771aeabd1a024
Parents: 4198c33
Author: Michael Jumper <mj...@apache.org>
Authored: Tue Mar 22 14:35:36 2016 -0700
Committer: Michael Jumper <mj...@apache.org>
Committed: Mon Mar 28 20:49:56 2016 -0700
----------------------------------------------------------------------
.../guacamole/BasicGuacamoleTunnelServlet.java | 67 ++
.../guacamole/BasicServletContextListener.java | 103 +++
.../org/apache/guacamole/ClipboardState.java | 154 +++++
.../org/apache/guacamole/EnvironmentModule.java | 60 ++
.../apache/guacamole/GuacamoleClassLoader.java | 185 ++++++
.../org/apache/guacamole/GuacamoleSession.java | 222 +++++++
.../org/apache/guacamole/HTTPTunnelRequest.java | 90 +++
.../java/org/apache/guacamole/TunnelLoader.java | 44 ++
.../java/org/apache/guacamole/TunnelModule.java | 113 ++++
.../org/apache/guacamole/TunnelRequest.java | 372 +++++++++++
.../apache/guacamole/TunnelRequestService.java | 359 ++++++++++
.../apache/guacamole/auth/Authorization.java | 255 ++++++++
.../org/apache/guacamole/auth/UserMapping.java | 62 ++
.../auth/basic/AuthorizeTagHandler.java | 151 +++++
.../basic/BasicFileAuthenticationProvider.java | 218 +++++++
.../auth/basic/ConnectionTagHandler.java | 110 ++++
.../guacamole/auth/basic/ParamTagHandler.java | 74 +++
.../auth/basic/ProtocolTagHandler.java | 70 ++
.../auth/basic/UserMappingTagHandler.java | 78 +++
.../guacamole/auth/basic/package-info.java | 27 +
.../org/apache/guacamole/auth/package-info.java | 28 +
.../extension/AuthenticationProviderFacade.java | 203 ++++++
.../extension/DirectoryClassLoader.java | 154 +++++
.../apache/guacamole/extension/Extension.java | 515 +++++++++++++++
.../guacamole/extension/ExtensionManifest.java | 407 ++++++++++++
.../guacamole/extension/ExtensionModule.java | 450 +++++++++++++
.../extension/LanguageResourceService.java | 442 +++++++++++++
.../extension/PatchResourceService.java | 84 +++
.../guacamole/extension/package-info.java | 27 +
.../org/apache/guacamole/log/LogModule.java | 99 +++
.../basic/BasicFileAuthenticationProvider.java | 218 -------
.../net/basic/BasicGuacamoleTunnelServlet.java | 67 --
.../net/basic/BasicServletContextListener.java | 103 ---
.../guacamole/net/basic/ClipboardState.java | 154 -----
.../guacamole/net/basic/EnvironmentModule.java | 60 --
.../net/basic/GuacamoleClassLoader.java | 185 ------
.../guacamole/net/basic/GuacamoleSession.java | 222 -------
.../guacamole/net/basic/HTTPTunnelRequest.java | 90 ---
.../guacamole/net/basic/TunnelLoader.java | 44 --
.../guacamole/net/basic/TunnelModule.java | 113 ----
.../guacamole/net/basic/TunnelRequest.java | 372 -----------
.../net/basic/TunnelRequestService.java | 359 ----------
.../guacamole/net/basic/auth/Authorization.java | 255 --------
.../guacamole/net/basic/auth/UserMapping.java | 62 --
.../guacamole/net/basic/auth/package-info.java | 28 -
.../extension/AuthenticationProviderFacade.java | 203 ------
.../basic/extension/DirectoryClassLoader.java | 154 -----
.../net/basic/extension/Extension.java | 515 ---------------
.../net/basic/extension/ExtensionManifest.java | 407 ------------
.../net/basic/extension/ExtensionModule.java | 450 -------------
.../extension/LanguageResourceService.java | 442 -------------
.../basic/extension/PatchResourceService.java | 84 ---
.../net/basic/extension/package-info.java | 27 -
.../guacamole/net/basic/log/LogModule.java | 99 ---
.../guacamole/net/basic/package-info.java | 28 -
.../AuthenticationProviderProperty.java | 68 --
.../properties/BasicGuacamoleProperties.java | 90 ---
.../net/basic/properties/StringSetProperty.java | 66 --
.../net/basic/properties/package-info.java | 28 -
.../net/basic/resource/AbstractResource.java | 82 ---
.../net/basic/resource/ByteArrayResource.java | 62 --
.../net/basic/resource/ClassPathResource.java | 85 ---
.../guacamole/net/basic/resource/Resource.java | 67 --
.../net/basic/resource/ResourceServlet.java | 126 ----
.../net/basic/resource/SequenceResource.java | 153 -----
.../basic/resource/WebApplicationResource.java | 116 ----
.../net/basic/resource/package-info.java | 28 -
.../guacamole/net/basic/rest/APIError.java | 183 ------
.../guacamole/net/basic/rest/APIException.java | 85 ---
.../guacamole/net/basic/rest/APIPatch.java | 104 ---
.../guacamole/net/basic/rest/APIRequest.java | 107 ---
.../net/basic/rest/ObjectRetrievalService.java | 280 --------
.../apache/guacamole/net/basic/rest/PATCH.java | 40 --
.../net/basic/rest/RESTExceptionWrapper.java | 274 --------
.../net/basic/rest/RESTMethodMatcher.java | 109 ----
.../net/basic/rest/RESTServiceModule.java | 107 ---
.../activeconnection/APIActiveConnection.java | 130 ----
.../ActiveConnectionRESTService.java | 196 ------
.../rest/auth/APIAuthenticationResponse.java | 105 ---
.../rest/auth/APIAuthenticationResult.java | 133 ----
.../net/basic/rest/auth/AuthTokenGenerator.java | 39 --
.../basic/rest/auth/AuthenticationService.java | 475 --------------
.../basic/rest/auth/BasicTokenSessionMap.java | 189 ------
.../auth/SecureRandomAuthTokenGenerator.java | 48 --
.../net/basic/rest/auth/TokenRESTService.java | 230 -------
.../net/basic/rest/auth/TokenSessionMap.java | 69 --
.../net/basic/rest/auth/package-info.java | 27 -
.../basic/rest/connection/APIConnection.java | 233 -------
.../rest/connection/APIConnectionWrapper.java | 138 ----
.../rest/connection/ConnectionRESTService.java | 349 ----------
.../net/basic/rest/connection/package-info.java | 27 -
.../connectiongroup/APIConnectionGroup.java | 272 --------
.../APIConnectionGroupWrapper.java | 124 ----
.../ConnectionGroupRESTService.java | 287 --------
.../connectiongroup/ConnectionGroupTree.java | 259 --------
.../rest/connectiongroup/package-info.java | 28 -
.../basic/rest/history/APIConnectionRecord.java | 163 -----
.../APIConnectionRecordSortPredicate.java | 148 -----
.../basic/rest/history/HistoryRESTService.java | 147 -----
.../net/basic/rest/history/package-info.java | 28 -
.../rest/language/LanguageRESTService.java | 63 --
.../net/basic/rest/language/package-info.java | 27 -
.../guacamole/net/basic/rest/package-info.java | 27 -
.../net/basic/rest/patch/PatchRESTService.java | 133 ----
.../net/basic/rest/patch/package-info.java | 27 -
.../basic/rest/permission/APIPermissionSet.java | 300 ---------
.../net/basic/rest/permission/package-info.java | 27 -
.../basic/rest/schema/SchemaRESTService.java | 199 ------
.../net/basic/rest/schema/package-info.java | 27 -
.../guacamole/net/basic/rest/user/APIUser.java | 130 ----
.../basic/rest/user/APIUserPasswordUpdate.java | 82 ---
.../net/basic/rest/user/APIUserWrapper.java | 115 ----
.../net/basic/rest/user/PermissionSetPatch.java | 98 ---
.../net/basic/rest/user/UserRESTService.java | 647 -------------------
.../net/basic/rest/user/package-info.java | 27 -
.../BasicGuacamoleWebSocketTunnelEndpoint.java | 120 ----
.../basic/websocket/WebSocketTunnelModule.java | 104 ---
.../basic/websocket/WebSocketTunnelRequest.java | 70 --
.../BasicGuacamoleWebSocketTunnelServlet.java | 52 --
.../jetty8/GuacamoleWebSocketTunnelServlet.java | 232 -------
.../websocket/jetty8/WebSocketTunnelModule.java | 73 ---
.../basic/websocket/jetty8/package-info.java | 27 -
.../jetty9/BasicGuacamoleWebSocketCreator.java | 72 ---
.../BasicGuacamoleWebSocketTunnelListener.java | 59 --
.../BasicGuacamoleWebSocketTunnelServlet.java | 54 --
.../GuacamoleWebSocketTunnelListener.java | 243 -------
.../websocket/jetty9/WebSocketTunnelModule.java | 73 ---
.../jetty9/WebSocketTunnelRequest.java | 76 ---
.../basic/websocket/jetty9/package-info.java | 28 -
.../net/basic/websocket/package-info.java | 28 -
.../BasicGuacamoleWebSocketTunnelServlet.java | 52 --
.../tomcat/GuacamoleWebSocketTunnelServlet.java | 265 --------
.../websocket/tomcat/WebSocketTunnelModule.java | 73 ---
.../basic/websocket/tomcat/package-info.java | 29 -
.../xml/usermapping/AuthorizeTagHandler.java | 151 -----
.../xml/usermapping/ConnectionTagHandler.java | 110 ----
.../basic/xml/usermapping/ParamTagHandler.java | 74 ---
.../xml/usermapping/ProtocolTagHandler.java | 70 --
.../xml/usermapping/UserMappingTagHandler.java | 78 ---
.../net/basic/xml/usermapping/package-info.java | 27 -
.../java/org/apache/guacamole/package-info.java | 28 +
.../AuthenticationProviderProperty.java | 68 ++
.../properties/BasicGuacamoleProperties.java | 90 +++
.../guacamole/properties/StringSetProperty.java | 66 ++
.../guacamole/properties/package-info.java | 28 +
.../guacamole/resource/AbstractResource.java | 82 +++
.../guacamole/resource/ByteArrayResource.java | 62 ++
.../guacamole/resource/ClassPathResource.java | 85 +++
.../org/apache/guacamole/resource/Resource.java | 67 ++
.../guacamole/resource/ResourceServlet.java | 126 ++++
.../guacamole/resource/SequenceResource.java | 153 +++++
.../resource/WebApplicationResource.java | 116 ++++
.../apache/guacamole/resource/package-info.java | 28 +
.../org/apache/guacamole/rest/APIError.java | 183 ++++++
.../org/apache/guacamole/rest/APIException.java | 85 +++
.../org/apache/guacamole/rest/APIPatch.java | 104 +++
.../org/apache/guacamole/rest/APIRequest.java | 107 +++
.../guacamole/rest/ObjectRetrievalService.java | 280 ++++++++
.../java/org/apache/guacamole/rest/PATCH.java | 40 ++
.../guacamole/rest/RESTExceptionWrapper.java | 274 ++++++++
.../guacamole/rest/RESTMethodMatcher.java | 109 ++++
.../guacamole/rest/RESTServiceModule.java | 107 +++
.../activeconnection/APIActiveConnection.java | 130 ++++
.../ActiveConnectionRESTService.java | 196 ++++++
.../rest/auth/APIAuthenticationResponse.java | 105 +++
.../rest/auth/APIAuthenticationResult.java | 133 ++++
.../guacamole/rest/auth/AuthTokenGenerator.java | 39 ++
.../rest/auth/AuthenticationService.java | 475 ++++++++++++++
.../rest/auth/BasicTokenSessionMap.java | 189 ++++++
.../auth/SecureRandomAuthTokenGenerator.java | 48 ++
.../guacamole/rest/auth/TokenRESTService.java | 230 +++++++
.../guacamole/rest/auth/TokenSessionMap.java | 69 ++
.../guacamole/rest/auth/package-info.java | 27 +
.../rest/connection/APIConnection.java | 233 +++++++
.../rest/connection/APIConnectionWrapper.java | 138 ++++
.../rest/connection/ConnectionRESTService.java | 349 ++++++++++
.../guacamole/rest/connection/package-info.java | 27 +
.../connectiongroup/APIConnectionGroup.java | 272 ++++++++
.../APIConnectionGroupWrapper.java | 124 ++++
.../ConnectionGroupRESTService.java | 287 ++++++++
.../connectiongroup/ConnectionGroupTree.java | 259 ++++++++
.../rest/connectiongroup/package-info.java | 28 +
.../rest/history/APIConnectionRecord.java | 163 +++++
.../APIConnectionRecordSortPredicate.java | 148 +++++
.../rest/history/HistoryRESTService.java | 147 +++++
.../guacamole/rest/history/package-info.java | 28 +
.../rest/language/LanguageRESTService.java | 63 ++
.../guacamole/rest/language/package-info.java | 27 +
.../org/apache/guacamole/rest/package-info.java | 27 +
.../guacamole/rest/patch/PatchRESTService.java | 133 ++++
.../guacamole/rest/patch/package-info.java | 27 +
.../rest/permission/APIPermissionSet.java | 300 +++++++++
.../guacamole/rest/permission/package-info.java | 27 +
.../rest/schema/SchemaRESTService.java | 199 ++++++
.../guacamole/rest/schema/package-info.java | 27 +
.../org/apache/guacamole/rest/user/APIUser.java | 130 ++++
.../rest/user/APIUserPasswordUpdate.java | 82 +++
.../guacamole/rest/user/APIUserWrapper.java | 115 ++++
.../guacamole/rest/user/PermissionSetPatch.java | 98 +++
.../guacamole/rest/user/UserRESTService.java | 647 +++++++++++++++++++
.../guacamole/rest/user/package-info.java | 27 +
.../BasicGuacamoleWebSocketTunnelEndpoint.java | 120 ++++
.../websocket/WebSocketTunnelModule.java | 104 +++
.../websocket/WebSocketTunnelRequest.java | 70 ++
.../BasicGuacamoleWebSocketTunnelServlet.java | 52 ++
.../jetty8/GuacamoleWebSocketTunnelServlet.java | 232 +++++++
.../websocket/jetty8/WebSocketTunnelModule.java | 73 +++
.../websocket/jetty8/package-info.java | 27 +
.../jetty9/BasicGuacamoleWebSocketCreator.java | 72 +++
.../BasicGuacamoleWebSocketTunnelListener.java | 59 ++
.../BasicGuacamoleWebSocketTunnelServlet.java | 54 ++
.../GuacamoleWebSocketTunnelListener.java | 243 +++++++
.../websocket/jetty9/WebSocketTunnelModule.java | 73 +++
.../jetty9/WebSocketTunnelRequest.java | 76 +++
.../websocket/jetty9/package-info.java | 28 +
.../guacamole/websocket/package-info.java | 28 +
.../BasicGuacamoleWebSocketTunnelServlet.java | 52 ++
.../tomcat/GuacamoleWebSocketTunnelServlet.java | 265 ++++++++
.../websocket/tomcat/WebSocketTunnelModule.java | 73 +++
.../websocket/tomcat/package-info.java | 29 +
guacamole/src/main/webapp/WEB-INF/web.xml | 2 +-
221 files changed, 15015 insertions(+), 15015 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/BasicGuacamoleTunnelServlet.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/BasicGuacamoleTunnelServlet.java b/guacamole/src/main/java/org/apache/guacamole/BasicGuacamoleTunnelServlet.java
new file mode 100644
index 0000000..7ebbd7f
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/BasicGuacamoleTunnelServlet.java
@@ -0,0 +1,67 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole;
+
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+import javax.servlet.http.HttpServletRequest;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.net.GuacamoleTunnel;
+import org.apache.guacamole.servlet.GuacamoleHTTPTunnelServlet;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Connects users to a tunnel associated with the authorized connection
+ * having the given ID.
+ *
+ * @author Michael Jumper
+ */
+@Singleton
+public class BasicGuacamoleTunnelServlet extends GuacamoleHTTPTunnelServlet {
+
+ /**
+ * Service for handling tunnel requests.
+ */
+ @Inject
+ private TunnelRequestService tunnelRequestService;
+
+ /**
+ * Logger for this class.
+ */
+ private static final Logger logger = LoggerFactory.getLogger(BasicGuacamoleTunnelServlet.class);
+
+ @Override
+ protected GuacamoleTunnel doConnect(HttpServletRequest request) throws GuacamoleException {
+
+ // Attempt to create HTTP tunnel
+ GuacamoleTunnel tunnel = tunnelRequestService.createTunnel(new HTTPTunnelRequest(request));
+
+ // If successful, warn of lack of WebSocket
+ logger.info("Using HTTP tunnel (not WebSocket). Performance may be sub-optimal.");
+
+ return tunnel;
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/BasicServletContextListener.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/BasicServletContextListener.java b/guacamole/src/main/java/org/apache/guacamole/BasicServletContextListener.java
new file mode 100644
index 0000000..96fab85
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/BasicServletContextListener.java
@@ -0,0 +1,103 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole;
+
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+import com.google.inject.Stage;
+import com.google.inject.servlet.GuiceServletContextListener;
+import javax.servlet.ServletContextEvent;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.environment.Environment;
+import org.apache.guacamole.environment.LocalEnvironment;
+import org.apache.guacamole.extension.ExtensionModule;
+import org.apache.guacamole.log.LogModule;
+import org.apache.guacamole.rest.RESTServiceModule;
+import org.apache.guacamole.rest.auth.BasicTokenSessionMap;
+import org.apache.guacamole.rest.auth.TokenSessionMap;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * A ServletContextListener to listen for initialization of the servlet context
+ * in order to set up dependency injection.
+ *
+ * @author James Muehlner
+ */
+public class BasicServletContextListener extends GuiceServletContextListener {
+
+ /**
+ * Logger for this class.
+ */
+ private final Logger logger = LoggerFactory.getLogger(BasicServletContextListener.class);
+
+ /**
+ * The Guacamole server environment.
+ */
+ private Environment environment;
+
+ /**
+ * Singleton instance of a TokenSessionMap.
+ */
+ private TokenSessionMap sessionMap;
+
+ @Override
+ public void contextInitialized(ServletContextEvent servletContextEvent) {
+
+ try {
+ environment = new LocalEnvironment();
+ sessionMap = new BasicTokenSessionMap(environment);
+ }
+ catch (GuacamoleException e) {
+ logger.error("Unable to read guacamole.properties: {}", e.getMessage());
+ logger.debug("Error reading guacamole.properties.", e);
+ throw new RuntimeException(e);
+ }
+
+ super.contextInitialized(servletContextEvent);
+
+ }
+
+ @Override
+ protected Injector getInjector() {
+ return Guice.createInjector(Stage.PRODUCTION,
+ new EnvironmentModule(environment),
+ new LogModule(environment),
+ new ExtensionModule(environment),
+ new RESTServiceModule(sessionMap),
+ new TunnelModule()
+ );
+ }
+
+ @Override
+ public void contextDestroyed(ServletContextEvent servletContextEvent) {
+
+ super.contextDestroyed(servletContextEvent);
+
+ // Shutdown TokenSessionMap
+ if (sessionMap != null)
+ sessionMap.shutdown();
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/ClipboardState.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/ClipboardState.java b/guacamole/src/main/java/org/apache/guacamole/ClipboardState.java
new file mode 100644
index 0000000..bde6822
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/ClipboardState.java
@@ -0,0 +1,154 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole;
+
+/**
+ * Provides central storage for a cross-connection clipboard state. This
+ * clipboard state is shared only for a single HTTP session. Multiple HTTP
+ * sessions will all have their own state.
+ *
+ * @author Michael Jumper
+ */
+public class ClipboardState {
+
+ /**
+ * The maximum number of bytes to track.
+ */
+ private static final int MAXIMUM_LENGTH = 262144;
+
+ /**
+ * The mimetype of the current contents.
+ */
+ private String mimetype = "text/plain";
+
+ /**
+ * The mimetype of the pending contents.
+ */
+ private String pending_mimetype = "text/plain";
+
+ /**
+ * The current contents.
+ */
+ private byte[] contents = new byte[0];
+
+ /**
+ * The pending clipboard contents.
+ */
+ private final byte[] pending = new byte[MAXIMUM_LENGTH];
+
+ /**
+ * The length of the pending data, in bytes.
+ */
+ private int pending_length = 0;
+
+ /**
+ * The timestamp of the last contents update.
+ */
+ private long last_update = 0;
+
+ /**
+ * Returns the current clipboard contents.
+ * @return The current clipboard contents
+ */
+ public synchronized byte[] getContents() {
+ return contents;
+ }
+
+ /**
+ * Returns the mimetype of the current clipboard contents.
+ * @return The mimetype of the current clipboard contents.
+ */
+ public synchronized String getMimetype() {
+ return mimetype;
+ }
+
+ /**
+ * Begins a new update of the clipboard contents. The actual contents will
+ * not be saved until commit() is called.
+ *
+ * @param mimetype The mimetype of the contents being added.
+ */
+ public synchronized void begin(String mimetype) {
+ pending_length = 0;
+ this.pending_mimetype = mimetype;
+ }
+
+ /**
+ * Appends the given data to the clipboard contents.
+ *
+ * @param data The raw data to append.
+ */
+ public synchronized void append(byte[] data) {
+
+ // Calculate size of copy
+ int length = data.length;
+ int remaining = pending.length - pending_length;
+ if (remaining < length)
+ length = remaining;
+
+ // Append data
+ System.arraycopy(data, 0, pending, pending_length, length);
+ pending_length += length;
+
+ }
+
+ /**
+ * Commits the pending contents to the clipboard, notifying any threads
+ * waiting for clipboard updates.
+ */
+ public synchronized void commit() {
+
+ // Commit contents
+ mimetype = pending_mimetype;
+ contents = new byte[pending_length];
+ System.arraycopy(pending, 0, contents, 0, pending_length);
+
+ // Notify of update
+ last_update = System.currentTimeMillis();
+ this.notifyAll();
+
+ }
+
+ /**
+ * Wait up to the given timeout for new clipboard data.
+ *
+ * @param timeout The amount of time to wait, in milliseconds.
+ * @return true if the contents were updated within the timeframe given,
+ * false otherwise.
+ */
+ public synchronized boolean waitForContents(int timeout) {
+
+ // Wait for new contents if it's been a while
+ if (System.currentTimeMillis() - last_update > timeout) {
+ try {
+ this.wait(timeout);
+ return true;
+ }
+ catch (InterruptedException e) { /* ignore */ }
+ }
+
+ return false;
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/EnvironmentModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/EnvironmentModule.java b/guacamole/src/main/java/org/apache/guacamole/EnvironmentModule.java
new file mode 100644
index 0000000..c4a6115
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/EnvironmentModule.java
@@ -0,0 +1,60 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole;
+
+import com.google.inject.AbstractModule;
+import org.apache.guacamole.environment.Environment;
+
+/**
+ * Guice module which binds the base Guacamole server environment.
+ *
+ * @author Michael Jumper
+ */
+public class EnvironmentModule extends AbstractModule {
+
+ /**
+ * The Guacamole server environment.
+ */
+ private final Environment environment;
+
+ /**
+ * Creates a new EnvironmentModule which will bind the given environment
+ * for future injection.
+ *
+ * @param environment
+ * The environment to bind.
+ */
+ public EnvironmentModule(Environment environment) {
+ this.environment = environment;
+ }
+
+ @Override
+ protected void configure() {
+
+ // Bind environment
+ bind(Environment.class).toInstance(environment);
+
+ }
+
+}
+
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/GuacamoleClassLoader.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/GuacamoleClassLoader.java b/guacamole/src/main/java/org/apache/guacamole/GuacamoleClassLoader.java
new file mode 100644
index 0000000..f89b885
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/GuacamoleClassLoader.java
@@ -0,0 +1,185 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole;
+
+import java.io.File;
+import java.io.FilenameFilter;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.security.AccessController;
+import java.security.PrivilegedActionException;
+import java.security.PrivilegedExceptionAction;
+import java.util.ArrayList;
+import java.util.Collection;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.environment.Environment;
+import org.apache.guacamole.environment.LocalEnvironment;
+import org.apache.guacamole.properties.BasicGuacamoleProperties;
+
+/**
+ * A ClassLoader implementation which finds classes within a configurable
+ * directory. This directory is set within guacamole.properties. This class
+ * is deprecated in favor of DirectoryClassLoader, which is automatically
+ * configured based on the presence/absence of GUACAMOLE_HOME/lib.
+ *
+ * @author Michael Jumper
+ */
+@Deprecated
+public class GuacamoleClassLoader extends ClassLoader {
+
+ /**
+ * Class loader which will load classes from the classpath specified
+ * in guacamole.properties.
+ */
+ private URLClassLoader classLoader = null;
+
+ /**
+ * Any exception that occurs while the class loader is being instantiated.
+ */
+ private static GuacamoleException exception = null;
+
+ /**
+ * Singleton instance of the GuacamoleClassLoader.
+ */
+ private static GuacamoleClassLoader instance = null;
+
+ static {
+
+ try {
+ // Attempt to create singleton classloader which loads classes from
+ // all .jar's in the lib directory defined in guacamole.properties
+ instance = AccessController.doPrivileged(new PrivilegedExceptionAction<GuacamoleClassLoader>() {
+
+ @Override
+ public GuacamoleClassLoader run() throws GuacamoleException {
+
+ // TODONT: This should be injected, but GuacamoleClassLoader will be removed soon.
+ Environment environment = new LocalEnvironment();
+
+ return new GuacamoleClassLoader(
+ environment.getProperty(BasicGuacamoleProperties.LIB_DIRECTORY)
+ );
+
+ }
+
+ });
+ }
+
+ catch (PrivilegedActionException e) {
+ // On error, record exception
+ exception = (GuacamoleException) e.getException();
+ }
+
+ }
+
+ /**
+ * Creates a new GuacamoleClassLoader which reads classes from the given
+ * directory.
+ *
+ * @param libDirectory The directory to load classes from.
+ * @throws GuacamoleException If the file given is not a director, or if
+ * an error occurs while constructing the URL
+ * for the backing classloader.
+ */
+ private GuacamoleClassLoader(File libDirectory) throws GuacamoleException {
+
+ // If no directory provided, just direct requests to parent classloader
+ if (libDirectory == null)
+ return;
+
+ // Validate directory is indeed a directory
+ if (!libDirectory.isDirectory())
+ throw new GuacamoleException(libDirectory + " is not a directory.");
+
+ // Get list of URLs for all .jar's in the lib directory
+ Collection<URL> jarURLs = new ArrayList<URL>();
+ File[] files = libDirectory.listFiles(new FilenameFilter() {
+
+ @Override
+ public boolean accept(File dir, String name) {
+
+ // If it ends with .jar, accept the file
+ return name.endsWith(".jar");
+
+ }
+
+ });
+
+ // Verify directory was successfully read
+ if (files == null)
+ throw new GuacamoleException("Unable to read contents of directory " + libDirectory);
+
+ // Add the URL for each .jar to the jar URL list
+ for (File file : files) {
+
+ try {
+ jarURLs.add(file.toURI().toURL());
+ }
+ catch (MalformedURLException e) {
+ throw new GuacamoleException(e);
+ }
+
+ }
+
+ // Set delegate classloader to new URLClassLoader which loads from the
+ // .jars found above.
+
+ URL[] urls = new URL[jarURLs.size()];
+ classLoader = new URLClassLoader(
+ jarURLs.toArray(urls),
+ getClass().getClassLoader()
+ );
+
+ }
+
+ /**
+ * Returns an instance of a GuacamoleClassLoader which finds classes
+ * within the directory configured in guacamole.properties.
+ *
+ * @return An instance of a GuacamoleClassLoader.
+ * @throws GuacamoleException If no instance could be returned due to an
+ * error.
+ */
+ public static GuacamoleClassLoader getInstance() throws GuacamoleException {
+
+ // If instance could not be created, rethrow original exception
+ if (exception != null) throw exception;
+
+ return instance;
+
+ }
+
+ @Override
+ public Class<?> findClass(String name) throws ClassNotFoundException {
+
+ // If no classloader, use default loader
+ if (classLoader == null)
+ return Class.forName(name);
+
+ // Otherwise, delegate
+ return classLoader.loadClass(name);
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/GuacamoleSession.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/GuacamoleSession.java b/guacamole/src/main/java/org/apache/guacamole/GuacamoleSession.java
new file mode 100644
index 0000000..5345528
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/GuacamoleSession.java
@@ -0,0 +1,222 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole;
+
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.environment.Environment;
+import org.apache.guacamole.net.GuacamoleTunnel;
+import org.apache.guacamole.net.auth.AuthenticatedUser;
+import org.apache.guacamole.net.auth.UserContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Contains Guacamole-specific user information which is tied to the current
+ * session, such as the UserContext and current clipboard state.
+ *
+ * @author Michael Jumper
+ */
+public class GuacamoleSession {
+
+ /**
+ * Logger for this class.
+ */
+ private static final Logger logger = LoggerFactory.getLogger(GuacamoleSession.class);
+
+ /**
+ * The user associated with this session.
+ */
+ private AuthenticatedUser authenticatedUser;
+
+ /**
+ * All UserContexts associated with this session. Each
+ * AuthenticationProvider may provide its own UserContext.
+ */
+ private List<UserContext> userContexts;
+
+ /**
+ * All currently-active tunnels, indexed by tunnel UUID.
+ */
+ private final Map<String, GuacamoleTunnel> tunnels = new ConcurrentHashMap<String, GuacamoleTunnel>();
+
+ /**
+ * The last time this session was accessed.
+ */
+ private long lastAccessedTime;
+
+ /**
+ * Creates a new Guacamole session associated with the given
+ * AuthenticatedUser and UserContexts.
+ *
+ * @param environment
+ * The environment of the Guacamole server associated with this new
+ * session.
+ *
+ * @param authenticatedUser
+ * The authenticated user to associate this session with.
+ *
+ * @param userContexts
+ * The List of UserContexts to associate with this session.
+ *
+ * @throws GuacamoleException
+ * If an error prevents the session from being created.
+ */
+ public GuacamoleSession(Environment environment,
+ AuthenticatedUser authenticatedUser,
+ List<UserContext> userContexts)
+ throws GuacamoleException {
+ this.lastAccessedTime = System.currentTimeMillis();
+ this.authenticatedUser = authenticatedUser;
+ this.userContexts = userContexts;
+ }
+
+ /**
+ * Returns the authenticated user associated with this session.
+ *
+ * @return
+ * The authenticated user associated with this session.
+ */
+ public AuthenticatedUser getAuthenticatedUser() {
+ return authenticatedUser;
+ }
+
+ /**
+ * Replaces the authenticated user associated with this session with the
+ * given authenticated user.
+ *
+ * @param authenticatedUser
+ * The authenticated user to associated with this session.
+ */
+ public void setAuthenticatedUser(AuthenticatedUser authenticatedUser) {
+ this.authenticatedUser = authenticatedUser;
+ }
+
+ /**
+ * Returns a list of all UserContexts associated with this session. Each
+ * AuthenticationProvider currently loaded by Guacamole may provide its own
+ * UserContext for any successfully-authenticated user.
+ *
+ * @return
+ * An unmodifiable list of all UserContexts associated with this
+ * session.
+ */
+ public List<UserContext> getUserContexts() {
+ return Collections.unmodifiableList(userContexts);
+ }
+
+ /**
+ * Replaces all UserContexts associated with this session with the given
+ * List of UserContexts.
+ *
+ * @param userContexts
+ * The List of UserContexts to associate with this session.
+ */
+ public void setUserContexts(List<UserContext> userContexts) {
+ this.userContexts = userContexts;
+ }
+
+ /**
+ * Returns whether this session has any associated active tunnels.
+ *
+ * @return true if this session has any associated active tunnels,
+ * false otherwise.
+ */
+ public boolean hasTunnels() {
+ return !tunnels.isEmpty();
+ }
+
+ /**
+ * Returns a map of all active tunnels associated with this session, where
+ * each key is the String representation of the tunnel's UUID. Changes to
+ * this map immediately affect the set of tunnels associated with this
+ * session. A tunnel need not be present here to be used by the user
+ * associated with this session, but tunnels not in this set will not
+ * be taken into account when determining whether a session is in use.
+ *
+ * @return A map of all active tunnels associated with this session.
+ */
+ public Map<String, GuacamoleTunnel> getTunnels() {
+ return tunnels;
+ }
+
+ /**
+ * Associates the given tunnel with this session, such that it is taken
+ * into account when determining session activity.
+ *
+ * @param tunnel The tunnel to associate with this session.
+ */
+ public void addTunnel(GuacamoleTunnel tunnel) {
+ tunnels.put(tunnel.getUUID().toString(), tunnel);
+ }
+
+ /**
+ * Disassociates the tunnel having the given UUID from this session.
+ *
+ * @param uuid The UUID of the tunnel to disassociate from this session.
+ * @return true if the tunnel existed and was removed, false otherwise.
+ */
+ public boolean removeTunnel(String uuid) {
+ return tunnels.remove(uuid) != null;
+ }
+
+ /**
+ * Updates this session, marking it as accessed.
+ */
+ public void access() {
+ lastAccessedTime = System.currentTimeMillis();
+ }
+
+ /**
+ * Returns the time this session was last accessed, as the number of
+ * milliseconds since midnight January 1, 1970 GMT. Session access must
+ * be explicitly marked through calls to the access() function.
+ *
+ * @return The time this session was last accessed.
+ */
+ public long getLastAccessedTime() {
+ return lastAccessedTime;
+ }
+
+ /**
+ * Closes all associated tunnels and prevents any further use of this
+ * session.
+ */
+ public void invalidate() {
+
+ // Close all associated tunnels, if possible
+ for (GuacamoleTunnel tunnel : tunnels.values()) {
+ try {
+ tunnel.close();
+ }
+ catch (GuacamoleException e) {
+ logger.debug("Unable to close tunnel.", e);
+ }
+ }
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/HTTPTunnelRequest.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/HTTPTunnelRequest.java b/guacamole/src/main/java/org/apache/guacamole/HTTPTunnelRequest.java
new file mode 100644
index 0000000..9edc45a
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/HTTPTunnelRequest.java
@@ -0,0 +1,90 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * HTTP-specific implementation of TunnelRequest.
+ *
+ * @author Michael Jumper
+ */
+public class HTTPTunnelRequest extends TunnelRequest {
+
+ /**
+ * A copy of the parameters obtained from the HttpServletRequest used to
+ * construct the HTTPTunnelRequest.
+ */
+ private final Map<String, List<String>> parameterMap =
+ new HashMap<String, List<String>>();
+
+ /**
+ * Creates a HTTPTunnelRequest which copies and exposes the parameters
+ * from the given HttpServletRequest.
+ *
+ * @param request
+ * The HttpServletRequest to copy parameter values from.
+ */
+ @SuppressWarnings("unchecked") // getParameterMap() is defined as returning Map<String, String[]>
+ public HTTPTunnelRequest(HttpServletRequest request) {
+
+ // For each parameter
+ for (Map.Entry<String, String[]> mapEntry : ((Map<String, String[]>)
+ request.getParameterMap()).entrySet()) {
+
+ // Get parameter name and corresponding values
+ String parameterName = mapEntry.getKey();
+ List<String> parameterValues = Arrays.asList(mapEntry.getValue());
+
+ // Store copy of all values in our own map
+ parameterMap.put(
+ parameterName,
+ new ArrayList<String>(parameterValues)
+ );
+
+ }
+
+ }
+
+ @Override
+ public String getParameter(String name) {
+ List<String> values = getParameterValues(name);
+
+ // Return the first value from the list if available
+ if (values != null && !values.isEmpty())
+ return values.get(0);
+
+ return null;
+ }
+
+ @Override
+ public List<String> getParameterValues(String name) {
+ return parameterMap.get(name);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/TunnelLoader.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/TunnelLoader.java b/guacamole/src/main/java/org/apache/guacamole/TunnelLoader.java
new file mode 100644
index 0000000..756c6dd
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/TunnelLoader.java
@@ -0,0 +1,44 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole;
+
+import com.google.inject.Module;
+
+/**
+ * Generic means of loading a tunnel without adding explicit dependencies within
+ * the main ServletModule, as not all servlet containers may have the classes
+ * required by all tunnel implementations.
+ *
+ * @author Michael Jumper
+ */
+public interface TunnelLoader extends Module {
+
+ /**
+ * Checks whether this type of tunnel is supported by the servlet container.
+ *
+ * @return true if this type of tunnel is supported and can be loaded
+ * without errors, false otherwise.
+ */
+ public boolean isSupported();
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/TunnelModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/TunnelModule.java b/guacamole/src/main/java/org/apache/guacamole/TunnelModule.java
new file mode 100644
index 0000000..e7c105c
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/TunnelModule.java
@@ -0,0 +1,113 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole;
+
+import com.google.inject.servlet.ServletModule;
+import java.lang.reflect.InvocationTargetException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Module which loads tunnel implementations.
+ *
+ * @author Michael Jumper
+ */
+public class TunnelModule extends ServletModule {
+
+ /**
+ * Logger for this class.
+ */
+ private final Logger logger = LoggerFactory.getLogger(TunnelModule.class);
+
+ /**
+ * Classnames of all implementation-specific WebSocket tunnel modules.
+ */
+ private static final String[] WEBSOCKET_MODULES = {
+ "org.apache.guacamole.websocket.WebSocketTunnelModule",
+ "org.apache.guacamole.websocket.jetty8.WebSocketTunnelModule",
+ "org.apache.guacamole.websocket.jetty9.WebSocketTunnelModule",
+ "org.apache.guacamole.websocket.tomcat.WebSocketTunnelModule"
+ };
+
+ private boolean loadWebSocketModule(String classname) {
+
+ try {
+
+ // Attempt to find WebSocket module
+ Class<?> module = Class.forName(classname);
+
+ // Create loader
+ TunnelLoader loader = (TunnelLoader) module.getConstructor().newInstance();
+
+ // Install module, if supported
+ if (loader.isSupported()) {
+ install(loader);
+ return true;
+ }
+
+ }
+
+ // If no such class or constructor, etc., then this particular
+ // WebSocket support is not present
+ catch (ClassNotFoundException e) {}
+ catch (NoClassDefFoundError e) {}
+ catch (NoSuchMethodException e) {}
+
+ // Log errors which indicate bugs
+ catch (InstantiationException e) {
+ logger.debug("Error instantiating WebSocket module.", e);
+ }
+ catch (IllegalAccessException e) {
+ logger.debug("Error instantiating WebSocket module.", e);
+ }
+ catch (InvocationTargetException e) {
+ logger.debug("Error instantiating WebSocket module.", e);
+ }
+
+ // Load attempt failed
+ return false;
+
+ }
+
+ @Override
+ protected void configureServlets() {
+
+ bind(TunnelRequestService.class);
+
+ // Set up HTTP tunnel
+ serve("/tunnel").with(BasicGuacamoleTunnelServlet.class);
+
+ // Try to load each WebSocket tunnel in sequence
+ for (String classname : WEBSOCKET_MODULES) {
+ if (loadWebSocketModule(classname)) {
+ logger.debug("WebSocket module loaded: {}", classname);
+ return;
+ }
+ }
+
+ // Warn of lack of WebSocket
+ logger.info("WebSocket support NOT present. Only HTTP will be used.");
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/TunnelRequest.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/TunnelRequest.java b/guacamole/src/main/java/org/apache/guacamole/TunnelRequest.java
new file mode 100644
index 0000000..622e2f0
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/TunnelRequest.java
@@ -0,0 +1,372 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole;
+
+import java.util.List;
+import org.apache.guacamole.GuacamoleClientException;
+import org.apache.guacamole.GuacamoleException;
+
+/**
+ * A request object which provides only the functions absolutely required to
+ * retrieve and connect to a tunnel.
+ *
+ * @author Michael Jumper
+ */
+public abstract class TunnelRequest {
+
+ /**
+ * The name of the request parameter containing the user's authentication
+ * token.
+ */
+ public static final String AUTH_TOKEN_PARAMETER = "token";
+
+ /**
+ * The name of the parameter containing the identifier of the
+ * AuthenticationProvider associated with the UserContext containing the
+ * object to which a tunnel is being requested.
+ */
+ public static final String AUTH_PROVIDER_IDENTIFIER_PARAMETER = "GUAC_DATA_SOURCE";
+
+ /**
+ * The name of the parameter specifying the type of object to which a
+ * tunnel is being requested. Currently, this may be "c" for a Guacamole
+ * connection, or "g" for a Guacamole connection group.
+ */
+ public static final String TYPE_PARAMETER = "GUAC_TYPE";
+
+ /**
+ * The name of the parameter containing the unique identifier of the object
+ * to which a tunnel is being requested.
+ */
+ public static final String IDENTIFIER_PARAMETER = "GUAC_ID";
+
+ /**
+ * The name of the parameter containing the desired display width, in
+ * pixels.
+ */
+ public static final String WIDTH_PARAMETER = "GUAC_WIDTH";
+
+ /**
+ * The name of the parameter containing the desired display height, in
+ * pixels.
+ */
+ public static final String HEIGHT_PARAMETER = "GUAC_HEIGHT";
+
+ /**
+ * The name of the parameter containing the desired display resolution, in
+ * DPI.
+ */
+ public static final String DPI_PARAMETER = "GUAC_DPI";
+
+ /**
+ * The name of the parameter specifying one supported audio mimetype. This
+ * will normally appear multiple times within a single tunnel request -
+ * once for each mimetype.
+ */
+ public static final String AUDIO_PARAMETER = "GUAC_AUDIO";
+
+ /**
+ * The name of the parameter specifying one supported video mimetype. This
+ * will normally appear multiple times within a single tunnel request -
+ * once for each mimetype.
+ */
+ public static final String VIDEO_PARAMETER = "GUAC_VIDEO";
+
+ /**
+ * The name of the parameter specifying one supported image mimetype. This
+ * will normally appear multiple times within a single tunnel request -
+ * once for each mimetype.
+ */
+ public static final String IMAGE_PARAMETER = "GUAC_IMAGE";
+
+ /**
+ * All supported object types that can be used as the destination of a
+ * tunnel.
+ */
+ public static enum Type {
+
+ /**
+ * A Guacamole connection.
+ */
+ CONNECTION("c"),
+
+ /**
+ * A Guacamole connection group.
+ */
+ CONNECTION_GROUP("g");
+
+ /**
+ * The parameter value which denotes a destination object of this type.
+ */
+ final String PARAMETER_VALUE;
+
+ /**
+ * Defines a Type having the given corresponding parameter value.
+ *
+ * @param value
+ * The parameter value which denotes a destination object of this
+ * type.
+ */
+ Type(String value) {
+ PARAMETER_VALUE = value;
+ }
+
+ };
+
+ /**
+ * Returns the value of the parameter having the given name.
+ *
+ * @param name
+ * The name of the parameter to return.
+ *
+ * @return
+ * The value of the parameter having the given name, or null if no such
+ * parameter was specified.
+ */
+ public abstract String getParameter(String name);
+
+ /**
+ * Returns a list of all values specified for the given parameter.
+ *
+ * @param name
+ * The name of the parameter to return.
+ *
+ * @return
+ * All values of the parameter having the given name , or null if no
+ * such parameter was specified.
+ */
+ public abstract List<String> getParameterValues(String name);
+
+ /**
+ * Returns the value of the parameter having the given name, throwing an
+ * exception if the parameter is missing.
+ *
+ * @param name
+ * The name of the parameter to return.
+ *
+ * @return
+ * The value of the parameter having the given name.
+ *
+ * @throws GuacamoleException
+ * If the parameter is not present in the request.
+ */
+ public String getRequiredParameter(String name) throws GuacamoleException {
+
+ // Pull requested parameter, aborting if absent
+ String value = getParameter(name);
+ if (value == null)
+ throw new GuacamoleClientException("Parameter \"" + name + "\" is required.");
+
+ return value;
+
+ }
+
+ /**
+ * Returns the integer value of the parameter having the given name,
+ * throwing an exception if the parameter cannot be parsed.
+ *
+ * @param name
+ * The name of the parameter to return.
+ *
+ * @return
+ * The integer value of the parameter having the given name, or null if
+ * the parameter is missing.
+ *
+ * @throws GuacamoleException
+ * If the parameter is not a valid integer.
+ */
+ public Integer getIntegerParameter(String name) throws GuacamoleException {
+
+ // Pull requested parameter
+ String value = getParameter(name);
+ if (value == null)
+ return null;
+
+ // Attempt to parse as an integer
+ try {
+ return Integer.parseInt(value);
+ }
+
+ // Rethrow any parsing error as a GuacamoleClientException
+ catch (NumberFormatException e) {
+ throw new GuacamoleClientException("Parameter \"" + name + "\" must be a valid integer.", e);
+ }
+
+ }
+
+ /**
+ * Returns the authentication token associated with this tunnel request.
+ *
+ * @return
+ * The authentication token associated with this tunnel request, or
+ * null if no authentication token is present.
+ */
+ public String getAuthenticationToken() {
+ return getParameter(AUTH_TOKEN_PARAMETER);
+ }
+
+ /**
+ * Returns the identifier of the AuthenticationProvider associated with the
+ * UserContext from which the connection or connection group is to be
+ * retrieved when the tunnel is created. In the context of the REST API and
+ * the JavaScript side of the web application, this is referred to as the
+ * data source identifier.
+ *
+ * @return
+ * The identifier of the AuthenticationProvider associated with the
+ * UserContext from which the connection or connection group is to be
+ * retrieved when the tunnel is created.
+ *
+ * @throws GuacamoleException
+ * If the identifier was not present in the request.
+ */
+ public String getAuthenticationProviderIdentifier()
+ throws GuacamoleException {
+ return getRequiredParameter(AUTH_PROVIDER_IDENTIFIER_PARAMETER);
+ }
+
+ /**
+ * Returns the type of object for which the tunnel is being requested.
+ *
+ * @return
+ * The type of object for which the tunnel is being requested.
+ *
+ * @throws GuacamoleException
+ * If the type was not present in the request, or if the type requested
+ * is in the wrong format.
+ */
+ public Type getType() throws GuacamoleException {
+
+ String type = getRequiredParameter(TYPE_PARAMETER);
+
+ // For each possible object type
+ for (Type possibleType : Type.values()) {
+
+ // Match against defined parameter value
+ if (type.equals(possibleType.PARAMETER_VALUE))
+ return possibleType;
+
+ }
+
+ throw new GuacamoleClientException("Illegal identifier - unknown type.");
+
+ }
+
+ /**
+ * Returns the identifier of the destination of the tunnel being requested.
+ * As there are multiple types of destination objects available, and within
+ * multiple data sources, the associated object type and data source are
+ * also necessary to determine what this identifier refers to.
+ *
+ * @return
+ * The identifier of the destination of the tunnel being requested.
+ *
+ * @throws GuacamoleException
+ * If the identifier was not present in the request.
+ */
+ public String getIdentifier() throws GuacamoleException {
+ return getRequiredParameter(IDENTIFIER_PARAMETER);
+ }
+
+ /**
+ * Returns the display width desired for the Guacamole session over the
+ * tunnel being requested.
+ *
+ * @return
+ * The display width desired for the Guacamole session over the tunnel
+ * being requested, or null if no width was given.
+ *
+ * @throws GuacamoleException
+ * If the width specified was not a valid integer.
+ */
+ public Integer getWidth() throws GuacamoleException {
+ return getIntegerParameter(WIDTH_PARAMETER);
+ }
+
+ /**
+ * Returns the display height desired for the Guacamole session over the
+ * tunnel being requested.
+ *
+ * @return
+ * The display height desired for the Guacamole session over the tunnel
+ * being requested, or null if no width was given.
+ *
+ * @throws GuacamoleException
+ * If the height specified was not a valid integer.
+ */
+ public Integer getHeight() throws GuacamoleException {
+ return getIntegerParameter(HEIGHT_PARAMETER);
+ }
+
+ /**
+ * Returns the display resolution desired for the Guacamole session over
+ * the tunnel being requested, in DPI.
+ *
+ * @return
+ * The display resolution desired for the Guacamole session over the
+ * tunnel being requested, or null if no resolution was given.
+ *
+ * @throws GuacamoleException
+ * If the resolution specified was not a valid integer.
+ */
+ public Integer getDPI() throws GuacamoleException {
+ return getIntegerParameter(DPI_PARAMETER);
+ }
+
+ /**
+ * Returns a list of all audio mimetypes declared as supported within the
+ * tunnel request.
+ *
+ * @return
+ * A list of all audio mimetypes declared as supported within the
+ * tunnel request, or null if no mimetypes were specified.
+ */
+ public List<String> getAudioMimetypes() {
+ return getParameterValues(AUDIO_PARAMETER);
+ }
+
+ /**
+ * Returns a list of all video mimetypes declared as supported within the
+ * tunnel request.
+ *
+ * @return
+ * A list of all video mimetypes declared as supported within the
+ * tunnel request, or null if no mimetypes were specified.
+ */
+ public List<String> getVideoMimetypes() {
+ return getParameterValues(VIDEO_PARAMETER);
+ }
+
+ /**
+ * Returns a list of all image mimetypes declared as supported within the
+ * tunnel request.
+ *
+ * @return
+ * A list of all image mimetypes declared as supported within the
+ * tunnel request, or null if no mimetypes were specified.
+ */
+ public List<String> getImageMimetypes() {
+ return getParameterValues(IMAGE_PARAMETER);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/TunnelRequestService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/TunnelRequestService.java b/guacamole/src/main/java/org/apache/guacamole/TunnelRequestService.java
new file mode 100644
index 0000000..d78fdde
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/TunnelRequestService.java
@@ -0,0 +1,359 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole;
+
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+import java.util.List;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.GuacamoleSecurityException;
+import org.apache.guacamole.GuacamoleUnauthorizedException;
+import org.apache.guacamole.net.DelegatingGuacamoleTunnel;
+import org.apache.guacamole.net.GuacamoleTunnel;
+import org.apache.guacamole.net.auth.Connection;
+import org.apache.guacamole.net.auth.ConnectionGroup;
+import org.apache.guacamole.net.auth.Directory;
+import org.apache.guacamole.net.auth.UserContext;
+import org.apache.guacamole.rest.ObjectRetrievalService;
+import org.apache.guacamole.rest.auth.AuthenticationService;
+import org.apache.guacamole.protocol.GuacamoleClientInformation;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Utility class that takes a standard request from the Guacamole JavaScript
+ * client and produces the corresponding GuacamoleTunnel. The implementation
+ * of this utility is specific to the form of request used by the upstream
+ * Guacamole web application, and is not necessarily useful to applications
+ * that use purely the Guacamole API.
+ *
+ * @author Michael Jumper
+ * @author Vasily Loginov
+ */
+@Singleton
+public class TunnelRequestService {
+
+ /**
+ * Logger for this class.
+ */
+ private final Logger logger = LoggerFactory.getLogger(TunnelRequestService.class);
+
+ /**
+ * A service for authenticating users from auth tokens.
+ */
+ @Inject
+ private AuthenticationService authenticationService;
+
+ /**
+ * Service for convenient retrieval of objects.
+ */
+ @Inject
+ private ObjectRetrievalService retrievalService;
+
+ /**
+ * Reads and returns the client information provided within the given
+ * request.
+ *
+ * @param request
+ * The request describing tunnel to create.
+ *
+ * @return GuacamoleClientInformation
+ * An object containing information about the client sending the tunnel
+ * request.
+ *
+ * @throws GuacamoleException
+ * If the parameters of the tunnel request are invalid.
+ */
+ protected GuacamoleClientInformation getClientInformation(TunnelRequest request)
+ throws GuacamoleException {
+
+ // Get client information
+ GuacamoleClientInformation info = new GuacamoleClientInformation();
+
+ // Set width if provided
+ Integer width = request.getWidth();
+ if (width != null)
+ info.setOptimalScreenWidth(width);
+
+ // Set height if provided
+ Integer height = request.getHeight();
+ if (height != null)
+ info.setOptimalScreenHeight(height);
+
+ // Set resolution if provided
+ Integer dpi = request.getDPI();
+ if (dpi != null)
+ info.setOptimalResolution(dpi);
+
+ // Add audio mimetypes
+ List<String> audioMimetypes = request.getAudioMimetypes();
+ if (audioMimetypes != null)
+ info.getAudioMimetypes().addAll(audioMimetypes);
+
+ // Add video mimetypes
+ List<String> videoMimetypes = request.getVideoMimetypes();
+ if (videoMimetypes != null)
+ info.getVideoMimetypes().addAll(videoMimetypes);
+
+ // Add image mimetypes
+ List<String> imageMimetypes = request.getImageMimetypes();
+ if (imageMimetypes != null)
+ info.getImageMimetypes().addAll(imageMimetypes);
+
+ return info;
+ }
+
+ /**
+ * Creates a new tunnel using which is connected to the connection or
+ * connection group identifier by the given ID. Client information
+ * is specified in the {@code info} parameter.
+ *
+ * @param context
+ * The UserContext associated with the user for whom the tunnel is
+ * being created.
+ *
+ * @param type
+ * The type of object being connected to (connection or group).
+ *
+ * @param id
+ * The id of the connection or group being connected to.
+ *
+ * @param info
+ * Information describing the connected Guacamole client.
+ *
+ * @return
+ * A new tunnel, connected as required by the request.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while creating the tunnel.
+ */
+ protected GuacamoleTunnel createConnectedTunnel(UserContext context,
+ final TunnelRequest.Type type, String id,
+ GuacamoleClientInformation info)
+ throws GuacamoleException {
+
+ // Create connected tunnel from identifier
+ GuacamoleTunnel tunnel = null;
+ switch (type) {
+
+ // Connection identifiers
+ case CONNECTION: {
+
+ // Get connection directory
+ Directory<Connection> directory = context.getConnectionDirectory();
+
+ // Get authorized connection
+ Connection connection = directory.get(id);
+ if (connection == null) {
+ logger.info("Connection \"{}\" does not exist for user \"{}\".", id, context.self().getIdentifier());
+ throw new GuacamoleSecurityException("Requested connection is not authorized.");
+ }
+
+ // Connect tunnel
+ tunnel = connection.connect(info);
+ logger.info("User \"{}\" connected to connection \"{}\".", context.self().getIdentifier(), id);
+ break;
+ }
+
+ // Connection group identifiers
+ case CONNECTION_GROUP: {
+
+ // Get connection group directory
+ Directory<ConnectionGroup> directory = context.getConnectionGroupDirectory();
+
+ // Get authorized connection group
+ ConnectionGroup group = directory.get(id);
+ if (group == null) {
+ logger.info("Connection group \"{}\" does not exist for user \"{}\".", id, context.self().getIdentifier());
+ throw new GuacamoleSecurityException("Requested connection group is not authorized.");
+ }
+
+ // Connect tunnel
+ tunnel = group.connect(info);
+ logger.info("User \"{}\" connected to group \"{}\".", context.self().getIdentifier(), id);
+ break;
+ }
+
+ // Type is guaranteed to be one of the above
+ default:
+ assert(false);
+
+ }
+
+ return tunnel;
+
+ }
+
+ /**
+ * Associates the given tunnel with the given session, returning a wrapped
+ * version of the same tunnel which automatically handles closure and
+ * removal from the session.
+ *
+ * @param tunnel
+ * The connected tunnel to wrap and monitor.
+ *
+ * @param authToken
+ * The authentication token associated with the given session. If
+ * provided, this token will be automatically invalidated (and the
+ * corresponding session destroyed) if tunnel errors imply that the
+ * user is no longer authorized.
+ *
+ * @param session
+ * The Guacamole session to associate the tunnel with.
+ *
+ * @param type
+ * The type of object being connected to (connection or group).
+ *
+ * @param id
+ * The id of the connection or group being connected to.
+ *
+ * @return
+ * A new tunnel, associated with the given session, which delegates all
+ * functionality to the given tunnel while monitoring and automatically
+ * handling closure.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while obtaining the tunnel.
+ */
+ protected GuacamoleTunnel createAssociatedTunnel(GuacamoleTunnel tunnel,
+ final String authToken, final GuacamoleSession session,
+ final TunnelRequest.Type type, final String id)
+ throws GuacamoleException {
+
+ // Monitor tunnel closure and data
+ GuacamoleTunnel monitoredTunnel = new DelegatingGuacamoleTunnel(tunnel) {
+
+ /**
+ * The time the connection began, measured in milliseconds since
+ * midnight, January 1, 1970 UTC.
+ */
+ private final long connectionStartTime = System.currentTimeMillis();
+
+ @Override
+ public void close() throws GuacamoleException {
+
+ long connectionEndTime = System.currentTimeMillis();
+ long duration = connectionEndTime - connectionStartTime;
+
+ // Log closure
+ switch (type) {
+
+ // Connection identifiers
+ case CONNECTION:
+ logger.info("User \"{}\" disconnected from connection \"{}\". Duration: {} milliseconds",
+ session.getAuthenticatedUser().getIdentifier(), id, duration);
+ break;
+
+ // Connection group identifiers
+ case CONNECTION_GROUP:
+ logger.info("User \"{}\" disconnected from connection group \"{}\". Duration: {} milliseconds",
+ session.getAuthenticatedUser().getIdentifier(), id, duration);
+ break;
+
+ // Type is guaranteed to be one of the above
+ default:
+ assert(false);
+
+ }
+
+ try {
+
+ // Close and clean up tunnel
+ session.removeTunnel(getUUID().toString());
+ super.close();
+
+ }
+
+ // Ensure any associated session is invalidated if unauthorized
+ catch (GuacamoleUnauthorizedException e) {
+
+ // If there is an associated auth token, invalidate it
+ if (authenticationService.destroyGuacamoleSession(authToken))
+ logger.debug("Implicitly invalidated session for token \"{}\".", authToken);
+
+ // Continue with exception processing
+ throw e;
+
+ }
+
+ }
+
+ };
+
+ // Associate tunnel with session
+ session.addTunnel(monitoredTunnel);
+ return monitoredTunnel;
+
+ }
+
+ /**
+ * Creates a new tunnel using the parameters and credentials present in
+ * the given request.
+ *
+ * @param request
+ * The request describing the tunnel to create.
+ *
+ * @return
+ * The created tunnel, or null if the tunnel could not be created.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while creating the tunnel.
+ */
+ public GuacamoleTunnel createTunnel(TunnelRequest request)
+ throws GuacamoleException {
+
+ // Parse request parameters
+ String authToken = request.getAuthenticationToken();
+ String id = request.getIdentifier();
+ TunnelRequest.Type type = request.getType();
+ String authProviderIdentifier = request.getAuthenticationProviderIdentifier();
+ GuacamoleClientInformation info = getClientInformation(request);
+
+ GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
+ UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
+
+ try {
+
+ // Create connected tunnel using provided connection ID and client information
+ GuacamoleTunnel tunnel = createConnectedTunnel(userContext, type, id, info);
+
+ // Associate tunnel with session
+ return createAssociatedTunnel(tunnel, authToken, session, type, id);
+
+ }
+
+ // Ensure any associated session is invalidated if unauthorized
+ catch (GuacamoleUnauthorizedException e) {
+
+ // If there is an associated auth token, invalidate it
+ if (authenticationService.destroyGuacamoleSession(authToken))
+ logger.debug("Implicitly invalidated session for token \"{}\".", authToken);
+
+ // Continue with exception processing
+ throw e;
+
+ }
+
+ }
+
+}
[41/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Relicense C and JavaScript files.
Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/ObjectModel.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/ObjectModel.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/ObjectModel.java
index 690e9da..06698ac 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/ObjectModel.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/ObjectModel.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.base;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/RestrictedObject.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/RestrictedObject.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/RestrictedObject.java
index 76e2dec..06eb296 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/RestrictedObject.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/RestrictedObject.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.base;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/package-info.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/package-info.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/package-info.java
index b847590..40911f3 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/package-info.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/base/package-info.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionDirectory.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionDirectory.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionDirectory.java
index 7e0db40..8172f81 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionDirectory.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionDirectory.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.connection;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionMapper.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionMapper.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionMapper.java
index 1e50155..61cccc5 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionMapper.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionMapper.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.connection;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionModel.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionModel.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionModel.java
index e9b27b4..6d7b28b 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionModel.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionModel.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.connection;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordMapper.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordMapper.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordMapper.java
index 291fcf3..db7f178 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordMapper.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordMapper.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.connection;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordModel.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordModel.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordModel.java
index 707504c..e383e25 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordModel.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordModel.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.connection;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordSearchTerm.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordSearchTerm.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordSearchTerm.java
index 7979f79..d6dc417 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordSearchTerm.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordSearchTerm.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.connection;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordSet.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordSet.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordSet.java
index 3b2f829..d586316 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordSet.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordSet.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.connection;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordSortPredicate.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordSortPredicate.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordSortPredicate.java
index fbcec09..66ce821 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordSortPredicate.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordSortPredicate.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.connection;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionService.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionService.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionService.java
index 87bfb88..7195b47 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionService.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.connection;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ModeledConnection.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ModeledConnection.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ModeledConnection.java
index 741f195..caa9675 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ModeledConnection.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ModeledConnection.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.connection;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ModeledConnectionRecord.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ModeledConnectionRecord.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ModeledConnectionRecord.java
index a8975e2..4296b6d 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ModeledConnectionRecord.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ModeledConnectionRecord.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.connection;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ModeledGuacamoleConfiguration.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ModeledGuacamoleConfiguration.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ModeledGuacamoleConfiguration.java
index 7c347e8..cd91f7f 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ModeledGuacamoleConfiguration.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ModeledGuacamoleConfiguration.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.connection;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ParameterMapper.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ParameterMapper.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ParameterMapper.java
index 5db2706..d152e60 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ParameterMapper.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ParameterMapper.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.connection;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ParameterModel.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ParameterModel.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ParameterModel.java
index 5a685ec..f4cff99 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ParameterModel.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ParameterModel.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.connection;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/package-info.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/package-info.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/package-info.java
index 84f8f95..0c0cd3d 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/package-info.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/package-info.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connectiongroup/ConnectionGroupDirectory.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connectiongroup/ConnectionGroupDirectory.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connectiongroup/ConnectionGroupDirectory.java
index e0a4ef4..41c87d8 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connectiongroup/ConnectionGroupDirectory.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connectiongroup/ConnectionGroupDirectory.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.connectiongroup;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connectiongroup/ConnectionGroupMapper.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connectiongroup/ConnectionGroupMapper.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connectiongroup/ConnectionGroupMapper.java
index 0b4b2ff..6c4e693 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connectiongroup/ConnectionGroupMapper.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connectiongroup/ConnectionGroupMapper.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.connectiongroup;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connectiongroup/ConnectionGroupModel.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connectiongroup/ConnectionGroupModel.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connectiongroup/ConnectionGroupModel.java
index 99bd572..1aedfe0 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connectiongroup/ConnectionGroupModel.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connectiongroup/ConnectionGroupModel.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.connectiongroup;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connectiongroup/ConnectionGroupService.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connectiongroup/ConnectionGroupService.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connectiongroup/ConnectionGroupService.java
index 7663495..a0aab4f 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connectiongroup/ConnectionGroupService.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connectiongroup/ConnectionGroupService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.connectiongroup;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connectiongroup/ModeledConnectionGroup.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connectiongroup/ModeledConnectionGroup.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connectiongroup/ModeledConnectionGroup.java
index 8105198..5ee0580 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connectiongroup/ModeledConnectionGroup.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connectiongroup/ModeledConnectionGroup.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.connectiongroup;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connectiongroup/RootConnectionGroup.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connectiongroup/RootConnectionGroup.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connectiongroup/RootConnectionGroup.java
index 9e328b4..71a4690 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connectiongroup/RootConnectionGroup.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connectiongroup/RootConnectionGroup.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.connectiongroup;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connectiongroup/package-info.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connectiongroup/package-info.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connectiongroup/package-info.java
index 643cd10..8e37028 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connectiongroup/package-info.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connectiongroup/package-info.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/package-info.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/package-info.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/package-info.java
index 60f756a..268d3d2 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/package-info.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/package-info.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/AbstractPermissionService.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/AbstractPermissionService.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/AbstractPermissionService.java
index f647c9e..0810104 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/AbstractPermissionService.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/AbstractPermissionService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.permission;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ConnectionGroupPermissionMapper.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ConnectionGroupPermissionMapper.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ConnectionGroupPermissionMapper.java
index a6bc95a..433674a 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ConnectionGroupPermissionMapper.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ConnectionGroupPermissionMapper.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.permission;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ConnectionGroupPermissionService.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ConnectionGroupPermissionService.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ConnectionGroupPermissionService.java
index a1a9eb1..b89855f 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ConnectionGroupPermissionService.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ConnectionGroupPermissionService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.permission;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ConnectionGroupPermissionSet.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ConnectionGroupPermissionSet.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ConnectionGroupPermissionSet.java
index c88a36e..65b1e8d 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ConnectionGroupPermissionSet.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/permission/ConnectionGroupPermissionSet.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.permission;
[02/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Remove useless .net.basic subpackage, now that everything is being renamed.
Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/permission/APIPermissionSet.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/permission/APIPermissionSet.java b/guacamole/src/main/java/org/apache/guacamole/rest/permission/APIPermissionSet.java
new file mode 100644
index 0000000..1f57ee5
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/permission/APIPermissionSet.java
@@ -0,0 +1,300 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.rest.permission;
+
+import java.util.EnumSet;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.net.auth.User;
+import org.apache.guacamole.net.auth.permission.ObjectPermission;
+import org.apache.guacamole.net.auth.permission.ObjectPermissionSet;
+import org.apache.guacamole.net.auth.permission.SystemPermission;
+import org.apache.guacamole.net.auth.permission.SystemPermissionSet;
+
+/**
+ * The set of permissions which are granted to a specific user, organized by
+ * object type and, if applicable, identifier. This object can be constructed
+ * with arbitrary permissions present, or manipulated after creation through
+ * the manipulation or replacement of its collections of permissions, but is
+ * otherwise not intended for internal use as a data structure for permissions.
+ * Its primary purpose is as a hierarchical format for exchanging granted
+ * permissions with REST clients.
+ */
+public class APIPermissionSet {
+
+ /**
+ * Map of connection ID to the set of granted permissions.
+ */
+ private Map<String, Set<ObjectPermission.Type>> connectionPermissions =
+ new HashMap<String, Set<ObjectPermission.Type>>();
+
+ /**
+ * Map of connection group ID to the set of granted permissions.
+ */
+ private Map<String, Set<ObjectPermission.Type>> connectionGroupPermissions =
+ new HashMap<String, Set<ObjectPermission.Type>>();
+
+ /**
+ * Map of active connection ID to the set of granted permissions.
+ */
+ private Map<String, Set<ObjectPermission.Type>> activeConnectionPermissions =
+ new HashMap<String, Set<ObjectPermission.Type>>();
+
+ /**
+ * Map of user ID to the set of granted permissions.
+ */
+ private Map<String, Set<ObjectPermission.Type>> userPermissions =
+ new HashMap<String, Set<ObjectPermission.Type>>();
+
+ /**
+ * Set of all granted system-level permissions.
+ */
+ private Set<SystemPermission.Type> systemPermissions =
+ EnumSet.noneOf(SystemPermission.Type.class);
+
+ /**
+ * Creates a new permission set which contains no granted permissions. Any
+ * permissions must be added by manipulating or replacing the applicable
+ * permission collection.
+ */
+ public APIPermissionSet() {
+ }
+
+ /**
+ * Adds the system permissions from the given SystemPermissionSet to the
+ * Set of system permissions provided.
+ *
+ * @param permissions
+ * The Set to add system permissions to.
+ *
+ * @param permSet
+ * The SystemPermissionSet containing the system permissions to add.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while retrieving system permissions from the
+ * SystemPermissionSet.
+ */
+ private void addSystemPermissions(Set<SystemPermission.Type> permissions,
+ SystemPermissionSet permSet) throws GuacamoleException {
+
+ // Add all provided system permissions
+ for (SystemPermission permission : permSet.getPermissions())
+ permissions.add(permission.getType());
+
+ }
+
+ /**
+ * Adds the object permissions from the given ObjectPermissionSet to the
+ * Map of object permissions provided.
+ *
+ * @param permissions
+ * The Map to add object permissions to.
+ *
+ * @param permSet
+ * The ObjectPermissionSet containing the object permissions to add.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while retrieving object permissions from the
+ * ObjectPermissionSet.
+ */
+ private void addObjectPermissions(Map<String, Set<ObjectPermission.Type>> permissions,
+ ObjectPermissionSet permSet) throws GuacamoleException {
+
+ // Add all provided object permissions
+ for (ObjectPermission permission : permSet.getPermissions()) {
+
+ // Get associated set of permissions
+ String identifier = permission.getObjectIdentifier();
+ Set<ObjectPermission.Type> objectPermissions = permissions.get(identifier);
+
+ // Create new set if none yet exists
+ if (objectPermissions == null)
+ permissions.put(identifier, EnumSet.of(permission.getType()));
+
+ // Otherwise add to existing set
+ else
+ objectPermissions.add(permission.getType());
+
+ }
+
+ }
+
+ /**
+ * Creates a new permission set containing all permissions currently
+ * granted to the given user.
+ *
+ * @param user
+ * The user whose permissions should be stored within this permission
+ * set.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while retrieving the user's permissions.
+ */
+ public APIPermissionSet(User user) throws GuacamoleException {
+
+ // Add all permissions from the provided user
+ addSystemPermissions(systemPermissions, user.getSystemPermissions());
+ addObjectPermissions(connectionPermissions, user.getConnectionPermissions());
+ addObjectPermissions(connectionGroupPermissions, user.getConnectionGroupPermissions());
+ addObjectPermissions(activeConnectionPermissions, user.getActiveConnectionPermissions());
+ addObjectPermissions(userPermissions, user.getUserPermissions());
+
+ }
+
+ /**
+ * Returns a map of connection IDs to the set of permissions granted for
+ * that connection. If no permissions are granted to a particular
+ * connection, its ID will not be present as a key in the map. This map is
+ * mutable, and changes to this map will affect the permission set
+ * directly.
+ *
+ * @return
+ * A map of connection IDs to the set of permissions granted for that
+ * connection.
+ */
+ public Map<String, Set<ObjectPermission.Type>> getConnectionPermissions() {
+ return connectionPermissions;
+ }
+
+ /**
+ * Returns a map of connection group IDs to the set of permissions granted
+ * for that connection group. If no permissions are granted to a particular
+ * connection group, its ID will not be present as a key in the map. This
+ * map is mutable, and changes to this map will affect the permission set
+ * directly.
+ *
+ * @return
+ * A map of connection group IDs to the set of permissions granted for
+ * that connection group.
+ */
+ public Map<String, Set<ObjectPermission.Type>> getConnectionGroupPermissions() {
+ return connectionGroupPermissions;
+ }
+
+ /**
+ * Returns a map of active connection IDs to the set of permissions granted
+ * for that active connection. If no permissions are granted to a particular
+ * active connection, its ID will not be present as a key in the map. This
+ * map is mutable, and changes to this map will affect the permission set
+ * directly.
+ *
+ * @return
+ * A map of active connection IDs to the set of permissions granted for
+ * that active connection.
+ */
+ public Map<String, Set<ObjectPermission.Type>> getActiveConnectionPermissions() {
+ return activeConnectionPermissions;
+ }
+
+ /**
+ * Returns a map of user IDs to the set of permissions granted for that
+ * user. If no permissions are granted to a particular user, its ID will
+ * not be present as a key in the map. This map is mutable, and changes to
+ * to this map will affect the permission set directly.
+ *
+ * @return
+ * A map of user IDs to the set of permissions granted for that user.
+ */
+ public Map<String, Set<ObjectPermission.Type>> getUserPermissions() {
+ return userPermissions;
+ }
+
+ /**
+ * Returns the set of granted system-level permissions. If no permissions
+ * are granted at the system level, this will be an empty set. This set is
+ * mutable, and changes to this set will affect the permission set
+ * directly.
+ *
+ * @return
+ * The set of granted system-level permissions.
+ */
+ public Set<SystemPermission.Type> getSystemPermissions() {
+ return systemPermissions;
+ }
+
+ /**
+ * Replaces the current map of connection permissions with the given map,
+ * which must map connection ID to its corresponding set of granted
+ * permissions. If a connection has no permissions, its ID must not be
+ * present as a key in the map.
+ *
+ * @param connectionPermissions
+ * The map which must replace the currently-stored map of permissions.
+ */
+ public void setConnectionPermissions(Map<String, Set<ObjectPermission.Type>> connectionPermissions) {
+ this.connectionPermissions = connectionPermissions;
+ }
+
+ /**
+ * Replaces the current map of connection group permissions with the given
+ * map, which must map connection group ID to its corresponding set of
+ * granted permissions. If a connection group has no permissions, its ID
+ * must not be present as a key in the map.
+ *
+ * @param connectionGroupPermissions
+ * The map which must replace the currently-stored map of permissions.
+ */
+ public void setConnectionGroupPermissions(Map<String, Set<ObjectPermission.Type>> connectionGroupPermissions) {
+ this.connectionGroupPermissions = connectionGroupPermissions;
+ }
+
+ /**
+ * Replaces the current map of active connection permissions with the give
+ * map, which must map active connection ID to its corresponding set of
+ * granted permissions. If an active connection has no permissions, its ID
+ * must not be present as a key in the map.
+ *
+ * @param activeConnectionPermissions
+ * The map which must replace the currently-stored map of permissions.
+ */
+ public void setActiveConnectionPermissions(Map<String, Set<ObjectPermission.Type>> activeConnectionPermissions) {
+ this.activeConnectionPermissions = activeConnectionPermissions;
+ }
+
+ /**
+ * Replaces the current map of user permissions with the given map, which
+ * must map user ID to its corresponding set of granted permissions. If a
+ * user has no permissions, its ID must not be present as a key in the map.
+ *
+ * @param userPermissions
+ * The map which must replace the currently-stored map of permissions.
+ */
+ public void setUserPermissions(Map<String, Set<ObjectPermission.Type>> userPermissions) {
+ this.userPermissions = userPermissions;
+ }
+
+ /**
+ * Replaces the current set of system-level permissions with the given set.
+ * If no system-level permissions are granted, the empty set must be
+ * specified.
+ *
+ * @param systemPermissions
+ * The set which must replace the currently-stored set of permissions.
+ */
+ public void setSystemPermissions(Set<SystemPermission.Type> systemPermissions) {
+ this.systemPermissions = systemPermissions;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/permission/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/permission/package-info.java b/guacamole/src/main/java/org/apache/guacamole/rest/permission/package-info.java
new file mode 100644
index 0000000..e23eadf
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/permission/package-info.java
@@ -0,0 +1,27 @@
+/*
+ * 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.
+ */
+
+/**
+ * Classes related to the permission manipulation aspect of the Guacamole REST API.
+ */
+package org.apache.guacamole.rest.permission;
+
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/schema/SchemaRESTService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/schema/SchemaRESTService.java b/guacamole/src/main/java/org/apache/guacamole/rest/schema/SchemaRESTService.java
new file mode 100644
index 0000000..3d52e8e
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/schema/SchemaRESTService.java
@@ -0,0 +1,199 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.rest.schema;
+
+import com.google.inject.Inject;
+import java.util.Collection;
+import java.util.Map;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.MediaType;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.environment.Environment;
+import org.apache.guacamole.environment.LocalEnvironment;
+import org.apache.guacamole.form.Form;
+import org.apache.guacamole.net.auth.UserContext;
+import org.apache.guacamole.GuacamoleSession;
+import org.apache.guacamole.rest.ObjectRetrievalService;
+import org.apache.guacamole.rest.auth.AuthenticationService;
+import org.apache.guacamole.protocols.ProtocolInfo;
+
+/**
+ * A REST service which provides access to descriptions of the properties,
+ * attributes, etc. of objects used within the Guacamole REST API.
+ *
+ * @author Michael Jumper
+ */
+@Path("/schema/{dataSource}")
+@Produces(MediaType.APPLICATION_JSON)
+@Consumes(MediaType.APPLICATION_JSON)
+public class SchemaRESTService {
+
+ /**
+ * A service for authenticating users from auth tokens.
+ */
+ @Inject
+ private AuthenticationService authenticationService;
+
+ /**
+ * Service for convenient retrieval of objects.
+ */
+ @Inject
+ private ObjectRetrievalService retrievalService;
+
+ /**
+ * Retrieves the possible attributes of a user object.
+ *
+ * @param authToken
+ * The authentication token that is used to authenticate the user
+ * performing the operation.
+ *
+ * @param authProviderIdentifier
+ * The unique identifier of the AuthenticationProvider associated with
+ * the UserContext dictating the available user attributes.
+ *
+ * @return
+ * A collection of forms which describe the possible attributes of a
+ * user object.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while retrieving the possible attributes.
+ */
+ @GET
+ @Path("/users/attributes")
+ public Collection<Form> getUserAttributes(@QueryParam("token") String authToken,
+ @PathParam("dataSource") String authProviderIdentifier)
+ throws GuacamoleException {
+
+ // Retrieve all possible user attributes
+ GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
+ UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
+ return userContext.getUserAttributes();
+
+ }
+
+ /**
+ * Retrieves the possible attributes of a connection object.
+ *
+ * @param authToken
+ * The authentication token that is used to authenticate the user
+ * performing the operation.
+ *
+ * @param authProviderIdentifier
+ * The unique identifier of the AuthenticationProvider associated with
+ * the UserContext dictating the available connection attributes.
+ *
+ * @return
+ * A collection of forms which describe the possible attributes of a
+ * connection object.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while retrieving the possible attributes.
+ */
+ @GET
+ @Path("/connections/attributes")
+ public Collection<Form> getConnectionAttributes(@QueryParam("token") String authToken,
+ @PathParam("dataSource") String authProviderIdentifier)
+ throws GuacamoleException {
+
+ // Retrieve all possible connection attributes
+ GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
+ UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
+ return userContext.getConnectionAttributes();
+
+ }
+
+ /**
+ * Retrieves the possible attributes of a connection group object.
+ *
+ * @param authToken
+ * The authentication token that is used to authenticate the user
+ * performing the operation.
+ *
+ * @param authProviderIdentifier
+ * The unique identifier of the AuthenticationProvider associated with
+ * the UserContext dictating the available connection group
+ * attributes.
+ *
+ * @return
+ * A collection of forms which describe the possible attributes of a
+ * connection group object.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while retrieving the possible attributes.
+ */
+ @GET
+ @Path("/connectionGroups/attributes")
+ public Collection<Form> getConnectionGroupAttributes(@QueryParam("token") String authToken,
+ @PathParam("dataSource") String authProviderIdentifier)
+ throws GuacamoleException {
+
+ // Retrieve all possible connection group attributes
+ GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
+ UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
+ return userContext.getConnectionGroupAttributes();
+
+ }
+
+ /**
+ * Gets a map of protocols defined in the system - protocol name to protocol.
+ *
+ * @param authToken
+ * The authentication token that is used to authenticate the user
+ * performing the operation.
+ *
+ * @param authProviderIdentifier
+ * The unique identifier of the AuthenticationProvider associated with
+ * the UserContext dictating the protocols available. Currently, the
+ * UserContext actually does not dictate this, the the same set of
+ * protocols will be retrieved for all users, though the identifier
+ * given here will be validated.
+ *
+ * @return
+ * A map of protocol information, where each key is the unique name
+ * associated with that protocol.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while retrieving the available protocols.
+ */
+ @GET
+ @Path("/protocols")
+ public Map<String, ProtocolInfo> getProtocols(@QueryParam("token") String authToken,
+ @PathParam("dataSource") String authProviderIdentifier)
+ throws GuacamoleException {
+
+ // Verify the given auth token and auth provider identifier are valid
+ GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
+ retrievalService.retrieveUserContext(session, authProviderIdentifier);
+
+ // Get and return a map of all protocols.
+ Environment env = new LocalEnvironment();
+ return env.getProtocols();
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/schema/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/schema/package-info.java b/guacamole/src/main/java/org/apache/guacamole/rest/schema/package-info.java
new file mode 100644
index 0000000..68dfa47
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/schema/package-info.java
@@ -0,0 +1,27 @@
+/*
+ * 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.
+ */
+
+/**
+ * Classes related to the self-description of the Guacamole REST API, such as
+ * the attributes or parameters applicable to specific objects.
+ */
+package org.apache.guacamole.rest.schema;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/user/APIUser.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/user/APIUser.java b/guacamole/src/main/java/org/apache/guacamole/rest/user/APIUser.java
new file mode 100644
index 0000000..286c4de
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/user/APIUser.java
@@ -0,0 +1,130 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.rest.user;
+
+import java.util.Map;
+import org.codehaus.jackson.annotate.JsonIgnoreProperties;
+import org.codehaus.jackson.map.annotate.JsonSerialize;
+import org.apache.guacamole.net.auth.User;
+
+/**
+ * A simple User to expose through the REST endpoints.
+ *
+ * @author James Muehlner
+ */
+@JsonIgnoreProperties(ignoreUnknown = true)
+@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
+public class APIUser {
+
+ /**
+ * The username of this user.
+ */
+ private String username;
+
+ /**
+ * The password of this user.
+ */
+ private String password;
+
+ /**
+ * Map of all associated attributes by attribute identifier.
+ */
+ private Map<String, String> attributes;
+
+ /**
+ * Construct a new empty APIUser.
+ */
+ public APIUser() {}
+
+ /**
+ * Construct a new APIUser from the provided User.
+ * @param user The User to construct the APIUser from.
+ */
+ public APIUser(User user) {
+
+ // Set user information
+ this.username = user.getIdentifier();
+ this.password = user.getPassword();
+
+ // Associate any attributes
+ this.attributes = user.getAttributes();
+
+ }
+
+ /**
+ * Returns the username for this user.
+ * @return The username for this user.
+ */
+ public String getUsername() {
+ return username;
+ }
+
+ /**
+ * Set the username for this user.
+ * @param username The username for this user.
+ */
+ public void setUsername(String username) {
+ this.username = username;
+ }
+
+ /**
+ * Returns the password for this user.
+ * @return The password for this user.
+ */
+ public String getPassword() {
+ return password;
+ }
+
+ /**
+ * Set the password for this user.
+ * @param password The password for this user.
+ */
+ public void setPassword(String password) {
+ this.password = password;
+ }
+
+ /**
+ * Returns a map of all attributes associated with this user. Each entry
+ * key is the attribute identifier, while each value is the attribute
+ * value itself.
+ *
+ * @return
+ * The attribute map for this user.
+ */
+ public Map<String, String> getAttributes() {
+ return attributes;
+ }
+
+ /**
+ * Sets the map of all attributes associated with this user. Each entry key
+ * is the attribute identifier, while each value is the attribute value
+ * itself.
+ *
+ * @param attributes
+ * The attribute map for this user.
+ */
+ public void setAttributes(Map<String, String> attributes) {
+ this.attributes = attributes;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/user/APIUserPasswordUpdate.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/user/APIUserPasswordUpdate.java b/guacamole/src/main/java/org/apache/guacamole/rest/user/APIUserPasswordUpdate.java
new file mode 100644
index 0000000..a4b47e8
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/user/APIUserPasswordUpdate.java
@@ -0,0 +1,82 @@
+/*
+ * 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.
+ */
+package org.apache.guacamole.rest.user;
+
+/**
+ * All the information necessary for the password update operation on a user.
+ *
+ * @author James Muehlner
+ */
+public class APIUserPasswordUpdate {
+
+ /**
+ * The old (current) password of this user.
+ */
+ private String oldPassword;
+
+ /**
+ * The new password of this user.
+ */
+ private String newPassword;
+
+ /**
+ * Returns the old password for this user. This password must match the
+ * user's current password for the password update operation to succeed.
+ *
+ * @return
+ * The old password for this user.
+ */
+ public String getOldPassword() {
+ return oldPassword;
+ }
+
+ /**
+ * Set the old password for this user. This password must match the
+ * user's current password for the password update operation to succeed.
+ *
+ * @param oldPassword
+ * The old password for this user.
+ */
+ public void setOldPassword(String oldPassword) {
+ this.oldPassword = oldPassword;
+ }
+
+ /**
+ * Returns the new password that will be assigned to this user.
+ *
+ * @return
+ * The new password for this user.
+ */
+ public String getNewPassword() {
+ return newPassword;
+ }
+
+ /**
+ * Set the new password that will be assigned to this user.
+ *
+ * @param newPassword
+ * The new password for this user.
+ */
+ public void setNewPassword(String newPassword) {
+ this.newPassword = newPassword;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/user/APIUserWrapper.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/user/APIUserWrapper.java b/guacamole/src/main/java/org/apache/guacamole/rest/user/APIUserWrapper.java
new file mode 100644
index 0000000..d25b915
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/user/APIUserWrapper.java
@@ -0,0 +1,115 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.rest.user;
+
+import java.util.Map;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.GuacamoleUnsupportedException;
+import org.apache.guacamole.net.auth.User;
+import org.apache.guacamole.net.auth.permission.ObjectPermissionSet;
+import org.apache.guacamole.net.auth.permission.SystemPermissionSet;
+
+/**
+ * A wrapper to make an APIUser look like a User. Useful where an
+ * org.apache.guacamole.net.auth.User is required. As a simple wrapper for
+ * APIUser, access to permissions is not provided. Any attempt to access or
+ * manipulate permissions on an APIUserWrapper will result in an exception.
+ *
+ * @author James Muehlner
+ */
+public class APIUserWrapper implements User {
+
+ /**
+ * The wrapped APIUser.
+ */
+ private final APIUser apiUser;
+
+ /**
+ * Wrap a given APIUser to expose as a User.
+ * @param apiUser The APIUser to wrap.
+ */
+ public APIUserWrapper(APIUser apiUser) {
+ this.apiUser = apiUser;
+ }
+
+ @Override
+ public String getIdentifier() {
+ return apiUser.getUsername();
+ }
+
+ @Override
+ public void setIdentifier(String username) {
+ apiUser.setUsername(username);
+ }
+
+ @Override
+ public String getPassword() {
+ return apiUser.getPassword();
+ }
+
+ @Override
+ public void setPassword(String password) {
+ apiUser.setPassword(password);
+ }
+
+ @Override
+ public Map<String, String> getAttributes() {
+ return apiUser.getAttributes();
+ }
+
+ @Override
+ public void setAttributes(Map<String, String> attributes) {
+ apiUser.setAttributes(attributes);
+ }
+
+ @Override
+ public SystemPermissionSet getSystemPermissions()
+ throws GuacamoleException {
+ throw new GuacamoleUnsupportedException("APIUserWrapper does not provide permission access.");
+ }
+
+ @Override
+ public ObjectPermissionSet getConnectionPermissions()
+ throws GuacamoleException {
+ throw new GuacamoleUnsupportedException("APIUserWrapper does not provide permission access.");
+ }
+
+ @Override
+ public ObjectPermissionSet getConnectionGroupPermissions()
+ throws GuacamoleException {
+ throw new GuacamoleUnsupportedException("APIUserWrapper does not provide permission access.");
+ }
+
+ @Override
+ public ObjectPermissionSet getUserPermissions()
+ throws GuacamoleException {
+ throw new GuacamoleUnsupportedException("APIUserWrapper does not provide permission access.");
+ }
+
+ @Override
+ public ObjectPermissionSet getActiveConnectionPermissions()
+ throws GuacamoleException {
+ throw new GuacamoleUnsupportedException("APIUserWrapper does not provide permission access.");
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/user/PermissionSetPatch.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/user/PermissionSetPatch.java b/guacamole/src/main/java/org/apache/guacamole/rest/user/PermissionSetPatch.java
new file mode 100644
index 0000000..02172ea
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/user/PermissionSetPatch.java
@@ -0,0 +1,98 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.rest.user;
+
+import java.util.HashSet;
+import java.util.Set;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.net.auth.permission.Permission;
+import org.apache.guacamole.net.auth.permission.PermissionSet;
+
+/**
+ * A set of changes to be applied to a PermissionSet, describing the set of
+ * permissions being added and removed.
+ *
+ * @author Michael Jumper
+ * @param <PermissionType>
+ * The type of permissions being added and removed.
+ */
+public class PermissionSetPatch<PermissionType extends Permission> {
+
+ /**
+ * The set of all permissions being added.
+ */
+ private final Set<PermissionType> addedPermissions =
+ new HashSet<PermissionType>();
+
+ /**
+ * The set of all permissions being removed.
+ */
+ private final Set<PermissionType> removedPermissions =
+ new HashSet<PermissionType>();
+
+ /**
+ * Queues the given permission to be added. The add operation will be
+ * performed only when apply() is called.
+ *
+ * @param permission
+ * The permission to add.
+ */
+ public void addPermission(PermissionType permission) {
+ addedPermissions.add(permission);
+ }
+
+ /**
+ * Queues the given permission to be removed. The remove operation will be
+ * performed only when apply() is called.
+ *
+ * @param permission
+ * The permission to remove.
+ */
+ public void removePermission(PermissionType permission) {
+ removedPermissions.add(permission);
+ }
+
+ /**
+ * Applies all queued changes to the given permission set.
+ *
+ * @param permissionSet
+ * The permission set to add and remove permissions from.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while manipulating the permissions of the given
+ * permission set.
+ */
+ public void apply(PermissionSet<PermissionType> permissionSet)
+ throws GuacamoleException {
+
+ // Add any added permissions
+ if (!addedPermissions.isEmpty())
+ permissionSet.addPermissions(addedPermissions);
+
+ // Remove any removed permissions
+ if (!removedPermissions.isEmpty())
+ permissionSet.removePermissions(removedPermissions);
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/user/UserRESTService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/user/UserRESTService.java b/guacamole/src/main/java/org/apache/guacamole/rest/user/UserRESTService.java
new file mode 100644
index 0000000..529bb82
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/user/UserRESTService.java
@@ -0,0 +1,647 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.rest.user;
+
+import com.google.inject.Inject;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.UUID;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DELETE;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.PUT;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import org.apache.guacamole.GuacamoleClientException;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.GuacamoleResourceNotFoundException;
+import org.apache.guacamole.GuacamoleSecurityException;
+import org.apache.guacamole.net.auth.AuthenticationProvider;
+import org.apache.guacamole.net.auth.Credentials;
+import org.apache.guacamole.net.auth.Directory;
+import org.apache.guacamole.net.auth.User;
+import org.apache.guacamole.net.auth.UserContext;
+import org.apache.guacamole.net.auth.credentials.GuacamoleCredentialsException;
+import org.apache.guacamole.net.auth.permission.ObjectPermission;
+import org.apache.guacamole.net.auth.permission.ObjectPermissionSet;
+import org.apache.guacamole.net.auth.permission.Permission;
+import org.apache.guacamole.net.auth.permission.SystemPermission;
+import org.apache.guacamole.net.auth.permission.SystemPermissionSet;
+import org.apache.guacamole.GuacamoleSession;
+import org.apache.guacamole.rest.APIPatch;
+import static org.apache.guacamole.rest.APIPatch.Operation.add;
+import static org.apache.guacamole.rest.APIPatch.Operation.remove;
+import org.apache.guacamole.rest.ObjectRetrievalService;
+import org.apache.guacamole.rest.PATCH;
+import org.apache.guacamole.rest.auth.AuthenticationService;
+import org.apache.guacamole.rest.permission.APIPermissionSet;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * A REST Service for handling user CRUD operations.
+ *
+ * @author James Muehlner
+ * @author Michael Jumper
+ */
+@Path("/data/{dataSource}/users")
+@Produces(MediaType.APPLICATION_JSON)
+@Consumes(MediaType.APPLICATION_JSON)
+public class UserRESTService {
+
+ /**
+ * Logger for this class.
+ */
+ private static final Logger logger = LoggerFactory.getLogger(UserRESTService.class);
+
+ /**
+ * The prefix of any path within an operation of a JSON patch which
+ * modifies the permissions of a user regarding a specific connection.
+ */
+ private static final String CONNECTION_PERMISSION_PATCH_PATH_PREFIX = "/connectionPermissions/";
+
+ /**
+ * The prefix of any path within an operation of a JSON patch which
+ * modifies the permissions of a user regarding a specific connection group.
+ */
+ private static final String CONNECTION_GROUP_PERMISSION_PATCH_PATH_PREFIX = "/connectionGroupPermissions/";
+
+ /**
+ * The prefix of any path within an operation of a JSON patch which
+ * modifies the permissions of a user regarding a specific active connection.
+ */
+ private static final String ACTIVE_CONNECTION_PERMISSION_PATCH_PATH_PREFIX = "/activeConnectionPermissions/";
+
+ /**
+ * The prefix of any path within an operation of a JSON patch which
+ * modifies the permissions of a user regarding another, specific user.
+ */
+ private static final String USER_PERMISSION_PATCH_PATH_PREFIX = "/userPermissions/";
+
+ /**
+ * The path of any operation within a JSON patch which modifies the
+ * permissions of a user regarding the entire system.
+ */
+ private static final String SYSTEM_PERMISSION_PATCH_PATH = "/systemPermissions";
+
+ /**
+ * A service for authenticating users from auth tokens.
+ */
+ @Inject
+ private AuthenticationService authenticationService;
+
+ /**
+ * Service for convenient retrieval of objects.
+ */
+ @Inject
+ private ObjectRetrievalService retrievalService;
+
+ /**
+ * Gets a list of users in the given data source (UserContext), filtering
+ * the returned list by the given permission, if specified.
+ *
+ * @param authToken
+ * The authentication token that is used to authenticate the user
+ * performing the operation.
+ *
+ * @param authProviderIdentifier
+ * The unique identifier of the AuthenticationProvider associated with
+ * the UserContext from which the users are to be retrieved.
+ *
+ * @param permissions
+ * The set of permissions to filter with. A user must have one or more
+ * of these permissions for a user to appear in the result.
+ * If null, no filtering will be performed.
+ *
+ * @return
+ * A list of all visible users. If a permission was specified, this
+ * list will contain only those users for whom the current user has
+ * that permission.
+ *
+ * @throws GuacamoleException
+ * If an error is encountered while retrieving users.
+ */
+ @GET
+ public List<APIUser> getUsers(@QueryParam("token") String authToken,
+ @PathParam("dataSource") String authProviderIdentifier,
+ @QueryParam("permission") List<ObjectPermission.Type> permissions)
+ throws GuacamoleException {
+
+ GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
+ UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
+
+ // An admin user has access to any user
+ User self = userContext.self();
+ SystemPermissionSet systemPermissions = self.getSystemPermissions();
+ boolean isAdmin = systemPermissions.hasPermission(SystemPermission.Type.ADMINISTER);
+
+ // Get the directory
+ Directory<User> userDirectory = userContext.getUserDirectory();
+
+ // Filter users, if requested
+ Collection<String> userIdentifiers = userDirectory.getIdentifiers();
+ if (!isAdmin && permissions != null && !permissions.isEmpty()) {
+ ObjectPermissionSet userPermissions = self.getUserPermissions();
+ userIdentifiers = userPermissions.getAccessibleObjects(permissions, userIdentifiers);
+ }
+
+ // Retrieve all users, converting to API users
+ List<APIUser> apiUsers = new ArrayList<APIUser>();
+ for (User user : userDirectory.getAll(userIdentifiers))
+ apiUsers.add(new APIUser(user));
+
+ return apiUsers;
+
+ }
+
+ /**
+ * Retrieves an individual user.
+ *
+ * @param authToken
+ * The authentication token that is used to authenticate the user
+ * performing the operation.
+ *
+ * @param authProviderIdentifier
+ * The unique identifier of the AuthenticationProvider associated with
+ * the UserContext from which the requested user is to be retrieved.
+ *
+ * @param username
+ * The username of the user to retrieve.
+ *
+ * @return user
+ * The user having the given username.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while retrieving the user.
+ */
+ @GET
+ @Path("/{username}")
+ public APIUser getUser(@QueryParam("token") String authToken,
+ @PathParam("dataSource") String authProviderIdentifier,
+ @PathParam("username") String username)
+ throws GuacamoleException {
+
+ GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
+
+ // Retrieve the requested user
+ User user = retrievalService.retrieveUser(session, authProviderIdentifier, username);
+ return new APIUser(user);
+
+ }
+
+ /**
+ * Creates a new user and returns the user that was created.
+ *
+ * @param authToken
+ * The authentication token that is used to authenticate the user
+ * performing the operation.
+ *
+ * @param authProviderIdentifier
+ * The unique identifier of the AuthenticationProvider associated with
+ * the UserContext in which the requested user is to be created.
+ *
+ * @param user
+ * The new user to create.
+ *
+ * @throws GuacamoleException
+ * If a problem is encountered while creating the user.
+ *
+ * @return
+ * The newly created user.
+ */
+ @POST
+ public APIUser createUser(@QueryParam("token") String authToken,
+ @PathParam("dataSource") String authProviderIdentifier, APIUser user)
+ throws GuacamoleException {
+
+ GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
+ UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
+
+ // Get the directory
+ Directory<User> userDirectory = userContext.getUserDirectory();
+
+ // Randomly set the password if it wasn't provided
+ if (user.getPassword() == null)
+ user.setPassword(UUID.randomUUID().toString());
+
+ // Create the user
+ userDirectory.add(new APIUserWrapper(user));
+
+ return user;
+
+ }
+
+ /**
+ * Updates an individual existing user.
+ *
+ * @param authToken
+ * The authentication token that is used to authenticate the user
+ * performing the operation.
+ *
+ * @param authProviderIdentifier
+ * The unique identifier of the AuthenticationProvider associated with
+ * the UserContext in which the requested user is to be updated.
+ *
+ * @param username
+ * The username of the user to update.
+ *
+ * @param user
+ * The data to update the user with.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while updating the user.
+ */
+ @PUT
+ @Path("/{username}")
+ public void updateUser(@QueryParam("token") String authToken,
+ @PathParam("dataSource") String authProviderIdentifier,
+ @PathParam("username") String username, APIUser user)
+ throws GuacamoleException {
+
+ GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
+ UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
+
+ // Get the directory
+ Directory<User> userDirectory = userContext.getUserDirectory();
+
+ // Validate data and path are sane
+ if (!user.getUsername().equals(username))
+ throw new GuacamoleClientException("Username in path does not match username provided JSON data.");
+
+ // A user may not use this endpoint to modify himself
+ if (userContext.self().getIdentifier().equals(user.getUsername()))
+ throw new GuacamoleSecurityException("Permission denied.");
+
+ // Get the user
+ User existingUser = retrievalService.retrieveUser(userContext, username);
+
+ // Do not update the user password if no password was provided
+ if (user.getPassword() != null)
+ existingUser.setPassword(user.getPassword());
+
+ // Update user attributes
+ existingUser.setAttributes(user.getAttributes());
+
+ // Update the user
+ userDirectory.update(existingUser);
+
+ }
+
+ /**
+ * Updates the password for an individual existing user.
+ *
+ * @param authToken
+ * The authentication token that is used to authenticate the user
+ * performing the operation.
+ *
+ * @param authProviderIdentifier
+ * The unique identifier of the AuthenticationProvider associated with
+ * the UserContext in which the requested user is to be updated.
+ *
+ * @param username
+ * The username of the user to update.
+ *
+ * @param userPasswordUpdate
+ * The object containing the old password for the user, as well as the
+ * new password to set for that user.
+ *
+ * @param request
+ * The HttpServletRequest associated with the password update attempt.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while updating the user's password.
+ */
+ @PUT
+ @Path("/{username}/password")
+ public void updatePassword(@QueryParam("token") String authToken,
+ @PathParam("dataSource") String authProviderIdentifier,
+ @PathParam("username") String username,
+ APIUserPasswordUpdate userPasswordUpdate,
+ @Context HttpServletRequest request) throws GuacamoleException {
+
+ GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
+ UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
+
+ // Build credentials
+ Credentials credentials = new Credentials();
+ credentials.setUsername(username);
+ credentials.setPassword(userPasswordUpdate.getOldPassword());
+ credentials.setRequest(request);
+ credentials.setSession(request.getSession(true));
+
+ // Verify that the old password was correct
+ try {
+ AuthenticationProvider authProvider = userContext.getAuthenticationProvider();
+ if (authProvider.authenticateUser(credentials) == null)
+ throw new GuacamoleSecurityException("Permission denied.");
+ }
+
+ // Pass through any credentials exceptions as simple permission denied
+ catch (GuacamoleCredentialsException e) {
+ throw new GuacamoleSecurityException("Permission denied.");
+ }
+
+ // Get the user directory
+ Directory<User> userDirectory = userContext.getUserDirectory();
+
+ // Get the user that we want to updates
+ User user = retrievalService.retrieveUser(userContext, username);
+
+ // Set password to the newly provided one
+ user.setPassword(userPasswordUpdate.getNewPassword());
+
+ // Update the user
+ userDirectory.update(user);
+
+ }
+
+ /**
+ * Deletes an individual existing user.
+ *
+ * @param authToken
+ * The authentication token that is used to authenticate the user
+ * performing the operation.
+ *
+ * @param authProviderIdentifier
+ * The unique identifier of the AuthenticationProvider associated with
+ * the UserContext from which the requested user is to be deleted.
+ *
+ * @param username
+ * The username of the user to delete.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while deleting the user.
+ */
+ @DELETE
+ @Path("/{username}")
+ public void deleteUser(@QueryParam("token") String authToken,
+ @PathParam("dataSource") String authProviderIdentifier,
+ @PathParam("username") String username)
+ throws GuacamoleException {
+
+ GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
+ UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
+
+ // Get the directory
+ Directory<User> userDirectory = userContext.getUserDirectory();
+
+ // Get the user
+ User existingUser = userDirectory.get(username);
+ if (existingUser == null)
+ throw new GuacamoleResourceNotFoundException("No such user: \"" + username + "\"");
+
+ // Delete the user
+ userDirectory.remove(username);
+
+ }
+
+ /**
+ * Gets a list of permissions for the user with the given username.
+ *
+ * @param authToken
+ * The authentication token that is used to authenticate the user
+ * performing the operation.
+ *
+ * @param authProviderIdentifier
+ * The unique identifier of the AuthenticationProvider associated with
+ * the UserContext in which the requested user is to be found.
+ *
+ * @param username
+ * The username of the user to retrieve permissions for.
+ *
+ * @return
+ * A list of all permissions granted to the specified user.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while retrieving permissions.
+ */
+ @GET
+ @Path("/{username}/permissions")
+ public APIPermissionSet getPermissions(@QueryParam("token") String authToken,
+ @PathParam("dataSource") String authProviderIdentifier,
+ @PathParam("username") String username)
+ throws GuacamoleException {
+
+ GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
+ UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
+
+ User user;
+
+ // If username is own username, just use self - might not have query permissions
+ if (userContext.self().getIdentifier().equals(username))
+ user = userContext.self();
+
+ // If not self, query corresponding user from directory
+ else {
+ user = userContext.getUserDirectory().get(username);
+ if (user == null)
+ throw new GuacamoleResourceNotFoundException("No such user: \"" + username + "\"");
+ }
+
+ return new APIPermissionSet(user);
+
+ }
+
+ /**
+ * Updates the given permission set patch by queuing an add or remove
+ * operation for the given permission based on the given patch operation.
+ *
+ * @param <PermissionType>
+ * The type of permission stored within the permission set.
+ *
+ * @param operation
+ * The patch operation to perform.
+ *
+ * @param permissionSetPatch
+ * The permission set patch being modified.
+ *
+ * @param permission
+ * The permission being added or removed from the set.
+ *
+ * @throws GuacamoleException
+ * If the requested patch operation is not supported.
+ */
+ private <PermissionType extends Permission> void updatePermissionSet(
+ APIPatch.Operation operation,
+ PermissionSetPatch<PermissionType> permissionSetPatch,
+ PermissionType permission) throws GuacamoleException {
+
+ // Add or remove permission based on operation
+ switch (operation) {
+
+ // Add permission
+ case add:
+ permissionSetPatch.addPermission(permission);
+ break;
+
+ // Remove permission
+ case remove:
+ permissionSetPatch.removePermission(permission);
+ break;
+
+ // Unsupported patch operation
+ default:
+ throw new GuacamoleClientException("Unsupported patch operation: \"" + operation + "\"");
+
+ }
+
+ }
+
+ /**
+ * Applies a given list of permission patches. Each patch specifies either
+ * an "add" or a "remove" operation for a permission type, represented by
+ * a string. Valid permission types depend on the path of each patch
+ * operation, as the path dictates the permission being modified, such as
+ * "/connectionPermissions/42" or "/systemPermissions".
+ *
+ * @param authToken
+ * The authentication token that is used to authenticate the user
+ * performing the operation.
+ *
+ * @param authProviderIdentifier
+ * The unique identifier of the AuthenticationProvider associated with
+ * the UserContext in which the requested user is to be found.
+ *
+ * @param username
+ * The username of the user to modify the permissions of.
+ *
+ * @param patches
+ * The permission patches to apply for this request.
+ *
+ * @throws GuacamoleException
+ * If a problem is encountered while modifying permissions.
+ */
+ @PATCH
+ @Path("/{username}/permissions")
+ public void patchPermissions(@QueryParam("token") String authToken,
+ @PathParam("dataSource") String authProviderIdentifier,
+ @PathParam("username") String username,
+ List<APIPatch<String>> patches) throws GuacamoleException {
+
+ GuacamoleSession session = authenticationService.getGuacamoleSession(authToken);
+ UserContext userContext = retrievalService.retrieveUserContext(session, authProviderIdentifier);
+
+ // Get the user
+ User user = userContext.getUserDirectory().get(username);
+ if (user == null)
+ throw new GuacamoleResourceNotFoundException("No such user: \"" + username + "\"");
+
+ // Permission patches for all types of permissions
+ PermissionSetPatch<ObjectPermission> connectionPermissionPatch = new PermissionSetPatch<ObjectPermission>();
+ PermissionSetPatch<ObjectPermission> connectionGroupPermissionPatch = new PermissionSetPatch<ObjectPermission>();
+ PermissionSetPatch<ObjectPermission> activeConnectionPermissionPatch = new PermissionSetPatch<ObjectPermission>();
+ PermissionSetPatch<ObjectPermission> userPermissionPatch = new PermissionSetPatch<ObjectPermission>();
+ PermissionSetPatch<SystemPermission> systemPermissionPatch = new PermissionSetPatch<SystemPermission>();
+
+ // Apply all patch operations individually
+ for (APIPatch<String> patch : patches) {
+
+ String path = patch.getPath();
+
+ // Create connection permission if path has connection prefix
+ if (path.startsWith(CONNECTION_PERMISSION_PATCH_PATH_PREFIX)) {
+
+ // Get identifier and type from patch operation
+ String identifier = path.substring(CONNECTION_PERMISSION_PATCH_PATH_PREFIX.length());
+ ObjectPermission.Type type = ObjectPermission.Type.valueOf(patch.getValue());
+
+ // Create and update corresponding permission
+ ObjectPermission permission = new ObjectPermission(type, identifier);
+ updatePermissionSet(patch.getOp(), connectionPermissionPatch, permission);
+
+ }
+
+ // Create connection group permission if path has connection group prefix
+ else if (path.startsWith(CONNECTION_GROUP_PERMISSION_PATCH_PATH_PREFIX)) {
+
+ // Get identifier and type from patch operation
+ String identifier = path.substring(CONNECTION_GROUP_PERMISSION_PATCH_PATH_PREFIX.length());
+ ObjectPermission.Type type = ObjectPermission.Type.valueOf(patch.getValue());
+
+ // Create and update corresponding permission
+ ObjectPermission permission = new ObjectPermission(type, identifier);
+ updatePermissionSet(patch.getOp(), connectionGroupPermissionPatch, permission);
+
+ }
+
+ // Create active connection permission if path has active connection prefix
+ else if (path.startsWith(ACTIVE_CONNECTION_PERMISSION_PATCH_PATH_PREFIX)) {
+
+ // Get identifier and type from patch operation
+ String identifier = path.substring(ACTIVE_CONNECTION_PERMISSION_PATCH_PATH_PREFIX.length());
+ ObjectPermission.Type type = ObjectPermission.Type.valueOf(patch.getValue());
+
+ // Create and update corresponding permission
+ ObjectPermission permission = new ObjectPermission(type, identifier);
+ updatePermissionSet(patch.getOp(), activeConnectionPermissionPatch, permission);
+
+ }
+
+ // Create user permission if path has user prefix
+ else if (path.startsWith(USER_PERMISSION_PATCH_PATH_PREFIX)) {
+
+ // Get identifier and type from patch operation
+ String identifier = path.substring(USER_PERMISSION_PATCH_PATH_PREFIX.length());
+ ObjectPermission.Type type = ObjectPermission.Type.valueOf(patch.getValue());
+
+ // Create and update corresponding permission
+ ObjectPermission permission = new ObjectPermission(type, identifier);
+ updatePermissionSet(patch.getOp(), userPermissionPatch, permission);
+
+ }
+
+ // Create system permission if path is system path
+ else if (path.equals(SYSTEM_PERMISSION_PATCH_PATH)) {
+
+ // Get identifier and type from patch operation
+ SystemPermission.Type type = SystemPermission.Type.valueOf(patch.getValue());
+
+ // Create and update corresponding permission
+ SystemPermission permission = new SystemPermission(type);
+ updatePermissionSet(patch.getOp(), systemPermissionPatch, permission);
+
+ }
+
+ // Otherwise, the path is not supported
+ else
+ throw new GuacamoleClientException("Unsupported patch path: \"" + path + "\"");
+
+ } // end for each patch operation
+
+ // Save the permission changes
+ connectionPermissionPatch.apply(user.getConnectionPermissions());
+ connectionGroupPermissionPatch.apply(user.getConnectionGroupPermissions());
+ activeConnectionPermissionPatch.apply(user.getActiveConnectionPermissions());
+ userPermissionPatch.apply(user.getUserPermissions());
+ systemPermissionPatch.apply(user.getSystemPermissions());
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/rest/user/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/user/package-info.java b/guacamole/src/main/java/org/apache/guacamole/rest/user/package-info.java
new file mode 100644
index 0000000..ecc7846
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/user/package-info.java
@@ -0,0 +1,27 @@
+/*
+ * 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.
+ */
+
+/**
+ * Classes related to the user manipulation aspect of the Guacamole REST API.
+ */
+package org.apache.guacamole.rest.user;
+
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/websocket/BasicGuacamoleWebSocketTunnelEndpoint.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/BasicGuacamoleWebSocketTunnelEndpoint.java b/guacamole/src/main/java/org/apache/guacamole/websocket/BasicGuacamoleWebSocketTunnelEndpoint.java
new file mode 100644
index 0000000..744608a
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/websocket/BasicGuacamoleWebSocketTunnelEndpoint.java
@@ -0,0 +1,120 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.websocket;
+
+import com.google.inject.Provider;
+import java.util.Map;
+import javax.websocket.EndpointConfig;
+import javax.websocket.HandshakeResponse;
+import javax.websocket.Session;
+import javax.websocket.server.HandshakeRequest;
+import javax.websocket.server.ServerEndpointConfig;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.net.GuacamoleTunnel;
+import org.apache.guacamole.TunnelRequest;
+import org.apache.guacamole.TunnelRequestService;
+import org.apache.guacamole.websocket.GuacamoleWebSocketTunnelEndpoint;
+
+/**
+ * Tunnel implementation which uses WebSocket as a tunnel backend, rather than
+ * HTTP, properly parsing connection IDs included in the connection request.
+ */
+public class BasicGuacamoleWebSocketTunnelEndpoint extends GuacamoleWebSocketTunnelEndpoint {
+
+ /**
+ * Unique string which shall be used to store the TunnelRequest
+ * associated with a WebSocket connection.
+ */
+ private static final String TUNNEL_REQUEST_PROPERTY = "WS_GUAC_TUNNEL_REQUEST";
+
+ /**
+ * Unique string which shall be used to store the TunnelRequestService to
+ * be used for processing TunnelRequests.
+ */
+ private static final String TUNNEL_REQUEST_SERVICE_PROPERTY = "WS_GUAC_TUNNEL_REQUEST_SERVICE";
+
+ /**
+ * Configurator implementation which stores the requested GuacamoleTunnel
+ * within the user properties. The GuacamoleTunnel will be later retrieved
+ * during the connection process.
+ */
+ public static class Configurator extends ServerEndpointConfig.Configurator {
+
+ /**
+ * Provider which provides instances of a service for handling
+ * tunnel requests.
+ */
+ private final Provider<TunnelRequestService> tunnelRequestServiceProvider;
+
+ /**
+ * Creates a new Configurator which uses the given tunnel request
+ * service provider to retrieve the necessary service to handle new
+ * connections requests.
+ *
+ * @param tunnelRequestServiceProvider
+ * The tunnel request service provider to use for all new
+ * connections.
+ */
+ public Configurator(Provider<TunnelRequestService> tunnelRequestServiceProvider) {
+ this.tunnelRequestServiceProvider = tunnelRequestServiceProvider;
+ }
+
+ @Override
+ public void modifyHandshake(ServerEndpointConfig config,
+ HandshakeRequest request, HandshakeResponse response) {
+
+ super.modifyHandshake(config, request, response);
+
+ // Store tunnel request and tunnel request service for retrieval
+ // upon WebSocket open
+ Map<String, Object> userProperties = config.getUserProperties();
+ userProperties.clear();
+ userProperties.put(TUNNEL_REQUEST_PROPERTY, new WebSocketTunnelRequest(request));
+ userProperties.put(TUNNEL_REQUEST_SERVICE_PROPERTY, tunnelRequestServiceProvider.get());
+
+ }
+
+ }
+
+ @Override
+ protected GuacamoleTunnel createTunnel(Session session,
+ EndpointConfig config) throws GuacamoleException {
+
+ Map<String, Object> userProperties = config.getUserProperties();
+
+ // Get original tunnel request
+ TunnelRequest tunnelRequest = (TunnelRequest) userProperties.get(TUNNEL_REQUEST_PROPERTY);
+ if (tunnelRequest == null)
+ return null;
+
+ // Get tunnel request service
+ TunnelRequestService tunnelRequestService = (TunnelRequestService) userProperties.get(TUNNEL_REQUEST_SERVICE_PROPERTY);
+ if (tunnelRequestService == null)
+ return null;
+
+ // Create and return tunnel
+ return tunnelRequestService.createTunnel(tunnelRequest);
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/websocket/WebSocketTunnelModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/WebSocketTunnelModule.java b/guacamole/src/main/java/org/apache/guacamole/websocket/WebSocketTunnelModule.java
new file mode 100644
index 0000000..bfa2659
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/websocket/WebSocketTunnelModule.java
@@ -0,0 +1,104 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.websocket;
+
+import com.google.inject.Provider;
+import com.google.inject.servlet.ServletModule;
+import java.util.Arrays;
+import javax.websocket.DeploymentException;
+import javax.websocket.server.ServerContainer;
+import javax.websocket.server.ServerEndpointConfig;
+import org.apache.guacamole.TunnelLoader;
+import org.apache.guacamole.TunnelRequestService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Loads the JSR-356 WebSocket tunnel implementation.
+ *
+ * @author Michael Jumper
+ */
+public class WebSocketTunnelModule extends ServletModule implements TunnelLoader {
+
+ /**
+ * Logger for this class.
+ */
+ private final Logger logger = LoggerFactory.getLogger(WebSocketTunnelModule.class);
+
+ @Override
+ public boolean isSupported() {
+
+ try {
+
+ // Attempt to find WebSocket servlet
+ Class.forName("javax.websocket.Endpoint");
+
+ // Support found
+ return true;
+
+ }
+
+ // If no such servlet class, this particular WebSocket support
+ // is not present
+ catch (ClassNotFoundException e) {}
+ catch (NoClassDefFoundError e) {}
+
+ // Support not found
+ return false;
+
+ }
+
+ @Override
+ public void configureServlets() {
+
+ logger.info("Loading JSR-356 WebSocket support...");
+
+ // Get container
+ ServerContainer container = (ServerContainer) getServletContext().getAttribute("javax.websocket.server.ServerContainer");
+ if (container == null) {
+ logger.warn("ServerContainer attribute required by JSR-356 is missing. Cannot load JSR-356 WebSocket support.");
+ return;
+ }
+
+ Provider<TunnelRequestService> tunnelRequestServiceProvider = getProvider(TunnelRequestService.class);
+
+ // Build configuration for WebSocket tunnel
+ ServerEndpointConfig config =
+ ServerEndpointConfig.Builder.create(BasicGuacamoleWebSocketTunnelEndpoint.class, "/websocket-tunnel")
+ .configurator(new BasicGuacamoleWebSocketTunnelEndpoint.Configurator(tunnelRequestServiceProvider))
+ .subprotocols(Arrays.asList(new String[]{"guacamole"}))
+ .build();
+
+ try {
+
+ // Add configuration to container
+ container.addEndpoint(config);
+
+ }
+ catch (DeploymentException e) {
+ logger.error("Unable to deploy WebSocket tunnel.", e);
+ }
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/websocket/WebSocketTunnelRequest.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/WebSocketTunnelRequest.java b/guacamole/src/main/java/org/apache/guacamole/websocket/WebSocketTunnelRequest.java
new file mode 100644
index 0000000..5e20dbd
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/websocket/WebSocketTunnelRequest.java
@@ -0,0 +1,70 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.websocket;
+
+import java.util.List;
+import java.util.Map;
+import javax.websocket.server.HandshakeRequest;
+import org.apache.guacamole.TunnelRequest;
+
+/**
+ * WebSocket-specific implementation of TunnelRequest.
+ *
+ * @author Michael Jumper
+ */
+public class WebSocketTunnelRequest extends TunnelRequest {
+
+ /**
+ * All parameters passed via HTTP to the WebSocket handshake.
+ */
+ private final Map<String, List<String>> handshakeParameters;
+
+ /**
+ * Creates a TunnelRequest implementation which delegates parameter and
+ * session retrieval to the given HandshakeRequest.
+ *
+ * @param request The HandshakeRequest to wrap.
+ */
+ public WebSocketTunnelRequest(HandshakeRequest request) {
+ this.handshakeParameters = request.getParameterMap();
+ }
+
+ @Override
+ public String getParameter(String name) {
+
+ // Pull list of values, if present
+ List<String> values = getParameterValues(name);
+ if (values == null || values.isEmpty())
+ return null;
+
+ // Return first parameter value arbitrarily
+ return values.get(0);
+
+ }
+
+ @Override
+ public List<String> getParameterValues(String name) {
+ return handshakeParameters.get(name);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/BasicGuacamoleWebSocketTunnelServlet.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/BasicGuacamoleWebSocketTunnelServlet.java b/guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/BasicGuacamoleWebSocketTunnelServlet.java
new file mode 100644
index 0000000..f993270
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/websocket/jetty8/BasicGuacamoleWebSocketTunnelServlet.java
@@ -0,0 +1,52 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.websocket.jetty8;
+
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.net.GuacamoleTunnel;
+import org.apache.guacamole.TunnelRequestService;
+import org.apache.guacamole.TunnelRequest;
+
+/**
+ * Tunnel servlet implementation which uses WebSocket as a tunnel backend,
+ * rather than HTTP, properly parsing connection IDs included in the connection
+ * request.
+ */
+@Singleton
+public class BasicGuacamoleWebSocketTunnelServlet extends GuacamoleWebSocketTunnelServlet {
+
+ /**
+ * Service for handling tunnel requests.
+ */
+ @Inject
+ private TunnelRequestService tunnelRequestService;
+
+ @Override
+ protected GuacamoleTunnel doConnect(TunnelRequest request)
+ throws GuacamoleException {
+ return tunnelRequestService.createTunnel(request);
+ }
+
+}
[49/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Add required LICENSE and NOTICE. Remove old MIT license.
Posted by jm...@apache.org.
GUACAMOLE-1: Add required LICENSE and NOTICE. Remove old MIT license.
Project: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/commit/c569d2fb
Tree: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/tree/c569d2fb
Diff: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/diff/c569d2fb
Branch: refs/heads/master
Commit: c569d2fb62181e8503ffe771d32704a6a0a6c9ba
Parents: 07972de
Author: Michael Jumper <mj...@apache.org>
Authored: Fri Mar 25 11:22:49 2016 -0700
Committer: Michael Jumper <mj...@apache.org>
Committed: Mon Mar 28 20:50:36 2016 -0700
----------------------------------------------------------------------
LICENSE | 221 +++++++++++++++++++++++---
NOTICE | 5 +
doc/guacamole-example/LICENSE | 221 +++++++++++++++++++++++---
doc/guacamole-example/NOTICE | 5 +
extensions/guacamole-auth-jdbc/LICENSE | 221 +++++++++++++++++++++++---
extensions/guacamole-auth-jdbc/NOTICE | 5 +
extensions/guacamole-auth-ldap/LICENSE | 221 +++++++++++++++++++++++---
extensions/guacamole-auth-ldap/NOTICE | 5 +
extensions/guacamole-auth-noauth/LICENSE | 221 +++++++++++++++++++++++---
extensions/guacamole-auth-noauth/NOTICE | 5 +
guacamole-common-js/LICENSE | 221 +++++++++++++++++++++++---
guacamole-common-js/NOTICE | 5 +
guacamole-common/LICENSE | 221 +++++++++++++++++++++++---
guacamole-common/NOTICE | 5 +
guacamole-ext/LICENSE | 221 +++++++++++++++++++++++---
guacamole-ext/NOTICE | 5 +
guacamole/LICENSE | 221 +++++++++++++++++++++++---
guacamole/NOTICE | 5 +
guacamole/src/main/webapp/license.txt | 33 ++--
19 files changed, 1878 insertions(+), 189 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/c569d2fb/LICENSE
----------------------------------------------------------------------
diff --git a/LICENSE b/LICENSE
index 540cdcf..d645695 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,19 +1,202 @@
-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.
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed 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.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/c569d2fb/NOTICE
----------------------------------------------------------------------
diff --git a/NOTICE b/NOTICE
new file mode 100644
index 0000000..2ef7e54
--- /dev/null
+++ b/NOTICE
@@ -0,0 +1,5 @@
+Apache Guacamole
+Copyright 2016 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/c569d2fb/doc/guacamole-example/LICENSE
----------------------------------------------------------------------
diff --git a/doc/guacamole-example/LICENSE b/doc/guacamole-example/LICENSE
index 540cdcf..d645695 100644
--- a/doc/guacamole-example/LICENSE
+++ b/doc/guacamole-example/LICENSE
@@ -1,19 +1,202 @@
-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.
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed 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.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/c569d2fb/doc/guacamole-example/NOTICE
----------------------------------------------------------------------
diff --git a/doc/guacamole-example/NOTICE b/doc/guacamole-example/NOTICE
new file mode 100644
index 0000000..2ef7e54
--- /dev/null
+++ b/doc/guacamole-example/NOTICE
@@ -0,0 +1,5 @@
+Apache Guacamole
+Copyright 2016 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/c569d2fb/extensions/guacamole-auth-jdbc/LICENSE
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/LICENSE b/extensions/guacamole-auth-jdbc/LICENSE
index 540cdcf..d645695 100644
--- a/extensions/guacamole-auth-jdbc/LICENSE
+++ b/extensions/guacamole-auth-jdbc/LICENSE
@@ -1,19 +1,202 @@
-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.
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed 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.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/c569d2fb/extensions/guacamole-auth-jdbc/NOTICE
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/NOTICE b/extensions/guacamole-auth-jdbc/NOTICE
new file mode 100644
index 0000000..2ef7e54
--- /dev/null
+++ b/extensions/guacamole-auth-jdbc/NOTICE
@@ -0,0 +1,5 @@
+Apache Guacamole
+Copyright 2016 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/c569d2fb/extensions/guacamole-auth-ldap/LICENSE
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-ldap/LICENSE b/extensions/guacamole-auth-ldap/LICENSE
index 540cdcf..d645695 100644
--- a/extensions/guacamole-auth-ldap/LICENSE
+++ b/extensions/guacamole-auth-ldap/LICENSE
@@ -1,19 +1,202 @@
-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.
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed 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.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/c569d2fb/extensions/guacamole-auth-ldap/NOTICE
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-ldap/NOTICE b/extensions/guacamole-auth-ldap/NOTICE
new file mode 100644
index 0000000..2ef7e54
--- /dev/null
+++ b/extensions/guacamole-auth-ldap/NOTICE
@@ -0,0 +1,5 @@
+Apache Guacamole
+Copyright 2016 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/c569d2fb/extensions/guacamole-auth-noauth/LICENSE
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-noauth/LICENSE b/extensions/guacamole-auth-noauth/LICENSE
index 540cdcf..d645695 100644
--- a/extensions/guacamole-auth-noauth/LICENSE
+++ b/extensions/guacamole-auth-noauth/LICENSE
@@ -1,19 +1,202 @@
-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.
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed 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.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/c569d2fb/extensions/guacamole-auth-noauth/NOTICE
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-noauth/NOTICE b/extensions/guacamole-auth-noauth/NOTICE
new file mode 100644
index 0000000..2ef7e54
--- /dev/null
+++ b/extensions/guacamole-auth-noauth/NOTICE
@@ -0,0 +1,5 @@
+Apache Guacamole
+Copyright 2016 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/c569d2fb/guacamole-common-js/LICENSE
----------------------------------------------------------------------
diff --git a/guacamole-common-js/LICENSE b/guacamole-common-js/LICENSE
index 540cdcf..d645695 100644
--- a/guacamole-common-js/LICENSE
+++ b/guacamole-common-js/LICENSE
@@ -1,19 +1,202 @@
-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.
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed 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.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/c569d2fb/guacamole-common-js/NOTICE
----------------------------------------------------------------------
diff --git a/guacamole-common-js/NOTICE b/guacamole-common-js/NOTICE
new file mode 100644
index 0000000..2ef7e54
--- /dev/null
+++ b/guacamole-common-js/NOTICE
@@ -0,0 +1,5 @@
+Apache Guacamole
+Copyright 2016 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
[29/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Relicense C and JavaScript files.
Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/element/directives/guacScroll.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/element/directives/guacScroll.js b/guacamole/src/main/webapp/app/element/directives/guacScroll.js
index 57bbf41..630897d 100644
--- a/guacamole/src/main/webapp/app/element/directives/guacScroll.js
+++ b/guacamole/src/main/webapp/app/element/directives/guacScroll.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/element/directives/guacUpload.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/element/directives/guacUpload.js b/guacamole/src/main/webapp/app/element/directives/guacUpload.js
index b235e0d..b7d75e9 100644
--- a/guacamole/src/main/webapp/app/element/directives/guacUpload.js
+++ b/guacamole/src/main/webapp/app/element/directives/guacUpload.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/element/elementModule.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/element/elementModule.js b/guacamole/src/main/webapp/app/element/elementModule.js
index f43a0ab..0b564fb 100644
--- a/guacamole/src/main/webapp/app/element/elementModule.js
+++ b/guacamole/src/main/webapp/app/element/elementModule.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/element/types/Marker.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/element/types/Marker.js b/guacamole/src/main/webapp/app/element/types/Marker.js
index c3cada4..c1b47ac 100644
--- a/guacamole/src/main/webapp/app/element/types/Marker.js
+++ b/guacamole/src/main/webapp/app/element/types/Marker.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/element/types/ScrollState.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/element/types/ScrollState.js b/guacamole/src/main/webapp/app/element/types/ScrollState.js
index 23d6b33..8956243 100644
--- a/guacamole/src/main/webapp/app/element/types/ScrollState.js
+++ b/guacamole/src/main/webapp/app/element/types/ScrollState.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/form/controllers/checkboxFieldController.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/form/controllers/checkboxFieldController.js b/guacamole/src/main/webapp/app/form/controllers/checkboxFieldController.js
index 3f9da95..bb2676c 100644
--- a/guacamole/src/main/webapp/app/form/controllers/checkboxFieldController.js
+++ b/guacamole/src/main/webapp/app/form/controllers/checkboxFieldController.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/form/controllers/dateFieldController.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/form/controllers/dateFieldController.js b/guacamole/src/main/webapp/app/form/controllers/dateFieldController.js
index 26b663f..31d85a8 100644
--- a/guacamole/src/main/webapp/app/form/controllers/dateFieldController.js
+++ b/guacamole/src/main/webapp/app/form/controllers/dateFieldController.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/form/controllers/numberFieldController.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/form/controllers/numberFieldController.js b/guacamole/src/main/webapp/app/form/controllers/numberFieldController.js
index 640384f..02da81b 100644
--- a/guacamole/src/main/webapp/app/form/controllers/numberFieldController.js
+++ b/guacamole/src/main/webapp/app/form/controllers/numberFieldController.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/form/controllers/passwordFieldController.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/form/controllers/passwordFieldController.js b/guacamole/src/main/webapp/app/form/controllers/passwordFieldController.js
index 4b726f1..0725eb4 100644
--- a/guacamole/src/main/webapp/app/form/controllers/passwordFieldController.js
+++ b/guacamole/src/main/webapp/app/form/controllers/passwordFieldController.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/form/controllers/selectFieldController.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/form/controllers/selectFieldController.js b/guacamole/src/main/webapp/app/form/controllers/selectFieldController.js
index f3af8d8..7d5b868 100644
--- a/guacamole/src/main/webapp/app/form/controllers/selectFieldController.js
+++ b/guacamole/src/main/webapp/app/form/controllers/selectFieldController.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/form/controllers/timeFieldController.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/form/controllers/timeFieldController.js b/guacamole/src/main/webapp/app/form/controllers/timeFieldController.js
index 58f0775..174ec60 100644
--- a/guacamole/src/main/webapp/app/form/controllers/timeFieldController.js
+++ b/guacamole/src/main/webapp/app/form/controllers/timeFieldController.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/form/controllers/timeZoneFieldController.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/form/controllers/timeZoneFieldController.js b/guacamole/src/main/webapp/app/form/controllers/timeZoneFieldController.js
index 0410567..5f17915 100644
--- a/guacamole/src/main/webapp/app/form/controllers/timeZoneFieldController.js
+++ b/guacamole/src/main/webapp/app/form/controllers/timeZoneFieldController.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/form/directives/form.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/form/directives/form.js b/guacamole/src/main/webapp/app/form/directives/form.js
index 269b32e..f659899 100644
--- a/guacamole/src/main/webapp/app/form/directives/form.js
+++ b/guacamole/src/main/webapp/app/form/directives/form.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/form/directives/formField.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/form/directives/formField.js b/guacamole/src/main/webapp/app/form/directives/formField.js
index a0fa2a7..8833be2 100644
--- a/guacamole/src/main/webapp/app/form/directives/formField.js
+++ b/guacamole/src/main/webapp/app/form/directives/formField.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/form/directives/guacLenientDate.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/form/directives/guacLenientDate.js b/guacamole/src/main/webapp/app/form/directives/guacLenientDate.js
index 4bd282f..6b46bfc 100644
--- a/guacamole/src/main/webapp/app/form/directives/guacLenientDate.js
+++ b/guacamole/src/main/webapp/app/form/directives/guacLenientDate.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/form/directives/guacLenientTime.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/form/directives/guacLenientTime.js b/guacamole/src/main/webapp/app/form/directives/guacLenientTime.js
index 03957b5..acdb53a 100644
--- a/guacamole/src/main/webapp/app/form/directives/guacLenientTime.js
+++ b/guacamole/src/main/webapp/app/form/directives/guacLenientTime.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/form/formModule.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/form/formModule.js b/guacamole/src/main/webapp/app/form/formModule.js
index a3e1f4a..7e6ede9 100644
--- a/guacamole/src/main/webapp/app/form/formModule.js
+++ b/guacamole/src/main/webapp/app/form/formModule.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/form/services/formService.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/form/services/formService.js b/guacamole/src/main/webapp/app/form/services/formService.js
index 1f47219..5931d86 100644
--- a/guacamole/src/main/webapp/app/form/services/formService.js
+++ b/guacamole/src/main/webapp/app/form/services/formService.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/form/types/FieldType.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/form/types/FieldType.js b/guacamole/src/main/webapp/app/form/types/FieldType.js
index 5e94f61..386d623 100644
--- a/guacamole/src/main/webapp/app/form/types/FieldType.js
+++ b/guacamole/src/main/webapp/app/form/types/FieldType.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/groupList/directives/guacGroupList.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/groupList/directives/guacGroupList.js b/guacamole/src/main/webapp/app/groupList/directives/guacGroupList.js
index 2241ce1..0b5ed6f 100644
--- a/guacamole/src/main/webapp/app/groupList/directives/guacGroupList.js
+++ b/guacamole/src/main/webapp/app/groupList/directives/guacGroupList.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/groupList/directives/guacGroupListFilter.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/groupList/directives/guacGroupListFilter.js b/guacamole/src/main/webapp/app/groupList/directives/guacGroupListFilter.js
index 156a041..818b2ff 100644
--- a/guacamole/src/main/webapp/app/groupList/directives/guacGroupListFilter.js
+++ b/guacamole/src/main/webapp/app/groupList/directives/guacGroupListFilter.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/groupList/groupListModule.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/groupList/groupListModule.js b/guacamole/src/main/webapp/app/groupList/groupListModule.js
index 57447fd..14f4706 100644
--- a/guacamole/src/main/webapp/app/groupList/groupListModule.js
+++ b/guacamole/src/main/webapp/app/groupList/groupListModule.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/groupList/types/GroupListItem.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/groupList/types/GroupListItem.js b/guacamole/src/main/webapp/app/groupList/types/GroupListItem.js
index 09d6390..a46eb20 100644
--- a/guacamole/src/main/webapp/app/groupList/types/GroupListItem.js
+++ b/guacamole/src/main/webapp/app/groupList/types/GroupListItem.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/history/historyModule.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/history/historyModule.js b/guacamole/src/main/webapp/app/history/historyModule.js
index c81af8d..ce2ab73 100644
--- a/guacamole/src/main/webapp/app/history/historyModule.js
+++ b/guacamole/src/main/webapp/app/history/historyModule.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/history/services/guacHistory.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/history/services/guacHistory.js b/guacamole/src/main/webapp/app/history/services/guacHistory.js
index c10a0cb..b47f9f5 100644
--- a/guacamole/src/main/webapp/app/history/services/guacHistory.js
+++ b/guacamole/src/main/webapp/app/history/services/guacHistory.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/history/types/HistoryEntry.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/history/types/HistoryEntry.js b/guacamole/src/main/webapp/app/history/types/HistoryEntry.js
index c6e5dcb..5942086 100644
--- a/guacamole/src/main/webapp/app/history/types/HistoryEntry.js
+++ b/guacamole/src/main/webapp/app/history/types/HistoryEntry.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/home/controllers/homeController.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/home/controllers/homeController.js b/guacamole/src/main/webapp/app/home/controllers/homeController.js
index 1360ff5..aff81ae 100644
--- a/guacamole/src/main/webapp/app/home/controllers/homeController.js
+++ b/guacamole/src/main/webapp/app/home/controllers/homeController.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/home/directives/guacRecentConnections.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/home/directives/guacRecentConnections.js b/guacamole/src/main/webapp/app/home/directives/guacRecentConnections.js
index a5d913a..13f65b4 100644
--- a/guacamole/src/main/webapp/app/home/directives/guacRecentConnections.js
+++ b/guacamole/src/main/webapp/app/home/directives/guacRecentConnections.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/home/homeModule.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/home/homeModule.js b/guacamole/src/main/webapp/app/home/homeModule.js
index 6c0b9a5..5d930da 100644
--- a/guacamole/src/main/webapp/app/home/homeModule.js
+++ b/guacamole/src/main/webapp/app/home/homeModule.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
angular.module('home', ['client', 'groupList', 'history', 'navigation', 'rest']);
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/home/types/ActiveConnection.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/home/types/ActiveConnection.js b/guacamole/src/main/webapp/app/home/types/ActiveConnection.js
index aef6a91..3de16c9 100644
--- a/guacamole/src/main/webapp/app/home/types/ActiveConnection.js
+++ b/guacamole/src/main/webapp/app/home/types/ActiveConnection.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/home/types/RecentConnection.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/home/types/RecentConnection.js b/guacamole/src/main/webapp/app/home/types/RecentConnection.js
index d28e52b..149d71f 100644
--- a/guacamole/src/main/webapp/app/home/types/RecentConnection.js
+++ b/guacamole/src/main/webapp/app/home/types/RecentConnection.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/index/config/indexHttpPatchConfig.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/index/config/indexHttpPatchConfig.js b/guacamole/src/main/webapp/app/index/config/indexHttpPatchConfig.js
index dc55149..114d598 100644
--- a/guacamole/src/main/webapp/app/index/config/indexHttpPatchConfig.js
+++ b/guacamole/src/main/webapp/app/index/config/indexHttpPatchConfig.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/index/config/indexRouteConfig.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/index/config/indexRouteConfig.js b/guacamole/src/main/webapp/app/index/config/indexRouteConfig.js
index 515dcd1..0eb9fbc 100644
--- a/guacamole/src/main/webapp/app/index/config/indexRouteConfig.js
+++ b/guacamole/src/main/webapp/app/index/config/indexRouteConfig.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/index/config/indexTranslationConfig.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/index/config/indexTranslationConfig.js b/guacamole/src/main/webapp/app/index/config/indexTranslationConfig.js
index b59d37f..3e94203 100644
--- a/guacamole/src/main/webapp/app/index/config/indexTranslationConfig.js
+++ b/guacamole/src/main/webapp/app/index/config/indexTranslationConfig.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/index/config/templateRequestDecorator.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/index/config/templateRequestDecorator.js b/guacamole/src/main/webapp/app/index/config/templateRequestDecorator.js
index d3eae07..e28e09f 100644
--- a/guacamole/src/main/webapp/app/index/config/templateRequestDecorator.js
+++ b/guacamole/src/main/webapp/app/index/config/templateRequestDecorator.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2016 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
[17/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Rename Basic* to File* for default authentication provider. Deprecate
"basic-user-mapping" property.
Posted by jm...@apache.org.
GUACAMOLE-1: Rename Basic* to File* for default authentication provider. Deprecate "basic-user-mapping" property.
Project: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/commit/8590a0a4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/tree/8590a0a4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/diff/8590a0a4
Branch: refs/heads/master
Commit: 8590a0a492330f610ba8669f51b21a50741f0902
Parents: cbe3387
Author: Michael Jumper <mj...@apache.org>
Authored: Tue Mar 22 14:50:02 2016 -0700
Committer: Michael Jumper <mj...@apache.org>
Committed: Mon Mar 28 20:50:01 2016 -0700
----------------------------------------------------------------------
.../apache/guacamole/auth/Authorization.java | 255 -------------------
.../org/apache/guacamole/auth/UserMapping.java | 62 -----
.../auth/basic/AuthorizeTagHandler.java | 151 -----------
.../basic/BasicFileAuthenticationProvider.java | 218 ----------------
.../auth/basic/ConnectionTagHandler.java | 110 --------
.../guacamole/auth/basic/ParamTagHandler.java | 74 ------
.../auth/basic/ProtocolTagHandler.java | 70 -----
.../auth/basic/UserMappingTagHandler.java | 78 ------
.../guacamole/auth/basic/package-info.java | 27 --
.../guacamole/auth/file/Authorization.java | 255 +++++++++++++++++++
.../auth/file/AuthorizeTagHandler.java | 149 +++++++++++
.../auth/file/ConnectionTagHandler.java | 109 ++++++++
.../auth/file/FileAuthenticationProvider.java | 226 ++++++++++++++++
.../guacamole/auth/file/ParamTagHandler.java | 74 ++++++
.../guacamole/auth/file/ProtocolTagHandler.java | 70 +++++
.../apache/guacamole/auth/file/UserMapping.java | 62 +++++
.../auth/file/UserMappingTagHandler.java | 77 ++++++
.../guacamole/auth/file/package-info.java | 28 ++
.../org/apache/guacamole/auth/package-info.java | 28 --
.../guacamole/extension/ExtensionModule.java | 6 +-
20 files changed, 1053 insertions(+), 1076 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/8590a0a4/guacamole/src/main/java/org/apache/guacamole/auth/Authorization.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/auth/Authorization.java b/guacamole/src/main/java/org/apache/guacamole/auth/Authorization.java
deleted file mode 100644
index 9ff1c79..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/auth/Authorization.java
+++ /dev/null
@@ -1,255 +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.
- */
-
-package org.apache.guacamole.auth;
-
-import java.io.UnsupportedEncodingException;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-import java.util.Map;
-import java.util.TreeMap;
-import org.apache.guacamole.protocol.GuacamoleConfiguration;
-
-/**
- * Mapping of username/password pair to configuration set. In addition to basic
- * storage of the username, password, and configurations, this class also
- * provides password validation functions.
- *
- * @author Mike Jumper
- */
-public class Authorization {
-
- /**
- * All supported password encodings.
- */
- public static enum Encoding {
-
- /**
- * Plain-text password (not hashed at all).
- */
- PLAIN_TEXT,
-
- /**
- * Password hashed with MD5.
- */
- MD5
-
- }
-
- /**
- * The username being authorized.
- */
- private String username;
-
- /**
- * The password corresponding to the username being authorized, which may
- * be hashed.
- */
- private String password;
-
- /**
- * The encoding used when the password was hashed.
- */
- private Encoding encoding = Encoding.PLAIN_TEXT;
-
- /**
- * Map of all authorized configurations, indexed by configuration name.
- */
- private Map<String, GuacamoleConfiguration> configs = new
- TreeMap<String, GuacamoleConfiguration>();
-
- /**
- * Lookup table of hex bytes characters by value.
- */
- private static final char HEX_CHARS[] = {
- '0', '1', '2', '3', '4', '5', '6', '7',
- '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'
- };
-
- /**
- * Produces a String containing the bytes provided in hexadecimal notation.
- *
- * @param bytes The bytes to convert into hex.
- * @return A String containing the hex representation of the given bytes.
- */
- private static String getHexString(byte[] bytes) {
-
- // If null byte array given, return null
- if (bytes == null)
- return null;
-
- // Create string builder for holding the hex representation,
- // pre-calculating the exact length
- StringBuilder hex = new StringBuilder(2 * bytes.length);
-
- // Convert each byte into a pair of hex digits
- for (byte b : bytes) {
- hex.append(HEX_CHARS[(b & 0xF0) >> 4])
- .append(HEX_CHARS[ b & 0x0F ]);
- }
-
- // Return the string produced
- return hex.toString();
-
- }
-
- /**
- * Returns the username associated with this authorization.
- *
- * @return The username associated with this authorization.
- */
- public String getUsername() {
- return username;
- }
-
- /**
- * Sets the username associated with this authorization.
- *
- * @param username The username to associate with this authorization.
- */
- public void setUsername(String username) {
- this.username = username;
- }
-
- /**
- * Returns the password associated with this authorization, which may be
- * encoded or hashed.
- *
- * @return The password associated with this authorization.
- */
- public String getPassword() {
- return password;
- }
-
- /**
- * Sets the password associated with this authorization, which must be
- * encoded using the encoding specified with setEncoding(). By default,
- * passwords are plain text.
- *
- * @param password Sets the password associated with this authorization.
- */
- public void setPassword(String password) {
- this.password = password;
- }
-
- /**
- * Returns the encoding used to hash the password, if any.
- *
- * @return The encoding used to hash the password.
- */
- public Encoding getEncoding() {
- return encoding;
- }
-
- /**
- * Sets the encoding which will be used to hash the password or when
- * comparing a given password for validation.
- *
- * @param encoding The encoding to use for password hashing.
- */
- public void setEncoding(Encoding encoding) {
- this.encoding = encoding;
- }
-
- /**
- * Returns whether a given username/password pair is authorized based on
- * the stored username and password. The password given must be plain text.
- * It will be hashed as necessary to perform the validation.
- *
- * @param username The username to validate.
- * @param password The password to validate.
- * @return true if the username/password pair given is authorized, false
- * otherwise.
- */
- public boolean validate(String username, String password) {
-
- // If username matches
- if (username != null && password != null
- && username.equals(this.username)) {
-
- switch (encoding) {
-
- // If plain text, just compare
- case PLAIN_TEXT:
-
- // Compare plaintext
- return password.equals(this.password);
-
- // If hased with MD5, hash password and compare
- case MD5:
-
- // Compare hashed password
- try {
- MessageDigest digest = MessageDigest.getInstance("MD5");
- String hashedPassword = getHexString(digest.digest(password.getBytes("UTF-8")));
- return hashedPassword.equals(this.password.toUpperCase());
- }
- catch (UnsupportedEncodingException e) {
- throw new UnsupportedOperationException("Unexpected lack of UTF-8 support.", e);
- }
- catch (NoSuchAlgorithmException e) {
- throw new UnsupportedOperationException("Unexpected lack of MD5 support.", e);
- }
-
- }
-
- } // end validation check
-
- return false;
-
- }
-
- /**
- * Returns the GuacamoleConfiguration having the given name and associated
- * with the username/password pair stored within this authorization.
- *
- * @param name The name of the GuacamoleConfiguration to return.
- * @return The GuacamoleConfiguration having the given name, or null if no
- * such GuacamoleConfiguration exists.
- */
- public GuacamoleConfiguration getConfiguration(String name) {
- return configs.get(name);
- }
-
- /**
- * Adds the given GuacamoleConfiguration to the set of stored configurations
- * under the given name.
- *
- * @param name The name to associate this GuacamoleConfiguration with.
- * @param config The GuacamoleConfiguration to store.
- */
- public void addConfiguration(String name, GuacamoleConfiguration config) {
- configs.put(name, config);
- }
-
- /**
- * Returns a Map of all stored GuacamoleConfigurations associated with the
- * username/password pair stored within this authorization, indexed by
- * configuration name.
- *
- * @return A Map of all stored GuacamoleConfigurations.
- */
- public Map<String, GuacamoleConfiguration> getConfigurations() {
- return configs;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/8590a0a4/guacamole/src/main/java/org/apache/guacamole/auth/UserMapping.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/auth/UserMapping.java b/guacamole/src/main/java/org/apache/guacamole/auth/UserMapping.java
deleted file mode 100644
index 7f86b1e..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/auth/UserMapping.java
+++ /dev/null
@@ -1,62 +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.
- */
-
-package org.apache.guacamole.auth;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Mapping of all usernames to corresponding authorizations.
- *
- * @author Mike Jumper
- */
-public class UserMapping {
-
- /**
- * All authorizations, indexed by username.
- */
- private Map<String, Authorization> authorizations =
- new HashMap<String, Authorization>();
-
- /**
- * Adds the given authorization to the user mapping.
- *
- * @param authorization The authorization to add to the user mapping.
- */
- public void addAuthorization(Authorization authorization) {
- authorizations.put(authorization.getUsername(), authorization);
- }
-
- /**
- * Returns the authorization corresponding to the user having the given
- * username, if any.
- *
- * @param username The username to find the authorization for.
- * @return The authorization corresponding to the user having the given
- * username, or null if no such authorization exists.
- */
- public Authorization getAuthorization(String username) {
- return authorizations.get(username);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/8590a0a4/guacamole/src/main/java/org/apache/guacamole/auth/basic/AuthorizeTagHandler.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/auth/basic/AuthorizeTagHandler.java b/guacamole/src/main/java/org/apache/guacamole/auth/basic/AuthorizeTagHandler.java
deleted file mode 100644
index bdd9c9a..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/auth/basic/AuthorizeTagHandler.java
+++ /dev/null
@@ -1,151 +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.
- */
-
-package org.apache.guacamole.auth.basic;
-
-import org.apache.guacamole.auth.Authorization;
-import org.apache.guacamole.auth.UserMapping;
-import org.apache.guacamole.xml.TagHandler;
-import org.apache.guacamole.protocol.GuacamoleConfiguration;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-
-/**
- * TagHandler for the "authorize" element.
- *
- * @author Mike Jumper
- */
-public class AuthorizeTagHandler implements TagHandler {
-
- /**
- * The Authorization corresponding to the "authorize" tag being handled
- * by this tag handler. The data of this Authorization will be populated
- * as the tag is parsed.
- */
- private Authorization authorization = new Authorization();
-
- /**
- * The default GuacamoleConfiguration to use if "param" or "protocol"
- * tags occur outside a "connection" tag.
- */
- private GuacamoleConfiguration default_config = null;
-
- /**
- * The UserMapping this authorization belongs to.
- */
- private UserMapping parent;
-
- /**
- * Creates a new AuthorizeTagHandler that parses an Authorization owned
- * by the given UserMapping.
- *
- * @param parent The UserMapping that owns the Authorization this handler
- * will parse.
- */
- public AuthorizeTagHandler(UserMapping parent) {
- this.parent = parent;
- }
-
- @Override
- public void init(Attributes attributes) throws SAXException {
-
- // Init username and password
- authorization.setUsername(attributes.getValue("username"));
- authorization.setPassword(attributes.getValue("password"));
-
- // Get encoding
- String encoding = attributes.getValue("encoding");
- if (encoding != null) {
-
- // If "md5", use MD5 encoding
- if (encoding.equals("md5"))
- authorization.setEncoding(Authorization.Encoding.MD5);
-
- // If "plain", use plain text
- else if (encoding.equals("plain"))
- authorization.setEncoding(Authorization.Encoding.PLAIN_TEXT);
-
- // Otherwise, bad encoding
- else
- throw new SAXException(
- "Invalid encoding: '" + encoding + "'");
-
- }
-
- parent.addAuthorization(this.asAuthorization());
-
- }
-
- @Override
- public TagHandler childElement(String localName) throws SAXException {
-
- // "connection" tag
- if (localName.equals("connection"))
- return new ConnectionTagHandler(authorization);
-
- // "param" tag
- if (localName.equals("param")) {
-
- // Create default config if it doesn't exist
- if (default_config == null) {
- default_config = new GuacamoleConfiguration();
- authorization.addConfiguration("DEFAULT", default_config);
- }
-
- return new ParamTagHandler(default_config);
- }
-
- // "protocol" tag
- if (localName.equals("protocol")) {
-
- // Create default config if it doesn't exist
- if (default_config == null) {
- default_config = new GuacamoleConfiguration();
- authorization.addConfiguration("DEFAULT", default_config);
- }
-
- return new ProtocolTagHandler(default_config);
- }
-
- return null;
-
- }
-
- @Override
- public void complete(String textContent) throws SAXException {
- // Do nothing
- }
-
- /**
- * Returns an Authorization backed by the data of this authorize tag
- * handler. This Authorization is guaranteed to at least have the username,
- * password, and encoding available. Any associated configurations will be
- * added dynamically as the authorize tag is parsed.
- *
- * @return An Authorization backed by the data of this authorize tag
- * handler.
- */
- public Authorization asAuthorization() {
- return authorization;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/8590a0a4/guacamole/src/main/java/org/apache/guacamole/auth/basic/BasicFileAuthenticationProvider.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/auth/basic/BasicFileAuthenticationProvider.java b/guacamole/src/main/java/org/apache/guacamole/auth/basic/BasicFileAuthenticationProvider.java
deleted file mode 100644
index be3fd1a..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/auth/basic/BasicFileAuthenticationProvider.java
+++ /dev/null
@@ -1,218 +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.
- */
-
-package org.apache.guacamole.auth.basic;
-
-import java.io.BufferedInputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Map;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.environment.Environment;
-import org.apache.guacamole.environment.LocalEnvironment;
-import org.apache.guacamole.net.auth.Credentials;
-import org.apache.guacamole.net.auth.simple.SimpleAuthenticationProvider;
-import org.apache.guacamole.auth.Authorization;
-import org.apache.guacamole.auth.UserMapping;
-import org.apache.guacamole.xml.DocumentHandler;
-import org.apache.guacamole.properties.FileGuacamoleProperty;
-import org.apache.guacamole.protocol.GuacamoleConfiguration;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.XMLReader;
-import org.xml.sax.helpers.XMLReaderFactory;
-
-/**
- * Authenticates users against a static list of username/password pairs.
- * Each username/password may be associated with multiple configurations.
- * This list is stored in an XML file which is reread if modified.
- *
- * @author Michael Jumper, Michal Kotas
- */
-public class BasicFileAuthenticationProvider extends SimpleAuthenticationProvider {
-
- /**
- * Logger for this class.
- */
- private final Logger logger = LoggerFactory.getLogger(BasicFileAuthenticationProvider.class);
-
- /**
- * The time the user mapping file was last modified. If the file has never
- * been read, and thus no modification time exists, this will be
- * Long.MIN_VALUE.
- */
- private long lastModified = Long.MIN_VALUE;
-
- /**
- * The parsed UserMapping read when the user mapping file was last parsed.
- */
- private UserMapping cachedUserMapping;
-
- /**
- * Guacamole server environment.
- */
- private final Environment environment;
-
- /**
- * The XML file to read the user mapping from.
- */
- public static final FileGuacamoleProperty BASIC_USER_MAPPING = new FileGuacamoleProperty() {
-
- @Override
- public String getName() { return "basic-user-mapping"; }
-
- };
-
- /**
- * The default filename to use for the user mapping, if not defined within
- * guacamole.properties.
- */
- public static final String DEFAULT_USER_MAPPING = "user-mapping.xml";
-
- /**
- * Creates a new BasicFileAuthenticationProvider that authenticates users
- * against simple, monolithic XML file.
- *
- * @throws GuacamoleException
- * If a required property is missing, or an error occurs while parsing
- * a property.
- */
- public BasicFileAuthenticationProvider() throws GuacamoleException {
- environment = new LocalEnvironment();
- }
-
- @Override
- public String getIdentifier() {
- return "default";
- }
-
- /**
- * Returns a UserMapping containing all authorization data given within
- * the XML file specified by the "basic-user-mapping" property in
- * guacamole.properties. If the XML file has been modified or has not yet
- * been read, this function may reread the file.
- *
- * @return
- * A UserMapping containing all authorization data within the user
- * mapping XML file, or null if the file cannot be found/parsed.
- */
- private UserMapping getUserMapping() {
-
- // Get user mapping file, defaulting to GUACAMOLE_HOME/user-mapping.xml
- File userMappingFile;
- try {
- userMappingFile = environment.getProperty(BASIC_USER_MAPPING);
- if (userMappingFile == null)
- userMappingFile = new File(environment.getGuacamoleHome(), DEFAULT_USER_MAPPING);
- }
-
- // Abort if property cannot be parsed
- catch (GuacamoleException e) {
- logger.warn("Unable to read user mapping filename from properties: {}", e.getMessage());
- logger.debug("Error parsing user mapping property.", e);
- return null;
- }
-
- // Abort if user mapping does not exist
- if (!userMappingFile.exists()) {
- logger.debug("User mapping file \"{}\" does not exist and will not be read.", userMappingFile);
- return null;
- }
-
- // Refresh user mapping if file has changed
- if (lastModified < userMappingFile.lastModified()) {
-
- logger.debug("Reading user mapping file: \"{}\"", userMappingFile);
-
- // Parse document
- try {
-
- // Get handler for root element
- UserMappingTagHandler userMappingHandler =
- new UserMappingTagHandler();
-
- // Set up document handler
- DocumentHandler contentHandler = new DocumentHandler(
- "user-mapping", userMappingHandler);
-
- // Set up XML parser
- XMLReader parser = XMLReaderFactory.createXMLReader();
- parser.setContentHandler(contentHandler);
-
- // Read and parse file
- InputStream input = new BufferedInputStream(new FileInputStream(userMappingFile));
- parser.parse(new InputSource(input));
- input.close();
-
- // Store mod time and user mapping
- lastModified = userMappingFile.lastModified();
- cachedUserMapping = userMappingHandler.asUserMapping();
-
- }
-
- // If the file is unreadable, return no mapping
- catch (IOException e) {
- logger.warn("Unable to read user mapping file \"{}\": {}", userMappingFile, e.getMessage());
- logger.debug("Error reading user mapping file.", e);
- return null;
- }
-
- // If the file cannot be parsed, return no mapping
- catch (SAXException e) {
- logger.warn("User mapping file \"{}\" is not valid: {}", userMappingFile, e.getMessage());
- logger.debug("Error parsing user mapping file.", e);
- return null;
- }
-
- }
-
- // Return (possibly cached) user mapping
- return cachedUserMapping;
-
- }
-
- @Override
- public Map<String, GuacamoleConfiguration>
- getAuthorizedConfigurations(Credentials credentials)
- throws GuacamoleException {
-
- // Abort authorization if no user mapping exists
- UserMapping userMapping = getUserMapping();
- if (userMapping == null)
- return null;
-
- // Validate and return info for given user and pass
- Authorization auth = userMapping.getAuthorization(credentials.getUsername());
- if (auth != null && auth.validate(credentials.getUsername(), credentials.getPassword()))
- return auth.getConfigurations();
-
- // Unauthorized
- return null;
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/8590a0a4/guacamole/src/main/java/org/apache/guacamole/auth/basic/ConnectionTagHandler.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/auth/basic/ConnectionTagHandler.java b/guacamole/src/main/java/org/apache/guacamole/auth/basic/ConnectionTagHandler.java
deleted file mode 100644
index f9acabb..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/auth/basic/ConnectionTagHandler.java
+++ /dev/null
@@ -1,110 +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.
- */
-
-package org.apache.guacamole.auth.basic;
-
-import org.apache.guacamole.auth.Authorization;
-import org.apache.guacamole.xml.TagHandler;
-import org.apache.guacamole.protocol.GuacamoleConfiguration;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-
-/**
- * TagHandler for the "connection" element.
- *
- * @author Mike Jumper
- */
-public class ConnectionTagHandler implements TagHandler {
-
- /**
- * The GuacamoleConfiguration backing this tag handler.
- */
- private GuacamoleConfiguration config = new GuacamoleConfiguration();
-
- /**
- * The name associated with the connection being parsed.
- */
- private String name;
-
- /**
- * The Authorization this connection belongs to.
- */
- private Authorization parent;
-
- /**
- * Creates a new ConnectionTagHandler that parses a Connection owned by
- * the given Authorization.
- *
- * @param parent The Authorization that will own this Connection once
- * parsed.
- */
- public ConnectionTagHandler(Authorization parent) {
- this.parent = parent;
- }
-
- @Override
- public void init(Attributes attributes) throws SAXException {
- name = attributes.getValue("name");
- parent.addConfiguration(name, this.asGuacamoleConfiguration());
- }
-
- @Override
- public TagHandler childElement(String localName) throws SAXException {
-
- if (localName.equals("param"))
- return new ParamTagHandler(config);
-
- if (localName.equals("protocol"))
- return new ProtocolTagHandler(config);
-
- return null;
-
- }
-
- @Override
- public void complete(String textContent) throws SAXException {
- // Do nothing
- }
-
- /**
- * Returns a GuacamoleConfiguration whose contents are populated from data
- * within this connection element and child elements. This
- * GuacamoleConfiguration will continue to be modified as the user mapping
- * is parsed.
- *
- * @return A GuacamoleConfiguration whose contents are populated from data
- * within this connection element.
- */
- public GuacamoleConfiguration asGuacamoleConfiguration() {
- return config;
- }
-
- /**
- * Returns the name associated with this connection.
- *
- * @return The name associated with this connection.
- */
- public String getName() {
- return name;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/8590a0a4/guacamole/src/main/java/org/apache/guacamole/auth/basic/ParamTagHandler.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/auth/basic/ParamTagHandler.java b/guacamole/src/main/java/org/apache/guacamole/auth/basic/ParamTagHandler.java
deleted file mode 100644
index 5d3d804..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/auth/basic/ParamTagHandler.java
+++ /dev/null
@@ -1,74 +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.
- */
-
-package org.apache.guacamole.auth.basic;
-
-import org.apache.guacamole.xml.TagHandler;
-import org.apache.guacamole.protocol.GuacamoleConfiguration;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-
-/**
- * TagHandler for the "param" element.
- *
- * @author Mike Jumper
- */
-public class ParamTagHandler implements TagHandler {
-
- /**
- * The GuacamoleConfiguration which will be populated with data from
- * the tag handled by this tag handler.
- */
- private GuacamoleConfiguration config;
-
- /**
- * The name of the parameter.
- */
- private String name;
-
- /**
- * Creates a new handler for an "param" tag having the given
- * attributes.
- *
- * @param config The GuacamoleConfiguration to update with the data parsed
- * from the "protocol" tag.
- */
- public ParamTagHandler(GuacamoleConfiguration config) {
- this.config = config;
- }
-
- @Override
- public void init(Attributes attributes) throws SAXException {
- this.name = attributes.getValue("name");
- }
-
- @Override
- public TagHandler childElement(String localName) throws SAXException {
- throw new SAXException("The 'param' tag can contain no elements.");
- }
-
- @Override
- public void complete(String textContent) throws SAXException {
- config.setParameter(name, textContent);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/8590a0a4/guacamole/src/main/java/org/apache/guacamole/auth/basic/ProtocolTagHandler.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/auth/basic/ProtocolTagHandler.java b/guacamole/src/main/java/org/apache/guacamole/auth/basic/ProtocolTagHandler.java
deleted file mode 100644
index 3fc5f12..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/auth/basic/ProtocolTagHandler.java
+++ /dev/null
@@ -1,70 +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.
- */
-
-package org.apache.guacamole.auth.basic;
-
-import org.apache.guacamole.xml.TagHandler;
-import org.apache.guacamole.protocol.GuacamoleConfiguration;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-
-/**
- * TagHandler for the "protocol" element.
- *
- * @author Mike Jumper
- */
-public class ProtocolTagHandler implements TagHandler {
-
- /**
- * The GuacamoleConfiguration which will be populated with data from
- * the tag handled by this tag handler.
- */
- private GuacamoleConfiguration config;
-
- /**
- * Creates a new handler for a "protocol" tag having the given
- * attributes.
- *
- * @param config The GuacamoleConfiguration to update with the data parsed
- * from the "protocol" tag.
- * @throws SAXException If the attributes given are not valid.
- */
- public ProtocolTagHandler(GuacamoleConfiguration config) throws SAXException {
- this.config = config;
- }
-
- @Override
- public void init(Attributes attributes) throws SAXException {
- // Do nothing
- }
-
- @Override
- public TagHandler childElement(String localName) throws SAXException {
- throw new SAXException("The 'protocol' tag can contain no elements.");
- }
-
- @Override
- public void complete(String textContent) throws SAXException {
- config.setProtocol(textContent);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/8590a0a4/guacamole/src/main/java/org/apache/guacamole/auth/basic/UserMappingTagHandler.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/auth/basic/UserMappingTagHandler.java b/guacamole/src/main/java/org/apache/guacamole/auth/basic/UserMappingTagHandler.java
deleted file mode 100644
index f0bb6fa..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/auth/basic/UserMappingTagHandler.java
+++ /dev/null
@@ -1,78 +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.
- */
-
-package org.apache.guacamole.auth.basic;
-
-import org.apache.guacamole.auth.UserMapping;
-import org.apache.guacamole.xml.TagHandler;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-
-/**
- * TagHandler for the "user-mapping" element.
- *
- * @author Mike Jumper
- */
-public class UserMappingTagHandler implements TagHandler {
-
- /**
- * The UserMapping which will contain all data parsed by this tag handler.
- */
- private UserMapping user_mapping = new UserMapping();
-
- @Override
- public void init(Attributes attributes) throws SAXException {
- // Do nothing
- }
-
- @Override
- public TagHandler childElement(String localName) throws SAXException {
-
- // Start parsing of authorize tags, add to list of all authorizations
- if (localName.equals("authorize"))
- return new AuthorizeTagHandler(user_mapping);
-
- return null;
-
- }
-
- @Override
- public void complete(String textContent) throws SAXException {
- // Do nothing
- }
-
- /**
- * Returns a user mapping containing all authorizations and configurations
- * parsed so far. This user mapping will be backed by the data being parsed,
- * thus any additional authorizations or configurations will be available
- * in the object returned by this function even after this function has
- * returned, once the data corresponding to those authorizations or
- * configurations has been parsed.
- *
- * @return A user mapping containing all authorizations and configurations
- * parsed so far.
- */
- public UserMapping asUserMapping() {
- return user_mapping;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/8590a0a4/guacamole/src/main/java/org/apache/guacamole/auth/basic/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/auth/basic/package-info.java b/guacamole/src/main/java/org/apache/guacamole/auth/basic/package-info.java
deleted file mode 100644
index d5f8fb7..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/auth/basic/package-info.java
+++ /dev/null
@@ -1,27 +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.
- */
-
-/**
- * Classes related to parsing the user-mapping.xml file.
- */
-package org.apache.guacamole.auth.basic;
-
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/8590a0a4/guacamole/src/main/java/org/apache/guacamole/auth/file/Authorization.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/auth/file/Authorization.java b/guacamole/src/main/java/org/apache/guacamole/auth/file/Authorization.java
new file mode 100644
index 0000000..044760c
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/auth/file/Authorization.java
@@ -0,0 +1,255 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.auth.file;
+
+import java.io.UnsupportedEncodingException;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
+import java.util.Map;
+import java.util.TreeMap;
+import org.apache.guacamole.protocol.GuacamoleConfiguration;
+
+/**
+ * Mapping of username/password pair to configuration set. In addition to basic
+ * storage of the username, password, and configurations, this class also
+ * provides password validation functions.
+ *
+ * @author Mike Jumper
+ */
+public class Authorization {
+
+ /**
+ * All supported password encodings.
+ */
+ public static enum Encoding {
+
+ /**
+ * Plain-text password (not hashed at all).
+ */
+ PLAIN_TEXT,
+
+ /**
+ * Password hashed with MD5.
+ */
+ MD5
+
+ }
+
+ /**
+ * The username being authorized.
+ */
+ private String username;
+
+ /**
+ * The password corresponding to the username being authorized, which may
+ * be hashed.
+ */
+ private String password;
+
+ /**
+ * The encoding used when the password was hashed.
+ */
+ private Encoding encoding = Encoding.PLAIN_TEXT;
+
+ /**
+ * Map of all authorized configurations, indexed by configuration name.
+ */
+ private Map<String, GuacamoleConfiguration> configs = new
+ TreeMap<String, GuacamoleConfiguration>();
+
+ /**
+ * Lookup table of hex bytes characters by value.
+ */
+ private static final char HEX_CHARS[] = {
+ '0', '1', '2', '3', '4', '5', '6', '7',
+ '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'
+ };
+
+ /**
+ * Produces a String containing the bytes provided in hexadecimal notation.
+ *
+ * @param bytes The bytes to convert into hex.
+ * @return A String containing the hex representation of the given bytes.
+ */
+ private static String getHexString(byte[] bytes) {
+
+ // If null byte array given, return null
+ if (bytes == null)
+ return null;
+
+ // Create string builder for holding the hex representation,
+ // pre-calculating the exact length
+ StringBuilder hex = new StringBuilder(2 * bytes.length);
+
+ // Convert each byte into a pair of hex digits
+ for (byte b : bytes) {
+ hex.append(HEX_CHARS[(b & 0xF0) >> 4])
+ .append(HEX_CHARS[ b & 0x0F ]);
+ }
+
+ // Return the string produced
+ return hex.toString();
+
+ }
+
+ /**
+ * Returns the username associated with this authorization.
+ *
+ * @return The username associated with this authorization.
+ */
+ public String getUsername() {
+ return username;
+ }
+
+ /**
+ * Sets the username associated with this authorization.
+ *
+ * @param username The username to associate with this authorization.
+ */
+ public void setUsername(String username) {
+ this.username = username;
+ }
+
+ /**
+ * Returns the password associated with this authorization, which may be
+ * encoded or hashed.
+ *
+ * @return The password associated with this authorization.
+ */
+ public String getPassword() {
+ return password;
+ }
+
+ /**
+ * Sets the password associated with this authorization, which must be
+ * encoded using the encoding specified with setEncoding(). By default,
+ * passwords are plain text.
+ *
+ * @param password Sets the password associated with this authorization.
+ */
+ public void setPassword(String password) {
+ this.password = password;
+ }
+
+ /**
+ * Returns the encoding used to hash the password, if any.
+ *
+ * @return The encoding used to hash the password.
+ */
+ public Encoding getEncoding() {
+ return encoding;
+ }
+
+ /**
+ * Sets the encoding which will be used to hash the password or when
+ * comparing a given password for validation.
+ *
+ * @param encoding The encoding to use for password hashing.
+ */
+ public void setEncoding(Encoding encoding) {
+ this.encoding = encoding;
+ }
+
+ /**
+ * Returns whether a given username/password pair is authorized based on
+ * the stored username and password. The password given must be plain text.
+ * It will be hashed as necessary to perform the validation.
+ *
+ * @param username The username to validate.
+ * @param password The password to validate.
+ * @return true if the username/password pair given is authorized, false
+ * otherwise.
+ */
+ public boolean validate(String username, String password) {
+
+ // If username matches
+ if (username != null && password != null
+ && username.equals(this.username)) {
+
+ switch (encoding) {
+
+ // If plain text, just compare
+ case PLAIN_TEXT:
+
+ // Compare plaintext
+ return password.equals(this.password);
+
+ // If hased with MD5, hash password and compare
+ case MD5:
+
+ // Compare hashed password
+ try {
+ MessageDigest digest = MessageDigest.getInstance("MD5");
+ String hashedPassword = getHexString(digest.digest(password.getBytes("UTF-8")));
+ return hashedPassword.equals(this.password.toUpperCase());
+ }
+ catch (UnsupportedEncodingException e) {
+ throw new UnsupportedOperationException("Unexpected lack of UTF-8 support.", e);
+ }
+ catch (NoSuchAlgorithmException e) {
+ throw new UnsupportedOperationException("Unexpected lack of MD5 support.", e);
+ }
+
+ }
+
+ } // end validation check
+
+ return false;
+
+ }
+
+ /**
+ * Returns the GuacamoleConfiguration having the given name and associated
+ * with the username/password pair stored within this authorization.
+ *
+ * @param name The name of the GuacamoleConfiguration to return.
+ * @return The GuacamoleConfiguration having the given name, or null if no
+ * such GuacamoleConfiguration exists.
+ */
+ public GuacamoleConfiguration getConfiguration(String name) {
+ return configs.get(name);
+ }
+
+ /**
+ * Adds the given GuacamoleConfiguration to the set of stored configurations
+ * under the given name.
+ *
+ * @param name The name to associate this GuacamoleConfiguration with.
+ * @param config The GuacamoleConfiguration to store.
+ */
+ public void addConfiguration(String name, GuacamoleConfiguration config) {
+ configs.put(name, config);
+ }
+
+ /**
+ * Returns a Map of all stored GuacamoleConfigurations associated with the
+ * username/password pair stored within this authorization, indexed by
+ * configuration name.
+ *
+ * @return A Map of all stored GuacamoleConfigurations.
+ */
+ public Map<String, GuacamoleConfiguration> getConfigurations() {
+ return configs;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/8590a0a4/guacamole/src/main/java/org/apache/guacamole/auth/file/AuthorizeTagHandler.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/auth/file/AuthorizeTagHandler.java b/guacamole/src/main/java/org/apache/guacamole/auth/file/AuthorizeTagHandler.java
new file mode 100644
index 0000000..8d3c55e
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/auth/file/AuthorizeTagHandler.java
@@ -0,0 +1,149 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.auth.file;
+
+import org.apache.guacamole.xml.TagHandler;
+import org.apache.guacamole.protocol.GuacamoleConfiguration;
+import org.xml.sax.Attributes;
+import org.xml.sax.SAXException;
+
+/**
+ * TagHandler for the "authorize" element.
+ *
+ * @author Mike Jumper
+ */
+public class AuthorizeTagHandler implements TagHandler {
+
+ /**
+ * The Authorization corresponding to the "authorize" tag being handled
+ * by this tag handler. The data of this Authorization will be populated
+ * as the tag is parsed.
+ */
+ private Authorization authorization = new Authorization();
+
+ /**
+ * The default GuacamoleConfiguration to use if "param" or "protocol"
+ * tags occur outside a "connection" tag.
+ */
+ private GuacamoleConfiguration default_config = null;
+
+ /**
+ * The UserMapping this authorization belongs to.
+ */
+ private UserMapping parent;
+
+ /**
+ * Creates a new AuthorizeTagHandler that parses an Authorization owned
+ * by the given UserMapping.
+ *
+ * @param parent The UserMapping that owns the Authorization this handler
+ * will parse.
+ */
+ public AuthorizeTagHandler(UserMapping parent) {
+ this.parent = parent;
+ }
+
+ @Override
+ public void init(Attributes attributes) throws SAXException {
+
+ // Init username and password
+ authorization.setUsername(attributes.getValue("username"));
+ authorization.setPassword(attributes.getValue("password"));
+
+ // Get encoding
+ String encoding = attributes.getValue("encoding");
+ if (encoding != null) {
+
+ // If "md5", use MD5 encoding
+ if (encoding.equals("md5"))
+ authorization.setEncoding(Authorization.Encoding.MD5);
+
+ // If "plain", use plain text
+ else if (encoding.equals("plain"))
+ authorization.setEncoding(Authorization.Encoding.PLAIN_TEXT);
+
+ // Otherwise, bad encoding
+ else
+ throw new SAXException(
+ "Invalid encoding: '" + encoding + "'");
+
+ }
+
+ parent.addAuthorization(this.asAuthorization());
+
+ }
+
+ @Override
+ public TagHandler childElement(String localName) throws SAXException {
+
+ // "connection" tag
+ if (localName.equals("connection"))
+ return new ConnectionTagHandler(authorization);
+
+ // "param" tag
+ if (localName.equals("param")) {
+
+ // Create default config if it doesn't exist
+ if (default_config == null) {
+ default_config = new GuacamoleConfiguration();
+ authorization.addConfiguration("DEFAULT", default_config);
+ }
+
+ return new ParamTagHandler(default_config);
+ }
+
+ // "protocol" tag
+ if (localName.equals("protocol")) {
+
+ // Create default config if it doesn't exist
+ if (default_config == null) {
+ default_config = new GuacamoleConfiguration();
+ authorization.addConfiguration("DEFAULT", default_config);
+ }
+
+ return new ProtocolTagHandler(default_config);
+ }
+
+ return null;
+
+ }
+
+ @Override
+ public void complete(String textContent) throws SAXException {
+ // Do nothing
+ }
+
+ /**
+ * Returns an Authorization backed by the data of this authorize tag
+ * handler. This Authorization is guaranteed to at least have the username,
+ * password, and encoding available. Any associated configurations will be
+ * added dynamically as the authorize tag is parsed.
+ *
+ * @return An Authorization backed by the data of this authorize tag
+ * handler.
+ */
+ public Authorization asAuthorization() {
+ return authorization;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/8590a0a4/guacamole/src/main/java/org/apache/guacamole/auth/file/ConnectionTagHandler.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/auth/file/ConnectionTagHandler.java b/guacamole/src/main/java/org/apache/guacamole/auth/file/ConnectionTagHandler.java
new file mode 100644
index 0000000..5f069a2
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/auth/file/ConnectionTagHandler.java
@@ -0,0 +1,109 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.auth.file;
+
+import org.apache.guacamole.xml.TagHandler;
+import org.apache.guacamole.protocol.GuacamoleConfiguration;
+import org.xml.sax.Attributes;
+import org.xml.sax.SAXException;
+
+/**
+ * TagHandler for the "connection" element.
+ *
+ * @author Mike Jumper
+ */
+public class ConnectionTagHandler implements TagHandler {
+
+ /**
+ * The GuacamoleConfiguration backing this tag handler.
+ */
+ private GuacamoleConfiguration config = new GuacamoleConfiguration();
+
+ /**
+ * The name associated with the connection being parsed.
+ */
+ private String name;
+
+ /**
+ * The Authorization this connection belongs to.
+ */
+ private Authorization parent;
+
+ /**
+ * Creates a new ConnectionTagHandler that parses a Connection owned by
+ * the given Authorization.
+ *
+ * @param parent The Authorization that will own this Connection once
+ * parsed.
+ */
+ public ConnectionTagHandler(Authorization parent) {
+ this.parent = parent;
+ }
+
+ @Override
+ public void init(Attributes attributes) throws SAXException {
+ name = attributes.getValue("name");
+ parent.addConfiguration(name, this.asGuacamoleConfiguration());
+ }
+
+ @Override
+ public TagHandler childElement(String localName) throws SAXException {
+
+ if (localName.equals("param"))
+ return new ParamTagHandler(config);
+
+ if (localName.equals("protocol"))
+ return new ProtocolTagHandler(config);
+
+ return null;
+
+ }
+
+ @Override
+ public void complete(String textContent) throws SAXException {
+ // Do nothing
+ }
+
+ /**
+ * Returns a GuacamoleConfiguration whose contents are populated from data
+ * within this connection element and child elements. This
+ * GuacamoleConfiguration will continue to be modified as the user mapping
+ * is parsed.
+ *
+ * @return A GuacamoleConfiguration whose contents are populated from data
+ * within this connection element.
+ */
+ public GuacamoleConfiguration asGuacamoleConfiguration() {
+ return config;
+ }
+
+ /**
+ * Returns the name associated with this connection.
+ *
+ * @return The name associated with this connection.
+ */
+ public String getName() {
+ return name;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/8590a0a4/guacamole/src/main/java/org/apache/guacamole/auth/file/FileAuthenticationProvider.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/auth/file/FileAuthenticationProvider.java b/guacamole/src/main/java/org/apache/guacamole/auth/file/FileAuthenticationProvider.java
new file mode 100644
index 0000000..75230fd
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/auth/file/FileAuthenticationProvider.java
@@ -0,0 +1,226 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.auth.file;
+
+import java.io.BufferedInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Map;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.environment.Environment;
+import org.apache.guacamole.environment.LocalEnvironment;
+import org.apache.guacamole.net.auth.Credentials;
+import org.apache.guacamole.net.auth.simple.SimpleAuthenticationProvider;
+import org.apache.guacamole.xml.DocumentHandler;
+import org.apache.guacamole.properties.FileGuacamoleProperty;
+import org.apache.guacamole.protocol.GuacamoleConfiguration;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+import org.xml.sax.XMLReader;
+import org.xml.sax.helpers.XMLReaderFactory;
+
+/**
+ * Authenticates users against a static list of username/password pairs.
+ * Each username/password may be associated with multiple configurations.
+ * This list is stored in an XML file which is reread if modified.
+ *
+ * @author Michael Jumper, Michal Kotas
+ */
+public class FileAuthenticationProvider extends SimpleAuthenticationProvider {
+
+ /**
+ * Logger for this class.
+ */
+ private final Logger logger = LoggerFactory.getLogger(FileAuthenticationProvider.class);
+
+ /**
+ * The time the user mapping file was last modified. If the file has never
+ * been read, and thus no modification time exists, this will be
+ * Long.MIN_VALUE.
+ */
+ private long lastModified = Long.MIN_VALUE;
+
+ /**
+ * The parsed UserMapping read when the user mapping file was last parsed.
+ */
+ private UserMapping cachedUserMapping;
+
+ /**
+ * Guacamole server environment.
+ */
+ private final Environment environment;
+
+ /**
+ * The XML file to read the user mapping from. This property has been
+ * deprecated, as the name "basic" is ridiculous, and providing for
+ * configurable user-mapping.xml locations is unnecessary complexity. Use
+ * GUACAMOLE_HOME/user-mapping.xml instead.
+ */
+ @Deprecated
+ public static final FileGuacamoleProperty BASIC_USER_MAPPING = new FileGuacamoleProperty() {
+
+ @Override
+ public String getName() { return "basic-user-mapping"; }
+
+ };
+
+ /**
+ * The filename to use for the user mapping.
+ */
+ public static final String USER_MAPPING_FILENAME = "user-mapping.xml";
+
+ /**
+ * Creates a new BasicFileAuthenticationProvider that authenticates users
+ * against simple, monolithic XML file.
+ *
+ * @throws GuacamoleException
+ * If a required property is missing, or an error occurs while parsing
+ * a property.
+ */
+ public FileAuthenticationProvider() throws GuacamoleException {
+ environment = new LocalEnvironment();
+ }
+
+ @Override
+ public String getIdentifier() {
+ return "default";
+ }
+
+ /**
+ * Returns a UserMapping containing all authorization data given within
+ * the XML file specified by the "basic-user-mapping" property in
+ * guacamole.properties. If the XML file has been modified or has not yet
+ * been read, this function may reread the file.
+ *
+ * @return
+ * A UserMapping containing all authorization data within the user
+ * mapping XML file, or null if the file cannot be found/parsed.
+ */
+ @SuppressWarnings("deprecation") // We must continue to use the "basic-user-mapping" property until it is truly no longer supported
+ private UserMapping getUserMapping() {
+
+ // Get user mapping file, defaulting to GUACAMOLE_HOME/user-mapping.xml
+ File userMappingFile;
+ try {
+
+ // Continue supporting deprecated property, but warn in the logs
+ userMappingFile = environment.getProperty(BASIC_USER_MAPPING);
+ if (userMappingFile != null)
+ logger.warn("The \"basic-user-mapping\" property is deprecated. Please use the \"GUACAMOLE_HOME/user-mapping.xml\" file instead.");
+
+ // Read user mapping from GUACAMOLE_HOME
+ if (userMappingFile == null)
+ userMappingFile = new File(environment.getGuacamoleHome(), USER_MAPPING_FILENAME);
+
+ }
+
+ // Abort if property cannot be parsed
+ catch (GuacamoleException e) {
+ logger.warn("Unable to read user mapping filename from properties: {}", e.getMessage());
+ logger.debug("Error parsing user mapping property.", e);
+ return null;
+ }
+
+ // Abort if user mapping does not exist
+ if (!userMappingFile.exists()) {
+ logger.debug("User mapping file \"{}\" does not exist and will not be read.", userMappingFile);
+ return null;
+ }
+
+ // Refresh user mapping if file has changed
+ if (lastModified < userMappingFile.lastModified()) {
+
+ logger.debug("Reading user mapping file: \"{}\"", userMappingFile);
+
+ // Parse document
+ try {
+
+ // Get handler for root element
+ UserMappingTagHandler userMappingHandler =
+ new UserMappingTagHandler();
+
+ // Set up document handler
+ DocumentHandler contentHandler = new DocumentHandler(
+ "user-mapping", userMappingHandler);
+
+ // Set up XML parser
+ XMLReader parser = XMLReaderFactory.createXMLReader();
+ parser.setContentHandler(contentHandler);
+
+ // Read and parse file
+ InputStream input = new BufferedInputStream(new FileInputStream(userMappingFile));
+ parser.parse(new InputSource(input));
+ input.close();
+
+ // Store mod time and user mapping
+ lastModified = userMappingFile.lastModified();
+ cachedUserMapping = userMappingHandler.asUserMapping();
+
+ }
+
+ // If the file is unreadable, return no mapping
+ catch (IOException e) {
+ logger.warn("Unable to read user mapping file \"{}\": {}", userMappingFile, e.getMessage());
+ logger.debug("Error reading user mapping file.", e);
+ return null;
+ }
+
+ // If the file cannot be parsed, return no mapping
+ catch (SAXException e) {
+ logger.warn("User mapping file \"{}\" is not valid: {}", userMappingFile, e.getMessage());
+ logger.debug("Error parsing user mapping file.", e);
+ return null;
+ }
+
+ }
+
+ // Return (possibly cached) user mapping
+ return cachedUserMapping;
+
+ }
+
+ @Override
+ public Map<String, GuacamoleConfiguration>
+ getAuthorizedConfigurations(Credentials credentials)
+ throws GuacamoleException {
+
+ // Abort authorization if no user mapping exists
+ UserMapping userMapping = getUserMapping();
+ if (userMapping == null)
+ return null;
+
+ // Validate and return info for given user and pass
+ Authorization auth = userMapping.getAuthorization(credentials.getUsername());
+ if (auth != null && auth.validate(credentials.getUsername(), credentials.getPassword()))
+ return auth.getConfigurations();
+
+ // Unauthorized
+ return null;
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/8590a0a4/guacamole/src/main/java/org/apache/guacamole/auth/file/ParamTagHandler.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/auth/file/ParamTagHandler.java b/guacamole/src/main/java/org/apache/guacamole/auth/file/ParamTagHandler.java
new file mode 100644
index 0000000..8fee87e
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/auth/file/ParamTagHandler.java
@@ -0,0 +1,74 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.auth.file;
+
+import org.apache.guacamole.xml.TagHandler;
+import org.apache.guacamole.protocol.GuacamoleConfiguration;
+import org.xml.sax.Attributes;
+import org.xml.sax.SAXException;
+
+/**
+ * TagHandler for the "param" element.
+ *
+ * @author Mike Jumper
+ */
+public class ParamTagHandler implements TagHandler {
+
+ /**
+ * The GuacamoleConfiguration which will be populated with data from
+ * the tag handled by this tag handler.
+ */
+ private GuacamoleConfiguration config;
+
+ /**
+ * The name of the parameter.
+ */
+ private String name;
+
+ /**
+ * Creates a new handler for an "param" tag having the given
+ * attributes.
+ *
+ * @param config The GuacamoleConfiguration to update with the data parsed
+ * from the "protocol" tag.
+ */
+ public ParamTagHandler(GuacamoleConfiguration config) {
+ this.config = config;
+ }
+
+ @Override
+ public void init(Attributes attributes) throws SAXException {
+ this.name = attributes.getValue("name");
+ }
+
+ @Override
+ public TagHandler childElement(String localName) throws SAXException {
+ throw new SAXException("The 'param' tag can contain no elements.");
+ }
+
+ @Override
+ public void complete(String textContent) throws SAXException {
+ config.setParameter(name, textContent);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/8590a0a4/guacamole/src/main/java/org/apache/guacamole/auth/file/ProtocolTagHandler.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/auth/file/ProtocolTagHandler.java b/guacamole/src/main/java/org/apache/guacamole/auth/file/ProtocolTagHandler.java
new file mode 100644
index 0000000..8f1aecd
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/auth/file/ProtocolTagHandler.java
@@ -0,0 +1,70 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.auth.file;
+
+import org.apache.guacamole.xml.TagHandler;
+import org.apache.guacamole.protocol.GuacamoleConfiguration;
+import org.xml.sax.Attributes;
+import org.xml.sax.SAXException;
+
+/**
+ * TagHandler for the "protocol" element.
+ *
+ * @author Mike Jumper
+ */
+public class ProtocolTagHandler implements TagHandler {
+
+ /**
+ * The GuacamoleConfiguration which will be populated with data from
+ * the tag handled by this tag handler.
+ */
+ private GuacamoleConfiguration config;
+
+ /**
+ * Creates a new handler for a "protocol" tag having the given
+ * attributes.
+ *
+ * @param config The GuacamoleConfiguration to update with the data parsed
+ * from the "protocol" tag.
+ * @throws SAXException If the attributes given are not valid.
+ */
+ public ProtocolTagHandler(GuacamoleConfiguration config) throws SAXException {
+ this.config = config;
+ }
+
+ @Override
+ public void init(Attributes attributes) throws SAXException {
+ // Do nothing
+ }
+
+ @Override
+ public TagHandler childElement(String localName) throws SAXException {
+ throw new SAXException("The 'protocol' tag can contain no elements.");
+ }
+
+ @Override
+ public void complete(String textContent) throws SAXException {
+ config.setProtocol(textContent);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/8590a0a4/guacamole/src/main/java/org/apache/guacamole/auth/file/UserMapping.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/auth/file/UserMapping.java b/guacamole/src/main/java/org/apache/guacamole/auth/file/UserMapping.java
new file mode 100644
index 0000000..b857d19
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/auth/file/UserMapping.java
@@ -0,0 +1,62 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.auth.file;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Mapping of all usernames to corresponding authorizations.
+ *
+ * @author Mike Jumper
+ */
+public class UserMapping {
+
+ /**
+ * All authorizations, indexed by username.
+ */
+ private Map<String, Authorization> authorizations =
+ new HashMap<String, Authorization>();
+
+ /**
+ * Adds the given authorization to the user mapping.
+ *
+ * @param authorization The authorization to add to the user mapping.
+ */
+ public void addAuthorization(Authorization authorization) {
+ authorizations.put(authorization.getUsername(), authorization);
+ }
+
+ /**
+ * Returns the authorization corresponding to the user having the given
+ * username, if any.
+ *
+ * @param username The username to find the authorization for.
+ * @return The authorization corresponding to the user having the given
+ * username, or null if no such authorization exists.
+ */
+ public Authorization getAuthorization(String username) {
+ return authorizations.get(username);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/8590a0a4/guacamole/src/main/java/org/apache/guacamole/auth/file/UserMappingTagHandler.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/auth/file/UserMappingTagHandler.java b/guacamole/src/main/java/org/apache/guacamole/auth/file/UserMappingTagHandler.java
new file mode 100644
index 0000000..a707232
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/auth/file/UserMappingTagHandler.java
@@ -0,0 +1,77 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.auth.file;
+
+import org.apache.guacamole.xml.TagHandler;
+import org.xml.sax.Attributes;
+import org.xml.sax.SAXException;
+
+/**
+ * TagHandler for the "user-mapping" element.
+ *
+ * @author Mike Jumper
+ */
+public class UserMappingTagHandler implements TagHandler {
+
+ /**
+ * The UserMapping which will contain all data parsed by this tag handler.
+ */
+ private UserMapping user_mapping = new UserMapping();
+
+ @Override
+ public void init(Attributes attributes) throws SAXException {
+ // Do nothing
+ }
+
+ @Override
+ public TagHandler childElement(String localName) throws SAXException {
+
+ // Start parsing of authorize tags, add to list of all authorizations
+ if (localName.equals("authorize"))
+ return new AuthorizeTagHandler(user_mapping);
+
+ return null;
+
+ }
+
+ @Override
+ public void complete(String textContent) throws SAXException {
+ // Do nothing
+ }
+
+ /**
+ * Returns a user mapping containing all authorizations and configurations
+ * parsed so far. This user mapping will be backed by the data being parsed,
+ * thus any additional authorizations or configurations will be available
+ * in the object returned by this function even after this function has
+ * returned, once the data corresponding to those authorizations or
+ * configurations has been parsed.
+ *
+ * @return A user mapping containing all authorizations and configurations
+ * parsed so far.
+ */
+ public UserMapping asUserMapping() {
+ return user_mapping;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/8590a0a4/guacamole/src/main/java/org/apache/guacamole/auth/file/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/auth/file/package-info.java b/guacamole/src/main/java/org/apache/guacamole/auth/file/package-info.java
new file mode 100644
index 0000000..72534a7
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/auth/file/package-info.java
@@ -0,0 +1,28 @@
+/*
+ * 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.
+ */
+
+/**
+ * Classes which drive the default, file-based authentication of the Guacamole
+ * web application.
+ */
+package org.apache.guacamole.auth.file;
+
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/8590a0a4/guacamole/src/main/java/org/apache/guacamole/auth/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/auth/package-info.java b/guacamole/src/main/java/org/apache/guacamole/auth/package-info.java
deleted file mode 100644
index d1ac69e..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/auth/package-info.java
+++ /dev/null
@@ -1,28 +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.
- */
-
-/**
- * Classes which drive the default, basic authentication of the Guacamole
- * web application.
- */
-package org.apache.guacamole.auth;
-
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/8590a0a4/guacamole/src/main/java/org/apache/guacamole/extension/ExtensionModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/extension/ExtensionModule.java b/guacamole/src/main/java/org/apache/guacamole/extension/ExtensionModule.java
index b81593c..3823fbc 100644
--- a/guacamole/src/main/java/org/apache/guacamole/extension/ExtensionModule.java
+++ b/guacamole/src/main/java/org/apache/guacamole/extension/ExtensionModule.java
@@ -32,7 +32,7 @@ import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Map;
-import org.apache.guacamole.auth.basic.BasicFileAuthenticationProvider;
+import org.apache.guacamole.auth.file.FileAuthenticationProvider;
import org.apache.guacamole.GuacamoleException;
import org.apache.guacamole.GuacamoleServerException;
import org.apache.guacamole.environment.Environment;
@@ -426,8 +426,8 @@ public class ExtensionModule extends ServletModule {
// Load all extensions
loadExtensions(javaScriptResources, cssResources);
- // Always bind basic auth last
- bindAuthenticationProvider(BasicFileAuthenticationProvider.class);
+ // Always bind default file-driven auth last
+ bindAuthenticationProvider(FileAuthenticationProvider.class);
// Dynamically generate app.js and app.css from extensions
serve("/app.js").with(new ResourceServlet(new SequenceResource(javaScriptResources)));
[46/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Relicense CSS files.
Posted by jm...@apache.org.
GUACAMOLE-1: Relicense CSS files.
Project: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/commit/67b09c39
Tree: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/tree/67b09c39
Diff: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/diff/67b09c39
Branch: refs/heads/master
Commit: 67b09c39da830788231d4ef9afe652248a55feb6
Parents: de1ec05
Author: Michael Jumper <mj...@apache.org>
Authored: Fri Mar 25 11:09:47 2016 -0700
Committer: Michael Jumper <mj...@apache.org>
Committed: Mon Mar 28 20:50:32 2016 -0700
----------------------------------------------------------------------
.../src/main/webapp/guacamole.css | 31 +++++++++-----------
.../main/webapp/app/client/styles/client.css | 31 +++++++++-----------
.../main/webapp/app/client/styles/display.css | 31 +++++++++-----------
.../webapp/app/client/styles/file-browser.css | 31 +++++++++-----------
.../app/client/styles/file-transfer-dialog.css | 31 +++++++++-----------
.../app/client/styles/filesystem-menu.css | 31 +++++++++-----------
.../main/webapp/app/client/styles/guac-menu.css | 31 +++++++++-----------
.../main/webapp/app/client/styles/keyboard.css | 31 +++++++++-----------
.../src/main/webapp/app/client/styles/menu.css | 31 +++++++++-----------
.../app/client/styles/thumbnail-display.css | 31 +++++++++-----------
.../app/client/styles/transfer-manager.css | 31 +++++++++-----------
.../main/webapp/app/client/styles/transfer.css | 31 +++++++++-----------
.../main/webapp/app/client/styles/viewport.css | 31 +++++++++-----------
.../webapp/app/element/styles/resize-sensor.css | 31 +++++++++-----------
.../main/webapp/app/form/styles/form-field.css | 31 +++++++++-----------
.../src/main/webapp/app/form/styles/form.css | 31 +++++++++-----------
.../src/main/webapp/app/home/styles/home.css | 31 +++++++++-----------
.../main/webapp/app/index/styles/animation.css | 31 +++++++++-----------
.../main/webapp/app/index/styles/buttons.css | 31 +++++++++-----------
.../src/main/webapp/app/index/styles/dialog.css | 31 +++++++++-----------
.../webapp/app/index/styles/font-carlito.css | 31 +++++++++-----------
.../main/webapp/app/index/styles/headers.css | 31 +++++++++-----------
.../src/main/webapp/app/index/styles/input.css | 31 +++++++++-----------
.../src/main/webapp/app/index/styles/lists.css | 31 +++++++++-----------
.../main/webapp/app/index/styles/loading.css | 31 +++++++++-----------
.../webapp/app/index/styles/sorted-tables.css | 31 +++++++++-----------
.../src/main/webapp/app/index/styles/status.css | 31 +++++++++-----------
.../src/main/webapp/app/index/styles/ui.css | 31 +++++++++-----------
.../src/main/webapp/app/list/styles/filter.css | 31 +++++++++-----------
.../src/main/webapp/app/list/styles/pager.css | 31 +++++++++-----------
.../main/webapp/app/login/styles/animation.css | 31 +++++++++-----------
.../src/main/webapp/app/login/styles/dialog.css | 31 +++++++++-----------
.../src/main/webapp/app/login/styles/input.css | 31 +++++++++-----------
.../src/main/webapp/app/login/styles/login.css | 31 +++++++++-----------
.../webapp/app/manage/styles/attributes.css | 31 +++++++++-----------
.../app/manage/styles/connection-parameter.css | 31 +++++++++-----------
.../src/main/webapp/app/manage/styles/forms.css | 31 +++++++++-----------
.../app/manage/styles/locationChooser.css | 31 +++++++++-----------
.../webapp/app/manage/styles/manage-user.css | 31 +++++++++-----------
.../webapp/app/navigation/styles/page-tabs.css | 31 +++++++++-----------
.../webapp/app/navigation/styles/user-menu.css | 31 +++++++++-----------
.../app/notification/styles/notification.css | 31 +++++++++-----------
.../src/main/webapp/app/osk/styles/osk.css | 31 +++++++++-----------
.../main/webapp/app/settings/styles/buttons.css | 31 +++++++++-----------
.../main/webapp/app/settings/styles/history.css | 31 +++++++++-----------
.../webapp/app/settings/styles/input-method.css | 31 +++++++++-----------
.../webapp/app/settings/styles/mouse-mode.css | 31 +++++++++-----------
.../webapp/app/settings/styles/preferences.css | 31 +++++++++-----------
.../webapp/app/settings/styles/sessions.css | 31 +++++++++-----------
.../webapp/app/settings/styles/settings.css | 31 +++++++++-----------
.../webapp/app/textInput/styles/textInput.css | 31 +++++++++-----------
51 files changed, 714 insertions(+), 867 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/doc/guacamole-example/src/main/webapp/guacamole.css
----------------------------------------------------------------------
diff --git a/doc/guacamole-example/src/main/webapp/guacamole.css b/doc/guacamole-example/src/main/webapp/guacamole.css
index 25bb4bf..e92bbc8b 100644
--- a/doc/guacamole-example/src/main/webapp/guacamole.css
+++ b/doc/guacamole-example/src/main/webapp/guacamole.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
.guac-hide-cursor {
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/client/styles/client.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/client/styles/client.css b/guacamole/src/main/webapp/app/client/styles/client.css
index 8dde10d..c110948 100644
--- a/guacamole/src/main/webapp/app/client/styles/client.css
+++ b/guacamole/src/main/webapp/app/client/styles/client.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
body.client {
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/client/styles/display.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/client/styles/display.css b/guacamole/src/main/webapp/app/client/styles/display.css
index 04b8dc3..8b6cf0a 100644
--- a/guacamole/src/main/webapp/app/client/styles/display.css
+++ b/guacamole/src/main/webapp/app/client/styles/display.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
.software-cursor {
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/client/styles/file-browser.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/client/styles/file-browser.css b/guacamole/src/main/webapp/app/client/styles/file-browser.css
index 602f406..dda0e91 100644
--- a/guacamole/src/main/webapp/app/client/styles/file-browser.css
+++ b/guacamole/src/main/webapp/app/client/styles/file-browser.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/* Hide directory contents by default */
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/client/styles/file-transfer-dialog.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/client/styles/file-transfer-dialog.css b/guacamole/src/main/webapp/app/client/styles/file-transfer-dialog.css
index 666ca7f..66d39a0 100644
--- a/guacamole/src/main/webapp/app/client/styles/file-transfer-dialog.css
+++ b/guacamole/src/main/webapp/app/client/styles/file-transfer-dialog.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
#file-transfer-dialog {
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/client/styles/filesystem-menu.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/client/styles/filesystem-menu.css b/guacamole/src/main/webapp/app/client/styles/filesystem-menu.css
index 1f51b88..946bfa1 100644
--- a/guacamole/src/main/webapp/app/client/styles/filesystem-menu.css
+++ b/guacamole/src/main/webapp/app/client/styles/filesystem-menu.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
#filesystem-menu .header h2 {
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/client/styles/guac-menu.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/client/styles/guac-menu.css b/guacamole/src/main/webapp/app/client/styles/guac-menu.css
index 11df283..3f5460e 100644
--- a/guacamole/src/main/webapp/app/client/styles/guac-menu.css
+++ b/guacamole/src/main/webapp/app/client/styles/guac-menu.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
#guac-menu .content {
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/client/styles/keyboard.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/client/styles/keyboard.css b/guacamole/src/main/webapp/app/client/styles/keyboard.css
index 665301f..8076d54 100644
--- a/guacamole/src/main/webapp/app/client/styles/keyboard.css
+++ b/guacamole/src/main/webapp/app/client/styles/keyboard.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
.keyboard-container {
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/client/styles/menu.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/client/styles/menu.css b/guacamole/src/main/webapp/app/client/styles/menu.css
index a5bc2c4..a7980bf 100644
--- a/guacamole/src/main/webapp/app/client/styles/menu.css
+++ b/guacamole/src/main/webapp/app/client/styles/menu.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
.menu {
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/client/styles/thumbnail-display.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/client/styles/thumbnail-display.css b/guacamole/src/main/webapp/app/client/styles/thumbnail-display.css
index 8689597..c9c9c4f 100644
--- a/guacamole/src/main/webapp/app/client/styles/thumbnail-display.css
+++ b/guacamole/src/main/webapp/app/client/styles/thumbnail-display.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
div.thumbnail-main {
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/client/styles/transfer-manager.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/client/styles/transfer-manager.css b/guacamole/src/main/webapp/app/client/styles/transfer-manager.css
index 3d2eb80..06d0cc8 100644
--- a/guacamole/src/main/webapp/app/client/styles/transfer-manager.css
+++ b/guacamole/src/main/webapp/app/client/styles/transfer-manager.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
.transfer-manager {
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/client/styles/transfer.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/client/styles/transfer.css b/guacamole/src/main/webapp/app/client/styles/transfer.css
index b3b7c42..6ab2bd9 100644
--- a/guacamole/src/main/webapp/app/client/styles/transfer.css
+++ b/guacamole/src/main/webapp/app/client/styles/transfer.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
.transfer {
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/client/styles/viewport.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/client/styles/viewport.css b/guacamole/src/main/webapp/app/client/styles/viewport.css
index 03e4743..9b43e02 100644
--- a/guacamole/src/main/webapp/app/client/styles/viewport.css
+++ b/guacamole/src/main/webapp/app/client/styles/viewport.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
.viewport {
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/element/styles/resize-sensor.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/element/styles/resize-sensor.css b/guacamole/src/main/webapp/app/element/styles/resize-sensor.css
index 2f260af..9f308eb 100644
--- a/guacamole/src/main/webapp/app/element/styles/resize-sensor.css
+++ b/guacamole/src/main/webapp/app/element/styles/resize-sensor.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
.resize-sensor {
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/form/styles/form-field.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/form/styles/form-field.css b/guacamole/src/main/webapp/app/form/styles/form-field.css
index b40dcbf..5083be0 100644
--- a/guacamole/src/main/webapp/app/form/styles/form-field.css
+++ b/guacamole/src/main/webapp/app/form/styles/form-field.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/* Keep toggle-password icon on same line */
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/form/styles/form.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/form/styles/form.css b/guacamole/src/main/webapp/app/form/styles/form.css
index 0e52280..963d31c 100644
--- a/guacamole/src/main/webapp/app/form/styles/form.css
+++ b/guacamole/src/main/webapp/app/form/styles/form.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
.form table.fields th {
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/home/styles/home.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/home/styles/home.css b/guacamole/src/main/webapp/app/home/styles/home.css
index d34ca6f..efc482b 100644
--- a/guacamole/src/main/webapp/app/home/styles/home.css
+++ b/guacamole/src/main/webapp/app/home/styles/home.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
.history-unavailable div.recent-connections {
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/index/styles/animation.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/index/styles/animation.css b/guacamole/src/main/webapp/app/index/styles/animation.css
index 470e4cc..8bab86f 100644
--- a/guacamole/src/main/webapp/app/index/styles/animation.css
+++ b/guacamole/src/main/webapp/app/index/styles/animation.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/index/styles/buttons.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/index/styles/buttons.css b/guacamole/src/main/webapp/app/index/styles/buttons.css
index 280cd47..e5597e3 100644
--- a/guacamole/src/main/webapp/app/index/styles/buttons.css
+++ b/guacamole/src/main/webapp/app/index/styles/buttons.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
a.button {
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/index/styles/dialog.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/index/styles/dialog.css b/guacamole/src/main/webapp/app/index/styles/dialog.css
index bad3110..18f7864 100644
--- a/guacamole/src/main/webapp/app/index/styles/dialog.css
+++ b/guacamole/src/main/webapp/app/index/styles/dialog.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
.dialog-container {
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/index/styles/font-carlito.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/index/styles/font-carlito.css b/guacamole/src/main/webapp/app/index/styles/font-carlito.css
index 1b54466..e7edbd2 100644
--- a/guacamole/src/main/webapp/app/index/styles/font-carlito.css
+++ b/guacamole/src/main/webapp/app/index/styles/font-carlito.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/*
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/index/styles/headers.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/index/styles/headers.css b/guacamole/src/main/webapp/app/index/styles/headers.css
index 4da0a24..a99364a 100644
--- a/guacamole/src/main/webapp/app/index/styles/headers.css
+++ b/guacamole/src/main/webapp/app/index/styles/headers.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
h1 {
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/index/styles/input.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/index/styles/input.css b/guacamole/src/main/webapp/app/index/styles/input.css
index a912cd8..1eb8d9b 100644
--- a/guacamole/src/main/webapp/app/index/styles/input.css
+++ b/guacamole/src/main/webapp/app/index/styles/input.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
input[type=checkbox], input[type=number], input[type=text], input[type=radio], label, textarea {
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/index/styles/lists.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/index/styles/lists.css b/guacamole/src/main/webapp/app/index/styles/lists.css
index 25ca6d3..536169f 100644
--- a/guacamole/src/main/webapp/app/index/styles/lists.css
+++ b/guacamole/src/main/webapp/app/index/styles/lists.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
.user,
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/index/styles/loading.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/index/styles/loading.css b/guacamole/src/main/webapp/app/index/styles/loading.css
index 0cf0faf..f4c077f 100644
--- a/guacamole/src/main/webapp/app/index/styles/loading.css
+++ b/guacamole/src/main/webapp/app/index/styles/loading.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
.loading {
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/index/styles/sorted-tables.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/index/styles/sorted-tables.css b/guacamole/src/main/webapp/app/index/styles/sorted-tables.css
index 2c84bca..080027e 100644
--- a/guacamole/src/main/webapp/app/index/styles/sorted-tables.css
+++ b/guacamole/src/main/webapp/app/index/styles/sorted-tables.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
table.sorted {
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/index/styles/status.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/index/styles/status.css b/guacamole/src/main/webapp/app/index/styles/status.css
index 2b079cd..a24c71a 100644
--- a/guacamole/src/main/webapp/app/index/styles/status.css
+++ b/guacamole/src/main/webapp/app/index/styles/status.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
.status-outer {
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/index/styles/ui.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/index/styles/ui.css b/guacamole/src/main/webapp/app/index/styles/ui.css
index a7a92ae..d91becf 100644
--- a/guacamole/src/main/webapp/app/index/styles/ui.css
+++ b/guacamole/src/main/webapp/app/index/styles/ui.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
* {
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/list/styles/filter.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/list/styles/filter.css b/guacamole/src/main/webapp/app/list/styles/filter.css
index b319750..eb82bc1 100644
--- a/guacamole/src/main/webapp/app/list/styles/filter.css
+++ b/guacamole/src/main/webapp/app/list/styles/filter.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
.filter {
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/list/styles/pager.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/list/styles/pager.css b/guacamole/src/main/webapp/app/list/styles/pager.css
index bb0b922..b02fbc4 100644
--- a/guacamole/src/main/webapp/app/list/styles/pager.css
+++ b/guacamole/src/main/webapp/app/list/styles/pager.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
.pager {
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/login/styles/animation.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/login/styles/animation.css b/guacamole/src/main/webapp/app/login/styles/animation.css
index bbc842c..d66b3fa 100644
--- a/guacamole/src/main/webapp/app/login/styles/animation.css
+++ b/guacamole/src/main/webapp/app/login/styles/animation.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
@keyframes shake-head {
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/login/styles/dialog.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/login/styles/dialog.css b/guacamole/src/main/webapp/app/login/styles/dialog.css
index 8298131..a414003 100644
--- a/guacamole/src/main/webapp/app/login/styles/dialog.css
+++ b/guacamole/src/main/webapp/app/login/styles/dialog.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
.login-ui.error .login-dialog {
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/login/styles/input.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/login/styles/input.css b/guacamole/src/main/webapp/app/login/styles/input.css
index fd4d705..57fa2b4 100644
--- a/guacamole/src/main/webapp/app/login/styles/input.css
+++ b/guacamole/src/main/webapp/app/login/styles/input.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
.login-ui .login-dialog .login-fields input {
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/67b09c39/guacamole/src/main/webapp/app/login/styles/login.css
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/login/styles/login.css b/guacamole/src/main/webapp/app/login/styles/login.css
index 1e874a1..1707827 100644
--- a/guacamole/src/main/webapp/app/login/styles/login.css
+++ b/guacamole/src/main/webapp/app/login/styles/login.css
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
div.login-ui {
[33/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Relicense C and JavaScript files.
Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/xml/DocumentHandler.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/xml/DocumentHandler.java b/guacamole-ext/src/main/java/org/apache/guacamole/xml/DocumentHandler.java
index 01a32ac..a74debd 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/xml/DocumentHandler.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/xml/DocumentHandler.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.xml;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/xml/TagHandler.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/xml/TagHandler.java b/guacamole-ext/src/main/java/org/apache/guacamole/xml/TagHandler.java
index f30718c..ae7cbd9 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/xml/TagHandler.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/xml/TagHandler.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.xml;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/xml/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/xml/package-info.java b/guacamole-ext/src/main/java/org/apache/guacamole/xml/package-info.java
index eb6e763..f92314b 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/xml/package-info.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/xml/package-info.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/test/java/org/apache/guacamole/token/TokenFilterTest.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/test/java/org/apache/guacamole/token/TokenFilterTest.java b/guacamole-ext/src/test/java/org/apache/guacamole/token/TokenFilterTest.java
index beb3306..5e35bf2 100644
--- a/guacamole-ext/src/test/java/org/apache/guacamole/token/TokenFilterTest.java
+++ b/guacamole-ext/src/test/java/org/apache/guacamole/token/TokenFilterTest.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.token;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/EnvironmentModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/EnvironmentModule.java b/guacamole/src/main/java/org/apache/guacamole/EnvironmentModule.java
index c4a6115..2c149d9 100644
--- a/guacamole/src/main/java/org/apache/guacamole/EnvironmentModule.java
+++ b/guacamole/src/main/java/org/apache/guacamole/EnvironmentModule.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/GuacamoleServletContextListener.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/GuacamoleServletContextListener.java b/guacamole/src/main/java/org/apache/guacamole/GuacamoleServletContextListener.java
index ea5f61a..b36a0b6 100644
--- a/guacamole/src/main/java/org/apache/guacamole/GuacamoleServletContextListener.java
+++ b/guacamole/src/main/java/org/apache/guacamole/GuacamoleServletContextListener.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/GuacamoleSession.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/GuacamoleSession.java b/guacamole/src/main/java/org/apache/guacamole/GuacamoleSession.java
index 5345528..601b291 100644
--- a/guacamole/src/main/java/org/apache/guacamole/GuacamoleSession.java
+++ b/guacamole/src/main/java/org/apache/guacamole/GuacamoleSession.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/auth/file/Authorization.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/auth/file/Authorization.java b/guacamole/src/main/java/org/apache/guacamole/auth/file/Authorization.java
index 044760c..d3e42bd 100644
--- a/guacamole/src/main/java/org/apache/guacamole/auth/file/Authorization.java
+++ b/guacamole/src/main/java/org/apache/guacamole/auth/file/Authorization.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.file;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/auth/file/AuthorizeTagHandler.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/auth/file/AuthorizeTagHandler.java b/guacamole/src/main/java/org/apache/guacamole/auth/file/AuthorizeTagHandler.java
index 8d3c55e..3ce97bb 100644
--- a/guacamole/src/main/java/org/apache/guacamole/auth/file/AuthorizeTagHandler.java
+++ b/guacamole/src/main/java/org/apache/guacamole/auth/file/AuthorizeTagHandler.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.file;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/auth/file/ConnectionTagHandler.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/auth/file/ConnectionTagHandler.java b/guacamole/src/main/java/org/apache/guacamole/auth/file/ConnectionTagHandler.java
index 5f069a2..cfbd3fc 100644
--- a/guacamole/src/main/java/org/apache/guacamole/auth/file/ConnectionTagHandler.java
+++ b/guacamole/src/main/java/org/apache/guacamole/auth/file/ConnectionTagHandler.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.file;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/auth/file/FileAuthenticationProvider.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/auth/file/FileAuthenticationProvider.java b/guacamole/src/main/java/org/apache/guacamole/auth/file/FileAuthenticationProvider.java
index 13ebe62..e550742 100644
--- a/guacamole/src/main/java/org/apache/guacamole/auth/file/FileAuthenticationProvider.java
+++ b/guacamole/src/main/java/org/apache/guacamole/auth/file/FileAuthenticationProvider.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.file;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/auth/file/ParamTagHandler.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/auth/file/ParamTagHandler.java b/guacamole/src/main/java/org/apache/guacamole/auth/file/ParamTagHandler.java
index 8fee87e..251472a 100644
--- a/guacamole/src/main/java/org/apache/guacamole/auth/file/ParamTagHandler.java
+++ b/guacamole/src/main/java/org/apache/guacamole/auth/file/ParamTagHandler.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.file;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/auth/file/ProtocolTagHandler.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/auth/file/ProtocolTagHandler.java b/guacamole/src/main/java/org/apache/guacamole/auth/file/ProtocolTagHandler.java
index 8f1aecd..bff31b9 100644
--- a/guacamole/src/main/java/org/apache/guacamole/auth/file/ProtocolTagHandler.java
+++ b/guacamole/src/main/java/org/apache/guacamole/auth/file/ProtocolTagHandler.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.file;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/auth/file/UserMapping.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/auth/file/UserMapping.java b/guacamole/src/main/java/org/apache/guacamole/auth/file/UserMapping.java
index b857d19..a36bed9 100644
--- a/guacamole/src/main/java/org/apache/guacamole/auth/file/UserMapping.java
+++ b/guacamole/src/main/java/org/apache/guacamole/auth/file/UserMapping.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.file;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/auth/file/UserMappingTagHandler.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/auth/file/UserMappingTagHandler.java b/guacamole/src/main/java/org/apache/guacamole/auth/file/UserMappingTagHandler.java
index a707232..b000487 100644
--- a/guacamole/src/main/java/org/apache/guacamole/auth/file/UserMappingTagHandler.java
+++ b/guacamole/src/main/java/org/apache/guacamole/auth/file/UserMappingTagHandler.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.file;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/auth/file/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/auth/file/package-info.java b/guacamole/src/main/java/org/apache/guacamole/auth/file/package-info.java
index 72534a7..7189576 100644
--- a/guacamole/src/main/java/org/apache/guacamole/auth/file/package-info.java
+++ b/guacamole/src/main/java/org/apache/guacamole/auth/file/package-info.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/extension/AuthenticationProviderFacade.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/extension/AuthenticationProviderFacade.java b/guacamole/src/main/java/org/apache/guacamole/extension/AuthenticationProviderFacade.java
index b244255..1b188d9 100644
--- a/guacamole/src/main/java/org/apache/guacamole/extension/AuthenticationProviderFacade.java
+++ b/guacamole/src/main/java/org/apache/guacamole/extension/AuthenticationProviderFacade.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.extension;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/extension/DirectoryClassLoader.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/extension/DirectoryClassLoader.java b/guacamole/src/main/java/org/apache/guacamole/extension/DirectoryClassLoader.java
index 1d1ac54..f00926f 100644
--- a/guacamole/src/main/java/org/apache/guacamole/extension/DirectoryClassLoader.java
+++ b/guacamole/src/main/java/org/apache/guacamole/extension/DirectoryClassLoader.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.extension;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/extension/Extension.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/extension/Extension.java b/guacamole/src/main/java/org/apache/guacamole/extension/Extension.java
index f842924..b6e58e2 100644
--- a/guacamole/src/main/java/org/apache/guacamole/extension/Extension.java
+++ b/guacamole/src/main/java/org/apache/guacamole/extension/Extension.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.extension;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/extension/ExtensionManifest.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/extension/ExtensionManifest.java b/guacamole/src/main/java/org/apache/guacamole/extension/ExtensionManifest.java
index 3e2a8ae..ce49d45 100644
--- a/guacamole/src/main/java/org/apache/guacamole/extension/ExtensionManifest.java
+++ b/guacamole/src/main/java/org/apache/guacamole/extension/ExtensionManifest.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.extension;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/extension/ExtensionModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/extension/ExtensionModule.java b/guacamole/src/main/java/org/apache/guacamole/extension/ExtensionModule.java
index c8906b4..2230605 100644
--- a/guacamole/src/main/java/org/apache/guacamole/extension/ExtensionModule.java
+++ b/guacamole/src/main/java/org/apache/guacamole/extension/ExtensionModule.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.extension;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/extension/LanguageResourceService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/extension/LanguageResourceService.java b/guacamole/src/main/java/org/apache/guacamole/extension/LanguageResourceService.java
index 2dec8ff..6fbb22b 100644
--- a/guacamole/src/main/java/org/apache/guacamole/extension/LanguageResourceService.java
+++ b/guacamole/src/main/java/org/apache/guacamole/extension/LanguageResourceService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.extension;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/extension/PatchResourceService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/extension/PatchResourceService.java b/guacamole/src/main/java/org/apache/guacamole/extension/PatchResourceService.java
index e0c1c0b..422c778 100644
--- a/guacamole/src/main/java/org/apache/guacamole/extension/PatchResourceService.java
+++ b/guacamole/src/main/java/org/apache/guacamole/extension/PatchResourceService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2016 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.extension;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/extension/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/extension/package-info.java b/guacamole/src/main/java/org/apache/guacamole/extension/package-info.java
index 02f4afc..1d40ffd 100644
--- a/guacamole/src/main/java/org/apache/guacamole/extension/package-info.java
+++ b/guacamole/src/main/java/org/apache/guacamole/extension/package-info.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/log/LogModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/log/LogModule.java b/guacamole/src/main/java/org/apache/guacamole/log/LogModule.java
index 67e93c4..c831dad 100644
--- a/guacamole/src/main/java/org/apache/guacamole/log/LogModule.java
+++ b/guacamole/src/main/java/org/apache/guacamole/log/LogModule.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.log;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/package-info.java b/guacamole/src/main/java/org/apache/guacamole/package-info.java
index 63ee12e..a1284f9 100644
--- a/guacamole/src/main/java/org/apache/guacamole/package-info.java
+++ b/guacamole/src/main/java/org/apache/guacamole/package-info.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/properties/StringSetProperty.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/properties/StringSetProperty.java b/guacamole/src/main/java/org/apache/guacamole/properties/StringSetProperty.java
index 5bcd13c..c34dea6 100644
--- a/guacamole/src/main/java/org/apache/guacamole/properties/StringSetProperty.java
+++ b/guacamole/src/main/java/org/apache/guacamole/properties/StringSetProperty.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.properties;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/properties/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/properties/package-info.java b/guacamole/src/main/java/org/apache/guacamole/properties/package-info.java
index 0640815..5506ebe 100644
--- a/guacamole/src/main/java/org/apache/guacamole/properties/package-info.java
+++ b/guacamole/src/main/java/org/apache/guacamole/properties/package-info.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/resource/AbstractResource.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/resource/AbstractResource.java b/guacamole/src/main/java/org/apache/guacamole/resource/AbstractResource.java
index f985361..d4fdc52 100644
--- a/guacamole/src/main/java/org/apache/guacamole/resource/AbstractResource.java
+++ b/guacamole/src/main/java/org/apache/guacamole/resource/AbstractResource.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.resource;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/resource/ByteArrayResource.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/resource/ByteArrayResource.java b/guacamole/src/main/java/org/apache/guacamole/resource/ByteArrayResource.java
index 2fa8199..e7a2909 100644
--- a/guacamole/src/main/java/org/apache/guacamole/resource/ByteArrayResource.java
+++ b/guacamole/src/main/java/org/apache/guacamole/resource/ByteArrayResource.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.resource;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/resource/ClassPathResource.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/resource/ClassPathResource.java b/guacamole/src/main/java/org/apache/guacamole/resource/ClassPathResource.java
index fb81791..7e5d4cb 100644
--- a/guacamole/src/main/java/org/apache/guacamole/resource/ClassPathResource.java
+++ b/guacamole/src/main/java/org/apache/guacamole/resource/ClassPathResource.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.resource;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/resource/Resource.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/resource/Resource.java b/guacamole/src/main/java/org/apache/guacamole/resource/Resource.java
index 845bd72..b260fc2 100644
--- a/guacamole/src/main/java/org/apache/guacamole/resource/Resource.java
+++ b/guacamole/src/main/java/org/apache/guacamole/resource/Resource.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.resource;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/resource/ResourceServlet.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/resource/ResourceServlet.java b/guacamole/src/main/java/org/apache/guacamole/resource/ResourceServlet.java
index f1af7c6..e6be999 100644
--- a/guacamole/src/main/java/org/apache/guacamole/resource/ResourceServlet.java
+++ b/guacamole/src/main/java/org/apache/guacamole/resource/ResourceServlet.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.resource;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/resource/SequenceResource.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/resource/SequenceResource.java b/guacamole/src/main/java/org/apache/guacamole/resource/SequenceResource.java
index fe407b5..b639e01 100644
--- a/guacamole/src/main/java/org/apache/guacamole/resource/SequenceResource.java
+++ b/guacamole/src/main/java/org/apache/guacamole/resource/SequenceResource.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.resource;
[13/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Remove useless .net.basic subpackage, now that everything is being renamed.
Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/extension/ExtensionManifest.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/extension/ExtensionManifest.java b/guacamole/src/main/java/org/apache/guacamole/extension/ExtensionManifest.java
new file mode 100644
index 0000000..3e2a8ae
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/extension/ExtensionManifest.java
@@ -0,0 +1,407 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.extension;
+
+import java.util.Collection;
+import java.util.Map;
+import org.codehaus.jackson.annotate.JsonProperty;
+
+/**
+ * Java representation of the JSON manifest contained within every Guacamole
+ * extension, identifying an extension and describing its contents.
+ *
+ * @author Michael Jumper
+ */
+public class ExtensionManifest {
+
+ /**
+ * The version of Guacamole for which this extension was built.
+ * Compatibility rules built into the web application will guard against
+ * incompatible extensions being loaded.
+ */
+ private String guacamoleVersion;
+
+ /**
+ * The name of the extension associated with this manifest. The extension
+ * name is human-readable, and used for display purposes only.
+ */
+ private String name;
+
+ /**
+ * The namespace of the extension associated with this manifest. The
+ * extension namespace is required for internal use, and is used wherever
+ * extension-specific files or resources need to be isolated from those of
+ * other extensions.
+ */
+ private String namespace;
+
+ /**
+ * The paths of all JavaScript resources within the .jar of the extension
+ * associated with this manifest.
+ */
+ private Collection<String> javaScriptPaths;
+
+ /**
+ * The paths of all CSS resources within the .jar of the extension
+ * associated with this manifest.
+ */
+ private Collection<String> cssPaths;
+
+ /**
+ * The paths of all HTML patch resources within the .jar of the extension
+ * associated with this manifest.
+ */
+ private Collection<String> htmlPaths;
+
+ /**
+ * The paths of all translation JSON files within this extension, if any.
+ */
+ private Collection<String> translationPaths;
+
+ /**
+ * The mimetypes of all resources within this extension which are not
+ * already declared as JavaScript, CSS, or translation resources, if any.
+ * The key of each entry is the resource path, while the value is the
+ * corresponding mimetype.
+ */
+ private Map<String, String> resourceTypes;
+
+ /**
+ * The names of all authentication provider classes within this extension,
+ * if any.
+ */
+ private Collection<String> authProviders;
+
+ /**
+ * The path to the small favicon. If provided, this will replace the default
+ * Guacamole icon.
+ */
+ private String smallIcon;
+
+ /**
+ * The path to the large favicon. If provided, this will replace the default
+ * Guacamole icon.
+ */
+ private String largeIcon;
+
+ /**
+ * Returns the version of the Guacamole web application for which the
+ * extension was built, such as "0.9.7".
+ *
+ * @return
+ * The version of the Guacamole web application for which the extension
+ * was built.
+ */
+ public String getGuacamoleVersion() {
+ return guacamoleVersion;
+ }
+
+ /**
+ * Sets the version of the Guacamole web application for which the
+ * extension was built, such as "0.9.7".
+ *
+ * @param guacamoleVersion
+ * The version of the Guacamole web application for which the extension
+ * was built.
+ */
+ public void setGuacamoleVersion(String guacamoleVersion) {
+ this.guacamoleVersion = guacamoleVersion;
+ }
+
+ /**
+ * Returns the name of the extension associated with this manifest. The
+ * name is human-readable, for display purposes only, and is defined within
+ * the manifest by the "name" property.
+ *
+ * @return
+ * The name of the extension associated with this manifest.
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * Sets the name of the extension associated with this manifest. The name
+ * is human-readable, for display purposes only, and is defined within the
+ * manifest by the "name" property.
+ *
+ * @param name
+ * The name of the extension associated with this manifest.
+ */
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ /**
+ * Returns the namespace of the extension associated with this manifest.
+ * The namespace is required for internal use, and is used wherever
+ * extension-specific files or resources need to be isolated from those of
+ * other extensions. It is defined within the manifest by the "namespace"
+ * property.
+ *
+ * @return
+ * The namespace of the extension associated with this manifest.
+ */
+ public String getNamespace() {
+ return namespace;
+ }
+
+ /**
+ * Sets the namespace of the extension associated with this manifest. The
+ * namespace is required for internal use, and is used wherever extension-
+ * specific files or resources need to be isolated from those of other
+ * extensions. It is defined within the manifest by the "namespace"
+ * property.
+ *
+ * @param namespace
+ * The namespace of the extension associated with this manifest.
+ */
+ public void setNamespace(String namespace) {
+ this.namespace = namespace;
+ }
+
+ /**
+ * Returns the paths to all JavaScript resources within the extension.
+ * These paths are defined within the manifest by the "js" property as an
+ * array of strings, where each string is a path relative to the root of
+ * the extension .jar.
+ *
+ * @return
+ * A collection of paths to all JavaScript resources within the
+ * extension.
+ */
+ @JsonProperty("js")
+ public Collection<String> getJavaScriptPaths() {
+ return javaScriptPaths;
+ }
+
+ /**
+ * Sets the paths to all JavaScript resources within the extension. These
+ * paths are defined within the manifest by the "js" property as an array
+ * of strings, where each string is a path relative to the root of the
+ * extension .jar.
+ *
+ * @param javaScriptPaths
+ * A collection of paths to all JavaScript resources within the
+ * extension.
+ */
+ @JsonProperty("js")
+ public void setJavaScriptPaths(Collection<String> javaScriptPaths) {
+ this.javaScriptPaths = javaScriptPaths;
+ }
+
+ /**
+ * Returns the paths to all CSS resources within the extension. These paths
+ * are defined within the manifest by the "js" property as an array of
+ * strings, where each string is a path relative to the root of the
+ * extension .jar.
+ *
+ * @return
+ * A collection of paths to all CSS resources within the extension.
+ */
+ @JsonProperty("css")
+ public Collection<String> getCSSPaths() {
+ return cssPaths;
+ }
+
+ /**
+ * Sets the paths to all CSS resources within the extension. These paths
+ * are defined within the manifest by the "js" property as an array of
+ * strings, where each string is a path relative to the root of the
+ * extension .jar.
+ *
+ * @param cssPaths
+ * A collection of paths to all CSS resources within the extension.
+ */
+ @JsonProperty("css")
+ public void setCSSPaths(Collection<String> cssPaths) {
+ this.cssPaths = cssPaths;
+ }
+
+ /**
+ * Returns the paths to all HTML patch resources within the extension. These
+ * paths are defined within the manifest by the "html" property as an array
+ * of strings, where each string is a path relative to the root of the
+ * extension .jar.
+ *
+ * @return
+ * A collection of paths to all HTML patch resources within the
+ * extension.
+ */
+ @JsonProperty("html")
+ public Collection<String> getHTMLPaths() {
+ return htmlPaths;
+ }
+
+ /**
+ * Sets the paths to all HTML patch resources within the extension. These
+ * paths are defined within the manifest by the "html" property as an array
+ * of strings, where each string is a path relative to the root of the
+ * extension .jar.
+ *
+ * @param htmlPatchPaths
+ * A collection of paths to all HTML patch resources within the
+ * extension.
+ */
+ @JsonProperty("html")
+ public void setHTMLPaths(Collection<String> htmlPatchPaths) {
+ this.htmlPaths = htmlPatchPaths;
+ }
+
+ /**
+ * Returns the paths to all translation resources within the extension.
+ * These paths are defined within the manifest by the "translations"
+ * property as an array of strings, where each string is a path relative to
+ * the root of the extension .jar.
+ *
+ * @return
+ * A collection of paths to all translation resources within the
+ * extension.
+ */
+ @JsonProperty("translations")
+ public Collection<String> getTranslationPaths() {
+ return translationPaths;
+ }
+
+ /**
+ * Sets the paths to all translation resources within the extension. These
+ * paths are defined within the manifest by the "translations" property as
+ * an array of strings, where each string is a path relative to the root of
+ * the extension .jar.
+ *
+ * @param translationPaths
+ * A collection of paths to all translation resources within the
+ * extension.
+ */
+ @JsonProperty("translations")
+ public void setTranslationPaths(Collection<String> translationPaths) {
+ this.translationPaths = translationPaths;
+ }
+
+ /**
+ * Returns a map of all resources to their corresponding mimetypes, for all
+ * resources not already declared as JavaScript, CSS, or translation
+ * resources. These paths and corresponding types are defined within the
+ * manifest by the "resources" property as an object, where each property
+ * name is a path relative to the root of the extension .jar, and each
+ * value is a mimetype.
+ *
+ * @return
+ * A map of all resources within the extension to their corresponding
+ * mimetypes.
+ */
+ @JsonProperty("resources")
+ public Map<String, String> getResourceTypes() {
+ return resourceTypes;
+ }
+
+ /**
+ * Sets the map of all resources to their corresponding mimetypes, for all
+ * resources not already declared as JavaScript, CSS, or translation
+ * resources. These paths and corresponding types are defined within the
+ * manifest by the "resources" property as an object, where each property
+ * name is a path relative to the root of the extension .jar, and each
+ * value is a mimetype.
+ *
+ * @param resourceTypes
+ * A map of all resources within the extension to their corresponding
+ * mimetypes.
+ */
+ @JsonProperty("resources")
+ public void setResourceTypes(Map<String, String> resourceTypes) {
+ this.resourceTypes = resourceTypes;
+ }
+
+ /**
+ * Returns the classnames of all authentication provider classes within the
+ * extension. These classnames are defined within the manifest by the
+ * "authProviders" property as an array of strings, where each string is an
+ * authentication provider classname.
+ *
+ * @return
+ * A collection of classnames of all authentication providers within
+ * the extension.
+ */
+ public Collection<String> getAuthProviders() {
+ return authProviders;
+ }
+
+ /**
+ * Sets the classnames of all authentication provider classes within the
+ * extension. These classnames are defined within the manifest by the
+ * "authProviders" property as an array of strings, where each string is an
+ * authentication provider classname.
+ *
+ * @param authProviders
+ * A collection of classnames of all authentication providers within
+ * the extension.
+ */
+ public void setAuthProviders(Collection<String> authProviders) {
+ this.authProviders = authProviders;
+ }
+
+ /**
+ * Returns the path to the small favicon, relative to the root of the
+ * extension.
+ *
+ * @return
+ * The path to the small favicon.
+ */
+ public String getSmallIcon() {
+ return smallIcon;
+ }
+
+ /**
+ * Sets the path to the small favicon. This will replace the default
+ * Guacamole icon.
+ *
+ * @param smallIcon
+ * The path to the small favicon.
+ */
+ public void setSmallIcon(String smallIcon) {
+ this.smallIcon = smallIcon;
+ }
+
+ /**
+ * Returns the path to the large favicon, relative to the root of the
+ * extension.
+ *
+ * @return
+ * The path to the large favicon.
+ */
+ public String getLargeIcon() {
+ return largeIcon;
+ }
+
+ /**
+ * Sets the path to the large favicon. This will replace the default
+ * Guacamole icon.
+ *
+ * @param largeIcon
+ * The path to the large favicon.
+ */
+ public void setLargeIcon(String largeIcon) {
+ this.largeIcon = largeIcon;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/extension/ExtensionModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/extension/ExtensionModule.java b/guacamole/src/main/java/org/apache/guacamole/extension/ExtensionModule.java
new file mode 100644
index 0000000..cb3c0ef
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/extension/ExtensionModule.java
@@ -0,0 +1,450 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.extension;
+
+import com.google.inject.Provides;
+import com.google.inject.servlet.ServletModule;
+import java.io.File;
+import java.io.FileFilter;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import org.apache.guacamole.auth.basic.BasicFileAuthenticationProvider;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.GuacamoleServerException;
+import org.apache.guacamole.environment.Environment;
+import org.apache.guacamole.net.auth.AuthenticationProvider;
+import org.apache.guacamole.properties.BasicGuacamoleProperties;
+import org.apache.guacamole.resource.Resource;
+import org.apache.guacamole.resource.ResourceServlet;
+import org.apache.guacamole.resource.SequenceResource;
+import org.apache.guacamole.resource.WebApplicationResource;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * A Guice Module which loads all extensions within the
+ * GUACAMOLE_HOME/extensions directory, if any.
+ *
+ * @author Michael Jumper
+ */
+public class ExtensionModule extends ServletModule {
+
+ /**
+ * Logger for this class.
+ */
+ private final Logger logger = LoggerFactory.getLogger(ExtensionModule.class);
+
+ /**
+ * The version strings of all Guacamole versions whose extensions are
+ * compatible with this release.
+ */
+ private static final List<String> ALLOWED_GUACAMOLE_VERSIONS =
+ Collections.unmodifiableList(Arrays.asList(
+ "*",
+ "0.9.9"
+ ));
+
+ /**
+ * The name of the directory within GUACAMOLE_HOME containing any .jars
+ * which should be included in the classpath of all extensions.
+ */
+ private static final String LIB_DIRECTORY = "lib";
+
+ /**
+ * The name of the directory within GUACAMOLE_HOME containing all
+ * extensions.
+ */
+ private static final String EXTENSIONS_DIRECTORY = "extensions";
+
+ /**
+ * The string that the filenames of all extensions must end with to be
+ * recognized as extensions.
+ */
+ private static final String EXTENSION_SUFFIX = ".jar";
+
+ /**
+ * The Guacamole server environment.
+ */
+ private final Environment environment;
+
+ /**
+ * All currently-bound authentication providers, if any.
+ */
+ private final List<AuthenticationProvider> boundAuthenticationProviders =
+ new ArrayList<AuthenticationProvider>();
+
+ /**
+ * Service for adding and retrieving language resources.
+ */
+ private final LanguageResourceService languageResourceService;
+
+ /**
+ * Service for adding and retrieving HTML patch resources.
+ */
+ private final PatchResourceService patchResourceService;
+
+ /**
+ * Returns the classloader that should be used as the parent classloader
+ * for all extensions. If the GUACAMOLE_HOME/lib directory exists, this
+ * will be a classloader that loads classes from within the .jar files in
+ * that directory. Lacking the GUACAMOLE_HOME/lib directory, this will
+ * simply be the classloader associated with the ExtensionModule class.
+ *
+ * @return
+ * The classloader that should be used as the parent classloader for
+ * all extensions.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while retrieving the classloader.
+ */
+ private ClassLoader getParentClassLoader() throws GuacamoleException {
+
+ // Retrieve lib directory
+ File libDir = new File(environment.getGuacamoleHome(), LIB_DIRECTORY);
+
+ // If lib directory does not exist, use default class loader
+ if (!libDir.isDirectory())
+ return ExtensionModule.class.getClassLoader();
+
+ // Return classloader which loads classes from all .jars within the lib directory
+ return DirectoryClassLoader.getInstance(libDir);
+
+ }
+
+ /**
+ * Creates a module which loads all extensions within the
+ * GUACAMOLE_HOME/extensions directory.
+ *
+ * @param environment
+ * The environment to use when configuring authentication.
+ */
+ public ExtensionModule(Environment environment) {
+ this.environment = environment;
+ this.languageResourceService = new LanguageResourceService(environment);
+ this.patchResourceService = new PatchResourceService();
+ }
+
+ /**
+ * Reads the value of the now-deprecated "auth-provider" property from
+ * guacamole.properties, returning the corresponding AuthenticationProvider
+ * class. If no authentication provider could be read, or the property is
+ * not present, null is returned.
+ *
+ * As this property is deprecated, this function will also log warning
+ * messages if the property is actually specified.
+ *
+ * @return
+ * The value of the deprecated "auth-provider" property, or null if the
+ * property is not present.
+ */
+ @SuppressWarnings("deprecation") // We must continue to use this property until it is truly no longer supported
+ private Class<AuthenticationProvider> getAuthProviderProperty() {
+
+ // Get and bind auth provider instance, if defined via property
+ try {
+
+ // Use "auth-provider" property if present, but warn about deprecation
+ Class<AuthenticationProvider> authenticationProvider = environment.getProperty(BasicGuacamoleProperties.AUTH_PROVIDER);
+ if (authenticationProvider != null)
+ logger.warn("The \"auth-provider\" and \"lib-directory\" properties are now deprecated. Please use the \"extensions\" and \"lib\" directories within GUACAMOLE_HOME instead.");
+
+ return authenticationProvider;
+
+ }
+ catch (GuacamoleException e) {
+ logger.warn("Value of deprecated \"auth-provider\" property within guacamole.properties is not valid: {}", e.getMessage());
+ logger.debug("Error reading authentication provider from guacamole.properties.", e);
+ }
+
+ return null;
+
+ }
+
+ /**
+ * Binds the given AuthenticationProvider class such that any service
+ * requiring access to the AuthenticationProvider can obtain it via
+ * injection, along with any other bound AuthenticationProviders.
+ *
+ * @param authenticationProvider
+ * The AuthenticationProvider class to bind.
+ */
+ private void bindAuthenticationProvider(Class<? extends AuthenticationProvider> authenticationProvider) {
+
+ // Bind authentication provider
+ logger.debug("[{}] Binding AuthenticationProvider \"{}\".",
+ boundAuthenticationProviders.size(), authenticationProvider.getName());
+ boundAuthenticationProviders.add(new AuthenticationProviderFacade(authenticationProvider));
+
+ }
+
+ /**
+ * Binds each of the the given AuthenticationProvider classes such that any
+ * service requiring access to the AuthenticationProvider can obtain it via
+ * injection.
+ *
+ * @param authProviders
+ * The AuthenticationProvider classes to bind.
+ */
+ private void bindAuthenticationProviders(Collection<Class<AuthenticationProvider>> authProviders) {
+
+ // Bind each authentication provider within extension
+ for (Class<AuthenticationProvider> authenticationProvider : authProviders)
+ bindAuthenticationProvider(authenticationProvider);
+
+ }
+
+ /**
+ * Returns a list of all currently-bound AuthenticationProvider instances.
+ *
+ * @return
+ * A List of all currently-bound AuthenticationProvider. The List is
+ * not modifiable.
+ */
+ @Provides
+ public List<AuthenticationProvider> getAuthenticationProviders() {
+ return Collections.unmodifiableList(boundAuthenticationProviders);
+ }
+
+ /**
+ * Serves each of the given resources as a language resource. Language
+ * resources are served from within the "/translations" directory as JSON
+ * files, where the name of each JSON file is the language key.
+ *
+ * @param resources
+ * A map of all language resources to serve, where the key of each
+ * entry in the language key from which the name of the JSON file will
+ * be derived.
+ */
+ private void serveLanguageResources(Map<String, Resource> resources) {
+
+ // Add all resources to language resource service
+ for (Map.Entry<String, Resource> translationResource : resources.entrySet()) {
+
+ // Get path and resource from path/resource pair
+ String path = translationResource.getKey();
+ Resource resource = translationResource.getValue();
+
+ // Derive key from path
+ String languageKey = languageResourceService.getLanguageKey(path);
+ if (languageKey == null) {
+ logger.warn("Invalid language file name: \"{}\"", path);
+ continue;
+ }
+
+ // Add language resource
+ languageResourceService.addLanguageResource(languageKey, resource);
+
+ }
+
+ }
+
+ /**
+ * Serves each of the given resources under the given prefix. The path of
+ * each resource relative to the prefix is the key of its entry within the
+ * map.
+ *
+ * @param prefix
+ * The prefix under which each resource should be served.
+ *
+ * @param resources
+ * A map of all resources to serve, where the key of each entry in the
+ * map is the desired path of that resource relative to the prefix.
+ */
+ private void serveStaticResources(String prefix, Map<String, Resource> resources) {
+
+ // Add all resources under given prefix
+ for (Map.Entry<String, Resource> staticResource : resources.entrySet()) {
+
+ // Get path and resource from path/resource pair
+ String path = staticResource.getKey();
+ Resource resource = staticResource.getValue();
+
+ // Serve within namespace-derived path
+ serve(prefix + path).with(new ResourceServlet(resource));
+
+ }
+
+ }
+
+ /**
+ * Returns whether the given version of Guacamole is compatible with this
+ * version of Guacamole as far as extensions are concerned.
+ *
+ * @param guacamoleVersion
+ * The version of Guacamole the extension was built for.
+ *
+ * @return
+ * true if the given version of Guacamole is compatible with this
+ * version of Guacamole, false otherwise.
+ */
+ private boolean isCompatible(String guacamoleVersion) {
+ return ALLOWED_GUACAMOLE_VERSIONS.contains(guacamoleVersion);
+ }
+
+ /**
+ * Loads all extensions within the GUACAMOLE_HOME/extensions directory, if
+ * any, adding their static resource to the given resoure collections.
+ *
+ * @param javaScriptResources
+ * A modifiable collection of static JavaScript resources which may
+ * receive new JavaScript resources from extensions.
+ *
+ * @param cssResources
+ * A modifiable collection of static CSS resources which may receive
+ * new CSS resources from extensions.
+ */
+ private void loadExtensions(Collection<Resource> javaScriptResources,
+ Collection<Resource> cssResources) {
+
+ // Retrieve and validate extensions directory
+ File extensionsDir = new File(environment.getGuacamoleHome(), EXTENSIONS_DIRECTORY);
+ if (!extensionsDir.isDirectory())
+ return;
+
+ // Retrieve list of all extension files within extensions directory
+ File[] extensionFiles = extensionsDir.listFiles(new FileFilter() {
+
+ @Override
+ public boolean accept(File file) {
+ return file.isFile() && file.getName().endsWith(EXTENSION_SUFFIX);
+ }
+
+ });
+
+ // Verify contents are accessible
+ if (extensionFiles == null) {
+ logger.warn("Although GUACAMOLE_HOME/" + EXTENSIONS_DIRECTORY + " exists, its contents cannot be read.");
+ return;
+ }
+
+ // Sort files lexicographically
+ Arrays.sort(extensionFiles);
+
+ // Load each extension within the extension directory
+ for (File extensionFile : extensionFiles) {
+
+ logger.debug("Loading extension: \"{}\"", extensionFile.getName());
+
+ try {
+
+ // Load extension from file
+ Extension extension = new Extension(getParentClassLoader(), extensionFile);
+
+ // Validate Guacamole version of extension
+ if (!isCompatible(extension.getGuacamoleVersion())) {
+ logger.debug("Declared Guacamole version \"{}\" of extension \"{}\" is not compatible with this version of Guacamole.",
+ extension.getGuacamoleVersion(), extensionFile.getName());
+ throw new GuacamoleServerException("Extension \"" + extension.getName() + "\" is not "
+ + "compatible with this version of Guacamole.");
+ }
+
+ // Add any JavaScript / CSS resources
+ javaScriptResources.addAll(extension.getJavaScriptResources().values());
+ cssResources.addAll(extension.getCSSResources().values());
+
+ // Attempt to load all authentication providers
+ bindAuthenticationProviders(extension.getAuthenticationProviderClasses());
+
+ // Add any translation resources
+ serveLanguageResources(extension.getTranslationResources());
+
+ // Add all HTML patch resources
+ patchResourceService.addPatchResources(extension.getHTMLResources().values());
+
+ // Add all static resources under namespace-derived prefix
+ String staticResourcePrefix = "/app/ext/" + extension.getNamespace() + "/";
+ serveStaticResources(staticResourcePrefix, extension.getStaticResources());
+
+ // Serve up the small favicon if provided
+ if(extension.getSmallIcon() != null)
+ serve("/images/logo-64.png").with(new ResourceServlet(extension.getSmallIcon()));
+
+ // Serve up the large favicon if provided
+ if(extension.getLargeIcon()!= null)
+ serve("/images/logo-144.png").with(new ResourceServlet(extension.getLargeIcon()));
+
+ // Log successful loading of extension by name
+ logger.info("Extension \"{}\" loaded.", extension.getName());
+
+ }
+ catch (GuacamoleException e) {
+ logger.error("Extension \"{}\" could not be loaded: {}", extensionFile.getName(), e.getMessage());
+ logger.debug("Unable to load extension.", e);
+ }
+
+ }
+
+ }
+
+ @Override
+ protected void configureServlets() {
+
+ // Bind resource services
+ bind(LanguageResourceService.class).toInstance(languageResourceService);
+ bind(PatchResourceService.class).toInstance(patchResourceService);
+
+ // Load initial language resources from servlet context
+ languageResourceService.addLanguageResources(getServletContext());
+
+ // Load authentication provider from guacamole.properties for sake of backwards compatibility
+ Class<AuthenticationProvider> authProviderProperty = getAuthProviderProperty();
+ if (authProviderProperty != null)
+ bindAuthenticationProvider(authProviderProperty);
+
+ // Init JavaScript resources with base guacamole.min.js
+ Collection<Resource> javaScriptResources = new ArrayList<Resource>();
+ javaScriptResources.add(new WebApplicationResource(getServletContext(), "/guacamole.min.js"));
+
+ // Init CSS resources with base guacamole.min.css
+ Collection<Resource> cssResources = new ArrayList<Resource>();
+ cssResources.add(new WebApplicationResource(getServletContext(), "/guacamole.min.css"));
+
+ // Load all extensions
+ loadExtensions(javaScriptResources, cssResources);
+
+ // Always bind basic auth last
+ bindAuthenticationProvider(BasicFileAuthenticationProvider.class);
+
+ // Dynamically generate app.js and app.css from extensions
+ serve("/app.js").with(new ResourceServlet(new SequenceResource(javaScriptResources)));
+ serve("/app.css").with(new ResourceServlet(new SequenceResource(cssResources)));
+
+ // Dynamically serve all language resources
+ for (Map.Entry<String, Resource> entry : languageResourceService.getLanguageResources().entrySet()) {
+
+ // Get language key/resource pair
+ String languageKey = entry.getKey();
+ Resource resource = entry.getValue();
+
+ // Serve resource within /translations
+ serve("/translations/" + languageKey + ".json").with(new ResourceServlet(resource));
+
+ }
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/extension/LanguageResourceService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/extension/LanguageResourceService.java b/guacamole/src/main/java/org/apache/guacamole/extension/LanguageResourceService.java
new file mode 100644
index 0000000..c043887
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/extension/LanguageResourceService.java
@@ -0,0 +1,442 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.extension;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+import javax.servlet.ServletContext;
+import org.codehaus.jackson.JsonNode;
+import org.codehaus.jackson.map.ObjectMapper;
+import org.codehaus.jackson.node.JsonNodeFactory;
+import org.codehaus.jackson.node.ObjectNode;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.environment.Environment;
+import org.apache.guacamole.properties.BasicGuacamoleProperties;
+import org.apache.guacamole.resource.ByteArrayResource;
+import org.apache.guacamole.resource.Resource;
+import org.apache.guacamole.resource.WebApplicationResource;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Service which provides access to all built-in languages as resources, and
+ * allows other resources to be added or overlaid against existing resources.
+ *
+ * @author Michael Jumper
+ */
+public class LanguageResourceService {
+
+ /**
+ * Logger for this class.
+ */
+ private final Logger logger = LoggerFactory.getLogger(LanguageResourceService.class);
+
+ /**
+ * The path to the translation folder within the webapp.
+ */
+ private static final String TRANSLATION_PATH = "/translations";
+
+ /**
+ * The JSON property for the human readable display name.
+ */
+ private static final String LANGUAGE_DISPLAY_NAME_KEY = "NAME";
+
+ /**
+ * The Jackson parser for parsing the language JSON files.
+ */
+ private static final ObjectMapper mapper = new ObjectMapper();
+
+ /**
+ * The regular expression to use for parsing the language key from the
+ * filename.
+ */
+ private static final Pattern LANGUAGE_KEY_PATTERN = Pattern.compile(".*/([a-z]+(_[A-Z]+)?)\\.json");
+
+ /**
+ * The set of all language keys which are explicitly listed as allowed
+ * within guacamole.properties, or null if all defined languages should be
+ * allowed.
+ */
+ private final Set<String> allowedLanguages;
+
+ /**
+ * Map of all language resources by language key. Language keys are
+ * language and country code pairs, separated by an underscore, like
+ * "en_US". The country code and underscore SHOULD be omitted in the case
+ * that only one dialect of that language is defined, or in the case of the
+ * most universal or well-supported of all supported dialects of that
+ * language.
+ */
+ private final Map<String, Resource> resources = new HashMap<String, Resource>();
+
+ /**
+ * Creates a new service for tracking and parsing available translations
+ * which reads its configuration from the given environment.
+ *
+ * @param environment
+ * The environment from which the configuration properties of this
+ * service should be read.
+ */
+ public LanguageResourceService(Environment environment) {
+
+ Set<String> parsedAllowedLanguages;
+
+ // Parse list of available languages from properties
+ try {
+ parsedAllowedLanguages = environment.getProperty(BasicGuacamoleProperties.ALLOWED_LANGUAGES);
+ logger.debug("Available languages will be restricted to: {}", parsedAllowedLanguages);
+ }
+
+ // Warn of failure to parse
+ catch (GuacamoleException e) {
+ parsedAllowedLanguages = null;
+ logger.error("Unable to parse list of allowed languages: {}", e.getMessage());
+ logger.debug("Error parsing list of allowed languages.", e);
+ }
+
+ this.allowedLanguages = parsedAllowedLanguages;
+
+ }
+
+ /**
+ * Derives a language key from the filename within the given path, if
+ * possible. If the filename is not a valid language key, null is returned.
+ *
+ * @param path
+ * The path containing the filename to derive the language key from.
+ *
+ * @return
+ * The derived language key, or null if the filename is not a valid
+ * language key.
+ */
+ public String getLanguageKey(String path) {
+
+ // Parse language key from filename
+ Matcher languageKeyMatcher = LANGUAGE_KEY_PATTERN.matcher(path);
+ if (!languageKeyMatcher.matches())
+ return null;
+
+ // Return parsed key
+ return languageKeyMatcher.group(1);
+
+ }
+
+ /**
+ * Merges the given JSON objects. Any leaf node in overlay will overwrite
+ * the corresponding path in original.
+ *
+ * @param original
+ * The original JSON object to which changes should be applied.
+ *
+ * @param overlay
+ * The JSON object containing changes that should be applied.
+ *
+ * @return
+ * The newly constructed JSON object that is the result of merging
+ * original and overlay.
+ */
+ private JsonNode mergeTranslations(JsonNode original, JsonNode overlay) {
+
+ // If we are at a leaf node, the result of merging is simply the overlay
+ if (!overlay.isObject() || original == null)
+ return overlay;
+
+ // Create mutable copy of original
+ ObjectNode newNode = JsonNodeFactory.instance.objectNode();
+ Iterator<String> fieldNames = original.getFieldNames();
+ while (fieldNames.hasNext()) {
+ String fieldName = fieldNames.next();
+ newNode.put(fieldName, original.get(fieldName));
+ }
+
+ // Merge each field
+ fieldNames = overlay.getFieldNames();
+ while (fieldNames.hasNext()) {
+ String fieldName = fieldNames.next();
+ newNode.put(fieldName, mergeTranslations(original.get(fieldName), overlay.get(fieldName)));
+ }
+
+ return newNode;
+
+ }
+
+ /**
+ * Parses the given language resource, returning the resulting JsonNode.
+ * If the resource cannot be read because it does not exist, null is
+ * returned.
+ *
+ * @param resource
+ * The language resource to parse. Language resources must have the
+ * mimetype "application/json".
+ *
+ * @return
+ * A JsonNode representing the root of the parsed JSON tree, or null if
+ * the given resource does not exist.
+ *
+ * @throws IOException
+ * If an error occurs while parsing the resource as JSON.
+ */
+ private JsonNode parseLanguageResource(Resource resource) throws IOException {
+
+ // Get resource stream
+ InputStream stream = resource.asStream();
+ if (stream == null)
+ return null;
+
+ // Parse JSON tree
+ try {
+ JsonNode tree = mapper.readTree(stream);
+ return tree;
+ }
+
+ // Ensure stream is always closed
+ finally {
+ stream.close();
+ }
+
+ }
+
+ /**
+ * Returns whether a language having the given key should be allowed to be
+ * loaded. If language availability restrictions are imposed through
+ * guacamole.properties, this may return false in some cases. By default,
+ * this function will always return true. Note that just because a language
+ * key is allowed to be loaded does not imply that the language key is
+ * valid.
+ *
+ * @param languageKey
+ * The language key of the language to test.
+ *
+ * @return
+ * true if the given language key should be allowed to be loaded, false
+ * otherwise.
+ */
+ private boolean isLanguageAllowed(String languageKey) {
+
+ // If no list is provided, all languages are implicitly available
+ if (allowedLanguages == null)
+ return true;
+
+ return allowedLanguages.contains(languageKey);
+
+ }
+
+ /**
+ * Adds or overlays the given language resource, which need not exist in
+ * the ServletContext. If a language resource is already defined for the
+ * given language key, the strings from the given resource will be overlaid
+ * on top of the existing strings, augmenting or overriding the available
+ * strings for that language.
+ *
+ * @param key
+ * The language key of the resource being added. Language keys are
+ * pairs consisting of a language code followed by an underscore and
+ * country code, such as "en_US".
+ *
+ * @param resource
+ * The language resource to add. This resource must have the mimetype
+ * "application/json".
+ */
+ public void addLanguageResource(String key, Resource resource) {
+
+ // Skip loading of language if not allowed
+ if (!isLanguageAllowed(key)) {
+ logger.debug("OMITTING language: \"{}\"", key);
+ return;
+ }
+
+ // Merge language resources if already defined
+ Resource existing = resources.get(key);
+ if (existing != null) {
+
+ try {
+
+ // Read the original language resource
+ JsonNode existingTree = parseLanguageResource(existing);
+ if (existingTree == null) {
+ logger.warn("Base language resource \"{}\" does not exist.", key);
+ return;
+ }
+
+ // Read new language resource
+ JsonNode resourceTree = parseLanguageResource(resource);
+ if (resourceTree == null) {
+ logger.warn("Overlay language resource \"{}\" does not exist.", key);
+ return;
+ }
+
+ // Merge the language resources
+ JsonNode mergedTree = mergeTranslations(existingTree, resourceTree);
+ resources.put(key, new ByteArrayResource("application/json", mapper.writeValueAsBytes(mergedTree)));
+
+ logger.debug("Merged strings with existing language: \"{}\"", key);
+
+ }
+ catch (IOException e) {
+ logger.error("Unable to merge language resource \"{}\": {}", key, e.getMessage());
+ logger.debug("Error merging language resource.", e);
+ }
+
+ }
+
+ // Otherwise, add new language resource
+ else {
+ resources.put(key, resource);
+ logger.debug("Added language: \"{}\"", key);
+ }
+
+ }
+
+ /**
+ * Adds or overlays all languages defined within the /translations
+ * directory of the given ServletContext. If no such language files exist,
+ * nothing is done. If a language is already defined, the strings from the
+ * will be overlaid on top of the existing strings, augmenting or
+ * overriding the available strings for that language. The language key
+ * for each language file is derived from the filename.
+ *
+ * @param context
+ * The ServletContext from which language files should be loaded.
+ */
+ public void addLanguageResources(ServletContext context) {
+
+ // Get the paths of all the translation files
+ Set<?> resourcePaths = context.getResourcePaths(TRANSLATION_PATH);
+
+ // If no translation files found, nothing to add
+ if (resourcePaths == null)
+ return;
+
+ // Iterate through all the found language files and add them to the map
+ for (Object resourcePathObject : resourcePaths) {
+
+ // Each resource path is guaranteed to be a string
+ String resourcePath = (String) resourcePathObject;
+
+ // Parse language key from path
+ String languageKey = getLanguageKey(resourcePath);
+ if (languageKey == null) {
+ logger.warn("Invalid language file name: \"{}\"", resourcePath);
+ continue;
+ }
+
+ // Add/overlay new resource
+ addLanguageResource(
+ languageKey,
+ new WebApplicationResource(context, "application/json", resourcePath)
+ );
+
+ }
+
+ }
+
+ /**
+ * Returns a set of all unique language keys currently associated with
+ * language resources stored in this service. The returned set cannot be
+ * modified.
+ *
+ * @return
+ * A set of all unique language keys currently associated with this
+ * service.
+ */
+ public Set<String> getLanguageKeys() {
+ return Collections.unmodifiableSet(resources.keySet());
+ }
+
+ /**
+ * Returns a map of all languages currently associated with this service,
+ * where the key of each map entry is the language key. The returned map
+ * cannot be modified.
+ *
+ * @return
+ * A map of all languages currently associated with this service.
+ */
+ public Map<String, Resource> getLanguageResources() {
+ return Collections.unmodifiableMap(resources);
+ }
+
+ /**
+ * Returns a mapping of all language keys to their corresponding human-
+ * readable language names. If an error occurs while parsing a language
+ * resource, its key/name pair will simply be omitted. The returned map
+ * cannot be modified.
+ *
+ * @return
+ * A map of all language keys and their corresponding human-readable
+ * names.
+ */
+ public Map<String, String> getLanguageNames() {
+
+ Map<String, String> languageNames = new HashMap<String, String>();
+
+ // For each language key/resource pair
+ for (Map.Entry<String, Resource> entry : resources.entrySet()) {
+
+ // Get language key and resource
+ String languageKey = entry.getKey();
+ Resource resource = entry.getValue();
+
+ // Get stream for resource
+ InputStream resourceStream = resource.asStream();
+ if (resourceStream == null) {
+ logger.warn("Expected language resource does not exist: \"{}\".", languageKey);
+ continue;
+ }
+
+ // Get name node of language
+ try {
+ JsonNode tree = mapper.readTree(resourceStream);
+ JsonNode nameNode = tree.get(LANGUAGE_DISPLAY_NAME_KEY);
+
+ // Attempt to read language name from node
+ String languageName;
+ if (nameNode == null || (languageName = nameNode.getTextValue()) == null) {
+ logger.warn("Root-level \"" + LANGUAGE_DISPLAY_NAME_KEY + "\" string missing or invalid in language \"{}\"", languageKey);
+ languageName = languageKey;
+ }
+
+ // Add language key/name pair to map
+ languageNames.put(languageKey, languageName);
+
+ }
+
+ // Continue with next language if unable to read
+ catch (IOException e) {
+ logger.warn("Unable to read language resource \"{}\".", languageKey);
+ logger.debug("Error reading language resource.", e);
+ }
+
+ }
+
+ return Collections.unmodifiableMap(languageNames);
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/extension/PatchResourceService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/extension/PatchResourceService.java b/guacamole/src/main/java/org/apache/guacamole/extension/PatchResourceService.java
new file mode 100644
index 0000000..e0c1c0b
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/extension/PatchResourceService.java
@@ -0,0 +1,84 @@
+/*
+ * Copyright (C) 2016 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.
+ */
+
+package org.apache.guacamole.extension;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import org.apache.guacamole.resource.Resource;
+
+/**
+ * Service which provides access to all HTML patches as resources, and allows
+ * other patch resources to be added.
+ *
+ * @author Michael Jumper
+ */
+public class PatchResourceService {
+
+ /**
+ * A list of all HTML patch resources currently defined, in the order they
+ * should be applied.
+ */
+ private final List<Resource> resources = new ArrayList<Resource>();
+
+ /**
+ * Adds the given HTML patch resource such that it will apply to the
+ * Guacamole UI. The patch will be applied by the JavaScript side of the
+ * web application in the order that addPatchResource() is invoked.
+ *
+ * @param resource
+ * The HTML patch resource to add. This resource must have the mimetype
+ * "text/html".
+ */
+ public void addPatchResource(Resource resource) {
+ resources.add(resource);
+ }
+
+ /**
+ * Adds the given HTML patch resources such that they will apply to the
+ * Guacamole UI. The patches will be applied by the JavaScript side of the
+ * web application in the order provided.
+ *
+ * @param resources
+ * The HTML patch resources to add. Each resource must have the
+ * mimetype "text/html".
+ */
+ public void addPatchResources(Collection<Resource> resources) {
+ for (Resource resource : resources)
+ addPatchResource(resource);
+ }
+
+ /**
+ * Returns a list of all HTML patches currently associated with this
+ * service, in the order they should be applied. The returned list cannot
+ * be modified.
+ *
+ * @return
+ * A list of all HTML patches currently associated with this service.
+ */
+ public List<Resource> getPatchResources() {
+ return Collections.unmodifiableList(resources);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/extension/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/extension/package-info.java b/guacamole/src/main/java/org/apache/guacamole/extension/package-info.java
new file mode 100644
index 0000000..02f4afc
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/extension/package-info.java
@@ -0,0 +1,27 @@
+/*
+ * 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.
+ */
+
+/**
+ * Classes which represent and facilitate the loading of extensions to the
+ * Guacamole web application.
+ */
+package org.apache.guacamole.extension;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/log/LogModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/log/LogModule.java b/guacamole/src/main/java/org/apache/guacamole/log/LogModule.java
new file mode 100644
index 0000000..67e93c4
--- /dev/null
+++ b/guacamole/src/main/java/org/apache/guacamole/log/LogModule.java
@@ -0,0 +1,99 @@
+/*
+ * 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.
+ */
+
+package org.apache.guacamole.log;
+
+import ch.qos.logback.classic.LoggerContext;
+import ch.qos.logback.classic.joran.JoranConfigurator;
+import ch.qos.logback.core.joran.spi.JoranException;
+import ch.qos.logback.core.util.StatusPrinter;
+import com.google.inject.AbstractModule;
+import java.io.File;
+import org.apache.guacamole.environment.Environment;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Initializes the logging subsystem.
+ *
+ * @author Michael Jumper
+ */
+public class LogModule extends AbstractModule {
+
+ /**
+ * Logger for this class.
+ */
+ private final Logger logger = LoggerFactory.getLogger(LogModule.class);
+
+ /**
+ * The Guacamole server environment.
+ */
+ private final Environment environment;
+
+ /**
+ * Creates a new LogModule which uses the given environment to determine
+ * the logging configuration.
+ *
+ * @param environment
+ * The environment to use when configuring logging.
+ */
+ public LogModule(Environment environment) {
+ this.environment = environment;
+ }
+
+ @Override
+ protected void configure() {
+
+ // Only load logback configuration if GUACAMOLE_HOME exists
+ File guacamoleHome = environment.getGuacamoleHome();
+ if (!guacamoleHome.isDirectory())
+ return;
+
+ // Check for custom logback.xml
+ File logbackConfiguration = new File(guacamoleHome, "logback.xml");
+ if (!logbackConfiguration.exists())
+ return;
+
+ logger.info("Loading logback configuration from \"{}\".", logbackConfiguration);
+
+ LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
+ context.reset();
+
+ try {
+
+ // Initialize logback
+ JoranConfigurator configurator = new JoranConfigurator();
+ configurator.setContext(context);
+ configurator.doConfigure(logbackConfiguration);
+
+ // Dump any errors that occur during logback init
+ StatusPrinter.printInCaseOfErrorsOrWarnings(context);
+
+ }
+ catch (JoranException e) {
+ logger.error("Initialization of logback failed: {}", e.getMessage());
+ logger.debug("Unable to load logback configuration..", e);
+ }
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/BasicFileAuthenticationProvider.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/BasicFileAuthenticationProvider.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/BasicFileAuthenticationProvider.java
deleted file mode 100644
index 7fe6bbd..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/BasicFileAuthenticationProvider.java
+++ /dev/null
@@ -1,218 +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.
- */
-
-package org.apache.guacamole.net.basic;
-
-import java.io.BufferedInputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Map;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.environment.Environment;
-import org.apache.guacamole.environment.LocalEnvironment;
-import org.apache.guacamole.net.auth.Credentials;
-import org.apache.guacamole.net.auth.simple.SimpleAuthenticationProvider;
-import org.apache.guacamole.net.basic.auth.Authorization;
-import org.apache.guacamole.net.basic.auth.UserMapping;
-import org.apache.guacamole.xml.DocumentHandler;
-import org.apache.guacamole.net.basic.xml.usermapping.UserMappingTagHandler;
-import org.apache.guacamole.properties.FileGuacamoleProperty;
-import org.apache.guacamole.protocol.GuacamoleConfiguration;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.XMLReader;
-import org.xml.sax.helpers.XMLReaderFactory;
-
-/**
- * Authenticates users against a static list of username/password pairs.
- * Each username/password may be associated with multiple configurations.
- * This list is stored in an XML file which is reread if modified.
- *
- * @author Michael Jumper, Michal Kotas
- */
-public class BasicFileAuthenticationProvider extends SimpleAuthenticationProvider {
-
- /**
- * Logger for this class.
- */
- private final Logger logger = LoggerFactory.getLogger(BasicFileAuthenticationProvider.class);
-
- /**
- * The time the user mapping file was last modified. If the file has never
- * been read, and thus no modification time exists, this will be
- * Long.MIN_VALUE.
- */
- private long lastModified = Long.MIN_VALUE;
-
- /**
- * The parsed UserMapping read when the user mapping file was last parsed.
- */
- private UserMapping cachedUserMapping;
-
- /**
- * Guacamole server environment.
- */
- private final Environment environment;
-
- /**
- * The XML file to read the user mapping from.
- */
- public static final FileGuacamoleProperty BASIC_USER_MAPPING = new FileGuacamoleProperty() {
-
- @Override
- public String getName() { return "basic-user-mapping"; }
-
- };
-
- /**
- * The default filename to use for the user mapping, if not defined within
- * guacamole.properties.
- */
- public static final String DEFAULT_USER_MAPPING = "user-mapping.xml";
-
- /**
- * Creates a new BasicFileAuthenticationProvider that authenticates users
- * against simple, monolithic XML file.
- *
- * @throws GuacamoleException
- * If a required property is missing, or an error occurs while parsing
- * a property.
- */
- public BasicFileAuthenticationProvider() throws GuacamoleException {
- environment = new LocalEnvironment();
- }
-
- @Override
- public String getIdentifier() {
- return "default";
- }
-
- /**
- * Returns a UserMapping containing all authorization data given within
- * the XML file specified by the "basic-user-mapping" property in
- * guacamole.properties. If the XML file has been modified or has not yet
- * been read, this function may reread the file.
- *
- * @return
- * A UserMapping containing all authorization data within the user
- * mapping XML file, or null if the file cannot be found/parsed.
- */
- private UserMapping getUserMapping() {
-
- // Get user mapping file, defaulting to GUACAMOLE_HOME/user-mapping.xml
- File userMappingFile;
- try {
- userMappingFile = environment.getProperty(BASIC_USER_MAPPING);
- if (userMappingFile == null)
- userMappingFile = new File(environment.getGuacamoleHome(), DEFAULT_USER_MAPPING);
- }
-
- // Abort if property cannot be parsed
- catch (GuacamoleException e) {
- logger.warn("Unable to read user mapping filename from properties: {}", e.getMessage());
- logger.debug("Error parsing user mapping property.", e);
- return null;
- }
-
- // Abort if user mapping does not exist
- if (!userMappingFile.exists()) {
- logger.debug("User mapping file \"{}\" does not exist and will not be read.", userMappingFile);
- return null;
- }
-
- // Refresh user mapping if file has changed
- if (lastModified < userMappingFile.lastModified()) {
-
- logger.debug("Reading user mapping file: \"{}\"", userMappingFile);
-
- // Parse document
- try {
-
- // Get handler for root element
- UserMappingTagHandler userMappingHandler =
- new UserMappingTagHandler();
-
- // Set up document handler
- DocumentHandler contentHandler = new DocumentHandler(
- "user-mapping", userMappingHandler);
-
- // Set up XML parser
- XMLReader parser = XMLReaderFactory.createXMLReader();
- parser.setContentHandler(contentHandler);
-
- // Read and parse file
- InputStream input = new BufferedInputStream(new FileInputStream(userMappingFile));
- parser.parse(new InputSource(input));
- input.close();
-
- // Store mod time and user mapping
- lastModified = userMappingFile.lastModified();
- cachedUserMapping = userMappingHandler.asUserMapping();
-
- }
-
- // If the file is unreadable, return no mapping
- catch (IOException e) {
- logger.warn("Unable to read user mapping file \"{}\": {}", userMappingFile, e.getMessage());
- logger.debug("Error reading user mapping file.", e);
- return null;
- }
-
- // If the file cannot be parsed, return no mapping
- catch (SAXException e) {
- logger.warn("User mapping file \"{}\" is not valid: {}", userMappingFile, e.getMessage());
- logger.debug("Error parsing user mapping file.", e);
- return null;
- }
-
- }
-
- // Return (possibly cached) user mapping
- return cachedUserMapping;
-
- }
-
- @Override
- public Map<String, GuacamoleConfiguration>
- getAuthorizedConfigurations(Credentials credentials)
- throws GuacamoleException {
-
- // Abort authorization if no user mapping exists
- UserMapping userMapping = getUserMapping();
- if (userMapping == null)
- return null;
-
- // Validate and return info for given user and pass
- Authorization auth = userMapping.getAuthorization(credentials.getUsername());
- if (auth != null && auth.validate(credentials.getUsername(), credentials.getPassword()))
- return auth.getConfigurations();
-
- // Unauthorized
- return null;
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/BasicGuacamoleTunnelServlet.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/BasicGuacamoleTunnelServlet.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/BasicGuacamoleTunnelServlet.java
deleted file mode 100644
index d2bff1a..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/BasicGuacamoleTunnelServlet.java
+++ /dev/null
@@ -1,67 +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.
- */
-
-package org.apache.guacamole.net.basic;
-
-import com.google.inject.Inject;
-import com.google.inject.Singleton;
-import javax.servlet.http.HttpServletRequest;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.net.GuacamoleTunnel;
-import org.apache.guacamole.servlet.GuacamoleHTTPTunnelServlet;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Connects users to a tunnel associated with the authorized connection
- * having the given ID.
- *
- * @author Michael Jumper
- */
-@Singleton
-public class BasicGuacamoleTunnelServlet extends GuacamoleHTTPTunnelServlet {
-
- /**
- * Service for handling tunnel requests.
- */
- @Inject
- private TunnelRequestService tunnelRequestService;
-
- /**
- * Logger for this class.
- */
- private static final Logger logger = LoggerFactory.getLogger(BasicGuacamoleTunnelServlet.class);
-
- @Override
- protected GuacamoleTunnel doConnect(HttpServletRequest request) throws GuacamoleException {
-
- // Attempt to create HTTP tunnel
- GuacamoleTunnel tunnel = tunnelRequestService.createTunnel(new HTTPTunnelRequest(request));
-
- // If successful, warn of lack of WebSocket
- logger.info("Using HTTP tunnel (not WebSocket). Performance may be sub-optimal.");
-
- return tunnel;
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/BasicServletContextListener.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/BasicServletContextListener.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/BasicServletContextListener.java
deleted file mode 100644
index 3bf6b9e..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/BasicServletContextListener.java
+++ /dev/null
@@ -1,103 +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.
- */
-
-package org.apache.guacamole.net.basic;
-
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-import com.google.inject.Stage;
-import com.google.inject.servlet.GuiceServletContextListener;
-import javax.servlet.ServletContextEvent;
-import org.apache.guacamole.GuacamoleException;
-import org.apache.guacamole.environment.Environment;
-import org.apache.guacamole.environment.LocalEnvironment;
-import org.apache.guacamole.net.basic.extension.ExtensionModule;
-import org.apache.guacamole.net.basic.log.LogModule;
-import org.apache.guacamole.net.basic.rest.RESTServiceModule;
-import org.apache.guacamole.net.basic.rest.auth.BasicTokenSessionMap;
-import org.apache.guacamole.net.basic.rest.auth.TokenSessionMap;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A ServletContextListener to listen for initialization of the servlet context
- * in order to set up dependency injection.
- *
- * @author James Muehlner
- */
-public class BasicServletContextListener extends GuiceServletContextListener {
-
- /**
- * Logger for this class.
- */
- private final Logger logger = LoggerFactory.getLogger(BasicServletContextListener.class);
-
- /**
- * The Guacamole server environment.
- */
- private Environment environment;
-
- /**
- * Singleton instance of a TokenSessionMap.
- */
- private TokenSessionMap sessionMap;
-
- @Override
- public void contextInitialized(ServletContextEvent servletContextEvent) {
-
- try {
- environment = new LocalEnvironment();
- sessionMap = new BasicTokenSessionMap(environment);
- }
- catch (GuacamoleException e) {
- logger.error("Unable to read guacamole.properties: {}", e.getMessage());
- logger.debug("Error reading guacamole.properties.", e);
- throw new RuntimeException(e);
- }
-
- super.contextInitialized(servletContextEvent);
-
- }
-
- @Override
- protected Injector getInjector() {
- return Guice.createInjector(Stage.PRODUCTION,
- new EnvironmentModule(environment),
- new LogModule(environment),
- new ExtensionModule(environment),
- new RESTServiceModule(sessionMap),
- new TunnelModule()
- );
- }
-
- @Override
- public void contextDestroyed(ServletContextEvent servletContextEvent) {
-
- super.contextDestroyed(servletContextEvent);
-
- // Shutdown TokenSessionMap
- if (sessionMap != null)
- sessionMap.shutdown();
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/ClipboardState.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/ClipboardState.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/ClipboardState.java
deleted file mode 100644
index dae5d74..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/ClipboardState.java
+++ /dev/null
@@ -1,154 +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.
- */
-
-package org.apache.guacamole.net.basic;
-
-/**
- * Provides central storage for a cross-connection clipboard state. This
- * clipboard state is shared only for a single HTTP session. Multiple HTTP
- * sessions will all have their own state.
- *
- * @author Michael Jumper
- */
-public class ClipboardState {
-
- /**
- * The maximum number of bytes to track.
- */
- private static final int MAXIMUM_LENGTH = 262144;
-
- /**
- * The mimetype of the current contents.
- */
- private String mimetype = "text/plain";
-
- /**
- * The mimetype of the pending contents.
- */
- private String pending_mimetype = "text/plain";
-
- /**
- * The current contents.
- */
- private byte[] contents = new byte[0];
-
- /**
- * The pending clipboard contents.
- */
- private final byte[] pending = new byte[MAXIMUM_LENGTH];
-
- /**
- * The length of the pending data, in bytes.
- */
- private int pending_length = 0;
-
- /**
- * The timestamp of the last contents update.
- */
- private long last_update = 0;
-
- /**
- * Returns the current clipboard contents.
- * @return The current clipboard contents
- */
- public synchronized byte[] getContents() {
- return contents;
- }
-
- /**
- * Returns the mimetype of the current clipboard contents.
- * @return The mimetype of the current clipboard contents.
- */
- public synchronized String getMimetype() {
- return mimetype;
- }
-
- /**
- * Begins a new update of the clipboard contents. The actual contents will
- * not be saved until commit() is called.
- *
- * @param mimetype The mimetype of the contents being added.
- */
- public synchronized void begin(String mimetype) {
- pending_length = 0;
- this.pending_mimetype = mimetype;
- }
-
- /**
- * Appends the given data to the clipboard contents.
- *
- * @param data The raw data to append.
- */
- public synchronized void append(byte[] data) {
-
- // Calculate size of copy
- int length = data.length;
- int remaining = pending.length - pending_length;
- if (remaining < length)
- length = remaining;
-
- // Append data
- System.arraycopy(data, 0, pending, pending_length, length);
- pending_length += length;
-
- }
-
- /**
- * Commits the pending contents to the clipboard, notifying any threads
- * waiting for clipboard updates.
- */
- public synchronized void commit() {
-
- // Commit contents
- mimetype = pending_mimetype;
- contents = new byte[pending_length];
- System.arraycopy(pending, 0, contents, 0, pending_length);
-
- // Notify of update
- last_update = System.currentTimeMillis();
- this.notifyAll();
-
- }
-
- /**
- * Wait up to the given timeout for new clipboard data.
- *
- * @param timeout The amount of time to wait, in milliseconds.
- * @return true if the contents were updated within the timeframe given,
- * false otherwise.
- */
- public synchronized boolean waitForContents(int timeout) {
-
- // Wait for new contents if it's been a while
- if (System.currentTimeMillis() - last_update > timeout) {
- try {
- this.wait(timeout);
- return true;
- }
- catch (InterruptedException e) { /* ignore */ }
- }
-
- return false;
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/648a6c96/guacamole/src/main/java/org/apache/guacamole/net/basic/EnvironmentModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/net/basic/EnvironmentModule.java b/guacamole/src/main/java/org/apache/guacamole/net/basic/EnvironmentModule.java
deleted file mode 100644
index 76559d1..0000000
--- a/guacamole/src/main/java/org/apache/guacamole/net/basic/EnvironmentModule.java
+++ /dev/null
@@ -1,60 +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.
- */
-
-package org.apache.guacamole.net.basic;
-
-import com.google.inject.AbstractModule;
-import org.apache.guacamole.environment.Environment;
-
-/**
- * Guice module which binds the base Guacamole server environment.
- *
- * @author Michael Jumper
- */
-public class EnvironmentModule extends AbstractModule {
-
- /**
- * The Guacamole server environment.
- */
- private final Environment environment;
-
- /**
- * Creates a new EnvironmentModule which will bind the given environment
- * for future injection.
- *
- * @param environment
- * The environment to bind.
- */
- public EnvironmentModule(Environment environment) {
- this.environment = environment;
- }
-
- @Override
- protected void configure() {
-
- // Bind environment
- bind(Environment.class).toInstance(environment);
-
- }
-
-}
-
[37/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Relicense C and JavaScript files.
Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleClientException.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleClientException.java b/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleClientException.java
index d854504..2bbf090 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleClientException.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleClientException.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleClientOverrunException.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleClientOverrunException.java b/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleClientOverrunException.java
index 6e0da60..816a853 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleClientOverrunException.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleClientOverrunException.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleClientTimeoutException.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleClientTimeoutException.java b/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleClientTimeoutException.java
index 7503db3..93a5ab3 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleClientTimeoutException.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleClientTimeoutException.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleClientTooManyException.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleClientTooManyException.java b/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleClientTooManyException.java
index b30ca2e..ad0f489 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleClientTooManyException.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleClientTooManyException.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleConnectionClosedException.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleConnectionClosedException.java b/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleConnectionClosedException.java
index 85779c1..c6f708d 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleConnectionClosedException.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleConnectionClosedException.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleException.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleException.java b/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleException.java
index 53f5591..8d4206c 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleException.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleException.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleResourceConflictException.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleResourceConflictException.java b/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleResourceConflictException.java
index cd2f40e..80c75d1 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleResourceConflictException.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleResourceConflictException.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleResourceNotFoundException.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleResourceNotFoundException.java b/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleResourceNotFoundException.java
index 28952f6..cb4e9e0 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleResourceNotFoundException.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleResourceNotFoundException.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleSecurityException.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleSecurityException.java b/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleSecurityException.java
index 3275355..91f32e4 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleSecurityException.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleSecurityException.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleServerBusyException.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleServerBusyException.java b/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleServerBusyException.java
index aa8b214..4aba6ff 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleServerBusyException.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleServerBusyException.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleServerException.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleServerException.java b/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleServerException.java
index 35a3460..8bba048 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleServerException.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleServerException.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleUnauthorizedException.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleUnauthorizedException.java b/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleUnauthorizedException.java
index 2a390fb..4efde33 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleUnauthorizedException.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleUnauthorizedException.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleUnsupportedException.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleUnsupportedException.java b/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleUnsupportedException.java
index 7e8bcbd..2e6950a 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleUnsupportedException.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleUnsupportedException.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleUpstreamException.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleUpstreamException.java b/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleUpstreamException.java
index 245d522..688021f 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleUpstreamException.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleUpstreamException.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleUpstreamTimeoutException.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleUpstreamTimeoutException.java b/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleUpstreamTimeoutException.java
index 4538d4e..349b848 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleUpstreamTimeoutException.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleUpstreamTimeoutException.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/io/GuacamoleReader.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/io/GuacamoleReader.java b/guacamole-common/src/main/java/org/apache/guacamole/io/GuacamoleReader.java
index 040be42..a862d67 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/io/GuacamoleReader.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/io/GuacamoleReader.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.io;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/io/GuacamoleWriter.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/io/GuacamoleWriter.java b/guacamole-common/src/main/java/org/apache/guacamole/io/GuacamoleWriter.java
index 844b032..e859456 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/io/GuacamoleWriter.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/io/GuacamoleWriter.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.io;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/io/ReaderGuacamoleReader.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/io/ReaderGuacamoleReader.java b/guacamole-common/src/main/java/org/apache/guacamole/io/ReaderGuacamoleReader.java
index 9dd89ed..4c54335 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/io/ReaderGuacamoleReader.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/io/ReaderGuacamoleReader.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.io;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/io/WriterGuacamoleWriter.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/io/WriterGuacamoleWriter.java b/guacamole-common/src/main/java/org/apache/guacamole/io/WriterGuacamoleWriter.java
index 8943bc8..4063d97 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/io/WriterGuacamoleWriter.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/io/WriterGuacamoleWriter.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.io;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/io/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/io/package-info.java b/guacamole-common/src/main/java/org/apache/guacamole/io/package-info.java
index 75b526a..749d67c 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/io/package-info.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/io/package-info.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/net/AbstractGuacamoleTunnel.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/net/AbstractGuacamoleTunnel.java b/guacamole-common/src/main/java/org/apache/guacamole/net/AbstractGuacamoleTunnel.java
index b6e6653..38a239c 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/net/AbstractGuacamoleTunnel.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/net/AbstractGuacamoleTunnel.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/net/DelegatingGuacamoleTunnel.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/net/DelegatingGuacamoleTunnel.java b/guacamole-common/src/main/java/org/apache/guacamole/net/DelegatingGuacamoleTunnel.java
index a54f916..93b78d5 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/net/DelegatingGuacamoleTunnel.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/net/DelegatingGuacamoleTunnel.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/net/GuacamoleSocket.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/net/GuacamoleSocket.java b/guacamole-common/src/main/java/org/apache/guacamole/net/GuacamoleSocket.java
index 03d3c2d..ae431e6 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/net/GuacamoleSocket.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/net/GuacamoleSocket.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/net/GuacamoleTunnel.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/net/GuacamoleTunnel.java b/guacamole-common/src/main/java/org/apache/guacamole/net/GuacamoleTunnel.java
index f2a4575..b53c474 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/net/GuacamoleTunnel.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/net/GuacamoleTunnel.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/net/InetGuacamoleSocket.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/net/InetGuacamoleSocket.java b/guacamole-common/src/main/java/org/apache/guacamole/net/InetGuacamoleSocket.java
index a259f51..fe6b92e 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/net/InetGuacamoleSocket.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/net/InetGuacamoleSocket.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/net/SSLGuacamoleSocket.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/net/SSLGuacamoleSocket.java b/guacamole-common/src/main/java/org/apache/guacamole/net/SSLGuacamoleSocket.java
index d005650..8872217 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/net/SSLGuacamoleSocket.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/net/SSLGuacamoleSocket.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/net/SimpleGuacamoleTunnel.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/net/SimpleGuacamoleTunnel.java b/guacamole-common/src/main/java/org/apache/guacamole/net/SimpleGuacamoleTunnel.java
index 320b343..f763d0f 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/net/SimpleGuacamoleTunnel.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/net/SimpleGuacamoleTunnel.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/net/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/net/package-info.java b/guacamole-common/src/main/java/org/apache/guacamole/net/package-info.java
index 3f3061a..9d9423d 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/net/package-info.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/net/package-info.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/package-info.java b/guacamole-common/src/main/java/org/apache/guacamole/package-info.java
index e00e020..fbcf3cf 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/package-info.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/package-info.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/protocol/ConfiguredGuacamoleSocket.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/protocol/ConfiguredGuacamoleSocket.java b/guacamole-common/src/main/java/org/apache/guacamole/protocol/ConfiguredGuacamoleSocket.java
index 2ab38ab..03e80f9 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/protocol/ConfiguredGuacamoleSocket.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/protocol/ConfiguredGuacamoleSocket.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.protocol;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/protocol/FilteredGuacamoleReader.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/protocol/FilteredGuacamoleReader.java b/guacamole-common/src/main/java/org/apache/guacamole/protocol/FilteredGuacamoleReader.java
index bc9f3ad..e12b3e4 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/protocol/FilteredGuacamoleReader.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/protocol/FilteredGuacamoleReader.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.protocol;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/protocol/FilteredGuacamoleSocket.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/protocol/FilteredGuacamoleSocket.java b/guacamole-common/src/main/java/org/apache/guacamole/protocol/FilteredGuacamoleSocket.java
index 2b4ac63..ddfb795 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/protocol/FilteredGuacamoleSocket.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/protocol/FilteredGuacamoleSocket.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.protocol;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/protocol/FilteredGuacamoleWriter.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/protocol/FilteredGuacamoleWriter.java b/guacamole-common/src/main/java/org/apache/guacamole/protocol/FilteredGuacamoleWriter.java
index ccfd0ee..0b12721 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/protocol/FilteredGuacamoleWriter.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/protocol/FilteredGuacamoleWriter.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.protocol;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/protocol/GuacamoleClientInformation.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/protocol/GuacamoleClientInformation.java b/guacamole-common/src/main/java/org/apache/guacamole/protocol/GuacamoleClientInformation.java
index 15e17d9..9f3be72 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/protocol/GuacamoleClientInformation.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/protocol/GuacamoleClientInformation.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.protocol;
[30/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Relicense C and JavaScript files.
Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/RestrictedGuacamoleWebSocketTunnelServlet.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/RestrictedGuacamoleWebSocketTunnelServlet.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/RestrictedGuacamoleWebSocketTunnelServlet.java
index 84b25b9..6dcc858 100644
--- a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/RestrictedGuacamoleWebSocketTunnelServlet.java
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/RestrictedGuacamoleWebSocketTunnelServlet.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.tunnel.websocket.jetty9;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/WebSocketTunnelModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/WebSocketTunnelModule.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/WebSocketTunnelModule.java
index 9def8e6..c98d1cb 100644
--- a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/WebSocketTunnelModule.java
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/WebSocketTunnelModule.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.tunnel.websocket.jetty9;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/WebSocketTunnelRequest.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/WebSocketTunnelRequest.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/WebSocketTunnelRequest.java
index 56c7726..adbc8d0 100644
--- a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/WebSocketTunnelRequest.java
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/WebSocketTunnelRequest.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.tunnel.websocket.jetty9;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/package-info.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/package-info.java
index 13f2f0b..ca23366 100644
--- a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/package-info.java
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/jetty9/package-info.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/package-info.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/package-info.java
index 2c273a5..62590be 100644
--- a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/package-info.java
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/package-info.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/GuacamoleWebSocketTunnelServlet.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/GuacamoleWebSocketTunnelServlet.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/GuacamoleWebSocketTunnelServlet.java
index ff1775c..059a0bd 100644
--- a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/GuacamoleWebSocketTunnelServlet.java
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/GuacamoleWebSocketTunnelServlet.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.tunnel.websocket.tomcat;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/RestrictedGuacamoleWebSocketTunnelServlet.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/RestrictedGuacamoleWebSocketTunnelServlet.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/RestrictedGuacamoleWebSocketTunnelServlet.java
index 3e0b4e6..abc2873 100644
--- a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/RestrictedGuacamoleWebSocketTunnelServlet.java
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/RestrictedGuacamoleWebSocketTunnelServlet.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.tunnel.websocket.tomcat;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/WebSocketTunnelModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/WebSocketTunnelModule.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/WebSocketTunnelModule.java
index 650522e..3419076 100644
--- a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/WebSocketTunnelModule.java
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/WebSocketTunnelModule.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.tunnel.websocket.tomcat;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/package-info.java b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/package-info.java
index cacd13b..4606e43 100644
--- a/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/package-info.java
+++ b/guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/package-info.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/auth/authModule.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/auth/authModule.js b/guacamole/src/main/webapp/app/auth/authModule.js
index f3f5657..ff8851e 100644
--- a/guacamole/src/main/webapp/app/auth/authModule.js
+++ b/guacamole/src/main/webapp/app/auth/authModule.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/auth/service/authenticationService.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/auth/service/authenticationService.js b/guacamole/src/main/webapp/app/auth/service/authenticationService.js
index 51042a1..2bd6a9f 100644
--- a/guacamole/src/main/webapp/app/auth/service/authenticationService.js
+++ b/guacamole/src/main/webapp/app/auth/service/authenticationService.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/client/clientModule.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/client/clientModule.js b/guacamole/src/main/webapp/app/client/clientModule.js
index 2c127d8..49131a3 100644
--- a/guacamole/src/main/webapp/app/client/clientModule.js
+++ b/guacamole/src/main/webapp/app/client/clientModule.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/client/controllers/clientController.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/client/controllers/clientController.js b/guacamole/src/main/webapp/app/client/controllers/clientController.js
index 164d161..0c7145a 100644
--- a/guacamole/src/main/webapp/app/client/controllers/clientController.js
+++ b/guacamole/src/main/webapp/app/client/controllers/clientController.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/client/directives/guacClient.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/client/directives/guacClient.js b/guacamole/src/main/webapp/app/client/directives/guacClient.js
index e23eb79..c3382d7 100644
--- a/guacamole/src/main/webapp/app/client/directives/guacClient.js
+++ b/guacamole/src/main/webapp/app/client/directives/guacClient.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/client/directives/guacFileBrowser.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/client/directives/guacFileBrowser.js b/guacamole/src/main/webapp/app/client/directives/guacFileBrowser.js
index c68b607..5789d5f 100644
--- a/guacamole/src/main/webapp/app/client/directives/guacFileBrowser.js
+++ b/guacamole/src/main/webapp/app/client/directives/guacFileBrowser.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/client/directives/guacFileTransfer.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/client/directives/guacFileTransfer.js b/guacamole/src/main/webapp/app/client/directives/guacFileTransfer.js
index 0c23203..a9c09bc 100644
--- a/guacamole/src/main/webapp/app/client/directives/guacFileTransfer.js
+++ b/guacamole/src/main/webapp/app/client/directives/guacFileTransfer.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/client/directives/guacFileTransferManager.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/client/directives/guacFileTransferManager.js b/guacamole/src/main/webapp/app/client/directives/guacFileTransferManager.js
index 48cfaf0..ac810d0 100644
--- a/guacamole/src/main/webapp/app/client/directives/guacFileTransferManager.js
+++ b/guacamole/src/main/webapp/app/client/directives/guacFileTransferManager.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/client/directives/guacThumbnail.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/client/directives/guacThumbnail.js b/guacamole/src/main/webapp/app/client/directives/guacThumbnail.js
index fc1e965..8681675 100644
--- a/guacamole/src/main/webapp/app/client/directives/guacThumbnail.js
+++ b/guacamole/src/main/webapp/app/client/directives/guacThumbnail.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/client/directives/guacViewport.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/client/directives/guacViewport.js b/guacamole/src/main/webapp/app/client/directives/guacViewport.js
index a95bbee..5f8269d 100644
--- a/guacamole/src/main/webapp/app/client/directives/guacViewport.js
+++ b/guacamole/src/main/webapp/app/client/directives/guacViewport.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/client/services/clipboardService.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/client/services/clipboardService.js b/guacamole/src/main/webapp/app/client/services/clipboardService.js
index 30a3d8b..7a59504 100644
--- a/guacamole/src/main/webapp/app/client/services/clipboardService.js
+++ b/guacamole/src/main/webapp/app/client/services/clipboardService.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2016 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/client/services/guacAudio.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/client/services/guacAudio.js b/guacamole/src/main/webapp/app/client/services/guacAudio.js
index bacc628..95aec4c 100644
--- a/guacamole/src/main/webapp/app/client/services/guacAudio.js
+++ b/guacamole/src/main/webapp/app/client/services/guacAudio.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/client/services/guacClientManager.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/client/services/guacClientManager.js b/guacamole/src/main/webapp/app/client/services/guacClientManager.js
index 3d74bc2..4b81e6d 100644
--- a/guacamole/src/main/webapp/app/client/services/guacClientManager.js
+++ b/guacamole/src/main/webapp/app/client/services/guacClientManager.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/client/services/guacImage.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/client/services/guacImage.js b/guacamole/src/main/webapp/app/client/services/guacImage.js
index 2812653..2cf15fb 100644
--- a/guacamole/src/main/webapp/app/client/services/guacImage.js
+++ b/guacamole/src/main/webapp/app/client/services/guacImage.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/client/services/guacVideo.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/client/services/guacVideo.js b/guacamole/src/main/webapp/app/client/services/guacVideo.js
index 26f0770..08a3c36 100644
--- a/guacamole/src/main/webapp/app/client/services/guacVideo.js
+++ b/guacamole/src/main/webapp/app/client/services/guacVideo.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/client/types/ClientProperties.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/client/types/ClientProperties.js b/guacamole/src/main/webapp/app/client/types/ClientProperties.js
index e20665b..d5940e2 100644
--- a/guacamole/src/main/webapp/app/client/types/ClientProperties.js
+++ b/guacamole/src/main/webapp/app/client/types/ClientProperties.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/client/types/ManagedClient.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/client/types/ManagedClient.js b/guacamole/src/main/webapp/app/client/types/ManagedClient.js
index 5187cb0..fab359f 100644
--- a/guacamole/src/main/webapp/app/client/types/ManagedClient.js
+++ b/guacamole/src/main/webapp/app/client/types/ManagedClient.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/client/types/ManagedClientState.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/client/types/ManagedClientState.js b/guacamole/src/main/webapp/app/client/types/ManagedClientState.js
index 4ab0922..d77013f 100644
--- a/guacamole/src/main/webapp/app/client/types/ManagedClientState.js
+++ b/guacamole/src/main/webapp/app/client/types/ManagedClientState.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/client/types/ManagedDisplay.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/client/types/ManagedDisplay.js b/guacamole/src/main/webapp/app/client/types/ManagedDisplay.js
index 6710402..fedefad 100644
--- a/guacamole/src/main/webapp/app/client/types/ManagedDisplay.js
+++ b/guacamole/src/main/webapp/app/client/types/ManagedDisplay.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/client/types/ManagedFileDownload.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/client/types/ManagedFileDownload.js b/guacamole/src/main/webapp/app/client/types/ManagedFileDownload.js
index 9c9c39f..35f683b 100644
--- a/guacamole/src/main/webapp/app/client/types/ManagedFileDownload.js
+++ b/guacamole/src/main/webapp/app/client/types/ManagedFileDownload.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/client/types/ManagedFileTransferState.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/client/types/ManagedFileTransferState.js b/guacamole/src/main/webapp/app/client/types/ManagedFileTransferState.js
index f394188..1301cc7 100644
--- a/guacamole/src/main/webapp/app/client/types/ManagedFileTransferState.js
+++ b/guacamole/src/main/webapp/app/client/types/ManagedFileTransferState.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/client/types/ManagedFileUpload.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/client/types/ManagedFileUpload.js b/guacamole/src/main/webapp/app/client/types/ManagedFileUpload.js
index 15839a7..50d8125 100644
--- a/guacamole/src/main/webapp/app/client/types/ManagedFileUpload.js
+++ b/guacamole/src/main/webapp/app/client/types/ManagedFileUpload.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/client/types/ManagedFilesystem.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/client/types/ManagedFilesystem.js b/guacamole/src/main/webapp/app/client/types/ManagedFilesystem.js
index 65205de..4b49aeb 100644
--- a/guacamole/src/main/webapp/app/client/types/ManagedFilesystem.js
+++ b/guacamole/src/main/webapp/app/client/types/ManagedFilesystem.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/element/directives/guacFocus.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/element/directives/guacFocus.js b/guacamole/src/main/webapp/app/element/directives/guacFocus.js
index b8f8d6c..ce6093c 100644
--- a/guacamole/src/main/webapp/app/element/directives/guacFocus.js
+++ b/guacamole/src/main/webapp/app/element/directives/guacFocus.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/element/directives/guacMarker.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/element/directives/guacMarker.js b/guacamole/src/main/webapp/app/element/directives/guacMarker.js
index 444cf68..3ca15bd 100644
--- a/guacamole/src/main/webapp/app/element/directives/guacMarker.js
+++ b/guacamole/src/main/webapp/app/element/directives/guacMarker.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/element/directives/guacResize.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/element/directives/guacResize.js b/guacamole/src/main/webapp/app/element/directives/guacResize.js
index fbc2882..0d8794a 100644
--- a/guacamole/src/main/webapp/app/element/directives/guacResize.js
+++ b/guacamole/src/main/webapp/app/element/directives/guacResize.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
[35/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Relicense C and JavaScript files.
Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/AbstractConnection.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/AbstractConnection.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/AbstractConnection.java
index 8989603..93ad8f6 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/AbstractConnection.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/AbstractConnection.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.auth;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/AbstractConnectionGroup.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/AbstractConnectionGroup.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/AbstractConnectionGroup.java
index 7c92947..882ef18 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/AbstractConnectionGroup.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/AbstractConnectionGroup.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.auth;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/AbstractUser.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/AbstractUser.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/AbstractUser.java
index cee2016..96defff 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/AbstractUser.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/AbstractUser.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.auth;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/ActiveConnection.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/ActiveConnection.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/ActiveConnection.java
index d2c23f1..482b1eb 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/ActiveConnection.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/ActiveConnection.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.auth;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/AuthenticatedUser.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/AuthenticatedUser.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/AuthenticatedUser.java
index 5aa5c29..514e65a 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/AuthenticatedUser.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/AuthenticatedUser.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.auth;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/AuthenticationProvider.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/AuthenticationProvider.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/AuthenticationProvider.java
index 5a2951a..2004965 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/AuthenticationProvider.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/AuthenticationProvider.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.auth;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/Connectable.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/Connectable.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/Connectable.java
index 4d4d914..31641a7 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/Connectable.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/Connectable.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.auth;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/Connection.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/Connection.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/Connection.java
index 6c23e02..dae1070 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/Connection.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/Connection.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.auth;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/ConnectionGroup.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/ConnectionGroup.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/ConnectionGroup.java
index 6566cec..eeb549d 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/ConnectionGroup.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/ConnectionGroup.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.auth;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/ConnectionRecord.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/ConnectionRecord.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/ConnectionRecord.java
index 5a160c3..85ce95a 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/ConnectionRecord.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/ConnectionRecord.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.auth;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/ConnectionRecordSet.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/ConnectionRecordSet.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/ConnectionRecordSet.java
index 6109699..3bdbf30 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/ConnectionRecordSet.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/ConnectionRecordSet.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.auth;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/Credentials.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/Credentials.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/Credentials.java
index 77826a1..e6bb846 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/Credentials.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/Credentials.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.auth;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/Directory.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/Directory.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/Directory.java
index aa01e3e..38b1759 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/Directory.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/Directory.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.auth;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/Identifiable.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/Identifiable.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/Identifiable.java
index 1647c14..d65b09c 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/Identifiable.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/Identifiable.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.auth;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/User.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/User.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/User.java
index a20255f..d14cdd5 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/User.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/User.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.auth;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/UserContext.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/UserContext.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/UserContext.java
index 3595738..62eab45 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/UserContext.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/UserContext.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.auth;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/credentials/CredentialsInfo.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/credentials/CredentialsInfo.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/credentials/CredentialsInfo.java
index 06e807b..4f182a0 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/credentials/CredentialsInfo.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/credentials/CredentialsInfo.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.auth.credentials;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/credentials/GuacamoleCredentialsException.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/credentials/GuacamoleCredentialsException.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/credentials/GuacamoleCredentialsException.java
index c264032..e28815b 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/credentials/GuacamoleCredentialsException.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/credentials/GuacamoleCredentialsException.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.auth.credentials;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/credentials/GuacamoleInsufficientCredentialsException.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/credentials/GuacamoleInsufficientCredentialsException.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/credentials/GuacamoleInsufficientCredentialsException.java
index 2b9540e..177d90e 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/credentials/GuacamoleInsufficientCredentialsException.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/credentials/GuacamoleInsufficientCredentialsException.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.auth.credentials;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/credentials/GuacamoleInvalidCredentialsException.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/credentials/GuacamoleInvalidCredentialsException.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/credentials/GuacamoleInvalidCredentialsException.java
index 719996b..720628d 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/credentials/GuacamoleInvalidCredentialsException.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/credentials/GuacamoleInvalidCredentialsException.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.auth.credentials;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/package-info.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/package-info.java
index deb131b..1d57c0c 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/package-info.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/package-info.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/permission/ObjectPermission.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/permission/ObjectPermission.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/permission/ObjectPermission.java
index 346edbe..c96e26f 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/permission/ObjectPermission.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/permission/ObjectPermission.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.auth.permission;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/permission/ObjectPermissionSet.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/permission/ObjectPermissionSet.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/permission/ObjectPermissionSet.java
index f52b443..c0c4dfb 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/permission/ObjectPermissionSet.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/permission/ObjectPermissionSet.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.auth.permission;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/permission/Permission.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/permission/Permission.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/permission/Permission.java
index 18d51cf..aeaf541 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/permission/Permission.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/permission/Permission.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.auth.permission;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/permission/PermissionSet.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/permission/PermissionSet.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/permission/PermissionSet.java
index 535e880..b062554 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/permission/PermissionSet.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/permission/PermissionSet.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.auth.permission;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/permission/SystemPermission.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/permission/SystemPermission.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/permission/SystemPermission.java
index 24014b5..e33f8e0 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/permission/SystemPermission.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/permission/SystemPermission.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.auth.permission;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/permission/SystemPermissionSet.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/permission/SystemPermissionSet.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/permission/SystemPermissionSet.java
index 494fe29..5c758c6 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/permission/SystemPermissionSet.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/permission/SystemPermissionSet.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.auth.permission;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/permission/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/permission/package-info.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/permission/package-info.java
index 9863bde..e8c639f 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/permission/package-info.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/permission/package-info.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleAuthenticationProvider.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleAuthenticationProvider.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleAuthenticationProvider.java
index 133ee1f..1244d66 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleAuthenticationProvider.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleAuthenticationProvider.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.auth.simple;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleConnection.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleConnection.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleConnection.java
index fbe72c7..633c4d8 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleConnection.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleConnection.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.auth.simple;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleConnectionDirectory.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleConnectionDirectory.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleConnectionDirectory.java
index 13a672b..c62818f 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleConnectionDirectory.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleConnectionDirectory.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.auth.simple;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleConnectionGroup.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleConnectionGroup.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleConnectionGroup.java
index 13d9a16..0d1aef7 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleConnectionGroup.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleConnectionGroup.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.auth.simple;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleConnectionGroupDirectory.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleConnectionGroupDirectory.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleConnectionGroupDirectory.java
index 8dbe28e..576e598 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleConnectionGroupDirectory.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleConnectionGroupDirectory.java
@@ -1,23 +1,20 @@
/*
- * 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.
+ * 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.
*/
package org.apache.guacamole.net.auth.simple;
[38/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Relicense C and JavaScript files.
Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/LDAPGuacamoleProperties.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/LDAPGuacamoleProperties.java b/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/LDAPGuacamoleProperties.java
index 50a8fbf..ae9c5df 100644
--- a/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/LDAPGuacamoleProperties.java
+++ b/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/LDAPGuacamoleProperties.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.ldap;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/StringListProperty.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/StringListProperty.java b/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/StringListProperty.java
index 932c137..07ebef9 100644
--- a/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/StringListProperty.java
+++ b/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/StringListProperty.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.ldap;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/connection/ConnectionService.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/connection/ConnectionService.java b/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/connection/ConnectionService.java
index 7de4619..cb1350e 100644
--- a/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/connection/ConnectionService.java
+++ b/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/connection/ConnectionService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.ldap.connection;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/user/AuthenticatedUser.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/user/AuthenticatedUser.java b/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/user/AuthenticatedUser.java
index 4193b5f..9ae7a7d 100644
--- a/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/user/AuthenticatedUser.java
+++ b/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/user/AuthenticatedUser.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.ldap.user;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/user/UserContext.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/user/UserContext.java b/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/user/UserContext.java
index ee65435..2b705d2 100644
--- a/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/user/UserContext.java
+++ b/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/user/UserContext.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.ldap.user;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/user/UserService.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/user/UserService.java b/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/user/UserService.java
index 1c32dbf..fbb4ab0 100644
--- a/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/user/UserService.java
+++ b/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/user/UserService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.ldap.user;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-noauth/src/main/java/org/apache/guacamole/auth/noauth/NoAuthConfigContentHandler.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-noauth/src/main/java/org/apache/guacamole/auth/noauth/NoAuthConfigContentHandler.java b/extensions/guacamole-auth-noauth/src/main/java/org/apache/guacamole/auth/noauth/NoAuthConfigContentHandler.java
index ee9550d..d0dea8a 100644
--- a/extensions/guacamole-auth-noauth/src/main/java/org/apache/guacamole/auth/noauth/NoAuthConfigContentHandler.java
+++ b/extensions/guacamole-auth-noauth/src/main/java/org/apache/guacamole/auth/noauth/NoAuthConfigContentHandler.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.noauth;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-noauth/src/main/java/org/apache/guacamole/auth/noauth/NoAuthenticationProvider.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-noauth/src/main/java/org/apache/guacamole/auth/noauth/NoAuthenticationProvider.java b/extensions/guacamole-auth-noauth/src/main/java/org/apache/guacamole/auth/noauth/NoAuthenticationProvider.java
index 506f47c..b0291f8 100644
--- a/extensions/guacamole-auth-noauth/src/main/java/org/apache/guacamole/auth/noauth/NoAuthenticationProvider.java
+++ b/extensions/guacamole-auth-noauth/src/main/java/org/apache/guacamole/auth/noauth/NoAuthenticationProvider.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.noauth;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common-js/src/main/webapp/common/license.js
----------------------------------------------------------------------
diff --git a/guacamole-common-js/src/main/webapp/common/license.js b/guacamole-common-js/src/main/webapp/common/license.js
index 2d7de92..042f3ce 100644
--- a/guacamole-common-js/src/main/webapp/common/license.js
+++ b/guacamole-common-js/src/main/webapp/common/license.js
@@ -1,23 +1,18 @@
-/*! (C) 2014 Glyptodon LLC - glyptodon.org/MIT-LICENSE */
-
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common-js/src/main/webapp/modules/ArrayBufferReader.js
----------------------------------------------------------------------
diff --git a/guacamole-common-js/src/main/webapp/modules/ArrayBufferReader.js b/guacamole-common-js/src/main/webapp/modules/ArrayBufferReader.js
index d022d4c..acb6bc4 100644
--- a/guacamole-common-js/src/main/webapp/modules/ArrayBufferReader.js
+++ b/guacamole-common-js/src/main/webapp/modules/ArrayBufferReader.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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 Guacamole = Guacamole || {};
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common-js/src/main/webapp/modules/ArrayBufferWriter.js
----------------------------------------------------------------------
diff --git a/guacamole-common-js/src/main/webapp/modules/ArrayBufferWriter.js b/guacamole-common-js/src/main/webapp/modules/ArrayBufferWriter.js
index bee5375..733e331 100644
--- a/guacamole-common-js/src/main/webapp/modules/ArrayBufferWriter.js
+++ b/guacamole-common-js/src/main/webapp/modules/ArrayBufferWriter.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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 Guacamole = Guacamole || {};
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common-js/src/main/webapp/modules/AudioPlayer.js
----------------------------------------------------------------------
diff --git a/guacamole-common-js/src/main/webapp/modules/AudioPlayer.js b/guacamole-common-js/src/main/webapp/modules/AudioPlayer.js
index 760851a..3f745d9 100644
--- a/guacamole-common-js/src/main/webapp/modules/AudioPlayer.js
+++ b/guacamole-common-js/src/main/webapp/modules/AudioPlayer.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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 Guacamole = Guacamole || {};
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common-js/src/main/webapp/modules/BlobReader.js
----------------------------------------------------------------------
diff --git a/guacamole-common-js/src/main/webapp/modules/BlobReader.js b/guacamole-common-js/src/main/webapp/modules/BlobReader.js
index 55896f2..bb97ec8 100644
--- a/guacamole-common-js/src/main/webapp/modules/BlobReader.js
+++ b/guacamole-common-js/src/main/webapp/modules/BlobReader.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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 Guacamole = Guacamole || {};
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common-js/src/main/webapp/modules/Client.js
----------------------------------------------------------------------
diff --git a/guacamole-common-js/src/main/webapp/modules/Client.js b/guacamole-common-js/src/main/webapp/modules/Client.js
index bf851a4..cc23e43 100644
--- a/guacamole-common-js/src/main/webapp/modules/Client.js
+++ b/guacamole-common-js/src/main/webapp/modules/Client.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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 Guacamole = Guacamole || {};
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common-js/src/main/webapp/modules/DataURIReader.js
----------------------------------------------------------------------
diff --git a/guacamole-common-js/src/main/webapp/modules/DataURIReader.js b/guacamole-common-js/src/main/webapp/modules/DataURIReader.js
index cbce5e7..779a7e9 100644
--- a/guacamole-common-js/src/main/webapp/modules/DataURIReader.js
+++ b/guacamole-common-js/src/main/webapp/modules/DataURIReader.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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 Guacamole = Guacamole || {};
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common-js/src/main/webapp/modules/Display.js
----------------------------------------------------------------------
diff --git a/guacamole-common-js/src/main/webapp/modules/Display.js b/guacamole-common-js/src/main/webapp/modules/Display.js
index 1556838..8220fc3 100644
--- a/guacamole-common-js/src/main/webapp/modules/Display.js
+++ b/guacamole-common-js/src/main/webapp/modules/Display.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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 Guacamole = Guacamole || {};
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common-js/src/main/webapp/modules/InputStream.js
----------------------------------------------------------------------
diff --git a/guacamole-common-js/src/main/webapp/modules/InputStream.js b/guacamole-common-js/src/main/webapp/modules/InputStream.js
index f60c469..9592aa2 100644
--- a/guacamole-common-js/src/main/webapp/modules/InputStream.js
+++ b/guacamole-common-js/src/main/webapp/modules/InputStream.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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 Guacamole = Guacamole || {};
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common-js/src/main/webapp/modules/IntegerPool.js
----------------------------------------------------------------------
diff --git a/guacamole-common-js/src/main/webapp/modules/IntegerPool.js b/guacamole-common-js/src/main/webapp/modules/IntegerPool.js
index a790e41..2bd94bc 100644
--- a/guacamole-common-js/src/main/webapp/modules/IntegerPool.js
+++ b/guacamole-common-js/src/main/webapp/modules/IntegerPool.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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 Guacamole = Guacamole || {};
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common-js/src/main/webapp/modules/JSONReader.js
----------------------------------------------------------------------
diff --git a/guacamole-common-js/src/main/webapp/modules/JSONReader.js b/guacamole-common-js/src/main/webapp/modules/JSONReader.js
index 702f45e..6d083b0 100644
--- a/guacamole-common-js/src/main/webapp/modules/JSONReader.js
+++ b/guacamole-common-js/src/main/webapp/modules/JSONReader.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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 Guacamole = Guacamole || {};
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common-js/src/main/webapp/modules/Keyboard.js
----------------------------------------------------------------------
diff --git a/guacamole-common-js/src/main/webapp/modules/Keyboard.js b/guacamole-common-js/src/main/webapp/modules/Keyboard.js
index 5e9e9dc..43d8465 100644
--- a/guacamole-common-js/src/main/webapp/modules/Keyboard.js
+++ b/guacamole-common-js/src/main/webapp/modules/Keyboard.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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 Guacamole = Guacamole || {};
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common-js/src/main/webapp/modules/Layer.js
----------------------------------------------------------------------
diff --git a/guacamole-common-js/src/main/webapp/modules/Layer.js b/guacamole-common-js/src/main/webapp/modules/Layer.js
index d9cf7f2..98da309 100644
--- a/guacamole-common-js/src/main/webapp/modules/Layer.js
+++ b/guacamole-common-js/src/main/webapp/modules/Layer.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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 Guacamole = Guacamole || {};
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common-js/src/main/webapp/modules/Mouse.js
----------------------------------------------------------------------
diff --git a/guacamole-common-js/src/main/webapp/modules/Mouse.js b/guacamole-common-js/src/main/webapp/modules/Mouse.js
index cdd1ae9..48f81f0 100644
--- a/guacamole-common-js/src/main/webapp/modules/Mouse.js
+++ b/guacamole-common-js/src/main/webapp/modules/Mouse.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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 Guacamole = Guacamole || {};
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common-js/src/main/webapp/modules/Namespace.js
----------------------------------------------------------------------
diff --git a/guacamole-common-js/src/main/webapp/modules/Namespace.js b/guacamole-common-js/src/main/webapp/modules/Namespace.js
index 2942a63..227096f 100644
--- a/guacamole-common-js/src/main/webapp/modules/Namespace.js
+++ b/guacamole-common-js/src/main/webapp/modules/Namespace.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common-js/src/main/webapp/modules/Object.js
----------------------------------------------------------------------
diff --git a/guacamole-common-js/src/main/webapp/modules/Object.js b/guacamole-common-js/src/main/webapp/modules/Object.js
index 2db8bc0..87446bc 100644
--- a/guacamole-common-js/src/main/webapp/modules/Object.js
+++ b/guacamole-common-js/src/main/webapp/modules/Object.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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 Guacamole = Guacamole || {};
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common-js/src/main/webapp/modules/OnScreenKeyboard.js
----------------------------------------------------------------------
diff --git a/guacamole-common-js/src/main/webapp/modules/OnScreenKeyboard.js b/guacamole-common-js/src/main/webapp/modules/OnScreenKeyboard.js
index 81d5680..4fe2ed7 100644
--- a/guacamole-common-js/src/main/webapp/modules/OnScreenKeyboard.js
+++ b/guacamole-common-js/src/main/webapp/modules/OnScreenKeyboard.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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 Guacamole = Guacamole || {};
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common-js/src/main/webapp/modules/OutputStream.js
----------------------------------------------------------------------
diff --git a/guacamole-common-js/src/main/webapp/modules/OutputStream.js b/guacamole-common-js/src/main/webapp/modules/OutputStream.js
index d4fdc58..af7bf9b 100644
--- a/guacamole-common-js/src/main/webapp/modules/OutputStream.js
+++ b/guacamole-common-js/src/main/webapp/modules/OutputStream.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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 Guacamole = Guacamole || {};
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common-js/src/main/webapp/modules/Parser.js
----------------------------------------------------------------------
diff --git a/guacamole-common-js/src/main/webapp/modules/Parser.js b/guacamole-common-js/src/main/webapp/modules/Parser.js
index ff03046..2be6fed 100644
--- a/guacamole-common-js/src/main/webapp/modules/Parser.js
+++ b/guacamole-common-js/src/main/webapp/modules/Parser.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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 Guacamole = Guacamole || {};
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common-js/src/main/webapp/modules/Status.js
----------------------------------------------------------------------
diff --git a/guacamole-common-js/src/main/webapp/modules/Status.js b/guacamole-common-js/src/main/webapp/modules/Status.js
index 64c5b85..e105f60 100644
--- a/guacamole-common-js/src/main/webapp/modules/Status.js
+++ b/guacamole-common-js/src/main/webapp/modules/Status.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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 Guacamole = Guacamole || {};
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common-js/src/main/webapp/modules/StringReader.js
----------------------------------------------------------------------
diff --git a/guacamole-common-js/src/main/webapp/modules/StringReader.js b/guacamole-common-js/src/main/webapp/modules/StringReader.js
index 7b49e3f..fa42503 100644
--- a/guacamole-common-js/src/main/webapp/modules/StringReader.js
+++ b/guacamole-common-js/src/main/webapp/modules/StringReader.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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 Guacamole = Guacamole || {};
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common-js/src/main/webapp/modules/StringWriter.js
----------------------------------------------------------------------
diff --git a/guacamole-common-js/src/main/webapp/modules/StringWriter.js b/guacamole-common-js/src/main/webapp/modules/StringWriter.js
index 1f942f2..5a865e1 100644
--- a/guacamole-common-js/src/main/webapp/modules/StringWriter.js
+++ b/guacamole-common-js/src/main/webapp/modules/StringWriter.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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 Guacamole = Guacamole || {};
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common-js/src/main/webapp/modules/Tunnel.js
----------------------------------------------------------------------
diff --git a/guacamole-common-js/src/main/webapp/modules/Tunnel.js b/guacamole-common-js/src/main/webapp/modules/Tunnel.js
index b98f504..3fcb409 100644
--- a/guacamole-common-js/src/main/webapp/modules/Tunnel.js
+++ b/guacamole-common-js/src/main/webapp/modules/Tunnel.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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 Guacamole = Guacamole || {};
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common-js/src/main/webapp/modules/Version.js
----------------------------------------------------------------------
diff --git a/guacamole-common-js/src/main/webapp/modules/Version.js b/guacamole-common-js/src/main/webapp/modules/Version.js
index 2d7f21c..0307361 100644
--- a/guacamole-common-js/src/main/webapp/modules/Version.js
+++ b/guacamole-common-js/src/main/webapp/modules/Version.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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 Guacamole = Guacamole || {};
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common-js/src/main/webapp/modules/VideoPlayer.js
----------------------------------------------------------------------
diff --git a/guacamole-common-js/src/main/webapp/modules/VideoPlayer.js b/guacamole-common-js/src/main/webapp/modules/VideoPlayer.js
index 5722ac8..9581d51 100644
--- a/guacamole-common-js/src/main/webapp/modules/VideoPlayer.js
+++ b/guacamole-common-js/src/main/webapp/modules/VideoPlayer.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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 Guacamole = Guacamole || {};
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/doc/example/ExampleTunnelServlet.java
----------------------------------------------------------------------
diff --git a/guacamole-common/doc/example/ExampleTunnelServlet.java b/guacamole-common/doc/example/ExampleTunnelServlet.java
index 88fd57b..7a78ac1 100644
--- a/guacamole-common/doc/example/ExampleTunnelServlet.java
+++ b/guacamole-common/doc/example/ExampleTunnelServlet.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
import javax.servlet.http.HttpServletRequest;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleClientBadTypeException.java
----------------------------------------------------------------------
diff --git a/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleClientBadTypeException.java b/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleClientBadTypeException.java
index b3056f3..1b7c896 100644
--- a/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleClientBadTypeException.java
+++ b/guacamole-common/src/main/java/org/apache/guacamole/GuacamoleClientBadTypeException.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole;
[27/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Relicense C and JavaScript files.
Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/notification/types/NotificationCountdown.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/notification/types/NotificationCountdown.js b/guacamole/src/main/webapp/app/notification/types/NotificationCountdown.js
index 3db11cc..fc60743 100644
--- a/guacamole/src/main/webapp/app/notification/types/NotificationCountdown.js
+++ b/guacamole/src/main/webapp/app/notification/types/NotificationCountdown.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/notification/types/NotificationProgress.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/notification/types/NotificationProgress.js b/guacamole/src/main/webapp/app/notification/types/NotificationProgress.js
index 5c3a45c..af754ab 100644
--- a/guacamole/src/main/webapp/app/notification/types/NotificationProgress.js
+++ b/guacamole/src/main/webapp/app/notification/types/NotificationProgress.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/osk/directives/guacOsk.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/osk/directives/guacOsk.js b/guacamole/src/main/webapp/app/osk/directives/guacOsk.js
index bca9bc9..4797f12 100644
--- a/guacamole/src/main/webapp/app/osk/directives/guacOsk.js
+++ b/guacamole/src/main/webapp/app/osk/directives/guacOsk.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/osk/oskModule.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/osk/oskModule.js b/guacamole/src/main/webapp/app/osk/oskModule.js
index 36cc8ea..ff7fc7c 100644
--- a/guacamole/src/main/webapp/app/osk/oskModule.js
+++ b/guacamole/src/main/webapp/app/osk/oskModule.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/rest/restModule.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/rest/restModule.js b/guacamole/src/main/webapp/app/rest/restModule.js
index d5a3a27..81b64b5 100644
--- a/guacamole/src/main/webapp/app/rest/restModule.js
+++ b/guacamole/src/main/webapp/app/rest/restModule.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/rest/services/activeConnectionService.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/rest/services/activeConnectionService.js b/guacamole/src/main/webapp/app/rest/services/activeConnectionService.js
index 99428a9..4ebb131 100644
--- a/guacamole/src/main/webapp/app/rest/services/activeConnectionService.js
+++ b/guacamole/src/main/webapp/app/rest/services/activeConnectionService.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/rest/services/cacheService.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/rest/services/cacheService.js b/guacamole/src/main/webapp/app/rest/services/cacheService.js
index 9fb9b44..55b7fc1 100644
--- a/guacamole/src/main/webapp/app/rest/services/cacheService.js
+++ b/guacamole/src/main/webapp/app/rest/services/cacheService.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/rest/services/connectionGroupService.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/rest/services/connectionGroupService.js b/guacamole/src/main/webapp/app/rest/services/connectionGroupService.js
index f157e75..3283102 100644
--- a/guacamole/src/main/webapp/app/rest/services/connectionGroupService.js
+++ b/guacamole/src/main/webapp/app/rest/services/connectionGroupService.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/rest/services/connectionService.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/rest/services/connectionService.js b/guacamole/src/main/webapp/app/rest/services/connectionService.js
index aa12639..7629cd1 100644
--- a/guacamole/src/main/webapp/app/rest/services/connectionService.js
+++ b/guacamole/src/main/webapp/app/rest/services/connectionService.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/rest/services/dataSourceService.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/rest/services/dataSourceService.js b/guacamole/src/main/webapp/app/rest/services/dataSourceService.js
index 70e7ad4..4dd5a2f 100644
--- a/guacamole/src/main/webapp/app/rest/services/dataSourceService.js
+++ b/guacamole/src/main/webapp/app/rest/services/dataSourceService.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/rest/services/historyService.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/rest/services/historyService.js b/guacamole/src/main/webapp/app/rest/services/historyService.js
index a29521b..717389d 100644
--- a/guacamole/src/main/webapp/app/rest/services/historyService.js
+++ b/guacamole/src/main/webapp/app/rest/services/historyService.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/rest/services/languageService.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/rest/services/languageService.js b/guacamole/src/main/webapp/app/rest/services/languageService.js
index 407a6a9..32696d5 100644
--- a/guacamole/src/main/webapp/app/rest/services/languageService.js
+++ b/guacamole/src/main/webapp/app/rest/services/languageService.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/rest/services/patchService.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/rest/services/patchService.js b/guacamole/src/main/webapp/app/rest/services/patchService.js
index b3db669..65818c2 100644
--- a/guacamole/src/main/webapp/app/rest/services/patchService.js
+++ b/guacamole/src/main/webapp/app/rest/services/patchService.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2016 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/rest/services/permissionService.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/rest/services/permissionService.js b/guacamole/src/main/webapp/app/rest/services/permissionService.js
index 3cef2b9..d398447 100644
--- a/guacamole/src/main/webapp/app/rest/services/permissionService.js
+++ b/guacamole/src/main/webapp/app/rest/services/permissionService.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/rest/services/schemaService.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/rest/services/schemaService.js b/guacamole/src/main/webapp/app/rest/services/schemaService.js
index 2c3041f..39d89e1 100644
--- a/guacamole/src/main/webapp/app/rest/services/schemaService.js
+++ b/guacamole/src/main/webapp/app/rest/services/schemaService.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/rest/services/userService.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/rest/services/userService.js b/guacamole/src/main/webapp/app/rest/services/userService.js
index e7b3a35..bd12462 100644
--- a/guacamole/src/main/webapp/app/rest/services/userService.js
+++ b/guacamole/src/main/webapp/app/rest/services/userService.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/rest/types/ActiveConnection.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/rest/types/ActiveConnection.js b/guacamole/src/main/webapp/app/rest/types/ActiveConnection.js
index d44b27d..6c5aac2 100644
--- a/guacamole/src/main/webapp/app/rest/types/ActiveConnection.js
+++ b/guacamole/src/main/webapp/app/rest/types/ActiveConnection.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/rest/types/Connection.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/rest/types/Connection.js b/guacamole/src/main/webapp/app/rest/types/Connection.js
index 488cfdc..e000761 100644
--- a/guacamole/src/main/webapp/app/rest/types/Connection.js
+++ b/guacamole/src/main/webapp/app/rest/types/Connection.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/rest/types/ConnectionGroup.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/rest/types/ConnectionGroup.js b/guacamole/src/main/webapp/app/rest/types/ConnectionGroup.js
index 7c3dc2b..a40dba1 100644
--- a/guacamole/src/main/webapp/app/rest/types/ConnectionGroup.js
+++ b/guacamole/src/main/webapp/app/rest/types/ConnectionGroup.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/rest/types/ConnectionHistoryEntry.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/rest/types/ConnectionHistoryEntry.js b/guacamole/src/main/webapp/app/rest/types/ConnectionHistoryEntry.js
index 355f808..e4dfb14 100644
--- a/guacamole/src/main/webapp/app/rest/types/ConnectionHistoryEntry.js
+++ b/guacamole/src/main/webapp/app/rest/types/ConnectionHistoryEntry.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/rest/types/Error.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/rest/types/Error.js b/guacamole/src/main/webapp/app/rest/types/Error.js
index fe2a599..85f2cf5 100644
--- a/guacamole/src/main/webapp/app/rest/types/Error.js
+++ b/guacamole/src/main/webapp/app/rest/types/Error.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/rest/types/Field.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/rest/types/Field.js b/guacamole/src/main/webapp/app/rest/types/Field.js
index 3474ef4..e8589d5 100644
--- a/guacamole/src/main/webapp/app/rest/types/Field.js
+++ b/guacamole/src/main/webapp/app/rest/types/Field.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/rest/types/Form.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/rest/types/Form.js b/guacamole/src/main/webapp/app/rest/types/Form.js
index d736044..215a964 100644
--- a/guacamole/src/main/webapp/app/rest/types/Form.js
+++ b/guacamole/src/main/webapp/app/rest/types/Form.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/rest/types/PermissionFlagSet.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/rest/types/PermissionFlagSet.js b/guacamole/src/main/webapp/app/rest/types/PermissionFlagSet.js
index 5985948..be2771c 100644
--- a/guacamole/src/main/webapp/app/rest/types/PermissionFlagSet.js
+++ b/guacamole/src/main/webapp/app/rest/types/PermissionFlagSet.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/rest/types/PermissionPatch.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/rest/types/PermissionPatch.js b/guacamole/src/main/webapp/app/rest/types/PermissionPatch.js
index 9f3aa88..dda440b 100644
--- a/guacamole/src/main/webapp/app/rest/types/PermissionPatch.js
+++ b/guacamole/src/main/webapp/app/rest/types/PermissionPatch.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/rest/types/PermissionSet.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/rest/types/PermissionSet.js b/guacamole/src/main/webapp/app/rest/types/PermissionSet.js
index c7e9237..2ac418e 100644
--- a/guacamole/src/main/webapp/app/rest/types/PermissionSet.js
+++ b/guacamole/src/main/webapp/app/rest/types/PermissionSet.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/rest/types/Protocol.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/rest/types/Protocol.js b/guacamole/src/main/webapp/app/rest/types/Protocol.js
index fff1049..cf1298a 100644
--- a/guacamole/src/main/webapp/app/rest/types/Protocol.js
+++ b/guacamole/src/main/webapp/app/rest/types/Protocol.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/rest/types/User.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/rest/types/User.js b/guacamole/src/main/webapp/app/rest/types/User.js
index 8c18d01..4a808b1 100644
--- a/guacamole/src/main/webapp/app/rest/types/User.js
+++ b/guacamole/src/main/webapp/app/rest/types/User.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/rest/types/UserPasswordUpdate.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/rest/types/UserPasswordUpdate.js b/guacamole/src/main/webapp/app/rest/types/UserPasswordUpdate.js
index 14c7e2c..e76e761 100644
--- a/guacamole/src/main/webapp/app/rest/types/UserPasswordUpdate.js
+++ b/guacamole/src/main/webapp/app/rest/types/UserPasswordUpdate.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/settings/controllers/settingsController.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/settings/controllers/settingsController.js b/guacamole/src/main/webapp/app/settings/controllers/settingsController.js
index ce1a26a..91ef633 100644
--- a/guacamole/src/main/webapp/app/settings/controllers/settingsController.js
+++ b/guacamole/src/main/webapp/app/settings/controllers/settingsController.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/settings/directives/guacSettingsConnectionHistory.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/settings/directives/guacSettingsConnectionHistory.js b/guacamole/src/main/webapp/app/settings/directives/guacSettingsConnectionHistory.js
index 0e1bd9d..9f5c80d 100644
--- a/guacamole/src/main/webapp/app/settings/directives/guacSettingsConnectionHistory.js
+++ b/guacamole/src/main/webapp/app/settings/directives/guacSettingsConnectionHistory.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/settings/directives/guacSettingsConnections.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/settings/directives/guacSettingsConnections.js b/guacamole/src/main/webapp/app/settings/directives/guacSettingsConnections.js
index 20b5e7d..1414f91 100644
--- a/guacamole/src/main/webapp/app/settings/directives/guacSettingsConnections.js
+++ b/guacamole/src/main/webapp/app/settings/directives/guacSettingsConnections.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/settings/directives/guacSettingsPreferences.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/settings/directives/guacSettingsPreferences.js b/guacamole/src/main/webapp/app/settings/directives/guacSettingsPreferences.js
index f13c04b..934056b 100644
--- a/guacamole/src/main/webapp/app/settings/directives/guacSettingsPreferences.js
+++ b/guacamole/src/main/webapp/app/settings/directives/guacSettingsPreferences.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/settings/directives/guacSettingsSessions.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/settings/directives/guacSettingsSessions.js b/guacamole/src/main/webapp/app/settings/directives/guacSettingsSessions.js
index f40bfa1..0b1d806 100644
--- a/guacamole/src/main/webapp/app/settings/directives/guacSettingsSessions.js
+++ b/guacamole/src/main/webapp/app/settings/directives/guacSettingsSessions.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/settings/directives/guacSettingsUsers.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/settings/directives/guacSettingsUsers.js b/guacamole/src/main/webapp/app/settings/directives/guacSettingsUsers.js
index 13a3064..fe15b14 100644
--- a/guacamole/src/main/webapp/app/settings/directives/guacSettingsUsers.js
+++ b/guacamole/src/main/webapp/app/settings/directives/guacSettingsUsers.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/webapp/app/settings/services/preferenceService.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/settings/services/preferenceService.js b/guacamole/src/main/webapp/app/settings/services/preferenceService.js
index f02270d..9af4281 100644
--- a/guacamole/src/main/webapp/app/settings/services/preferenceService.js
+++ b/guacamole/src/main/webapp/app/settings/services/preferenceService.js
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
[48/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Add required LICENSE and NOTICE. Remove old MIT license.
Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/c569d2fb/guacamole-common/LICENSE
----------------------------------------------------------------------
diff --git a/guacamole-common/LICENSE b/guacamole-common/LICENSE
index 540cdcf..d645695 100644
--- a/guacamole-common/LICENSE
+++ b/guacamole-common/LICENSE
@@ -1,19 +1,202 @@
-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.
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed 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.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/c569d2fb/guacamole-common/NOTICE
----------------------------------------------------------------------
diff --git a/guacamole-common/NOTICE b/guacamole-common/NOTICE
new file mode 100644
index 0000000..2ef7e54
--- /dev/null
+++ b/guacamole-common/NOTICE
@@ -0,0 +1,5 @@
+Apache Guacamole
+Copyright 2016 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/c569d2fb/guacamole-ext/LICENSE
----------------------------------------------------------------------
diff --git a/guacamole-ext/LICENSE b/guacamole-ext/LICENSE
index 540cdcf..d645695 100644
--- a/guacamole-ext/LICENSE
+++ b/guacamole-ext/LICENSE
@@ -1,19 +1,202 @@
-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.
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed 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.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/c569d2fb/guacamole-ext/NOTICE
----------------------------------------------------------------------
diff --git a/guacamole-ext/NOTICE b/guacamole-ext/NOTICE
new file mode 100644
index 0000000..2ef7e54
--- /dev/null
+++ b/guacamole-ext/NOTICE
@@ -0,0 +1,5 @@
+Apache Guacamole
+Copyright 2016 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/c569d2fb/guacamole/LICENSE
----------------------------------------------------------------------
diff --git a/guacamole/LICENSE b/guacamole/LICENSE
index 540cdcf..d645695 100644
--- a/guacamole/LICENSE
+++ b/guacamole/LICENSE
@@ -1,19 +1,202 @@
-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.
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed 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.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/c569d2fb/guacamole/NOTICE
----------------------------------------------------------------------
diff --git a/guacamole/NOTICE b/guacamole/NOTICE
new file mode 100644
index 0000000..2ef7e54
--- /dev/null
+++ b/guacamole/NOTICE
@@ -0,0 +1,5 @@
+Apache Guacamole
+Copyright 2016 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/c569d2fb/guacamole/src/main/webapp/license.txt
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/license.txt b/guacamole/src/main/webapp/license.txt
index be7f59d..042f3ce 100644
--- a/guacamole/src/main/webapp/license.txt
+++ b/guacamole/src/main/webapp/license.txt
@@ -1,21 +1,18 @@
-/*!
- * Copyright (C) 2014 Glyptodon LLC
+/*
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
[44/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Relicense XML files.
Posted by jm...@apache.org.
GUACAMOLE-1: Relicense XML files.
Project: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/commit/de1ec05b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/tree/de1ec05b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/diff/de1ec05b
Branch: refs/heads/master
Commit: de1ec05b5a5182fe5b4ff41f73b84081f267a0fc
Parents: 98a32fe
Author: Michael Jumper <mj...@apache.org>
Authored: Fri Mar 25 11:08:53 2016 -0700
Committer: Michael Jumper <mj...@apache.org>
Committed: Mon Mar 28 20:50:30 2016 -0700
----------------------------------------------------------------------
.../src/main/webapp/WEB-INF/web.xml | 31 ++++++++---------
.../auth/jdbc/connection/ConnectionMapper.xml | 35 +++++++++-----------
.../jdbc/connection/ConnectionRecordMapper.xml | 35 +++++++++-----------
.../auth/jdbc/connection/ParameterMapper.xml | 31 ++++++++---------
.../connectiongroup/ConnectionGroupMapper.xml | 35 +++++++++-----------
.../ConnectionGroupPermissionMapper.xml | 35 +++++++++-----------
.../permission/ConnectionPermissionMapper.xml | 35 +++++++++-----------
.../jdbc/permission/SystemPermissionMapper.xml | 35 +++++++++-----------
.../jdbc/permission/UserPermissionMapper.xml | 35 +++++++++-----------
.../guacamole/auth/jdbc/user/UserMapper.xml | 35 +++++++++-----------
.../auth/jdbc/connection/ConnectionMapper.xml | 35 +++++++++-----------
.../jdbc/connection/ConnectionRecordMapper.xml | 35 +++++++++-----------
.../auth/jdbc/connection/ParameterMapper.xml | 31 ++++++++---------
.../connectiongroup/ConnectionGroupMapper.xml | 35 +++++++++-----------
.../ConnectionGroupPermissionMapper.xml | 35 +++++++++-----------
.../permission/ConnectionPermissionMapper.xml | 35 +++++++++-----------
.../jdbc/permission/SystemPermissionMapper.xml | 35 +++++++++-----------
.../jdbc/permission/UserPermissionMapper.xml | 35 +++++++++-----------
.../guacamole/auth/jdbc/user/UserMapper.xml | 35 +++++++++-----------
guacamole/src/main/resources/logback.xml | 31 ++++++++---------
guacamole/src/main/webapp/WEB-INF/web.xml | 35 +++++++++-----------
21 files changed, 328 insertions(+), 391 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/de1ec05b/doc/guacamole-example/src/main/webapp/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/doc/guacamole-example/src/main/webapp/WEB-INF/web.xml b/doc/guacamole-example/src/main/webapp/WEB-INF/web.xml
index 146f4be..54d7089 100644
--- a/doc/guacamole-example/src/main/webapp/WEB-INF/web.xml
+++ b/doc/guacamole-example/src/main/webapp/WEB-INF/web.xml
@@ -1,24 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Copyright (C) 2015 Glyptodon LLC
+ 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
- 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:
+ http://www.apache.org/licenses/LICENSE-2.0
- 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.
+ 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.
-->
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/de1ec05b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ConnectionMapper.xml
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ConnectionMapper.xml b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ConnectionMapper.xml
index 7c0788c..b5b8449 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ConnectionMapper.xml
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ConnectionMapper.xml
@@ -3,25 +3,22 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<!--
- 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.
+ 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.
-->
<mapper namespace="org.apache.guacamole.auth.jdbc.connection.ConnectionMapper" >
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/de1ec05b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordMapper.xml
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordMapper.xml b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordMapper.xml
index cd2952d..d1825fa 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordMapper.xml
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordMapper.xml
@@ -3,25 +3,22 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<!--
- 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.
+ 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.
-->
<mapper namespace="org.apache.guacamole.auth.jdbc.connection.ConnectionRecordMapper" >
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/de1ec05b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ParameterMapper.xml
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ParameterMapper.xml b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ParameterMapper.xml
index 1c48222..11db089 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ParameterMapper.xml
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ParameterMapper.xml
@@ -3,25 +3,22 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<!--
- Copyright (C) 2015 Glyptodon LLC
+ 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
- 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:
+ http://www.apache.org/licenses/LICENSE-2.0
- 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.
+ 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.
-->
<mapper namespace="org.apache.guacamole.auth.jdbc.connection.ParameterMapper">
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/de1ec05b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/connectiongroup/ConnectionGroupMapper.xml
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/connectiongroup/ConnectionGroupMapper.xml b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/connectiongroup/ConnectionGroupMapper.xml
index c25b69e..83785d2 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/connectiongroup/ConnectionGroupMapper.xml
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/connectiongroup/ConnectionGroupMapper.xml
@@ -3,25 +3,22 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<!--
- 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.
+ 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.
-->
<mapper namespace="org.apache.guacamole.auth.jdbc.connectiongroup.ConnectionGroupMapper" >
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/de1ec05b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/permission/ConnectionGroupPermissionMapper.xml
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/permission/ConnectionGroupPermissionMapper.xml b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/permission/ConnectionGroupPermissionMapper.xml
index 65d2ba9..972a71d 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/permission/ConnectionGroupPermissionMapper.xml
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/permission/ConnectionGroupPermissionMapper.xml
@@ -3,25 +3,22 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<!--
- 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.
+ 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.
-->
<mapper namespace="org.apache.guacamole.auth.jdbc.permission.ConnectionGroupPermissionMapper" >
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/de1ec05b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/permission/ConnectionPermissionMapper.xml
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/permission/ConnectionPermissionMapper.xml b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/permission/ConnectionPermissionMapper.xml
index 4ebbb3b..985d4d5 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/permission/ConnectionPermissionMapper.xml
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/permission/ConnectionPermissionMapper.xml
@@ -3,25 +3,22 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<!--
- 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.
+ 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.
-->
<mapper namespace="org.apache.guacamole.auth.jdbc.permission.ConnectionPermissionMapper" >
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/de1ec05b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/permission/SystemPermissionMapper.xml
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/permission/SystemPermissionMapper.xml b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/permission/SystemPermissionMapper.xml
index 614fd1d..b8573ea 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/permission/SystemPermissionMapper.xml
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/permission/SystemPermissionMapper.xml
@@ -3,25 +3,22 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<!--
- 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.
+ 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.
-->
<mapper namespace="org.apache.guacamole.auth.jdbc.permission.SystemPermissionMapper" >
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/de1ec05b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/permission/UserPermissionMapper.xml
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/permission/UserPermissionMapper.xml b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/permission/UserPermissionMapper.xml
index 31f9689..3b837de 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/permission/UserPermissionMapper.xml
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/permission/UserPermissionMapper.xml
@@ -3,25 +3,22 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<!--
- 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.
+ 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.
-->
<mapper namespace="org.apache.guacamole.auth.jdbc.permission.UserPermissionMapper" >
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/de1ec05b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/user/UserMapper.xml
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/user/UserMapper.xml b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/user/UserMapper.xml
index 5483003..65dc97c 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/user/UserMapper.xml
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/user/UserMapper.xml
@@ -3,25 +3,22 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<!--
- 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.
+ 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.
-->
<mapper namespace="org.apache.guacamole.auth.jdbc.user.UserMapper" >
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/de1ec05b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ConnectionMapper.xml
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ConnectionMapper.xml b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ConnectionMapper.xml
index dd3258a..6097aa1 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ConnectionMapper.xml
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ConnectionMapper.xml
@@ -3,25 +3,22 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<!--
- 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.
+ 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.
-->
<mapper namespace="org.apache.guacamole.auth.jdbc.connection.ConnectionMapper" >
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/de1ec05b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordMapper.xml
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordMapper.xml b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordMapper.xml
index 282b929..5084060 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordMapper.xml
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordMapper.xml
@@ -3,25 +3,22 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<!--
- 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.
+ 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.
-->
<mapper namespace="org.apache.guacamole.auth.jdbc.connection.ConnectionRecordMapper" >
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/de1ec05b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ParameterMapper.xml
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ParameterMapper.xml b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ParameterMapper.xml
index e908a33..2039e8a 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ParameterMapper.xml
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ParameterMapper.xml
@@ -3,25 +3,22 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<!--
- Copyright (C) 2015 Glyptodon LLC
+ 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
- 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:
+ http://www.apache.org/licenses/LICENSE-2.0
- 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.
+ 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.
-->
<mapper namespace="org.apache.guacamole.auth.jdbc.connection.ParameterMapper">
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/de1ec05b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/connectiongroup/ConnectionGroupMapper.xml
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/connectiongroup/ConnectionGroupMapper.xml b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/connectiongroup/ConnectionGroupMapper.xml
index bdcf917..24c8a84 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/connectiongroup/ConnectionGroupMapper.xml
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/connectiongroup/ConnectionGroupMapper.xml
@@ -3,25 +3,22 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<!--
- 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.
+ 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.
-->
<mapper namespace="org.apache.guacamole.auth.jdbc.connectiongroup.ConnectionGroupMapper" >
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/de1ec05b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/permission/ConnectionGroupPermissionMapper.xml
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/permission/ConnectionGroupPermissionMapper.xml b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/permission/ConnectionGroupPermissionMapper.xml
index cc77bc7..c171b2d 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/permission/ConnectionGroupPermissionMapper.xml
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/permission/ConnectionGroupPermissionMapper.xml
@@ -3,25 +3,22 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<!--
- 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.
+ 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.
-->
<mapper namespace="org.apache.guacamole.auth.jdbc.permission.ConnectionGroupPermissionMapper" >
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/de1ec05b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/permission/ConnectionPermissionMapper.xml
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/permission/ConnectionPermissionMapper.xml b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/permission/ConnectionPermissionMapper.xml
index 4634bab..f088932 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/permission/ConnectionPermissionMapper.xml
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/permission/ConnectionPermissionMapper.xml
@@ -3,25 +3,22 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<!--
- 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.
+ 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.
-->
<mapper namespace="org.apache.guacamole.auth.jdbc.permission.ConnectionPermissionMapper" >
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/de1ec05b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/permission/SystemPermissionMapper.xml
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/permission/SystemPermissionMapper.xml b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/permission/SystemPermissionMapper.xml
index fac987f..35010f4 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/permission/SystemPermissionMapper.xml
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/permission/SystemPermissionMapper.xml
@@ -3,25 +3,22 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<!--
- 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.
+ 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.
-->
<mapper namespace="org.apache.guacamole.auth.jdbc.permission.SystemPermissionMapper" >
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/de1ec05b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/permission/UserPermissionMapper.xml
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/permission/UserPermissionMapper.xml b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/permission/UserPermissionMapper.xml
index 03ace5d..4af8966 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/permission/UserPermissionMapper.xml
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/permission/UserPermissionMapper.xml
@@ -3,25 +3,22 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<!--
- 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.
+ 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.
-->
<mapper namespace="org.apache.guacamole.auth.jdbc.permission.UserPermissionMapper" >
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/de1ec05b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/user/UserMapper.xml
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/user/UserMapper.xml b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/user/UserMapper.xml
index b70614a..2bff4b9 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/user/UserMapper.xml
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/user/UserMapper.xml
@@ -3,25 +3,22 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<!--
- 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.
+ 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.
-->
<mapper namespace="org.apache.guacamole.auth.jdbc.user.UserMapper" >
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/de1ec05b/guacamole/src/main/resources/logback.xml
----------------------------------------------------------------------
diff --git a/guacamole/src/main/resources/logback.xml b/guacamole/src/main/resources/logback.xml
index 343554f..0b91a42 100644
--- a/guacamole/src/main/resources/logback.xml
+++ b/guacamole/src/main/resources/logback.xml
@@ -1,24 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Copyright (C) 2014 Glyptodon LLC
+ 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
- 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:
+ http://www.apache.org/licenses/LICENSE-2.0
- 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.
+ 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.
-->
<configuration>
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/de1ec05b/guacamole/src/main/webapp/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/WEB-INF/web.xml b/guacamole/src/main/webapp/WEB-INF/web.xml
index b268197..bc067c7 100644
--- a/guacamole/src/main/webapp/WEB-INF/web.xml
+++ b/guacamole/src/main/webapp/WEB-INF/web.xml
@@ -1,24 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- 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.
+ 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.
-->
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
[32/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Relicense C and JavaScript files.
Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/resource/WebApplicationResource.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/resource/WebApplicationResource.java b/guacamole/src/main/java/org/apache/guacamole/resource/WebApplicationResource.java
index b8aae14..17f6e66 100644
--- a/guacamole/src/main/java/org/apache/guacamole/resource/WebApplicationResource.java
+++ b/guacamole/src/main/java/org/apache/guacamole/resource/WebApplicationResource.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.resource;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/resource/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/resource/package-info.java b/guacamole/src/main/java/org/apache/guacamole/resource/package-info.java
index edbe504..287e3df 100644
--- a/guacamole/src/main/java/org/apache/guacamole/resource/package-info.java
+++ b/guacamole/src/main/java/org/apache/guacamole/resource/package-info.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/APIError.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/APIError.java b/guacamole/src/main/java/org/apache/guacamole/rest/APIError.java
index 74fa7d2..9a390a8 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/APIError.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/APIError.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.rest;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/APIException.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/APIException.java b/guacamole/src/main/java/org/apache/guacamole/rest/APIException.java
index 7a70fb8..752dd0f 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/APIException.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/APIException.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.rest;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/APIPatch.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/APIPatch.java b/guacamole/src/main/java/org/apache/guacamole/rest/APIPatch.java
index 08ee062..6d27582 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/APIPatch.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/APIPatch.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.rest;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/APIRequest.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/APIRequest.java b/guacamole/src/main/java/org/apache/guacamole/rest/APIRequest.java
index cd4fcd5..530b4dc 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/APIRequest.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/APIRequest.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.rest;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/ObjectRetrievalService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/ObjectRetrievalService.java b/guacamole/src/main/java/org/apache/guacamole/rest/ObjectRetrievalService.java
index 1cf8919..d0e403c 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/ObjectRetrievalService.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/ObjectRetrievalService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.rest;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/PATCH.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/PATCH.java b/guacamole/src/main/java/org/apache/guacamole/rest/PATCH.java
index f87ca98..69c690b 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/PATCH.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/PATCH.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/RESTExceptionWrapper.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/RESTExceptionWrapper.java b/guacamole/src/main/java/org/apache/guacamole/rest/RESTExceptionWrapper.java
index 0193e22..5adb131 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/RESTExceptionWrapper.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/RESTExceptionWrapper.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.rest;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/RESTMethodMatcher.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/RESTMethodMatcher.java b/guacamole/src/main/java/org/apache/guacamole/rest/RESTMethodMatcher.java
index 0283e63..3a862c8 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/RESTMethodMatcher.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/RESTMethodMatcher.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.rest;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/RESTServiceModule.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/RESTServiceModule.java b/guacamole/src/main/java/org/apache/guacamole/rest/RESTServiceModule.java
index 5458aec..45ee061 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/RESTServiceModule.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/RESTServiceModule.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.rest;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/activeconnection/APIActiveConnection.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/activeconnection/APIActiveConnection.java b/guacamole/src/main/java/org/apache/guacamole/rest/activeconnection/APIActiveConnection.java
index b892333..d8c6680 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/activeconnection/APIActiveConnection.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/activeconnection/APIActiveConnection.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.rest.activeconnection;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/activeconnection/ActiveConnectionRESTService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/activeconnection/ActiveConnectionRESTService.java b/guacamole/src/main/java/org/apache/guacamole/rest/activeconnection/ActiveConnectionRESTService.java
index 90e1608..dd73916 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/activeconnection/ActiveConnectionRESTService.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/activeconnection/ActiveConnectionRESTService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.rest.activeconnection;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/auth/APIAuthenticationResponse.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/auth/APIAuthenticationResponse.java b/guacamole/src/main/java/org/apache/guacamole/rest/auth/APIAuthenticationResponse.java
index f0a4306..d5e4920 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/auth/APIAuthenticationResponse.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/auth/APIAuthenticationResponse.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.rest.auth;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/auth/APIAuthenticationResult.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/auth/APIAuthenticationResult.java b/guacamole/src/main/java/org/apache/guacamole/rest/auth/APIAuthenticationResult.java
index fa1c080..c09e38b 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/auth/APIAuthenticationResult.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/auth/APIAuthenticationResult.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.rest.auth;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/auth/AuthTokenGenerator.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/auth/AuthTokenGenerator.java b/guacamole/src/main/java/org/apache/guacamole/rest/auth/AuthTokenGenerator.java
index cdab5aa..194b1e7 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/auth/AuthTokenGenerator.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/auth/AuthTokenGenerator.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.rest.auth;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/auth/AuthenticationService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/auth/AuthenticationService.java b/guacamole/src/main/java/org/apache/guacamole/rest/auth/AuthenticationService.java
index 7fa51e5..11785e7 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/auth/AuthenticationService.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/auth/AuthenticationService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.rest.auth;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/auth/HashTokenSessionMap.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/auth/HashTokenSessionMap.java b/guacamole/src/main/java/org/apache/guacamole/rest/auth/HashTokenSessionMap.java
index 5c5f46f..78cfa19 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/auth/HashTokenSessionMap.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/auth/HashTokenSessionMap.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.rest.auth;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/auth/SecureRandomAuthTokenGenerator.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/auth/SecureRandomAuthTokenGenerator.java b/guacamole/src/main/java/org/apache/guacamole/rest/auth/SecureRandomAuthTokenGenerator.java
index ed93bd4..9e6435c 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/auth/SecureRandomAuthTokenGenerator.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/auth/SecureRandomAuthTokenGenerator.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.rest.auth;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/auth/TokenRESTService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/auth/TokenRESTService.java b/guacamole/src/main/java/org/apache/guacamole/rest/auth/TokenRESTService.java
index 5a062fb..14adeb5 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/auth/TokenRESTService.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/auth/TokenRESTService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.rest.auth;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/auth/TokenSessionMap.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/auth/TokenSessionMap.java b/guacamole/src/main/java/org/apache/guacamole/rest/auth/TokenSessionMap.java
index 756084a..83c8174 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/auth/TokenSessionMap.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/auth/TokenSessionMap.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.rest.auth;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/auth/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/auth/package-info.java b/guacamole/src/main/java/org/apache/guacamole/rest/auth/package-info.java
index d58bede..cc8de1b 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/auth/package-info.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/auth/package-info.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/connection/APIConnection.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/connection/APIConnection.java b/guacamole/src/main/java/org/apache/guacamole/rest/connection/APIConnection.java
index 0a607f7..639318f 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/connection/APIConnection.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/connection/APIConnection.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.rest.connection;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/connection/APIConnectionWrapper.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/connection/APIConnectionWrapper.java b/guacamole/src/main/java/org/apache/guacamole/rest/connection/APIConnectionWrapper.java
index a785930..862c30a 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/connection/APIConnectionWrapper.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/connection/APIConnectionWrapper.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.rest.connection;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/connection/ConnectionRESTService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/connection/ConnectionRESTService.java b/guacamole/src/main/java/org/apache/guacamole/rest/connection/ConnectionRESTService.java
index b301082..feb0324 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/connection/ConnectionRESTService.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/connection/ConnectionRESTService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.rest.connection;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/connection/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/connection/package-info.java b/guacamole/src/main/java/org/apache/guacamole/rest/connection/package-info.java
index d80155f..b5c5bd9 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/connection/package-info.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/connection/package-info.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/APIConnectionGroup.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/APIConnectionGroup.java b/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/APIConnectionGroup.java
index 67dea8e..31c6e41 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/APIConnectionGroup.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/APIConnectionGroup.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.rest.connectiongroup;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/APIConnectionGroupWrapper.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/APIConnectionGroupWrapper.java b/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/APIConnectionGroupWrapper.java
index 0c8198a..f2033ab 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/APIConnectionGroupWrapper.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/APIConnectionGroupWrapper.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.rest.connectiongroup;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/ConnectionGroupRESTService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/ConnectionGroupRESTService.java b/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/ConnectionGroupRESTService.java
index 84e5283..bd28a19 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/ConnectionGroupRESTService.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/ConnectionGroupRESTService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.rest.connectiongroup;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/ConnectionGroupTree.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/ConnectionGroupTree.java b/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/ConnectionGroupTree.java
index 75e46ae..d2f6f6f 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/ConnectionGroupTree.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/ConnectionGroupTree.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.rest.connectiongroup;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/package-info.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/package-info.java b/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/package-info.java
index 9152989..023e92d 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/package-info.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/package-info.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2014 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/history/APIConnectionRecord.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/history/APIConnectionRecord.java b/guacamole/src/main/java/org/apache/guacamole/rest/history/APIConnectionRecord.java
index e5d92a0..b1a796e 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/history/APIConnectionRecord.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/history/APIConnectionRecord.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.rest.history;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/history/APIConnectionRecordSortPredicate.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/history/APIConnectionRecordSortPredicate.java b/guacamole/src/main/java/org/apache/guacamole/rest/history/APIConnectionRecordSortPredicate.java
index 7006f58..b685087 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/history/APIConnectionRecordSortPredicate.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/history/APIConnectionRecordSortPredicate.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.rest.history;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/guacamole/src/main/java/org/apache/guacamole/rest/history/HistoryRESTService.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/history/HistoryRESTService.java b/guacamole/src/main/java/org/apache/guacamole/rest/history/HistoryRESTService.java
index f5d4651..fd3738e 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/history/HistoryRESTService.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/history/HistoryRESTService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.rest.history;
[39/51] [abbrv] incubator-guacamole-client git commit: GUACAMOLE-1:
Relicense C and JavaScript files.
Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/ManagedSSLGuacamoleSocket.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/ManagedSSLGuacamoleSocket.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/ManagedSSLGuacamoleSocket.java
index 0d38c39..0bea008 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/ManagedSSLGuacamoleSocket.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/ManagedSSLGuacamoleSocket.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.tunnel;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/RestrictedGuacamoleTunnelService.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/RestrictedGuacamoleTunnelService.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/RestrictedGuacamoleTunnelService.java
index ebea7b9..4163adc 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/RestrictedGuacamoleTunnelService.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/RestrictedGuacamoleTunnelService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.tunnel;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/Seat.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/Seat.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/Seat.java
index acff4fe..81fb0c1 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/Seat.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/Seat.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.tunnel;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/package-info.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/package-info.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/package-info.java
index 61a5604..c76751a 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/package-info.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/tunnel/package-info.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/AuthenticatedUser.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/AuthenticatedUser.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/AuthenticatedUser.java
index 744ee50..3322a20 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/AuthenticatedUser.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/AuthenticatedUser.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.user;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/AuthenticationProviderService.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/AuthenticationProviderService.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/AuthenticationProviderService.java
index 7a4e6f1..2c4484c 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/AuthenticationProviderService.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/AuthenticationProviderService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.user;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/ModeledUser.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/ModeledUser.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/ModeledUser.java
index a787dc9..8b17523 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/ModeledUser.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/ModeledUser.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.user;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/UserContext.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/UserContext.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/UserContext.java
index a432836..8df1d3c 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/UserContext.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/UserContext.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.user;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/UserDirectory.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/UserDirectory.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/UserDirectory.java
index ae7b2d1..f7c73df 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/UserDirectory.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/UserDirectory.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.user;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/UserMapper.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/UserMapper.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/UserMapper.java
index f6b0419..dad119a 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/UserMapper.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/UserMapper.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.user;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/UserModel.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/UserModel.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/UserModel.java
index 403065a..09de5e8 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/UserModel.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/UserModel.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.user;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/UserService.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/UserService.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/UserService.java
index abbffd3..3d5a9e5 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/UserService.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/UserService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.jdbc.user;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/package-info.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/package-info.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/package-info.java
index a106eeb..309721d 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/package-info.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/package-info.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/java/org/apache/guacamole/auth/mysql/MySQLAuthenticationProvider.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/java/org/apache/guacamole/auth/mysql/MySQLAuthenticationProvider.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/java/org/apache/guacamole/auth/mysql/MySQLAuthenticationProvider.java
index 7ea1284..5cf740c 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/java/org/apache/guacamole/auth/mysql/MySQLAuthenticationProvider.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/java/org/apache/guacamole/auth/mysql/MySQLAuthenticationProvider.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.mysql;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/java/org/apache/guacamole/auth/mysql/MySQLAuthenticationProviderModule.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/java/org/apache/guacamole/auth/mysql/MySQLAuthenticationProviderModule.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/java/org/apache/guacamole/auth/mysql/MySQLAuthenticationProviderModule.java
index 4da003c..5687e04 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/java/org/apache/guacamole/auth/mysql/MySQLAuthenticationProviderModule.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/java/org/apache/guacamole/auth/mysql/MySQLAuthenticationProviderModule.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.mysql;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/java/org/apache/guacamole/auth/mysql/MySQLEnvironment.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/java/org/apache/guacamole/auth/mysql/MySQLEnvironment.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/java/org/apache/guacamole/auth/mysql/MySQLEnvironment.java
index dbcf9df..208bf44 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/java/org/apache/guacamole/auth/mysql/MySQLEnvironment.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/java/org/apache/guacamole/auth/mysql/MySQLEnvironment.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.mysql;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/java/org/apache/guacamole/auth/mysql/MySQLGuacamoleProperties.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/java/org/apache/guacamole/auth/mysql/MySQLGuacamoleProperties.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/java/org/apache/guacamole/auth/mysql/MySQLGuacamoleProperties.java
index 47f2a44..19da1c1 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/java/org/apache/guacamole/auth/mysql/MySQLGuacamoleProperties.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/java/org/apache/guacamole/auth/mysql/MySQLGuacamoleProperties.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.mysql;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/java/org/apache/guacamole/auth/mysql/package-info.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/java/org/apache/guacamole/auth/mysql/package-info.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/java/org/apache/guacamole/auth/mysql/package-info.java
index a915e5b..e8fd5d6 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/java/org/apache/guacamole/auth/mysql/package-info.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/java/org/apache/guacamole/auth/mysql/package-info.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/java/org/apache/guacamole/auth/postgresql/PostgreSQLAuthenticationProvider.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/java/org/apache/guacamole/auth/postgresql/PostgreSQLAuthenticationProvider.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/java/org/apache/guacamole/auth/postgresql/PostgreSQLAuthenticationProvider.java
index f2181d6..b289e9d 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/java/org/apache/guacamole/auth/postgresql/PostgreSQLAuthenticationProvider.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/java/org/apache/guacamole/auth/postgresql/PostgreSQLAuthenticationProvider.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2013 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.postgresql;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/java/org/apache/guacamole/auth/postgresql/PostgreSQLAuthenticationProviderModule.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/java/org/apache/guacamole/auth/postgresql/PostgreSQLAuthenticationProviderModule.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/java/org/apache/guacamole/auth/postgresql/PostgreSQLAuthenticationProviderModule.java
index 1471c81..dc8442e 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/java/org/apache/guacamole/auth/postgresql/PostgreSQLAuthenticationProviderModule.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/java/org/apache/guacamole/auth/postgresql/PostgreSQLAuthenticationProviderModule.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.postgresql;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/java/org/apache/guacamole/auth/postgresql/PostgreSQLEnvironment.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/java/org/apache/guacamole/auth/postgresql/PostgreSQLEnvironment.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/java/org/apache/guacamole/auth/postgresql/PostgreSQLEnvironment.java
index 739d2e4..b50fd79 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/java/org/apache/guacamole/auth/postgresql/PostgreSQLEnvironment.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/java/org/apache/guacamole/auth/postgresql/PostgreSQLEnvironment.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.postgresql;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/java/org/apache/guacamole/auth/postgresql/PostgreSQLGuacamoleProperties.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/java/org/apache/guacamole/auth/postgresql/PostgreSQLGuacamoleProperties.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/java/org/apache/guacamole/auth/postgresql/PostgreSQLGuacamoleProperties.java
index bc6b9ac..16b8b8d 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/java/org/apache/guacamole/auth/postgresql/PostgreSQLGuacamoleProperties.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/java/org/apache/guacamole/auth/postgresql/PostgreSQLGuacamoleProperties.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.postgresql;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/java/org/apache/guacamole/auth/postgresql/package-info.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/java/org/apache/guacamole/auth/postgresql/package-info.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/java/org/apache/guacamole/auth/postgresql/package-info.java
index 1c5fada..0423f24 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/java/org/apache/guacamole/auth/postgresql/package-info.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/java/org/apache/guacamole/auth/postgresql/package-info.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
/**
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/AuthenticationProviderService.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/AuthenticationProviderService.java b/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/AuthenticationProviderService.java
index 64c53d6..6e45294 100644
--- a/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/AuthenticationProviderService.java
+++ b/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/AuthenticationProviderService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.ldap;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/ConfigurationService.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/ConfigurationService.java b/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/ConfigurationService.java
index aa643ae..bb239b9 100644
--- a/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/ConfigurationService.java
+++ b/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/ConfigurationService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.ldap;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/EncryptionMethod.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/EncryptionMethod.java b/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/EncryptionMethod.java
index 2498878..463c4d5 100644
--- a/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/EncryptionMethod.java
+++ b/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/EncryptionMethod.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.ldap;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/EncryptionMethodProperty.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/EncryptionMethodProperty.java b/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/EncryptionMethodProperty.java
index 286ce68..22cf6a5 100644
--- a/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/EncryptionMethodProperty.java
+++ b/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/EncryptionMethodProperty.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.ldap;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/EscapingService.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/EscapingService.java b/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/EscapingService.java
index 7c3341b..39d9834 100644
--- a/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/EscapingService.java
+++ b/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/EscapingService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.ldap;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/LDAPAuthenticationProvider.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/LDAPAuthenticationProvider.java b/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/LDAPAuthenticationProvider.java
index 72c1f76..f74d553 100644
--- a/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/LDAPAuthenticationProvider.java
+++ b/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/LDAPAuthenticationProvider.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.ldap;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/LDAPAuthenticationProviderModule.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/LDAPAuthenticationProviderModule.java b/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/LDAPAuthenticationProviderModule.java
index 5d24a68..ae7b77c 100644
--- a/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/LDAPAuthenticationProviderModule.java
+++ b/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/LDAPAuthenticationProviderModule.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.ldap;
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/1810ec97/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/LDAPConnectionService.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/LDAPConnectionService.java b/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/LDAPConnectionService.java
index 19a68e5..518c576 100644
--- a/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/LDAPConnectionService.java
+++ b/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/LDAPConnectionService.java
@@ -1,23 +1,20 @@
/*
- * Copyright (C) 2015 Glyptodon LLC
+ * 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
*
- * 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:
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*/
package org.apache.guacamole.auth.ldap;