mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 22:58:20 +00:00
89 lines
2.2 KiB
Text
89 lines
2.2 KiB
Text
# This tests the relationship of Site::local_nets and Site::private_address_space.
|
|
# The former defaults to the same values as the latter and both are config options.
|
|
# Therefore both redefs and runtime updates only affect the respective variable,
|
|
# not the other.
|
|
#
|
|
# @TEST-EXEC: zeek -b %INPUT > output
|
|
# @TEST-EXEC: btest-diff output
|
|
|
|
# @TEST-START-FILE common.zeek
|
|
function check_addr(ip: addr)
|
|
{
|
|
print fmt("%s is private: %s", ip, Site::is_private_addr(ip));
|
|
print fmt("%s is local: %s", ip, Site::is_local_addr(ip));
|
|
|
|
if ( ip in Site::local_nets_table )
|
|
print fmt("local subnet is %s", Site::local_nets_table[ip]);
|
|
else
|
|
print fmt("no local subnet");
|
|
}
|
|
|
|
event zeek_init()
|
|
{
|
|
check_addr(10.0.0.1);
|
|
check_addr(1.2.3.4);
|
|
}
|
|
# @TEST-END-FILE
|
|
|
|
# (1) The common case: 10/8 is private, implying local, and 1/8 is not.
|
|
@load ./common
|
|
|
|
# @TEST-START-NEXT
|
|
|
|
# (2) Removing 10/8 from private space implies we remove it from local, too.
|
|
@load ./common
|
|
redef Site::private_address_space -= { 10.0.0.0/8 };
|
|
|
|
# @TEST-START-NEXT
|
|
|
|
# (3) Adding 1/8 to private space implies we add it to local, too.
|
|
@load ./common
|
|
redef Site::private_address_space = { 1.0.0.0/8 };
|
|
|
|
# @TEST-START-NEXT
|
|
|
|
# (4) Adding 1/8 to local space doesn't change the private one.
|
|
@load ./common
|
|
redef Site::local_nets += { 1.0.0.0/8 };
|
|
|
|
# @TEST-START-NEXT
|
|
|
|
# (5) Resetting the local space to 1/8 does not lose the private space.
|
|
@load ./common
|
|
redef Site::local_nets = { 1.0.0.0/8 };
|
|
|
|
# @TEST-START-NEXT
|
|
|
|
# (6) Resetting the private space dynamically does propagate into local space.
|
|
@load ./common
|
|
|
|
event zeek_init() &priority=5
|
|
{
|
|
Config::set_value("Site::private_address_space", set(1.0.0.0/8));
|
|
}
|
|
|
|
# @TEST-START-NEXT
|
|
|
|
# (7) Resetting local space dynamically does not lose the private space.
|
|
@load ./common
|
|
|
|
event zeek_init() &priority=5
|
|
{
|
|
Config::set_value("Site::local_nets", set(1.0.0.0/8));
|
|
}
|
|
|
|
# @TEST-START-NEXT
|
|
|
|
# (8) Disable the private-means-local implication and verify defaults.
|
|
@load ./common
|
|
|
|
redef Site::private_address_space_is_local = F;
|
|
|
|
# @TEST-START-NEXT
|
|
|
|
# (9) Disable the private-means-local implication and alter both.
|
|
@load ./common
|
|
|
|
redef Site::private_address_space_is_local = F;
|
|
redef Site::private_address_space = { 1.0.0.0/8 };
|
|
redef Site::local_nets = { 10.0.0.0/8 };
|