mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 06:38:20 +00:00
Merge branch 'smoot-improve-from_json' of github.com:/stevesmoot/zeek
* 'smoot-improve-from_json' of github.com:/stevesmoot/zeek: update baseline for zam Update src/zeek.bif Change from_json to return an error rather than print it.
This commit is contained in:
commit
fdecfba6b4
49 changed files with 49 additions and 70 deletions
4
CHANGES
4
CHANGES
|
@ -1,3 +1,7 @@
|
|||
8.0.0-dev.140 | 2025-05-19 11:04:29 -0700
|
||||
|
||||
* Change from_json to return an error rather than print it. (Steve Smoot, Corelight)
|
||||
|
||||
8.0.0-dev.136 | 2025-05-19 20:01:30 +0200
|
||||
|
||||
* btest/core: Add event-trace test (Arne Welzel, Corelight)
|
||||
|
|
2
VERSION
2
VERSION
|
@ -1 +1 @@
|
|||
8.0.0-dev.136
|
||||
8.0.0-dev.140
|
||||
|
|
|
@ -1491,6 +1491,7 @@ function from_json_default_key_mapper(s: string): string
|
|||
type from_json_result: record {
|
||||
v: any &optional; ##< Parsed value.
|
||||
valid: bool; ##< True if parsing was successful.
|
||||
err: string &optional; ## Error string if unsuccessful.
|
||||
};
|
||||
|
||||
# TCP values for :zeek:see:`endpoint` *state* field.
|
||||
|
|
|
@ -5240,7 +5240,7 @@ function to_json%(val: any, only_loggable: bool &default=F, field_escape_pattern
|
|||
## when keys are not valid field identifiers, or represent reserved
|
||||
## keywords like **port** or **type**.
|
||||
##
|
||||
## returns: A value of type t.
|
||||
## returns: A record with the result of the conversion, containing either a value or an error message.
|
||||
##
|
||||
## .. zeek:see:: to_json
|
||||
function from_json%(s: string, t: any, key_func: string_mapper &default=from_json_default_key_mapper%): from_json_result
|
||||
|
@ -5276,7 +5276,7 @@ function from_json%(s: string, t: any, key_func: string_mapper &default=from_jso
|
|||
else
|
||||
{
|
||||
rval->Assign(valid_idx, false);
|
||||
zeek::emit_builtin_error(res.error().c_str());
|
||||
rval->Assign(result_type->FieldOffset("err"), res.error().c_str());
|
||||
}
|
||||
|
||||
return std::move(rval);
|
||||
|
|
|
@ -2,5 +2,5 @@
|
|||
[v={
|
||||
fe80::/64,
|
||||
192.168.0.0/16
|
||||
}, valid=T]
|
||||
[v=[1, 3, 4], valid=T]
|
||||
}, valid=T, err=<uninitialized>]
|
||||
[v=[1, 3, 4], valid=T, err=<uninitialized>]
|
||||
|
|
|
@ -1,3 +1 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
error in <...>/from_json.zeek, line 8: required field Foo$hello is missing in JSON (from_json({"t":null}, <internal>::#0, from_json_default_key_mapper))
|
||||
error in <...>/from_json.zeek, line 9: required field Foo$hello is null in JSON (from_json({"hello": null, "t": true}, <internal>::#2, from_json_default_key_mapper))
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
[v=<uninitialized>, valid=F]
|
||||
[v=<uninitialized>, valid=F]
|
||||
[v=<uninitialized>, valid=F, err=required field Foo$hello is missing in JSON]
|
||||
[v=<uninitialized>, valid=F, err=required field Foo$hello is null in JSON]
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
[v=[hello=Hello!], valid=T]
|
||||
[v=[hello=Hello!], valid=T, err=<uninitialized>]
|
||||
|
|
|
@ -1,2 +1 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
error in <...>/from_json.zeek, line 7: required field Foo$id_field is missing in JSON (from_json({"id-field": "Hello!"}, <internal>::#0, from_json_default_key_mapper))
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
[v=<uninitialized>, valid=F]
|
||||
[v=[id_field=Hello!], valid=T]
|
||||
[v=<uninitialized>, valid=F, err=required field Foo$id_field is missing in JSON]
|
||||
[v=[id_field=Hello!], valid=T, err=<uninitialized>]
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
[v=<uninitialized>, valid=F]
|
||||
[v=<uninitialized>, valid=F, err=<uninitialized>]
|
||||
|
|
|
@ -1,2 +1 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
error in <...>/from_json.zeek, line 4: JSON parse error: Missing a closing quotation mark in string. Offset: 5 (from_json({"hel, <internal>::#0, from_json_default_key_mapper))
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
[v=<uninitialized>, valid=F]
|
||||
[v=<uninitialized>, valid=F, err=JSON parse error: Missing a closing quotation mark in string. Offset: 5]
|
||||
|
|
|
@ -1,3 +1 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
error in <...>/from_json.zeek, line 9: cannot convert JSON type 'array' to Zeek type 'bool' (from_json([], <internal>::#0, from_json_default_key_mapper))
|
||||
error in <...>/from_json.zeek, line 10: cannot convert JSON type 'string' to Zeek type 'bool' (from_json({"a": "hello"}, <internal>::#2, from_json_default_key_mapper))
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
[v=<uninitialized>, valid=F]
|
||||
[v=<uninitialized>, valid=F]
|
||||
[v=<uninitialized>, valid=F, err=cannot convert JSON type 'array' to Zeek type 'bool']
|
||||
[v=<uninitialized>, valid=F, err=cannot convert JSON type 'string' to Zeek type 'bool']
|
||||
|
|
|
@ -1,2 +1 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
error in <...>/from_json.zeek, line 4: cannot convert JSON type 'array' to Zeek type 'table' (from_json([], <internal>::#0, from_json_default_key_mapper))
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
[v=<uninitialized>, valid=F]
|
||||
[v=<uninitialized>, valid=F, err=cannot convert JSON type 'array' to Zeek type 'table']
|
||||
|
|
|
@ -1,3 +1 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
error in <...>/from_json.zeek, line 8: wrong port format, string must be <...>/(tcp|udp|icmp|unknown)/ (from_json("80", <internal>::#2, from_json_default_key_mapper))
|
||||
error in <...>/from_json.zeek, line 9: wrong port format, object must have 'port' and 'proto' members (from_json({}, <internal>::#4, from_json_default_key_mapper))
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
[v=80/tcp, valid=T]
|
||||
[v=<uninitialized>, valid=F]
|
||||
[v=<uninitialized>, valid=F]
|
||||
[v=80/tcp, valid=T, err=<uninitialized>]
|
||||
[v=<uninitialized>, valid=F, err=wrong port format, string must be /[0-9]{1,5}\/(tcp|udp|icmp|unknown)/]
|
||||
[v=<uninitialized>, valid=F, err=wrong port format, object must have 'port' and 'proto' members]
|
||||
|
|
|
@ -1,3 +1 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
error in <...>/from_json.zeek, line 5: index type doesn't match (from_json([[1, false], [2]], <internal>::#0, from_json_default_key_mapper))
|
||||
error in <...>/from_json.zeek, line 6: cannot convert JSON type 'number' to Zeek type 'bool' (from_json([[1, false], [2, 1]], <internal>::#2, from_json_default_key_mapper))
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
[v=<uninitialized>, valid=F]
|
||||
[v=<uninitialized>, valid=F]
|
||||
[v=<uninitialized>, valid=F, err=index type doesn't match]
|
||||
[v=<uninitialized>, valid=F, err=cannot convert JSON type 'number' to Zeek type 'bool']
|
||||
|
|
|
@ -1,3 +1,2 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
error: error compiling pattern /^?(.|\n)*(([[:print:]]{-}[[:alnum:]]foo))/
|
||||
error in <...>/from_json.zeek, line 5: error compiling pattern (from_json("/([[:print:]]{-}[[:alnum:]]foo)/", <internal>::#0, from_json_default_key_mapper))
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
[v=<uninitialized>, valid=F]
|
||||
[v=<uninitialized>, valid=F, err=error compiling pattern]
|
||||
|
|
|
@ -1,2 +1 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
error in <...>/from_json.zeek, line 7: 'Yellow' is not a valid enum for 'Color'. (from_json("Yellow", <internal>::#0, from_json_default_key_mapper))
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
[v=<uninitialized>, valid=F]
|
||||
[v=<uninitialized>, valid=F, err='Yellow' is not a valid enum for 'Color'.]
|
||||
|
|
|
@ -7,4 +7,4 @@ aa:bb::/32,
|
|||
[2001:db8::1, 8080/udp]
|
||||
}, tbl={
|
||||
[192.168.0.1, 80/tcp] = foo
|
||||
}], valid=T]
|
||||
}], valid=T, err=<uninitialized>]
|
||||
|
|
|
@ -2,5 +2,5 @@
|
|||
[v={
|
||||
fe80::/64,
|
||||
192.168.0.0/16
|
||||
}, valid=T]
|
||||
[v=[1, 3, 4], valid=T]
|
||||
}, valid=T, err=<uninitialized>]
|
||||
[v=[1, 3, 4], valid=T, err=<uninitialized>]
|
||||
|
|
|
@ -1,3 +1 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
error in <...>/from_json.zeek, line 8: required field Foo$hello is missing in JSON (from_json({"t":null}, to_any_coerce Foo, from_json_default_key_mapper))
|
||||
error in <...>/from_json.zeek, line 9: required field Foo$hello is null in JSON (from_json({"hello": null, "t": true}, to_any_coerce Foo, from_json_default_key_mapper))
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
[v=<uninitialized>, valid=F]
|
||||
[v=<uninitialized>, valid=F]
|
||||
[v=<uninitialized>, valid=F, err=required field Foo$hello is missing in JSON]
|
||||
[v=<uninitialized>, valid=F, err=required field Foo$hello is null in JSON]
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
[v=[hello=Hello!], valid=T]
|
||||
[v=[hello=Hello!], valid=T, err=<uninitialized>]
|
||||
|
|
|
@ -1,2 +1 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
error in <...>/from_json.zeek, line 7: required field Foo$id_field is missing in JSON (from_json({"id-field": "Hello!"}, to_any_coerce Foo, from_json_default_key_mapper))
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
[v=<uninitialized>, valid=F]
|
||||
[v=[id_field=Hello!], valid=T]
|
||||
[v=<uninitialized>, valid=F, err=required field Foo$id_field is missing in JSON]
|
||||
[v=[id_field=Hello!], valid=T, err=<uninitialized>]
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
[v=<uninitialized>, valid=F]
|
||||
[v=<uninitialized>, valid=F, err=<uninitialized>]
|
||||
|
|
|
@ -1,2 +1 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
error in <...>/from_json.zeek, line 4: JSON parse error: Missing a closing quotation mark in string. Offset: 5 (from_json({"hel, to_any_coerce string_vec, from_json_default_key_mapper))
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
[v=<uninitialized>, valid=F]
|
||||
[v=<uninitialized>, valid=F, err=JSON parse error: Missing a closing quotation mark in string. Offset: 5]
|
||||
|
|
|
@ -1,3 +1 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
error in <...>/from_json.zeek, line 9: cannot convert JSON type 'array' to Zeek type 'bool' (from_json([], to_any_coerce bool_t, from_json_default_key_mapper))
|
||||
error in <...>/from_json.zeek, line 10: cannot convert JSON type 'string' to Zeek type 'bool' (from_json({"a": "hello"}, to_any_coerce Foo, from_json_default_key_mapper))
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
[v=<uninitialized>, valid=F]
|
||||
[v=<uninitialized>, valid=F]
|
||||
[v=<uninitialized>, valid=F, err=cannot convert JSON type 'array' to Zeek type 'bool']
|
||||
[v=<uninitialized>, valid=F, err=cannot convert JSON type 'string' to Zeek type 'bool']
|
||||
|
|
|
@ -1,2 +1 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
error in <...>/from_json.zeek, line 4: cannot convert JSON type 'array' to Zeek type 'table' (from_json([], to_any_coerce table_string_of_string, from_json_default_key_mapper))
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
[v=<uninitialized>, valid=F]
|
||||
[v=<uninitialized>, valid=F, err=cannot convert JSON type 'array' to Zeek type 'table']
|
||||
|
|
|
@ -1,3 +1 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
error in <...>/from_json.zeek, line 8: wrong port format, string must be <...>/(tcp|udp|icmp|unknown)/ (from_json("80", to_any_coerce port_t, from_json_default_key_mapper))
|
||||
error in <...>/from_json.zeek, line 9: wrong port format, object must have 'port' and 'proto' members (from_json({}, to_any_coerce port_t, from_json_default_key_mapper))
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
[v=80/tcp, valid=T]
|
||||
[v=<uninitialized>, valid=F]
|
||||
[v=<uninitialized>, valid=F]
|
||||
[v=80/tcp, valid=T, err=<uninitialized>]
|
||||
[v=<uninitialized>, valid=F, err=wrong port format, string must be /[0-9]{1,5}\/(tcp|udp|icmp|unknown)/]
|
||||
[v=<uninitialized>, valid=F, err=wrong port format, object must have 'port' and 'proto' members]
|
||||
|
|
|
@ -1,3 +1 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
error in <...>/from_json.zeek, line 5: index type doesn't match (from_json([[1, false], [2]], to_any_coerce set_t, from_json_default_key_mapper))
|
||||
error in <...>/from_json.zeek, line 6: cannot convert JSON type 'number' to Zeek type 'bool' (from_json([[1, false], [2, 1]], to_any_coerce set_t, from_json_default_key_mapper))
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
[v=<uninitialized>, valid=F]
|
||||
[v=<uninitialized>, valid=F]
|
||||
[v=<uninitialized>, valid=F, err=index type doesn't match]
|
||||
[v=<uninitialized>, valid=F, err=cannot convert JSON type 'number' to Zeek type 'bool']
|
||||
|
|
|
@ -1,3 +1,2 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
error: error compiling pattern /^?(.|\n)*(([[:print:]]{-}[[:alnum:]]foo))/
|
||||
error in <...>/from_json.zeek, line 5: error compiling pattern (from_json("/([[:print:]]{-}[[:alnum:]]foo)/", to_any_coerce pattern_t, from_json_default_key_mapper))
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
[v=<uninitialized>, valid=F]
|
||||
[v=<uninitialized>, valid=F, err=error compiling pattern]
|
||||
|
|
|
@ -1,2 +1 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
error in <...>/from_json.zeek, line 7: 'Yellow' is not a valid enum for 'Color'. (from_json("Yellow", to_any_coerce Color, from_json_default_key_mapper))
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
[v=<uninitialized>, valid=F]
|
||||
[v=<uninitialized>, valid=F, err='Yellow' is not a valid enum for 'Color'.]
|
||||
|
|
|
@ -7,4 +7,4 @@ aa:bb::/32,
|
|||
[2001:db8::1, 8080/udp]
|
||||
}, tbl={
|
||||
[192.168.0.1, 80/tcp] = foo
|
||||
}], valid=T]
|
||||
}], valid=T, err=<uninitialized>]
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
[v=aoeu, valid=T]
|
||||
[v=aoeu, valid=T, err=<uninitialized>]
|
||||
type
|
||||
double
|
||||
vector of int
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue