]> git.sommitrealweird.co.uk Git - onak.git/blobdiff - keydb_db2.c
Add ctags/cscope files to .gitignore + clean rule
[onak.git] / keydb_db2.c
index 0ff31cbe308d1f9a0c8137f83632822943530f79..4ba31e871c077f4b07f653bb101fd57c4f6064b1 100644 (file)
@@ -1,11 +1,20 @@
 /*
  * keydb_db2.c - Routines to store and fetch keys in a DB2 file (a la pksd)
  *
- * Jonathan McDowell <noodles@earth.li>
+ * Copyright 2002-2004 Jonathan McDowell <noodles@earth.li>
  *
- * Copyright 2002 Project Purple
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; version 2 of the License.
  *
- * $Id: keydb_db2.c,v 1.9 2003/06/04 20:57:08 noodles Exp $
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc., 51
+ * Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  */
 
 #include <sys/types.h>
@@ -65,7 +74,7 @@ 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;
@@ -200,7 +209,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;
@@ -252,25 +261,27 @@ int delete_key(uint64_t keyid, bool intrans)
 }
 
 /**
- *     dumpdb - dump the key database
- *     @filenamebase: The base filename to use for the dump.
+ *     iterate_keys - call a function once for each key in the db.
+ *     @iterfunc: The function to call.
+ *     @ctx: A context pointer
+ *
+ *     Calls iterfunc once for each key in the database. ctx is passed
+ *     unaltered to iterfunc. This function is intended to aid database dumps
+ *     and statistic calculations.
  *
- *     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)
+ *     Returns the number of keys we iterated over.
+ */
+int iterate_keys(void (*iterfunc)(void *ctx, struct openpgp_publickey *key),
+               void *ctx)
 {
        return 0;
 }
 
-
 /*
  * Include the basic keydb routines.
  */
 #define NEED_KEYID2UID 1
 #define NEED_GETKEYSIGS 1
 #define NEED_GETFULLKEYID 1
+#define NEED_UPDATEKEYS 1
 #include "keydb.c"