[ 
https://issues.apache.org/jira/browse/GUACAMOLE-205?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15885786#comment-15885786
 ] 

Mark Goldey commented on GUACAMOLE-205:
---------------------------------------

Example of further errors once the two CRYPTO_set_XXXX functions are commented 
out:

root@faf2:/home/mark/guacamole-server-0.9.11-incubating/src/common-ssh# make
  CC       libguac_common_ssh_la-guac_sftp.lo
  CC       libguac_common_ssh_la-guac_ssh.lo
  CC       libguac_common_ssh_la-guac_ssh_buffer.lo
  CC       libguac_common_ssh_la-guac_ssh_key.lo
guac_ssh_key.c: In function ‘guac_common_ssh_key_alloc’:
guac_ssh_key.c:74:58: error: dereferencing pointer to incomplete type
‘RSA {aka struct rsa_st}’
         guac_common_ssh_buffer_write_bignum(&pos, rsa_key->e);
                                                          ^~
guac_ssh_key.c:108:58: error: dereferencing pointer to incomplete type
‘DSA {aka struct dsa_st}’
         guac_common_ssh_buffer_write_bignum(&pos, dsa_key->p);
                                                          ^~
guac_ssh_key.c: In function ‘guac_common_ssh_key_sign’:
guac_ssh_key.c:159:16: error: storage size of ‘md_ctx’ isn’t known
     EVP_MD_CTX md_ctx;
                ^~~~~~
In file included from guac_ssh_buffer.h:25:0,
                 from guac_ssh_key.c:22:
guac_ssh_key.c:187:48: error: dereferencing pointer to incomplete type
‘DSA_SIG {aka struct DSA_SIG_st}’
                 int rlen = BN_num_bytes(dsa_sig->r);
                                                ^
guac_ssh_key.c:159:16: error: unused variable ‘md_ctx’
[-Werror=unused-variable]
     EVP_MD_CTX md_ctx;
                ^~~~~~
cc1: all warnings being treated as errors
Makefile:493: recipe for target 'libguac_common_ssh_la-guac_ssh_key.lo'
failed
make: *** [libguac_common_ssh_la-guac_ssh_key.lo] Error 1

> libguac_common_ssh build fails with OpenSSL 1.1
> -----------------------------------------------
>
>                 Key: GUACAMOLE-205
>                 URL: https://issues.apache.org/jira/browse/GUACAMOLE-205
>             Project: Guacamole
>          Issue Type: Bug
>          Components: guacamole-server, SSH
>    Affects Versions: 0.9.11-incubating
>         Environment: Linux 4.9.0-1-686-pae #1 SMP Debian 4.9.2-2 (2017-01-12) 
> i686 GNU/Linux
>            Reporter: Mark Goldey
>
> There are a number of changes in OpenSSL 1.1 which break compatibility with 
> older versions of the API, and which break the Guacamole build if OpenSSL 1.1 
> is present, particularly the removal of threading callbacks (replaced with 
> no-op macros) and the migration to opaque structures with public accessor 
> functions. The error below is due to the no-op macros, and fixing those 
> reveals further errors due to the new and required public accessor functions.
> A rough list is here:
> https://wiki.openssl.org/index.php/1.1_API_Changes
> The Guacamole build will need to be updated to take these changes into 
> account. The original issue report:
> {quote}
> I have compiled and used guacamole since v. 9.8 or so.  I just downloaded the 
> source for 9.11-incubating.  ./configure works fine.  Make terminates with 
> the following error:
> {code:none}
> make[2]: Entering directory 
> '/home/xxx/guacamole-server-0.9.11-incubating/src/common-ssh'
>   CC       libguac_common_ssh_la-guac_sftp.lo
>   CC       libguac_common_ssh_la-guac_ssh.lo
> guac_ssh.c:89:22: error: ‘guac_common_ssh_openssl_id_callback’ defined but 
> not used [-Werror=unused-function]
>  static unsigned long guac_common_ssh_openssl_id_callback() {
>                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> guac_ssh.c:70:13: error: ‘guac_common_ssh_openssl_locking_callback’ defined 
> but not used [-Werror=unused-function]
>  static void guac_common_ssh_openssl_locking_callback(int mode, int n,
>              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> cc1: all warnings being treated as errors
> Makefile:479: recipe for target 'libguac_common_ssh_la-guac_ssh.lo' failed
> make[2]: *** [libguac_common_ssh_la-guac_ssh.lo] Error 1
> make[2]: Leaving directory 
> '/home/mark/guacamole-server-0.9.11-incubating/src/common-ssh'
> Makefile:486: recipe for target 'all-recursive' failed
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory '/home/xxx/guacamole-server-0.9.11-incubating'
> Makefile:418: recipe for target 'all' failed
> make: *** [all] Error 2
> {code}
> Make files is not my strong suit, but it seems like there's a problem with 
> the configure script?
> {quote}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to