I don't understand the way you're talking about modifying the screen file name
by configuring parameters. I know that I can define the screen file name when
configuring the connection, but that's a fixed value for each connection. Do
you mean that I can define the record file name for each session by adding
recording-name when submitting an http request? If this works, it will reduce
the cost of developing your code. As for modifying the source code, if there's
no other way, I'll try it. Thanks, Yao On 10/04/2019 00:04, Mike Jumper wrote:
On Thu, Oct 3, 2019, 06:37 Lukáš Raška <lukasra...@gmail.com> wrote: čt 3. 10.
2019 v 15:00 odesílatel Nick Couchman <vn...@apache.org> napsal: First, please
do not cross-post to multiple mailing lists - please pick one list and use
that. On Wed, Oct 2, 2019 at 8:33 PM benchu yao <yaoben...@gmail.com> wrote: I
am trying to redevelop guacamole. I want to modify the source code of
guacamole-client so that the screen file name can contain information such as
user name, history connection id, etc., not just a fixed file name. Can you
tell me which part of the source code to modify. There's not really an
easy/straight-forward way to do this. guacd is what generates the recordings,
and it is not aware of any of the user authentication that happens on the
Guacamole Client side. That's not to say that it isn't possible - I'm thinking
that you could probably make some changes such that, when a connection is
successfully established by guacd, it could pass back the name of the recording
file to Guacamole Client, and Guacamole Client could, in turn, take that and
store that information somewhere. I'm not sure if that's something we'd want
to add to the base code (would need further community feedback on that), but
certainly something you could try out on your own.. It's quite easy from the
protocol side - recording-name is the parameter that tells how the file should
be named (see https://guacamole.apache.org/doc/gug/configuring-guacamole.html).
So *only* needed thing to do is force this parameter from Guacamole UI (so the
opposite logic - don't store the recording name in guacamole-client, but force
the name to be something comparable with identifiers in guacamole-client).
Starting point is probably here -
https://github.com/apache/guacamole-client/blob/develop/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelRequestService.java#L216
, drilling down to the Connectable used which probably gets the protocol
parameters (might be better place where to do it, I haven't been working with
guacamole-client source that much). I assume there is currently no simple way
how to do it in guacamole-client itself, however it's doable with some
modifications. Parameter tokens would be the way:
http://guacamole.apache.org/doc/gug/configuring-guacamole.html#parameter-tokens
The username, etc. can already be added dynamically to the filename without
making changes. It is also possible to write extensions that add arbitrary
additional tokens. The ID used for the connection history entry, on the other
hand, will not be available. Besides that ID being internal to the database,
the history entry doesn't exist at the time the connection is being recorded. -
Mike