Michael Jumper commented on GUACAMOLE-501:

If you are looking to correlate IDs generated by your application with the ID 
generated by guacd, you need to keep track of the connection ID returned by 
guacd within your application. Assuming that you do have such a unique value 
generated at the application level, I suggest using that value within the 
recording name, rather than relying on guacd to generate a unique name for you.

There would be some utility in allowing the web application to tag a connection 
with some arbitrary value, so that guacd's logs can be more easily correlated, 
but that doesn't really touch on the issue here. If you're looking for 
uniquely-named recordings for sessions through your webapp, you will need to 
generate those unique names. Relying upon or attempting to control the 
connection ID is not a good solution for this.

> Session Recording: use connection id as default value for recording-name
> ------------------------------------------------------------------------
>                 Key: GUACAMOLE-501
>                 URL: https://issues.apache.org/jira/browse/GUACAMOLE-501
>             Project: Guacamole
>          Issue Type: New Feature
>          Components: guacamole
>            Reporter: Kris Keller
>            Priority: Minor
> The current default value for recording-name is "recording".  It would be 
> great if the guacamole-server component would use the connection id instead.
> e.g. 
> $c134c9d2-699e-46f1-af5c-add1c440a41f.recording
> Unfortunately, the client can't pass this down as it doesnt know the 
> connection id until after the connection is established and has received the 
> "ready" instruction.
> Even if the guacamole team didn't want to make the connection id be the 
> default name, at least adding another token parameter for the connection id 
> would be awesome as well.  
> e.g. recording-name=${CONNECTION_ID}
>  Below is a patch i created to support the defaulting of the recording-name 
> parameter to connection id for rdp connections:
> {code:java}
> --- a/src/protocols/rdp/rdp_settings.c
> +++ b/src/protocols/rdp/rdp_settings.c
> @@ -837,9 +837,11 @@ guac_rdp_settings* guac_rdp_parse_args(guac_user* user,
>                  IDX_RECORDING_PATH, NULL);
>      /* Read recording name */
> +    char pszRecordingName[255] = {'\0'};
> +    sprintf(pszRecordingName, "%s.recording", user->client->connection_id);
>      settings->recording_name =
>          guac_user_parse_args_string(user, GUAC_RDP_CLIENT_ARGS, argv,
> +                IDX_RECORDING_NAME, pszRecordingName);
>      /* Parse output exclusion flag */
>      settings->recording_exclude_output =
> {code}

This message was sent by Atlassian JIRA

Reply via email to