aboutsummaryrefslogtreecommitdiffstats
path: root/dirmngr/dirmngr.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2017-12-12 13:14:40 +0000
committerWerner Koch <[email protected]>2017-12-12 13:14:40 +0000
commitc81a447190d2763ac4c64b2e74e22e824da8aba3 (patch)
treef1234bef88b3bab5d44e9e9718f62aa5b2a74d7b /dirmngr/dirmngr.c
parentbuild: New configure option --enable-run-gnupg-user-socket. (diff)
downloadgnupg-c81a447190d2763ac4c64b2e74e22e824da8aba3.tar.gz
gnupg-c81a447190d2763ac4c64b2e74e22e824da8aba3.zip
Change backlog from 5 to 64 and provide option --listen-backlog.
* agent/gpg-agent.c (oListenBacklog): New const. (opts): New option --listen-backlog. (listen_backlog): New var. (main): Parse new options. (create_server_socket): Use var instead of 5. * dirmngr/dirmngr.c: Likewise. * scd/scdaemon.c: Likewise. -- GnuPG-bug-id: 3473 Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'dirmngr/dirmngr.c')
-rw-r--r--dirmngr/dirmngr.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/dirmngr/dirmngr.c b/dirmngr/dirmngr.c
index 9cb02036e..17adae2f4 100644
--- a/dirmngr/dirmngr.c
+++ b/dirmngr/dirmngr.c
@@ -151,6 +151,7 @@ enum cmd_and_opt_values {
oResolverTimeout,
oConnectTimeout,
oConnectQuickTimeout,
+ oListenBacklog,
aTest
};
@@ -256,6 +257,7 @@ static ARGPARSE_OPTS opts[] = {
ARGPARSE_s_i (oResolverTimeout, "resolver-timeout", "@"),
ARGPARSE_s_i (oConnectTimeout, "connect-timeout", "@"),
ARGPARSE_s_i (oConnectQuickTimeout, "connect-quick-timeout", "@"),
+ ARGPARSE_s_i (oListenBacklog, "listen-backlog", "@"),
ARGPARSE_group (302,N_("@\n(See the \"info\" manual for a complete listing "
"of all commands and options)\n")),
@@ -296,6 +298,10 @@ static const char *redir_socket_name;
POSIX systems). */
static assuan_sock_nonce_t socket_nonce;
+/* Value for the listen() backlog argument.
+ * Change at runtime with --listen-backlog. */
+static int listen_backlog = 64;
+
/* Only if this flag has been set will we remove the socket file. */
static int cleanup_socket;
@@ -1019,6 +1025,10 @@ main (int argc, char **argv)
case oSocketName: socket_name = pargs.r.ret_str; break;
+ case oListenBacklog:
+ listen_backlog = pargs.r.ret_int;
+ break;
+
default : pargs.err = configfp? 1:2; break;
}
}
@@ -1263,9 +1273,10 @@ main (int argc, char **argv)
log_error (_("can't set permissions of '%s': %s\n"),
serv_addr.sun_path, strerror (errno));
- if (listen (FD2INT (fd), 5) == -1)
+ if (listen (FD2INT (fd), listen_backlog) == -1)
{
- log_error (_("listen() failed: %s\n"), strerror (errno));
+ log_error ("listen(fd,%d) failed: %s\n",
+ listen_backlog, strerror (errno));
assuan_sock_close (fd);
dirmngr_exit (1);
}