NetBSD Problem Report #51262
From www@NetBSD.org Wed Jun 22 12:53:07 2016
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(Client CN "mail.netbsd.org", Issuer "Postmaster NetBSD.org" (verified OK))
by mollari.NetBSD.org (Postfix) with ESMTPS id 691687A3DB
for <gnats-bugs@gnats.NetBSD.org>; Wed, 22 Jun 2016 12:53:07 +0000 (UTC)
Message-Id: <20160622125305.DBD917AA93@mollari.NetBSD.org>
Date: Wed, 22 Jun 2016 12:53:05 +0000 (UTC)
From: venture37@geeklan.co.uk
Reply-To: venture37@geeklan.co.uk
To: gnats-bugs@NetBSD.org
Subject: pkg_install broken on Solaris 10 due to netpgpverify
X-Send-Pr-Version: www-1.0
>Number: 51262
>Category: pkg
>Synopsis: pkg_install broken on Solaris 10 due to netpgpverify
>Confidential: no
>Severity: serious
>Priority: low
>Responsible: agc
>State: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Wed Jun 22 12:55:00 +0000 2016
>Closed-Date: Thu Jun 23 17:43:07 +0000 2016
>Last-Modified: Mon Apr 17 19:55:01 +0000 2017
>Originator: Sevan Janiyan
>Release: pkgsrc-current
>Organization:
>Environment:
SunOS login 5.10 Generic_150400-17 sun4v sparc SUNW,SPARC-Enterprise-T5220
>Description:
Attempting to bootstrap pkgsrc on Solaris 10 on SPARC with GCC from sunfreeware fails when building pkg_install, with the following error
gcc -O2 -D_LARGEFILE_SOURCE -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -DDEF_UMASK=022 -I/home/sme/pkgsrc/bootstrap/work/wrk/pkgtools/
pkg_install/work/libarchive/libarchive -I/home/sme/pkgsrc/bootstrap/work/wrk/pkgtools/pkg_install/work/libfetch -I/home/sme/pkg
src/bootstrap/work/wrk/pkgtools/pkg_install/work -DHAVE_NBCOMPAT_H=1 -I/home/sme/pkgsrc/bootstrap/work/wrk/pkgtools/pkg_install/w
ork/libnbcompat -c libverify.c
In file included from libverify.c:36:
/usr/include/stdbool.h:42:2: #error "Use of <stdbool.h> is valid only in a c99 compilation environment."
libverify.c:181: error: syntax error before "growbuf"
libverify.c: In function `growbuf':
libverify.c:190: error: `false' undeclared (first use in this function)
libverify.c:190: error: (Each undeclared identifier is reported only once
libverify.c:190: error: for each function it appears in.)
libverify.c:195: error: `true' undeclared (first use in this function)
libverify.c: At top level:
libverify.c:200: error: syntax error before "obuf_add_mem"
libverify.c: In function `obuf_add_mem':
libverify.c:204: error: `false' undeclared (first use in this function)
libverify.c:208: error: `true' undeclared (first use in this function)
libverify.c: At top level:
libverify.c:216: error: syntax error before "obuf_printf"
libverify.c: In function `obuf_printf':
libverify.c:220: error: `bool' undeclared (first use in this function)
libverify.c:220: error: syntax error before "ret"
libverify.c:224: error: `ret' undeclared (first use in this function)
libverify.c:224: error: `true' undeclared (first use in this function)
libverify.c:234: error: `false' undeclared (first use in this function)
libverify.c: In function `fmt_binary':
libverify.c:491: error: `false' undeclared (first use in this function)
libverify.c:494: error: `true' undeclared (first use in this function)
libverify.c: At top level:
libverify.c:624: error: syntax error before "fmt_fingerprint"
libverify.c: In function `fmt_fingerprint':
libverify.c:629: error: `false' undeclared (first use in this function)
libverify.c: In function `str_to_keyid':
libverify.c:660: warning: integer constant is too large for "unsigned long" type
libverify.c:661: warning: integer constant is too large for "unsigned long" type
libverify.c:662: warning: integer constant is too large for "unsigned long" type
libverify.c:663: warning: integer constant is too large for "unsigned long" type
libverify.c: In function `fmt_time':
libverify.c:745: error: `false' undeclared (first use in this function)
libverify.c: At top level:
libverify.c:1507: error: syntax error before "fmt_pubkey"
libverify.c: In function `fmt_pubkey':
libverify.c:1510: error: `false' undeclared (first use in this function)
libverify.c: At top level:
libverify.c:1534: error: syntax error before "fmt_userid"
libverify.c:1547: error: syntax error before "fmt_trust"
libverify.c: In function `fmt_trust':
libverify.c:1553: error: `false' undeclared (first use in this function)
libverify.c: At top level:
libverify.c:1563: error: syntax error before "fmt_primary"
libverify.c: In function `fmt_primary':
libverify.c:1572: error: `false' undeclared (first use in this function)
*** Error code 1
>How-To-Repeat:
>Fix:
>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: pkg-manager->agc
Responsible-Changed-By: leot@NetBSD.org
Responsible-Changed-When: Wed, 22 Jun 2016 14:11:31 +0000
Responsible-Changed-Why:
Al, can you please take a look?
State-Changed-From-To: open->closed
State-Changed-By: agc@NetBSD.org
State-Changed-When: Thu, 23 Jun 2016 17:43:07 +0000
State-Changed-Why:
Fixed in netpgpverify/libnetpgpverify 20160622
From: "Alistair G. Crooks" <agc@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/51262 CVS commit: pkgsrc/security/netpgpverify/files
Date: Thu, 23 Jun 2016 17:40:04 +0000
Module Name: pkgsrc
Committed By: agc
Date: Thu Jun 23 17:40:04 UTC 2016
Modified Files:
pkgsrc/security/netpgpverify/files: libverify.c verify.h
Log Message:
Update netpgpverify and libnetpgpverify to 20160622 during freeze to fix
PR/51262
+ take a bit of a step backwards, and don't use stdbool.h, just to appease
Solaris 10 compiler
To generate a diff of this commit:
cvs rdiff -u -r1.16 -r1.17 pkgsrc/security/netpgpverify/files/libverify.c
cvs rdiff -u -r1.24 -r1.25 pkgsrc/security/netpgpverify/files/verify.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: "Alistair G. Crooks" <agc@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/51262 CVS commit: src/crypto/external/bsd/netpgp
Date: Mon, 17 Apr 2017 19:50:28 +0000
Module Name: src
Committed By: agc
Date: Mon Apr 17 19:50:28 UTC 2017
Modified Files:
src/crypto/external/bsd/netpgp/bin/netpgpverify: Makefile
src/crypto/external/bsd/netpgp/dist/src/netpgpverify: Makefile.bsd
Makefile.in Makefile.lib.in Makefile.libtool.in array.h bignum.c
digest.c digest.h libnetpgpverify.3 libverify.c main.c
netpgpverify.1 pgpsum.c verify.h
src/crypto/external/bsd/netpgp/lib/verify: Makefile
Removed Files:
src/crypto/external/bsd/netpgp/dist/src/netpgpverify: tiger.c tiger.h
Log Message:
Update netpgpverify sources in base from 20160617 to 20170201 (i.e. bring
over changes from master sources in pkgsrc/security/netpgpverify, version 20170201):
Changes:
Update netpgpverify (and libnetpgpverify) to 20160614
+ handle signatures created by gpg with "--no-emit-version", don't assume
there will always be a version string.
+ add a test for above
Fixes security PR 51240.
Thanks to xnox@ubuntu.com for reporting the error
Update netpgpverify and libnetpgpverify to 20160615:
Simplify the method of finding the end of the versioning information
in the signature - back up to the "\n" character at the end of the
signature start:
"-----BEGIN PGP SIGNATURE-----\n"
and then find the "\n\n" character sequence to denote the start of the
signature itself. The previous version worked, but this is more efficient.
Update netpgpverify and libnetpgpverify to 20160616
+ bring over joerg's printflike change from the netpgpverify
version in src/crypto
+ add a test for cleartext signatures with version information
to complement the one with no version information
Update netpgpverify and libnetpgpverify to 20160622 during freeze to fix PR 51262
+ take a bit of a step backwards, and don't use stdbool.h, just to appease
Solaris 10 compiler
Update netpgpverify and libnetpgpverify to 20160623
+ remove use of asprintf and vasprintf from libverify. Inspired
by work from Dimitri John Ledkov. Should allow building on Linux
without superfluous definitions.
+ also free the BIGNUM struct in PGPV_BN_clear() - from Dimitri
John Ledkov
Update netpgpverify and libnetpgpverify to 20160626
+ make the pgpv_t and pgpv_cursor_t structures opaque
+ add new accessor functions for fields in the pgpv_cursor_t struct
+ add new creation functions for the pgpv_t and pgpv_cursor_t structs
Update netpgpverify and libnetpgpverify to 20160704
+ get rid of redundant PGPV_ARRAY definition in libverify.c, brought in when
the definitions moved from verify.h
+ fix obuf_add_mem() to use a const void *, as any struct can be
dumped using it
+ remove redundant NO_SUBKEYS definition - unused
+ add an (unused as yet) ARRAY_FREE() macro
Update netpgpverify and libnetpgpverify to 20160705
External API changes
====================
+ add a pgpv_cursor_close() function to free resources associated with
a cursor
Better memory management
========================
+ restructure the way dynamic arrays are used, to avoid memory
corruption issues and memory leaks - keep all dynamic arrays in the global
data structure, and use indices in the other data structures to index them.
Means lack of data localisation, but avoids stale pointers, and leaks.
+ make signer field of signature a uint8_t array, rather than a pointer
+ use our own version of strdup(3) - don't depend on it being
available in standard library
+ keep track of whether litdata filenames and userid were allocated or not,
and free memory in pgpv_close() if it was allocated
+ free up allocated resources which were allocated in pgpv_close()
Update netpgpverify and libnetpgpverify to 20160706
+ 20160705 introduced a bug whereby a key subid would match and verify
fine, but, if formatted, would not display the correct subkey
information. Fix to show the correct information in this case.
Update netpgpverify and libnetpgpverify to 20160707 to fix some
unusual build errors shown by old gcc versions (works fine for
gcc-5.2.1 on ubuntu and gcc-5.3.0 on NetBSD 7.99.32)
+ use ULL suffix on unsigned 64bit constants, not UL
+ don't typedef the public structs twice - second time just define it
without the typedef
Fixes PR 51327
Update netpgpverify and libnetpgpverify to 20160708
+ clear and free bignums properly - helps immensely with plugging
memory leaks
Update netpgpverify and libnetpgpverify to 20160828
+ bring over change from christos in src/crypto to check for
the end of an ASCII-armored signature
+ no need for namespace protection in array.h any more, now
that netpgp/verify.h now contains opaque structures
+ minor typo clean-up in a definition (benign, ignored by compiler)
update netpgpverify and libnetpgpverify to 20170201
+ make sure howmany() macro is defined
pointed out by cube - thanks!
To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 \
src/crypto/external/bsd/netpgp/bin/netpgpverify/Makefile
cvs rdiff -u -r1.6 -r1.7 \
src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.bsd
cvs rdiff -u -r1.10 -r1.11 \
src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.in \
src/crypto/external/bsd/netpgp/dist/src/netpgpverify/netpgpverify.1
cvs rdiff -u -r1.1 -r1.2 \
src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.lib.in \
src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile.libtool.in \
src/crypto/external/bsd/netpgp/dist/src/netpgpverify/array.h
cvs rdiff -u -r1.3 -r1.4 \
src/crypto/external/bsd/netpgp/dist/src/netpgpverify/bignum.c \
src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libnetpgpverify.3
cvs rdiff -u -r1.2 -r1.3 \
src/crypto/external/bsd/netpgp/dist/src/netpgpverify/digest.c \
src/crypto/external/bsd/netpgp/dist/src/netpgpverify/digest.h \
src/crypto/external/bsd/netpgp/dist/src/netpgpverify/pgpsum.c
cvs rdiff -u -r1.12 -r1.13 \
src/crypto/external/bsd/netpgp/dist/src/netpgpverify/libverify.c
cvs rdiff -u -r1.7 -r1.8 \
src/crypto/external/bsd/netpgp/dist/src/netpgpverify/main.c
cvs rdiff -u -r1.3 -r0 \
src/crypto/external/bsd/netpgp/dist/src/netpgpverify/tiger.c
cvs rdiff -u -r1.2 -r0 \
src/crypto/external/bsd/netpgp/dist/src/netpgpverify/tiger.h
cvs rdiff -u -r1.9 -r1.10 \
src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.h
cvs rdiff -u -r1.8 -r1.9 src/crypto/external/bsd/netpgp/lib/verify/Makefile
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2014
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.