changeset 1028:5ad81aa19c2d fastopen

fallback for old glibc and fastopen memset rather than = {0} initialiser
author Matt Johnston <matt@ucc.asn.au>
date Thu, 19 Feb 2015 22:33:51 +0800
parents daf21fd50abf
children 1fff5d7163f6
files dbutil.c dbutil.h
diffstat 2 files changed, 9 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/dbutil.c	Thu Feb 19 00:32:00 2015 +0800
+++ b/dbutil.c	Thu Feb 19 22:33:51 2015 +0800
@@ -1070,9 +1070,10 @@
 #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;
 
--- a/dbutil.h	Thu Feb 19 00:32:00 2015 +0800
+++ b/dbutil.h	Thu Feb 19 22:33:51 2015 +0800
@@ -80,6 +80,13 @@
 #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,