Skip to content

Commit

Permalink
Don't exit wolfSSHd daemon on recoverable fcntl failure
Browse files Browse the repository at this point in the history
  • Loading branch information
lealem47 committed Jul 11, 2024
1 parent 0f9e873 commit b0cf4cf
Showing 1 changed file with 15 additions and 6 deletions.
21 changes: 15 additions & 6 deletions apps/wolfsshd/wolfsshd.c
Original file line number Diff line number Diff line change
Expand Up @@ -2413,19 +2413,28 @@ static int StartSSHD(int argc, char** argv)
#ifdef USE_WINDOWS_API
unsigned long blocking = 1;
if (ioctlsocket(conn->fd, FIONBIO, &blocking)
== SOCKET_ERROR)
err_sys("ioctlsocket failed");
== SOCKET_ERROR) {
WLOG(WS_LOG_DEBUG, "wolfSSH non-fatal error: "
"ioctlsocket failed");
continue;
}
#elif defined(WOLFSSL_MDK_ARM) || defined(WOLFSSL_KEIL_TCP_NET) \
|| defined (WOLFSSL_TIRTOS)|| defined(WOLFSSL_VXWORKS) || \
defined(WOLFSSL_NUCLEUS)
/* non blocking not supported, for now */
#else
int flags = fcntl(conn->fd, F_GETFL, 0);
if (flags < 0)
err_sys("fcntl get failed");
if (flags < 0) {
WLOG(WS_LOG_DEBUG, "wolfSSH non-fatal error: "
"fcntl get failed");
continue;
}
flags = fcntl(conn->fd, F_SETFL, flags | O_NONBLOCK);
if (flags < 0)
err_sys("fcntl set failed");
if (flags < 0) {
WLOG(WS_LOG_DEBUG, "wolfSSH non-fatal error: "
"fcntl set failed");
continue;
}
#endif
}
ret = NewConnection(conn);
Expand Down

0 comments on commit b0cf4cf

Please sign in to comment.