*
* Copyright 2002 Project Purple
*
- * $Id: keydb_db3.c,v 1.19 2003/09/28 16:12:47 noodles Exp $
+ * $Id: keydb_db3.c,v 1.22 2003/10/10 16:57:27 noodles Exp $
*/
#include <assert.h>
DB *keydb(uint64_t keyid)
{
- return(dbconns[keyid % numdbs]);
+ uint64_t keytrun;
+
+ keytrun = keyid >> 8;
+
+ return(dbconns[keytrun % numdbs]);
}
/**
} else {
logthing(LOGTHING_ERROR, "Couldn't open num_keydb: %s",
strerror(errno));
+ numdb = fopen(buf, "w");
+ if (numdb != NULL) {
+ fprintf(numdb, "%d", numdbs);
+ fclose(numdb);
+ } else {
+ logthing(LOGTHING_ERROR,
+ "Couldn't write num_keydb: %s",
+ strerror(errno));
+ }
}
dbconns = malloc(sizeof (DB *) * numdbs);
0);
if (ret != 0) {
logthing(LOGTHING_CRITICAL,
- "Erroring opening db environment: %s (%s)",
+ "Error opening db environment: %s (%s)",
config.db_dir,
db_strerror(ret));
exit(1);
fetchbuf.offset = 0;
fetchbuf.size = data.size;
read_openpgp_stream(buffer_fetchchar, &fetchbuf,
- &packets);
+ &packets, 0);
parse_keys(packets, publickey);
free_packet_list(packets);
packets = NULL;