From: Russ Combs Date: Tue, 7 Oct 2014 19:28:25 +0000 (-0400) Subject: more cmake and analyzer changes X-Git-Tag: 3.0.0-233~1383^2~30 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=35e8dfbd2af1293add65c8551dd4784e531def22;p=thirdparty%2Fsnort3.git more cmake and analyzer changes --- diff --git a/ChangeLog b/ChangeLog index 94ac4b497..2eb50de07 100644 --- a/ChangeLog +++ b/ChangeLog @@ -24,6 +24,7 @@ -- fixed some Xcode analyzer issues -- pulled in cmake updates from Josh -- pulled in nhttp updates from Tom +-- applied cmake inc dir order patch from Josh 122 -- pulled thread pinning from Josh diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index cffb22fed..16beefc21 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -16,7 +16,6 @@ set(EXTERNAL_LIBRARIES ) set(EXTERNAL_INCLUDES - ${LUAJIT_INCLUDE_DIR} ${DAQ_INCLUDE_DIR} ${PCAP_INCLUDE_DIR} ${PCRE_INCLUDE_DIR} @@ -25,7 +24,8 @@ set(EXTERNAL_INCLUDES ${ZLIB_INCLUDE_DIRS} CACHE INTERNAL "external INCLUDES" FORCE ) -include_directories(BEFORE SYSTEM ${EXTERNAL_INCLUDES}) +include_directories(BEFORE ${LUAJIT_INCLUDE_DIR}) +include_directories(SYSTEM ${EXTERNAL_INCLUDES}) include_directories(${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/src/helpers/chunk.cc b/src/helpers/chunk.cc index c5bd83f39..5d0e17585 100644 --- a/src/helpers/chunk.cc +++ b/src/helpers/chunk.cc @@ -21,6 +21,10 @@ #include "chunk.h" #include +extern "C" +{ + int lua_load(lua_State*, lua_Reader, void*, const char*); +} #include "managers/ips_manager.h" #include "hash/sfhashfcn.h" @@ -43,7 +47,7 @@ struct Loader bool done; }; -static const char* load(lua_State*, void* ud, size_t* size) +static const char* ldchunk(lua_State*, void* ud, size_t* size) { Loader* ldr = (Loader*)ud; @@ -66,7 +70,7 @@ void init_chunk( Loader ldr(chunk); // first load the chunk - if ( lua_load(L, load, &ldr, name) ) + if ( lua_load(L, (lua_Reader)ldchunk, (void*)&ldr, name) ) { ParseError("%s luajit failed to load chunk %s", name, lua_tostring(L, -1)); return; diff --git a/src/main/shell.cc b/src/main/shell.cc index daca3d2b8..e0d8cbb5b 100644 --- a/src/main/shell.cc +++ b/src/main/shell.cc @@ -159,7 +159,7 @@ void Shell::configure(SnortConfig* sc) loaded = true; } -void Shell::install(const char* name, const luaL_reg* reg) +void Shell::install(const char* name, const luaL_Reg* reg) { if ( !strcmp(name, "snort") ) luaL_register(lua, "_G", reg); diff --git a/src/managers/module_manager.cc b/src/managers/module_manager.cc index a5cb5d7e0..36893378d 100644 --- a/src/managers/module_manager.cc +++ b/src/managers/module_manager.cc @@ -47,7 +47,7 @@ struct ModHook { Module* mod; const BaseApi* api; - luaL_reg* reg; + luaL_Reg* reg; ModHook(Module*, const BaseApi*); ~ModHook(); @@ -100,10 +100,10 @@ void ModHook::init() n++; // constructing reg here may seem like overkill - // ... why not just typedef Command to luaL_reg? + // ... why not just typedef Command to luaL_Reg? // because the help would not be supplied or it // would be out of date, out of sync, etc. QED - reg = new luaL_reg[++n]; + reg = new luaL_Reg[++n]; unsigned k = 0; while ( k < n ) diff --git a/src/parser/mstring.cc b/src/parser/mstring.cc index bae27962f..4bf98e867 100644 --- a/src/parser/mstring.cc +++ b/src/parser/mstring.cc @@ -113,6 +113,7 @@ int main() * array. * ****************************************************************/ +// FIXIT-L eliminate mSplit(); create iterator service if needed char ** mSplit(const char *str, const char *sep_chars, const int max_toks, int *num_toks, const char meta_char) { diff --git a/src/time/ppm.h b/src/time/ppm.h index ebbcc65a3..9e43bb21c 100644 --- a/src/time/ppm.h +++ b/src/time/ppm.h @@ -139,10 +139,17 @@ extern THREAD_LOCAL int ppm_suspend_this_rule; #define PPM_PKT_CNT() ppm_pt->pktcnt #define PPM_PKT_LOG(p) if (ppm_abort_this_pkt) ppm_pkt_log(&snort_conf->ppm_cfg,p) #define PPM_RULE_LOG(cnt,p) ppm_rule_log(&snort_conf->ppm_cfg,cnt,p) -#define PPM_ACCUM_PKT_TIME() ppm_stats.tot_pkt_time += ppm_pt->tot; +#define PPM_ACCUM_PKT_TIME() \ +if ( ppm_pt ) \ +{ \ + ppm_stats.tot_pkt_time += ppm_pt->tot; \ +} #define PPM_ACCUM_RULE_TIME() \ - ppm_stats.tot_rule_time += ppm_rt->tot; \ - ppm_stats.tot_rules++; +if ( ppm_rt ) \ +{ \ + ppm_stats.tot_rule_time += ppm_rt->tot; \ + ppm_stats.tot_rules++; \ +} #define PPM_ACCUM_NC_RULE_TIME() \ ppm_stats.tot_nc_rule_time += ppm_rt->tot; \ ppm_stats.tot_nc_rules++; diff --git a/src/time/profiler.h b/src/time/profiler.h index 55ea3aa9c..fd7c043b4 100644 --- a/src/time/profiler.h +++ b/src/time/profiler.h @@ -55,11 +55,6 @@ struct ProfileStats #define PROFILE_VARS_NAMED(name) uint64_t name##_ticks_start, name##_ticks_end #define PROFILE_VARS PROFILE_VARS_NAMED(snort) -// we could use PROFILE_START_NAMED(node) instead -// but that confuses static analysis -#define PROFILE_START_NODE \ - get_clockticks(node_ticks_start) - #define PROFILE_START_NAMED(name) \ get_clockticks(name##_ticks_start) @@ -74,13 +69,14 @@ struct ProfileStats #define PROFILING_RULES ScProfileRules() #endif -#define NODE_PROFILE_VARS uint64_t node_ticks_start, node_ticks_end, node_ticks_delta, node_deltas = 0 +#define NODE_PROFILE_VARS \ + uint64_t node_ticks_start = 0, node_ticks_end, node_ticks_delta, node_deltas = 0 #define NODE_PROFILE_START(node) \ if (PROFILING_RULES) { \ unsigned id = get_instance_id(); \ node->state[id].checks++; \ - PROFILE_START_NODE; \ + PROFILE_START_NAMED(node); \ } #define NODE_PROFILE_END_MATCH(node) \ @@ -101,7 +97,7 @@ struct ProfileStats #define NODE_PROFILE_TMPSTART(node) \ if (PROFILING_RULES) { \ - PROFILE_START_NODE; \ + PROFILE_START_NAMED(node); \ } #define NODE_PROFILE_TMPEND(node) \