With the changes to the backends to store keys using the full fingerprints
it can be useful to force a key to be re-indexed and thus transitioned to
a fingerprint rather than 64 bit key id index. Ideally we'd want to be
able to do this across the entire backend, but that's a bit heavyweight for
a full keyserver so add the ability to do it for a single key to start with.
puts("\tgetphoto - retrieves the first photoid on the given key and"
" dumps to\n\t stdout");
puts("\tindex - search for a key and list it");
puts("\tgetphoto - retrieves the first photoid on the given key and"
" dumps to\n\t stdout");
puts("\tindex - search for a key and list it");
+ puts("\treindex - retrieve and re-store a key in the backend db");
puts("\tvindex - search for a key and list it and its signatures");
}
puts("\tvindex - search for a key and list it and its signatures");
}
} else {
puts("Key not found");
}
} else {
puts("Key not found");
}
+ } else if (!strcmp("reindex", argv[optind])) {
+ dbctx->starttrans(dbctx);
+ if (dbctx->fetch_key_id(dbctx, keyid, &keys, true)) {
+ dbctx->delete_key(dbctx, keyid, true);
+ cleankeys(keys);
+ dbctx->store_key(dbctx, keys, true, false);
+ } else {
+ puts("Key not found");
+ }
+ dbctx->endtrans(dbctx);
}
dbctx->cleanupdb(dbctx);
} else {
}
dbctx->cleanupdb(dbctx);
} else {