NetBSD Problem Report #42922
From sdrake@xnet.co.nz Fri Mar 5 02:01:50 2010
Return-Path: <sdrake@xnet.co.nz>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
by www.NetBSD.org (Postfix) with ESMTP id 06A8163B11D
for <gnats-bugs@gnats.NetBSD.org>; Fri, 5 Mar 2010 02:01:49 +0000 (UTC)
Message-Id: <alpine.LNX.2.00.1003051451490.15565@vqena.qenxr.bet.am>
Date: Fri, 5 Mar 2010 14:53:06 +1300 (NZDT)
From: Steven Drake <sdrake@xnet.co.nz>
To: gnats-bugs@NetBSD.org
Subject: netpgp needs feature test macros to compile under glibc.
>Number: 42922
>Category: pkg
>Synopsis: netpgp needs feature test macros to compile under glibc.
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: agc
>State: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Fri Mar 05 02:05:00 +0000 2010
>Closed-Date: Fri Mar 05 16:43:46 +0000 2010
>Last-Modified: Sun Mar 07 01:40:03 +0000 2010
>Originator: Steven Drake
>Release: netpgp-20100212
>Organization:
>Environment:
System: Linux idran 2.6.30 #2 PREEMPT Sun Aug 9 18:32:44 NZST 2009 i686 pentium4 i386 GNU/Linux
Architecture: pentium4
Machine: i686
C library: GNU C Library stable release version 2.10.1
C compiler: cc (GCC) 4.4.1
>Description:
To compile netpgp under glibc the following glibc feature test macros need to
be defined:
_XOPEN_SOURCE for strptime(3)
_BSD_SOURCE for strdup(3) and strcasecmp(3)
>How-To-Repeat:
cd security/netpgp ; bmake
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../../include -I/tmp/pkgsrc/security/netpgp/work.idran/.buildlink/include -Werror -Wall -Wpointer-arith -O2 -pipe -march=i586 -mtune=generic -MT libnetpgp_la-netpgp.lo -MD -MP -MF .deps/libnetpgp_la-netpgp.Tpo -c netpgp.c -fPIC -DPIC -o .libs/libnetpgp_la-netpgp.o
cc1: warnings being treated as errors
netpgp.c: In function 'get_duration':
netpgp.c:339: error: implicit declaration of function 'strptime'
netpgp.c:339: error: comparison between pointer and integer
netpgp.c:342: error: comparison between pointer and integer
...............
>Fix:
The blow patch to the netpgp source:
--- configure.ac.orig 2010-03-04 20:10:40.920418350 +1300
+++ configure.ac 2010-03-04 20:11:34.736424527 +1300
@@ -86,6 +86,14 @@ AC_SEARCH_LIBS([gzopen], [z])
AC_SEARCH_LIBS([BZ2_bzDecompress], [bz2])
AC_SEARCH_LIBS([RSA_public_encrypt], [crypto])
+# glibc feature_test_macros(7)
+case $host in
+*-gnu)
+ AC_DEFINE([_XOPEN_SOURCE], [1], [Needed for strptime(3) under glibc2])
+ AC_DEFINE([_BSD_SOURCE], [1], [Needed for strdup(3) and strcasecmp(3) under glibc2])
+ ;;
+esac
+
# Initialize the testsuite
#
AC_CONFIG_TESTDIR([tests])
>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: pkg-manager->agc
Responsible-Changed-By: obache@NetBSD.org
Responsible-Changed-When: Fri, 05 Mar 2010 05:06:23 +0000
Responsible-Changed-Why:
Over to maintainer.
From: "Alistair G. Crooks" <agc@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/42922 CVS commit: src/crypto/external/bsd/netpgp/dist
Date: Fri, 5 Mar 2010 16:01:11 +0000
Module Name: src
Committed By: agc
Date: Fri Mar 5 16:01:10 UTC 2010
Modified Files:
src/crypto/external/bsd/netpgp/dist: TODO configure configure.ac tst
src/crypto/external/bsd/netpgp/dist/include: netpgp.h
src/crypto/external/bsd/netpgp/dist/src/lib: compress.c create.c
create.h crypto.c crypto.h fastctype.c fastctype.h keyring.c
keyring.h memory.h misc.c netpgp.c netpgpdefs.h netpgpsdk.h
openssl_crypto.c packet-parse.c packet-parse.h packet-print.c
packet-show.c packet-show.h packet.h reader.c readerwriter.h
signature.c signature.h ssh2pgp.c symmetric.c types.h validate.c
validate.h version.h writer.c writer.h
src/crypto/external/bsd/netpgp/dist/src/netpgp: Makefile netpgp.1
src/crypto/external/bsd/netpgp/dist/src/netpgpkeys: netpgpkeys.c
src/crypto/external/bsd/netpgp/dist/src/netpgpverify: Makefile verify.c
Log Message:
Update netpgp to version 1.99.20/20100304 - portability improvements, and bug fixes:
Changes to 1.99.20/20100304
+ move args to some functions around to be consistent
+ use uint*_t where appropriate
+ fix bug in verify memory
+ add documentation to manual pages to show how to do combined
signing/encryption and decryption/verification
+ make verification of ascii-armoured memory work the same as binary
+ eliminate use of strdup(3), strcasecmp(3), and strptime(3). NetBSD/pkgsrc
PR 42922 applies - need to define _XOPEN_SOURCE and _BSD_SOURCE for
newer linux platforms with glibc 2.10.1. solved a bit differently, by
implementing strdup(3) and strcasecmp(3) independently, and using regexps
to avoid calling strptime(3).
To generate a diff of this commit:
cvs rdiff -u -r1.31 -r1.32 src/crypto/external/bsd/netpgp/dist/TODO
cvs rdiff -u -r1.23 -r1.24 src/crypto/external/bsd/netpgp/dist/configure
cvs rdiff -u -r1.24 -r1.25 src/crypto/external/bsd/netpgp/dist/configure.ac
cvs rdiff -u -r1.19 -r1.20 src/crypto/external/bsd/netpgp/dist/tst
cvs rdiff -u -r1.15 -r1.16 \
src/crypto/external/bsd/netpgp/dist/include/netpgp.h
cvs rdiff -u -r1.14 -r1.15 \
src/crypto/external/bsd/netpgp/dist/src/lib/compress.c \
src/crypto/external/bsd/netpgp/dist/src/lib/packet-show.c
cvs rdiff -u -r1.22 -r1.23 \
src/crypto/external/bsd/netpgp/dist/src/lib/create.c
cvs rdiff -u -r1.8 -r1.9 src/crypto/external/bsd/netpgp/dist/src/lib/create.h \
src/crypto/external/bsd/netpgp/dist/src/lib/netpgpsdk.h
cvs rdiff -u -r1.20 -r1.21 \
src/crypto/external/bsd/netpgp/dist/src/lib/crypto.c
cvs rdiff -u -r1.16 -r1.17 \
src/crypto/external/bsd/netpgp/dist/src/lib/crypto.h \
src/crypto/external/bsd/netpgp/dist/src/lib/signature.h
cvs rdiff -u -r1.1 -r1.2 \
src/crypto/external/bsd/netpgp/dist/src/lib/fastctype.c \
src/crypto/external/bsd/netpgp/dist/src/lib/fastctype.h
cvs rdiff -u -r1.27 -r1.28 \
src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c
cvs rdiff -u -r1.21 -r1.22 \
src/crypto/external/bsd/netpgp/dist/src/lib/keyring.h
cvs rdiff -u -r1.5 -r1.6 src/crypto/external/bsd/netpgp/dist/src/lib/memory.h
cvs rdiff -u -r1.26 -r1.27 src/crypto/external/bsd/netpgp/dist/src/lib/misc.c \
src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c \
src/crypto/external/bsd/netpgp/dist/src/lib/version.h
cvs rdiff -u -r1.40 -r1.41 \
src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c
cvs rdiff -u -r1.7 -r1.8 \
src/crypto/external/bsd/netpgp/dist/src/lib/netpgpdefs.h \
src/crypto/external/bsd/netpgp/dist/src/lib/ssh2pgp.c \
src/crypto/external/bsd/netpgp/dist/src/lib/types.h \
src/crypto/external/bsd/netpgp/dist/src/lib/writer.h
cvs rdiff -u -r1.19 -r1.20 \
src/crypto/external/bsd/netpgp/dist/src/lib/openssl_crypto.c
cvs rdiff -u -r1.29 -r1.30 \
src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.c
cvs rdiff -u -r1.11 -r1.12 \
src/crypto/external/bsd/netpgp/dist/src/lib/packet-parse.h
cvs rdiff -u -r1.6 -r1.7 \
src/crypto/external/bsd/netpgp/dist/src/lib/packet-show.h
cvs rdiff -u -r1.18 -r1.19 \
src/crypto/external/bsd/netpgp/dist/src/lib/packet.h \
src/crypto/external/bsd/netpgp/dist/src/lib/writer.c
cvs rdiff -u -r1.30 -r1.31 \
src/crypto/external/bsd/netpgp/dist/src/lib/reader.c \
src/crypto/external/bsd/netpgp/dist/src/lib/validate.c
cvs rdiff -u -r1.9 -r1.10 \
src/crypto/external/bsd/netpgp/dist/src/lib/readerwriter.h \
src/crypto/external/bsd/netpgp/dist/src/lib/symmetric.c
cvs rdiff -u -r1.25 -r1.26 \
src/crypto/external/bsd/netpgp/dist/src/lib/signature.c
cvs rdiff -u -r1.12 -r1.13 \
src/crypto/external/bsd/netpgp/dist/src/lib/validate.h
cvs rdiff -u -r1.8 -r1.9 \
src/crypto/external/bsd/netpgp/dist/src/netpgp/Makefile
cvs rdiff -u -r1.9 -r1.10 \
src/crypto/external/bsd/netpgp/dist/src/netpgp/netpgp.1
cvs rdiff -u -r1.7 -r1.8 \
src/crypto/external/bsd/netpgp/dist/src/netpgpkeys/netpgpkeys.c
cvs rdiff -u -r1.7 -r1.8 \
src/crypto/external/bsd/netpgp/dist/src/netpgpverify/Makefile
cvs rdiff -u -r1.3 -r1.4 \
src/crypto/external/bsd/netpgp/dist/src/netpgpverify/verify.c
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/42922 CVS commit: pkgsrc/security/netpgp
Date: Fri, 5 Mar 2010 16:20:05 +0000
Module Name: pkgsrc
Committed By: agc
Date: Fri Mar 5 16:20:05 UTC 2010
Modified Files:
pkgsrc/security/netpgp: DESCR Makefile distinfo
Log Message:
Update netpgp to version 1.99.20/20100304 - portability improvements, and bug fixes:
Changes to 1.99.20/20100304
+ move args to some functions around to be consistent
+ use uint*_t where appropriate
+ fix bug in verify memory
+ add documentation to manual pages to show how to do combined
signing/encryption and decryption/verification
+ make verification of ascii-armoured memory work the same as binary
+ eliminate use of strdup(3), strcasecmp(3), and strptime(3).
NetBSD/pkgsrc PR 42922 applies - need to define
_XOPEN_SOURCE and _BSD_SOURCE for newer linux platforms with
glibc 2.10.1. solved a bit differently, by implementing
strdup(3) and strcasecmp(3) independently, and using regexps
to avoid calling strptime(3).
To generate a diff of this commit:
cvs rdiff -u -r1.1.1.1 -r1.2 pkgsrc/security/netpgp/DESCR
cvs rdiff -u -r1.7 -r1.8 pkgsrc/security/netpgp/Makefile
cvs rdiff -u -r1.6 -r1.7 pkgsrc/security/netpgp/distinfo
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
State-Changed-From-To: open->closed
State-Changed-By: agc@NetBSD.org
State-Changed-When: Fri, 05 Mar 2010 16:43:46 +0000
State-Changed-Why:
changes added to both src and pkgsrc, done somewhat differently, since i
personally don't like the definitions that we're being forced to add for
newer glibc on linux - it would be great if someone could apply some
common sense in that area. ok, i've exhaled now.
thanks for the problem report - please can you report back that these
changes fix things for you on newer linux - previous testing on linux
has been done with various versions of rhel, so i've been immune to this.
From: Steven Drake <sdrake@xnet.co.nz>
To: gnats-bugs@NetBSD.org
Cc: agc@NetBSD.org, pkgsrc-bugs@netbsd.org, gnats-admin@netbsd.org,
agc@NetBSD.org
Subject: Re: pkg/42922 (netpgp needs feature test macros to compile under
glibc.)
Date: Sun, 7 Mar 2010 14:30:42 +1300 (NZDT)
On Fri, 5 Mar 2010, agc@NetBSD.org wrote:
> i personally don't like the definitions that we're being forced to add for
> newer glibc on linux
What I found surprising is that there is no autoconf macro designed to
workout what c macros if any are needed and to define them in config.h
e.g. "AC_GLIBC(strdup) ..."
> thanks for the problem report - please can you report back that these
> changes fix things for you on newer linux - previous testing on linux
> has been done with various versions of rhel, so i've been immune to this.
I tested netpgp-20100212 and it complied without any problems.
--
Steven
>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-2007
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.