X-Git-Url: https://the.earth.li/gitweb/?a=blobdiff_plain;f=keydb_keyd.c;h=acbdcff14cb2d96fbbeaad66caa19cc27642a48a;hb=0c120d1895d25b59abe338862189be1b87447569;hp=6836e9a2db02cbbe28d22b1a123a2103ee56da05;hpb=2458360e75aa46091f60c16e041c07bffe2edefb;p=onak.git diff --git a/keydb_keyd.c b/keydb_keyd.c index 6836e9a..acbdcff 100644 --- a/keydb_keyd.c +++ b/keydb_keyd.c @@ -19,6 +19,8 @@ #include #include +#include +#include #include #include #include @@ -34,6 +36,7 @@ #include "keystructs.h" #include "log.h" #include "mem.h" +#include "onak.h" #include "onak-conf.h" #include "parsekey.h" @@ -227,6 +230,7 @@ static int keyd_store_key(struct onak_dbctx *dbctx, struct openpgp_packet_list *list_end = NULL; struct openpgp_publickey *next = NULL; uint64_t keyid; + enum keyd_ops cmd = KEYD_CMD_STORE; if (get_keyid(publickey, &keyid) != ONAK_E_OK) { logthing(LOGTHING_ERROR, "Couldn't find key ID for key."); @@ -234,10 +238,10 @@ static int keyd_store_key(struct onak_dbctx *dbctx, } if (update) { - keyd_delete_key(dbctx, keyid, false); + cmd = KEYD_CMD_UPDATE; } - if (keyd_send_cmd(keyd_fd, KEYD_CMD_STORE)) { + if (keyd_send_cmd(keyd_fd, cmd)) { keybuf.offset = 0; keybuf.size = 8192; keybuf.buffer = malloc(keybuf.size);