From 59e5def499b3e9ae3587ebae2bef8794a1df34ea Mon Sep 17 00:00:00 2001 From: Jonathan McDowell Date: Tue, 29 Mar 2011 07:14:31 -0800 Subject: [PATCH 1/1] Explicitly use 32 bits for keyd socket commands While cross machine compatibility is not currently an aim for keyd we should specify the word size for commands to help down the line if we decide to do this. --- keyd.c | 2 +- keyd.h | 4 +++- keydb_keyd.c | 18 +++++++++--------- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/keyd.c b/keyd.c index eab3b54..987724d 100644 --- a/keyd.c +++ b/keyd.c @@ -125,7 +125,7 @@ int sock_init(const char *sockname) int sock_do(int fd) { - int cmd = KEYD_CMD_UNKNOWN; + uint32_t cmd = KEYD_CMD_UNKNOWN; ssize_t bytes = 0; ssize_t count = 0; int ret = 0; diff --git a/keyd.h b/keyd.h index 3bc252a..9dd7227 100644 --- a/keyd.h +++ b/keyd.h @@ -9,6 +9,8 @@ #ifndef __KEYD_H__ #define __KEYD_H__ +#include + #define KEYD_SOCKET "keyd.sock" enum keyd_ops { @@ -29,6 +31,6 @@ enum keyd_reply { KEYD_REPLY_UNKNOWN_CMD = 1 }; -static int keyd_version = 2; +static uint32_t keyd_version = 2; #endif /* __KEYD_H__ */ diff --git a/keydb_keyd.c b/keydb_keyd.c index 35d2dc4..e5d46a3 100644 --- a/keydb_keyd.c +++ b/keydb_keyd.c @@ -42,8 +42,8 @@ static int keyd_fd = -1; static void keyd_initdb(bool readonly) { struct sockaddr_un sock; - int cmd = KEYD_CMD_UNKNOWN; - int reply = KEYD_REPLY_UNKNOWN_CMD; + uint32_t cmd = KEYD_CMD_UNKNOWN; + uint32_t reply = KEYD_REPLY_UNKNOWN_CMD; ssize_t count; keyd_fd = socket(PF_UNIX, SOCK_STREAM, 0); @@ -103,7 +103,7 @@ static void keyd_initdb(bool readonly) */ static void keyd_cleanupdb(void) { - int cmd = KEYD_CMD_CLOSE; + uint32_t cmd = KEYD_CMD_CLOSE; if (write(keyd_fd, &cmd, sizeof(cmd)) != sizeof(cmd)) { logthing(LOGTHING_CRITICAL, @@ -164,7 +164,7 @@ static int keyd_fetch_key(uint64_t keyid, struct openpgp_publickey **publickey, { struct buffer_ctx keybuf; struct openpgp_packet_list *packets = NULL; - int cmd = KEYD_CMD_GET; + uint32_t cmd = KEYD_CMD_GET; ssize_t bytes = 0; ssize_t count = 0; @@ -211,7 +211,7 @@ static int keyd_fetch_key(uint64_t keyid, struct openpgp_publickey **publickey, */ static int keyd_delete_key(uint64_t keyid, bool intrans) { - int cmd = KEYD_CMD_DELETE; + uint32_t cmd = KEYD_CMD_DELETE; write(keyd_fd, &cmd, sizeof(cmd)); read(keyd_fd, &cmd, sizeof(cmd)); @@ -243,7 +243,7 @@ static int keyd_store_key(struct openpgp_publickey *publickey, bool intrans, struct openpgp_packet_list *packets = NULL; struct openpgp_packet_list *list_end = NULL; struct openpgp_publickey *next = NULL; - int cmd = KEYD_CMD_STORE; + uint32_t cmd = KEYD_CMD_STORE; uint64_t keyid; keyid = get_keyid(publickey); @@ -294,7 +294,7 @@ static int keyd_fetch_key_text(const char *search, { struct buffer_ctx keybuf; struct openpgp_packet_list *packets = NULL; - int cmd = KEYD_CMD_GETTEXT; + uint32_t cmd = KEYD_CMD_GETTEXT; ssize_t bytes = 0; ssize_t count = 0; @@ -344,7 +344,7 @@ static int keyd_fetch_key_text(const char *search, */ static uint64_t keyd_getfullkeyid(uint64_t keyid) { - int cmd = KEYD_CMD_GETFULLKEYID; + uint32_t cmd = KEYD_CMD_GETFULLKEYID; write(keyd_fd, &cmd, sizeof(cmd)); read(keyd_fd, &cmd, sizeof(cmd)); @@ -373,7 +373,7 @@ static int keyd_iterate_keys(void (*iterfunc)(void *ctx, struct buffer_ctx keybuf; struct openpgp_packet_list *packets = NULL; struct openpgp_publickey *key = NULL; - int cmd = KEYD_CMD_KEYITER; + uint32_t cmd = KEYD_CMD_KEYITER; ssize_t bytes = 0; ssize_t count = 0; int numkeys = 0; -- 2.39.5