From d2522e282184975668c4629dca1b2428781f5fe3 Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Sat, 8 Feb 2020 10:16:13 -0600 Subject: [PATCH] apps/netutils/telnetd: Fix undefined reference to setsockopt. Recent change from Xiao Xiang enabled the SO_REUSEADDR socket option unconditionally. This, of course, causes link time failures if socket options are not enabled: apps/netutils/telnetd/telnetd_daemon.c:182: undefined reference to 'setsockopt'. Observed during build testing with configuration rddrone-uavcan144:nsh --- netutils/telnetd/telnetd_daemon.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/netutils/telnetd/telnetd_daemon.c b/netutils/telnetd/telnetd_daemon.c index 776460f9b..1720e3227 100644 --- a/netutils/telnetd/telnetd_daemon.c +++ b/netutils/telnetd/telnetd_daemon.c @@ -176,6 +176,7 @@ static int telnetd_daemon(int argc, FAR char *argv[]) goto errout_with_daemon; } +#ifdef CONFIG_NET_SOCKOPTS /* Set socket to reuse address */ optval = 1; @@ -185,6 +186,7 @@ static int telnetd_daemon(int argc, FAR char *argv[]) nerr("ERROR: setsockopt SO_REUSEADDR failure: %d\n", errno); goto errout_with_socket; } +#endif /* Bind the socket to a local address */ @@ -261,9 +263,9 @@ static int telnetd_daemon(int argc, FAR char *argv[]) } } +#ifdef CONFIG_NET_SOLINGER /* Configure to "linger" until all data is sent when the socket is closed */ -#ifdef CONFIG_NET_SOLINGER ling.l_onoff = 1; ling.l_linger = 30; /* timeout is seconds */ if (setsockopt(acceptsd, SOL_SOCKET, SO_LINGER, &ling, sizeof(struct linger)) < 0)