Michal Koutný
7e343b530e
meson: Generate fuzzer inputs with directives
...
The lists of directives for fuzzer tests are maintained manually in the
repo. There is a tools/check-directives.sh script that runs during test
phase and reports stale directive lists.
Let's rework the script into a generator so that these directive files
are created on-the-flight and needn't be updated whenever a unit file
directives change. The scripts is rewritten in Python to get rid of gawk
dependency and each generated file is a separate meson target so that
incremental builds refresh what is just necessary (and parallelize
(negligible)).
Note: test/fuzz/fuzz-unit-file/directives-all.slice is kept since there
is not automated way to generate it (it is not covered by the check
script neither).
2022-10-20 14:43:50 +02:00
Yu Watanabe
f8b7c17764
network/tuntap: introduce KeepCarrier= setting
...
Closes #24267 .
2022-08-16 21:57:31 +09:00
Lennart Poettering
351f7d5143
fuzz: add ConditionCredential= to fuzz files, and sort their sections
2022-07-15 10:53:45 +02:00
Zbigniew Jędrzejewski-Szmek
cec3e9a774
fuzz: rename samples to avoid long test names
2022-07-05 21:49:12 +02:00
Yu Watanabe
98406eda8a
network/erspan: support erspan version 0 and 2
...
This also makes networkd accepts erspan index 0.
Closes #23570 .
2022-06-01 04:02:48 +09:00
Zbigniew Jędrzejewski-Szmek
a5398c774b
fuzz: rename test cases for brevity and meaning
...
Those long indentifiers make test output very wide, and they are ultimately
not very useful for humans to look at. Let's use some short string to identify
the test failure instead.
2022-05-04 11:51:15 +02:00
Yu Watanabe
96d96ec4e7
network: tunnel: handle null address as "any"
...
Fixes oss-fuzz#44881 (https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=44881 ).
Fixes #23098 .
2022-04-17 09:31:30 +09:00
Yu Watanabe
ec4954d934
network: rename netdev kind virtual-wlan -> wlan
...
The Kind= setting in [Match] section of .network files takes "wlan".
This makes the same setting in .netdev files matches the one in .network
files.
2022-03-28 23:53:12 +09:00
Yu Watanabe
dedf2d0054
network: add support to create wlan virtual interface
...
Closes #18977 .
2022-02-15 23:24:55 +09:00
Yu Watanabe
1ae308abb5
network: tunnel: support external mode
...
Closes #22352 .
2022-02-03 11:12:01 +09:00
Yu Watanabe
b90d0f83b2
network/netdev: add support to create IPoIB subinterface
2021-12-04 15:06:58 +09:00
Yu Watanabe
e908434458
network: wireguard: automatically configure routes to addresses specified in AllowedIPs=
...
Closes #14176 .
2021-12-01 04:00:11 +09:00
Jörg Deckert
dd568427fb
networkd: correct batman-adv setting name (GatewayBandwidth) ( #19539 )
...
Co-authored-by: Jörg Deckert <jdeckert@unitas-network.de >
2021-05-08 14:39:32 +02:00
Uwe Kleine-König
cbcdcaaa0e
Add support for conditions on the machines firmware
...
This allows to limit units to machines that run on a certain firmware
type. For device tree defined machines checking against the machine's
compatible is also possible.
2021-04-28 10:55:55 +02:00
Annika Wickert
c0267a592a
network: Implement B.A.T.M.A.N. Advanced interface type
2021-02-25 01:57:29 +09:00
Susant Sahani
dca0a4e131
network: macvlan - add support to configure rx queue for broadcast/multicast
2021-01-17 08:39:28 +01:00
Susant Sahani
ea07086285
network: Allow to configure VLan egress qos maps
2021-01-12 14:31:03 +01:00
Susant Sahani
0d9b8913e2
network: Allow to configure VLan egress qos maps
2021-01-12 14:30:56 +01:00
walbit-de
2d453f3597
network: add Protocol= to vlan netdev ( #17794 )
2020-12-02 14:58:02 +01:00
Yu Watanabe
dc0e90d2e0
Merge pull request #16929 from ssahani/network-bare-udp
...
network: introduce Bare UDP Tunnelling
2020-09-17 20:34:15 +09:00
Susant Sahani
a9b8450bd4
network: Allow vxlan to be created without .network file
2020-09-17 15:49:36 +09:00
Susant Sahani
e6980c7270
network: Introduce bare UDP
2020-09-17 15:05:58 +09:00
Alvin Šipraga
0d0de133f0
network: add support for MACVLAN source mode
...
Add support for creating a MACVLAN interface in "source" mode by
specifying Mode=source in the [MACVLAN] section of a .netdev file.
A list of allowed MAC addresses for the corresponding MACVLAN can also
be specified with the SourceMACAddress= option of the [MACVLAN] section.
An example .netdev file:
[NetDev]
Name=macvlan0
Kind=macvlan
MACAddress=02:DE:AD:BE:EF:00
[MACVLAN]
Mode=source
SourceMACAddress=02:AB:AB:AB:AB:01 02:CD:CD:CD:CD:01
SourceMACAddress=02:EF:EF:EF:EF:01
The same keys can also be specified in [MACVTAP] for MACVTAP kinds of
interfaces, with the same semantics.
2020-07-08 18:01:52 +02:00
Zbigniew Jędrzejewski-Szmek
804a436582
fuzz-netdev-parser: add test case for earlier version of preceding patches
...
AddressSanitizer:DEADLYSIGNAL
=================================================================
==12==ERROR: AddressSanitizer: ABRT on unknown address 0x00000000000c (pc 0x7f0a518b3428 bp 0x7fffa463bfd0 sp 0x7fffa463be68 T0)
SCARINESS: 10 (signal)
#0 0x7f0a518b3428 in raise (/lib/x86_64-linux-gnu/libc.so.6+0x35428)
#1 0x7f0a518b5029 in abort (/lib/x86_64-linux-gnu/libc.so.6+0x37029)
#2 0x7f0a52ca635a in log_assert_failed_realm /work/build/../../src/systemd/src/basic/log.c:819:9
#3 0x4eea92 in config_parse_wireguard_endpoint /work/build/../../src/systemd/src/network/netdev/wireguard.c:808:9
#4 0x7f0a52b2f74e in next_assignment /work/build/../../src/systemd/src/shared/conf-parser.c:133:32
#5 0x7f0a52b2954e in parse_line /work/build/../../src/systemd/src/shared/conf-parser.c:242:16
#6 0x7f0a52b28911 in config_parse /work/build/../../src/systemd/src/shared/conf-parser.c:377:21
#7 0x7f0a52b29ec6 in config_parse_many_files /work/build/../../src/systemd/src/shared/conf-parser.c:439:21
#8 0x7f0a52b2a5a6 in config_parse_many /work/build/../../src/systemd/src/shared/conf-parser.c:507:16
#9 0x4d8d6c in netdev_load_one /work/build/../../src/systemd/src/network/netdev/netdev.c:732:13
#10 0x4d3e2b in LLVMFuzzerTestOneInput /work/build/../../src/systemd/src/network/fuzz-netdev-parser.c:23:16
#11 0x6b3266 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/libfuzzer/FuzzerLoop.cpp:558:15
#12 0x6af860 in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool*) /src/libfuzzer/FuzzerLoop.cpp:470:3
#13 0x6b6970 in fuzzer::Fuzzer::ReadAndExecuteSeedCorpora(std::__1::vector<fuzzer::SizedFile, fuzzer::fuzzer_allocator<fuzzer::SizedFile> >&) /src/libfuzzer/FuzzerLoop.cpp:770:7
#14 0x6b7376 in fuzzer::Fuzzer::Loop(std::__1::vector<fuzzer::SizedFile, fuzzer::fuzzer_allocator<fuzzer::SizedFile> >&) /src/libfuzzer/FuzzerLoop.cpp:799:3
#15 0x67573f in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/libfuzzer/FuzzerDriver.cpp:846:6
#16 0x667097 in main /src/libfuzzer/FuzzerMain.cpp:19:10
#17 0x7f0a5189e82f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)
#18 0x4295a8 in _start (out/fuzz-netdev-parser+0x4295a8)
DEDUP_TOKEN: raise--abort--log_assert_failed_realm
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: ABRT (/lib/x86_64-linux-gnu/libc.so.6+0x35428) in raise
==12==ABORTING
2020-06-22 16:32:37 +02:00
Yu Watanabe
0e77fc66bc
network: fix double free in macsec_receive_channel_free()
...
Fixes #15941 .
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=22547
2020-06-01 09:39:46 +02:00