From: Jonathan McDowell Date: Tue, 29 Mar 2011 15:14:31 +0000 (-0800) Subject: Explicitly use 32 bits for keyd socket commands X-Git-Url: https://git.sommitrealweird.co.uk/onak.git/commitdiff_plain/59e5def499b3e9ae3587ebae2bef8794a1df34ea?ds=sidebyside;hp=b66594a4e361b7363ccec13680d158f90a71e04b 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. --- 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;