mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 14:48:21 +00:00
remove the byte_len and length bifs
This commit is contained in:
parent
a2556642e6
commit
986b346e3f
8 changed files with 6 additions and 74 deletions
|
@ -161,7 +161,7 @@ event signature_match(state: signature_state, msg: string, data: string)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
# Trim the matched data down to something reasonable
|
# Trim the matched data down to something reasonable
|
||||||
if ( byte_len(data) > 140 )
|
if ( |data| > 140 )
|
||||||
data = fmt("%s...", sub_bytes(data, 0, 140));
|
data = fmt("%s...", sub_bytes(data, 0, 140));
|
||||||
|
|
||||||
local src_addr: addr;
|
local src_addr: addr;
|
||||||
|
@ -259,8 +259,8 @@ event signature_match(state: signature_state, msg: string, data: string)
|
||||||
|
|
||||||
add vert_table[orig, resp][sig_id];
|
add vert_table[orig, resp][sig_id];
|
||||||
|
|
||||||
local hcount = length(horiz_table[orig, sig_id]);
|
local hcount = |horiz_table[orig, sig_id]|;
|
||||||
local vcount = length(vert_table[orig, resp]);
|
local vcount = |vert_table[orig, resp]|;
|
||||||
|
|
||||||
if ( hcount in horiz_scan_thresholds && hcount != last_hthresh[orig] )
|
if ( hcount in horiz_scan_thresholds && hcount != last_hthresh[orig] )
|
||||||
{
|
{
|
||||||
|
|
|
@ -27,7 +27,7 @@ function compress_path(dir: string): string
|
||||||
const cdup_sep = /((\/)*([^\/]|\\\/)+)?((\/)+\.\.(\/)*)/;
|
const cdup_sep = /((\/)*([^\/]|\\\/)+)?((\/)+\.\.(\/)*)/;
|
||||||
|
|
||||||
local parts = split_n(dir, cdup_sep, T, 1);
|
local parts = split_n(dir, cdup_sep, T, 1);
|
||||||
if ( length(parts) > 1 )
|
if ( |parts| > 1 )
|
||||||
{
|
{
|
||||||
# reaching a point with two parent dir references back-to-back means
|
# reaching a point with two parent dir references back-to-back means
|
||||||
# we don't know about anything higher in the tree to pop off
|
# we don't know about anything higher in the tree to pop off
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
## characters.
|
## characters.
|
||||||
function is_string_binary(s: string): bool
|
function is_string_binary(s: string): bool
|
||||||
{
|
{
|
||||||
return byte_len(gsub(s, /[\x00-\x7f]/, "")) * 100 / |s| >= 25;
|
return |gsub(s, /[\x00-\x7f]/, "")| * 100 / |s| >= 25;
|
||||||
}
|
}
|
||||||
|
|
||||||
## Joins a set of string together, with elements delimited by a constant string.
|
## Joins a set of string together, with elements delimited by a constant string.
|
||||||
|
|
|
@ -32,7 +32,7 @@ event log_http(rec: HTTP::Info)
|
||||||
{
|
{
|
||||||
# Data is returned as "<dateFirstDetected> <detectionRate>"
|
# Data is returned as "<dateFirstDetected> <detectionRate>"
|
||||||
local MHR_answer = split1(MHR_result, / /);
|
local MHR_answer = split1(MHR_result, / /);
|
||||||
if ( length(MHR_answer) == 2 && to_count(MHR_answer[2]) >= MHR_threshold )
|
if ( |MHR_answer| == 2 && to_count(MHR_answer[2]) >= MHR_threshold )
|
||||||
{
|
{
|
||||||
local url = HTTP::build_url_http(rec);
|
local url = HTTP::build_url_http(rec);
|
||||||
local message = fmt("%s %s %s", rec$id$orig_h, rec$md5, url);
|
local message = fmt("%s %s %s", rec$id$orig_h, rec$md5, url);
|
||||||
|
|
23
src/bro.bif
23
src/bro.bif
|
@ -1033,29 +1033,6 @@ function clear_table%(v: any%): any
|
||||||
return 0;
|
return 0;
|
||||||
%}
|
%}
|
||||||
|
|
||||||
## Returns the number of elements in a container. This function works with all
|
|
||||||
## container types, i.e., sets, tables, and vectors.
|
|
||||||
##
|
|
||||||
## v: The container whose elements are counted.
|
|
||||||
##
|
|
||||||
## Returns: The number of elements in *v*.
|
|
||||||
function length%(v: any%): count
|
|
||||||
%{
|
|
||||||
TableVal* tv = v->Type()->Tag() == TYPE_TABLE ? v->AsTableVal() : 0;
|
|
||||||
|
|
||||||
if ( tv )
|
|
||||||
return new Val(tv->Size(), TYPE_COUNT);
|
|
||||||
|
|
||||||
else if ( v->Type()->Tag() == TYPE_VECTOR )
|
|
||||||
return new Val(v->AsVectorVal()->Size(), TYPE_COUNT);
|
|
||||||
|
|
||||||
else
|
|
||||||
{
|
|
||||||
builtin_error("length() requires a table/set/vector argument");
|
|
||||||
return new Val(0, TYPE_COUNT);
|
|
||||||
}
|
|
||||||
%}
|
|
||||||
|
|
||||||
## Checks whether two objects reference the same internal object. This function
|
## Checks whether two objects reference the same internal object. This function
|
||||||
## uses equality comparison of C++ raw pointer values to determine if the two
|
## uses equality comparison of C++ raw pointer values to determine if the two
|
||||||
## objects are the same.
|
## objects are the same.
|
||||||
|
|
|
@ -265,19 +265,6 @@ function edit%(arg_s: string, arg_edit_char: string%): string
|
||||||
return new StringVal(new BroString(1, byte_vec(new_s), ind));
|
return new StringVal(new BroString(1, byte_vec(new_s), ind));
|
||||||
%}
|
%}
|
||||||
|
|
||||||
## Returns the number of characters (bytes) in the given string. The
|
|
||||||
## length computation includes any embedded NULs, and also a trailing NUL,
|
|
||||||
## if any (which is why the function isn't called ``strlen``; to remind
|
|
||||||
## the user that Bro strings can include NULs).
|
|
||||||
##
|
|
||||||
## s: The string to compute the length for.
|
|
||||||
##
|
|
||||||
## Returns: The number of characters in *s*.
|
|
||||||
function byte_len%(s: string%): count
|
|
||||||
%{
|
|
||||||
return new Val(s->Len(), TYPE_COUNT);
|
|
||||||
%}
|
|
||||||
|
|
||||||
## Get a substring from a string, given a starting position and length.
|
## Get a substring from a string, given a starting position and length.
|
||||||
##
|
##
|
||||||
## s: The string to obtain a substring from.
|
## s: The string to obtain a substring from.
|
||||||
|
|
|
@ -1,10 +0,0 @@
|
||||||
#
|
|
||||||
# @TEST-EXEC: bro -b %INPUT >out
|
|
||||||
# @TEST-EXEC: btest-diff out
|
|
||||||
|
|
||||||
event bro_init()
|
|
||||||
{
|
|
||||||
local a = "hello\0there";
|
|
||||||
|
|
||||||
print byte_len(a);
|
|
||||||
}
|
|
|
@ -1,22 +0,0 @@
|
||||||
#
|
|
||||||
# @TEST-EXEC: bro -b %INPUT > out
|
|
||||||
# @TEST-EXEC: btest-diff out
|
|
||||||
|
|
||||||
event bro_init()
|
|
||||||
{
|
|
||||||
local mytable: table[string] of string = { ["key1"] = "val1" };
|
|
||||||
local myset: set[count] = set( 3, 6, 2, 7 );
|
|
||||||
local myvec: vector of string = vector( "value1", "value2" );
|
|
||||||
|
|
||||||
print length(mytable);
|
|
||||||
print length(myset);
|
|
||||||
print length(myvec);
|
|
||||||
|
|
||||||
mytable = table();
|
|
||||||
myset = set();
|
|
||||||
myvec = vector();
|
|
||||||
|
|
||||||
print length(mytable);
|
|
||||||
print length(myset);
|
|
||||||
print length(myvec);
|
|
||||||
}
|
|
Loading…
Add table
Add a link
Reference in a new issue