aboutsummaryrefslogtreecommitdiffstats
path: root/kbx/keybox-dump.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2004-04-26 08:09:25 +0000
committerWerner Koch <[email protected]>2004-04-26 08:09:25 +0000
commit6aaceac7fec0b98b60ab1259bda5f97465817ce6 (patch)
treeda7228afd0a40e47f7ca15ca4bacd2594979601a /kbx/keybox-dump.c
parent(oidtranstbl): New. OIDs collected from several sources. (diff)
downloadgnupg-6aaceac7fec0b98b60ab1259bda5f97465817ce6.tar.gz
gnupg-6aaceac7fec0b98b60ab1259bda5f97465817ce6.zip
The keybox gets now compressed after 3 hours and ephemeral
stored certificates are deleted after about a day.
Diffstat (limited to 'kbx/keybox-dump.c')
-rw-r--r--kbx/keybox-dump.c27
1 files changed, 23 insertions, 4 deletions
diff --git a/kbx/keybox-dump.c b/kbx/keybox-dump.c
index 2177bedae..2fb0984c0 100644
--- a/kbx/keybox-dump.c
+++ b/kbx/keybox-dump.c
@@ -78,9 +78,22 @@ print_string (FILE *fp, const byte *p, size_t n, int delim)
static int
dump_header_blob (const byte *buffer, size_t length, FILE *fp)
{
+ unsigned long n;
+
+ if (length < 32)
+ {
+ fprintf (fp, "[blob too short]\n");
+ return -1;
+ }
fprintf (fp, "Version: %d\n", buffer[5]);
if ( memcmp (buffer+8, "KBXf", 4))
fprintf (fp, "[Error: invalid magic number]\n");
+
+ n = get32 (buffer+16);
+ fprintf( fp, "created-at: %lu\n", n );
+ n = get32 (buffer+20);
+ fprintf( fp, "last-maint: %lu\n", n );
+
return 0;
}
@@ -101,7 +114,7 @@ _keybox_dump_blob (KEYBOXBLOB blob, FILE *fp)
buffer = _keybox_get_blob_image (blob, &length);
- if (length < 40)
+ if (length < 32)
{
fprintf (fp, "[blob too short]\n");
return -1;
@@ -136,6 +149,12 @@ _keybox_dump_blob (KEYBOXBLOB blob, FILE *fp)
return 0;
}
fprintf (fp, "Version: %d\n", buffer[5]);
+
+ if (length < 40)
+ {
+ fprintf (fp, "[blob too short]\n");
+ return -1;
+ }
n = get16 (buffer + 6);
fprintf( fp, "Blob-Flags: %04lX", n);
@@ -290,11 +309,11 @@ _keybox_dump_blob (KEYBOXBLOB blob, FILE *fp)
fprintf (fp, "All-Validity: %d\n", p[1] );
p += 4;
n = get32 (p); p += 4;
- fprintf (fp, "Recheck-After: %s\n", /*n? strtimestamp(n) :*/ "0" );
+ fprintf (fp, "Recheck-After: %lu\n", n );
n = get32 (p ); p += 4;
- fprintf( fp, "Latest-Timestamp: %s\n", "0"/*strtimestamp(n)*/ );
+ fprintf( fp, "Latest-Timestamp: %lu\n", n );
n = get32 (p ); p += 4;
- fprintf (fp, "Created-At: %s\n", "0"/*strtimestamp(n)*/ );
+ fprintf (fp, "Created-At: %lu\n", n );
n = get32 (p ); p += 4;
fprintf (fp, "Reserved-Space: %lu\n", n );