[CVS] RPM: rpm/ devtool.conf

2007-12-05 Thread Ralf S. Engelschall
  RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  

  Server: rpm5.org Name:   Ralf S. Engelschall
  Root:   /v/rpm/cvs   Email:  [EMAIL PROTECTED]
  Module: rpm  Date:   05-Dec-2007 09:36:21
  Branch: HEAD Handle: 2007120508362100

  Modified files:
rpm devtool.conf

  Log:
upgrade to latest SQLite and GNU config.* scripts

  Summary:
RevisionChanges Path
2.138   +2  -2  rpm/devtool.conf
  

  patch -p0 '@@ .'
  Index: rpm/devtool.conf
  
  $ cvs diff -u -r2.137 -r2.138 devtool.conf
  --- rpm/devtool.conf  5 Dec 2007 03:59:26 -   2.137
  +++ rpm/devtool.conf  5 Dec 2007 08:36:21 -   2.138
  @@ -215,11 +215,11 @@
   v_neon=0.27.2
   v_beecrypt=4.1.2
   v_db=4.6.21
  -v_sqlite=3.5.2
  +v_sqlite=3.5.3
   v_lua=5.1.2
   v_file=4.21
   v_popt=1.12
  -v_config=20071106
  +v_config=20071205
   
   #   third-party distribution files
   dist=
  @@ .
__
RPM Package Managerhttp://rpm5.org
CVS Sources Repositoryrpm-cvs@rpm5.org


[CVS] RPM: rpm/rpmio/ rpmnss.c

2007-12-05 Thread Ralf S. Engelschall
  RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  

  Server: rpm5.org Name:   Ralf S. Engelschall
  Root:   /v/rpm/cvs   Email:  [EMAIL PROTECTED]
  Module: rpm  Date:   05-Dec-2007 09:29:02
  Branch: HEAD Handle: 2007120508290100

  Modified files:
rpm/rpmio   rpmnss.c

  Log:
get the necessary includes

  Summary:
RevisionChanges Path
1.7 +1  -0  rpm/rpmio/rpmnss.c
  

  patch -p0 '@@ .'
  Index: rpm/rpmio/rpmnss.c
  
  $ cvs diff -u -r1.6 -r1.7 rpmnss.c
  --- rpm/rpmio/rpmnss.c5 Dec 2007 03:59:27 -   1.6
  +++ rpm/rpmio/rpmnss.c5 Dec 2007 08:29:01 -   1.7
  @@ -4,6 +4,7 @@
   
   #include system.h
   #include rpmio.h
  +#include rpmnss.h
   
   #if defined(__LCLINT__)
   #define  __i386__
  @@ .
__
RPM Package Managerhttp://rpm5.org
CVS Sources Repositoryrpm-cvs@rpm5.org


[CVS] RPM: rpm/ INSTALL

2007-12-05 Thread Ralf S. Engelschall
  RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  

  Server: rpm5.org Name:   Ralf S. Engelschall
  Root:   /v/rpm/cvs   Email:  [EMAIL PROTECTED]
  Module: rpm  Date:   05-Dec-2007 15:56:07
  Branch: HEAD Handle: 2007120514560700

  Modified files:
rpm INSTALL

  Log:
mention lzma(1) for compression and add hint that decompressor is
bundled

  Summary:
RevisionChanges Path
2.64+8  -5  rpm/INSTALL
  

  patch -p0 '@@ .'
  Index: rpm/INSTALL
  
  $ cvs diff -u -r2.63 -r2.64 INSTALL
  --- rpm/INSTALL   5 Dec 2007 08:16:51 -   2.63
  +++ rpm/INSTALL   5 Dec 2007 14:56:07 -   2.64
  @@ -37,12 +37,12 @@
   Lua [2] optional  5.1 5.1.2   http://www.lua.org/
   ZLib[3] optional  1.2 1.2.3   http://www.zlib.net/
   Bzip2   optional  1.0 1.0.4   http://www.bzip.org/
  -LZMA SDKinternal  4.274.32http://www.7-zip.org/sdk.html
  -File/magic  [4] optional  4.0 4.21ftp://ftp.astron.com/pub/file/
  +LZMA SDK[4] internal  4.274.32http://www.7-zip.org/sdk.html
  +File/magic  [5] optional  4.0 4.21ftp://ftp.astron.com/pub/file/
   GNU gettext optional  0.160.17
http://www.gnu.org/software/gettext/
   GNU iconv   optional  1.111.11
http://www.gnu.org/software/libiconv/
   PCREoptional  7.0 7.4 http://www.pcre.org/
  -XAR [5] optional  1.5 1.6dev  http://code.google.com/p/xar/
  +XAR [6] optional  1.5 1.6dev  http://code.google.com/p/xar/
   DMalloc optional  5   5.5.2   http://dmalloc.com/
   Electric Fence  optional  2.1 2.1.13  
http://perens.com/FreeSoftware/ElectricFence/
   Linux KeyUtils  optional  1.2 1.2 
http://people.redhat.com/~dhowells/keyutils/
  @@ -63,11 +63,14 @@
  Building RPM against stock external Zlib not recommended
  as it reduces its RPM-specific functionality.
   
  -[4] file:  Unmodified File/magic copy bundled with RPM for convenience 
reasons.
  +[4] lzma:  RPM has a copy of the LZMA SDK 4.32 decompression routines 
bundled,
  +   but for compression the external command line interface 
lzma(1) is required.
  +
  +[5] file:  Unmodified File/magic copy bundled with RPM for convenience 
reasons.
  Building RPM against this internal File/magic requires also 
internal Zlib.
  Building RPM against stock external File/magic supported, too.
   
  -[5] xar:   Modified XAR copy bundled with RPM.
  +[6] xar:   Modified XAR copy bundled with RPM.
  Building RPM against stock external XAR currently still not 
recommended.
  The 1.5 releases of Xar needs some patching, before they work.
   
  @@ .
__
RPM Package Managerhttp://rpm5.org
CVS Sources Repositoryrpm-cvs@rpm5.org


[CVS] RPM: rpm/ CHANGES rpm/rpmio/ Makefile.am librpmio.vers rpmgc.c r...

2007-12-05 Thread Jeff Johnson
  RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  

  Server: rpm5.org Name:   Jeff Johnson
  Root:   /v/rpm/cvs   Email:  [EMAIL PROTECTED]
  Module: rpm  Date:   05-Dec-2007 18:55:36
  Branch: HEAD Handle: 2007120517553501

  Added files:
rpm/rpmio   rpmgc.c rpmgc.h rpmssl.c rpmssl.h
  Modified files:
rpm CHANGES
rpm/rpmio   Makefile.am librpmio.vers tkey.c

  Log:
- stub in rpmgc/rpmssl for gcrypt  openssl signature verification.

  Summary:
RevisionChanges Path
1.1942  +1  -0  rpm/CHANGES
1.115   +3  -3  rpm/rpmio/Makefile.am
2.26+2  -0  rpm/rpmio/librpmio.vers
2.1 +212 -0 rpm/rpmio/rpmgc.c
2.1 +35 -0  rpm/rpmio/rpmgc.h
2.1 +214 -0 rpm/rpmio/rpmssl.c
2.1 +35 -0  rpm/rpmio/rpmssl.h
2.22+8  -2  rpm/rpmio/tkey.c
  

  patch -p0 '@@ .'
  Index: rpm/CHANGES
  
  $ cvs diff -u -r1.1941 -r1.1942 CHANGES
  --- rpm/CHANGES   5 Dec 2007 09:53:17 -   1.1941
  +++ rpm/CHANGES   5 Dec 2007 17:55:35 -   1.1942
  @@ -1,4 +1,5 @@
   5.0a4 - 5.0b1:
  +- jbj: stub in rpmgc/rpmssl for gcrypt  openssl signature verification.
   - rse: add XAR support to devtool standalone
   - jbj: fix: s/RPM_/RPMLIB_/ in rpmversion.h.in. That should stick now.
   - rpm.org: credit for the original NSS hacks.
  @@ .
  patch -p0 '@@ .'
  Index: rpm/rpmio/Makefile.am
  
  $ cvs diff -u -r1.114 -r1.115 Makefile.am
  --- rpm/rpmio/Makefile.am 5 Dec 2007 03:59:27 -   1.114
  +++ rpm/rpmio/Makefile.am 5 Dec 2007 17:55:36 -   1.115
  @@ -127,9 +127,9 @@
   tinv_SOURCES = tinv.c
   tinv_LDADD = $(RPM_LDADD)
   
  -tkey_SOURCES = tkey.c rpmnss.c
  -tkey_CFLAGS  = $(CFLAGS) -I/usr/include/nss3 -I/usr/include/nspr4
  -tkey_LDADD = $(RPM_LDADD) -lnss3 -lplds4 -lplc4 -lnspr4 -lpthread -ldl
  +tkey_SOURCES = tkey.c rpmgc.c rpmnss.c rpmssl.c
  +tkey_CFLAGS  = $(CFLAGS)
  +tkey_LDADD = $(RPM_LDADD) -lgcrypt
   
   trpmio_SOURCES = trpmio.c
   trpmio_LDADD = $(RPM_LDADD)
  @@ .
  patch -p0 '@@ .'
  Index: rpm/rpmio/librpmio.vers
  
  $ cvs diff -u -r2.25 -r2.26 librpmio.vers
  --- rpm/rpmio/librpmio.vers   5 Dec 2007 03:59:27 -   2.25
  +++ rpm/rpmio/librpmio.vers   5 Dec 2007 17:55:36 -   2.26
  @@ -218,6 +218,7 @@
   rpmExpand;
   rpmExpandNumeric;
   rpmFreeMacros;
  +rpmgcImplVecs;
   rpmGenPath;
   rpmGetMacroEntries;
   rpmGetPath;
  @@ -297,6 +298,7 @@
   rpmsqThread;
   rpmsqThreadEqual;
   rpmsqWait;
  +rpmsslImplVecs;
   rpmswAdd;
   rpmswDiff;
   rpmswEnter;
  @@ .
  patch -p0 '@@ .'
  Index: rpm/rpmio/rpmgc.c
  
  $ cvs diff -u -r0 -r2.1 rpmgc.c
  --- /dev/null 2007-12-05 18:55:00 +0100
  +++ rpmgc.c   2007-12-05 18:55:36 +0100
  @@ -0,0 +1,212 @@
  +/** \ingroup rpmpgp
  + * \file rpmio/rpmgc.c
  + */
  +
  +#include system.h
  +#include rpmio.h
  +#define  _RPMGC_INTERNAL
  +#define  _RPMPGP_INTERNAL
  +#include rpmgc.h
  +#include debug.h
  +
  +/[EMAIL PROTECTED] pgpDig @*/
  +/[EMAIL PROTECTED] pgpDigParams @*/
  +
  +/[EMAIL PROTECTED]@*/
  +/[EMAIL PROTECTED]@*/
  +extern int _pgp_debug;
  +
  +/[EMAIL PROTECTED]@*/
  +extern int _pgp_print;
  +/[EMAIL PROTECTED]@*/
  +
  +static
  +int rpmgcSetRSA(/[EMAIL PROTECTED]@*/ DIGEST_CTX ctx, pgpDig dig, 
pgpDigParams sigp)
  + /[EMAIL PROTECTED] ctx, dig @*/
  +{
  +rpmgc gc = dig-impl;
  +unsigned int nbits = 0;  /* WRONG */
  +unsigned int nb = (nbits + 7)  3;
  +const char * prefix;
  +const char * hexstr;
  +const char * s;
  +uint8_t signhash16[2];
  +char * tt;
  +int xx;
  +
  +/* XXX Values from PKCS#1 v2.1 (aka RFC-3447) */
  +switch (sigp-hash_algo) {
  +case PGPHASHALGO_MD5:
  + prefix = 3020300c06082a864886f70d020505000410;
  + break;
  +case PGPHASHALGO_SHA1:
  + prefix = 3021300906052b0e03021a05000414;
  + break;
  +case PGPHASHALGO_RIPEMD160:
  + prefix = 3021300906052b2403020105000414;
  + break;
  +case PGPHASHALGO_MD2:
  + prefix = 3020300c06082a864886f70d020205000410;
  + break;
  +case PGPHASHALGO_TIGER192:
  + prefix = 3029300d06092b06010401da470c0205000418;
  + break;
  +case PGPHASHALGO_HAVAL_5_160:
  + prefix = NULL;
  + break;
  +case PGPHASHALGO_SHA256:
  + 

[CVS] RPM: rpm/rpmdb/ rpmtag.h

2007-12-05 Thread Jeff Johnson
  RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  

  Server: rpm5.org Name:   Jeff Johnson
  Root:   /v/rpm/cvs   Email:  [EMAIL PROTECTED]
  Module: rpm  Date:   05-Dec-2007 12:57:18
  Branch: HEAD Handle: 2007120511571800

  Modified files:
rpm/rpmdb   rpmtag.h

  Log:
- add placeholder for Class: and tags for %track vcheck(1) section.

  Summary:
RevisionChanges Path
1.24+3  -0  rpm/rpmdb/rpmtag.h
  

  patch -p0 '@@ .'
  Index: rpm/rpmdb/rpmtag.h
  
  $ cvs diff -u -r1.23 -r1.24 rpmtag.h
  --- rpm/rpmdb/rpmtag.h4 Dec 2007 21:02:50 -   1.23
  +++ rpm/rpmdb/rpmtag.h5 Dec 2007 11:57:18 -   1.24
  @@ -404,6 +404,9 @@
   RPMTAG_RPMLIBVERSION = 1199, /* i */
   RPMTAG_RPMLIBTIMESTAMP   = 1200, /* i */
   RPMTAG_RPMLIBVENDOR  = 1201, /* i */
  +RPMTAG_CLASS = 1202, /* s (OpenPKG Class: placeholder) */
  +RPMTAG_TRACK = 1203, /* s (OpenPKG %track) */
  +RPMTAG_TRACKPROG = 1204, /* s */
   
   /[EMAIL PROTECTED]@*/
   RPMTAG_FIRSTFREE_TAG /*! internal */
  @@ .
__
RPM Package Managerhttp://rpm5.org
CVS Sources Repositoryrpm-cvs@rpm5.org


[CVS] RPM: rpm/ CHANGES devtool.conf

2007-12-05 Thread Ralf S. Engelschall
  RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  

  Server: rpm5.org Name:   Ralf S. Engelschall
  Root:   /v/rpm/cvs   Email:  [EMAIL PROTECTED]
  Module: rpm  Date:   05-Dec-2007 10:53:17
  Branch: HEAD Handle: 2007120509531700

  Modified files:
rpm CHANGES devtool.conf

  Log:
add XAR support to devtool standalone

  Summary:
RevisionChanges Path
1.1941  +1  -0  rpm/CHANGES
2.139   +55 -4  rpm/devtool.conf
  

  patch -p0 '@@ .'
  Index: rpm/CHANGES
  
  $ cvs diff -u -r1.1940 -r1.1941 CHANGES
  --- rpm/CHANGES   5 Dec 2007 03:59:26 -   1.1940
  +++ rpm/CHANGES   5 Dec 2007 09:53:17 -   1.1941
  @@ -1,4 +1,5 @@
   5.0a4 - 5.0b1:
  +- rse: add XAR support to devtool standalone
   - jbj: fix: s/RPM_/RPMLIB_/ in rpmversion.h.in. That should stick now.
   - rpm.org: credit for the original NSS hacks.
   - jbj: no-brainer AutoFu for WITH_NSS enabling, add rpmnss.[ch] to rpmio.
  @@ .
  patch -p0 '@@ .'
  Index: rpm/devtool.conf
  
  $ cvs diff -u -r2.138 -r2.139 devtool.conf
  --- rpm/devtool.conf  5 Dec 2007 08:36:21 -   2.138
  +++ rpm/devtool.conf  5 Dec 2007 09:53:17 -   2.139
  @@ -219,6 +219,8 @@
   v_lua=5.1.2
   v_file=4.21
   v_popt=1.12
  +v_libxml2=2.6.30
  +v_xar=1.5.1
   v_config=20071205
   
   #   third-party distribution files
  @@ -239,6 +241,8 @@
   dist=${dist} 
lua-${v_lua}.tar.gz,http://rpm5.org/files/3rd/,http://www.lua.org/ftp/;
   dist=${dist} 
file-${v_file}.tar.gz,http://rpm5.org/files/3rd/,ftp://ftp.astron.com/pub/file/;
   dist=${dist} 
popt-${v_popt}.tar.gz,http://rpm5.org/files/3rd/,http://rpm5.org/files/popt/;
  +dist=${dist} 
libxml2-${v_libxml2}.tar.gz,http://rpm5.org/files/3rd/,ftp://xmlsoft.org/libxml2/;
  +dist=${dist} 
xar-${v_xar}.tar.gz,http://rpm5.org/files/3rd/,http://xar.googlecode.com/files/;
   
   #   third-party distribution patches (for portability and bugfix 
reasons only)
   dist=${dist} 
automake-${v_automake}.patch,http://rpm5.org/files/3rd/;
  @@ -250,6 +254,8 @@
   dist=${dist} lua-${v_lua}.patch,http://rpm5.org/files/3rd/;
   dist=${dist} file-${v_file}.patch,http://rpm5.org/files/3rd/;
   dist=${dist} popt-${v_popt}.patch,http://rpm5.org/files/3rd/;
  +dist=${dist} libxml2-${v_libxml2}.patch,http://rpm5.org/files/3rd/;
  +dist=${dist} xar-${v_xar}.patch,http://rpm5.org/files/3rd/;
   dist=${dist} config.guess-${v_config},http://rpm5.org/files/3rd/;
   dist=${dist} config.sub-${v_config},http://rpm5.org/files/3rd/;
   }
  @@ -756,6 +762,48 @@
   ) || exit $?
   ) || exit $?
   fi
  +
  +#   LibXML2 (uninstalled third-party library)
  +if [ ! -d $base3rd/bin/$platform/libxml2-${v_libxml2} ]; then
  +echo ++ building third-party library libxml2-${v_libxml2}
  +(   cd $base3rd/bin/$platform
  +rm -rf libxml2-${v_libxml2}
  +$gzip -d -c ../../src/libxml2-${v_libxml2}.tar.gz | $tar xf -
  +$SHTOOL subst \
  +-e '/LINENO: error: C[+]* 
preprocessor/{N;N;N;N;s/.*/:/;}' \
  +configure
  +(   cd libxml2-${v_libxml2}
  +$patch -p0 ../../../src/libxml2-${v_libxml2}.patch
  +CC=$cc \
  +./configure \
  +--without-iconv \
  +--disable-shared \
  +--disable-corba \
  +--without-threads \
  +--without-python
  +make
  +) || exit $?
  +) || exit $?
  +fi
  +
  +#   XAR (uninstalled third-party library)
  +if [ ! -d $base3rd/bin/$platform/xar-${v_xar} ]; then
  +echo ++ building third-party library xar-${v_xar}
  +(   cd $base3rd/bin/$platform
  +rm -rf xar-${v_xar}
  +$gzip -d -c ../../src/xar-${v_xar}.tar.gz | $tar xf -
  +(   cd xar-${v_xar}
  +$patch -p0 ../../../src/xar-${v_xar}.patch
  +CC=$cc \
  +CPPFLAGS=-I`pwd`/../openssl-${v_openssl}/include 
-I`pwd`/../zlib-${v_zlib} -I`pwd`/../libxml2-${v_libxml2}/include \
  +LDFLAGS=-L`pwd`/../openssl-${v_openssl}/lib 
-L`pwd`/../zlib-${v_zlib} -L`pwd

[CVS] RPM: rpm/ INSTALL configure.ac

2007-12-05 Thread Ralf S. Engelschall
  RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  

  Server: rpm5.org Name:   Ralf S. Engelschall
  Root:   /v/rpm/cvs   Email:  [EMAIL PROTECTED]
  Module: rpm  Date:   05-Dec-2007 09:16:52
  Branch: HEAD Handle: 2007120508165101

  Modified files:
rpm INSTALL configure.ac

  Log:
add hint to Mozilla NSS to INSTALL document and improve Autoconf check
(accept also libnss as fallback and do not search for Fedora-specific
nss3/ subdir -- the code just includes nss.h anyway)

  Summary:
RevisionChanges Path
2.63+1  -0  rpm/INSTALL
2.260   +3  -3  rpm/configure.ac
  

  patch -p0 '@@ .'
  Index: rpm/INSTALL
  
  $ cvs diff -u -r2.62 -r2.63 INSTALL
  --- rpm/INSTALL   1 Dec 2007 11:22:50 -   2.62
  +++ rpm/INSTALL   5 Dec 2007 08:16:51 -   2.63
  @@ -30,6 +30,7 @@
   Perlmandatory 5.8.0   5.8.8   http://www.perl.com/
   POPTmandatory 1.9 1.12http://rpm5.org/files/popt/
   BeeCryptmandatory 4.0 4.1.2   
http://www.virtualunlimited.com/products/beecrypt/
  +Mozilla NSS optional  3.113.11.7  
http://www.mozilla.org/projects/security/pki/nss/
   Neonoptional  0.26.0  0.27.2  http://www.webdav.org/neon/
   Berkeley-DB [1] optional  4.5 4.6.21  
http://www.oracle.com/database/berkeley-db.html
   SQLite  [1] optional  3.3 3.5.2   http://www.sqlite.org/
  @@ .
  patch -p0 '@@ .'
  Index: rpm/configure.ac
  
  $ cvs diff -u -r2.259 -r2.260 configure.ac
  --- rpm/configure.ac  5 Dec 2007 03:59:26 -   2.259
  +++ rpm/configure.ac  5 Dec 2007 08:16:52 -   2.260
  @@ -912,10 +912,10 @@
   [yes,external], [beecrypt],
   [], [ AC_MSG_ERROR([mandatory BeeCrypt library not found]) ])
   
  -dnl # NSS
  +dnl # Mozilla NSS
   RPM_CHECK_LIB(
  -[NSS], [nss],
  -[nss3], [NSS_NoDB_Init], [nss3/nss.h],
  +[Mozilla NSS], [nss],
  +[nss3 nss], [NSS_NoDB_Init], [nss.h],
   [no,external], [],
   [], [])
   
  @@ .
__
RPM Package Managerhttp://rpm5.org
CVS Sources Repositoryrpm-cvs@rpm5.org


[CVS] RPM: rpm/rpmio/ rpmnss.c

2007-12-05 Thread Anders F. Bj�rklund
  RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  

  Server: rpm5.org Name:   Anders F. Björklund
  Root:   /v/rpm/cvs   Email:  [EMAIL PROTECTED]
  Module: rpm  Date:   05-Dec-2007 09:48:59
  Branch: HEAD Handle: 2007120508485900

  Modified files:
rpm/rpmio   rpmnss.c

  Log:
don't include rpmnss.h twice

  Summary:
RevisionChanges Path
1.8 +3  -1  rpm/rpmio/rpmnss.c
  

  patch -p0 '@@ .'
  Index: rpm/rpmio/rpmnss.c
  
  $ cvs diff -u -r1.7 -r1.8 rpmnss.c
  --- rpm/rpmio/rpmnss.c5 Dec 2007 08:29:01 -   1.7
  +++ rpm/rpmio/rpmnss.c5 Dec 2007 08:48:59 -   1.8
  @@ -4,7 +4,6 @@
   
   #include system.h
   #include rpmio.h
  -#include rpmnss.h
   
   #if defined(__LCLINT__)
   #define  __i386__
  @@ -14,6 +13,9 @@
   #define  _RPMNSS_INTERNAL
   #define  _RPMPGP_INTERNAL
   #include rpmnss.h
  +#else
  +/* need DIGEST_CTX */
  +#include rpmpgp.h
   #endif
   
   #include debug.h
  @@ .
__
RPM Package Managerhttp://rpm5.org
CVS Sources Repositoryrpm-cvs@rpm5.org


[CVS] RPM: rpm/ CHANGES rpm/rpmio/ rpmgc.c rpmgc.h rpmssl.c tkey.c

2007-12-05 Thread Jeff Johnson
  RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  

  Server: rpm5.org Name:   Jeff Johnson
  Root:   /v/rpm/cvs   Email:  [EMAIL PROTECTED]
  Module: rpm  Date:   06-Dec-2007 01:40:33
  Branch: HEAD Handle: 2007120600403200

  Modified files:
rpm CHANGES
rpm/rpmio   rpmgc.c rpmgc.h rpmssl.c tkey.c

  Log:
- jbj: flesh out rpmgc implementation. stil buggy ...

  Summary:
RevisionChanges Path
1.1943  +1  -0  rpm/CHANGES
2.2 +180 -9 rpm/rpmio/rpmgc.c
2.2 +18 -1  rpm/rpmio/rpmgc.h
2.2 +3  -9  rpm/rpmio/rpmssl.c
2.23+10 -2  rpm/rpmio/tkey.c
  

  patch -p0 '@@ .'
  Index: rpm/CHANGES
  
  $ cvs diff -u -r1.1942 -r1.1943 CHANGES
  --- rpm/CHANGES   5 Dec 2007 17:55:35 -   1.1942
  +++ rpm/CHANGES   6 Dec 2007 00:40:32 -   1.1943
  @@ -1,4 +1,5 @@
   5.0a4 - 5.0b1:
  +- jbj: flesh out rpmgc implementation. stil buggy ...
   - jbj: stub in rpmgc/rpmssl for gcrypt  openssl signature verification.
   - rse: add XAR support to devtool standalone
   - jbj: fix: s/RPM_/RPMLIB_/ in rpmversion.h.in. That should stick now.
  @@ .
  patch -p0 '@@ .'
  Index: rpm/rpmio/rpmgc.c
  
  $ cvs diff -u -r2.1 -r2.2 rpmgc.c
  --- rpm/rpmio/rpmgc.c 5 Dec 2007 17:55:36 -   2.1
  +++ rpm/rpmio/rpmgc.c 6 Dec 2007 00:40:32 -   2.2
  @@ -21,17 +21,49 @@
   /[EMAIL PROTECTED]@*/
   
   static
  +void rpmgcDump(const char * msg, gcry_sexp_t sexp)
  +{
  +char buf[BUFSIZ];
  +size_t nb;
  +
  +nb = gcry_sexp_sprint(sexp, GCRYSEXP_FMT_ADVANCED, buf, sizeof(buf));
  +if (_pgp_debug)
  +fprintf(stderr, == %s:\n%s, msg, buf);
  +return;
  +}
  +
  +/**
  + * Convert hex to binary nibble.
  + * @param chex character
  + * @return binary nibble
  + */
  +static
  +unsigned char nibble(char c)
  + /[EMAIL PROTECTED]/
  +{
  +if (c = '0'  c = '9')
  + return (unsigned char) (c - '0');
  +if (c = 'A'  c = 'F')
  + return (unsigned char)((int)(c - 'A') + 10);
  +if (c = 'a'  c = 'f')
  + return (unsigned char)((int)(c - 'a') + 10);
  +return (unsigned char) '\0';
  +}
  +
  +static
   int rpmgcSetRSA(/[EMAIL PROTECTED]@*/ DIGEST_CTX ctx, pgpDig dig, 
pgpDigParams sigp)
/[EMAIL PROTECTED] ctx, dig @*/
   {
   rpmgc gc = dig-impl;
  -unsigned int nbits = 0;  /* WRONG */
  +unsigned int nbits = gcry_mpi_get_nbits(gc-c);
   unsigned int nb = (nbits + 7)  3;
   const char * prefix;
   const char * hexstr;
   const char * s;
   uint8_t signhash16[2];
   char * tt;
  +gcry_mpi_t c = NULL;
  +gcry_error_t rc;
   int xx;
   
   /* XXX Values from PKCS#1 v2.1 (aka RFC-3447) */
  @@ -82,6 +114,12 @@
   
   /* Set RSA hash. */
   /[EMAIL PROTECTED] -noeffectuncon @*/
  +xx = gcry_mpi_scan(c, GCRYMPI_FMT_HEX, hexstr, strlen(hexstr), NULL);
  +rc = gcry_sexp_build(gc-hash, NULL,
  + (data (flags pkcs1) (hash %s %m)),
  + gcry_pk_algo_name(sigp-hash_algo), c);
  +gcry_mpi_release(c);
  +rpmgcDump(gc-hash, gc-hash);
   /[EMAIL PROTECTED] =noeffectuncon @*/
   
   hexstr = _free(hexstr);
  @@ -92,7 +130,8 @@
   signhash16[0] = (uint8_t) (nibble(s[0])  4) | nibble(s[1]);
   signhash16[1] = (uint8_t) (nibble(s[2])  4) | nibble(s[3]);
   /[EMAIL PROTECTED]@*/
  -return memcmp(signhash16, sigp-signhash16, sizeof(signhash16));
  +
  +return memcmp(signhash16, sigp-signhash16, sizeof(sigp-signhash16));
   }
   
   static
  @@ -100,13 +139,33 @@
/[EMAIL PROTECTED]/
   {
   rpmgc gc = dig-impl;
  -int rc;
  +gcry_error_t rc;
  +
  +/[EMAIL PROTECTED]@*/
  +rc = gcry_sexp_build(gc-sig, NULL,
  + (sig-val (RSA (s %m))),
  +  gc-c);
  +/[EMAIL PROTECTED]@*/
  +if (_pgp_debug)
  +rpmgcDump(gc-sig, gc-sig);
  +/[EMAIL PROTECTED]@*/
  +rc = gcry_sexp_build(gc-pkey, NULL,
  + (public-key (RSA (n %m) (e %m))),
  + gc-n, gc-e);
  +/[EMAIL PROTECTED]@*/
  +if (_pgp_debug)
  +rpmgcDump(gc-pkey, gc-pkey);
   
   /* Verify RSA signature. */
   /[EMAIL PROTECTED]@*/
  +rc = gcry_pk_verify (gc-sig, gc-hash, gc-pkey);
   /[EMAIL PROTECTED]@*/
   
  -return rc;
  +gcry_sexp_release(gc-pkey); gc-pkey = NULL;
  +gcry_sexp_release(gc-hash); gc-hash = NULL;
  +gcry_sexp_release(gc-sig);  gc-sig = NULL;
  +
  +return (rc ? 0 : 1);
   }
   
   static
  @@ -114,17 +173,22 @@

[CVS] RPM: rpm/ CHANGES rpm/rpmio/ rpmgc.c rpmgc.h rpmssl.c rpmssl.h t...

2007-12-05 Thread Jeff Johnson
  RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  

  Server: rpm5.org Name:   Jeff Johnson
  Root:   /v/rpm/cvs   Email:  [EMAIL PROTECTED]
  Module: rpm  Date:   06-Dec-2007 02:50:49
  Branch: HEAD Handle: 2007120601504800

  Modified files:
rpm CHANGES
rpm/rpmio   rpmgc.c rpmgc.h rpmssl.c rpmssl.h tkey.c

  Log:
- jbj: flesh out rpmssl implementation. DSA seems OK, no clue RSA yet.

  Summary:
RevisionChanges Path
1.1944  +1  -0  rpm/CHANGES
2.3 +1  -1  rpm/rpmio/rpmgc.c
2.3 +0  -1  rpm/rpmio/rpmgc.h
2.3 +45 -8  rpm/rpmio/rpmssl.c
2.2 +9  -2  rpm/rpmio/rpmssl.h
2.24+1  -1  rpm/rpmio/tkey.c
  

  patch -p0 '@@ .'
  Index: rpm/CHANGES
  
  $ cvs diff -u -r1.1943 -r1.1944 CHANGES
  --- rpm/CHANGES   6 Dec 2007 00:40:32 -   1.1943
  +++ rpm/CHANGES   6 Dec 2007 01:50:48 -   1.1944
  @@ -1,4 +1,5 @@
   5.0a4 - 5.0b1:
  +- jbj: flesh out rpmssl implementation. DSA seems OK, no clue RSA yet.
   - jbj: flesh out rpmgc implementation. stil buggy ...
   - jbj: stub in rpmgc/rpmssl for gcrypt  openssl signature verification.
   - rse: add XAR support to devtool standalone
  @@ .
  patch -p0 '@@ .'
  Index: rpm/rpmio/rpmgc.c
  
  $ cvs diff -u -r2.2 -r2.3 rpmgc.c
  --- rpm/rpmio/rpmgc.c 6 Dec 2007 00:40:32 -   2.2
  +++ rpm/rpmio/rpmgc.c 6 Dec 2007 01:50:48 -   2.3
  @@ -119,6 +119,7 @@
(data (flags pkcs1) (hash %s %m)),
gcry_pk_algo_name(sigp-hash_algo), c);
   gcry_mpi_release(c);
  +if (_pgp_debug)
   rpmgcDump(gc-hash, gc-hash);
   /[EMAIL PROTECTED] =noeffectuncon @*/
   
  @@ -130,7 +131,6 @@
   signhash16[0] = (uint8_t) (nibble(s[0])  4) | nibble(s[1]);
   signhash16[1] = (uint8_t) (nibble(s[2])  4) | nibble(s[3]);
   /[EMAIL PROTECTED]@*/
  -
   return memcmp(signhash16, sigp-signhash16, sizeof(sigp-signhash16));
   }
   
  @@ .
  patch -p0 '@@ .'
  Index: rpm/rpmio/rpmgc.h
  
  $ cvs diff -u -r2.2 -r2.3 rpmgc.h
  --- rpm/rpmio/rpmgc.h 6 Dec 2007 00:40:32 -   2.2
  +++ rpm/rpmio/rpmgc.h 6 Dec 2007 01:50:48 -   2.3
  @@ -38,7 +38,6 @@
   gcry_mpi_t hm;
   
   /* RSA parameters. */
  -gcry_mpi_t md;
   gcry_mpi_t n;
   gcry_mpi_t e;
   gcry_mpi_t c;
  @@ .
  patch -p0 '@@ .'
  Index: rpm/rpmio/rpmssl.c
  
  $ cvs diff -u -r2.2 -r2.3 rpmssl.c
  --- rpm/rpmio/rpmssl.c6 Dec 2007 00:40:32 -   2.2
  +++ rpm/rpmio/rpmssl.c6 Dec 2007 01:50:48 -   2.3
  @@ -27,7 +27,7 @@
/[EMAIL PROTECTED] ctx, dig @*/
   {
   rpmssl ssl = dig-impl;
  -unsigned int nbits = 0;  /* WRONG */
  +unsigned int nbits = 0;  /* WRONG WRONG WRONG */
   unsigned int nb = (nbits + 7)  3;
   const char * prefix;
   const char * hexstr;
  @@ -97,10 +97,13 @@
/[EMAIL PROTECTED]/
   {
   rpmssl ssl = dig-impl;
  -int rc;
  +int rc = 0;
   
   /* Verify RSA signature. */
   /[EMAIL PROTECTED]@*/
  +#if 0
  +rc = RSA_verify(type, m, m_len, sigbuf, siglen, ssl-rsa)
  +#endif
   /[EMAIL PROTECTED]@*/
   
   return rc;
  @@ -110,14 +113,10 @@
   int rpmsslSetDSA(/[EMAIL PROTECTED]@*/ DIGEST_CTX ctx, pgpDig dig, 
pgpDigParams sigp)
/[EMAIL PROTECTED] ctx, dig @*/
   {
  -rpmssl ssl = dig-impl;
   int xx;
   
  -xx = rpmDigestFinal(ctx, (void **)dig-sha1, dig-sha1len, 1);
  -
  -   /* Set DSA hash. */
  -/[EMAIL PROTECTED] -noeffectuncon @*/
  -/[EMAIL PROTECTED] =noeffectuncon @*/
  +/* Set DSA hash. */
  +xx = rpmDigestFinal(ctx, (void **)dig-sha1, dig-sha1len, 0);
   
   /* Compare leading 16 bits of digest for quick check. */
   return memcmp(dig-sha1, sigp-signhash16, sizeof(sigp-signhash16));
  @@ -132,6 +131,7 @@
   
   /* Verify DSA signature. */
   /[EMAIL PROTECTED]@*/
  +rc = (DSA_do_verify(dig-sha1, dig-sha1len, ssl-dsasig, ssl-dsa) == 
1);
   /[EMAIL PROTECTED]@*/
   
   return rc;
  @@ -144,31 +144,51 @@
/[EMAIL PROTECTED] dig, fileSystem @*/
   {
   rpmssl ssl = dig-impl;
  +unsigned int nb = ((pgpMpiBits(p) + 7)  3);
   int rc = 0;
   
  +/[EMAIL PROTECTED]@*/
   switch (itemno) {
   default:
   assert(0);
break;
   case 10: /* RSA m**d */
  + ssl-c = BN_bin2bn(p+2, nb, ssl-c);
break;