[ https://issues.apache.org/jira/browse/GUACAMOLE-1658?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17788535#comment-17788535 ]
Mike Jumper edited comment on GUACAMOLE-1658 at 11/21/23 8:10 PM: ------------------------------------------------------------------ OK - while the main build error is pretty straightforward, the others aren't. Once you get past the basic things like the renamed headers and functions, you quickly get into old code that needs to manually sign things with keys, yet that's exactly the code that was removed when {{ssh_key.h}} was removed: {code:none} ... ssh_agent.c: In function 'ssh_auth_agent_sign': ssh_agent.c:42:5: error: unknown type name 'ssh_key' 42 | ssh_key* key = agent->identity; | ^~~~~~~ ssh_agent.c:42:20: error: initialization of 'int *' from incompatible pointer type 'guac_common_ssh_key *' [-Werror=incompatible-pointer-types] 42 | ssh_key* key = agent->identity; | ^~~~~ ssh_agent.c:51:15: error: implicit declaration of function 'ssh_key_sign' [-Werror=implicit-function-declaration] 51 | sig_len = ssh_key_sign(key, data, data_length, (u_char*) sig); | ... {code} There's probably functions now provided by libssh2 that we can use instead, but this is looking more like "re-implement the SSH agent support that's been broken since 0.9.8" and less like "fix the trivial build failure". I think we should probably pull this from 1.5.4. was (Author: mike.jumper): OK - while the main build error is pretty straightforward, the others aren't. Once you get past the basic things like the renamed headers and functions, you quickly get into old code that needs to manually sign things with keys, yet that's exactly the code that was removed when {{ssh_key.h}} was removed: {code:none} ... ssh_agent.c: In function 'ssh_auth_agent_sign': ssh_agent.c:42:5: error: unknown type name 'ssh_key' 42 | ssh_key* key = agent->identity; | ^~~~~~~ ssh_agent.c:42:20: error: initialization of 'int *' from incompatible pointer type 'guac_common_ssh_key *' [-Werror=incompatible-pointer-types] 42 | ssh_key* key = agent->identity; | ^~~~~ ssh_agent.c:51:15: error: implicit declaration of function 'ssh_key_sign' [-Werror=implicit-function-declaration] 51 | sig_len = ssh_key_sign(key, data, data_length, (u_char*) sig); | ... {code} There's probably functions now provided by libssh2 that we can use instead, but this is looking more like a "re-implement the SSH agent support that's been broken since 0.9.8" and less like "fix the trivial build failure". I think we should probably pull this from 1.5.4. > Unable to compile guacamole server with --enable-ssh-agent > ---------------------------------------------------------- > > Key: GUACAMOLE-1658 > URL: https://issues.apache.org/jira/browse/GUACAMOLE-1658 > Project: Guacamole > Issue Type: Bug > Components: guacamole-server > Affects Versions: 1.4.0 > Environment: Rocky Linux 8.6 on x64, the latest libssh2 from remi > repository, guacamole server version 1.4.0. > Reporter: Pavel Kuzel > Assignee: Nick Couchman > Priority: Minor > Labels: guacamole-server, ssh-agent > Fix For: 1.5.4 > > > Hello there, > a compilation of guacamole-server on Rocky Linux 8.6 with > "--enable-ssh-agent" fails on the missing ssh_key.h header file. Please see > the detail below: > _make[2]: Entering directory > '/home/guacamole/guacamole-server/src/protocols/ssh'_ > _CC libguac_client_ssh_la-argv.lo_ > _In file included from ssh.h:33,_ > _from argv.c:22:_ > _ssh_agent.h:26:10: fatal error: ssh_key.h: No such file or directory_ > _#include "ssh_key.h"_ > _^~~~~~~~~~~_ > _compilation terminated._ > Just for the record, I use the latest version of libssh2 (1.10.0) and I'd > like to use the agent forwarding functionality within the guacamole server. > Is there any way how to get it running in the current version of > guacamole-server? > Regards, > Pavel > -- This message was sent by Atlassian Jira (v8.20.10#820010)