]> the.earth.li Git - onak.git/blobdiff - keydb_pg.c
Configure basic onak.conf using autoconf info.
[onak.git] / keydb_pg.c
index cdfbe63d4fbeb8f6103c31aed7be56bad1e8823c..dd7cbfdbbdc30b203246503fba1f984e281d3ce1 100644 (file)
@@ -4,15 +4,11 @@
  * Jonathan McDowell <noodles@earth.li>
  *
  * Copyright 2002 Project Purple
- *
- * $Id: keydb_pg.c,v 1.12 2003/06/08 21:11:01 noodles Exp $
  */
 
 #include <postgresql/libpq-fe.h>
 #include <postgresql/libpq/libpq-fs.h>
 
-//#include <libpq-fe.h>
-//#include <libpq/libpq-fs.h>
 #include <sys/types.h>
 #include <sys/uio.h>
 #include <errno.h>
@@ -42,7 +38,7 @@ static PGconn *dbconn = NULL;
  */
 static int keydb_fetchchar(void *fd, size_t count, unsigned char *c)
 {
-       return (!lo_read(dbconn, *(int *) fd, c, count));
+       return (!lo_read(dbconn, *(int *) fd, (char *) c, count));
 }
 
 /**
@@ -50,7 +46,7 @@ static int keydb_fetchchar(void *fd, size_t count, unsigned char *c)
  */
 static int keydb_putchar(void *fd, size_t count, unsigned char *c)
 {
-       return !(lo_write(dbconn, *(int *) fd, c, count));
+       return !(lo_write(dbconn, *(int *) fd, (char *) c, count));
 }
 
 /**
@@ -60,7 +56,7 @@ static int keydb_putchar(void *fd, size_t count, unsigned char *c)
  *     this file are called in order to allow the DB to be initialized ready
  *     for access.
  */
-void initdb(void)
+void initdb(bool readonly)
 {
        dbconn = PQsetdbLogin(config.pg_dbhost, // host
                        NULL, // port
@@ -176,7 +172,7 @@ int fetch_key(uint64_t keyid, struct openpgp_publickey **publickey,
                                                "Can't open large object.");
                        } else {
                                read_openpgp_stream(keydb_fetchchar, &fd,
-                                               &packets);
+                                               &packets, 0);
                                parse_keys(packets, publickey);
                                lo_close(dbconn, fd);
                                free_packet_list(packets);
@@ -243,7 +239,8 @@ int fetch_key_text(const char *search, struct openpgp_publickey **publickey)
                                                "Can't open large object.");
                        } else {
                                read_openpgp_stream(keydb_fetchchar, &fd,
-                                               &packets);
+                                               &packets,
+                                               0);
                                parse_keys(packets, publickey);
                                lo_close(dbconn, fd);
                                free_packet_list(packets);