From e4fdbd56bfbf24342a6d1d99578e7080bc514017 Mon Sep 17 00:00:00 2001 From: Matt Johnston Date: Thu, 19 Feb 2015 22:33:51 +0800 Subject: fallback for old glibc and fastopen memset rather than = {0} initialiser --- dbutil.c | 3 ++- dbutil.h | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/dbutil.c b/dbutil.c index 01b541c..a0d3f75 100644 --- a/dbutil.c +++ b/dbutil.c @@ -1070,9 +1070,10 @@ static void connect_try_next(struct dropbear_progress_connection *c) { #endif #else { - struct msghdr message = {0}; + struct msghdr message; int flags; int res; + memset(&message, 0x0, sizeof(message)); message.msg_name = r->ai_addr; message.msg_namelen = r->ai_addrlen; diff --git a/dbutil.h b/dbutil.h index c82e494..b4a8f42 100644 --- a/dbutil.h +++ b/dbutil.h @@ -80,6 +80,13 @@ void set_sock_priority(int sock, enum dropbear_prio prio); #if defined(__linux__) && HAVE_SENDMSG #define DROPBEAR_TCP_FAST_OPEN void set_listen_fast_open(int sock); +/* may be supported by kernel but not libc */ +#ifndef TCP_FASTOPEN +#define TCP_FASTOPEN 23 +#endif +#ifndef MSG_FASTOPEN +#define MSG_FASTOPEN 0x20000000 +#endif #endif int dropbear_listen(const char* address, const char* port, -- cgit v1.2.1