Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fails to build against NSS 3.44 #48

Closed
jbeich opened this issue May 12, 2019 · 1 comment
Closed

Fails to build against NSS 3.44 #48

jbeich opened this issue May 12, 2019 · 1 comment

Comments

@jbeich
Copy link

jbeich commented May 12, 2019

Regressed by Mozilla bug 1537927 (NS_CERT_TYPE_IPSEC). See error log.

GCC 8.3:

In file included from /usr/include/nss/cert.h:22,
                 from efikeygen.c:41:
efikeygen.c: In function 'add_cert_type':
/usr/include/nss/certt.h:445:5: error: unsigned conversion from 'int' to 'unsigned char' changes value from '496' to '240' [-Werror=overflow]
     (NS_CERT_TYPE_SSL_CLIENT | NS_CERT_TYPE_SSL_SERVER | NS_CERT_TYPE_EMAIL | \
     ^
efikeygen.c:211:23: note: in expansion of macro 'NS_CERT_TYPE_APP'
  unsigned char type = NS_CERT_TYPE_APP;
                       ^~~~~~~~~~~~~~~~

Clang 8.0:

efikeygen.c:211:23: error: implicit conversion from 'int' to 'unsigned char' changes value from 496 to 240
      [-Werror,-Wconstant-conversion]
        unsigned char type = NS_CERT_TYPE_APP;
                      ~~~~   ^~~~~~~~~~~~~~~~
/usr/include/nss/certt.h:446:25: note: expanded from macro 'NS_CERT_TYPE_APP'
     NS_CERT_TYPE_IPSEC | NS_CERT_TYPE_OBJECT_SIGNING)
     ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vathpela added a commit that referenced this issue May 14, 2019
NSS 3.44 adds some certificate types, which changes a type and makes
some encoding stuff weird.  As a result, we get:

gcc8 -I/wrkdirs/usr/ports/sysutils/pesign/work/pesign-0.110/include -O2 -pipe  -fstack-protector-strong -Wl,-rpath=/usr/local/lib/gcc8 -isystem /usr/local/include -fno-strict-aliasing  -g -O0 -g -O0  -Wall -fshort-wchar -fno-strict-aliasing -fno-merge-constants --std=gnu99 -D_GNU_SOURCE -Wno-unused-result -Wno-unused-function -I../include/  -I/usr/local/include/nss -I/usr/local/include/nss/nss -I/usr/local/include/nspr  -Werror -fPIC -isystem /usr/local/include -DCONFIG_amd64 -DCONFIG_amd64 -c efikeygen.c -o efikeygen.o
In file included from /usr/local/include/nss/nss/cert.h:22,
                 from efikeygen.c:39:
efikeygen.c: In function 'add_cert_type':
/usr/local/include/nss/nss/certt.h:445:5: error: unsigned conversion from 'int' to 'unsigned char' changes value from '496' to '240' [-Werror=overflow]
     (NS_CERT_TYPE_SSL_CLIENT | NS_CERT_TYPE_SSL_SERVER | NS_CERT_TYPE_EMAIL | \
     ^
efikeygen.c:208:23: note: in expansion of macro 'NS_CERT_TYPE_APP'
  unsigned char type = NS_CERT_TYPE_APP;
                       ^~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors

This is fixed by just making it an int.

Fixes github issue #48.

Signed-off-by: Peter Jones <pjones@redhat.com>
@martinezjavier
Copy link

This was fixed by commit b535d1a.

frozencemetery pushed a commit that referenced this issue Sep 2, 2021
NSS 3.44 adds some certificate types, which changes a type and makes
some encoding stuff weird.  As a result, we get:

gcc8 -I/wrkdirs/usr/ports/sysutils/pesign/work/pesign-0.110/include -O2 -pipe  -fstack-protector-strong -Wl,-rpath=/usr/local/lib/gcc8 -isystem /usr/local/include -fno-strict-aliasing  -g -O0 -g -O0  -Wall -fshort-wchar -fno-strict-aliasing -fno-merge-constants --std=gnu99 -D_GNU_SOURCE -Wno-unused-result -Wno-unused-function -I../include/  -I/usr/local/include/nss -I/usr/local/include/nss/nss -I/usr/local/include/nspr  -Werror -fPIC -isystem /usr/local/include -DCONFIG_amd64 -DCONFIG_amd64 -c efikeygen.c -o efikeygen.o
In file included from /usr/local/include/nss/nss/cert.h:22,
                 from efikeygen.c:39:
efikeygen.c: In function 'add_cert_type':
/usr/local/include/nss/nss/certt.h:445:5: error: unsigned conversion from 'int' to 'unsigned char' changes value from '496' to '240' [-Werror=overflow]
     (NS_CERT_TYPE_SSL_CLIENT | NS_CERT_TYPE_SSL_SERVER | NS_CERT_TYPE_EMAIL | \
     ^
efikeygen.c:208:23: note: in expansion of macro 'NS_CERT_TYPE_APP'
  unsigned char type = NS_CERT_TYPE_APP;
                       ^~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors

This is fixed by just making it an int.

Fixes github issue #48.

Signed-off-by: Peter Jones <pjones@redhat.com>
frozencemetery pushed a commit that referenced this issue Nov 8, 2021
NSS 3.44 adds some certificate types, which changes a type and makes
some encoding stuff weird.  As a result, we get:

gcc8 -I/wrkdirs/usr/ports/sysutils/pesign/work/pesign-0.110/include -O2 -pipe  -fstack-protector-strong -Wl,-rpath=/usr/local/lib/gcc8 -isystem /usr/local/include -fno-strict-aliasing  -g -O0 -g -O0  -Wall -fshort-wchar -fno-strict-aliasing -fno-merge-constants --std=gnu99 -D_GNU_SOURCE -Wno-unused-result -Wno-unused-function -I../include/  -I/usr/local/include/nss -I/usr/local/include/nss/nss -I/usr/local/include/nspr  -Werror -fPIC -isystem /usr/local/include -DCONFIG_amd64 -DCONFIG_amd64 -c efikeygen.c -o efikeygen.o
In file included from /usr/local/include/nss/nss/cert.h:22,
                 from efikeygen.c:39:
efikeygen.c: In function 'add_cert_type':
/usr/local/include/nss/nss/certt.h:445:5: error: unsigned conversion from 'int' to 'unsigned char' changes value from '496' to '240' [-Werror=overflow]
     (NS_CERT_TYPE_SSL_CLIENT | NS_CERT_TYPE_SSL_SERVER | NS_CERT_TYPE_EMAIL | \
     ^
efikeygen.c:208:23: note: in expansion of macro 'NS_CERT_TYPE_APP'
  unsigned char type = NS_CERT_TYPE_APP;
                       ^~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors

This is fixed by just making it an int.

Fixes github issue #48.

Signed-off-by: Peter Jones <pjones@redhat.com>
(cherry picked from commit b535d1a)
frozencemetery pushed a commit that referenced this issue Jan 31, 2022
NSS 3.44 adds some certificate types, which changes a type and makes
some encoding stuff weird.  As a result, we get:

gcc8 -I/wrkdirs/usr/ports/sysutils/pesign/work/pesign-0.110/include -O2 -pipe  -fstack-protector-strong -Wl,-rpath=/usr/local/lib/gcc8 -isystem /usr/local/include -fno-strict-aliasing  -g -O0 -g -O0  -Wall -fshort-wchar -fno-strict-aliasing -fno-merge-constants --std=gnu99 -D_GNU_SOURCE -Wno-unused-result -Wno-unused-function -I../include/  -I/usr/local/include/nss -I/usr/local/include/nss/nss -I/usr/local/include/nspr  -Werror -fPIC -isystem /usr/local/include -DCONFIG_amd64 -DCONFIG_amd64 -c efikeygen.c -o efikeygen.o
In file included from /usr/local/include/nss/nss/cert.h:22,
                 from efikeygen.c:39:
efikeygen.c: In function 'add_cert_type':
/usr/local/include/nss/nss/certt.h:445:5: error: unsigned conversion from 'int' to 'unsigned char' changes value from '496' to '240' [-Werror=overflow]
     (NS_CERT_TYPE_SSL_CLIENT | NS_CERT_TYPE_SSL_SERVER | NS_CERT_TYPE_EMAIL | \
     ^
efikeygen.c:208:23: note: in expansion of macro 'NS_CERT_TYPE_APP'
  unsigned char type = NS_CERT_TYPE_APP;
                       ^~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors

This is fixed by just making it an int.

Fixes github issue #48.

Signed-off-by: Peter Jones <pjones@redhat.com>
frozencemetery pushed a commit that referenced this issue Mar 8, 2022
NSS 3.44 adds some certificate types, which changes a type and makes
some encoding stuff weird.  As a result, we get:

gcc8 -I/wrkdirs/usr/ports/sysutils/pesign/work/pesign-0.110/include -O2 -pipe  -fstack-protector-strong -Wl,-rpath=/usr/local/lib/gcc8 -isystem /usr/local/include -fno-strict-aliasing  -g -O0 -g -O0  -Wall -fshort-wchar -fno-strict-aliasing -fno-merge-constants --std=gnu99 -D_GNU_SOURCE -Wno-unused-result -Wno-unused-function -I../include/  -I/usr/local/include/nss -I/usr/local/include/nss/nss -I/usr/local/include/nspr  -Werror -fPIC -isystem /usr/local/include -DCONFIG_amd64 -DCONFIG_amd64 -c efikeygen.c -o efikeygen.o
In file included from /usr/local/include/nss/nss/cert.h:22,
                 from efikeygen.c:39:
efikeygen.c: In function 'add_cert_type':
/usr/local/include/nss/nss/certt.h:445:5: error: unsigned conversion from 'int' to 'unsigned char' changes value from '496' to '240' [-Werror=overflow]
     (NS_CERT_TYPE_SSL_CLIENT | NS_CERT_TYPE_SSL_SERVER | NS_CERT_TYPE_EMAIL | \
     ^
efikeygen.c:208:23: note: in expansion of macro 'NS_CERT_TYPE_APP'
  unsigned char type = NS_CERT_TYPE_APP;
                       ^~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors

This is fixed by just making it an int.

Fixes github issue #48.

Signed-off-by: Peter Jones <pjones@redhat.com>
frozencemetery pushed a commit that referenced this issue Apr 1, 2022
NSS 3.44 adds some certificate types, which changes a type and makes
some encoding stuff weird.  As a result, we get:

gcc8 -I/wrkdirs/usr/ports/sysutils/pesign/work/pesign-0.110/include -O2 -pipe  -fstack-protector-strong -Wl,-rpath=/usr/local/lib/gcc8 -isystem /usr/local/include -fno-strict-aliasing  -g -O0 -g -O0  -Wall -fshort-wchar -fno-strict-aliasing -fno-merge-constants --std=gnu99 -D_GNU_SOURCE -Wno-unused-result -Wno-unused-function -I../include/  -I/usr/local/include/nss -I/usr/local/include/nss/nss -I/usr/local/include/nspr  -Werror -fPIC -isystem /usr/local/include -DCONFIG_amd64 -DCONFIG_amd64 -c efikeygen.c -o efikeygen.o
In file included from /usr/local/include/nss/nss/cert.h:22,
                 from efikeygen.c:39:
efikeygen.c: In function 'add_cert_type':
/usr/local/include/nss/nss/certt.h:445:5: error: unsigned conversion from 'int' to 'unsigned char' changes value from '496' to '240' [-Werror=overflow]
     (NS_CERT_TYPE_SSL_CLIENT | NS_CERT_TYPE_SSL_SERVER | NS_CERT_TYPE_EMAIL | \
     ^
efikeygen.c:208:23: note: in expansion of macro 'NS_CERT_TYPE_APP'
  unsigned char type = NS_CERT_TYPE_APP;
                       ^~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors

This is fixed by just making it an int.

Fixes github issue #48.

Signed-off-by: Peter Jones <pjones@redhat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants