X-Git-Url: https://the.earth.li/gitweb/?a=blobdiff_plain;f=stripkey.c;h=af1578472a174aa5356ba287e9efdd50b2f70f6d;hb=6d60149434eed130c201d4d670ce7b3be5c2866b;hp=12d8791526a5ddd107b2c436b3458010bef65c2d;hpb=abd73876aa3545e3bfcffd44680538a3c10bb84c;p=onak.git diff --git a/stripkey.c b/stripkey.c index 12d8791..af15784 100644 --- a/stripkey.c +++ b/stripkey.c @@ -1,23 +1,31 @@ -#include +/* + * stripkey.c - Strip a key of all signatures except self-sigs. + * + * Copyright 2004 Daniel Silverstone + * + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +#include #include #include -#include -#include -#include -#include "armor.h" #include "charfuncs.h" #include "cleankey.h" -#include "keydb.h" #include "keyid.h" -#include "keyindex.h" #include "keystructs.h" -#include "log.h" #include "mem.h" -#include "merge.h" -#include "onak-conf.h" #include "parsekey.h" -#include "photoid.h" #include "decodekey.h" int main(int argc, char** argv) { @@ -28,7 +36,6 @@ int main(int argc, char** argv) { struct openpgp_signedpacket_list *uid = NULL; struct openpgp_packet_list *sig = NULL; struct openpgp_packet_list *prevsig = NULL; - int result = 0; uint64_t my_key = 0; if( argc > 1 ) @@ -38,14 +45,15 @@ int main(int argc, char** argv) { /* strip each key of everything but its pubkey component, uids and * selfsigs and revsigs on those selfsigs */ - result = read_openpgp_stream( stdin_getchar, NULL, &packets, 0 ); - result = parse_keys( packets, &keys ); + read_openpgp_stream( stdin_getchar, NULL, &packets, 0 ); + parse_keys( packets, &keys ); free_packet_list(packets); packets = NULL; - result = cleankeys( keys ); + cleankeys(NULL, &keys, ONAK_CLEAN_ALL); /* Iterate over the keys... */ for( key = keys; key; key = key->next ) { - uint64_t keyid = get_keyid( key ); + uint64_t keyid; + get_keyid( key, &keyid ); for( uid = key->uids; uid; uid = uid->next ) { REPEATTHISUID: for( sig = uid->sigs, prevsig = NULL; @@ -65,8 +73,8 @@ int main(int argc, char** argv) { } } } - flatten_publickey( key, &packets, &list_end ); } + flatten_publickey( keys, &packets, &list_end ); write_openpgp_stream( stdout_putchar, NULL, packets ); return 0; }