Control: tags 853947 - patch
Control: block 853947 by 854472

On Thu 2017-02-16 19:19:42 -0500, Daniel Kahn Gillmor wrote:
> Control: tags 853947 + patch
>
> Just passing on a note from upstream here…
>
>      --dkg
>
> From: Paul Wouters <p...@nohats.ca>
> Subject: updated mips patch
> To: Daniel Kahn Gillmor <d...@fifthhorseman.net>
> Date: Thu, 16 Feb 2017 12:17:21 -0500
>
>
> Try this patch? I just added it to certs.h directly
>
> Paul
> diff --git a/include/certs.h b/include/certs.h
> index 713cc39..4be68e6 100644
> --- a/include/certs.h
> +++ b/include/certs.h
> @@ -4,6 +4,7 @@
>   * Copyright (C) 2009 Paul Wouters <p...@xelerance.com>
>   * Copyright (C) 2009 Avesh Agarwal <avaga...@redhat.com>
>   * Copyright (C) 2012-2013 Paul Wouters <p...@libreswan.org>
> + * Copyright (C) 2017 Paul Wouters <pwout...@redhat.com>
>   * Copyright (C) 2013 Tuomo Soini <t...@foobar.fi>
>   * Copyright (C) 2013 Matt Rogers <mrog...@redhat.com>
>   *
> @@ -22,6 +23,19 @@
>  #ifndef _CERTS_H
>  #define _CERTS_H
>  
> +/* workaround for NSS/NSPR bug on MIPS with cert.h */
> +#ifndef _ABIO32
> +# define _ABIO32        1
> +#endif
> +
> +#ifndef _ABIN32
> +# define _ABIN32        2
> +#endif
> +
> +#ifndef _ABI64
> +# define _ABI64         3
> +#endif
> +
>  #include <cert.h> /* NSS */
>  #include "x509.h"
>  

3.20-1 has this patch already applied upstream, and the build still
fails with:

--------
cc -g -O2 -fdebug-prefix-map=/«PKGBUILDDIR»=. -fstack-protector-strong -Wformat 
-Werror=format-security -I/«PKGBUILDDIR»/lib/libcrypto/libsha2 
-I/«PKGBUILDDIR»/lib/libcrypto/libaes_xcbc -I/«PKGBUILDDIR»/ports/linux/include 
-I. -I/«PKGBUILDDIR»/linux/net/ipsec -I/«PKGBUILDDIR»/linux/include 
-I/«PKGBUILDDIR» -DPFKEYV2  -I/usr/include/nss -I/usr/include/nspr 
-I/«PKGBUILDDIR»/include -I/«PKGBUILDDIR»/ports/linux/include -std=gnu99 -g -O2 
-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-all 
-fno-strict-aliasing -fPIE -DPIE -DDNSSEC -DLIBCURL -DUSE_SYSTEMD_WATCHDOG 
-DLIBLDAP -DHAVE_NM -DXAUTH_HAVE_PAM -DUSE_MD5 -DUSE_SHA2 -DUSE_SHA1 -DUSE_AES 
-DUSE_3DES -DUSE_CAMELLIA -DUSE_SERPENT -DUSE_TWOFISH -DUSE_CAST -DUSE_RIPEMD 
-DFIPSPRODUCTCHECK=\"/etc/system-fips\" -DIPSEC_CONF=\"/etc/ipsec.conf\" 
-DIPSEC_CONFDDIR=\"/etc/ipsec.d\" -DIPSEC_NSSDIR=\"/var/lib/ipsec/nss\" 
-DIPSEC_CONFDIR=\"/etc\" -DIPSEC_EXECDIR=\"/usr/lib/ipsec\" 
-DIPSEC_SBINDIR=\"/usr/sbin\" -DIPSEC_VARDIR=\"/var\" 
-DPOLICYGROUPSDIR=\"/etc/ipsec.d/policies\" 
-DIPSEC_SECRETS_FILE=\"/etc/ipsec.secrets\" -DFORCE_PR_ASSERT 
-DRETRANSMIT_INTERVAL_DEFAULT="500" -DUSE_FORK=1 -DUSE_VFORK=0 -DUSE_DAEMON=0 
-DUSE_PTHREAD_SETSCHEDPRIO=1 -DGCC_LINT -DALLOW_MICROSOFT_BAD_PROPOSAL -Werror 
-Wall -Wextra -Wformat -Wformat-nonliteral -Wformat-security -Wundef 
-Wmissing-declarations -Wredundant-decls -Wnested-externs  -DNSS_REQ_AVA_COPY 
-I/«PKGBUILDDIR»/lib/libcrypto/libsha2 
-I/«PKGBUILDDIR»/lib/libcrypto/libaes_xcbc -I/«PKGBUILDDIR»/ports/linux/include 
-I. -I/«PKGBUILDDIR»/linux/net/ipsec -I/«PKGBUILDDIR»/linux/include 
-I/«PKGBUILDDIR» -DPFKEYV2  -I/usr/include/nss -I/usr/include/nspr 
-I/«PKGBUILDDIR»/include -I/«PKGBUILDDIR»/ports/linux/include -std=gnu99 -g -O2 
-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-all 
-fno-strict-aliasing -fPIE -DPIE -DDNSSEC -DLIBCURL -DUSE_SYSTEMD_WATCHDOG 
-DLIBLDAP -DHAVE_NM -DXAUTH_HAVE_PAM -DUSE_MD5 -DUSE_SHA2 -DUSE_SHA1 -DUSE_AES 
-DUSE_3DES -DUSE_CAMELLIA -DUSE_SERPENT -DUSE_TWOFISH -DUSE_CAST -DUSE_RIPEMD 
-DFIPSPRODUCTCHECK=\"/etc/system-fips\" -DIPSEC_CONF=\"/etc/ipsec.conf\" 
-DIPSEC_CONFDDIR=\"/etc/ipsec.d\" -DIPSEC_NSSDIR=\"/var/lib/ipsec/nss\" 
-DIPSEC_CONFDIR=\"/etc\" -DIPSEC_EXECDIR=\"/usr/lib/ipsec\" 
-DIPSEC_SBINDIR=\"/usr/sbin\" -DIPSEC_VARDIR=\"/var\" 
-DPOLICYGROUPSDIR=\"/etc/ipsec.d/policies\" 
-DIPSEC_SECRETS_FILE=\"/etc/ipsec.secrets\" -DFORCE_PR_ASSERT 
-DRETRANSMIT_INTERVAL_DEFAULT="500" -DUSE_FORK=1 -DUSE_VFORK=0 -DUSE_DAEMON=0 
-DUSE_PTHREAD_SETSCHEDPRIO=1 -DGCC_LINT -DALLOW_MICROSOFT_BAD_PROPOSAL -Werror 
-Wall -Wextra -Wformat -Wformat-nonliteral -Wformat-security -Wundef 
-Wmissing-declarations -Wredundant-decls -Wnested-externs  -DNSS_REQ_AVA_COPY 
-I/«PKGBUILDDIR»/ports/linux/include  \
        -MMD -MF ./base64_rsa_pubkey.d \
        -o ./base64_rsa_pubkey.o \
        -c /«PKGBUILDDIR»/lib/libswan/base64_rsa_pubkey.c
In file included from /usr/include/nspr/prtypes.h:26:0,
                 from /usr/include/nss/seccomon.h:17,
                 from /usr/include/nss/nss.h:34,
                 from /«PKGBUILDDIR»/lib/libswan/base64_rsa_pubkey.c:21:
/usr/include/nspr/prcpucfg.h:511:18: error: "_ABI64" is not defined 
[-Werror=undef]
 #if _MIPS_SIM == _ABI64
                  ^~~~~~
cc1: all warnings being treated as errors
--------

presumably because <certs.h> isn't loaded at all before nss.h is loaded.

So i suspect that #854472 is really where the problem needs to be fixed.

   --dkg

Attachment: signature.asc
Description: PGP signature

Reply via email to