aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Deri <lucaderi@users.noreply.github.com>2020-07-09 17:27:53 +0200
committerGitHub <noreply@github.com>2020-07-09 17:27:53 +0200
commit9d8967236e4e221aa01f7c97eb19303ac8a98474 (patch)
treea0923a55c2ce0d2d58ad49a6f747717818aa94a5
parent6511db89413f101d3efafa073b44ad8392181bfa (diff)
parent24fea66a26dcf621b0669b3e2315d694f3a2bf20 (diff)
Merge pull request #957 from lnslbrty/fix/build
Fix/build
-rw-r--r--.travis.yml16
-rw-r--r--example/Makefile.in6
-rw-r--r--example/ndpiReader.c4
-rw-r--r--example/reader_util.c14
-rw-r--r--example/reader_util.h5
-rw-r--r--fuzz/fuzz_ndpi_reader.c2
6 files changed, 25 insertions, 22 deletions
diff --git a/.travis.yml b/.travis.yml
index 406420d3a..789e0e196 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -76,7 +76,7 @@ matrix:
- libpcap-dev
- autogen
env:
- - MATRIX_EVAL="CC=gcc-8 && CXX=g++-8"
+ - MATRIX_EVAL="CC=gcc-8"
- os: linux
compiler: gcc-9
@@ -89,7 +89,7 @@ matrix:
- libpcap-dev
- autogen
env:
- - MATRIX_EVAL="CC=gcc-9 && CXX=g++-9"
+ - MATRIX_EVAL="CC=gcc-9"
- os: linux
compiler: clang-8
@@ -103,7 +103,7 @@ matrix:
- libpcap-dev
- autogen
env:
- - MATRIX_EVAL="CC=clang-8 && CXX=clang++-8"
+ - MATRIX_EVAL="CC=clang-8"
- os: linux
compiler: clang-7
@@ -117,10 +117,10 @@ matrix:
- libpcap-dev
- autogen
env:
- - MATRIX_EVAL="CC=clang-7 && CXX=clang++-7"
+ - MATRIX_EVAL="CC=clang-7"
- name: fuzza
- env: CXXFLAGS="-g -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address -fsanitize=fuzzer-no-link" CFLAGS="-g -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address -fsanitize=fuzzer-no-link" LDFLAGS="-g -fsanitize=address" QA_FUZZ=asan CC=clang-7 && CXX=clang++-7 ASAN_SYMBOLIZER_PATH=/usr/local/clang-7.0.0/bin/llvm-symbolizer
+ env: CFLAGS="-g3 -O0 -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION" LDFLAGS="-g3 -O0" QA_FUZZ=asan CC=clang-7 && ASAN_SYMBOLIZER_PATH=/usr/local/clang-7.0.0/bin/llvm-symbolizer
os: linux
compiler: clang-7
addons:
@@ -133,7 +133,7 @@ matrix:
- libpcap-dev
- autogen
- name: fuzzm
- env: CXXFLAGS="-g -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=memory -fsanitize=fuzzer-no-link" CFLAGS="-g -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=memory -fsanitize=fuzzer-no-link" LDFLAGS="-g -fsanitize=memory" QA_FUZZ=msan CC=clang-7 && CXX=clang++-7 MSAN_SYMBOLIZER_PATH=/usr/local/clang-7.0.0/bin/llvm-symbolizer
+ env: CFLAGS="-g3 -O0 -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=memory -fsanitize=fuzzer-no-link" LDFLAGS="-g3 -O0 -fsanitize=memory" QA_FUZZ=msan CC=clang-7 && MSAN_SYMBOLIZER_PATH=/usr/local/clang-7.0.0/bin/llvm-symbolizer
os: linux
compiler: clang-7
addons:
@@ -146,7 +146,7 @@ matrix:
- libpcap-dev
- autogen
- name: fuzzu
- env: CXXFLAGS="-g -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=undefined -fsanitize=fuzzer-no-link" CFLAGS="-g -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=undefined -fno-sanitize-recover=undefined,integer -fsanitize=fuzzer-no-link" LDFLAGS="-g -fsanitize=undefined" QA_FUZZ=ubsan CC=clang-7 && CXX=clang++-7
+ env: CFLAGS="-g3 -O0 -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION" LDFLAGS="-g3 -O0" QA_FUZZ=ubsan CC=clang-7
os: linux
compiler: clang-7
addons:
@@ -168,7 +168,7 @@ before_script:
# - lcov --directory . --zerocounters
script:
- - if [ -n "$QA_FUZZ" ]; then ./configure --enable-fuzztargets ; else ./configure ; fi
+ - if [ -n "$QA_FUZZ" -a "$QA_FUZZ" != "msan" ]; then ./configure --enable-fuzztargets ; else ./configure ; fi
- make
#after_script:
diff --git a/example/Makefile.in b/example/Makefile.in
index d71ce3f01..df7885166 100644
--- a/example/Makefile.in
+++ b/example/Makefile.in
@@ -11,14 +11,14 @@ PREFIX?=@prefix@
all: ndpiReader @DPDK_TARGET@
-EXECUTABLE_SOURCES := ndpiReader.c
+EXECUTABLE_SOURCES := ndpiReader.c ndpiSimpleIntegration.c
COMMON_SOURCES := $(filter-out $(EXECUTABLE_SOURCES),$(wildcard *.c ))
libndpiReader.a: $(COMMON_SOURCES:%.c=%.o) $(LIBNDPI)
ar rsv libndpiReader.a $(COMMON_SOURCES:%.c=%.o)
-ndpiReader: libndpiReader.a $(LIBNDPI) $(EXECUTABLE_SOURCES:%.c=%.o)
- $(CC) $(CFLAGS) $(EXECUTABLE_SOURCES:%.c=%.o) libndpiReader.a -o $@ $(LDFLAGS)
+ndpiReader: libndpiReader.a $(LIBNDPI) ndpiReader.o
+ $(CC) $(CFLAGS) ndpiReader.o libndpiReader.a -o $@ $(LDFLAGS)
ndpiSimpleIntegration: ndpiSimpleIntegration.o
$(CC) $(CFLAGS) $< -o $@ $(LDFLAGS)
diff --git a/example/ndpiReader.c b/example/ndpiReader.c
index 58f2ad366..02a4b61de 100644
--- a/example/ndpiReader.c
+++ b/example/ndpiReader.c
@@ -1420,7 +1420,7 @@ static void node_proto_guess_walker(const void *node, ndpi_VISIT which, int dept
flow->ndpi_flow, enable_protocol_guess, &proto_guessed);
}
- process_ndpi_collected_info(ndpi_thread_info[thread_id].workflow, flow);
+ process_ndpi_collected_info(ndpi_thread_info[thread_id].workflow, flow, csv_fp);
proto = flow->detected_protocol.app_protocol ? flow->detected_protocol.app_protocol : flow->detected_protocol.master_protocol;
@@ -2946,7 +2946,7 @@ static void ndpi_process_packet(u_char *args,
uint8_t *packet_checked = malloc(header->caplen);
memcpy(packet_checked, packet, header->caplen);
- p = ndpi_workflow_process_packet(ndpi_thread_info[thread_id].workflow, header, packet_checked);
+ p = ndpi_workflow_process_packet(ndpi_thread_info[thread_id].workflow, header, packet_checked, csv_fp);
if(!pcap_start.tv_sec) pcap_start.tv_sec = header->ts.tv_sec, pcap_start.tv_usec = header->ts.tv_usec;
pcap_end.tv_sec = header->ts.tv_sec, pcap_end.tv_usec = header->ts.tv_usec;
diff --git a/example/reader_util.c b/example/reader_util.c
index c07cadeff..55dc0c667 100644
--- a/example/reader_util.c
+++ b/example/reader_util.c
@@ -89,7 +89,6 @@
extern u_int8_t enable_protocol_guess, enable_joy_stats, enable_payload_analyzer;
extern u_int8_t verbose, human_readeable_string_len;
extern u_int8_t max_num_udp_dissected_pkts /* 8 */, max_num_tcp_dissected_pkts /* 10 */;
-extern FILE *csv_fp;
static u_int32_t flow_id = 0;
/* ****************************************************** */
@@ -1022,7 +1021,7 @@ void correct_csv_data_field(char* data) {
/* ****************************************************** */
-void process_ndpi_collected_info(struct ndpi_workflow * workflow, struct ndpi_flow_info *flow) {
+void process_ndpi_collected_info(struct ndpi_workflow * workflow, struct ndpi_flow_info *flow, FILE * csv_fp) {
u_int i;
if(!flow->ndpi_flow) return;
@@ -1290,7 +1289,8 @@ static struct ndpi_proto packet_processing(struct ndpi_workflow * workflow,
u_int16_t ipsize, u_int16_t rawsize,
const struct pcap_pkthdr *header,
const u_char *packet,
- struct timeval when) {
+ struct timeval when,
+ FILE * csv_fp) {
struct ndpi_id_struct *src, *dst;
struct ndpi_flow_info *flow = NULL;
struct ndpi_flow_struct *ndpi_flow = NULL;
@@ -1513,7 +1513,7 @@ static struct ndpi_proto packet_processing(struct ndpi_workflow * workflow,
enable_protocol_guess, &proto_guessed);
}
- process_ndpi_collected_info(workflow, flow);
+ process_ndpi_collected_info(workflow, flow, csv_fp);
}
}
}
@@ -1525,7 +1525,8 @@ static struct ndpi_proto packet_processing(struct ndpi_workflow * workflow,
struct ndpi_proto ndpi_workflow_process_packet(struct ndpi_workflow * workflow,
const struct pcap_pkthdr *header,
- const u_char *packet) {
+ const u_char *packet,
+ FILE * csv_fp) {
/*
* Declare pointers to packet headers
*/
@@ -1945,7 +1946,8 @@ struct ndpi_proto ndpi_workflow_process_packet(struct ndpi_workflow * workflow,
/* process the packet */
return(packet_processing(workflow, time_ms, vlan_id, tunnel_type, iph, iph6,
ip_offset, header->caplen - ip_offset,
- header->caplen, header, packet, header->ts));
+ header->caplen, header, packet, header->ts,
+ csv_fp));
}
/* ********************************************************** */
diff --git a/example/reader_util.h b/example/reader_util.h
index 75d66bfd4..d4e3dc74f 100644
--- a/example/reader_util.h
+++ b/example/reader_util.h
@@ -308,7 +308,8 @@ void ndpi_free_flow_info_half(struct ndpi_flow_info *flow);
/* Process a packet and update the workflow */
struct ndpi_proto ndpi_workflow_process_packet(struct ndpi_workflow * workflow,
const struct pcap_pkthdr *header,
- const u_char *packet);
+ const u_char *packet,
+ FILE * csv_fp);
/* flow callbacks for complete detected flow
@@ -327,7 +328,7 @@ static inline void ndpi_workflow_set_flow_giveup_callback(struct ndpi_workflow *
/* compare two nodes in workflow */
int ndpi_workflow_node_cmp(const void *a, const void *b);
-void process_ndpi_collected_info(struct ndpi_workflow * workflow, struct ndpi_flow_info *flow);
+void process_ndpi_collected_info(struct ndpi_workflow * workflow, struct ndpi_flow_info *flow, FILE * csv_fp);
u_int32_t ethernet_crc32(const void* data, size_t n_bytes);
void ndpi_flow_info_free_data(struct ndpi_flow_info *flow);
void ndpi_flow_info_freer(void *node);
diff --git a/fuzz/fuzz_ndpi_reader.c b/fuzz/fuzz_ndpi_reader.c
index 3d35cf89b..4360bbb55 100644
--- a/fuzz/fuzz_ndpi_reader.c
+++ b/fuzz/fuzz_ndpi_reader.c
@@ -83,7 +83,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {
/* allocate an exact size buffer to check overflows */
uint8_t *packet_checked = malloc(header->caplen);
memcpy(packet_checked, pkt, header->caplen);
- ndpi_workflow_process_packet(workflow, header, packet_checked);
+ ndpi_workflow_process_packet(workflow, header, packet_checked, NULL);
free(packet_checked);
r = pcap_next_ex(pkts, &header, &pkt);
}