aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--extcap/extcap-base.h28
-rw-r--r--sharkd_daemon.c25
-rw-r--r--wsutil/Makefile.am1
-rw-r--r--wsutil/socket.h81
5 files changed, 87 insertions, 49 deletions
diff --git a/.gitignore b/.gitignore
index 069b9d9a2c..1c319508d7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -105,6 +105,7 @@ randpktdump
rawshark
reordercap
reassemble_test
+sharkd
sshdump
stamp-h1
text2pcap
diff --git a/extcap/extcap-base.h b/extcap/extcap-base.h
index 36348f8e66..e8fc229216 100644
--- a/extcap/extcap-base.h
+++ b/extcap/extcap-base.h
@@ -43,33 +43,7 @@
#include <io.h>
#endif
-#if defined(_WIN32) && !defined(__CYGWIN__)
- #ifdef HAVE_WINDOWS_H
- #include <windows.h>
- #endif
-
- #include <ws2tcpip.h>
-
- #ifdef HAVE_WINSOCK2_H
- #include <winsock2.h>
- #endif
-
- #include <process.h>
-
- #define socket_handle_t SOCKET
-#else
- /*
- * UN*X, or Windows pretending to be UN*X with the aid of Cygwin.
- */
- #define closesocket(socket) close(socket)
- #define socket_handle_t int
- #define INVALID_SOCKET (-1)
- #define SOCKET_ERROR (-1)
-#endif
-
-#ifdef HAVE_ARPA_INET_H
- #include <arpa/inet.h>
-#endif
+#include <wsutil/socket.h>
#define EXTCAP_BASE_OPTIONS_ENUM \
EXTCAP_OPT_LIST_INTERFACES, \
diff --git a/sharkd_daemon.c b/sharkd_daemon.c
index 408c6dbd8d..ca176ca097 100644
--- a/sharkd_daemon.c
+++ b/sharkd_daemon.c
@@ -35,9 +35,7 @@
#include <unistd.h>
#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
+#include <wsutil/socket.h>
#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h>
@@ -48,23 +46,6 @@
#include <netinet/tcp.h>
#endif
-/*
-#if defined(_WIN32)
- #ifdef HAVE_WINDOWS_H
- #include <windows.h>
- #endif
-
- #include <ws2tcpip.h>
-
- #ifdef HAVE_WINSOCK2_H
- #include <winsock2.h>
- #endif
-#endif
-*/
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-
#include <wsutil/strtoi.h>
#include "sharkd.h"
@@ -80,7 +61,7 @@ socket_init(char *path)
if (!strncmp(path, "unix:", 5))
{
struct sockaddr_un s_un;
- size_t s_un_len;
+ socklen_t s_un_len;
path += 5;
@@ -95,7 +76,7 @@ socket_init(char *path)
s_un.sun_family = AF_UNIX;
g_strlcpy(s_un.sun_path, path, sizeof(s_un.sun_path));
- s_un_len = offsetof(struct sockaddr_un, sun_path) + strlen(s_un.sun_path);
+ s_un_len = (socklen_t)(offsetof(struct sockaddr_un, sun_path) + strlen(s_un.sun_path));
if (s_un.sun_path[0] == '@')
s_un.sun_path[0] = '\0';
diff --git a/wsutil/Makefile.am b/wsutil/Makefile.am
index a8642d4e10..76b968b66b 100644
--- a/wsutil/Makefile.am
+++ b/wsutil/Makefile.am
@@ -83,6 +83,7 @@ libwsutil_nonrepl_INCLUDES = \
sha2.h \
sign_ext.h \
sober128.h \
+ socket.h \
str_util.h \
strnatcmp.h \
strtoi.h \
diff --git a/wsutil/socket.h b/wsutil/socket.h
new file mode 100644
index 0000000000..a26eb35363
--- /dev/null
+++ b/wsutil/socket.h
@@ -0,0 +1,81 @@
+/* socket.h
+ * Socket wrappers
+ *
+ * Copyright 2016, Dario Lombardo
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+#ifndef __SOCKET_H__
+#define __SOCKET_H__
+
+#include "config.h"
+
+#if defined(_WIN32) && !defined(__CYGWIN__)
+ #ifdef HAVE_WINDOWS_H
+ #include <windows.h>
+ #endif
+
+ #include <ws2tcpip.h>
+
+ #ifdef HAVE_WINSOCK2_H
+ #include <winsock2.h>
+ #endif
+
+ #include <process.h>
+
+ #define socket_handle_t SOCKET
+ #define socklen_t int
+#else
+ /*
+ * UN*X, or Windows pretending to be UN*X with the aid of Cygwin.
+ */
+ #ifdef HAVE_UNISTD_H
+ /*
+ * For close().
+ */
+ #include <unistd.h>
+ #endif
+ #ifdef HAVE_SYS_SOCKET_H
+ #include <sys/socket.h>
+ #endif
+
+ #define closesocket(socket) close(socket)
+ #define socket_handle_t int
+ #define INVALID_SOCKET (-1)
+ #define SOCKET_ERROR (-1)
+#endif
+
+#ifdef HAVE_ARPA_INET_H
+ #include <arpa/inet.h>
+#endif
+
+#endif /* __SOCKET_H__ */
+
+/*
+ * Editor modelines - https://www.wireshark.org/tools/modelines.html
+ *
+ * Local variables:
+ * c-basic-offset: 8
+ * tab-width: 8
+ * indent-tabs-mode: t
+ * End:
+ *
+ * vi: set shiftwidth=8 tabstop=8 noexpandtab:
+ * :indentSize=8:tabSize=8:noTabs=false:
+ */