X-Git-Url: http://the.earth.li/gitweb/?a=blobdiff_plain;f=keydb_db3.c;h=309a29747d81082e4bb834fd9c61707fc1007724;hb=061e8cae3c4e66b80d2e71048dd037f0443c82cf;hp=f6867709bc3dbda7fa7c2b1b90db823310f73cc9;hpb=97b2d68b9debdeaec828c9000bcca60a4a3d5817;p=onak.git diff --git a/keydb_db3.c b/keydb_db3.c index f686770..309a297 100644 --- a/keydb_db3.c +++ b/keydb_db3.c @@ -5,7 +5,7 @@ * * 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.21 2003/10/03 23:02:04 noodles Exp $ */ #include @@ -58,7 +58,11 @@ static DB_TXN *txn = NULL; DB *keydb(uint64_t keyid) { - return(dbconns[keyid % numdbs]); + uint64_t keytrun; + + keytrun = keyid >> 8; + + return(dbconns[keytrun % numdbs]); } /** @@ -170,7 +174,7 @@ void initdb(void) 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); @@ -340,7 +344,7 @@ int fetch_key(uint64_t keyid, struct openpgp_publickey **publickey, 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;