catchsignals() normally catches SIGPIPE and sets the cleanup flag,
as per the other signals it catches. This is fine for the HKP CGI,
but not appropriate for keyd (as it's probably because the client
has exited without doing appropriate cleanup). Ignore it; we'll
deal with the error when we try to read/write to the socket.
#include <errno.h>
#include <fcntl.h>
#include <getopt.h>
#include <errno.h>
#include <fcntl.h>
#include <getopt.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+ signal(SIGPIPE, SIG_IGN);
+
snprintf(sockname, 1023, "%s/%s", config.db_dir, KEYD_SOCKET);
fd = sock_init(sockname);
snprintf(sockname, 1023, "%s/%s", config.db_dir, KEYD_SOCKET);
fd = sock_init(sockname);