mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 22:58:20 +00:00
Fix addr/string type confusion in Broker::peers()
Broker::NetworkInfo$address is of type string. The Broker::peers() BiF treated it as an address, which caused ZVal's type validation to flag a mismatch and abort. Includes a small tweak to the broker.unpeer test that makes it invoke Broker::peers(), which breaks in absence of the fix.
This commit is contained in:
parent
b28fc77054
commit
fa38d81a7b
3 changed files with 4 additions and 2 deletions
|
@ -117,12 +117,12 @@ function Broker::__peers%(%): PeerInfos
|
||||||
|
|
||||||
if ( n )
|
if ( n )
|
||||||
{
|
{
|
||||||
network_info->Assign(0, zeek::make_intrusive<zeek::AddrVal>(IPAddr(n->address)));
|
network_info->Assign(0, zeek::make_intrusive<zeek::StringVal>(n->address));
|
||||||
network_info->Assign(1, zeek::val_mgr->Port(n->port, TRANSPORT_TCP));
|
network_info->Assign(1, zeek::val_mgr->Port(n->port, TRANSPORT_TCP));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
network_info->Assign(0, zeek::make_intrusive<zeek::AddrVal>("0.0.0.0"));
|
network_info->Assign(0, zeek::make_intrusive<zeek::StringVal>("0.0.0.0"));
|
||||||
network_info->Assign(1, zeek::val_mgr->Port(0, TRANSPORT_TCP));
|
network_info->Assign(1, zeek::val_mgr->Port(0, TRANSPORT_TCP));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||||
|
peered, now 1 peer(s)
|
||||||
Something sender, 1
|
Something sender, 1
|
||||||
unpeering
|
unpeering
|
||||||
Something sender, 2
|
Something sender, 2
|
||||||
|
|
|
@ -43,6 +43,7 @@ event zeek_init()
|
||||||
|
|
||||||
event Broker::peer_added(endpoint: Broker::EndpointInfo, msg: string)
|
event Broker::peer_added(endpoint: Broker::EndpointInfo, msg: string)
|
||||||
{
|
{
|
||||||
|
print fmt("peered, now %d peer(s)", |Broker::peers()|);
|
||||||
schedule 2secs { print_something(1) };
|
schedule 2secs { print_something(1) };
|
||||||
schedule 4secs { unpeer(endpoint) };
|
schedule 4secs { unpeer(endpoint) };
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue