Package: libssl-dev Version: 1.1.0c-2 Severity: normal Dear Maintainer,
I'm getting errors compiling a program that uses OpenSSL ECDSA code: libabi/src/ossl_ec.c: In function ‘OSSL_ECDSA_do_verify_rs’: libabi/src/ossl_ec.c:204:15: error: storage size of ‘sig’ isn’t known ECDSA_SIG sig; ^~~ libabi/src/ossl_ec.c: In function ‘OSSL_ecdsa_sig_get_r’: libabi/src/ossl_ec.c:222:56: error: dereferencing pointer to incomplete type ‘ECDSA_SIG {aka const struct ECDSA_SIG_st}’ return (const OSSL_BIGNUM*) ((const ECDSA_SIG*)sig)->r; ^~ I notice that libssl-dev doesn't appear to define the ECDSA_SIG_st structure: $ dpkg -L libssl-dev | grep '\.h' | xargs -d\\n grep ECDSA_SIG_st /usr/include/openssl/ec.h:typedef struct ECDSA_SIG_st ECDSA_SIG; The structure *is* included in the openssl 1.1.0c source file (openssl_1.1.0c.orig.tar.gz): $ grep -r ECDSA_SIG_st openssl-1.1.0c openssl-1.1.0c/include/openssl/ec.h:typedef struct ECDSA_SIG_st ECDSA_SIG; openssl-1.1.0c/crypto/ec/ec_lcl.h:struct ECDSA_SIG_st { When I paste the ECDSA_SIG_st structure definition into the code, it compiles and runs ok. I think this code is accidentally missing from the debian package. But I'm also not familar with this code, so perhaps I'm just misunderstanding how it's all supposed to work. -David *** Reporter, please consider answering these questions, where appropriate *** * What led up to the situation? * What exactly did you do (or not do) that was effective (or ineffective)? * What was the outcome of this action? * What outcome did you expect instead? *** End of the template - remove these template lines *** -- System Information: Debian Release: stretch/sid APT prefers testing APT policy: (990, 'testing'), (500, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.8.0-1-amd64 (SMP w/8 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages libssl-dev depends on: ii libssl1.1 1.1.0c-2 Versions of packages libssl-dev recommends: pn libssl-doc <none> libssl-dev suggests no packages. -- no debconf information