1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-09-20 14:51:42 +02:00

See ChangeLog: Tue Jun 8 13:36:25 CEST 1999 Werner Koch

This commit is contained in:
Werner Koch 1999-06-08 11:41:46 +00:00
parent 717bce345c
commit 40238d4b63
9 changed files with 72 additions and 15 deletions

View File

@ -293,7 +293,6 @@ verify(MPI r, MPI s, MPI hash, DSA_public_key *pkey )
/* u2 = r * w mod q */ /* u2 = r * w mod q */
mpi_mulm( u2, r, w, pkey->q ); mpi_mulm( u2, r, w, pkey->q );
/* v = g^u1 * y^u2 mod p mod q */ /* v = g^u1 * y^u2 mod p mod q */
base[0] = pkey->g; exp[0] = u1; base[0] = pkey->g; exp[0] = u1;
base[1] = pkey->y; exp[1] = u2; base[1] = pkey->y; exp[1] = u2;

View File

@ -12,6 +12,7 @@ ssb::1536:20:5CE086B5B5A18FF4:1998-07-07:0:::
ssb = secret subkey (secondary key) ssb = secret subkey (secondary key)
uid = user id (only field 10 is used). uid = user id (only field 10 is used).
fpr = fingerprint: (fingerprint is in field 10) fpr = fingerprint: (fingerprint is in field 10)
pkd = public key data (special field format, see below)
2. Field: A letter describing the calculated trust, see doc/FAQ 2. Field: A letter describing the calculated trust, see doc/FAQ
This is a single letter, but be prepared that additional This is a single letter, but be prepared that additional
@ -39,6 +40,13 @@ ssb::1536:20:5CE086B5B5A18FF4:1998-07-07:0:::
More fields may be added later. More fields may be added later.
If field 1 has the tag "pkd", a listing looks like this:
pkd:0:1024:B665B1435F4C2 .... FF26ABB:
! ! !-- the value
! !------ for infomation number of bits in the value
!--------- index (eg. DSA goes from 0 to 3: p,q,g,y)
Format of the "--status-fd" output Format of the "--status-fd" output
================================== ==================================

View File

@ -535,6 +535,9 @@ B<--version>
B<--with-colons> B<--with-colons>
Print key listings delimited by colons. Print key listings delimited by colons.
B<--with-key-data>
Print key listings delimited by colons and print the public key data.
B<--warranty> B<--warranty>
Print warranty information. Print warranty information.

View File

@ -1,3 +1,8 @@
Tue Jun 8 13:36:25 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
* keylist.c (print_key_data): New and called elsewhere.
* g10.c: New option --with-key-data
Wed Jun 2 14:17:19 CEST 1999 Werner Koch <wk@isil.d.shuttle.de> Wed Jun 2 14:17:19 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
* mainproc.c (proc_tree): Yet another bad hack to cope with * mainproc.c (proc_tree): Yet another bad hack to cope with

View File

@ -136,6 +136,7 @@ enum cmd_and_opt_values { aNull = 0,
oNoBatch, oNoBatch,
oHomedir, oHomedir,
oWithColons, oWithColons,
oWithKeyData,
oSkipVerify, oSkipVerify,
oCompressKeys, oCompressKeys,
oCompressSigs, oCompressSigs,
@ -285,6 +286,7 @@ static ARGPARSE_OPTS opts[] = {
{ oHomedir, "homedir", 2, "@" }, /* defaults to "~/.gnupg" */ { oHomedir, "homedir", 2, "@" }, /* defaults to "~/.gnupg" */
{ oNoBatch, "no-batch", 0, "@" }, { oNoBatch, "no-batch", 0, "@" },
{ oWithColons, "with-colons", 0, "@"}, { oWithColons, "with-colons", 0, "@"},
{ oWithKeyData,"with-key-data", 0, "@"},
{ aListKeys, "list-key", 0, "@" }, /* alias */ { aListKeys, "list-key", 0, "@" }, /* alias */
{ aListSigs, "list-sig", 0, "@" }, /* alias */ { aListSigs, "list-sig", 0, "@" }, /* alias */
{ aCheckKeys, "check-sig",0, "@" }, /* alias */ { aCheckKeys, "check-sig",0, "@" }, /* alias */
@ -693,6 +695,7 @@ main( int argc, char **argv )
case oNoOptions: break; /* no-options */ case oNoOptions: break; /* no-options */
case oHomedir: opt.homedir = pargs.r.ret_str; break; case oHomedir: opt.homedir = pargs.r.ret_str; break;
case oNoBatch: opt.batch = 0; break; case oNoBatch: opt.batch = 0; break;
case oWithKeyData: opt.with_key_data=1; /* fall thru */
case oWithColons: opt.with_colons=':'; break; case oWithColons: opt.with_colons=':'; break;
case oSkipVerify: opt.skip_verify=1; break; case oSkipVerify: opt.skip_verify=1; break;

View File

@ -152,6 +152,20 @@ list_one( STRLIST names, int secret )
} }
} }
static void
print_key_data( PKT_public_key *pk, u32 *keyid )
{
int n = pubkey_get_npkey( pk->pubkey_algo );
int i;
for(i=0; i < n; i++ ) {
printf("pkd:%d:%u:", i, mpi_get_nbits( pk->pkey[i] ) );
mpi_print(stdout, pk->pkey[i], 1 );
putchar(':');
putchar('\n');
}
}
static void static void
list_keyblock( KBNODE keyblock, int secret ) list_keyblock( KBNODE keyblock, int secret )
@ -249,6 +263,8 @@ list_keyblock( KBNODE keyblock, int secret )
if( !any ) { if( !any ) {
if( opt.fingerprint ) if( opt.fingerprint )
fingerprint( pk, sk ); fingerprint( pk, sk );
if( opt.with_key_data )
print_key_data( pk, keyid );
any = 1; any = 1;
} }
} }
@ -289,6 +305,8 @@ list_keyblock( KBNODE keyblock, int secret )
datestr_from_pk( pk2 ) ); datestr_from_pk( pk2 ) );
if( opt.fingerprint > 1 ) if( opt.fingerprint > 1 )
fingerprint( pk2, NULL ); fingerprint( pk2, NULL );
if( opt.with_key_data )
print_key_data( pk2, keyid2 );
} }
else if( node->pkt->pkttype == PKT_SECRET_SUBKEY ) { else if( node->pkt->pkttype == PKT_SECRET_SUBKEY ) {
u32 keyid2[2]; u32 keyid2[2];

View File

@ -39,6 +39,7 @@ struct {
int answer_no; /* answer no on most questions */ int answer_no; /* answer no on most questions */
int check_sigs; /* check key signatures */ int check_sigs; /* check key signatures */
int with_colons; int with_colons;
int with_key_data;
int fingerprint; /* list fingerprints */ int fingerprint; /* list fingerprints */
int list_sigs; /* list signatures */ int list_sigs; /* list signatures */
int no_armor; int no_armor;

View File

@ -1,3 +1,8 @@
Tue Jun 8 13:36:25 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
* mpicalc.c (main): hex digits may now be lowercase
(do_mulm): new.
Thu Dec 10 20:15:36 CET 1998 Werner Koch <wk@isil.d.shuttle.de> Thu Dec 10 20:15:36 CET 1998 Werner Koch <wk@isil.d.shuttle.de>
* mpicalc.c (main): Moved initialization out of definition. * mpicalc.c (main): Moved initialization out of definition.

View File

@ -130,6 +130,18 @@ do_mul(void)
stackidx--; stackidx--;
} }
static void
do_mulm(void)
{
if( stackidx < 3 ) {
fputs("stack underflow\n", stderr);
return;
}
mpi_mulm( stack[stackidx-3], stack[stackidx-3],
stack[stackidx-2], stack[stackidx-1] );
stackidx -= 2;
}
static void static void
do_div(void) do_div(void)
{ {
@ -237,7 +249,7 @@ main(int argc, char **argv)
while( (c=getc(stdin)) != EOF ) { while( (c=getc(stdin)) != EOF ) {
if( !state ) { /* waiting */ if( !state ) { /* waiting */
if( isdigit(c) || (c >='A' && c <= 'F') ) { if( isdigit(c) ) {
state = 1; state = 1;
ungetc(c, stdin); ungetc(c, stdin);
strbuf[0] = '0'; strbuf[0] = '0';
@ -275,6 +287,9 @@ main(int argc, char **argv)
case '*': case '*':
do_mul(); do_mul();
break; break;
case 'm':
do_mulm();
break;
case '/': case '/':
do_div(); do_div();
break; break;
@ -338,7 +353,7 @@ main(int argc, char **argv)
} }
} }
else if( state == 1 ) { /* in a number */ else if( state == 1 ) { /* in a number */
if( !(isdigit(c) || (c >='A' && c <= 'F')) ) { /* store the number */ if( !isxdigit(c) ) { /* store the number */
state = 0; state = 0;
ungetc(c, stdin); ungetc(c, stdin);
if( stridx < 1000 ) if( stridx < 1000 )