guacamole-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael Jumper (JIRA)" <j...@apache.org>
Subject [jira] [Issue Comment Deleted] (GUACAMOLE-5) Allow creation of per-connection share links
Date Mon, 08 Aug 2016 20:42:21 GMT

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

Michael Jumper updated GUACAMOLE-5:
-----------------------------------
    Comment: was deleted

(was: Github user jmuehlner commented on a diff in the pull request:

    https://github.com/apache/incubator-guacamole-client/pull/30#discussion_r71088214
  
    --- Diff: guacamole/src/main/java/org/apache/guacamole/tunnel/UserTunnel.java ---
    @@ -0,0 +1,120 @@
    +/*
    + * Licensed to the Apache Software Foundation (ASF) under one
    + * or more contributor license agreements.  See the NOTICE file
    + * distributed with this work for additional information
    + * regarding copyright ownership.  The ASF licenses this file
    + * to you under the Apache License, Version 2.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.tunnel;
    +
    +import java.util.Collection;
    +import java.util.UUID;
    +import org.apache.guacamole.GuacamoleException;
    +import org.apache.guacamole.net.GuacamoleTunnel;
    +import org.apache.guacamole.net.auth.ActiveConnection;
    +import org.apache.guacamole.net.auth.Directory;
    +import org.apache.guacamole.net.auth.UserContext;
    +
    +/**
    + * Tunnel implementation which associates a given tunnel with the UserContext of
    + * the user that created it.
    + *
    + * @author Michael Jumper
    + */
    +public class UserTunnel extends StreamInterceptingTunnel {
    +
    +    /**
    +     * The UserContext associated with the user for whom this tunnel was
    +     * created. This UserContext MUST be from the AuthenticationProvider that
    +     * created this tunnel.
    +     */
    +    private final UserContext userContext;
    +
    +    /**
    +     * Creates a new UserTunnel which wraps the given tunnel, associating it
    +     * with the given UserContext. The UserContext MUST be from the
    +     * AuthenticationProvider that created this tunnel, and MUST be associated
    +     * with the user for whom this tunnel was created.
    +     *
    +     * @param userContext
    +     *     The UserContext associated with the user for whom this tunnel was
    +     *     created. This UserContext MUST be from the AuthenticationProvider
    +     *     that created this tunnel.
    +     *
    +     * @param tunnel
    +     *     The tunnel whose stream-related instruction should be intercepted if
    +     *     interceptStream() is invoked.
    +     */
    +    public UserTunnel(UserContext userContext, GuacamoleTunnel tunnel) {
    +        super(tunnel);
    +        this.userContext = userContext;
    +    }
    +
    +    /**
    +     * Returns the UserContext of the user for whom this tunnel was created.
    +     * This UserContext will be the UserContext from the AuthenticationProvider
    +     * that created this tunnel.
    +     *
    +     * @return
    +     *     The UserContext of the user for whom this tunnel was created.
    +     */
    +    public UserContext getUserContext() {
    +        return userContext;
    +    }
    +
    +    /**
    +     * Returns the ActiveConnection object associated with this tunnel within
    +     * the AuthenticationProvider and UserContext which created the tunnel. If
    +     * the AuthenticationProvider is not tracking active connections, or this
    +     * tunnel is no longer active, this will be null.
    +     *
    +     * @return
    +     *     The ActiveConnection object associated with this tunnel, or null if
    +     *     this tunnel is no longer active or the AuthenticationProvider which
    +     *     created the tunnel is not tracking active connections.
    +     *
    +     * @throws GuacamoleException
    +     *     If an error occurs which prevents retrieval of the user's current
    +     *     active connections.
    +     */
    +    public ActiveConnection getActiveConnection() throws GuacamoleException {
    +
    +        // Pull the UUID of the current tunnel
    +        UUID uuid = getUUID();
    +
    +        // Get the directory of active connections
    +        Directory<ActiveConnection> activeConnectionDirectory = userContext.getActiveConnectionDirectory();
    +        Collection<String> activeConnectionIdentifiers = activeConnectionDirectory.getIdentifiers();
    +
    +        // Search all  connections for a tunnel which matches this tunnel
    --- End diff --
    
    Extra space here - "all  connections"
)

> Allow creation of per-connection share links
> --------------------------------------------
>
>                 Key: GUACAMOLE-5
>                 URL: https://issues.apache.org/jira/browse/GUACAMOLE-5
>             Project: Guacamole
>          Issue Type: New Feature
>            Reporter: Michael Jumper
>            Assignee: Michael Jumper
>             Fix For: 0.9.10-incubating
>
>
> {panel:bgColor=#FFFFEE}
> *The description of this issue was copied from [GUAC-1074|https://glyptodon.org/jira/browse/GUAC-1074],
an issue in the JIRA instance used by the Guacamole project prior to its acceptance into the
Apache Incubator.*
> Comments, attachments, related issues, and history from prior to acceptance *have not
been copied* and can be found instead at the original issue.
> {panel}
> Depending on connection and user permissions, users should be able to create one-time
share links that allow external or internal users to share active connections.
> Considering that these links may be needed by groups of users, each link should have
the option to be:
> # One-time use
> # Multi-use (lasts until the sharing user disconnects)
> Once a user joins a connection, their presence should be exposed in the interface, and
the owning user should be able to grant/revoke permission to use the keyboard/mouse, kick
individual users, etc.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message