]> the.earth.li Git - onak.git/blobdiff - keydb_keyd.c
Change delete_key to use a full fingerprint
[onak.git] / keydb_keyd.c
index 7d3754a837693d26e610b3e2150471c9ce06aeae..597507e5e78d3ecb41b8043c9be162dfe65a9d62 100644 (file)
  * more details.
  *
  * You should have received a copy of the GNU General Public License along with
- * this program; if not, write to the Free Software Foundation, Inc., 51
- * Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * this program.  If not, see <https://www.gnu.org/licenses/>.
  */
 
 #include <errno.h>
 #include <fcntl.h>
+#include <stdbool.h>
+#include <stdint.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -34,6 +35,7 @@
 #include "keystructs.h"
 #include "log.h"
 #include "mem.h"
+#include "onak.h"
 #include "onak-conf.h"
 #include "parsekey.h"
 
@@ -185,19 +187,19 @@ static int keyd_fetch_key_fp(struct onak_dbctx *dbctx,
 
 /**
 *      delete_key - Given a keyid delete the key from storage.
-*      @keyid: The keyid to delete.
+ *     @fp: The fingerprint of the key to delete.
 *      @intrans: If we're already in a transaction.
 *
 *      This function deletes a public key from whatever storage mechanism we
 *      are using. Returns 0 if the key existed.
 */
 static int keyd_delete_key(struct onak_dbctx *dbctx,
-               uint64_t keyid, bool intrans)
+               struct openpgp_fingerprint *fp, bool intrans)
 {
        int keyd_fd = (intptr_t) dbctx->priv;
 
        if (keyd_send_cmd(keyd_fd, KEYD_CMD_DELETE)) {
-               write(keyd_fd, &keyid, sizeof(keyid));
+               write(keyd_fd, fp, sizeof(*fp));
        }
 
        return 0;