Merge pull request #10640 from evverx/networkd-fuzzers
Add a couple of fuzzers for network_load_one and netdev_load_one
This commit is contained in:
@@ -7,6 +7,7 @@
|
||||
#include <sys/types.h>
|
||||
|
||||
#include "macro.h"
|
||||
#include "util.h"
|
||||
|
||||
#define snprintf_ok(buf, len, fmt, ...) \
|
||||
((size_t) snprintf(buf, len, fmt, __VA_ARGS__) < (len))
|
||||
@@ -18,6 +19,9 @@
|
||||
do { \
|
||||
int _argtypes[128]; \
|
||||
size_t _i, _k; \
|
||||
/* See https://github.com/google/sanitizers/issues/992 */ \
|
||||
if (HAS_FEATURE_MEMORY_SANITIZER) \
|
||||
zero(_argtypes); \
|
||||
_k = parse_printf_format((format), ELEMENTSOF(_argtypes), _argtypes); \
|
||||
assert(_k < ELEMENTSOF(_argtypes)); \
|
||||
for (_i = 0; _i < _k; _i++) { \
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1+ */
|
||||
|
||||
#include "fd-util.h"
|
||||
#include "fileio.h"
|
||||
#include "fs-util.h"
|
||||
#include "fuzz.h"
|
||||
#include "networkd-manager.h"
|
||||
|
||||
int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
|
||||
_cleanup_(manager_freep) Manager *manager = NULL;
|
||||
_cleanup_fclose_ FILE *f = NULL;
|
||||
_cleanup_(unlink_tempfilep) char netdev_config[] = "/tmp/fuzz-networkd.XXXXXX";
|
||||
|
||||
assert_se(fmkostemp_safe(netdev_config, "r+", &f) == 0);
|
||||
if (size != 0)
|
||||
assert_se(fwrite(data, size, 1, f) == 1);
|
||||
|
||||
rewind(f);
|
||||
assert_se(manager_new(&manager) >= 0);
|
||||
(void) netdev_load_one(manager, netdev_config);
|
||||
return 0;
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1+ */
|
||||
|
||||
#include "fd-util.h"
|
||||
#include "fileio.h"
|
||||
#include "fs-util.h"
|
||||
#include "fuzz.h"
|
||||
#include "networkd-manager.h"
|
||||
|
||||
int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
|
||||
_cleanup_(manager_freep) Manager *manager = NULL;
|
||||
_cleanup_fclose_ FILE *f = NULL;
|
||||
_cleanup_(unlink_tempfilep) char network_config[] = "/tmp/fuzz-networkd.XXXXXX";
|
||||
|
||||
assert_se(fmkostemp_safe(network_config, "r+", &f) == 0);
|
||||
if (size != 0)
|
||||
assert_se(fwrite(data, size, 1, f) == 1);
|
||||
|
||||
rewind(f);
|
||||
assert_se(manager_new(&manager) >= 0);
|
||||
(void) network_load_one(manager, network_config);
|
||||
return 0;
|
||||
}
|
||||
@@ -136,6 +136,24 @@ if conf.get('ENABLE_NETWORKD') == 1
|
||||
install_data('networkd.conf',
|
||||
install_dir : pkgsysconfdir)
|
||||
|
||||
fuzzers += [
|
||||
[['src/network/fuzz-netdev-parser.c',
|
||||
'src/fuzz/fuzz.h'],
|
||||
[libnetworkd_core,
|
||||
libudev_static,
|
||||
libsystemd_network,
|
||||
libshared],
|
||||
[threads]],
|
||||
|
||||
[['src/network/fuzz-network-parser.c',
|
||||
'src/fuzz/fuzz.h'],
|
||||
[libnetworkd_core,
|
||||
libudev_static,
|
||||
libsystemd_network,
|
||||
libshared],
|
||||
[threads]]
|
||||
]
|
||||
|
||||
tests += [
|
||||
[['src/network/test-networkd-conf.c'],
|
||||
[libnetworkd_core,
|
||||
|
||||
@@ -594,7 +594,7 @@ int netdev_join(NetDev *netdev, Link *link, sd_netlink_message_handler_t callbac
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int netdev_load_one(Manager *manager, const char *filename) {
|
||||
int netdev_load_one(Manager *manager, const char *filename) {
|
||||
_cleanup_(netdev_unrefp) NetDev *netdev_raw = NULL, *netdev = NULL;
|
||||
_cleanup_fclose_ FILE *file = NULL;
|
||||
const char *dropin_dirname;
|
||||
|
||||
@@ -146,6 +146,7 @@ extern const NetDevVTable * const netdev_vtable[_NETDEV_KIND_MAX];
|
||||
#define NETDEV(n) (&(n)->meta)
|
||||
|
||||
int netdev_load(Manager *manager);
|
||||
int netdev_load_one(Manager *manager, const char *filename);
|
||||
void netdev_drop(NetDev *netdev);
|
||||
|
||||
NetDev *netdev_unref(NetDev *netdev);
|
||||
|
||||
@@ -102,7 +102,7 @@ void network_apply_anonymize_if_set(Network *network) {
|
||||
network->dhcp_use_timezone = false;
|
||||
}
|
||||
|
||||
static int network_load_one(Manager *manager, const char *filename) {
|
||||
int network_load_one(Manager *manager, const char *filename) {
|
||||
_cleanup_(network_freep) Network *network = NULL;
|
||||
_cleanup_fclose_ FILE *file = NULL;
|
||||
char *d;
|
||||
@@ -181,8 +181,6 @@ static int network_load_one(Manager *manager, const char *filename) {
|
||||
if (!d)
|
||||
return -EINVAL;
|
||||
|
||||
assert(streq(d, ".network"));
|
||||
|
||||
*d = '\0';
|
||||
|
||||
network->required_for_online = true;
|
||||
|
||||
@@ -272,6 +272,7 @@ void network_free(Network *network);
|
||||
DEFINE_TRIVIAL_CLEANUP_FUNC(Network*, network_free);
|
||||
|
||||
int network_load(Manager *manager);
|
||||
int network_load_one(Manager *manager, const char *filename);
|
||||
|
||||
int network_get_by_name(Manager *manager, const char *name, Network **ret);
|
||||
int network_get(Manager *manager, sd_device *device, const char *ifname, const struct ether_addr *mac, Network **ret);
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
[NetDev]
|
||||
Name=test1
|
||||
Kind=dummy
|
||||
@@ -0,0 +1,3 @@
|
||||
[NetDev]
|
||||
Name=dummy98
|
||||
Kind=dummy
|
||||
@@ -0,0 +1,3 @@
|
||||
[NetDev]
|
||||
Name=macvlan99
|
||||
Kind=macvlan
|
||||
@@ -0,0 +1,3 @@
|
||||
[NetDev]
|
||||
Name=macvtap99
|
||||
Kind=macvtap
|
||||
@@ -0,0 +1,10 @@
|
||||
[NetDev]
|
||||
Name=vlan99
|
||||
Kind=vlan
|
||||
|
||||
[VLAN]
|
||||
Id=99
|
||||
GVRP=true
|
||||
MVRP=true
|
||||
LooseBinding=true
|
||||
ReorderHeader=true
|
||||
@@ -0,0 +1,6 @@
|
||||
[NetDev]
|
||||
Name=bond199
|
||||
Kind=bond
|
||||
|
||||
[Bond]
|
||||
Mode=active-backup
|
||||
@@ -0,0 +1,18 @@
|
||||
[NetDev]
|
||||
Name=bond99
|
||||
Kind=bond
|
||||
|
||||
[Bond]
|
||||
Mode=802.3ad
|
||||
TransmitHashPolicy=layer3+4
|
||||
MIIMonitorSec=1s
|
||||
LACPTransmitRate=fast
|
||||
UpDelaySec=2s
|
||||
DownDelaySec=2s
|
||||
ResendIGMP=4
|
||||
MinLinks=1
|
||||
AdActorSystemPriority=1218
|
||||
AdUserPortKey=811
|
||||
AdActorSystem=00:11:22:33:44:55
|
||||
# feed the sanitizer
|
||||
AdActorSystem=00:11:22:33:44:55
|
||||
@@ -0,0 +1,13 @@
|
||||
[NetDev]
|
||||
Name=bridge99
|
||||
Kind=bridge
|
||||
|
||||
[Bridge]
|
||||
HelloTimeSec=9
|
||||
MaxAgeSec=9
|
||||
ForwardDelaySec=9
|
||||
AgeingTimeSec=9
|
||||
Priority=9
|
||||
MulticastQuerier= true
|
||||
MulticastSnooping=true
|
||||
STP=true
|
||||
@@ -0,0 +1,12 @@
|
||||
[NetDev]
|
||||
Name=geneve99
|
||||
Kind=geneve
|
||||
|
||||
[GENEVE]
|
||||
Id=99
|
||||
Remote=192.168.22.1
|
||||
TTL=1
|
||||
UDPChecksum=true
|
||||
UDP6ZeroChecksumTx=true
|
||||
UDP6ZeroChecksumRx=true
|
||||
DestinationPort=6082
|
||||
@@ -0,0 +1,7 @@
|
||||
[NetDev]
|
||||
Name=gretun99
|
||||
Kind=gre
|
||||
|
||||
[Tunnel]
|
||||
Local=10.65.223.238
|
||||
Remote=10.65.223.239
|
||||
@@ -0,0 +1,7 @@
|
||||
[NetDev]
|
||||
Name=gretap99
|
||||
Kind=gretap
|
||||
|
||||
[Tunnel]
|
||||
Local=10.65.223.238
|
||||
Remote=10.65.223.239
|
||||
@@ -0,0 +1,7 @@
|
||||
[NetDev]
|
||||
Name=ip6gretap99
|
||||
Kind=ip6gretap
|
||||
|
||||
[Tunnel]
|
||||
Local=2a00:ffde:4567:edde::4987
|
||||
Remote=2001:473:fece:cafe::5179
|
||||
@@ -0,0 +1,8 @@
|
||||
[NetDev]
|
||||
Name=ip6tnl99
|
||||
Kind=ip6tnl
|
||||
|
||||
[Tunnel]
|
||||
Mode=ip6ip6
|
||||
Local=2a00:ffde:4567:edde::4987
|
||||
Remote=2001:473:fece:cafe::5179
|
||||
@@ -0,0 +1,9 @@
|
||||
[NetDev]
|
||||
Name=ipiptun99
|
||||
Kind=ipip
|
||||
MTUBytes=1480
|
||||
|
||||
[Tunnel]
|
||||
Local=192.168.223.238
|
||||
Remote=192.169.224.239
|
||||
Independent=true
|
||||
@@ -0,0 +1,8 @@
|
||||
[NetDev]
|
||||
Name=ipiptun99
|
||||
Kind=ipip
|
||||
MTUBytes=1480
|
||||
|
||||
[Tunnel]
|
||||
Local=192.168.223.238
|
||||
Remote=192.169.224.239
|
||||
@@ -0,0 +1,6 @@
|
||||
[NetDev]
|
||||
Name=ipvlan99
|
||||
Kind=ipvlan
|
||||
|
||||
[IPVLAN]
|
||||
Mode=L2
|
||||
@@ -0,0 +1,7 @@
|
||||
[NetDev]
|
||||
Name=sittun99
|
||||
Kind=sit
|
||||
|
||||
[Tunnel]
|
||||
Local=10.65.223.238
|
||||
Remote=10.65.223.239
|
||||
@@ -0,0 +1,7 @@
|
||||
[NetDev]
|
||||
Name=tap99
|
||||
Kind=tap
|
||||
|
||||
[Tap]
|
||||
MultiQueue=true
|
||||
PacketInfo=true
|
||||
@@ -0,0 +1,7 @@
|
||||
[NetDev]
|
||||
Name=tun99
|
||||
Kind=tun
|
||||
|
||||
[Tun]
|
||||
MultiQueue=true
|
||||
PacketInfo=true
|
||||
@@ -0,0 +1,3 @@
|
||||
[NetDev]
|
||||
Name=vcan99
|
||||
Kind=vcan
|
||||
@@ -0,0 +1,8 @@
|
||||
[NetDev]
|
||||
Name=veth99
|
||||
Kind=veth
|
||||
MACAddress=12:34:56:78:9a:bc
|
||||
|
||||
[Peer]
|
||||
Name=veth-peer
|
||||
MACAddress=12:34:56:78:9a:bd
|
||||
@@ -0,0 +1,6 @@
|
||||
[NetDev]
|
||||
Name=vrf99
|
||||
Kind=vrf
|
||||
|
||||
[VRF]
|
||||
TableId=42
|
||||
@@ -0,0 +1,7 @@
|
||||
[NetDev]
|
||||
Name=vtitun99
|
||||
Kind=vti
|
||||
|
||||
[Tunnel]
|
||||
Local=10.65.223.238
|
||||
Remote=10.65.223.239
|
||||
@@ -0,0 +1,7 @@
|
||||
[NetDev]
|
||||
Name=vti6tun99
|
||||
Kind=vti6
|
||||
|
||||
[Tunnel]
|
||||
Local=2a00:ffde:4567:edde::4987
|
||||
Remote=2001:473:fece:cafe::5179
|
||||
@@ -0,0 +1,16 @@
|
||||
[NetDev]
|
||||
Name=vxlan99
|
||||
Kind=vxlan
|
||||
|
||||
[VXLAN]
|
||||
Id=999
|
||||
L2MissNotification=true
|
||||
L3MissNotification=true
|
||||
RouteShortCircuit=true
|
||||
UDPChecksum=true
|
||||
UDP6ZeroChecksumTx=true
|
||||
UDP6ZeroChecksumRx=true
|
||||
RemoteChecksumTx=true
|
||||
RemoteChecksumRx=true
|
||||
GroupPolicyExtension=true
|
||||
DestinationPort=5555
|
||||
@@ -0,0 +1,12 @@
|
||||
[NetDev]
|
||||
Name=wg99
|
||||
Kind=wireguard
|
||||
|
||||
[WireGuard]
|
||||
PrivateKey=EEGlnEPYJV//kbvvIqxKkQwOiS+UENyPncC4bF46ong=
|
||||
ListenPort=51820
|
||||
|
||||
[WireGuardPeer]
|
||||
PublicKey=RDf+LSpeEre7YEIKaxg+wbpsNV7du+ktR99uBEtIiCA=
|
||||
AllowedIPs=fd31:bf08:57cb::/48,192.168.26.0/24
|
||||
Endpoint=wireguard.example.com:51820
|
||||
@@ -0,0 +1,3 @@
|
||||
[NetDev]
|
||||
Name=bridge99
|
||||
Kind=bridge
|
||||
@@ -0,0 +1,153 @@
|
||||
[VLAN]
|
||||
MVRP=
|
||||
LooseBinding=
|
||||
ReorderHeader=
|
||||
Id=
|
||||
GVRP=
|
||||
[MACVLAN]
|
||||
Mode=
|
||||
[WireGuard]
|
||||
ListenPort=
|
||||
PrivateKey=
|
||||
FwMark=
|
||||
[MACVTAP]
|
||||
Mode=
|
||||
[Match]
|
||||
Architecture=
|
||||
Host=
|
||||
KernelVersion=
|
||||
Virtualization=
|
||||
KernelCommandLine=
|
||||
[GENEVE]
|
||||
DestinationPort=
|
||||
TTL=
|
||||
UDP6ZeroCheckSumTx=
|
||||
TOS=
|
||||
Id=
|
||||
UDPChecksum=
|
||||
UDP6ZeroChecksumTx=
|
||||
FlowLabel=
|
||||
UDP6ZeroChecksumRx=
|
||||
Remote=
|
||||
UDP6ZeroCheckSumRx=
|
||||
[Bridge]
|
||||
ForwardDelaySec=
|
||||
HelloTimeSec=
|
||||
MaxAgeSec=
|
||||
STP=
|
||||
MulticastSnooping=
|
||||
DefaultPVID=
|
||||
MulticastQuerier=
|
||||
AgeingTimeSec=
|
||||
Priority=
|
||||
GroupForwardMask=
|
||||
VLANFiltering=
|
||||
[VRF]
|
||||
TableId=
|
||||
Table=
|
||||
[Peer]
|
||||
MACAddress=
|
||||
Name=
|
||||
[WireGuardPeer]
|
||||
Endpoint=
|
||||
PresharedKey=
|
||||
PersistentKeepalive=
|
||||
PublicKey=
|
||||
AllowedIPs=
|
||||
[Tunnel]
|
||||
FooOverUDP=
|
||||
IPv6FlowLabel=
|
||||
Remote=
|
||||
AllowLocalRemote=
|
||||
Local=
|
||||
TOS=
|
||||
Independent=
|
||||
Key=
|
||||
InputKey=
|
||||
Encapsulation=
|
||||
Mode=
|
||||
OutputKey=
|
||||
DiscoverPathMTU=
|
||||
FOUDestinationPort=
|
||||
CopyDSCP=
|
||||
EncapsulationLimit=
|
||||
TTL=
|
||||
FOUSourcePort=
|
||||
[VXLAN]
|
||||
UDP6ZeroChecksumRx=
|
||||
ARPProxy=
|
||||
FlowLabel=
|
||||
Local=
|
||||
RemoteChecksumTx=
|
||||
RouteShortCircuit=
|
||||
Remote=
|
||||
L3MissNotification=
|
||||
Group=
|
||||
FDBAgeingSec=
|
||||
MacLearning=
|
||||
Id=
|
||||
RemoteChecksumRx=
|
||||
TOS=
|
||||
L2MissNotification=
|
||||
UDP6ZeroChecksumTx=
|
||||
UDP6ZeroCheckSumRx=
|
||||
UDPCheckSum=
|
||||
GroupPolicyExtension=
|
||||
MaximumFDBEntries=
|
||||
TTL=
|
||||
DestinationPort=
|
||||
ReduceARPProxy=
|
||||
PortRange=
|
||||
UDPChecksum=
|
||||
UDP6ZeroCheckSumTx=
|
||||
[VXCAN]
|
||||
Peer=
|
||||
[Bond]
|
||||
LearnPacketIntervalSec=
|
||||
TransmitHashPolicy=
|
||||
MIIMonitorSec=
|
||||
PacketsPerSlave=
|
||||
DownDelaySec=
|
||||
PrimaryReselectPolicy=
|
||||
ResendIGMP=
|
||||
ARPAllTargets=
|
||||
AdActorSystemPriority=
|
||||
UpDelaySec=
|
||||
AdSelect=
|
||||
AdActorSystem=
|
||||
AdUserPortKey=
|
||||
FailOverMACPolicy=
|
||||
ARPValidate=
|
||||
Mode=
|
||||
GratuitousARP=
|
||||
ARPIPTargets=
|
||||
MinLinks=
|
||||
LACPTransmitRate=
|
||||
ARPIntervalSec=
|
||||
AllSlavesActive=
|
||||
[FooOverUDP]
|
||||
Protocol=
|
||||
Port=
|
||||
Encapsulation=
|
||||
[Tap]
|
||||
MultiQueue=
|
||||
OneQueue=
|
||||
User=
|
||||
Group=
|
||||
PacketInfo=
|
||||
VNetHeader=
|
||||
[IPVLAN]
|
||||
Mode=
|
||||
Flags=
|
||||
[Tun]
|
||||
OneQueue=
|
||||
MultiQueue=
|
||||
PacketInfo=
|
||||
Group=
|
||||
User=
|
||||
[NetDev]
|
||||
Kind=
|
||||
MACAddress=
|
||||
MTUBytes=
|
||||
Description=
|
||||
Name=
|
||||
@@ -0,0 +1,5 @@
|
||||
[NetDev]
|
||||
Name=veth99
|
||||
Kind=veth
|
||||
MACAddress=12:34:56:78:9a:bc
|
||||
MACAddress=12:34:56:78:9a:bc
|
||||
@@ -0,0 +1,10 @@
|
||||
[NetDev]
|
||||
Name=vlan99
|
||||
Kind=vcan
|
||||
|
||||
[VLAN]
|
||||
Id=99
|
||||
GVRP=true
|
||||
MVRP=true
|
||||
LooseBinding=true
|
||||
ReorderHeader=true
|
||||
@@ -0,0 +1,5 @@
|
||||
[Match]
|
||||
Name=test1
|
||||
|
||||
[Network]
|
||||
VLAN=vlan99
|
||||
@@ -0,0 +1,6 @@
|
||||
[Match]
|
||||
Name=dummy98
|
||||
|
||||
[Network]
|
||||
Bond=bond199
|
||||
ActiveSlave=true
|
||||
@@ -0,0 +1,2 @@
|
||||
[Match]
|
||||
Name=bond199
|
||||
@@ -0,0 +1,5 @@
|
||||
[Match]
|
||||
Name=veth-peer
|
||||
|
||||
[Network]
|
||||
EmitLLDP=yes
|
||||
@@ -0,0 +1,6 @@
|
||||
[Match]
|
||||
Name=dummy98
|
||||
|
||||
[Network]
|
||||
Bond=bond199
|
||||
PrimarySlave=true
|
||||
@@ -0,0 +1,6 @@
|
||||
[Match]
|
||||
Name=test1
|
||||
|
||||
[Network]
|
||||
Bond=bond199
|
||||
PrimarySlave=true
|
||||
@@ -0,0 +1,5 @@
|
||||
[Match]
|
||||
Name=veth99
|
||||
|
||||
[Network]
|
||||
LLDP=yes
|
||||
@@ -0,0 +1,7 @@
|
||||
[Match]
|
||||
Name=dummy98
|
||||
|
||||
[Network]
|
||||
Address=192.168.42.100
|
||||
DNS=192.168.42.1
|
||||
Domains= one two three four five six seven eight nine ten
|
||||
@@ -0,0 +1,5 @@
|
||||
[Match]
|
||||
Name=dummy98
|
||||
|
||||
[Link]
|
||||
MACAddress=00:01:02:aa:bb:cc
|
||||
@@ -0,0 +1,10 @@
|
||||
[Match]
|
||||
Name=dummy98
|
||||
|
||||
[Address]
|
||||
Address=10.2.3.4/16
|
||||
PreferredLifetime=0
|
||||
Scope=link
|
||||
|
||||
[Address]
|
||||
Address=2001:0db8:0:f101::1/64
|
||||
@@ -0,0 +1,11 @@
|
||||
[Match]
|
||||
Name=dummy98
|
||||
|
||||
[Address]
|
||||
Address=10.2.3.4/16
|
||||
Peer=10.2.3.5/16
|
||||
Label=32
|
||||
|
||||
[Address]
|
||||
Address=10.6.7.8/16
|
||||
Label=33
|
||||
@@ -0,0 +1,6 @@
|
||||
[Match]
|
||||
Name=dummy98
|
||||
|
||||
[IPv6AddressLabel]
|
||||
Label=4444
|
||||
Prefix=2004:da8:1:0::/64
|
||||
@@ -0,0 +1,6 @@
|
||||
[Match]
|
||||
Name=dummy98
|
||||
|
||||
[Link]
|
||||
MACAddress=00:01:02:aa:bb:cc
|
||||
Unmanaged=true
|
||||
@@ -0,0 +1,8 @@
|
||||
[Match]
|
||||
Name=dummy98
|
||||
|
||||
[Network]
|
||||
Address=192.168.0.15/24
|
||||
|
||||
[Route]
|
||||
Gateway=192.168.0.1
|
||||
@@ -0,0 +1,10 @@
|
||||
[Match]
|
||||
Name=test1
|
||||
|
||||
[Route]
|
||||
Destination=192.168.1.1
|
||||
InitialCongestionWindow=20
|
||||
|
||||
[Route]
|
||||
Destination=192.168.1.2
|
||||
InitialAdvertisedReceiveWindow=30
|
||||
@@ -0,0 +1,14 @@
|
||||
[Match]
|
||||
Name=dummy98
|
||||
|
||||
[Route]
|
||||
Type=blackhole
|
||||
Destination=202.54.1.2
|
||||
|
||||
[Route]
|
||||
Type=unreachable
|
||||
Destination=202.54.1.3
|
||||
|
||||
[Route]
|
||||
Type=prohibit
|
||||
Destination=202.54.1.4
|
||||
@@ -0,0 +1,10 @@
|
||||
[Match]
|
||||
Name=dummy98
|
||||
|
||||
[Network]
|
||||
IPForward=true
|
||||
IPv6PrivacyExtensions=true
|
||||
IPv6DuplicateAddressDetection=3
|
||||
IPv6HopLimit=5
|
||||
IPv4ProxyARP=true
|
||||
IPv6ProxyNDP=true
|
||||
@@ -0,0 +1,11 @@
|
||||
[Match]
|
||||
Name=dummy98
|
||||
|
||||
[Network]
|
||||
Bridge=bridge99
|
||||
|
||||
[Bridge]
|
||||
Cost=400
|
||||
HairPin = true
|
||||
FastLeave = true
|
||||
UnicastFlood = true
|
||||
@@ -0,0 +1,5 @@
|
||||
[Match]
|
||||
Name=test1
|
||||
|
||||
[Network]
|
||||
Bridge=bridge99
|
||||
@@ -0,0 +1,6 @@
|
||||
[Match]
|
||||
Name=bridge99
|
||||
|
||||
[Network]
|
||||
Address=192.168.0.15/24
|
||||
Gateway=192.168.0.1
|
||||
@@ -0,0 +1,7 @@
|
||||
[Match]
|
||||
Name=test1
|
||||
|
||||
[Network]
|
||||
Address=192.168.0.15/24
|
||||
Gateway=192.168.0.1
|
||||
ConfigureWithoutCarrier=true
|
||||
@@ -0,0 +1,16 @@
|
||||
[Match]
|
||||
Name=veth99
|
||||
|
||||
[Network]
|
||||
DHCP=ipv4
|
||||
IPv6AcceptRA=false
|
||||
|
||||
[DHCP]
|
||||
Anonymize=true
|
||||
UseMTU=true
|
||||
UseRoutes=true
|
||||
SendHostname=true
|
||||
UseHostname=true
|
||||
Hostname=test-hostname
|
||||
ClientIdentifier=mac
|
||||
VendorClassIdentifier=SusantVendorTest
|
||||
@@ -0,0 +1,9 @@
|
||||
[Match]
|
||||
Name=veth99
|
||||
|
||||
[Network]
|
||||
DHCP=ipv4
|
||||
IPv6AcceptRA=false
|
||||
|
||||
[DHCP]
|
||||
CriticalConnection=true
|
||||
@@ -0,0 +1,15 @@
|
||||
[Match]
|
||||
Name=veth99
|
||||
|
||||
[Network]
|
||||
DHCP=ipv4
|
||||
IPv6AcceptRA=false
|
||||
|
||||
[DHCP]
|
||||
UseMTU=true
|
||||
UseRoutes=true
|
||||
SendHostname=true
|
||||
UseHostname=true
|
||||
Hostname=test-hostname
|
||||
ClientIdentifier=mac
|
||||
VendorClassIdentifier=SusantVendorTest
|
||||
@@ -0,0 +1,6 @@
|
||||
[Match]
|
||||
Name=veth99
|
||||
|
||||
[Network]
|
||||
DHCP=ipv4
|
||||
IPv6AcceptRA=false
|
||||
@@ -0,0 +1,5 @@
|
||||
[Match]
|
||||
Name=veth99
|
||||
|
||||
[Network]
|
||||
DHCP=ipv4
|
||||
@@ -0,0 +1,5 @@
|
||||
[Match]
|
||||
Name=veth99
|
||||
|
||||
[Network]
|
||||
DHCP=ipv6
|
||||
@@ -0,0 +1,8 @@
|
||||
[Match]
|
||||
Name=veth99
|
||||
|
||||
[Network]
|
||||
DHCP=ipv6
|
||||
|
||||
[DHCP]
|
||||
RapidCommit=false
|
||||
@@ -0,0 +1,8 @@
|
||||
[Match]
|
||||
Name=veth99
|
||||
|
||||
[Network]
|
||||
DHCP=yes
|
||||
|
||||
[DHCP]
|
||||
ListenPort=5555
|
||||
@@ -0,0 +1,10 @@
|
||||
[Match]
|
||||
Name=veth99
|
||||
|
||||
[Network]
|
||||
DHCP=ipv4
|
||||
IPv6AcceptRA=false
|
||||
|
||||
[DHCP]
|
||||
UseRoutes=true
|
||||
RouteMetric=24
|
||||
@@ -0,0 +1,10 @@
|
||||
[Match]
|
||||
Name=veth99
|
||||
|
||||
[Network]
|
||||
DHCP=ipv4
|
||||
IPv6AcceptRA=false
|
||||
|
||||
[DHCP]
|
||||
UseRoutes=true
|
||||
RouteTable=12
|
||||
@@ -0,0 +1,8 @@
|
||||
[Match]
|
||||
Name=veth99
|
||||
|
||||
[Network]
|
||||
IPv6AcceptRA=false
|
||||
DHCP=ipv4
|
||||
UseRoutes=true
|
||||
UseTimezone=true
|
||||
@@ -0,0 +1,5 @@
|
||||
[Match]
|
||||
Name=veth99
|
||||
|
||||
[Network]
|
||||
DHCP=yes
|
||||
@@ -0,0 +1,13 @@
|
||||
[Match]
|
||||
Name=veth-peer
|
||||
|
||||
[Network]
|
||||
IPv6AcceptRA=false
|
||||
Address=192.168.5.1/24
|
||||
DHCPServer=yes
|
||||
|
||||
[DHCPServer]
|
||||
PoolOffset=10
|
||||
PoolSize=50
|
||||
EmitRouter=yes
|
||||
Timezone=Europe/Berlin
|
||||
@@ -0,0 +1,6 @@
|
||||
[Match]
|
||||
Name=veth-peer
|
||||
|
||||
[Network]
|
||||
Address=2600::1
|
||||
Address=192.168.5.1/24
|
||||
@@ -0,0 +1,12 @@
|
||||
[Match]
|
||||
Name=veth-peer
|
||||
|
||||
[Network]
|
||||
Address=192.168.5.1/24
|
||||
DHCPServer=yes
|
||||
|
||||
[DHCPServer]
|
||||
PoolOffset=10
|
||||
PoolSize=50
|
||||
DNS=192.168.5.1
|
||||
NTP=192.168.5.1
|
||||
@@ -0,0 +1,6 @@
|
||||
[Match]
|
||||
Name=veth-peer
|
||||
|
||||
[Network]
|
||||
Address=192.168.0.1
|
||||
Address=192.168.5.1
|
||||
@@ -0,0 +1,187 @@
|
||||
[Bridge]
|
||||
Cost=
|
||||
UseBPDU=
|
||||
HairPin=
|
||||
UnicastFlood=
|
||||
FastLeave=
|
||||
Priority=
|
||||
AllowPortToBeRoot=
|
||||
[Match]
|
||||
KernelVersion=
|
||||
Type=
|
||||
Driver=
|
||||
Architecture=
|
||||
Path=
|
||||
Name=
|
||||
Virtualization=
|
||||
KernelCommandLine=
|
||||
Host=
|
||||
MACAddress=
|
||||
[Link]
|
||||
RequiredForOnline=
|
||||
ARP=
|
||||
AllMulticast=
|
||||
Unmanaged=
|
||||
MTUBytes=
|
||||
Multicast=
|
||||
MACAddress=
|
||||
[BridgeFDB]
|
||||
VLANId=
|
||||
MACAddress=
|
||||
[DHCP]
|
||||
UseDomains=
|
||||
UseRoutes=
|
||||
IAID=
|
||||
UserClass=
|
||||
UseNTP=
|
||||
RapidCommit=
|
||||
ForceDHCPv6PDOtherInformation=
|
||||
UseMTU=
|
||||
UseDomainName=
|
||||
RouteMetric=
|
||||
SendHostname=
|
||||
Anonymize=
|
||||
VendorClassIdentifier=
|
||||
Hostname=
|
||||
DUIDType=
|
||||
UseHostname=
|
||||
UseDNS=
|
||||
CriticalConnection=
|
||||
DUIDRawData=
|
||||
RequestBroadcast=
|
||||
ClientIdentifier=
|
||||
ListenPort=
|
||||
UseTimezone=
|
||||
RouteTable=
|
||||
[Route]
|
||||
Destination=
|
||||
Protocol=
|
||||
Table=
|
||||
Gateway=
|
||||
InitialAdvertisedReceiveWindow=
|
||||
GatewayOnlink=
|
||||
Type=
|
||||
InitialCongestionWindow=
|
||||
IPv6Preference=
|
||||
PreferredSource=
|
||||
Scope=
|
||||
MTUBytes=
|
||||
QuickAck=
|
||||
Source=
|
||||
Metric=
|
||||
[Network]
|
||||
IPv6DuplicateAddressDetection=
|
||||
IPMasquerade=
|
||||
ProxyARP=
|
||||
PrimarySlave=
|
||||
IPv4LLRoute=
|
||||
Address=
|
||||
IPv6ProxyNDPAddress=
|
||||
IPv6AcceptRA=
|
||||
IPv6AcceptRouterAdvertisements=
|
||||
DNSSECNegativeTrustAnchors=
|
||||
MACVTAP=
|
||||
IPv6PrivacyExtensions=
|
||||
MACVLAN=
|
||||
MulticastDNS=
|
||||
LLDP=
|
||||
Tunnel=
|
||||
Gateway=
|
||||
IPv4LL=
|
||||
IPVLAN=
|
||||
EmitLLDP=
|
||||
IPv6MTUBytes=
|
||||
IPv4ProxyARP=
|
||||
Bridge=
|
||||
DNSOverTLS=
|
||||
Bond=
|
||||
IPv6ProxyNDP=
|
||||
DNS=
|
||||
ActiveSlave=
|
||||
LLMNR=
|
||||
DNSSEC=
|
||||
IPv6HopLimit=
|
||||
IPForward=
|
||||
IPv6Token=
|
||||
Description=
|
||||
VXLAN=
|
||||
LinkLocalAddressing=
|
||||
ConfigureWithoutCarrier=
|
||||
NTP=
|
||||
DHCP=
|
||||
Domains=
|
||||
IPv6PrefixDelegation=
|
||||
VLAN=
|
||||
DHCPServer=
|
||||
BindCarrier=
|
||||
VRF=
|
||||
[IPv6Prefix]
|
||||
Prefix=
|
||||
OnLink=
|
||||
PreferredLifetimeSec=
|
||||
AddressAutoconfiguration=
|
||||
ValidLifetimeSec=
|
||||
[BridgeVLAN]
|
||||
EgressUntagged=
|
||||
VLAN=
|
||||
PVID=
|
||||
[CAN]
|
||||
SamplePoint=
|
||||
BitRate=
|
||||
RestartSec=
|
||||
[Address]
|
||||
DuplicateAddressDetection=
|
||||
AutoJoin=
|
||||
PreferredLifetime=
|
||||
Address=
|
||||
Scope=
|
||||
HomeAddress=
|
||||
PrefixRoute=
|
||||
ManageTemporaryAddress=
|
||||
Broadcast=
|
||||
Peer=
|
||||
Label=
|
||||
[RoutingPolicyRule]
|
||||
Table=
|
||||
IncomingInterface=
|
||||
To=
|
||||
OutgoingInterface=
|
||||
From=
|
||||
TypeOfService=
|
||||
Priority=
|
||||
FirewallMark=
|
||||
[IPv6PrefixDelegation]
|
||||
RouterPreference=
|
||||
DNSLifetimeSec=
|
||||
DNS=
|
||||
RouterLifetimeSec=
|
||||
Domains=
|
||||
EmitDNS=
|
||||
EmitDomains=
|
||||
Managed=
|
||||
OtherInformation=
|
||||
[IPv6AddressLabel]
|
||||
Label=
|
||||
Prefix=
|
||||
[IPv6AcceptRA]
|
||||
UseDomains=
|
||||
RouteTable=
|
||||
UseDNS=
|
||||
[DHCPServer]
|
||||
EmitNTP=
|
||||
PoolSize=
|
||||
PoolOffset=
|
||||
Timezone=
|
||||
EmitDNS=
|
||||
NTP=
|
||||
EmitRouter=
|
||||
MaxLeaseTimeSec=
|
||||
DefaultLeaseTimeSec=
|
||||
EmitTimezone=
|
||||
DNS=
|
||||
[DHCPv4]
|
||||
UseHostname=
|
||||
UseMTU=
|
||||
UseDomainName=
|
||||
CriticalConnection=
|
||||
UseDNS=
|
||||
@@ -0,0 +1,8 @@
|
||||
[Match]
|
||||
Name=dummy98
|
||||
|
||||
[Network]
|
||||
Address=192.168.0.15/2424
|
||||
|
||||
[Rou]
|
||||
Gateway=192.136.0.1
|
||||
@@ -0,0 +1,5 @@
|
||||
[Match]
|
||||
Name=dummy98
|
||||
|
||||
[Network]
|
||||
Tunnel=gretap99
|
||||
@@ -0,0 +1,5 @@
|
||||
[Match]
|
||||
Name=dummy98
|
||||
|
||||
[Network]
|
||||
Tunnel=gretun99
|
||||
@@ -0,0 +1,5 @@
|
||||
[Match]
|
||||
Name=dummy98
|
||||
|
||||
[Network]
|
||||
Tunnel=ip6gretap99
|
||||
@@ -0,0 +1,5 @@
|
||||
[Match]
|
||||
Name=dummy98
|
||||
|
||||
[Network]
|
||||
Tunnel=ip6tnl99
|
||||
@@ -0,0 +1,5 @@
|
||||
[Match]
|
||||
Name=dummy98
|
||||
|
||||
[Network]
|
||||
Tunnel=ipiptun99
|
||||
@@ -0,0 +1,5 @@
|
||||
[Match]
|
||||
Name=veth99
|
||||
|
||||
[Network]
|
||||
IPv6AcceptRA=true
|
||||
@@ -0,0 +1,10 @@
|
||||
[Match]
|
||||
Name=veth-peer
|
||||
|
||||
[Network]
|
||||
IPv6PrefixDelegation=yes
|
||||
|
||||
[IPv6Prefix]
|
||||
Prefix=2002:da8:1:0::/64
|
||||
PreferredLifetimeSec=1000s
|
||||
ValidLifetimeSec=2100s
|
||||
@@ -0,0 +1,5 @@
|
||||
[Match]
|
||||
Name=test1
|
||||
|
||||
[Network]
|
||||
IPVLAN=ipvlan99
|
||||
@@ -0,0 +1,5 @@
|
||||
[Match]
|
||||
Name=test1
|
||||
|
||||
[Network]
|
||||
MACVLAN=macvlan99
|
||||
@@ -0,0 +1,5 @@
|
||||
[Match]
|
||||
Name=test1
|
||||
|
||||
[Network]
|
||||
MACVTAP=macvtap99
|
||||
@@ -0,0 +1,10 @@
|
||||
[Match]
|
||||
Name=test1
|
||||
|
||||
[RoutingPolicyRule]
|
||||
TypeOfService=0x08
|
||||
Table=7
|
||||
From= 192.168.100.18
|
||||
Priority=111
|
||||
IncomingInterface=test1
|
||||
OutgoingInterface=test1
|
||||
@@ -0,0 +1,5 @@
|
||||
[Match]
|
||||
Name=dummy98
|
||||
|
||||
[Network]
|
||||
Tunnel=sittun99
|
||||
@@ -0,0 +1,6 @@
|
||||
[Match]
|
||||
Name=dummy98
|
||||
|
||||
[Network]
|
||||
Address=192.168.0.15/24
|
||||
Gateway=192.168.0.1
|
||||
@@ -0,0 +1,5 @@
|
||||
[Match]
|
||||
Name=dummy98
|
||||
|
||||
[Network]
|
||||
Tunnel=vtitun99
|
||||
@@ -0,0 +1,5 @@
|
||||
[Match]
|
||||
Name=dummy98
|
||||
|
||||
[Network]
|
||||
Tunnel=vti6tun99
|
||||
@@ -0,0 +1,5 @@
|
||||
[Match]
|
||||
Name=test1
|
||||
|
||||
[Network]
|
||||
VXLAN=vxlan99
|
||||
@@ -52,4 +52,5 @@ wget -O $OUT/fuzz-json_seed_corpus.zip https://storage.googleapis.com/skia-fuzze
|
||||
wget -O $OUT/fuzz-json.dict https://raw.githubusercontent.com/rc0r/afl-fuzz/master/dictionaries/json.dict
|
||||
|
||||
find $build -maxdepth 1 -type f -executable -name "fuzz-*" -exec mv {} $OUT \;
|
||||
find src -type f -name "fuzz-*.dict" -exec cp {} $OUT \;
|
||||
cp src/fuzz/*.options $OUT
|
||||
|
||||
Reference in New Issue
Block a user