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:
Yu Watanabe
2018-11-07 08:50:25 +09:00
committed by GitHub
94 changed files with 1024 additions and 4 deletions
+4
View File
@@ -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++) { \
+22
View File
@@ -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;
}
+22
View File
@@ -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;
}
+18
View File
@@ -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,
+1 -1
View File
@@ -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;
+1
View File
@@ -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);
+1 -3
View File
@@ -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;
+1
View File
@@ -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
+10
View File
@@ -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
+1
View File
@@ -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