|
|
|
import sys
|
|
|
|
|
|
|
|
#cppclean src/*.h | grep "does not need to be #included"
|
|
|
|
retcode = 0
|
|
|
|
for l in sys.stdin:
|
|
|
|
includer = l.split(':')[0]
|
|
|
|
included = l.split("'")[1]
|
|
|
|
|
|
|
|
if included == "rust.h" or included == "suricata-common.h":
|
|
|
|
continue
|
|
|
|
if includer == "src/suricata-common.h" or includer == "src/rust-context.h" or includer == "src/rust.h" or includer == "src/threads.h":
|
|
|
|
continue
|
|
|
|
|
|
|
|
if included == "util-file.h" and includer == "src/detect.h":
|
|
|
|
# SigTableElmt structure field FileMatch being a function pointer using a parameter File defined in util-file.h
|
|
|
|
continue
|
|
|
|
if included == "conf.h" and includer == "src/suricata-plugin.h":
|
|
|
|
# SCEveFileType structure field Init being a function pointer using a parameter ConfNode defined in conf.h
|
|
|
|
continue
|
|
|
|
if included == "util-prefilter.h" and includer == "src/util-mpm.h":
|
|
|
|
# MpmTableElmt_ structure field Search being a function pointer using a parameter PrefilterRuleStore
|
|
|
|
continue
|
|
|
|
if included == "flow.h" and includer == "src/output-tx.h":
|
|
|
|
# TxLogger type being a function pointer using a parameter Flow
|
|
|
|
continue
|
|
|
|
if included == "util-debug-filters.h" and includer == "src/util-debug.h":
|
|
|
|
# Macro SCEnter using SCLogCheckFDFilterEntry defined in util-debug-filters.h
|
|
|
|
continue
|
|
|
|
if included == "util-spm-bs.h" and includer == "src/util-spm.h":
|
|
|
|
# Macro SpmSearch using BasicSearch defined in util-spm-bs.h
|
|
|
|
continue
|
|
|
|
if included == "util-cpu.h" and includer == "src/threads-profile.h":
|
|
|
|
# Macro SCSpinLock_profile using UtilCpuGetTicks
|
|
|
|
continue
|
|
|
|
if included == "util-profiling-locks.h" and includer == "src/util-profiling.h":
|
|
|
|
# Macro SCSpinLock_profile using SCProfilingAddPacketLocks
|
|
|
|
continue
|
|
|
|
if included == "threads.h" and includer == "src/util-debug-filters.h":
|
|
|
|
# pthread_t needed on Windows
|
|
|
|
continue
|
|
|
|
|
|
|
|
print("Unnecessary include from %s for %s" % (includer, included))
|
|
|
|
retcode = 1
|
|
|
|
|
|
|
|
sys.exit(retcode)
|