diff options
-rw-r--r-- | CMakeLists.txt | 6 | ||||
-rw-r--r-- | src/adaptor/dlt-adaptor-udp.c | 8 | ||||
-rw-r--r-- | src/daemon/dlt_daemon_socket.c | 4 | ||||
-rw-r--r-- | src/system/dlt-system-syslog.c | 8 |
4 files changed, 26 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index ccf2ba2..30587f5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -72,6 +72,7 @@ option(WITH_DLT_CXX11_EXT "Set to ON to build C++11 extensions" option(WITH_DLT_COREDUMPHANDLER "EXPERIMENTAL! Set to ON to build src/core_dump_handler binaries. EXPERIMENTAL" OFF) option(WITH_DLT_LOGSTORAGE_CTRL_UDEV "PROTOTYPE! Set to ON to build logstorage control application with udev support" OFF) option(WITH_DLT_LOGSTORAGE_CTRL_PROP "PROTOTYPE! Set to ON to build logstorage control application with proprietary support" OFF) +option(WITH_DLT_USE_IPv6 "Set to ON for IPv6 support" ON) # RPM settings set( GENIVI_RPM_RELEASE "1")#${DLT_REVISION}") set( LICENSE "Mozilla Public License Version 2.0" ) @@ -110,6 +111,10 @@ if(WITH_DLT_SHM_ENABLE) add_definitions( -DDLT_SHM_ENABLE) endif(WITH_DLT_SHM_ENABLE) +if(WITH_DLT_USE_IPv6) + add_definitions( -DDLT_USE_IPv6) +endif(WITH_DLT_USE_IPv6) + if(WITH_GPROF) SET(CMAKE_C_FLAGS "-pg") endif(WITH_GPROF) @@ -204,6 +209,7 @@ message( STATUS "WITH_DLT_COREDUMPHANDLER = ${WITH_DLT_COREDUMPHANDLER}" ) message( STATUS "WITH_CHECK_CONFIG_FILE = ${WITH_CHECK_CONFIG_FILE}" ) message( STATUS "WITH_TESTSCRIPTS = ${WITH_TESTSCRIPTS}" ) message( STATUS "WITH_GPROF = ${WITH_GPROF}" ) +message( STATUS "WITH_DLT_USE_IPv6 = ${WITH_DLT_USE_IPv6}" ) message( STATUS "BUILD_SHARED_LIBS = ${BUILD_SHARED_LIBS}" ) message( STATUS "TARGET_CPU_NAME = ${TARGET_CPU_NAME}" ) if(WITH_SYSTEMD_JOURNAL) diff --git a/src/adaptor/dlt-adaptor-udp.c b/src/adaptor/dlt-adaptor-udp.c index 9e4ce74..3f62033 100644 --- a/src/adaptor/dlt-adaptor-udp.c +++ b/src/adaptor/dlt-adaptor-udp.c @@ -152,13 +152,21 @@ int main(int argc, char* argv[]) } } +#ifdef DLT_USE_IPv6 if ((sock = socket(AF_INET6, SOCK_DGRAM, 0)) == -1) +#else + if ((sock = socket(AF_INET, SOCK_DGRAM, 0)) == -1) +#endif { perror("Socket"); exit(1); } +#ifdef DLT_USE_IPv6 server_addr.sin_family = AF_INET6; +#else + server_addr.sin_family = AF_INET; +#endif server_addr.sin_port = htons(port); server_addr.sin_addr.s_addr = INADDR_ANY; bzero(&(server_addr.sin_zero), 8); diff --git a/src/daemon/dlt_daemon_socket.c b/src/daemon/dlt_daemon_socket.c index 1054e9a..686f4d6 100644 --- a/src/daemon/dlt_daemon_socket.c +++ b/src/daemon/dlt_daemon_socket.c @@ -71,7 +71,11 @@ int dlt_daemon_socket_open(int *sock, unsigned int servPort) int rv; memset(&hints, 0, sizeof hints); +#ifdef DLT_USE_IPv6 hints.ai_family = AF_INET6; // force IPv6 - will still work with IPv4 +#else + hints.ai_family = AF_INET; +#endif hints.ai_socktype = SOCK_STREAM; hints.ai_flags = AI_PASSIVE; // use my IP address diff --git a/src/system/dlt-system-syslog.c b/src/system/dlt-system-syslog.c index aa60e55..0f498b9 100644 --- a/src/system/dlt-system-syslog.c +++ b/src/system/dlt-system-syslog.c @@ -70,7 +70,11 @@ int init_socket(SyslogOptions opts) int sock = -1; struct sockaddr_in syslog_addr; +#ifdef DLT_USE_IPv6 sock = socket(AF_INET6, SOCK_DGRAM, 0); +#else + sock = socket(AF_INET, SOCK_DGRAM, 0); +#endif if(sock < 0) { DLT_LOG(syslogContext, DLT_LOG_FATAL, @@ -78,7 +82,11 @@ int init_socket(SyslogOptions opts) return -1; } +#ifdef DLT_USE_IPv6 syslog_addr.sin_family = AF_INET6; +#else + syslog_addr.sin_family = AF_INET; +#endif syslog_addr.sin_port = htons(opts.Port); syslog_addr.sin_addr.s_addr = INADDR_ANY; bzero(&(syslog_addr.sin_zero), 8); |