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

Issue 739116 link

Starred by 1 user

Issue metadata

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

Blocking:
issue 649672



Sign in to add a comment

Fix dev-libs/opensc for OpenSSL 1.1

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

Issue description

dev-libs/opensc-0.12.2-r1 fails to build with dev-libs/openssl-1.1.0f.

The compile errors are:

opensc-0.12.2-r1: pkcs15-oberthur-awp.c:787:11: warning: address of array 'obj->label' will always evaluate to 'true' [-Wpointer-bool-conversion]
opensc-0.12.2-r1:         if (obj->label)   {
opensc-0.12.2-r1:         ~~  ~~~~~^~~~~
opensc-0.12.2-r1: pkcs15-oberthur-awp.c:948:11: warning: address of array 'obj->label' will always evaluate to 'true' [-Wpointer-bool-conversion]
opensc-0.12.2-r1:         if (obj->label)   {
opensc-0.12.2-r1:         ~~  ~~~~~^~~~~
opensc-0.12.2-r1: pkcs15-oberthur-awp.c:1019:17: warning: implicit declaration of function 'i2c_ASN1_INTEGER' is invalid in C99 [-Wimplicit-function-declaration]
opensc-0.12.2-r1:                 encoded_len = i2c_ASN1_INTEGER(X509_get_serialNumber(x), &encoded_ptr);
opensc-0.12.2-r1:                               ^
opensc-0.12.2-r1: pkcs15-oberthur-awp.c:1093:11: warning: address of array 'obj->label' will always evaluate to 'true' [-Wpointer-bool-conversion]
opensc-0.12.2-r1:         if (obj->label)   {
opensc-0.12.2-r1:         ~~  ~~~~~^~~~~
opensc-0.12.2-r1: 4 warnings generated.

opensc-0.12.2-r1: pkcs15-iasecc.c:312:24: warning: initializing 'struct sc_acl_entry *' with an expression of type 'const struct sc_acl_entry *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
opensc-0.12.2-r1:                 struct sc_acl_entry *acl = sc_file_get_acl_entry(file, ii);
opensc-0.12.2-r1:                                      ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
opensc-0.12.2-r1: 1 warning generated.
opensc-0.12.2-r1: pkcs15-westcos.c:258:5: error: incomplete definition of type 'struct rsa_st'
opensc-0.12.2-r1:         rsa->meth = RSA_PKCS1_SSLeay();
opensc-0.12.2-r1:         ~~~^
opensc-0.12.2-r1: /usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'struct rsa_st'
opensc-0.12.2-r1: typedef struct rsa_st RSA;
opensc-0.12.2-r1:                ^
opensc-0.12.2-r1: pkcs15-westcos.c:258:14: warning: implicit declaration of function 'RSA_PKCS1_SSLeay' is invalid in C99 [-Wimplicit-function-declaration]
opensc-0.12.2-r1:         rsa->meth = RSA_PKCS1_SSLeay();
opensc-0.12.2-r1:                     ^
opensc-0.12.2-r1: 1 warning and 1 error generated.

opensc-0.12.2-r1: pkcs15-lib.c:1935:6: error: incomplete definition of type 'struct rsa_st'
opensc-0.12.2-r1:                 rsa->n = BN_bin2bn(key->modulus.data, key->modulus.len, NULL);
opensc-0.12.2-r1:                 ~~~^
opensc-0.12.2-r1: /usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'struct rsa_st'
opensc-0.12.2-r1: typedef struct rsa_st RSA;
opensc-0.12.2-r1:                ^
opensc-0.12.2-r1: pkcs15-lib.c:1936:6: error: incomplete definition of type 'struct rsa_st'
opensc-0.12.2-r1:                 rsa->e = BN_bin2bn(key->exponent.data, key->exponent.len, NULL);
opensc-0.12.2-r1:                 ~~~^
opensc-0.12.2-r1: /usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'struct rsa_st'
opensc-0.12.2-r1: typedef struct rsa_st RSA;
opensc-0.12.2-r1:                ^
opensc-0.12.2-r1: pkcs15-lib.c:1937:6: error: incomplete definition of type 'struct rsa_st'
opensc-0.12.2-r1:                 rsa->d = BN_bin2bn(key->d.data, key->d.len, NULL);
opensc-0.12.2-r1:                 ~~~^
opensc-0.12.2-r1: /usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'struct rsa_st'
opensc-0.12.2-r1: typedef struct rsa_st RSA;
opensc-0.12.2-r1:                ^
opensc-0.12.2-r1: pkcs15-lib.c:1938:6: error: incomplete definition of type 'struct rsa_st'
opensc-0.12.2-r1:                 rsa->p = BN_bin2bn(key->p.data, key->p.len, NULL);
opensc-0.12.2-r1:                 ~~~^
opensc-0.12.2-r1: /usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'struct rsa_st'
opensc-0.12.2-r1: typedef struct rsa_st RSA;
opensc-0.12.2-r1:                ^
opensc-0.12.2-r1: pkcs15-lib.c:1939:6: error: incomplete definition of type 'struct rsa_st'
opensc-0.12.2-r1:                 rsa->q = BN_bin2bn(key->q.data, key->q.len, NULL);
opensc-0.12.2-r1:                 ~~~^
opensc-0.12.2-r1: /usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'struct rsa_st'
opensc-0.12.2-r1: typedef struct rsa_st RSA;
opensc-0.12.2-r1:                ^
opensc-0.12.2-r1: pkcs15-lib.c:1940:11: error: incomplete definition of type 'struct rsa_st'
opensc-0.12.2-r1:                 if (!rsa->dmp1)
opensc-0.12.2-r1:                      ~~~^
opensc-0.12.2-r1: /usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'struct rsa_st'
opensc-0.12.2-r1: typedef struct rsa_st RSA;
opensc-0.12.2-r1:                ^
opensc-0.12.2-r1: pkcs15-lib.c:1941:7: error: incomplete definition of type 'struct rsa_st'
opensc-0.12.2-r1:                         rsa->dmp1 = BN_new();
opensc-0.12.2-r1:                         ~~~^
opensc-0.12.2-r1: /usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'struct rsa_st'
opensc-0.12.2-r1: typedef struct rsa_st RSA;
opensc-0.12.2-r1:                ^
opensc-0.12.2-r1: pkcs15-lib.c:1942:11: error: incomplete definition of type 'struct rsa_st'
opensc-0.12.2-r1:                 if (!rsa->dmq1)
opensc-0.12.2-r1:                      ~~~^
opensc-0.12.2-r1: /usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'struct rsa_st'
opensc-0.12.2-r1: typedef struct rsa_st RSA;
opensc-0.12.2-r1:                ^
opensc-0.12.2-r1: pkcs15-lib.c:1943:7: error: incomplete definition of type 'struct rsa_st'
opensc-0.12.2-r1:                         rsa->dmq1 = BN_new();
opensc-0.12.2-r1:                         ~~~^
opensc-0.12.2-r1: /usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'struct rsa_st'
opensc-0.12.2-r1: typedef struct rsa_st RSA;
opensc-0.12.2-r1:                ^
opensc-0.12.2-r1: pkcs15-lib.c:1944:11: error: incomplete definition of type 'struct rsa_st'
opensc-0.12.2-r1:                 if (!rsa->iqmp)
opensc-0.12.2-r1:                      ~~~^
opensc-0.12.2-r1: /usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'struct rsa_st'
opensc-0.12.2-r1: typedef struct rsa_st RSA;
opensc-0.12.2-r1:                ^
opensc-0.12.2-r1: pkcs15-lib.c:1945:7: error: incomplete definition of type 'struct rsa_st'
opensc-0.12.2-r1:                         rsa->iqmp = BN_new();
opensc-0.12.2-r1:                         ~~~^
opensc-0.12.2-r1: /usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'struct rsa_st'
opensc-0.12.2-r1: typedef struct rsa_st RSA;
opensc-0.12.2-r1:                ^
opensc-0.12.2-r1: pkcs15-lib.c:1950:18: error: incomplete definition of type 'struct rsa_st'
opensc-0.12.2-r1:                 BN_sub(aux, rsa->q, BN_value_one());
opensc-0.12.2-r1:                             ~~~^
opensc-0.12.2-r1: /usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'struct rsa_st'
opensc-0.12.2-r1: typedef struct rsa_st RSA;
opensc-0.12.2-r1:                ^
opensc-0.12.2-r1: pkcs15-lib.c:1951:13: error: incomplete definition of type 'struct rsa_st'
opensc-0.12.2-r1:                 BN_mod(rsa->dmq1, rsa->d, aux, bn_ctx);
opensc-0.12.2-r1:                        ~~~^
opensc-0.12.2-r1: /usr/include/openssl/bn.h:206:43: note: expanded from macro 'BN_mod'
opensc-0.12.2-r1: # define BN_mod(rem,m,d,ctx) BN_div(NULL,(rem),(m),(d),(ctx))
opensc-0.12.2-r1:                                           ^~~
opensc-0.12.2-r1: /usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'struct rsa_st'
opensc-0.12.2-r1: typedef struct rsa_st RSA;
opensc-0.12.2-r1:                ^
opensc-0.12.2-r1: pkcs15-lib.c:1951:24: error: incomplete definition of type 'struct rsa_st'
opensc-0.12.2-r1:                 BN_mod(rsa->dmq1, rsa->d, aux, bn_ctx);
opensc-0.12.2-r1:                                   ~~~^
opensc-0.12.2-r1: /usr/include/openssl/bn.h:206:49: note: expanded from macro 'BN_mod'
opensc-0.12.2-r1: # define BN_mod(rem,m,d,ctx) BN_div(NULL,(rem),(m),(d),(ctx))
opensc-0.12.2-r1:                                                 ^
opensc-0.12.2-r1: /usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'struct rsa_st'
opensc-0.12.2-r1: typedef struct rsa_st RSA;
opensc-0.12.2-r1:                ^
opensc-0.12.2-r1: pkcs15-lib.c:1953:18: error: incomplete definition of type 'struct rsa_st'
opensc-0.12.2-r1:                 BN_sub(aux, rsa->p, BN_value_one());
opensc-0.12.2-r1:                             ~~~^
opensc-0.12.2-r1: /usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'struct rsa_st'
opensc-0.12.2-r1: typedef struct rsa_st RSA;
opensc-0.12.2-r1:                ^
opensc-0.12.2-r1: pkcs15-lib.c:1954:13: error: incomplete definition of type 'struct rsa_st'
opensc-0.12.2-r1:                 BN_mod(rsa->dmp1, rsa->d, aux, bn_ctx);
opensc-0.12.2-r1:                        ~~~^
opensc-0.12.2-r1: /usr/include/openssl/bn.h:206:43: note: expanded from macro 'BN_mod'
opensc-0.12.2-r1: # define BN_mod(rem,m,d,ctx) BN_div(NULL,(rem),(m),(d),(ctx))
opensc-0.12.2-r1:                                           ^~~
opensc-0.12.2-r1: /usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'struct rsa_st'
opensc-0.12.2-r1: typedef struct rsa_st RSA;
opensc-0.12.2-r1:                ^
opensc-0.12.2-r1: pkcs15-lib.c:1954:24: error: incomplete definition of type 'struct rsa_st'
opensc-0.12.2-r1:                 BN_mod(rsa->dmp1, rsa->d, aux, bn_ctx);
opensc-0.12.2-r1:                                   ~~~^
opensc-0.12.2-r1: /usr/include/openssl/bn.h:206:49: note: expanded from macro 'BN_mod'
opensc-0.12.2-r1: # define BN_mod(rem,m,d,ctx) BN_div(NULL,(rem),(m),(d),(ctx))
opensc-0.12.2-r1:                                                 ^
opensc-0.12.2-r1: /usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'struct rsa_st'
opensc-0.12.2-r1: typedef struct rsa_st RSA;
opensc-0.12.2-r1:                ^
opensc-0.12.2-r1: pkcs15-lib.c:1956:21: error: incomplete definition of type 'struct rsa_st'
opensc-0.12.2-r1:                 BN_mod_inverse(rsa->iqmp, rsa->q, rsa->p, bn_ctx);
opensc-0.12.2-r1:                                ~~~^
opensc-0.12.2-r1: /usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'struct rsa_st'
opensc-0.12.2-r1: typedef struct rsa_st RSA;
opensc-0.12.2-r1:                ^
opensc-0.12.2-r1: pkcs15-lib.c:1956:32: error: incomplete definition of type 'struct rsa_st'
opensc-0.12.2-r1:                 BN_mod_inverse(rsa->iqmp, rsa->q, rsa->p, bn_ctx);
opensc-0.12.2-r1:                                           ~~~^
opensc-0.12.2-r1: /usr/include/openssl/ossl_typ.h:110:16: note: forward declaration of 'struct rsa_st'
opensc-0.12.2-r1: typedef struct rsa_st RSA;
opensc-0.12.2-r1:                ^
opensc-0.12.2-r1: fatal error: too many errors emitted, stopping now [-ferror-limit=]
opensc-0.12.2-r1: 20 errors generated.

 
Latest upstream stable gentoo is 0.16.0, which matches the latest upstream release on Jun 4, 2016.

There is an open github issue to fix build for OpenSSL 1.1:
https://github.com/OpenSC/OpenSC/issues/1087
Cc: dkrahn@chromium.org
According to  issue 237658 , opensc is installed as a dependency of virtual/target-chromium-os-test to install pkcs11-tool for use by some autotest python scripts:

client/cros/pkcs11.py
autotest/server/site_wifitest.py

However:
 (1) autotest/server/site_wifitest.py has long since been removed from the image (see https://chromium-review.googlesource.com/179173)

 (2) pkcs11.py was modified to used p11_replay from chaps instead of pkcs11-tool (see issue 241503 & https://chromium-review.googlesource.com/#/c/55849/)

So... I think the easier fix here may be to just revert 51177 and remove opensc RDEPEND from virtual/target-chromium-os-test.
Project Member

Comment 4 by bugdroid1@chromium.org, Jul 6 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/1dc5a45ad6e2c8eccf69483a251f11abeb9690be

commit 1dc5a45ad6e2c8eccf69483a251f11abeb9690be
Author: Daniel Kurtz <djkurtz@chromium.org>
Date: Thu Jul 06 04:54:55 2017

Revert "Added opensc dependency so we get pkcs11-tool."

This reverts commit fd73283404e92fb8cd03ae2c56b14a0ff93a9d32.

According to  crbug.com/237658 , opensc was installed as a dependency of
virtual/target-chromium-os-test to install pkcs11-tool for use by some
autotest python scripts:

 * client/cros/pkcs11.py
 * autotest/server/site_wifitest.py

However:
 (1) autotest/server/site_wifitest.py was removed from the image
     (see CL:179173)

 (2) pkcs11.py was modified to used p11_replay from chaps instead of
     pkcs11-tool (see issue 241503 & CL:55849)

Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>

BUG= chromium:739116 
TEST=test_that platform_Pkcs11InitOnLogin
 => test passes

Change-Id: I99a49af42d730b5b29379e56921448953401d6c4
Reviewed-on: https://chromium-review.googlesource.com/559230
Commit-Ready: Daniel Kurtz <djkurtz@chromium.org>
Tested-by: Daniel Kurtz <djkurtz@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[rename] https://crrev.com/1dc5a45ad6e2c8eccf69483a251f11abeb9690be/virtual/target-chromium-os-test/target-chromium-os-test-1-r49.ebuild
[modify] https://crrev.com/1dc5a45ad6e2c8eccf69483a251f11abeb9690be/virtual/target-chromium-os-test/target-chromium-os-test-1.ebuild

Status: Fixed (was: Started)
Project Member

Comment 6 by bugdroid1@chromium.org, Jul 7 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/fa15407f6789a145ebabd4832b9cbd7b7e221246

commit fa15407f6789a145ebabd4832b9cbd7b7e221246
Author: Daniel Kurtz <djkurtz@chromium.org>
Date: Fri Jul 07 09:40:03 2017

opensc: Remove USE flags

We have removed dev-libs/opensc from the build, so remove its manual USE
flag setting as well.

Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>

CQ-DEPEND=CL:559230
BUG= chromium:739116 
TEST=test_that platform_Pkcs11InitOnLogin
 => test passes

Change-Id: I50c7ca578a117f93fecb98fbc80dd06d74ffe758
Reviewed-on: https://chromium-review.googlesource.com/562840
Commit-Ready: Daniel Kurtz <djkurtz@chromium.org>
Tested-by: Daniel Kurtz <djkurtz@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/fa15407f6789a145ebabd4832b9cbd7b7e221246/profiles/targets/chromeos/package.use

Comment 7 by dchan@chromium.org, Jan 22 2018

Status: Archived (was: Fixed)

Sign in to add a comment