*
* This is just a no-op for flat file access.
*/
-void initdb(void)
+void initdb(bool readonly)
{
}
char keyfile[1024];
int fd = -1;
- snprintf(keyfile, 1023, "%s/0x%llX", config.file_dbpath,
+ snprintf(keyfile, 1023, "%s/0x%llX", config.db_dir,
keyid & 0xFFFFFFFF);
fd = open(keyfile, O_RDONLY); // | O_SHLOCK);
if (fd > -1) {
- read_openpgp_stream(file_fetchchar, &fd, &packets);
+ read_openpgp_stream(file_fetchchar, &fd, &packets, 0);
parse_keys(packets, publickey);
+ free_packet_list(packets);
+ packets = NULL;
close(fd);
}
char keyfile[1024];
int fd = -1;
- snprintf(keyfile, 1023, "%s/0x%llX", config.file_dbpath,
+ snprintf(keyfile, 1023, "%s/0x%llX", config.db_dir,
get_keyid(publickey) & 0xFFFFFFFF);
fd = open(keyfile, O_WRONLY | O_CREAT, 0664); // | O_EXLOCK);
write_openpgp_stream(file_putchar, &fd, packets);
close(fd);
+ free_packet_list(packets);
+ packets = NULL;
}
return (fd > -1);
{
char keyfile[1024];
- snprintf(keyfile, 1023, "%s/0x%llX", config.file_dbpath,
+ snprintf(keyfile, 1023, "%s/0x%llX", config.db_dir,
keyid & 0xFFFFFFFF);
return unlink(keyfile);
return 0;
}
+/**
+ * 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.
*/