X-Git-Url: https://git.sommitrealweird.co.uk/onak.git/blobdiff_plain/3b5b9db0bc2dbe93b3b79e722997606c71ecafb9..6bcfac5f53de9dff2f646da360b7da1a6e3aa7c1:/keydb_db2.c?ds=sidebyside diff --git a/keydb_db2.c b/keydb_db2.c index 0c597c4..b37d480 100644 --- a/keydb_db2.c +++ b/keydb_db2.c @@ -4,6 +4,8 @@ * Jonathan McDowell * * Copyright 2002 Project Purple + * + * $Id: keydb_db2.c,v 1.11 2004/03/23 12:33:46 noodles Exp $ */ #include @@ -63,12 +65,26 @@ DB *keydb(DBT *key) * this file are called in order to allow the DB to be initialized ready * for access. */ -void initdb(void) +void initdb(bool readonly) { DB_INFO keydbinfo; int i; int ret; char keydbname[20]; + char buf[1024]; + FILE *numdb = NULL; + + snprintf(buf, sizeof(buf) - 1, "%s/num_keydb", config.db_dir); + numdb = fopen(buf, "r"); + if (numdb != NULL) { + if (fgets(buf, sizeof(buf), numdb) != NULL) { + db2_numdb = atoi(buf); + } + fclose(numdb); + } else { + logthing(LOGTHING_ERROR, "Couldn't open num_keydb: %s", + strerror(errno)); + } memset(&db2_env, 0, sizeof(db2_env)); @@ -184,7 +200,7 @@ int fetch_key(uint64_t keyid, struct openpgp_publickey **publickey, fetchbuf.buffer = data.data; fetchbuf.offset = 0; fetchbuf.size = data.size; - read_openpgp_stream(buffer_fetchchar, &fetchbuf, &packets); + read_openpgp_stream(buffer_fetchchar, &fetchbuf, &packets, 0); parse_keys(packets, publickey); free_packet_list(packets); packets = NULL; @@ -235,6 +251,22 @@ int delete_key(uint64_t keyid, bool intrans) return (1); } +/** + * dumpdb - dump the key database + * @filenamebase: The base filename to use for the dump. + * + * Dumps the database into one or more files, which contain pure OpenPGP + * that can be reimported into onak or gpg. filenamebase provides a base + * file name for the dump; several files may be created, all of which will + * begin with this string and then have a unique number and a .pgp + * extension. + * */ +int dumpdb(char *filenamebase) +{ + return 0; +} + + /* * Include the basic keydb routines. */