Module Name: src
Committed By: agc
Date: Wed Jun 10 16:36:23 UTC 2009
Modified Files:
src/crypto/external/bsd/netpgp/dist/src/lib: keyring.h netpgp.c
packet-print.c types.h
Log Message:
Add a separate res output stream for results, and print results to it.
This is settable from userlevel by using
netpgp_setvar(..., "results", filename)
To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 \
src/crypto/external/bsd/netpgp/dist/src/lib/keyring.h
cvs rdiff -u -r1.22 -r1.23 \
src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c
cvs rdiff -u -r1.17 -r1.18 \
src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c
cvs rdiff -u -r1.6 -r1.7 src/crypto/external/bsd/netpgp/dist/src/lib/types.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/crypto/external/bsd/netpgp/dist/src/lib/keyring.h
diff -u src/crypto/external/bsd/netpgp/dist/src/lib/keyring.h:1.14 src/crypto/external/bsd/netpgp/dist/src/lib/keyring.h:1.15
--- src/crypto/external/bsd/netpgp/dist/src/lib/keyring.h:1.14 Wed Jun 10 00:38:09 2009
+++ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.h Wed Jun 10 16:36:23 2009
@@ -110,7 +110,7 @@
void __ops_print_pubkeydata(__ops_io_t *, const __ops_key_t *);
void __ops_print_pubkey(const __ops_pubkey_t *);
-void __ops_print_seckeydata(const __ops_key_t *);
+void __ops_print_seckeydata(__ops_io_t *, const __ops_key_t *);
int __ops_list_packets(__ops_io_t *,
char *,
unsigned,
Index: src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c
diff -u src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.22 src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.23
--- src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.22 Wed Jun 10 00:38:09 2009
+++ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c Wed Jun 10 16:36:23 2009
@@ -34,7 +34,7 @@
#if defined(__NetBSD__)
__COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved.");
-__RCSID("$NetBSD: netpgp.c,v 1.22 2009/06/10 00:38:09 agc Exp $");
+__RCSID("$NetBSD: netpgp.c,v 1.23 2009/06/10 16:36:23 agc Exp $");
#endif
#include <sys/types.h>
@@ -228,6 +228,7 @@
char *userid;
char *stream;
char *passfd;
+ char *results;
int coredumps;
#ifdef HAVE_SYS_RESOURCE_H
@@ -296,6 +297,13 @@
passfd);
return 0;
}
+ if ((results = netpgp_getvar(netpgp, "results")) == NULL) {
+ io->res = io->errs;
+ } else if ((io->res = fopen(results, "w")) == NULL) {
+ (void) fprintf(io->errs, "Can't open results %s for writing\n",
+ results);
+ return 0;
+ }
return 1;
}
Index: src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c
diff -u src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c:1.17 src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c:1.18
--- src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c:1.17 Tue Jun 9 00:51:02 2009
+++ src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c Wed Jun 10 16:36:23 2009
@@ -58,7 +58,7 @@
#if defined(__NetBSD__)
__COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved.");
-__RCSID("$NetBSD: packet-print.c,v 1.17 2009/06/09 00:51:02 agc Exp $");
+__RCSID("$NetBSD: packet-print.c,v 1.18 2009/06/10 16:36:23 agc Exp $");
#endif
#include <string.h>
@@ -380,18 +380,18 @@
{
unsigned int i;
- (void) fprintf(io->errs, "pub %d/%s ",
- numkeybits(&key->key.pubkey),
- __ops_show_pka(key->key.pubkey.alg));
- hexdump(io->errs, key->key_id, OPS_KEY_ID_SIZE, "");
- (void) fprintf(io->errs, " ");
- ptime(io->errs, key->key.pubkey.birthtime);
- (void) fprintf(io->errs, "\nKey fingerprint: ");
- hexdump(io->errs, key->fingerprint.fingerprint, OPS_FINGERPRINT_SIZE,
+ (void) fprintf(io->res, "pub %d/%s ",
+ numkeybits(&key->key.pubkey),
+ __ops_show_pka(key->key.pubkey.alg));
+ hexdump(io->res, key->key_id, OPS_KEY_ID_SIZE, "");
+ (void) fprintf(io->res, " ");
+ ptime(io->res, key->key.pubkey.birthtime);
+ (void) fprintf(io->res, "\nKey fingerprint: ");
+ hexdump(io->res, key->fingerprint.fingerprint, OPS_FINGERPRINT_SIZE,
" ");
- (void) fprintf(io->errs, "\n");
+ (void) fprintf(io->res, "\n");
for (i = 0; i < key->uidc; i++) {
- (void) fprintf(io->errs, "uid %s\n",
+ (void) fprintf(io->res, "uid %s\n",
key->uids[i].userid);
}
}
@@ -450,27 +450,26 @@
*/
void
-__ops_print_seckeydata(const __ops_key_t *key)
+__ops_print_seckeydata(__ops_io_t *io, const __ops_key_t *key)
{
- printf("sec ");
- __ops_show_pka(key->key.pubkey.alg);
- printf(" ");
-
- hexdump(stdout, key->key_id, OPS_KEY_ID_SIZE, "");
- printf(" ");
-
- ptime(stdout, key->key.pubkey.birthtime);
- printf(" ");
-
+ (void) fprintf(io->res, "sec ");
+ __ops_show_pka(key->key.pubkey.alg); /* XXX - redirect to io */
+ (void) fprintf(io->res, " ");
+ hexdump(io->res, key->key_id, OPS_KEY_ID_SIZE, "");
+ (void) fprintf(io->res, " ");
+ ptime(io->res, key->key.pubkey.birthtime);
+ (void) fprintf(io->res, " ");
if (key->uidc == 1) {
/* print on same line as other info */
- printf("%s\n", key->uids[0].userid);
+ (void) fprintf(io->res, "%s\n", key->uids[0].userid);
} else {
/* print all uids on separate line */
unsigned int i;
- printf("\n");
+
+ (void) fprintf(io->res, "\n");
for (i = 0; i < key->uidc; i++) {
- printf("uid %s\n", key->uids[i].userid);
+ (void) fprintf(io->res, "uid %s\n",
+ key->uids[i].userid);
}
}
}
@@ -677,7 +676,6 @@
break;
case OPS_PTAG_CT_USER_ID:
- /* XXX: how do we print UTF-8? */
print_tagname("USER ID");
print_utf8_string("userid", content->userid.userid);
break;
@@ -929,8 +927,6 @@
print_text_breakdown(text);
__ops_text_free(text);
- /* xxx - TODO: print out UTF - rachel */
-
print_data("Name", &content->ss_notation.name);
print_data("Value", &content->ss_notation.value);
@@ -1005,7 +1001,6 @@
1);
str = __ops_show_ss_rr_code(content->ss_revocation.code);
print_string(NULL, str);
- /* xxx - todo : output text as UTF-8 string */
end_subpacket();
break;
Index: src/crypto/external/bsd/netpgp/dist/src/lib/types.h
diff -u src/crypto/external/bsd/netpgp/dist/src/lib/types.h:1.6 src/crypto/external/bsd/netpgp/dist/src/lib/types.h:1.7
--- src/crypto/external/bsd/netpgp/dist/src/lib/types.h:1.6 Sun May 31 23:26:20 2009
+++ src/crypto/external/bsd/netpgp/dist/src/lib/types.h Wed Jun 10 16:36:23 2009
@@ -53,6 +53,7 @@
typedef struct __ops_io_t {
void *outs; /* output file stream */
void *errs; /* file stream to put error messages */
+ void *res; /* file stream to put results */
} __ops_io_t;
/** __ops_map_t