Add -1 to Debian package version
[onak.git] / keydb_pg.c
index 25881c0820e1c09d8992b88d6947edd0e260e274..e71ddee3b71777324d6b0b62a82bc3794403b320 100644 (file)
@@ -150,12 +150,13 @@ static int pg_fetch_key(uint64_t keyid, struct openpgp_publickey **publickey,
        
        if (keyid > 0xFFFFFFFF) {
                snprintf(statement, 1023,
-                       "SELECT keydata FROM onak_keys WHERE keyid = '%llX'",
+                       "SELECT keydata FROM onak_keys WHERE keyid = '%"
+                       PRIX64 "'",
                        keyid);
        } else {
                snprintf(statement, 1023,
                        "SELECT keydata FROM onak_keys WHERE keyid "
-                       "LIKE '%%%llX'",
+                       "LIKE '%%%" PRIX64 "'",
                        keyid);
        }
        result = PQexec(dbconn, statement);
@@ -218,7 +219,7 @@ static int pg_fetch_key_text(const char *search,
 
        newsearch = malloc(strlen(search) * 2 + 1);
        memset(newsearch, 0, strlen(search) * 2 + 1);
-       PQescapeString(newsearch, search, strlen(search));
+       PQescapeStringConn(dbconn, newsearch, search, strlen(search), NULL);
        snprintf(statement, 1023,
                        "SELECT DISTINCT onak_keys.keydata FROM onak_keys, "
                        "onak_uids WHERE onak_keys.keyid = onak_uids.keyid "
@@ -282,7 +283,8 @@ static int pg_delete_key(uint64_t keyid, bool intrans)
        }
        
        snprintf(statement, 1023,
-                       "SELECT keydata FROM onak_keys WHERE keyid = '%llX'",
+                       "SELECT keydata FROM onak_keys WHERE keyid = '%"
+                       PRIX64 "'",
                        keyid);
        result = PQexec(dbconn, statement);
 
@@ -298,24 +300,25 @@ static int pg_delete_key(uint64_t keyid, bool intrans)
                PQclear(result);
 
                snprintf(statement, 1023,
-                       "DELETE FROM onak_keys WHERE keyid = '%llX'",
+                       "DELETE FROM onak_keys WHERE keyid = '%" PRIX64 "'",
                        keyid);
                result = PQexec(dbconn, statement);
                PQclear(result);
 
                snprintf(statement, 1023,
-                       "DELETE FROM onak_sigs WHERE signee = '%llX'",
+                       "DELETE FROM onak_sigs WHERE signee = '%" PRIX64 "'",
                        keyid);
                result = PQexec(dbconn, statement);
                PQclear(result);
 
                snprintf(statement, 1023,
-                       "DELETE FROM onak_uids WHERE keyid = '%llX'",
+                       "DELETE FROM onak_uids WHERE keyid = '%" PRIX64 "'",
                        keyid);
                result = PQexec(dbconn, statement);
        } else if (PQresultStatus(result) != PGRES_TUPLES_OK) {
                logthing(LOGTHING_ERROR,
-                               "Problem retrieving key (%llX) from DB.",
+                               "Problem retrieving key (%" PRIX64
+                               ") from DB.",
                                keyid);
        }
 
@@ -391,7 +394,7 @@ static int pg_store_key(struct openpgp_publickey *publickey, bool intrans,
 
        snprintf(statement, 1023, 
                        "INSERT INTO onak_keys (keyid, keydata) VALUES "
-                       "('%llX', '%d')", 
+                       "('%" PRIX64 "', '%d')", 
                        get_keyid(publickey),
                        key_oid);
        result = PQexec(dbconn, statement);
@@ -408,13 +411,13 @@ static int pg_store_key(struct openpgp_publickey *publickey, bool intrans,
                        safeuid = malloc(strlen(uids[i]) * 2 + 1);
                        if (safeuid != NULL) {
                                memset(safeuid, 0, strlen(uids[i]) * 2 + 1);
-                               PQescapeString(safeuid, uids[i],
-                                               strlen(uids[i]));
+                               PQescapeStringConn(dbconn, safeuid, uids[i],
+                                               strlen(uids[i]), NULL);
 
                                snprintf(statement, 1023,
                                        "INSERT INTO onak_uids "
                                        "(keyid, uid, pri) "
-                                       "VALUES ('%llX', '%s', '%c')",
+                                       "VALUES ('%" PRIX64 "', '%s', '%c')",
                                        get_keyid(publickey),
                                        safeuid,
                                        (uids[i] == primary) ? 't' : 'f');
@@ -448,7 +451,7 @@ static int pg_store_key(struct openpgp_publickey *publickey, bool intrans,
                                packets = packets->next) {
                        snprintf(statement, 1023,
                                "INSERT INTO onak_sigs (signer, signee) "
-                               "VALUES ('%llX', '%llX')",
+                               "VALUES ('%" PRIX64 "', '%" PRIX64 "')",
                                sig_keyid(packets->packet),
                                get_keyid(publickey));
                        result = PQexec(dbconn, statement);
@@ -475,7 +478,8 @@ static char *pg_keyid2uid(uint64_t keyid)
        char *uid = NULL;
 
        snprintf(statement, 1023,
-               "SELECT uid FROM onak_uids WHERE keyid = '%llX' AND pri = 't'",
+               "SELECT uid FROM onak_uids WHERE keyid = '%" PRIX64
+               "' AND pri = 't'",
                keyid);
        result = PQexec(dbconn, statement);
 
@@ -491,7 +495,8 @@ static char *pg_keyid2uid(uint64_t keyid)
                uid = strdup(PQgetvalue(result, 0, 0));
        } else if (PQresultStatus(result) != PGRES_TUPLES_OK) {
                logthing(LOGTHING_ERROR,
-                               "Problem retrieving key (%llX) from DB.",
+                               "Problem retrieving key (%" PRIX64
+                               ") from DB.",
                                keyid);
        }
 
@@ -525,7 +530,8 @@ static struct ll *pg_getkeysigs(uint64_t keyid, bool *revoked)
        }
 
        snprintf(statement, 1023,
-               "SELECT DISTINCT signer FROM onak_sigs WHERE signee = '%llX'",
+               "SELECT DISTINCT signer FROM onak_sigs WHERE signee = '%"
+               PRIX64 "'",
                keyid);
        result = PQexec(dbconn, statement);
 
@@ -587,7 +593,6 @@ static int pg_iterate_keys(void (*iterfunc)(void *ctx,
        struct openpgp_publickey *key = NULL;
        PGresult *result = NULL;
        char *oids = NULL;
-       char statement[1024];
        int fd = -1;
        int i = 0;
        int numkeys = 0;
@@ -608,7 +613,7 @@ static int pg_iterate_keys(void (*iterfunc)(void *ctx,
                        } else {
                                read_openpgp_stream(keydb_fetchchar, &fd,
                                                &packets, 0);
-                               parse_keys(packets, key);
+                               parse_keys(packets, &key);
                                lo_close(dbconn, fd);
 
                                iterfunc(ctx, key);