summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAdrianStoenescu <51166009+AdrianStoenescu@users.noreply.github.com>2019-07-25 13:36:49 +0300
committerSaya Sugiura <ssugiura@jp.adit-jv.com>2019-09-03 10:44:45 +0900
commit01a1935ec1e2ebf0601a6ff55ac957c92d6cbfa5 (patch)
treea5388bbd0300b8f77ba6e9b317b316c137fcc010 /include
parent716ecb8e223f1c89ca2a6200091ad15febb09144 (diff)
downloadDLT-daemon-01a1935ec1e2ebf0601a6ff55ac957c92d6cbfa5.tar.gz
Add option in dlt.conf for bindAddress to specific IPs (#130)
Add the possibility to have in dlt.conf an option that specifies a set of IP addresses. The daemon will do a socket bind only for this list, therefore external connections will be limited to this set of IP addresses. If this option is not given, the default INADDR_ANY is used ("0.0.0.0") as before. The option in dlt.conf can look like this: BindAddress = 160.48.199.98;160.48.199.97;160.48.199.226,160.48.199.186;160.48.199.139;172.16.222.99 There can be as many addresses but only specified on one single line. They have to be delimited by ',' or ';'. ' ' (space) delimiter does not work. IPv6 addresses are supported as well. For instance: BindAddress = fe80::255:7bff:feb5:7df7 IPv6 addresses are acceptable only if DLT_USE_IPv6 flag is ON at compile time. IPv4 addresses are acceptable only if DLT_USE_IPv6 flag is OFF at compile time. One cannot have both IPv4 and IPv6 format in the same time. Signed-off-by: Adrian Stoenescu Adrian.Stoenescu@harman.com
Diffstat (limited to 'include')
-rw-r--r--include/dlt/dlt_common.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/dlt/dlt_common.h b/include/dlt/dlt_common.h
index 4f030a5..2eec4d2 100644
--- a/include/dlt/dlt_common.h
+++ b/include/dlt/dlt_common.h
@@ -73,6 +73,7 @@
\{
*/
+# include <netinet/in.h>
# include <stdio.h>
# ifdef __linux__
# include <linux/limits.h>
@@ -817,6 +818,17 @@ typedef struct
int size;
} DltBufferBlockHead;
+# ifdef DLT_USE_IPv6
+# define DLT_IP_SIZE (INET6_ADDRSTRLEN)
+# else
+# define DLT_IP_SIZE (INET_ADDRSTRLEN)
+# endif
+typedef struct DltBindAddress
+{
+ char ip[DLT_IP_SIZE];
+ struct DltBindAddress *next;
+} DltBindAddress_t;
+
# define DLT_MESSAGE_ERROR_OK 0
# define DLT_MESSAGE_ERROR_UNKNOWN -1
# define DLT_MESSAGE_ERROR_SIZE -2