diff --git a/app/src/main/jni/core/capture_libpcap.c b/app/src/main/jni/core/capture_libpcap.c index fdc5eaf8..0cfa2356 100644 --- a/app/src/main/jni/core/capture_libpcap.c +++ b/app/src/main/jni/core/capture_libpcap.c @@ -161,11 +161,10 @@ static int connectPcapd(pcapdroid_t *pd) { log_d("BPF filter is in use"); } -#ifdef ANDROID if(pd->pcap_file_capture) { // must be a file path if(access(pd->pcap.capture_interface, F_OK)) { - log_f("The specified PCAP file does not exist"); + log_f("The specified PCAP file does not exist: %s", pd->pcap.capture_interface); goto cleanup; } } else { @@ -175,7 +174,6 @@ static int connectPcapd(pcapdroid_t *pd) { goto cleanup; } } -#endif // Start the daemon char args[256]; diff --git a/app/src/main/jni/pcapd/pcapd_priv.h b/app/src/main/jni/pcapd/pcapd_priv.h index 5e85550e..0ddaf774 100644 --- a/app/src/main/jni/pcapd/pcapd_priv.h +++ b/app/src/main/jni/pcapd/pcapd_priv.h @@ -23,6 +23,8 @@ #include #include #include +#include + #include "nl_utils.h" #include "common/uid_lru.h" #include "common/uid_resolver.h" diff --git a/app/src/main/jni/tests/CMakeLists.txt b/app/src/main/jni/tests/CMakeLists.txt index 73b30665..ea17b44e 100644 --- a/app/src/main/jni/tests/CMakeLists.txt +++ b/app/src/main/jni/tests/CMakeLists.txt @@ -1,5 +1,5 @@ -project(tests) cmake_minimum_required(VERSION 3.18.1) +project(tests) option(FUZZING "Build for Fuzz Testing" OFF) diff --git a/app/src/main/jni/tests/test/CMakeLists.txt b/app/src/main/jni/tests/test/CMakeLists.txt index efc8b5e9..037ab3a1 100644 --- a/app/src/main/jni/tests/test/CMakeLists.txt +++ b/app/src/main/jni/tests/test/CMakeLists.txt @@ -26,9 +26,9 @@ add_test(NAME blacklist_match COMMAND ./blacklist match) add_test(NAME blacklist_detection COMMAND ./blacklist detection) test_source(dump_api) -#~ add_test(NAME dump_api_snaplen COMMAND ./dump_api snaplen) +add_test(NAME dump_api_snaplen COMMAND ./dump_api snaplen) add_test(NAME dump_api_max_pkts_flow COMMAND ./dump_api max_pkts_per_flow) -#~ add_test(NAME dump_api_max_size COMMAND ./dump_api max_dump_size) +add_test(NAME dump_api_max_size COMMAND ./dump_api max_dump_size) -#~ test_source(root_capture) -#~ add_test(NAME root_capture COMMAND ./root_capture invalid_pkts) +test_source(root_capture) +add_test(NAME root_capture COMMAND ./root_capture invalid_pkts) diff --git a/app/src/main/jni/tests/test/dump_api.c b/app/src/main/jni/tests/test/dump_api.c index 8dba6ddb..637b861f 100644 --- a/app/src/main/jni/tests/test/dump_api.c +++ b/app/src/main/jni/tests/test/dump_api.c @@ -91,7 +91,7 @@ static void max_pkts_per_flow() { src_ip = pkt.tuple.src_ip; dst_ip = pkt.tuple.dst_ip; - remote_ip = (zdtun_cmp_ip(4, &pkt.tuple.src_ip, &local_ip) == 0) ? + remote_ip = (zdtun_cmp_ip(4, &src_ip, &local_ip) == 0) ? &dst_ip : &src_ip; #if 0 diff --git a/app/src/main/jni/tests/test_utils.c b/app/src/main/jni/tests/test_utils.c index 6ec4725c..40de5c8d 100644 --- a/app/src/main/jni/tests/test_utils.c +++ b/app/src/main/jni/tests/test_utils.c @@ -86,6 +86,7 @@ pcapdroid_t* pd_init_test(const char *ifname) { assert(pd != NULL); pd->vpn_capture = false; + pd->pcap_file_capture = true; pd->pcap.capture_interface = (char*) ifname; pd->pcap.as_root = false; // don't run as root pd->app_filter = -1; // don't filter