- drop rpmio/base64.[ch] in favor of beecrypt versions.

CVS patchset: 5079
CVS date: 2001/09/25 14:03:27
This commit is contained in:
jbj 2001-09-25 14:03:27 +00:00
parent 85d220be23
commit 2a420b223d
44 changed files with 149 additions and 281 deletions

View File

@ -1,5 +1,6 @@
4.0.3 -> 4.1:
- loosely wire beecrypt library into rpm.
- drop rpmio/base64.[ch] in favor of beecrypt versions.
4.0.3 -> 4.0.4:

View File

@ -410,8 +410,6 @@ INPUT = \
@top_srcdir@/rpmdb/rpmhash.h \
@top_srcdir@/rpmdb/rpmdb.c \
@top_srcdir@/rpmdb/rpmdb.h \
@top_srcdir@/rpmio/base64.c \
@top_srcdir@/rpmio/base64.h \
@top_srcdir@/rpmio/digest.c \
@top_srcdir@/rpmio/macro.c \
@top_srcdir@/rpmio/rpmlog.c \

View File

@ -60,7 +60,6 @@ rpmdb/fprint.c
rpmdb/poptDB.c
rpmdb/rpmhash.c
rpmdb/rpmdb.c
rpmio/base64.c
rpmio/digest.c
rpmio/macro.c
rpmio/rpmio.c

View File

@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: rpm 4.0.3\n"
"POT-Creation-Date: 2001-09-24 20:14-0400\n"
"POT-Creation-Date: 2001-09-25 00:01-0400\n"
"PO-Revision-Date: 2001-07-24 10:02+0100\n"
"Last-Translator: Milan Kerslager <kerslage@linux.cz>\n"
"Language-Team: Czech <cs@li.org>\n"

View File

@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: rpm 4.0.3\n"
"POT-Creation-Date: 2001-09-24 20:14-0400\n"
"POT-Creation-Date: 2001-09-25 00:01-0400\n"
"PO-Revision-Date: 2001-04-05 23:03GMT\n"
"Last-Translator: Claus Hindsgaul <claus_h@image.dk>\n"
"Language-Team: Danish <dansk@klid.dk>\n"

View File

@ -37,7 +37,7 @@
msgid ""
msgstr ""
"Project-Id-Version: rpm 4.0.3\n"
"POT-Creation-Date: 2001-09-24 20:14-0400\n"
"POT-Creation-Date: 2001-09-25 00:01-0400\n"
"PO-Revision-Date: 1998-08-03 18:02+02:00\n"
"Last-Translator: Karl Eichwalder <ke@SuSE.DE>\n"
"Language-Team: German <de@li.org>\n"

View File

@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: rpm 4.0.3\n"
"POT-Creation-Date: 2001-09-24 20:14-0400\n"
"POT-Creation-Date: 2001-09-25 00:01-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"

View File

@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: rpm 4.0.3\n"
"POT-Creation-Date: 2001-09-24 20:14-0400\n"
"POT-Creation-Date: 2001-09-25 00:01-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"

View File

@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: rpm 4.0.3\n"
"POT-Creation-Date: 2001-09-24 20:14-0400\n"
"POT-Creation-Date: 2001-09-25 00:01-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"

View File

@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: rpm 4.0.3\n"
"POT-Creation-Date: 2001-09-24 20:14-0400\n"
"POT-Creation-Date: 2001-09-25 00:01-0400\n"
"Last-Translator: Raimo Koski <rkoski@pp.weppi.fi>\n"
"Language-Team: Finnish <linux@sot.com>\n"
"Content-Type: text/plain; charset=\n"

View File

@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: rpm 4.0.3\n"
"POT-Creation-Date: 2001-09-24 20:14-0400\n"
"POT-Creation-Date: 2001-09-25 00:01-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"

View File

@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: rpm 4.0.1\n"
"POT-Creation-Date: 2001-09-24 20:14-0400\n"
"POT-Creation-Date: 2001-09-25 00:01-0400\n"
"PO-Revision-Date: 2001-01-13 22:31+0100\n"
"Last-Translator: Jesús Bravo Álvarez <jba@pobox.com>\n"
"Language-Team: Galician <trasno@ceu.fi.udc.es>\n"

View File

@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: rpm 4.0.3\n"
"POT-Creation-Date: 2001-09-24 20:14-0400\n"
"POT-Creation-Date: 2001-09-25 00:01-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"

View File

@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: rpm 4.0.3\n"
"POT-Creation-Date: 2001-09-24 20:14-0400\n"
"POT-Creation-Date: 2001-09-25 00:01-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"

View File

@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: rpm 4.0.3\n"
"POT-Creation-Date: 2001-09-24 20:14-0400\n"
"POT-Creation-Date: 2001-09-25 00:01-0400\n"
"PO-Revision-Date: 2001-07-12 13:25+0000\n"
"Last-Translator: Richard Allen <ra@hp.is>\n"
"Language-Team: is <kde-isl@mmedia.is>\n"

View File

@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: rpm 4.0.3\n"
"POT-Creation-Date: 2001-09-24 20:14-0400\n"
"POT-Creation-Date: 2001-09-25 00:01-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"

View File

@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: rpm 4.0.3\n"
"POT-Creation-Date: 2001-09-24 20:14-0400\n"
"POT-Creation-Date: 2001-09-25 00:01-0400\n"
"PO-Revision-Date: 1999-12-01 22:49 +JST\n"
"Last-Translator: Kanda Mitsuru <kanda@nn.iij4u.or.jp>\n"
"Language-Team: JRPM <jrpm@linux.or.jp>\n"
@ -88,7 +88,7 @@ msgstr "
# build root [BuildRoot]
# net share [ネット共有]
# reloate [再配置/移動する]
# $Id: ja.po,v 1.167 2001/09/25 03:03:26 jbj Exp $
# $Id: ja.po,v 1.168 2001/09/25 14:03:30 jbj Exp $
#: rpm.c:227
#, c-format
msgid "rpm: %s\n"

View File

@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: rpm 4.0.3\n"
"POT-Creation-Date: 2001-09-24 20:14-0400\n"
"POT-Creation-Date: 2001-09-25 00:01-0400\n"
"PO-Revision-Date: 2001-09-07 22:03+0900\n"
"Last-Translator: Jong-Hoon Ryu <redhat4u@netian.com>\n"
"Language-Team: GNU Translation project <ko@li.org>\n"

View File

@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: rpm 4.0.3\n"
"POT-Creation-Date: 2001-09-24 20:14-0400\n"
"POT-Creation-Date: 2001-09-25 00:01-0400\n"
"PO-Revision-Date: 2001-06-27 12:24+0200\n"
"Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n"
"Language-Team: Norwegian <no@li.org>\n"

View File

@ -8,7 +8,7 @@
msgid ""
msgstr ""
"Project-Id-Version: rpm 4.0.3\n"
"POT-Creation-Date: 2001-09-24 20:14-0400\n"
"POT-Creation-Date: 2001-09-25 00:01-0400\n"
"PO-Revision-Date: 1999-05-25 17:00+0100\n"
"Last-Translator: Pawe³ Dziekoñski <pdziekonski@mml.ch.pwr.wroc.pl>\n"
"Language-Team: Polish <pl@li.org>\n"

View File

@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: rpm 4.0.3\n"
"POT-Creation-Date: 2001-09-24 20:14-0400\n"
"POT-Creation-Date: 2001-09-25 00:01-0400\n"
"PO-Revision-Date: 2000-06-22 01:13+01:00\n"
"Last-Translator: José Nuno Coelho Sanarra Pires\n"
"Language-Team: pt <kde@poli.org>\n"

View File

@ -4,7 +4,7 @@
msgid ""
msgstr ""
"Project-Id-Version: rpm 4.0.3\n"
"POT-Creation-Date: 2001-09-24 20:14-0400\n"
"POT-Creation-Date: 2001-09-25 00:01-0400\n"
# , c-format
#: build.c:36

View File

@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: rpm 4.0.3\n"
"POT-Creation-Date: 2001-09-24 20:14-0400\n"
"POT-Creation-Date: 2001-09-25 00:01-0400\n"
"PO-Revision-Date: 1999-04-10 12:00+EST\n"
"Last-Translator: Cristian Gafton <gafton@redhat.com>\n"
"Language-Team: Romanian <ro@li.org>\n"

View File

@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2001-09-24 20:14-0400\n"
"POT-Creation-Date: 2001-09-25 00:01-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"

View File

@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: rpm 4.0.3\n"
"POT-Creation-Date: 2001-09-24 20:14-0400\n"
"POT-Creation-Date: 2001-09-25 00:01-0400\n"
"PO-Revision-Date: 2001-08-29 13:55-0400\n"
"Last-Translator: Eugene Kanter <eugene@blackcatlinux.com>\n"
"Language-Team: Black Cat Linux Team <blackcat-support@blackcatlinux.com>\n"

View File

@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: rpm 4.0.3\n"
"POT-Creation-Date: 2001-09-24 20:14-0400\n"
"POT-Creation-Date: 2001-09-25 00:01-0400\n"
"PO-Revision-Date: 1999-04-08 21:37+02:00\n"
"Last-Translator: Stanislav Meduna <stano@eunet.sk>\n"
"Language-Team: Slovak <sk-i18n@rak.isternet.sk>\n"

View File

@ -1,12 +1,12 @@
# -*- mode:po; coding:iso-latin-2; -*- Slovenian messages for Redhat pkg. mngr.
# Copyright (C) 2000 Free Software Foundation, Inc.
# Primo¾ Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 2000.
# $Id: sl.po,v 1.152 2001/09/25 03:03:35 jbj Exp $
# $Id: sl.po,v 1.153 2001/09/25 14:03:32 jbj Exp $
#
msgid ""
msgstr ""
"Project-Id-Version: rpm 4.0.3\n"
"POT-Creation-Date: 2001-09-24 20:14-0400\n"
"POT-Creation-Date: 2001-09-25 00:01-0400\n"
"PO-Revision-Date: 2000-10-08 19:05+0200\n"
"Last-Translator: Grega Fajdiga <gregor.fajdiga@telemach.net>\n"
"Language-Team: Slovenian <sl@li.org>\n"

View File

@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: rpm 4.0.3\n"
"POT-Creation-Date: 2001-09-24 20:14-0400\n"
"POT-Creation-Date: 2001-09-25 00:01-0400\n"
"Content-Type: text/plain; charset=\n"
"Date: 1998-05-02 21:41:47-0400\n"

View File

@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: rpm 4.0.3\n"
"POT-Creation-Date: 2001-09-24 20:14-0400\n"
"POT-Creation-Date: 2001-09-25 00:01-0400\n"
"PO-Revision-Date: 2001-09-12 14:18+0200\n"
"Last-Translator: Göran Uddeborg <goeran@uddeborg.pp.se>\n"
"Language-Team: Swedish <sv@li.org>\n"

View File

@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: rpm 4.0.3\n"
"POT-Creation-Date: 2001-09-24 20:14-0400\n"
"POT-Creation-Date: 2001-09-25 00:01-0400\n"
"PO-Revision-Date: 2001-07-05 08:02+300\n"
"Last-Translator: Nilgun Belma Buguner <nilgun@technologist.com>\n"
"Language-Team: Turkish <tr@li.org>\n"

View File

@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: rpm 4.0.3\n"
"POT-Creation-Date: 2001-09-24 20:14-0400\n"
"POT-Creation-Date: 2001-09-25 00:01-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"

View File

@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: rpm 4.0.3\n"
"POT-Creation-Date: 2001-09-24 20:14-0400\n"
"POT-Creation-Date: 2001-09-25 00:01-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"

View File

@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: rpm 4.0.3\n"
"POT-Creation-Date: 2001-09-24 20:14-0400\n"
"POT-Creation-Date: 2001-09-25 00:01-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"

View File

@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: rpm 4.0.3\n"
"POT-Creation-Date: 2001-09-24 20:14-0400\n"
"POT-Creation-Date: 2001-09-25 00:01-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"

View File

@ -512,3 +512,4 @@ fi
* Mon Sep 24 2001 Jeff Johnson <jbj@redhat.com>
- Start rpm-4.1.
- loosely wire beecrypt library into rpm.
- drop rpmio/base64.[ch] in favor of beecrypt versions.

View File

@ -512,3 +512,4 @@ fi
* Mon Sep 24 2001 Jeff Johnson <jbj@redhat.com>
- Start rpm-4.1.
- loosely wire beecrypt library into rpm.
- drop rpmio/base64.[ch] in favor of beecrypt versions.

View File

@ -1,9 +1,9 @@
.created
.deps
.depend
.created
.libs
Makefile
Makefile.in
.libs
db3lobjs
*.la
*.lo

View File

@ -1,3 +1,4 @@
.created
.deps
.depend
Makefile

View File

@ -2,16 +2,22 @@
AUTOMAKE_OPTIONS = 1.4 foreign
EXTRA_DIST = base64.c tdigest.c tficl.c tkey.c trpmio.c
EXTRA_DIST = tdigest.c tficl.c tkey.c trpmio.c
INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/build -I$(top_srcdir)/lib \
INCLUDES = \
-I$(top_srcdir)/beecrypt \
-I$(top_srcdir) \
-I$(top_srcdir)/build \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/popt @INCPATH@
pkgincdir = $(pkgincludedir)
pkginc_HEADERS = \
rpmio.h rpmurl.h rpmmacro.h rpmlog.h rpmmessages.h rpmerr.h \
ugid.h
noinst_HEADERS = base64.h rpmio_internal.h
noinst_HEADERS = rpmio_internal.h
LIBS += -lrt -lpthread
BEECRYPTLOBJS = $(shell cat $(top_builddir)/beecrypt/listobjs)
@ -52,17 +58,19 @@ lclint:
trpmio.o: trpmio.c
trpmio: librpmio.la trpmio.o
$(LINK) -o $@ trpmio.o librpmio.la $(top_builddir)/popt/libpopt.la
$(LINK) -o $@ trpmio.o librpmio.la $(top_builddir)/popt/libpopt.la $(LIBS)
tkey.o: tkey.c
$(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -o $@ -c tkey.c
tkey: librpmio.la tkey.o
$(LINK) -o $@ tkey.o librpmio.la $(top_builddir)/popt/libpopt.la
$(LINK) -o $@ tkey.o librpmio.la $(top_builddir)/popt/libpopt.la $(LIBS)
tdigest.o: tdigest.c
$(CC) $(DEFS) -I/usr/include/beecrypt $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -o $@ -c tdigest.c
$(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -o $@ -c tdigest.c
tdigest: librpmio.la tdigest.o
$(LINK) @LDFLAGS_STATIC@ -o $@ tdigest.o librpmio.la $(top_builddir)/popt/libpopt.la -lbeecrypt
$(LINK) @LDFLAGS_STATIC@ -o $@ tdigest.o librpmio.la $(top_builddir)/popt/libpopt.la $(LIBS)
tficl.o: tficl.c
$(COMPILE) -I/usr/include/ficl -o $@ -c tficl.c

View File

@ -1,121 +0,0 @@
/** \ingroup signature
* \file rpmio/base64.c
*/
static int _debug = 0;
#include "system.h"
#include "base64.h"
#include "debug.h"
int b64decode (const char * s, void ** datap, size_t *lenp)
{
static /*@only@*/ char * b64dec = NULL;
unsigned char *t, *te;
size_t ns, nt;
unsigned a, b, c, d;
if (s == NULL) return 1;
ns = strlen(s);
if (ns & 0x3) return 2;
if (b64dec == NULL) {
b64dec = xmalloc(255);
memset(b64dec, 0x80, 255);
for (c = 'A'; c <= 'Z'; c++)
b64dec[ c ] = 0 + (c - 'A');
for (c = 'a'; c <= 'z'; c++)
b64dec[ c ] = 26 + (c - 'a');
for (c = '0'; c <= '9'; c++)
b64dec[ c ] = 52 + (c - '0');
b64dec[(unsigned)'+'] = 62;
b64dec[(unsigned)'/'] = 63;
b64dec[(unsigned)'='] = 0;
}
nt = (ns / 4) * 3;
t = te = xmalloc(nt + 1);
while (ns > 0) {
if ((a = b64dec[ (unsigned)*s++ ]) == 0x80)
break;
if ((b = b64dec[ (unsigned)*s++ ]) == 0x80)
break;
if ((c = b64dec[ (unsigned)*s++ ]) == 0x80)
break;
if ((d = b64dec[ (unsigned)*s++ ]) == 0x80)
break;
if (_debug)
fprintf(stderr, "%7u %02x %02x %02x %02x -> %02x %02x %02x\n",
(unsigned)ns, a, b, c, d,
(((a << 2) | (b >> 4)) & 0xff),
(((b << 4) | (c >> 2)) & 0xff),
(((c << 6) | d) & 0xff));
ns -= 4;
*te++ = (a << 2) | (b >> 4);
if (s[-2] == '=') break;
*te++ = (b << 4) | (c >> 2);
if (s[-1] == '=') break;
*te++ = (c << 6) | d;
}
if (ns > 0) {
free(t);
return 3;
}
if (lenp)
*lenp = (te - t);
if (datap)
*datap = t;
else
free(t);
return 0;
}
char * b64encode (const void * str, size_t ns)
{
static char b64enc[] =
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
const unsigned char *s = str;
unsigned char *t, *te;
size_t nt;
unsigned c;
if (s == NULL) return NULL;
if (*s == '\0') return xstrdup("");
if (ns == 0) ns = strlen(s);
nt = ((ns + 2) / 3) * 4;
t = te = xmalloc(nt + 1);
while (ns) {
if (_debug)
fprintf(stderr, "%7u %02x %02x %02x -> %02x %02x %02x %02x\n",
(unsigned)ns, (unsigned)s[0], (unsigned)s[1], (unsigned)s[2],
(unsigned)(s[0] >> 2),
(unsigned)((s[0] & 0x3) << 4) | (s[1] >> 4),
(unsigned)((s[1] & 0xf) << 2) | (s[2] >> 6),
(unsigned)(s[2]& 0x3f));
c = *s++;
*te++ = b64enc[ (c >> 2) ];
*te++ = b64enc[ ((c & 0x3) << 4) | (*s >> 4) ];
if (--ns == 0) {
*te++ = '=';
*te++ = '=';
continue;
}
c = *s++;
*te++ = b64enc[ ((c & 0xf) << 2) | (*s >> 6) ];
if (--ns == 0) {
*te++ = '=';
continue;
}
*te++ = b64enc[ (int)(*s & 0x3f) ];
s++;
--ns;
}
*te = '\0';
return t;
}

View File

@ -1,35 +0,0 @@
#ifndef H_BASE64
#define H_BASE64
/** \ingroup rpmio
* \file rpmio/base64.h
*/
#ifdef __cplusplus
extern "C" {
#endif
/**
* Decode chunks of 4 bytes of base64 input into 3 bytes of binary output.
* @param s base64 string
* @retval datap address of (malloc'd) binary data
* @retval lenp address of no. bytes of binary data
* @return 0 on success
*/
/*@unused@*/
int b64decode (const char * s, /*@out@*/ void ** datap, /*@out@*/ size_t *lenp);
/**
* Encode chunks of 3 bytes of binary input into 4 bytes of base64 output.
* @param data binary data
* @param ns no. bytes of data (0 uses strlen(data))
* @return (malloc'd) base64 string
*/
/*@unused@*/
char * b64encode (const void * data, size_t ns);
#ifdef __cplusplus
}
#endif
#endif /* H_RPMURL */

View File

@ -5,7 +5,6 @@
#include "popt.h"
#ifdef ENABLE_BEECRYPT
#define BEEDLLAPI
typedef unsigned char byte;
#include "beecrypt.h"
#include "md5.h"
#include "fips180.h"

View File

@ -1,14 +1,15 @@
/** \ingroup signature
* \file rpmio/base64.c
/** \ingroup rpmio signature
* \file rpmio/tkey.c
*/
static int _debug = 0;
#include "system.h"
typedef unsigned char byte;
#include "base64.h"
#include "debug.h"
typedef unsigned char byte;
#include <stdio.h>
static inline int grab(const byte *s, int nbytes)
{
@ -614,77 +615,76 @@ static int pr_keypkt(const byte *p)
/* This is the unarmored RPM-GPG-KEY public key. */
const char * gpgsig = "\
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\n\
";
/* This is the unarmored RPM-PGP-KEY public key. */
const char * pgpsig = "\
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\
z15FuA==\
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\n\
z15FuA==\n\
";
int
main (int argc, char *argv[])
static int doit(const char *sig)
{
const char *sig = gpgsig;
const char *s, *t;
unsigned char * dec;
unsigned char * d;
size_t declen;
@ -697,7 +697,7 @@ if (_debug)
fprintf(stderr, "*** sig is\n%s\n", sig);
if ((rc = b64decode(sig, (void **)&dec, &declen)) != 0) {
fprintf(stderr, "*** b64decode returns %d\n", rc);
fprintf(stderr, "*** B64decode returns %d\n", rc);
exit(rc);
}
@ -708,22 +708,37 @@ fprintf(stderr, "*** sig is\n%s\n", sig);
}
if ((enc = b64encode(dec, declen)) == NULL) {
fprintf(stderr, "*** b64encode failed\n");
fprintf(stderr, "*** B64encode returns %d\n", rc);
exit(4);
}
if (_debug)
fprintf(stderr, "*** enc is\n%s\n", enc);
len = strlen(sig);
for (i = 0; i < len; i++) {
if (sig[i] == enc[i]) continue;
fprintf(stderr, "??? %5d %02x %02x\n", i, (sig[i] & 0xff), (enc[i] & 0xff));
rc = 0;
for (i = 0, s = sig, t = enc; *s & *t; i++, s++, t++) {
if (*s == '\n') s++;
if (*t == '\n') t++;
if (*s == *t) continue;
fprintf(stderr, "??? %5d %02x != %02x '%c' != '%c'\n", i, (*s & 0xff), (*t & 0xff), *s, *t);
rc = 5;
}
if (strcmp(sig, enc)) {
fprintf(stderr, "*** BAD\n");
exit(5);
}
return 0;
return rc;
}
int
main (int argc, char *argv[])
{
int rc;
fprintf(stderr, "============================================== RPM-GPG-KEY\n");
if ((rc = doit(gpgsig)) != 0)
return rc;
fprintf(stderr, "============================================== RPM-PGP-KEY\n");
if ((rc = doit(pgpsig)) != 0)
return rc;
return rc;
}

View File

@ -27,7 +27,8 @@ myLDADD = \
$(top_builddir)/popt/libpopt.la \
@INTLLIBS@
LIBS = -lrt -lpthread
LIBS =
#LDFLAGS = $(myLDFLAGS)
LDADD = $(myLDADD)