New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 737913 link

Starred by 1 user

Issue metadata

Status: Started
Owner:
Last visit > 30 days ago
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug

Blocking:
issue 649672



Sign in to add a comment

Fix chromeos-base/trunks for OpenSSL 1.1

Project Member Reported by djkurtz@chromium.org, Jun 29 2017

Issue description

chromeos-base/trunks-0.0.1-r1887 fails to build with dev-libs/openssl-1.1.0f.

trunks is a cros_workon package. -0.0.1-r1887 corresponds to commit:
a729103393b9d1bfac8840f394bf7fbae47f665d
trunks: fix power_manager tests to use generated mock

in repository src/aosp/system/tpm/

The compile errors are:

In file included from trunks/session_manager_impl.cc:24:
/usr/include/base-395517/crypto/scoped_openssl_types.h:52:52: error: use of undeclared identifier 'EVP_MD_CTX_destroy'
using ScopedEVP_MD_CTX = ScopedOpenSSL<EVP_MD_CTX, EVP_MD_CTX_destroy>;
                                                   ^
trunks/session_manager_impl.cc:164:18: error: member access into incomplete type 'rsa_st'
  salting_key_rsa->e = BN_new();
                 ^
/usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'rsa_st'
typedef struct rsa_st RSA;
               ^
trunks/session_manager_impl.cc:165:23: error: member access into incomplete type 'rsa_st'
  if (!salting_key_rsa->e) {
                      ^
/usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'rsa_st'
typedef struct rsa_st RSA;
               ^
trunks/session_manager_impl.cc:169:30: error: member access into incomplete type 'rsa_st'
  BN_set_word(salting_key_rsa->e, kWellKnownExponent);
                             ^
/usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'rsa_st'
typedef struct rsa_st RSA;
               ^
trunks/session_manager_impl.cc:170:18: error: member access into incomplete type 'rsa_st'
  salting_key_rsa->n =
                 ^
/usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'rsa_st'
typedef struct rsa_st RSA;
               ^
trunks/session_manager_impl.cc:173:23: error: member access into incomplete type 'rsa_st'
  if (!salting_key_rsa->n) {
                      ^
/usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'rsa_st'
typedef struct rsa_st RSA;
               ^
6 errors generated.
[20/44] CXX aosp/system/tpm/trunks/trunks_client.trunks_client_test.o
FAILED: aosp/system/tpm/trunks/trunks_client.trunks_client_test.o 


In file included from trunks/trunks_client_test.cc:30:
/usr/include/base-395517/crypto/scoped_openssl_types.h:52:52: error: use of undeclared identifier 'EVP_MD_CTX_destroy'
using ScopedEVP_MD_CTX = ScopedOpenSSL<EVP_MD_CTX, EVP_MD_CTX_destroy>;
                                                   ^
trunks/trunks_client_test.cc:1084:25: error: 'RSA_generate_key' is deprecated [-Werror,-Wdeprecated-declarations]
  crypto::ScopedRSA rsa(RSA_generate_key(2048, 0x10001, nullptr, nullptr));
                        ^
/usr/include/openssl/rsa.h:193:1: note: 'RSA_generate_key' has been explicitly marked deprecated here
DEPRECATEDIN_0_9_8(RSA *RSA_generate_key(int bits, unsigned long e, void
^
/usr/include/x86_64-cros-linux-gnu/openssl/opensslconf.h:136:34: note: expanded from macro 'DEPRECATEDIN_0_9_8'
# define DEPRECATEDIN_0_9_8(f)   DECLARE_DEPRECATED(f)
                                 ^
/usr/include/x86_64-cros-linux-gnu/openssl/opensslconf.h:99:53: note: expanded from macro 'DECLARE_DEPRECATED'
# define DECLARE_DEPRECATED(f)    f __attribute__ ((deprecated));
                                                    ^
trunks/trunks_client_test.cc:1087:41: error: member access into incomplete type 'rsa_st'
  modulus->resize(BN_num_bytes(rsa.get()->n), 0);
                                        ^
/usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'rsa_st'
typedef struct rsa_st RSA;
               ^
trunks/trunks_client_test.cc:1088:22: error: member access into incomplete type 'rsa_st'
  BN_bn2bin(rsa.get()->n,
                     ^
/usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'rsa_st'
typedef struct rsa_st RSA;
               ^
trunks/trunks_client_test.cc:1090:46: error: member access into incomplete type 'rsa_st'
  prime_factor->resize(BN_num_bytes(rsa.get()->p), 0);
                                             ^
/usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'rsa_st'
typedef struct rsa_st RSA;
               ^
trunks/trunks_client_test.cc:1091:22: error: member access into incomplete type 'rsa_st'
  BN_bn2bin(rsa.get()->p,
                     ^
/usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'rsa_st'
typedef struct rsa_st RSA;
               ^
6 errors generated.
[38/44] CXX aosp/system/tpm/trunks/trunks_test.mock_tpm.o
 
This break is actually coming from a header file "crypto/scoped_openssl_types.h" installed as part of libchrome:

In file included from trunks/trunks_client_test.cc:30:
/usr/include/base-395517/crypto/scoped_openssl_types.h:52:52: error: use of undeclared identifier 'EVP_MD_CTX_destroy'
using ScopedEVP_MD_CTX = ScopedOpenSSL<EVP_MD_CTX, EVP_MD_CTX_destroy>;

See issue 737942.
Components: OS>Systems>Security
CL is abandoned - is this still active?

Sign in to add a comment