projects
/
onak.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add an element to the keyd command enum for the last supported command
[onak.git]
/
keydb_keyd.c
diff --git
a/keydb_keyd.c
b/keydb_keyd.c
index 3f199bd8c09d319c66344a8f842fdb1fa39a0971..e5d46a335a4b1ea17d3a13bf3c39a04d22de0666 100644
(file)
--- 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;
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);
ssize_t count;
keyd_fd = socket(PF_UNIX, SOCK_STREAM, 0);
@@
-103,10
+103,23
@@
static void keyd_initdb(bool readonly)
*/
static void keyd_cleanupdb(void)
{
*/
static void keyd_cleanupdb(void)
{
+ uint32_t cmd = KEYD_CMD_CLOSE;
+
+ if (write(keyd_fd, &cmd, sizeof(cmd)) != sizeof(cmd)) {
+ logthing(LOGTHING_CRITICAL,
+ "Couldn't send close cmd: %s (%d)",
+ strerror(errno),
+ errno);
+ }
+
if (shutdown(keyd_fd, SHUT_RDWR) < 0) {
logthing(LOGTHING_NOTICE, "Error shutting down socket: %d",
errno);
}
if (shutdown(keyd_fd, SHUT_RDWR) < 0) {
logthing(LOGTHING_NOTICE, "Error shutting down socket: %d",
errno);
}
+ if (close(keyd_fd) < 0) {
+ logthing(LOGTHING_NOTICE, "Error closing down socket: %d",
+ errno);
+ }
keyd_fd = -1;
return;
keyd_fd = -1;
return;
@@
-151,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;
{
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;
ssize_t bytes = 0;
ssize_t count = 0;
@@
-198,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)
{
*/
static int keyd_delete_key(uint64_t keyid, bool intrans)
{
-
in
t cmd = KEYD_CMD_DELETE;
+
uint32_
t cmd = KEYD_CMD_DELETE;
write(keyd_fd, &cmd, sizeof(cmd));
read(keyd_fd, &cmd, sizeof(cmd));
write(keyd_fd, &cmd, sizeof(cmd));
read(keyd_fd, &cmd, sizeof(cmd));
@@
-230,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;
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);
uint64_t keyid;
keyid = get_keyid(publickey);
@@
-281,7
+294,7
@@
static int keyd_fetch_key_text(const char *search,
{
struct buffer_ctx keybuf;
struct openpgp_packet_list *packets = NULL;
{
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;
ssize_t bytes = 0;
ssize_t count = 0;
@@
-331,7
+344,7
@@
static int keyd_fetch_key_text(const char *search,
*/
static uint64_t keyd_getfullkeyid(uint64_t keyid)
{
*/
static uint64_t keyd_getfullkeyid(uint64_t keyid)
{
-
in
t cmd = KEYD_CMD_GETFULLKEYID;
+
uint32_
t cmd = KEYD_CMD_GETFULLKEYID;
write(keyd_fd, &cmd, sizeof(cmd));
read(keyd_fd, &cmd, sizeof(cmd));
write(keyd_fd, &cmd, sizeof(cmd));
read(keyd_fd, &cmd, sizeof(cmd));
@@
-360,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;
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;
ssize_t bytes = 0;
ssize_t count = 0;
int numkeys = 0;