mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 14:48:21 +00:00
Merge remote-tracking branch 'origin/fastpath'
* origin/fastpath: Remove automatic use of gperftools on non-Linux systems. Fix uninitialized value for 'is_partial' in TCP analyzer. parse 64-bit consts correctly. on 32-bit machines only unsigned long longs are 64-bits long. Not just unsigned longs...
This commit is contained in:
commit
a24abddc5f
8 changed files with 50 additions and 19 deletions
13
CHANGES
13
CHANGES
|
@ -1,5 +1,16 @@
|
||||||
|
|
||||||
2.1-rc3 | 2012-08-24 15:11:49 -0700
|
1.1 | 2012-08-28 16:29:30 -0700
|
||||||
|
|
||||||
|
* Remove automatic use of gperftools on non-Linux systems.
|
||||||
|
--enable-perftools must now explicity be supplied to ./configure
|
||||||
|
on non-Linux systems to link against the tcmalloc library.
|
||||||
|
|
||||||
|
* Fix uninitialized value for 'is_partial' in TCP analyzer. (Jon
|
||||||
|
Siwek)
|
||||||
|
|
||||||
|
* Parse 64-bit consts in Bro scripts correctly. (Bernhard Amann)
|
||||||
|
|
||||||
|
* Output 64-bit counts correctly on 32-bit machines (Bernhard Amann)
|
||||||
|
|
||||||
* Input framework fixes, including: (Bernhard Amann)
|
* Input framework fixes, including: (Bernhard Amann)
|
||||||
|
|
||||||
|
|
|
@ -88,24 +88,30 @@ if (LIBGEOIP_FOUND)
|
||||||
list(APPEND OPTLIBS ${LibGeoIP_LIBRARY})
|
list(APPEND OPTLIBS ${LibGeoIP_LIBRARY})
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
set(USE_PERFTOOLS false)
|
set(HAVE_PERFTOOLS false)
|
||||||
set(USE_PERFTOOLS_DEBUG false)
|
set(USE_PERFTOOLS_DEBUG false)
|
||||||
|
set(USE_PERFTOOLS_TCMALLOC false)
|
||||||
|
|
||||||
if (NOT DISABLE_PERFTOOLS)
|
if (NOT DISABLE_PERFTOOLS)
|
||||||
find_package(GooglePerftools)
|
find_package(GooglePerftools)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
if (GOOGLEPERFTOOLS_FOUND)
|
if (GOOGLEPERFTOOLS_FOUND)
|
||||||
include_directories(BEFORE ${GooglePerftools_INCLUDE_DIR})
|
set(HAVE_PERFTOOLS true)
|
||||||
set(USE_PERFTOOLS true)
|
# Non-Linux systems may not be well-supported by gperftools, so
|
||||||
|
# require explicit request from user to enable it in that case.
|
||||||
|
if (${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR ENABLE_PERFTOOLS)
|
||||||
|
set(USE_PERFTOOLS_TCMALLOC true)
|
||||||
|
|
||||||
if (ENABLE_PERFTOOLS_DEBUG)
|
if (ENABLE_PERFTOOLS_DEBUG)
|
||||||
# Enable heap debugging with perftools.
|
# Enable heap debugging with perftools.
|
||||||
set(USE_PERFTOOLS_DEBUG true)
|
set(USE_PERFTOOLS_DEBUG true)
|
||||||
list(APPEND OPTLIBS ${GooglePerftools_LIBRARIES_DEBUG})
|
include_directories(BEFORE ${GooglePerftools_INCLUDE_DIR})
|
||||||
else ()
|
list(APPEND OPTLIBS ${GooglePerftools_LIBRARIES_DEBUG})
|
||||||
# Link in tcmalloc for better performance.
|
else ()
|
||||||
list(APPEND OPTLIBS ${GooglePerftools_LIBRARIES})
|
# Link in tcmalloc for better performance.
|
||||||
|
list(APPEND OPTLIBS ${GooglePerftools_LIBRARIES})
|
||||||
|
endif ()
|
||||||
endif ()
|
endif ()
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
|
@ -224,7 +230,8 @@ message(
|
||||||
"\nAux. Tools: ${INSTALL_AUX_TOOLS}"
|
"\nAux. Tools: ${INSTALL_AUX_TOOLS}"
|
||||||
"\n"
|
"\n"
|
||||||
"\nGeoIP: ${USE_GEOIP}"
|
"\nGeoIP: ${USE_GEOIP}"
|
||||||
"\nGoogle perftools: ${USE_PERFTOOLS}"
|
"\ngperftools found: ${HAVE_PERFTOOLS}"
|
||||||
|
"\n tcmalloc: ${USE_PERFTOOLS_TCMALLOC}"
|
||||||
"\n debugging: ${USE_PERFTOOLS_DEBUG}"
|
"\n debugging: ${USE_PERFTOOLS_DEBUG}"
|
||||||
"\ncURL: ${USE_CURL}"
|
"\ncURL: ${USE_CURL}"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
11
NEWS
11
NEWS
|
@ -102,9 +102,14 @@ the full set.
|
||||||
|
|
||||||
* Bro now requires CMake >= 2.6.3.
|
* Bro now requires CMake >= 2.6.3.
|
||||||
|
|
||||||
* Bro now links in tcmalloc (part of Google perftools) if found at
|
* On Linux, Bro now links in tcmalloc (part of Google perftools)
|
||||||
configure time. Doing so can significantly improve memory and
|
if found at configure time. Doing so can significantly improve
|
||||||
CPU use.
|
memory and CPU use.
|
||||||
|
|
||||||
|
On the other platforms, the new configure option
|
||||||
|
--enable-perftools can be used to enable linking to tcmalloc.
|
||||||
|
(Note that perftools's support for non-Linux platforms may be
|
||||||
|
less reliable).
|
||||||
|
|
||||||
- The configure switch --enable-brov6 is gone.
|
- The configure switch --enable-brov6 is gone.
|
||||||
|
|
||||||
|
|
2
VERSION
2
VERSION
|
@ -1 +1 @@
|
||||||
2.1-rc3
|
1.1-rc3-5
|
||||||
|
|
7
configure
vendored
7
configure
vendored
|
@ -29,6 +29,8 @@ Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||||
Optional Features:
|
Optional Features:
|
||||||
--enable-debug compile in debugging mode
|
--enable-debug compile in debugging mode
|
||||||
--enable-mobile-ipv6 analyze mobile IPv6 features defined by RFC 6275
|
--enable-mobile-ipv6 analyze mobile IPv6 features defined by RFC 6275
|
||||||
|
--enable-perftools force use of Google perftools on non-Linux systems
|
||||||
|
(automatically on when perftools is present on Linux)
|
||||||
--enable-perftools-debug use Google's perftools for debugging
|
--enable-perftools-debug use Google's perftools for debugging
|
||||||
--disable-broccoli don't build or install the Broccoli library
|
--disable-broccoli don't build or install the Broccoli library
|
||||||
--disable-broctl don't install Broctl
|
--disable-broctl don't install Broctl
|
||||||
|
@ -98,6 +100,7 @@ append_cache_entry PY_MOD_INSTALL_DIR PATH $prefix/lib/broctl
|
||||||
append_cache_entry BRO_SCRIPT_INSTALL_PATH STRING $prefix/share/bro
|
append_cache_entry BRO_SCRIPT_INSTALL_PATH STRING $prefix/share/bro
|
||||||
append_cache_entry BRO_ETC_INSTALL_DIR PATH $prefix/etc
|
append_cache_entry BRO_ETC_INSTALL_DIR PATH $prefix/etc
|
||||||
append_cache_entry ENABLE_DEBUG BOOL false
|
append_cache_entry ENABLE_DEBUG BOOL false
|
||||||
|
append_cache_entry ENABLE_PERFTOOLS BOOL false
|
||||||
append_cache_entry ENABLE_PERFTOOLS_DEBUG BOOL false
|
append_cache_entry ENABLE_PERFTOOLS_DEBUG BOOL false
|
||||||
append_cache_entry BinPAC_SKIP_INSTALL BOOL true
|
append_cache_entry BinPAC_SKIP_INSTALL BOOL true
|
||||||
append_cache_entry BUILD_SHARED_LIBS BOOL true
|
append_cache_entry BUILD_SHARED_LIBS BOOL true
|
||||||
|
@ -146,7 +149,11 @@ while [ $# -ne 0 ]; do
|
||||||
--enable-mobile-ipv6)
|
--enable-mobile-ipv6)
|
||||||
append_cache_entry ENABLE_MOBILE_IPV6 BOOL true
|
append_cache_entry ENABLE_MOBILE_IPV6 BOOL true
|
||||||
;;
|
;;
|
||||||
|
--enable-perftools)
|
||||||
|
append_cache_entry ENABLE_PERFTOOLS BOOL true
|
||||||
|
;;
|
||||||
--enable-perftools-debug)
|
--enable-perftools-debug)
|
||||||
|
append_cache_entry ENABLE_PERFTOOLS BOOL true
|
||||||
append_cache_entry ENABLE_PERFTOOLS_DEBUG BOOL true
|
append_cache_entry ENABLE_PERFTOOLS_DEBUG BOOL true
|
||||||
;;
|
;;
|
||||||
--disable-broccoli)
|
--disable-broccoli)
|
||||||
|
|
|
@ -46,6 +46,7 @@ TCP_Analyzer::TCP_Analyzer(Connection* conn)
|
||||||
finished = 0;
|
finished = 0;
|
||||||
reassembling = 0;
|
reassembling = 0;
|
||||||
first_packet_seen = 0;
|
first_packet_seen = 0;
|
||||||
|
is_partial = 0;
|
||||||
|
|
||||||
orig = new TCP_Endpoint(this, 1);
|
orig = new TCP_Endpoint(this, 1);
|
||||||
resp = new TCP_Endpoint(this, 0);
|
resp = new TCP_Endpoint(this, 0);
|
||||||
|
|
|
@ -56,7 +56,7 @@ void modp_uitoa10(uint32_t value, char* str)
|
||||||
void modp_litoa10(int64_t value, char* str)
|
void modp_litoa10(int64_t value, char* str)
|
||||||
{
|
{
|
||||||
char* wstr=str;
|
char* wstr=str;
|
||||||
unsigned long uvalue = (value < 0) ? -value : value;
|
uint64_t uvalue = (value < 0) ? -value : value;
|
||||||
|
|
||||||
// Conversion. Number is reversed.
|
// Conversion. Number is reversed.
|
||||||
do *wstr++ = (char)(48 + (uvalue % 10)); while(uvalue /= 10);
|
do *wstr++ = (char)(48 + (uvalue % 10)); while(uvalue /= 10);
|
||||||
|
|
|
@ -439,7 +439,7 @@ F RET_CONST(new Val(false, TYPE_BOOL))
|
||||||
{D} {
|
{D} {
|
||||||
// TODO: check if we can use strtoull instead of atol,
|
// TODO: check if we can use strtoull instead of atol,
|
||||||
// and similarly for {HEX}.
|
// and similarly for {HEX}.
|
||||||
RET_CONST(new Val(static_cast<unsigned int>(atol(yytext)),
|
RET_CONST(new Val(static_cast<bro_uint_t>(strtoll(yytext, (char**) NULL, 10)),
|
||||||
TYPE_COUNT))
|
TYPE_COUNT))
|
||||||
}
|
}
|
||||||
{FLOAT} RET_CONST(new Val(atof(yytext), TYPE_DOUBLE))
|
{FLOAT} RET_CONST(new Val(atof(yytext), TYPE_DOUBLE))
|
||||||
|
@ -483,7 +483,7 @@ F RET_CONST(new Val(false, TYPE_BOOL))
|
||||||
|
|
||||||
({D}"."){3}{D} RET_CONST(new AddrVal(yytext))
|
({D}"."){3}{D} RET_CONST(new AddrVal(yytext))
|
||||||
|
|
||||||
"0x"{HEX}+ RET_CONST(new Val(static_cast<bro_uint_t>(strtol(yytext, 0, 16)), TYPE_COUNT))
|
"0x"{HEX}+ RET_CONST(new Val(static_cast<bro_uint_t>(strtoull(yytext, 0, 16)), TYPE_COUNT))
|
||||||
|
|
||||||
{H}("."{H})+ RET_CONST(dns_mgr->LookupHost(yytext))
|
{H}("."{H})+ RET_CONST(dns_mgr->LookupHost(yytext))
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue