Re: Shared connection input passthrough

2022-12-20 Thread Dejan Milovanovic
Thank you Mike, this looks like it's a bit out of my league. Is there someone 
you can recommend that I can hire to develop this feature ?

Regards,
Dejan

From: Michael Jumper 
Sent: 06 December 2022 00:51
To: user@guacamole.apache.org 
Subject: Re: Shared connection input passthrough

I think you'd be better off writing an extension that decorates the Connection 
objects returned by other extensions:

https://guacamole.apache.org/doc/guacamole-ext/org/apache/guacamole/net/auth/AbstractAuthenticationProvider.html#decorate(org.apache.guacamole.net.auth.UserContext,org.apache.guacamole.net.auth.AuthenticatedUser,org.apache.guacamole.net.auth.Credentials)

After decorating the UserContext of another extension, you can further decorate 
the Directory returned by getConnectionDirectory(). The 
DecoratingDirectory class is intended to make this easier:

https://guacamole.apache.org/doc/guacamole-ext/org/apache/guacamole/net/auth/DecoratingDirectory.html

You can then decorate (wrap) any Connection returned by that Directory with 
your own implementation that does whatever it likes. In this case, you'd wrap 
the GuacamoleTunnel returned by connect() and inspect the instructions 
received. The FilteredGuacamoleSocket class would be the best candidate for 
that kind of checking:

https://guacamole.apache.org/doc/guacamole-common/org/apache/guacamole/protocol/FilteredGuacamoleSocket.html

That class lets you provide filters that can inspect, drop, or override 
instructions that are sent or received.

- Mike

On Fri, Dec 2, 2022 at 1:35 AM Dejan Milovanovic 
mailto:dejan.milovano...@mylivezone.com>> 
wrote:
Hi Nick,

thank you for the response.

I did manage to record guac protocol to a file, but that removes the 
"real-time" factor of the analysis.

You've mentioned recording guacd protocol to socket, I haven't seen an example 
of that online. What would I have to do to achieve this?
Do I need to make some changes to guacd code, or is there some configuration 
magic that I don't know of?

Kind regards,
Dejan

From: Nick Couchman mailto:vn...@apache.org>>
Sent: 01 December 2022 19:32
To: user@guacamole.apache.org<mailto:user@guacamole.apache.org> 
mailto:user@guacamole.apache.org>>
Subject: Re: Shared connection input passthrough

On Thu, Dec 1, 2022 at 4:52 AM Dejan Milovanovic
mailto:dejan.milovano...@mylivezone.com>> 
wrote:
>
> Hi all,
>
> I'm using guacamole to provide users with access to remote windows machines, 
> and I'm trying to analyse user's actions on these machines in real-time.
>
> What I tried to do is generate shared connection and listen for guacamole 
> protocol messages on that shared connection. This works great, but the issue 
> I have with this approach is that keyboard and mouse actions are not 
> transmitted on the shared connection socket.
>
> Is there a way to have these missing messages in the shared connection ?
> Or is there another way of observing users tunnel without disturbing their 
> RDP session?

No, I do not think what you're asking to do is going to work, because
the input from a share connection is not sent to all of the users, nor
is there any particular way to enable that at the moment. The
non-owner participants in a connection are usually only going to get
the image data that is sent from guacd back to any joined connections.

It is likely possible to implement what you're asking for - it's
essentially what enabling recording does, which just writes the guac
protocol data to a file. Have you considered trying to record to a
file (or, perhaps, a socket) and then pointing your analysis tool at
that, instead? Beyond that, you'd probably need some code changes to
guacd to do what you're wanting to do.

-Nick

-
To unsubscribe, e-mail: 
user-unsubscr...@guacamole.apache.org<mailto:user-unsubscr...@guacamole.apache.org>
For additional commands, e-mail: 
user-h...@guacamole.apache.org<mailto:user-h...@guacamole.apache.org>



Re: Shared connection input passthrough

2022-12-05 Thread Michael Jumper
I think you'd be better off writing an extension that decorates the
Connection objects returned by other extensions:

https://guacamole.apache.org/doc/guacamole-ext/org/apache/guacamole/net/auth/AbstractAuthenticationProvider.html#decorate(org.apache.guacamole.net.auth.UserContext,org.apache.guacamole.net.auth.AuthenticatedUser,org.apache.guacamole.net.auth.Credentials)

After decorating the UserContext of another extension, you can further
decorate the Directory returned by getConnectionDirectory().
The DecoratingDirectory class is intended to make this easier:

https://guacamole.apache.org/doc/guacamole-ext/org/apache/guacamole/net/auth/DecoratingDirectory.html

You can then decorate (wrap) any Connection returned by that Directory with
your own implementation that does whatever it likes. In this case, you'd
wrap the GuacamoleTunnel returned by connect() and inspect the instructions
received. The FilteredGuacamoleSocket class would be the best candidate for
that kind of checking:

https://guacamole.apache.org/doc/guacamole-common/org/apache/guacamole/protocol/FilteredGuacamoleSocket.html

That class lets you provide filters that can inspect, drop, or override
instructions that are sent or received.

- Mike

On Fri, Dec 2, 2022 at 1:35 AM Dejan Milovanovic <
dejan.milovano...@mylivezone.com> wrote:

> Hi Nick,
>
> thank you for the response.
>
> I did manage to record guac protocol to a file, but that removes the
> "real-time" factor of the analysis.
>
> You've mentioned recording guacd protocol to socket, I haven't seen an
> example of that online. What would I have to do to achieve this?
> Do I need to make some changes to guacd code, or is there some
> configuration magic that I don't know of?
>
> Kind regards,
> Dejan
> --
> *From:* Nick Couchman 
> *Sent:* 01 December 2022 19:32
> *To:* user@guacamole.apache.org 
> *Subject:* Re: Shared connection input passthrough
>
> On Thu, Dec 1, 2022 at 4:52 AM Dejan Milovanovic
>  wrote:
> >
> > Hi all,
> >
> > I'm using guacamole to provide users with access to remote windows
> machines, and I'm trying to analyse user's actions on these machines in
> real-time.
> >
> > What I tried to do is generate shared connection and listen for
> guacamole protocol messages on that shared connection. This works great,
> but the issue I have with this approach is that keyboard and mouse actions
> are not transmitted on the shared connection socket.
> >
> > Is there a way to have these missing messages in the shared connection ?
> > Or is there another way of observing users tunnel without disturbing
> their RDP session?
>
> No, I do not think what you're asking to do is going to work, because
> the input from a share connection is not sent to all of the users, nor
> is there any particular way to enable that at the moment. The
> non-owner participants in a connection are usually only going to get
> the image data that is sent from guacd back to any joined connections.
>
> It is likely possible to implement what you're asking for - it's
> essentially what enabling recording does, which just writes the guac
> protocol data to a file. Have you considered trying to record to a
> file (or, perhaps, a socket) and then pointing your analysis tool at
> that, instead? Beyond that, you'd probably need some code changes to
> guacd to do what you're wanting to do.
>
> -Nick
>
> -
> To unsubscribe, e-mail: user-unsubscr...@guacamole.apache.org
> For additional commands, e-mail: user-h...@guacamole.apache.org
>
>


Re: Shared connection input passthrough

2022-12-02 Thread Dejan Milovanovic
Hi Nick,

thank you for the response.

I did manage to record guac protocol to a file, but that removes the 
"real-time" factor of the analysis.

You've mentioned recording guacd protocol to socket, I haven't seen an example 
of that online. What would I have to do to achieve this?
Do I need to make some changes to guacd code, or is there some configuration 
magic that I don't know of?

Kind regards,
Dejan

From: Nick Couchman 
Sent: 01 December 2022 19:32
To: user@guacamole.apache.org 
Subject: Re: Shared connection input passthrough

On Thu, Dec 1, 2022 at 4:52 AM Dejan Milovanovic
 wrote:
>
> Hi all,
>
> I'm using guacamole to provide users with access to remote windows machines, 
> and I'm trying to analyse user's actions on these machines in real-time.
>
> What I tried to do is generate shared connection and listen for guacamole 
> protocol messages on that shared connection. This works great, but the issue 
> I have with this approach is that keyboard and mouse actions are not 
> transmitted on the shared connection socket.
>
> Is there a way to have these missing messages in the shared connection ?
> Or is there another way of observing users tunnel without disturbing their 
> RDP session?

No, I do not think what you're asking to do is going to work, because
the input from a share connection is not sent to all of the users, nor
is there any particular way to enable that at the moment. The
non-owner participants in a connection are usually only going to get
the image data that is sent from guacd back to any joined connections.

It is likely possible to implement what you're asking for - it's
essentially what enabling recording does, which just writes the guac
protocol data to a file. Have you considered trying to record to a
file (or, perhaps, a socket) and then pointing your analysis tool at
that, instead? Beyond that, you'd probably need some code changes to
guacd to do what you're wanting to do.

-Nick

-
To unsubscribe, e-mail: user-unsubscr...@guacamole.apache.org
For additional commands, e-mail: user-h...@guacamole.apache.org



Re: Shared connection input passthrough

2022-12-01 Thread Nick Couchman
On Thu, Dec 1, 2022 at 4:52 AM Dejan Milovanovic
 wrote:
>
> Hi all,
>
> I'm using guacamole to provide users with access to remote windows machines, 
> and I'm trying to analyse user's actions on these machines in real-time.
>
> What I tried to do is generate shared connection and listen for guacamole 
> protocol messages on that shared connection. This works great, but the issue 
> I have with this approach is that keyboard and mouse actions are not 
> transmitted on the shared connection socket.
>
> Is there a way to have these missing messages in the shared connection ?
> Or is there another way of observing users tunnel without disturbing their 
> RDP session?

No, I do not think what you're asking to do is going to work, because
the input from a share connection is not sent to all of the users, nor
is there any particular way to enable that at the moment. The
non-owner participants in a connection are usually only going to get
the image data that is sent from guacd back to any joined connections.

It is likely possible to implement what you're asking for - it's
essentially what enabling recording does, which just writes the guac
protocol data to a file. Have you considered trying to record to a
file (or, perhaps, a socket) and then pointing your analysis tool at
that, instead? Beyond that, you'd probably need some code changes to
guacd to do what you're wanting to do.

-Nick

-
To unsubscribe, e-mail: user-unsubscr...@guacamole.apache.org
For additional commands, e-mail: user-h...@guacamole.apache.org



RE: Shared Connection URL

2020-05-20 Thread Scott Hancock
It took a lot of reading and re-reading of old posts in various places but I 
finally figured out what I needed. I'm going to answer my own questions here to 
bring together all the info I gathered. One, the shared link is created in the 
web client through javascript. Second, there's no direct way to create the 
shared link through Java. In my case, since I'm not using the included web 
client, the shared url wouldn't work for me anyway. What I ended up doing was, 
in the servlet I grab the connection id when a user connects and store it in a 
database. Then to share a connection, I pass the connection id to the servlet 
which uses it when setting up the new connection (using the 
GuacamoleConfiguration object).

A couple of notes:

I'm using Guac 1.0. One frustrating thing I found when researching, was posts 
that didn't specify the version. Only later would I discover that some piece of 
info didn't apply to my version.

In the servlet code from the tutorial there is this:
GuacamoleSocket socket = new ConfiguredGuacamoleSocket
Which I changed to:
  ConfiguredGuacamoleSocket socket = new ConfiguredGuacamoleSocket
Because GuacamoleSocket doesn't have getConnectionID()


You can set the  connection to be readonly by setting this:
  config.setParameter("read-only", String.valueOf(Boolean.TRUE));
(Where config is a GuacamoleConfiguration object.)


The connection ID is created when the tunnel is created, so I get it right 
before I return the tunnel.


I think that's everything. Hopefully this will be helpful to someone.

Scott


From: Scott Hancock 
Sent: Wednesday, May 6, 2020 9:40 AM
To: user@guacamole.apache.org
Subject: RE: Shared Connection URL

So maybe the better question is where in the codebase is the code that creates 
the shared connection url?

Thanks,
Scott

From: Scott Hancock mailto:shanc...@opsgility.com>>
Sent: Tuesday, May 5, 2020 5:12 PM
To: user@guacamole.apache.org<mailto:user@guacamole.apache.org>
Subject: Re: Shared Connection URL

Hi Mike,

I inherited this code and I don't know what the reasons are. Yes, we have our 
own web application. It looks like it's based on the tutorial code.

Scott

From: Mike Jumper mailto:mjum...@apache.org>>
Sent: Tuesday, May 5, 2020 4:02 PM
To: user@guacamole.apache.org<mailto:user@guacamole.apache.org> 
mailto:user@guacamole.apache.org>>
Subject: Re: Shared Connection URL

On Tue, May 5, 2020 at 1:56 PM Scott Hancock 
mailto:shanc...@opsgility.com>> wrote:

I'm new to Guacamole and I need to get a shared connection URL for every new 
connection. For reasons, we don't have the REST API available.

What reasons? If using the mainline web application, the web application as a 
whole would not be functional without its REST API. It is the REST API that 
drives the interface of the web application.


In Guacamole 1.0, how do I generate the shared connection url using the Java 
api?

Does this mean you have your own web application, built against 
guacamole-common and guacamole-common-js?

- Mike



RE: Shared Connection URL

2020-05-06 Thread Scott Hancock
So maybe the better question is where in the codebase is the code that creates 
the shared connection url?

Thanks,
Scott

From: Scott Hancock 
Sent: Tuesday, May 5, 2020 5:12 PM
To: user@guacamole.apache.org
Subject: Re: Shared Connection URL

Hi Mike,

I inherited this code and I don't know what the reasons are. Yes, we have our 
own web application. It looks like it's based on the tutorial code.

Scott

From: Mike Jumper mailto:mjum...@apache.org>>
Sent: Tuesday, May 5, 2020 4:02 PM
To: user@guacamole.apache.org<mailto:user@guacamole.apache.org> 
mailto:user@guacamole.apache.org>>
Subject: Re: Shared Connection URL

On Tue, May 5, 2020 at 1:56 PM Scott Hancock 
mailto:shanc...@opsgility.com>> wrote:

I'm new to Guacamole and I need to get a shared connection URL for every new 
connection. For reasons, we don't have the REST API available.

What reasons? If using the mainline web application, the web application as a 
whole would not be functional without its REST API. It is the REST API that 
drives the interface of the web application.


In Guacamole 1.0, how do I generate the shared connection url using the Java 
api?

Does this mean you have your own web application, built against 
guacamole-common and guacamole-common-js?

- Mike



Re: Shared Connection URL

2020-05-05 Thread Scott Hancock
Hi Mike,

I inherited this code and I don't know what the reasons are. Yes, we have our 
own web application. It looks like it's based on the tutorial code.

Scott

From: Mike Jumper 
Sent: Tuesday, May 5, 2020 4:02 PM
To: user@guacamole.apache.org 
Subject: Re: Shared Connection URL

On Tue, May 5, 2020 at 1:56 PM Scott Hancock 
mailto:shanc...@opsgility.com>> wrote:

I'm new to Guacamole and I need to get a shared connection URL for every new 
connection. For reasons, we don't have the REST API available.

What reasons? If using the mainline web application, the web application as a 
whole would not be functional without its REST API. It is the REST API that 
drives the interface of the web application.


In Guacamole 1.0, how do I generate the shared connection url using the Java 
api?

Does this mean you have your own web application, built against 
guacamole-common and guacamole-common-js?

- Mike



Re: Shared Connection URL

2020-05-05 Thread Mike Jumper
On Tue, May 5, 2020 at 1:56 PM Scott Hancock  wrote:

> I'm new to Guacamole and I need to get a shared connection URL for every
> new connection. For reasons, we don't have the REST API available.
>

What reasons? If using the mainline web application, the web application as
a whole would not be functional without its REST API. It is the REST API
that drives the interface of the web application.


> In Guacamole 1.0, how do I generate the shared connection url using the
> Java api?
>

Does this mean you have your own web application, built against
guacamole-common and guacamole-common-js?

- Mike


RE: Shared connection

2019-12-15 Thread Umesh Bhatt
Hi,

I have MyCustomAuthenticationProvider class which is extending 
SimpleAuthenticationProvider.
Is it possible to get current logged in user context in this?
I think this SimpleAuthenticationProvider::getuserContext() always creates a 
new SimpleUserContext.
Pls provide your inputs on this.

Regards,
Umesh

From: Umesh Bhatt 
Sent: Friday, December 13, 2019 9:59 AM
To: user@guacamole.apache.org
Subject: RE: Shared connection

Hi,

Any inputs what am I missing in below code? This is written in my simple custom 
auth provider.

Regards,
Umesh
From: Umesh Bhatt mailto:um...@nuvepro.com>>
Sent: Wednesday, December 11, 2019 11:29 AM
To: user@guacamole.apache.org<mailto:user@guacamole.apache.org>
Subject: RE: Shared connection

Hi Nick,

I am trying to get active connections using below code but it is always fails 
and error details are not clear.
Also in connDir.getAll(null), we need to provide identifiers. Can you pls 
explain how to get this?

Regards,
Umesh

private void printActiveConnections(AuthenticatedUser usr) {
try {
  System.out.println("Listing active connections.");
  if(usr == null) {
System.out.println("No user object.");
return;
  }

  System.out.println("usr = " + usr.getIdentifier());
  UserContext ctxt = null;
  try {
ctxt = getUserContext(usr);
if(ctxt == null) {
  System.out.println("No user context.");
  return;
}
  } catch(GuacamoleException ex) {
System.out.println(ex.getMessage());
  }

  Directory connDir = 
ctxt.getActiveConnectionDirectory();
  if(connDir == null) {
System.out.println("No connection directory.");
return;
  }

  Collection allConns = connDir.getAll(null);
  if(allConns == null || allConns.isEmpty()) {
System.out.println("No active connections.");
return;
  }

  for(ActiveConnection conn : allConns) {
System.out.println("Conn Identifier = " + 
conn.getConnectionIdentifier() +
" Identifier = " + conn.getIdentifier() +
" Remote host = " + conn.getRemoteHost() +
" Username = " + conn.getUsername());
  }
} catch (Exception ex) {
  System.out.println("Error: " + ex.getMessage());
}
  }

From: Nick Couchman mailto:vn...@apache.org>>
Sent: Wednesday, December 4, 2019 11:31 PM
To: user@guacamole.apache.org<mailto:user@guacamole.apache.org>
Subject: Re: Shared connection

On Wed, Dec 4, 2019 at 5:46 AM Umesh Bhatt 
mailto:um...@nuvepro.com>> wrote:
Hi Nick,

Since currently it is not available, I am trying to implement in my custom auth 
provider.


Well, it isn't *released*, but it is available...in git master.  However, doing 
it in a custom authentication module should be fine, as well.

I am using GuacamoleConfiguration setConnectionId(ALREADY_ACTIVE_CONNECTION_ID) 
to join to existing active connection but not seeing it working.

What is ConnectionID, is it GUACD connection ID which is usually something like 
$7beb584d-d6e2-459d-86e9-e726091862cb?
If so how can I retrieve it in my code?


This is automatically generated when the connection is started, so you'll need 
to retrieve a list of active connections, which will give you the UUID 
(collection of random letters and numbers above) and then select the correct 
connection.

-Nick


RE: Shared connection

2019-12-12 Thread Umesh Bhatt
Hi,

Any inputs what am I missing in below code? This is written in my simple custom 
auth provider.

Regards,
Umesh
From: Umesh Bhatt 
Sent: Wednesday, December 11, 2019 11:29 AM
To: user@guacamole.apache.org
Subject: RE: Shared connection

Hi Nick,

I am trying to get active connections using below code but it is always fails 
and error details are not clear.
Also in connDir.getAll(null), we need to provide identifiers. Can you pls 
explain how to get this?

Regards,
Umesh

private void printActiveConnections(AuthenticatedUser usr) {
try {
  System.out.println("Listing active connections.");
  if(usr == null) {
System.out.println("No user object.");
return;
  }

  System.out.println("usr = " + usr.getIdentifier());
  UserContext ctxt = null;
  try {
ctxt = getUserContext(usr);
if(ctxt == null) {
  System.out.println("No user context.");
  return;
}
  } catch(GuacamoleException ex) {
System.out.println(ex.getMessage());
  }

  Directory connDir = 
ctxt.getActiveConnectionDirectory();
  if(connDir == null) {
System.out.println("No connection directory.");
return;
  }

  Collection allConns = connDir.getAll(null);
  if(allConns == null || allConns.isEmpty()) {
System.out.println("No active connections.");
return;
  }

  for(ActiveConnection conn : allConns) {
System.out.println("Conn Identifier = " + 
conn.getConnectionIdentifier() +
" Identifier = " + conn.getIdentifier() +
" Remote host = " + conn.getRemoteHost() +
" Username = " + conn.getUsername());
  }
} catch (Exception ex) {
  System.out.println("Error: " + ex.getMessage());
}
  }

From: Nick Couchman mailto:vn...@apache.org>>
Sent: Wednesday, December 4, 2019 11:31 PM
To: user@guacamole.apache.org<mailto:user@guacamole.apache.org>
Subject: Re: Shared connection

On Wed, Dec 4, 2019 at 5:46 AM Umesh Bhatt 
mailto:um...@nuvepro.com>> wrote:
Hi Nick,

Since currently it is not available, I am trying to implement in my custom auth 
provider.


Well, it isn't *released*, but it is available...in git master.  However, doing 
it in a custom authentication module should be fine, as well.

I am using GuacamoleConfiguration setConnectionId(ALREADY_ACTIVE_CONNECTION_ID) 
to join to existing active connection but not seeing it working.

What is ConnectionID, is it GUACD connection ID which is usually something like 
$7beb584d-d6e2-459d-86e9-e726091862cb?
If so how can I retrieve it in my code?


This is automatically generated when the connection is started, so you'll need 
to retrieve a list of active connections, which will give you the UUID 
(collection of random letters and numbers above) and then select the correct 
connection.

-Nick


RE: Shared connection

2019-12-10 Thread Umesh Bhatt
Hi Nick,

I am trying to get active connections using below code but it is always fails 
and error details are not clear.
Also in connDir.getAll(null), we need to provide identifiers. Can you pls 
explain how to get this?

Regards,
Umesh

private void printActiveConnections(AuthenticatedUser usr) {
try {
  System.out.println("Listing active connections.");
  if(usr == null) {
System.out.println("No user object.");
return;
  }

  System.out.println("usr = " + usr.getIdentifier());
  UserContext ctxt = null;
  try {
ctxt = getUserContext(usr);
if(ctxt == null) {
  System.out.println("No user context.");
  return;
}
  } catch(GuacamoleException ex) {
System.out.println(ex.getMessage());
  }

  Directory connDir = 
ctxt.getActiveConnectionDirectory();
  if(connDir == null) {
System.out.println("No connection directory.");
return;
  }

  Collection allConns = connDir.getAll(null);
  if(allConns == null || allConns.isEmpty()) {
System.out.println("No active connections.");
return;
  }

  for(ActiveConnection conn : allConns) {
System.out.println("Conn Identifier = " + 
conn.getConnectionIdentifier() +
" Identifier = " + conn.getIdentifier() +
" Remote host = " + conn.getRemoteHost() +
" Username = " + conn.getUsername());
  }
} catch (Exception ex) {
  System.out.println("Error: " + ex.getMessage());
}
      }

From: Nick Couchman 
Sent: Wednesday, December 4, 2019 11:31 PM
To: user@guacamole.apache.org
Subject: Re: Shared connection

On Wed, Dec 4, 2019 at 5:46 AM Umesh Bhatt 
mailto:um...@nuvepro.com>> wrote:
Hi Nick,

Since currently it is not available, I am trying to implement in my custom auth 
provider.


Well, it isn't *released*, but it is available...in git master.  However, doing 
it in a custom authentication module should be fine, as well.

I am using GuacamoleConfiguration setConnectionId(ALREADY_ACTIVE_CONNECTION_ID) 
to join to existing active connection but not seeing it working.

What is ConnectionID, is it GUACD connection ID which is usually something like 
$7beb584d-d6e2-459d-86e9-e726091862cb?
If so how can I retrieve it in my code?


This is automatically generated when the connection is started, so you'll need 
to retrieve a list of active connections, which will give you the UUID 
(collection of random letters and numbers above) and then select the correct 
connection.

-Nick


Re: Shared connection

2019-12-04 Thread Nick Couchman
On Wed, Dec 4, 2019 at 5:46 AM Umesh Bhatt  wrote:

> Hi Nick,
>
>
>
> Since currently it is not available, I am trying to implement in my custom
> auth provider.
>
>
>

Well, it isn't *released*, but it is available...in git master.  However,
doing it in a custom authentication module should be fine, as well.


> I am using GuacamoleConfiguration 
> setConnectionId(ALREADY_ACTIVE_CONNECTION_ID)
> to join to existing active connection but not seeing it working.
>
>
>
What is ConnectionID, is it GUACD connection ID which is usually something
> like $7beb584d-d6e2-459d-86e9-e726091862cb?
>
> If so how can I retrieve it in my code?
>
>
>

This is automatically generated when the connection is started, so you'll
need to retrieve a list of active connections, which will give you the UUID
(collection of random letters and numbers above) and then select the
correct connection.

-Nick

>


RE: Shared connection

2019-12-04 Thread Umesh Bhatt
Hi Nick,

Since currently it is not available, I am trying to implement in my custom auth 
provider.

I am using GuacamoleConfiguration setConnectionId(ALREADY_ACTIVE_CONNECTION_ID) 
to join to existing active connection but not seeing it working.

What is ConnectionID, is it GUACD connection ID which is usually something like 
$7beb584d-d6e2-459d-86e9-e726091862cb?
If so how can I retrieve it in my code?

Pls suggest.

Regards,
Umesh
From: Nick Couchman 
Sent: Wednesday, December 4, 2019 2:10 AM
To: user@guacamole.apache.org
Subject: Re: Shared connection

On Tue, Dec 3, 2019 at 5:47 AM Umesh Bhatt 
mailto:um...@nuvepro.com>> wrote:
Hi,

Thanks for sharing the information.
I want to generate a shared connection by default with every user connection. 
This will help Admin to directly connect to user session and see what user is 
performing in the system.


A feature has recently been added that will allow admins to connect directly to 
existing sessions without having to generate the shared connection keys.  I 
believe it's in the git master branch and will be released after the 1.1.0 code 
(1.2.0 or 2.0.0).

-Nick


Re: Shared connection

2019-12-03 Thread Nick Couchman
On Tue, Dec 3, 2019 at 5:47 AM Umesh Bhatt  wrote:

> Hi,
>
>
>
> Thanks for sharing the information.
>
> I want to generate a shared connection by default with every user
> connection. This will help Admin to directly connect to user session and
> see what user is performing in the system.
>
>
>

A feature has recently been added that will allow admins to connect
directly to existing sessions without having to generate the shared
connection keys.  I believe it's in the git master branch and will be
released after the 1.1.0 code (1.2.0 or 2.0.0).

-Nick

>


RE: Shared connection

2019-12-03 Thread Umesh Bhatt
Hi,

Thanks for sharing the information.
I want to generate a shared connection by default with every user connection. 
This will help Admin to directly connect to user session and see what user is 
performing in the system.

Pls let me know if this is possible.

Regards,
Umesh
From: Mike Jumper 
Sent: Thursday, November 28, 2019 1:11 PM
To: user@guacamole.apache.org
Subject: Re: Shared connection

On Wed, Nov 27, 2019 at 11:02 PM Umesh Bhatt 
mailto:um...@nuvepro.com>> wrote:
Hi,

I am using custom authentication provider without DB. Now I want to share the 
created connection with others, can it be done?

Yes. Even the database implementation is an authentication provider which 
leverages the same API. None of the extensions that are part of 
guacamole-client use anything that a third-party extension cannot use in 
exactly the same way.

The part of the API that deals with sharing connections with others is pretty 
abstract. The database implementation uses a link containing a query parameter, 
but you can do just about anything here. It's really up to you to decide how 
things will be shared. The extension API conceptualizes this using credentials 
specific to sharing. Combined with sharing profiles, this mainly allows you to 
expose the ability to share the connection such that choices for sharing will 
be available in that "Share" menu within the Guacamole menu:

http://guacamole.apache.org/doc/guacamole-ext/org/apache/guacamole/net/auth/Shareable.html

The technical capability to share an active connection is independent of the 
above. Internally, all that matters is that you pull the ID generated by guacd 
for the connection to be shared, and provide that ID (rather than a protocol 
name) when connecting as a user sharing that connection. That's all you need to 
do for that second connection to join the first. Regardless of whether you use 
sharing credentials, the share menu, etc., it's the use of that ID that causes 
the underlying connection to be a shared connection.

http://guacamole.apache.org/doc/guacamole-common/org/apache/guacamole/protocol/ConfiguredGuacamoleSocket.html#getConnectionID--
http://guacamole.apache.org/doc/guacamole-common/org/apache/guacamole/protocol/GuacamoleConfiguration.html#setConnectionID-java.lang.String-

Note that this ID has nothing to do with database IDs or the more generic 
concept of identifiers in the extension API. It's purely a Guacamole protocol 
concept, used by guacd to uniquely identify active connections so they can be 
joined. You can see this covered briefly here:

http://guacamole.apache.org/doc/gug/guacamole-protocol.html#guacamole-protocol-handshake

- Mike



Re: Shared connection

2019-11-27 Thread Mike Jumper
On Wed, Nov 27, 2019 at 11:02 PM Umesh Bhatt  wrote:

> Hi,
>
>
>
> I am using custom authentication provider without DB. Now I want to share
> the created connection with others, can it be done?
>

Yes. Even the database implementation is an authentication provider which
leverages the same API. None of the extensions that are part of
guacamole-client use anything that a third-party extension cannot use in
exactly the same way.

The part of the API that deals with sharing connections with others is
pretty abstract. The database implementation uses a link containing a query
parameter, but you can do just about anything here. It's really up to you
to decide how things will be shared. The extension API conceptualizes this
using credentials specific to sharing. Combined with sharing profiles, this
mainly allows you to expose the ability to share the connection such that
choices for sharing will be available in that "Share" menu within the
Guacamole menu:

http://guacamole.apache.org/doc/guacamole-ext/org/apache/guacamole/net/auth/Shareable.html

The technical capability to share an active connection is independent of
the above. Internally, all that matters is that you pull the ID generated
by guacd for the connection to be shared, and provide that ID (rather than
a protocol name) when connecting as a user sharing that connection. That's
all you need to do for that second connection to join the first. Regardless
of whether you use sharing credentials, the share menu, etc., it's the use
of that ID that causes the underlying connection to be a shared connection.

http://guacamole.apache.org/doc/guacamole-common/org/apache/guacamole/protocol/ConfiguredGuacamoleSocket.html#getConnectionID--
http://guacamole.apache.org/doc/guacamole-common/org/apache/guacamole/protocol/GuacamoleConfiguration.html#setConnectionID-java.lang.String-

Note that this ID has nothing to do with database IDs or the more generic
concept of identifiers in the extension API. It's purely a Guacamole
protocol concept, used by guacd to uniquely identify active connections so
they can be joined. You can see this covered briefly here:

http://guacamole.apache.org/doc/gug/guacamole-protocol.html#guacamole-protocol-handshake

- Mike