projects
/
onak.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
cscvs to tla changeset 63
[onak.git]
/
keydb_pg.c
diff --git
a/keydb_pg.c
b/keydb_pg.c
index 35e5fae723cbd7d0cd976f38114678336212ee2b..3b127910467ff9e4e1f7dcf417f67983dd6bd2e9 100644
(file)
--- a/
keydb_pg.c
+++ b/
keydb_pg.c
@@
-23,8
+23,9
@@
#include "hash.h"
#include "keydb.h"
#include "keyid.h"
#include "hash.h"
#include "keydb.h"
#include "keyid.h"
-#include "
keyindex
.h"
+#include "
decodekey
.h"
#include "keystructs.h"
#include "keystructs.h"
+#include "log.h"
#include "mem.h"
#include "onak-conf.h"
#include "parsekey.h"
#include "mem.h"
#include "onak-conf.h"
#include "parsekey.h"
@@
-68,8
+69,8
@@
void initdb(void)
config.pg_dbpass); // password
if (PQstatus(dbconn) == CONNECTION_BAD) {
config.pg_dbpass); // password
if (PQstatus(dbconn) == CONNECTION_BAD) {
-
fprintf(stderr, "Connection to database failed.\n
");
-
fprintf(stderr, "%s\n
", PQerrorMessage(dbconn));
+
logthing(LOGTHING_CRITICAL, "Connection to database failed.
");
+
logthing(LOGTHING_CRITICAL, "%s
", PQerrorMessage(dbconn));
PQfinish(dbconn);
dbconn = NULL;
exit(1);
PQfinish(dbconn);
dbconn = NULL;
exit(1);
@@
-132,7
+133,8
@@
void endtrans(void)
* in and then parse_keys() to parse the packets into a publickey
* structure.
*/
* in and then parse_keys() to parse the packets into a publickey
* structure.
*/
-int fetch_key(uint64_t keyid, struct openpgp_publickey **publickey, bool intrans)
+int fetch_key(uint64_t keyid, struct openpgp_publickey **publickey,
+ bool intrans)
{
struct openpgp_packet_list *packets = NULL;
PGresult *result = NULL;
{
struct openpgp_packet_list *packets = NULL;
PGresult *result = NULL;
@@
-168,16
+170,19
@@
int fetch_key(uint64_t keyid, struct openpgp_publickey **publickey, bool intrans
fd = lo_open(dbconn, key_oid, INV_READ);
if (fd < 0) {
fd = lo_open(dbconn, key_oid, INV_READ);
if (fd < 0) {
- fprintf(stderr, "Can't open large object.\n");
+ logthing(LOGTHING_ERROR,
+ "Can't open large object.");
} else {
read_openpgp_stream(keydb_fetchchar, &fd,
&packets);
parse_keys(packets, publickey);
lo_close(dbconn, fd);
} else {
read_openpgp_stream(keydb_fetchchar, &fd,
&packets);
parse_keys(packets, publickey);
lo_close(dbconn, fd);
+ free_packet_list(packets);
+ packets = NULL;
}
}
} else if (PQresultStatus(result) != PGRES_TUPLES_OK) {
}
}
} else if (PQresultStatus(result) != PGRES_TUPLES_OK) {
-
fprintf(stderr, "Problem retrieving key from DB.\n
");
+
logthing(LOGTHING_ERROR, "Problem retrieving key from DB.
");
}
PQclear(result);
}
PQclear(result);
@@
-232,16
+237,19
@@
int fetch_key_text(const char *search, struct openpgp_publickey **publickey)
fd = lo_open(dbconn, key_oid, INV_READ);
if (fd < 0) {
fd = lo_open(dbconn, key_oid, INV_READ);
if (fd < 0) {
- fprintf(stderr, "Can't open large object.\n");
+ logthing(LOGTHING_ERROR,
+ "Can't open large object.");
} else {
read_openpgp_stream(keydb_fetchchar, &fd,
&packets);
parse_keys(packets, publickey);
lo_close(dbconn, fd);
} else {
read_openpgp_stream(keydb_fetchchar, &fd,
&packets);
parse_keys(packets, publickey);
lo_close(dbconn, fd);
+ free_packet_list(packets);
+ packets = NULL;
}
}
} else if (PQresultStatus(result) != PGRES_TUPLES_OK) {
}
}
} else if (PQresultStatus(result) != PGRES_TUPLES_OK) {
-
fprintf(stderr, "Problem retrieving key from DB.\n
");
+
logthing(LOGTHING_ERROR, "Problem retrieving key from DB.
");
}
PQclear(result);
}
PQclear(result);
@@
-302,12
+310,14
@@
int store_key(struct openpgp_publickey *publickey, bool intrans, bool update)
key_oid = lo_creat(dbconn, INV_READ | INV_WRITE);
if (key_oid == 0) {
key_oid = lo_creat(dbconn, INV_READ | INV_WRITE);
if (key_oid == 0) {
-
fprintf(stderr, "Can't create key OID\n
");
+
logthing(LOGTHING_ERROR, "Can't create key OID
");
} else {
fd = lo_open(dbconn, key_oid, INV_WRITE);
write_openpgp_stream(keydb_putchar, &fd, packets);
lo_close(dbconn, fd);
}
} else {
fd = lo_open(dbconn, key_oid, INV_WRITE);
write_openpgp_stream(keydb_putchar, &fd, packets);
lo_close(dbconn, fd);
}
+ free_packet_list(packets);
+ packets = NULL;
snprintf(statement, 1023,
"INSERT INTO onak_keys (keyid, keydata) VALUES "
snprintf(statement, 1023,
"INSERT INTO onak_keys (keyid, keydata) VALUES "
@@
-317,8
+327,8
@@
int store_key(struct openpgp_publickey *publickey, bool intrans, bool update)
result = PQexec(dbconn, statement);
if (PQresultStatus(result) != PGRES_COMMAND_OK) {
result = PQexec(dbconn, statement);
if (PQresultStatus(result) != PGRES_COMMAND_OK) {
-
fprintf(stderr, "Problem storing key in DB.\n
");
-
fprintf(stderr, "%s\n
", PQresultErrorMessage(result));
+
logthing(LOGTHING_ERROR, "Problem storing key in DB.
");
+
logthing(LOGTHING_ERROR, "%s
", PQresultErrorMessage(result));
}
PQclear(result);
}
PQclear(result);
@@
-349,8
+359,9
@@
int store_key(struct openpgp_publickey *publickey, bool intrans, bool update)
}
if (PQresultStatus(result) != PGRES_COMMAND_OK) {
}
if (PQresultStatus(result) != PGRES_COMMAND_OK) {
- fprintf(stderr, "Problem storing key in DB.\n");
- fprintf(stderr, "%s\n",
+ logthing(LOGTHING_ERROR,
+ "Problem storing key in DB.");
+ logthing(LOGTHING_ERROR, "%s",
PQresultErrorMessage(result));
}
/*
PQresultErrorMessage(result));
}
/*
@@
-438,7
+449,8
@@
int delete_key(uint64_t keyid, bool intrans)
keyid);
result = PQexec(dbconn, statement);
} else if (PQresultStatus(result) != PGRES_TUPLES_OK) {
keyid);
result = PQexec(dbconn, statement);
} else if (PQresultStatus(result) != PGRES_TUPLES_OK) {
- fprintf(stderr, "Problem retrieving key (%llX) from DB.\n",
+ logthing(LOGTHING_ERROR,
+ "Problem retrieving key (%llX) from DB.",
keyid);
}
keyid);
}
@@
-477,7
+489,8
@@
char *keyid2uid(uint64_t keyid)
PQntuples(result) >= 1) {
uid = strdup(PQgetvalue(result, 0, 0));
} else if (PQresultStatus(result) != PGRES_TUPLES_OK) {
PQntuples(result) >= 1) {
uid = strdup(PQgetvalue(result, 0, 0));
} else if (PQresultStatus(result) != PGRES_TUPLES_OK) {
- fprintf(stderr, "Problem retrieving key (%llX) from DB.\n",
+ logthing(LOGTHING_ERROR,
+ "Problem retrieving key (%llX) from DB.",
keyid);
}
keyid);
}
@@
-532,7
+545,7
@@
struct ll *getkeysigs(uint64_t keyid)
sigs = lladd(sigs, createandaddtohash(signer));
}
} else if (PQresultStatus(result) != PGRES_TUPLES_OK) {
sigs = lladd(sigs, createandaddtohash(signer));
}
} else if (PQresultStatus(result) != PGRES_TUPLES_OK) {
-
fprintf(stderr, "Problem retrieving key from DB.\n
");
+
logthing(LOGTHING_ERROR, "Problem retrieving key from DB.
");
}
PQclear(result);
}
PQclear(result);