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

Issue 738857 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/cryptohome for OpenSSL 1.1

Project Member Reported by djkurtz@chromium.org, Jul 3 2017

Issue description

chromeos-base/cryptohome-0.0.1-r1867 fails to build with dev-libs/openssl-1.1.0f.
 
attestation is a cros_workon package. -0.0.1-r1867 corresponds to commit:
6d779b1cc05d59bbf4ce1d4aea13e97e3c3fe337
sys_log_utils.sysinfo.lst: remove obsolete log collection commands

in repository src/platform2

The compile errors are:
cryptohome-0.0.1-r1867: cryptohome/mount-helpers.c:743:17: error: variable has incomplete type 'EVP_CIPHER_CTX' (aka 'struct evp_cipher_ctx_st')
cryptohome-0.0.1-r1867:         EVP_CIPHER_CTX ctx;
cryptohome-0.0.1-r1867:                        ^
cryptohome-0.0.1-r1867: /usr/include/openssl/ossl_typ.h:90:16: note: forward declaration of 'struct evp_cipher_ctx_st'
cryptohome-0.0.1-r1867: typedef struct evp_cipher_ctx_st EVP_CIPHER_CTX;
cryptohome-0.0.1-r1867:                ^
cryptohome-0.0.1-r1867: cryptohome/mount-helpers.c:866:17: error: variable has incomplete type 'EVP_CIPHER_CTX' (aka 'struct evp_cipher_ctx_st')
cryptohome-0.0.1-r1867:         EVP_CIPHER_CTX ctx;
cryptohome-0.0.1-r1867:                        ^
cryptohome-0.0.1-r1867: /usr/include/openssl/ossl_typ.h:90:16: note: forward declaration of 'struct evp_cipher_ctx_st'
cryptohome-0.0.1-r1867: typedef struct evp_cipher_ctx_st EVP_CIPHER_CTX;
cryptohome-0.0.1-r1867:                ^
cryptohome-0.0.1-r1867: 2 errors generated.


cryptohome-0.0.1-r1867: cryptohome/cryptolib.cc:57:25: error: 'RSA_generate_key' is deprecated [-Werror,-Wdeprecated-declarations]
cryptohome-0.0.1-r1867:   crypto::ScopedRSA rsa(RSA_generate_key(key_bits,
cryptohome-0.0.1-r1867:                         ^
cryptohome-0.0.1-r1867: /usr/include/openssl/rsa.h:193:1: note: 'RSA_generate_key' has been explicitly marked deprecated here
cryptohome-0.0.1-r1867: DEPRECATEDIN_0_9_8(RSA *RSA_generate_key(int bits, unsigned long e, void
cryptohome-0.0.1-r1867: ^
cryptohome-0.0.1-r1867: /usr/include/x86_64-cros-linux-gnu/openssl/opensslconf.h:136:34: note: expanded from macro 'DEPRECATEDIN_0_9_8'
cryptohome-0.0.1-r1867: # define DEPRECATEDIN_0_9_8(f)   DECLARE_DEPRECATED(f)
cryptohome-0.0.1-r1867:                                  ^
cryptohome-0.0.1-r1867: /usr/include/x86_64-cros-linux-gnu/openssl/opensslconf.h:99:53: note: expanded from macro 'DECLARE_DEPRECATED'
cryptohome-0.0.1-r1867: # define DECLARE_DEPRECATED(f)    f __attribute__ ((deprecated));
cryptohome-0.0.1-r1867:                                                     ^
cryptohome-0.0.1-r1867: cryptohome/cryptolib.cc:66:44: error: member access into incomplete type 'rsa_st'
cryptohome-0.0.1-r1867:   SecureBlob local_n(BN_num_bytes(rsa.get()->n));
cryptohome-0.0.1-r1867:                                            ^
cryptohome-0.0.1-r1867: /usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'rsa_st'
cryptohome-0.0.1-r1867: typedef struct rsa_st RSA;
cryptohome-0.0.1-r1867:                ^
cryptohome-0.0.1-r1867: cryptohome/cryptolib.cc:67:26: error: member access into incomplete type 'rsa_st'
cryptohome-0.0.1-r1867:   if (BN_bn2bin(rsa.get()->n, local_n.data()) <= 0) {
cryptohome-0.0.1-r1867:                          ^
cryptohome-0.0.1-r1867: /usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'rsa_st'
cryptohome-0.0.1-r1867: typedef struct rsa_st RSA;
cryptohome-0.0.1-r1867:                ^
cryptohome-0.0.1-r1867: cryptohome/cryptolib.cc:72:44: error: member access into incomplete type 'rsa_st'
cryptohome-0.0.1-r1867:   SecureBlob local_p(BN_num_bytes(rsa.get()->p));
cryptohome-0.0.1-r1867:                                            ^
cryptohome-0.0.1-r1867: /usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'rsa_st'
cryptohome-0.0.1-r1867: typedef struct rsa_st RSA;
cryptohome-0.0.1-r1867:                ^
cryptohome-0.0.1-r1867: cryptohome/cryptolib.cc:73:26: error: member access into incomplete type 'rsa_st'
cryptohome-0.0.1-r1867:   if (BN_bn2bin(rsa.get()->p, local_p.data()) <= 0) {
cryptohome-0.0.1-r1867:                          ^
cryptohome-0.0.1-r1867: /usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'rsa_st'
cryptohome-0.0.1-r1867: typedef struct rsa_st RSA;
cryptohome-0.0.1-r1867:                ^
cryptohome-0.0.1-r1867: cryptohome/cryptolib.cc:248:18: error: variable has incomplete type 'EVP_CIPHER_CTX' (aka 'evp_cipher_ctx_st')
cryptohome-0.0.1-r1867:   EVP_CIPHER_CTX decryption_context;
cryptohome-0.0.1-r1867:                  ^
cryptohome-0.0.1-r1867: /usr/include/openssl/ossl_typ.h:90:16: note: forward declaration of 'evp_cipher_ctx_st'
cryptohome-0.0.1-r1867: typedef struct evp_cipher_ctx_st EVP_CIPHER_CTX;
cryptohome-0.0.1-r1867:                ^
cryptohome-0.0.1-r1867: cryptohome/cryptolib.cc:428:18: error: variable has incomplete type 'EVP_CIPHER_CTX' (aka 'evp_cipher_ctx_st')
cryptohome-0.0.1-r1867:   EVP_CIPHER_CTX encryption_context;
cryptohome-0.0.1-r1867:                  ^
cryptohome-0.0.1-r1867: /usr/include/openssl/ossl_typ.h:90:16: note: forward declaration of 'evp_cipher_ctx_st'
cryptohome-0.0.1-r1867: typedef struct evp_cipher_ctx_st EVP_CIPHER_CTX;
cryptohome-0.0.1-r1867:                ^
cryptohome-0.0.1-r1867: 7 errors generated.


cryptohome-0.0.1-r1867: cryptohome/platform.cc:570:7: error: 'RAND_pseudo_bytes' is deprecated [-Werror,-Wdeprecated-declarations]
cryptohome-0.0.1-r1867:   if (RAND_pseudo_bytes(buffer, kBufferSize) < 0) {
cryptohome-0.0.1-r1867:       ^
cryptohome-0.0.1-r1867: /usr/include/openssl/rand.h:47:1: note: 'RAND_pseudo_bytes' has been explicitly marked deprecated here
cryptohome-0.0.1-r1867: DEPRECATEDIN_1_1_0(int RAND_pseudo_bytes(unsigned char *buf, int num))
cryptohome-0.0.1-r1867: ^
cryptohome-0.0.1-r1867: /usr/include/x86_64-cros-linux-gnu/openssl/opensslconf.h:124:34: note: expanded from macro 'DEPRECATEDIN_1_1_0'
cryptohome-0.0.1-r1867: # define DEPRECATEDIN_1_1_0(f)   DECLARE_DEPRECATED(f)
cryptohome-0.0.1-r1867:                                  ^
cryptohome-0.0.1-r1867: /usr/include/x86_64-cros-linux-gnu/openssl/opensslconf.h:99:53: note: expanded from macro 'DECLARE_DEPRECATED'
cryptohome-0.0.1-r1867: # define DECLARE_DEPRECATED(f)    f __attribute__ ((deprecated));
cryptohome-0.0.1-r1867:                                                     ^
cryptohome-0.0.1-r1867: 1 error generated.

cryptohome-0.0.1-r1867: cryptohome/platform.cc:570:7: error: 'RAND_pseudo_bytes' is deprecated [-Werror,-Wdeprecated-declarations]
cryptohome-0.0.1-r1867:   if (RAND_pseudo_bytes(buffer, kBufferSize) < 0) {
cryptohome-0.0.1-r1867:       ^
cryptohome-0.0.1-r1867: /usr/include/openssl/rand.h:47:1: note: 'RAND_pseudo_bytes' has been explicitly marked deprecated here
cryptohome-0.0.1-r1867: DEPRECATEDIN_1_1_0(int RAND_pseudo_bytes(unsigned char *buf, int num))
cryptohome-0.0.1-r1867: ^
cryptohome-0.0.1-r1867: /usr/include/x86_64-cros-linux-gnu/openssl/opensslconf.h:124:34: note: expanded from macro 'DEPRECATEDIN_1_1_0'
cryptohome-0.0.1-r1867: # define DEPRECATEDIN_1_1_0(f)   DECLARE_DEPRECATED(f)
cryptohome-0.0.1-r1867:                                  ^
cryptohome-0.0.1-r1867: /usr/include/x86_64-cros-linux-gnu/openssl/opensslconf.h:99:53: note: expanded from macro 'DECLARE_DEPRECATED'
cryptohome-0.0.1-r1867: # define DECLARE_DEPRECATED(f)    f __attribute__ ((deprecated));
cryptohome-0.0.1-r1867:                                                     ^
cryptohome-0.0.1-r1867: 1 error generated.


cryptohome-0.0.1-r1867: cryptohome/pkcs11_keystore.cc:226:51: error: member access into incomplete type 'rsa_st'
cryptohome-0.0.1-r1867:   SecureBlob modulus(BN_num_bytes(public_key.get()->n));
cryptohome-0.0.1-r1867:                                                   ^
cryptohome-0.0.1-r1867: /usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'rsa_st'
cryptohome-0.0.1-r1867: typedef struct rsa_st RSA;
cryptohome-0.0.1-r1867:                ^
cryptohome-0.0.1-r1867: cryptohome/pkcs11_keystore.cc:227:42: error: member access into incomplete type 'rsa_st'
cryptohome-0.0.1-r1867:   int length = BN_bn2bin(public_key.get()->n, modulus.data());
cryptohome-0.0.1-r1867:                                          ^
cryptohome-0.0.1-r1867: /usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'rsa_st'
cryptohome-0.0.1-r1867: typedef struct rsa_st RSA;
cryptohome-0.0.1-r1867:                ^
cryptohome-0.0.1-r1867: cryptohome/pkcs11_keystore.cc:515:27: error: member access into incomplete type 'x509_st'
cryptohome-0.0.1-r1867:   if (!x509.get() || !x509->cert_info || !x509->cert_info->subject) {
cryptohome-0.0.1-r1867:                           ^
cryptohome-0.0.1-r1867: /usr/include/openssl/ossl_typ.h:119:16: note: forward declaration of 'x509_st'
cryptohome-0.0.1-r1867: typedef struct x509_st X509;
cryptohome-0.0.1-r1867:                ^
cryptohome-0.0.1-r1867: cryptohome/pkcs11_keystore.cc:520:34: error: member access into incomplete type 'x509_st'
cryptohome-0.0.1-r1867:   int length = i2d_X509_NAME(x509->cert_info->subject, &buffer);
cryptohome-0.0.1-r1867:                                  ^
cryptohome-0.0.1-r1867: /usr/include/openssl/ossl_typ.h:119:16: note: forward declaration of 'x509_st'
cryptohome-0.0.1-r1867: typedef struct x509_st X509;
cryptohome-0.0.1-r1867:                ^
cryptohome-0.0.1-r1867: 4 errors generated.


cryptohome-0.0.1-r1867: cryptohome/attestation.cc:1403:39: error: member access into incomplete type 'x509_st'
cryptohome-0.0.1-r1867:   X509_NAME_get_text_by_NID(x509.get()->cert_info->issuer,
cryptohome-0.0.1-r1867:                                       ^
cryptohome-0.0.1-r1867: /usr/include/openssl/ossl_typ.h:119:16: note: forward declaration of 'x509_st'
cryptohome-0.0.1-r1867: typedef struct x509_st X509;
cryptohome-0.0.1-r1867:                ^
cryptohome-0.0.1-r1867: cryptohome/attestation.cc:1420:36: error: member access into incomplete type 'x509_st'
cryptohome-0.0.1-r1867:   auto public_key_data = x509.get()->cert_info->key->public_key->data;
cryptohome-0.0.1-r1867:                                    ^
cryptohome-0.0.1-r1867: /usr/include/openssl/ossl_typ.h:119:16: note: forward declaration of 'x509_st'
cryptohome-0.0.1-r1867: typedef struct x509_st X509;
cryptohome-0.0.1-r1867:                ^
cryptohome-0.0.1-r1867: cryptohome/attestation.cc:1423:35: error: member access into incomplete type 'x509_st'
cryptohome-0.0.1-r1867:       public_key_data + x509.get()->cert_info->key->public_key->length);
cryptohome-0.0.1-r1867:                                   ^
cryptohome-0.0.1-r1867: /usr/include/openssl/ossl_typ.h:119:16: note: forward declaration of 'x509_st'
cryptohome-0.0.1-r1867: typedef struct x509_st X509;
cryptohome-0.0.1-r1867:                ^
cryptohome-0.0.1-r1867: cryptohome/attestation.cc:1581:44: error: member access into incomplete type 'rsa_st'
cryptohome-0.0.1-r1867:   SecureBlob modulus(BN_num_bytes(rsa.get()->n));
cryptohome-0.0.1-r1867:                                            ^
cryptohome-0.0.1-r1867: /usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'rsa_st'
cryptohome-0.0.1-r1867: typedef struct rsa_st RSA;
cryptohome-0.0.1-r1867:                ^
cryptohome-0.0.1-r1867: cryptohome/attestation.cc:1582:22: error: member access into incomplete type 'rsa_st'
cryptohome-0.0.1-r1867:   BN_bn2bin(rsa.get()->n, modulus.data());
cryptohome-0.0.1-r1867:                      ^
cryptohome-0.0.1-r1867: /usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'rsa_st'
cryptohome-0.0.1-r1867: typedef struct rsa_st RSA;
cryptohome-0.0.1-r1867:                ^
cryptohome-0.0.1-r1867: cryptohome/attestation.cc:2064:6: error: member access into incomplete type 'rsa_st'
cryptohome-0.0.1-r1867:   rsa->e = BN_new();
cryptohome-0.0.1-r1867:      ^
cryptohome-0.0.1-r1867: /usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'rsa_st'
cryptohome-0.0.1-r1867: typedef struct rsa_st RSA;
cryptohome-0.0.1-r1867:                ^
cryptohome-0.0.1-r1867: cryptohome/attestation.cc:2065:11: error: member access into incomplete type 'rsa_st'
cryptohome-0.0.1-r1867:   if (!rsa->e)
cryptohome-0.0.1-r1867:           ^
cryptohome-0.0.1-r1867: /usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'rsa_st'
cryptohome-0.0.1-r1867: typedef struct rsa_st RSA;
cryptohome-0.0.1-r1867:                ^
cryptohome-0.0.1-r1867: cryptohome/attestation.cc:2067:18: error: member access into incomplete type 'rsa_st'
cryptohome-0.0.1-r1867:   BN_set_word(rsa->e, kWellKnownExponent);
cryptohome-0.0.1-r1867:                  ^
cryptohome-0.0.1-r1867: /usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'rsa_st'
cryptohome-0.0.1-r1867: typedef struct rsa_st RSA;
cryptohome-0.0.1-r1867:                ^
cryptohome-0.0.1-r1867: cryptohome/attestation.cc:2068:6: error: member access into incomplete type 'rsa_st'
cryptohome-0.0.1-r1867:   rsa->n = BN_new();
cryptohome-0.0.1-r1867:      ^
cryptohome-0.0.1-r1867: /usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'rsa_st'
cryptohome-0.0.1-r1867: typedef struct rsa_st RSA;
cryptohome-0.0.1-r1867:                ^
cryptohome-0.0.1-r1867: cryptohome/attestation.cc:2069:11: error: member access into incomplete type 'rsa_st'
cryptohome-0.0.1-r1867:   if (!rsa->n)
cryptohome-0.0.1-r1867:           ^
cryptohome-0.0.1-r1867: /usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'rsa_st'
cryptohome-0.0.1-r1867: typedef struct rsa_st RSA;
cryptohome-0.0.1-r1867:                ^
cryptohome-0.0.1-r1867: cryptohome/attestation.cc:2071:26: error: member access into incomplete type 'rsa_st'
cryptohome-0.0.1-r1867:   if (0 == BN_hex2bn(&rsa->n, hex_modulus.c_str()))
cryptohome-0.0.1-r1867:                          ^
cryptohome-0.0.1-r1867: /usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'rsa_st'
cryptohome-0.0.1-r1867: typedef struct rsa_st RSA;
cryptohome-0.0.1-r1867:                ^
cryptohome-0.0.1-r1867: cryptohome/attestation.cc:2134:3: error: no matching function for call to 'X509_ALGOR_set0'
cryptohome-0.0.1-r1867:   X509_ALGOR_set0(spki.get()->sig_algor,
cryptohome-0.0.1-r1867:   ^~~~~~~~~~~~~~~
cryptohome-0.0.1-r1867: /usr/include/openssl/x509.h:464:5: note: candidate function not viable: no known conversion from 'X509_ALGOR' (aka 'X509_algor_st') to 'X509_ALGOR *' (aka 'X509_algor_st *') for 1st argument; take the address of the argument with &
cryptohome-0.0.1-r1867: int X509_ALGOR_set0(X509_ALGOR *alg, ASN1_OBJECT *aobj, int ptype,
cryptohome-0.0.1-r1867:     ^
cryptohome-0.0.1-r1867: 12 errors generated.

cryptohome-0.0.1-r1867: cryptohome/tpm2_impl.cc:1016:12: error: member access into incomplete type 'rsa_st'
cryptohome-0.0.1-r1867:   rsa.get()->e = BN_new();
cryptohome-0.0.1-r1867:            ^
cryptohome-0.0.1-r1867: /usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'rsa_st'
cryptohome-0.0.1-r1867: typedef struct rsa_st RSA;
cryptohome-0.0.1-r1867:                ^
cryptohome-0.0.1-r1867: cryptohome/tpm2_impl.cc:1017:18: error: member access into incomplete type 'rsa_st'
cryptohome-0.0.1-r1867:   CHECK(rsa.get()->e) << "Error setting exponent for RSA.";
cryptohome-0.0.1-r1867:                  ^
cryptohome-0.0.1-r1867: /usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'rsa_st'
cryptohome-0.0.1-r1867: typedef struct rsa_st RSA;
cryptohome-0.0.1-r1867:                ^
cryptohome-0.0.1-r1867: cryptohome/tpm2_impl.cc:1018:24: error: member access into incomplete type 'rsa_st'
cryptohome-0.0.1-r1867:   BN_set_word(rsa.get()->e, kDefaultTpmPublicExponent);
cryptohome-0.0.1-r1867:                        ^
cryptohome-0.0.1-r1867: /usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'rsa_st'
cryptohome-0.0.1-r1867: typedef struct rsa_st RSA;
cryptohome-0.0.1-r1867:                ^
cryptohome-0.0.1-r1867: cryptohome/tpm2_impl.cc:1019:12: error: member access into incomplete type 'rsa_st'
cryptohome-0.0.1-r1867:   rsa.get()->n = BN_bin2bn(public_area.unique.rsa.buffer,
cryptohome-0.0.1-r1867:            ^
cryptohome-0.0.1-r1867: /usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'rsa_st'
cryptohome-0.0.1-r1867: typedef struct rsa_st RSA;
cryptohome-0.0.1-r1867:                ^
cryptohome-0.0.1-r1867: cryptohome/tpm2_impl.cc:1021:18: error: member access into incomplete type 'rsa_st'
cryptohome-0.0.1-r1867:   CHECK(rsa.get()->n) << "Error setting modulus for RSA.";
cryptohome-0.0.1-r1867:                  ^
cryptohome-0.0.1-r1867: /usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'rsa_st'
cryptohome-0.0.1-r1867: typedef struct rsa_st RSA;
cryptohome-0.0.1-r1867:                ^
cryptohome-0.0.1-r1867: 5 errors generated.

 
Components: OS>Systems>Security
Cc: menghuan@chromium.org

Sign in to add a comment