summaryrefslogtreecommitdiffstats
path: root/test/fuzz/fuzz-network-parser
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 13:00:47 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 13:00:47 +0000
commit2cb7e0aaedad73b076ea18c6900b0e86c5760d79 (patch)
treeda68ca54bb79f4080079bf0828acda937593a4e1 /test/fuzz/fuzz-network-parser
parentInitial commit. (diff)
downloadsystemd-upstream.tar.xz
systemd-upstream.zip
Adding upstream version 247.3.upstream/247.3upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'test/fuzz/fuzz-network-parser')
-rw-r--r--test/fuzz/fuzz-network-parser/21-vlan.network5
-rw-r--r--test/fuzz/fuzz-network-parser/23-active-slave.network6
-rw-r--r--test/fuzz/fuzz-network-parser/23-bond199.network2
-rw-r--r--test/fuzz/fuzz-network-parser/23-emit-lldp.network5
-rw-r--r--test/fuzz/fuzz-network-parser/23-primary-slave.network6
-rw-r--r--test/fuzz/fuzz-network-parser/23-test1-bond199.network6
-rw-r--r--test/fuzz/fuzz-network-parser/24-lldp.network5
-rw-r--r--test/fuzz/fuzz-network-parser/24-search-domain.network7
-rw-r--r--test/fuzz/fuzz-network-parser/25-address-link-section.network5
-rw-r--r--test/fuzz/fuzz-network-parser/25-address-section-miscellaneous.network10
-rw-r--r--test/fuzz/fuzz-network-parser/25-address-section.network11
-rw-r--r--test/fuzz/fuzz-network-parser/25-fibrule-port-range.network11
-rw-r--r--test/fuzz/fuzz-network-parser/25-ipv6-address-label-section.network6
-rw-r--r--test/fuzz/fuzz-network-parser/25-link-section-unmanaged.network6
-rw-r--r--test/fuzz/fuzz-network-parser/25-neighbor-section.network6
-rw-r--r--test/fuzz/fuzz-network-parser/25-route-section.network8
-rw-r--r--test/fuzz/fuzz-network-parser/25-route-tcp-window-settings.network10
-rw-r--r--test/fuzz/fuzz-network-parser/25-route-type.network14
-rw-r--r--test/fuzz/fuzz-network-parser/25-sysctl.network10
-rw-r--r--test/fuzz/fuzz-network-parser/26-bridge-slave-interface-1.network12
-rw-r--r--test/fuzz/fuzz-network-parser/26-bridge-slave-interface-2.network5
-rw-r--r--test/fuzz/fuzz-network-parser/27-xfrm.network5
-rw-r--r--test/fuzz/fuzz-network-parser/bridge99.network6
-rw-r--r--test/fuzz/fuzz-network-parser/configure-without-carrier.network7
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-client-anonymize.network16
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-client-critical-connection.network9
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-client-ipv4-dhcp-settings.network15
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-client-ipv4-only-ipv6-disabled.network6
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-client-ipv4-only.network5
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-client-ipv6-only.network5
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-client-ipv6-rapid-commit.network8
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-client-listen-port.network8
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-client-route-metric.network10
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-client-route-table.network10
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-client-timezone-router.network8
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-client.network5
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-server-timezone-router.network13
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-server-veth-peer.network6
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-server.network12
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-v4-server-veth-peer.network6
-rw-r--r--test/fuzz/fuzz-network-parser/directives.network490
-rw-r--r--test/fuzz/fuzz-network-parser/dns-trust-anchor-duplicate.network2
-rw-r--r--test/fuzz/fuzz-network-parser/github-106398
-rw-r--r--test/fuzz/fuzz-network-parser/github-13938bin0 -> 65 bytes
-rw-r--r--test/fuzz/fuzz-network-parser/github-158859
-rw-r--r--test/fuzz/fuzz-network-parser/github-159512
-rw-r--r--test/fuzz/fuzz-network-parser/gretap.network5
-rw-r--r--test/fuzz/fuzz-network-parser/gretun.network5
-rw-r--r--test/fuzz/fuzz-network-parser/ip6gretap.network5
-rw-r--r--test/fuzz/fuzz-network-parser/ip6tnl.network5
-rw-r--r--test/fuzz/fuzz-network-parser/ipip.network5
-rw-r--r--test/fuzz/fuzz-network-parser/ipv6-prefix-veth.network5
-rw-r--r--test/fuzz/fuzz-network-parser/ipv6-prefix.network10
-rw-r--r--test/fuzz/fuzz-network-parser/ipvlan.network5
-rw-r--r--test/fuzz/fuzz-network-parser/macvlan.network5
-rw-r--r--test/fuzz/fuzz-network-parser/macvtap.network5
-rw-r--r--test/fuzz/fuzz-network-parser/oss-fuzz-112852
-rw-r--r--test/fuzz/fuzz-network-parser/oss-fuzz-113022
-rw-r--r--test/fuzz/fuzz-network-parser/oss-fuzz-113145
-rw-r--r--test/fuzz/fuzz-network-parser/oss-fuzz-113452
-rw-r--r--test/fuzz/fuzz-network-parser/oss-fuzz-13059bin0 -> 6558 bytes
-rw-r--r--test/fuzz/fuzz-network-parser/oss-fuzz-13354bin0 -> 918848 bytes
-rw-r--r--test/fuzz/fuzz-network-parser/oss-fuzz-13433bin0 -> 29 bytes
-rw-r--r--test/fuzz/fuzz-network-parser/oss-fuzz-13888bin0 -> 56 bytes
-rw-r--r--test/fuzz/fuzz-network-parser/oss-fuzz-156782
-rw-r--r--test/fuzz/fuzz-network-parser/oss-fuzz-20548bin0 -> 26 bytes
-rw-r--r--test/fuzz/fuzz-network-parser/oss-fuzz-23895bin0 -> 2395 bytes
-rw-r--r--test/fuzz/fuzz-network-parser/oss-fuzz-23950bin0 -> 21603 bytes
-rw-r--r--test/fuzz/fuzz-network-parser/routing-policy-rule.network10
-rw-r--r--test/fuzz/fuzz-network-parser/sit.network5
-rw-r--r--test/fuzz/fuzz-network-parser/test-static.network6
-rw-r--r--test/fuzz/fuzz-network-parser/vti.network5
-rw-r--r--test/fuzz/fuzz-network-parser/vti6.network5
-rw-r--r--test/fuzz/fuzz-network-parser/vxlan.network5
74 files changed, 931 insertions, 0 deletions
diff --git a/test/fuzz/fuzz-network-parser/21-vlan.network b/test/fuzz/fuzz-network-parser/21-vlan.network
new file mode 100644
index 0000000..a4fa1de
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/21-vlan.network
@@ -0,0 +1,5 @@
+[Match]
+Name=test1
+
+[Network]
+VLAN=vlan99
diff --git a/test/fuzz/fuzz-network-parser/23-active-slave.network b/test/fuzz/fuzz-network-parser/23-active-slave.network
new file mode 100644
index 0000000..59a6596
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/23-active-slave.network
@@ -0,0 +1,6 @@
+[Match]
+Name=dummy98
+
+[Network]
+Bond=bond199
+ActiveSlave=true
diff --git a/test/fuzz/fuzz-network-parser/23-bond199.network b/test/fuzz/fuzz-network-parser/23-bond199.network
new file mode 100644
index 0000000..31e5d12
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/23-bond199.network
@@ -0,0 +1,2 @@
+[Match]
+Name=bond199
diff --git a/test/fuzz/fuzz-network-parser/23-emit-lldp.network b/test/fuzz/fuzz-network-parser/23-emit-lldp.network
new file mode 100644
index 0000000..de35045
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/23-emit-lldp.network
@@ -0,0 +1,5 @@
+[Match]
+Name=veth-peer
+
+[Network]
+EmitLLDP=yes
diff --git a/test/fuzz/fuzz-network-parser/23-primary-slave.network b/test/fuzz/fuzz-network-parser/23-primary-slave.network
new file mode 100644
index 0000000..380ae26
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/23-primary-slave.network
@@ -0,0 +1,6 @@
+[Match]
+Name=dummy98
+
+[Network]
+Bond=bond199
+PrimarySlave=true
diff --git a/test/fuzz/fuzz-network-parser/23-test1-bond199.network b/test/fuzz/fuzz-network-parser/23-test1-bond199.network
new file mode 100644
index 0000000..6e7c28d
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/23-test1-bond199.network
@@ -0,0 +1,6 @@
+[Match]
+Name=test1
+
+[Network]
+Bond=bond199
+PrimarySlave=true
diff --git a/test/fuzz/fuzz-network-parser/24-lldp.network b/test/fuzz/fuzz-network-parser/24-lldp.network
new file mode 100644
index 0000000..fbdfb1b
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/24-lldp.network
@@ -0,0 +1,5 @@
+[Match]
+Name=veth99
+
+[Network]
+LLDP=yes
diff --git a/test/fuzz/fuzz-network-parser/24-search-domain.network b/test/fuzz/fuzz-network-parser/24-search-domain.network
new file mode 100644
index 0000000..970b130
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/24-search-domain.network
@@ -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
diff --git a/test/fuzz/fuzz-network-parser/25-address-link-section.network b/test/fuzz/fuzz-network-parser/25-address-link-section.network
new file mode 100644
index 0000000..759e83c
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/25-address-link-section.network
@@ -0,0 +1,5 @@
+[Match]
+Name=dummy98
+
+[Link]
+MACAddress=00:01:02:aa:bb:cc
diff --git a/test/fuzz/fuzz-network-parser/25-address-section-miscellaneous.network b/test/fuzz/fuzz-network-parser/25-address-section-miscellaneous.network
new file mode 100644
index 0000000..3a37d03
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/25-address-section-miscellaneous.network
@@ -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
diff --git a/test/fuzz/fuzz-network-parser/25-address-section.network b/test/fuzz/fuzz-network-parser/25-address-section.network
new file mode 100644
index 0000000..d0fae69
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/25-address-section.network
@@ -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
diff --git a/test/fuzz/fuzz-network-parser/25-fibrule-port-range.network b/test/fuzz/fuzz-network-parser/25-fibrule-port-range.network
new file mode 100644
index 0000000..36646ec
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/25-fibrule-port-range.network
@@ -0,0 +1,11 @@
+[Match]
+Name=test1
+
+[RoutingPolicyRule]
+TypeOfService=0x08
+Table=7
+From= 192.168.100.18
+Priority=111
+SourcePort = 1123-1150
+DestinationPort = 3224-3290
+IPProtocol = tcp
diff --git a/test/fuzz/fuzz-network-parser/25-ipv6-address-label-section.network b/test/fuzz/fuzz-network-parser/25-ipv6-address-label-section.network
new file mode 100644
index 0000000..945b7dc
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/25-ipv6-address-label-section.network
@@ -0,0 +1,6 @@
+[Match]
+Name=dummy98
+
+[IPv6AddressLabel]
+Label=4444
+Prefix=2004:da8:1:0::/64
diff --git a/test/fuzz/fuzz-network-parser/25-link-section-unmanaged.network b/test/fuzz/fuzz-network-parser/25-link-section-unmanaged.network
new file mode 100644
index 0000000..4fe4916
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/25-link-section-unmanaged.network
@@ -0,0 +1,6 @@
+[Match]
+Name=dummy98
+
+[Link]
+MACAddress=00:01:02:aa:bb:cc
+Unmanaged=true
diff --git a/test/fuzz/fuzz-network-parser/25-neighbor-section.network b/test/fuzz/fuzz-network-parser/25-neighbor-section.network
new file mode 100644
index 0000000..dd750dd
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/25-neighbor-section.network
@@ -0,0 +1,6 @@
+[Match]
+Name=dummy98
+
+[Neighbor]
+Address=2004:da8:1:0::
+MACAddress=00:00:5e:00:02:00
diff --git a/test/fuzz/fuzz-network-parser/25-route-section.network b/test/fuzz/fuzz-network-parser/25-route-section.network
new file mode 100644
index 0000000..c9c7a72
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/25-route-section.network
@@ -0,0 +1,8 @@
+[Match]
+Name=dummy98
+
+[Network]
+Address=192.168.0.15/24
+
+[Route]
+Gateway=192.168.0.1
diff --git a/test/fuzz/fuzz-network-parser/25-route-tcp-window-settings.network b/test/fuzz/fuzz-network-parser/25-route-tcp-window-settings.network
new file mode 100644
index 0000000..e77a721
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/25-route-tcp-window-settings.network
@@ -0,0 +1,10 @@
+[Match]
+Name=test1
+
+[Route]
+Destination=192.168.1.1
+InitialCongestionWindow=20
+
+[Route]
+Destination=192.168.1.2
+InitialAdvertisedReceiveWindow=30
diff --git a/test/fuzz/fuzz-network-parser/25-route-type.network b/test/fuzz/fuzz-network-parser/25-route-type.network
new file mode 100644
index 0000000..9a10413
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/25-route-type.network
@@ -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
diff --git a/test/fuzz/fuzz-network-parser/25-sysctl.network b/test/fuzz/fuzz-network-parser/25-sysctl.network
new file mode 100644
index 0000000..2452fb7
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/25-sysctl.network
@@ -0,0 +1,10 @@
+[Match]
+Name=dummy98
+
+[Network]
+IPForward=true
+IPv6PrivacyExtensions=true
+IPv6DuplicateAddressDetection=3
+IPv6HopLimit=5
+IPv4ProxyARP=true
+IPv6ProxyNDP=true
diff --git a/test/fuzz/fuzz-network-parser/26-bridge-slave-interface-1.network b/test/fuzz/fuzz-network-parser/26-bridge-slave-interface-1.network
new file mode 100644
index 0000000..81b372f
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/26-bridge-slave-interface-1.network
@@ -0,0 +1,12 @@
+[Match]
+Name=dummy98
+
+[Network]
+Bridge=bridge99
+
+[Bridge]
+Cost=400
+HairPin = true
+FastLeave = true
+UnicastFlood = true
+MulticastToUnicast = true
diff --git a/test/fuzz/fuzz-network-parser/26-bridge-slave-interface-2.network b/test/fuzz/fuzz-network-parser/26-bridge-slave-interface-2.network
new file mode 100644
index 0000000..45ec2de
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/26-bridge-slave-interface-2.network
@@ -0,0 +1,5 @@
+[Match]
+Name=test1
+
+[Network]
+Bridge=bridge99
diff --git a/test/fuzz/fuzz-network-parser/27-xfrm.network b/test/fuzz/fuzz-network-parser/27-xfrm.network
new file mode 100644
index 0000000..fa26c84
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/27-xfrm.network
@@ -0,0 +1,5 @@
+[Match]
+Name=eth0
+
+[Network]
+Xfrm=xfrm99
diff --git a/test/fuzz/fuzz-network-parser/bridge99.network b/test/fuzz/fuzz-network-parser/bridge99.network
new file mode 100644
index 0000000..39e48ce
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/bridge99.network
@@ -0,0 +1,6 @@
+[Match]
+Name=bridge99
+
+[Network]
+Address=192.168.0.15/24
+Gateway=192.168.0.1
diff --git a/test/fuzz/fuzz-network-parser/configure-without-carrier.network b/test/fuzz/fuzz-network-parser/configure-without-carrier.network
new file mode 100644
index 0000000..5bd9d7e
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/configure-without-carrier.network
@@ -0,0 +1,7 @@
+[Match]
+Name=test1
+
+[Network]
+Address=192.168.0.15/24
+Gateway=192.168.0.1
+ConfigureWithoutCarrier=true
diff --git a/test/fuzz/fuzz-network-parser/dhcp-client-anonymize.network b/test/fuzz/fuzz-network-parser/dhcp-client-anonymize.network
new file mode 100644
index 0000000..a910cba
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/dhcp-client-anonymize.network
@@ -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
diff --git a/test/fuzz/fuzz-network-parser/dhcp-client-critical-connection.network b/test/fuzz/fuzz-network-parser/dhcp-client-critical-connection.network
new file mode 100644
index 0000000..0e65dec
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/dhcp-client-critical-connection.network
@@ -0,0 +1,9 @@
+[Match]
+Name=veth99
+
+[Network]
+DHCP=ipv4
+IPv6AcceptRA=false
+
+[DHCP]
+CriticalConnection=true
diff --git a/test/fuzz/fuzz-network-parser/dhcp-client-ipv4-dhcp-settings.network b/test/fuzz/fuzz-network-parser/dhcp-client-ipv4-dhcp-settings.network
new file mode 100644
index 0000000..5c4ca22
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/dhcp-client-ipv4-dhcp-settings.network
@@ -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
diff --git a/test/fuzz/fuzz-network-parser/dhcp-client-ipv4-only-ipv6-disabled.network b/test/fuzz/fuzz-network-parser/dhcp-client-ipv4-only-ipv6-disabled.network
new file mode 100644
index 0000000..c980bf9
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/dhcp-client-ipv4-only-ipv6-disabled.network
@@ -0,0 +1,6 @@
+[Match]
+Name=veth99
+
+[Network]
+DHCP=ipv4
+IPv6AcceptRA=false
diff --git a/test/fuzz/fuzz-network-parser/dhcp-client-ipv4-only.network b/test/fuzz/fuzz-network-parser/dhcp-client-ipv4-only.network
new file mode 100644
index 0000000..9bc019a
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/dhcp-client-ipv4-only.network
@@ -0,0 +1,5 @@
+[Match]
+Name=veth99
+
+[Network]
+DHCP=ipv4
diff --git a/test/fuzz/fuzz-network-parser/dhcp-client-ipv6-only.network b/test/fuzz/fuzz-network-parser/dhcp-client-ipv6-only.network
new file mode 100644
index 0000000..1f70c3b
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/dhcp-client-ipv6-only.network
@@ -0,0 +1,5 @@
+[Match]
+Name=veth99
+
+[Network]
+DHCP=ipv6
diff --git a/test/fuzz/fuzz-network-parser/dhcp-client-ipv6-rapid-commit.network b/test/fuzz/fuzz-network-parser/dhcp-client-ipv6-rapid-commit.network
new file mode 100644
index 0000000..52fa587
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/dhcp-client-ipv6-rapid-commit.network
@@ -0,0 +1,8 @@
+[Match]
+Name=veth99
+
+[Network]
+DHCP=ipv6
+
+[DHCP]
+RapidCommit=false
diff --git a/test/fuzz/fuzz-network-parser/dhcp-client-listen-port.network b/test/fuzz/fuzz-network-parser/dhcp-client-listen-port.network
new file mode 100644
index 0000000..73ac364
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/dhcp-client-listen-port.network
@@ -0,0 +1,8 @@
+[Match]
+Name=veth99
+
+[Network]
+DHCP=yes
+
+[DHCP]
+ListenPort=5555
diff --git a/test/fuzz/fuzz-network-parser/dhcp-client-route-metric.network b/test/fuzz/fuzz-network-parser/dhcp-client-route-metric.network
new file mode 100644
index 0000000..aa04aae
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/dhcp-client-route-metric.network
@@ -0,0 +1,10 @@
+[Match]
+Name=veth99
+
+[Network]
+DHCP=ipv4
+IPv6AcceptRA=false
+
+[DHCP]
+UseRoutes=true
+RouteMetric=24
diff --git a/test/fuzz/fuzz-network-parser/dhcp-client-route-table.network b/test/fuzz/fuzz-network-parser/dhcp-client-route-table.network
new file mode 100644
index 0000000..75f16aa
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/dhcp-client-route-table.network
@@ -0,0 +1,10 @@
+[Match]
+Name=veth99
+
+[Network]
+DHCP=ipv4
+IPv6AcceptRA=false
+
+[DHCP]
+UseRoutes=true
+RouteTable=12
diff --git a/test/fuzz/fuzz-network-parser/dhcp-client-timezone-router.network b/test/fuzz/fuzz-network-parser/dhcp-client-timezone-router.network
new file mode 100644
index 0000000..6316f9c
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/dhcp-client-timezone-router.network
@@ -0,0 +1,8 @@
+[Match]
+Name=veth99
+
+[Network]
+IPv6AcceptRA=false
+DHCP=ipv4
+UseRoutes=true
+UseTimezone=true
diff --git a/test/fuzz/fuzz-network-parser/dhcp-client.network b/test/fuzz/fuzz-network-parser/dhcp-client.network
new file mode 100644
index 0000000..5629bc4
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/dhcp-client.network
@@ -0,0 +1,5 @@
+[Match]
+Name=veth99
+
+[Network]
+DHCP=yes
diff --git a/test/fuzz/fuzz-network-parser/dhcp-server-timezone-router.network b/test/fuzz/fuzz-network-parser/dhcp-server-timezone-router.network
new file mode 100644
index 0000000..3ebbf05
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/dhcp-server-timezone-router.network
@@ -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
diff --git a/test/fuzz/fuzz-network-parser/dhcp-server-veth-peer.network b/test/fuzz/fuzz-network-parser/dhcp-server-veth-peer.network
new file mode 100644
index 0000000..7b38e72
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/dhcp-server-veth-peer.network
@@ -0,0 +1,6 @@
+[Match]
+Name=veth-peer
+
+[Network]
+Address=2600::1
+Address=192.168.5.1/24
diff --git a/test/fuzz/fuzz-network-parser/dhcp-server.network b/test/fuzz/fuzz-network-parser/dhcp-server.network
new file mode 100644
index 0000000..9e49691
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/dhcp-server.network
@@ -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
diff --git a/test/fuzz/fuzz-network-parser/dhcp-v4-server-veth-peer.network b/test/fuzz/fuzz-network-parser/dhcp-v4-server-veth-peer.network
new file mode 100644
index 0000000..5c91d65
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/dhcp-v4-server-veth-peer.network
@@ -0,0 +1,6 @@
+[Match]
+Name=veth-peer
+
+[Network]
+Address=192.168.0.1
+Address=192.168.5.1
diff --git a/test/fuzz/fuzz-network-parser/directives.network b/test/fuzz/fuzz-network-parser/directives.network
new file mode 100644
index 0000000..cb0c320
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/directives.network
@@ -0,0 +1,490 @@
+[Bridge]
+Cost=
+UseBPDU=
+HairPin=
+UnicastFlood=
+FastLeave=
+Priority=
+AllowPortToBeRoot=
+MulticastToUnicast=
+MulticastFlood=
+NeighborSuppression=
+Learning=
+ProxyARP=
+ProxyARPWiFi=
+MulticastRouter=
+[Match]
+KernelVersion=
+Type=
+Driver=
+Architecture=
+Path=
+WLANInterfaceType=
+SSID=
+BSSID=
+Name=
+Property=
+Virtualization=
+KernelCommandLine=
+Host=
+MACAddress=
+PermanentMACAddress=
+[Link]
+RequiredForOnline=
+ARP=
+AllMulticast=
+Unmanaged=
+MTUBytes=
+Multicast=
+MACAddress=
+Group=
+[SR-IOV]
+VirtualFunction=
+MACSpoofCheck=
+VLANId=
+VLANProtocol=
+QualityOfService=
+QueryReceiveSideScaling=
+Trust=
+LinkState=
+MACAddress=
+[BridgeFDB]
+VLANId=
+MACAddress=
+Destination=
+VNI=
+AssociatedWith=
+[BridgeMDB]
+MulticastGroupAddress=
+VLANId=
+[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=
+[DHCPv4]
+UseDNS=
+RoutesToDNS=
+UseDomains=
+UseRoutes=
+UseGateway=
+IAID=
+UserClass=
+UseNTP=
+UseSIP=
+UseMTU=
+UseDomainName=
+RouteMetric=
+SendHostname=
+Anonymize=
+VendorClassIdentifier=
+Hostname=
+DUIDType=
+UseHostname=
+CriticalConnection=
+DUIDRawData=
+RequestBroadcast=
+ClientIdentifier=
+ListenPort=
+UseTimezone=
+RouteTable=
+DenyList=
+BlackList=
+AllowList=
+RequestOptions=
+SendRelease=
+MaxAttempts=
+IPServiceType=
+SendOption=
+SendVendorOption=
+SendDecline=
+MUDURL=
+RouteMTUBytes=
+FallbackLeaseLifetimeSec=
+[DHCPv6]
+UseNTP=
+UseDNS=
+RapidCommit=
+ForceDHCPv6PDOtherInformation=
+PrefixDelegationHint=
+WithoutRA=
+MUDURL=
+SendOption=
+RequestOptions=
+UserClass=
+VendorClass=
+SendVendorOption=
+RouteMetric=
+[DHCPv6PrefixDelegation]
+SubnetId=
+Announce=
+Assign=
+Token=
+[Route]
+Destination=
+Protocol=
+Table=
+Gateway=
+InitialAdvertisedReceiveWindow=
+GatewayOnLink=
+GatewayOnlink=
+Type=
+InitialCongestionWindow=
+IPv6Preference=
+PreferredSource=
+Scope=
+MTUBytes=
+QuickAck=
+FastOpenNoCookie=
+Source=
+Metric=
+TTLPropagate=
+MultiPathRoute=
+[Network]
+IPv6DuplicateAddressDetection=
+IPMasquerade=
+ProxyARP=
+PrimarySlave=
+IPv4LLRoute=
+DefaultRouteOnDevice=
+Address=
+IPv6ProxyNDPAddress=
+IPv6AcceptRA=
+IPv6AcceptRouterAdvertisements=
+IPv4AcceptLocal=
+DNSSECNegativeTrustAnchors=
+MACVTAP=
+IPv6PrivacyExtensions=
+MACVLAN=
+MulticastDNS=
+LLDP=
+Tunnel=
+Gateway=
+IPv4LL=
+IPVLAN=
+IPVTAP=
+EmitLLDP=
+IPv6MTUBytes=
+IPv4ProxyARP=
+Bridge=
+DNSOverTLS=
+Bond=
+IPv6ProxyNDP=
+DNS=
+DNSDefaultRoute=
+ActiveSlave=
+LLMNR=
+DNSSEC=
+IPv6HopLimit=
+IPForward=
+IPv6Token=
+Xfrm=
+Description=
+VXLAN=
+L2TP=
+MACsec=
+LinkLocalAddressing=
+IPv6LinkLocalAddressGenerationMode=
+ConfigureWithoutCarrier=
+NTP=
+DHCP=
+Domains=
+IPv6SendRA=
+IPv6PrefixDelegation=
+VLAN=
+DHCPServer=
+BindCarrier=
+VRF=
+IgnoreCarrierLoss=
+KeepConfiguration=
+DHCPv6PrefixDelegation=
+[IPv6Prefix]
+Prefix=
+OnLink=
+PreferredLifetimeSec=
+AddressAutoconfiguration=
+ValidLifetimeSec=
+Assign=
+[IPv6RoutePrefix]
+Route=
+LifetimeSec=
+[BridgeVLAN]
+EgressUntagged=
+VLAN=
+PVID=
+[LLDP]
+MUDURL=
+[CAN]
+SamplePoint=
+BitRate=
+DataSamplePoint=
+DataBitRate=
+FDMode=
+FDNonISO=
+RestartSec=
+TripleSampling=
+Termination=
+ListenOnly=
+[Address]
+DuplicateAddressDetection=
+AutoJoin=
+PreferredLifetime=
+Address=
+Scope=
+HomeAddress=
+PrefixRoute=
+AddPrefixRoute=
+ManageTemporaryAddress=
+Broadcast=
+Peer=
+Label=
+[RoutingPolicyRule]
+Table=
+IncomingInterface=
+To=
+OutgoingInterface=
+From=
+TypeOfService=
+Priority=
+FirewallMark=
+SourcePort=
+DestinationPort=
+IPProtocol=
+InvertRule=
+Family=
+SuppressPrefixLength=
+User=
+[IPv6SendRA]
+RouterPreference=
+DNSLifetimeSec=
+DNS=
+RouterLifetimeSec=
+Domains=
+EmitDNS=
+EmitDomains=
+Managed=
+OtherInformation=
+[IPv6PrefixDelegation]
+RouterPreference=
+DNSLifetimeSec=
+DNS=
+RouterLifetimeSec=
+Domains=
+EmitDNS=
+EmitDomains=
+Managed=
+OtherInformation=
+[Neighbor]
+Address=
+LinkLayerAddress=
+MACAddress=
+[IPv6AddressLabel]
+Label=
+Prefix=
+[IPv6AcceptRA]
+UseDomains=
+RouteTable=
+UseDNS=
+DHCPv6Client=
+UseAutonomousPrefix=
+UseOnLinkPrefix=
+DenyList=
+BlackList=
+[DHCPServer]
+EmitNTP=
+PoolSize=
+PoolOffset=
+Timezone=
+EmitDNS=
+NTP=
+EmitSIP=
+SIP=
+EmitPOP3=
+POP3=
+EmitSMTP=
+SMTP=
+EmitLPR=
+LPR=
+EmitRouter=
+MaxLeaseTimeSec=
+DefaultLeaseTimeSec=
+EmitTimezone=
+DNS=
+SendOption=
+SendVendorOption=
+[NextHop]
+Id=
+Gateway=
+[QDisc]
+Parent=
+Handle=
+[NetworkEmulator]
+Parent=
+Handle=
+DelaySec=
+DelayJitterSec=
+LossRate=
+DuplicateRate=
+PacketLimit=
+[TokenBucketFilter]
+Parent=
+Handle=
+Rate=
+BurstBytes=
+Burst=
+LimitBytes=
+LimitSize=
+MTUBytes=
+MPUBytes=
+PeakRate=
+LatencySec=
+[StochasticFairnessQueueing]
+Parent=
+Handle=
+PerturbPeriodSec=
+[FairQueueingControlledDelay]
+Parent=
+Handle=
+PacketLimit=
+MemoryLimitBytes=
+MemoryLimit=
+Flows=
+QuantumBytes=
+Quantum=
+TargetSec=
+IntervalSec=
+CEThresholdSec=
+ECN=
+[FairQueueing]
+Parent=
+Handle=
+PacketLimit=
+FlowLimit=
+QuantumBytes=
+Quantum=
+InitialQuantumBytes=
+InitialQuantum=
+MaximumRate=
+Buckets=
+OrphanMask=
+Pacing=
+CEThresholdSec=
+[ControlledDelay]
+Parent=
+Handle=
+PacketLimit=
+TargetSec=
+IntervalSec=
+CEThresholdSec=
+ECN=
+[CAKE]
+Parent=
+Handle=
+Bandwidth=
+OverheadBytes=
+[TrafficControlQueueingDiscipline]
+Parent=
+NetworkEmulatorDelaySec=
+NetworkEmulatorDelayJitterSec=
+NetworkEmulatorLossRate=
+NetworkEmulatorDuplicateRate=
+NetworkEmulatorPacketLimit=
+[TrivialLinkEqualizer]
+Parent=
+Handle=
+Id=
+[HierarchyTokenBucket]
+Parent=
+Handle=
+DefaultClass=
+RateToQuantum=
+[HierarchyTokenBucketClass]
+Parent=
+ClassId=
+Priority=
+QuantumBytes=
+MTUBytes=
+OverheadBytes=
+Rate=
+CeilRate=
+BufferBytes=
+CeilBufferBytes=
+[BFIFO]
+Parent=
+Handle=
+LimitBytes=
+[PFIFO]
+Parent=
+Handle=
+PacketLimit=
+[PFIFOHeadDrop]
+Parent=
+Handle=
+PacketLimit=
+[PFIFOFast]
+Parent=
+Handle=
+[GenericRandomEarlyDetection]
+Parent=
+Handle=
+VirtualQueues=
+DefaultVirtualQueue=
+GenericRIO=
+[StochasticFairBlue]
+Parent=
+Handle=
+PacketLimit=
+[PIE]
+Parent=
+Handle=
+PacketLimit=
+[QuickFairQueueing]
+Parent=
+Handle=
+[QuickFairQueueingClass]
+Parent=
+ClassId=
+Weight=
+MaxPacketBytes=
+[DeficitRoundRobinScheduler]
+Parent=
+Handle=
+[DeficitRoundRobinSchedulerClass]
+Parent=
+ClassId=
+QuantumBytes=
+[EnhancedTransmissionSelection]
+Parent=
+Handle=
+Bands=
+StrictBands=
+QuantumBytes=
+PriorityMap=
+[HeavyHitterFilter]
+Parent=
+Handle=
+PacketLimit=
+[FlowQueuePIE]
+Parent=
+Handle=
+PacketLimit=
diff --git a/test/fuzz/fuzz-network-parser/dns-trust-anchor-duplicate.network b/test/fuzz/fuzz-network-parser/dns-trust-anchor-duplicate.network
new file mode 100644
index 0000000..ed7bdab
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/dns-trust-anchor-duplicate.network
@@ -0,0 +1,2 @@
+[Network]
+DNSSECNegativeTrustAnchors=i i \ No newline at end of file
diff --git a/test/fuzz/fuzz-network-parser/github-10639 b/test/fuzz/fuzz-network-parser/github-10639
new file mode 100644
index 0000000..530a29b
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/github-10639
@@ -0,0 +1,8 @@
+[Match]
+Name=dummy98
+
+[Network]
+Address=192.168.0.15/2424
+
+[Rou]
+Gateway=192.136.0.1
diff --git a/test/fuzz/fuzz-network-parser/github-13938 b/test/fuzz/fuzz-network-parser/github-13938
new file mode 100644
index 0000000..a944a5b
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/github-13938
Binary files differ
diff --git a/test/fuzz/fuzz-network-parser/github-15885 b/test/fuzz/fuzz-network-parser/github-15885
new file mode 100644
index 0000000..9bbdcb2
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/github-15885
@@ -0,0 +1,9 @@
+[DHCPv4]
+SendOption=1:string:
+SendOption=1:uint8:
+SendOption=1:uint16:
+SendOption=1:uint32:
+SendOption=1:ipv4address:
+SendOption=1:ipv4address:127.0.0.1
+SendOption=1:ipv6address:
+SendOption=1:ipv6address:52:54:00:b9:b5:61
diff --git a/test/fuzz/fuzz-network-parser/github-15951 b/test/fuzz/fuzz-network-parser/github-15951
new file mode 100644
index 0000000..7785f35
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/github-15951
@@ -0,0 +1,2 @@
+[DHCPServer]
+POP3Servers=1.8.5.0
diff --git a/test/fuzz/fuzz-network-parser/gretap.network b/test/fuzz/fuzz-network-parser/gretap.network
new file mode 100644
index 0000000..88b9250
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/gretap.network
@@ -0,0 +1,5 @@
+[Match]
+Name=dummy98
+
+[Network]
+Tunnel=gretap99
diff --git a/test/fuzz/fuzz-network-parser/gretun.network b/test/fuzz/fuzz-network-parser/gretun.network
new file mode 100644
index 0000000..376074c
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/gretun.network
@@ -0,0 +1,5 @@
+[Match]
+Name=dummy98
+
+[Network]
+Tunnel=gretun99
diff --git a/test/fuzz/fuzz-network-parser/ip6gretap.network b/test/fuzz/fuzz-network-parser/ip6gretap.network
new file mode 100644
index 0000000..cad0bae
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/ip6gretap.network
@@ -0,0 +1,5 @@
+[Match]
+Name=dummy98
+
+[Network]
+Tunnel=ip6gretap99
diff --git a/test/fuzz/fuzz-network-parser/ip6tnl.network b/test/fuzz/fuzz-network-parser/ip6tnl.network
new file mode 100644
index 0000000..41e3448
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/ip6tnl.network
@@ -0,0 +1,5 @@
+[Match]
+Name=dummy98
+
+[Network]
+Tunnel=ip6tnl99
diff --git a/test/fuzz/fuzz-network-parser/ipip.network b/test/fuzz/fuzz-network-parser/ipip.network
new file mode 100644
index 0000000..4ce6714
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/ipip.network
@@ -0,0 +1,5 @@
+[Match]
+Name=dummy98
+
+[Network]
+Tunnel=ipiptun99
diff --git a/test/fuzz/fuzz-network-parser/ipv6-prefix-veth.network b/test/fuzz/fuzz-network-parser/ipv6-prefix-veth.network
new file mode 100644
index 0000000..3d2acec
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/ipv6-prefix-veth.network
@@ -0,0 +1,5 @@
+[Match]
+Name=veth99
+
+[Network]
+IPv6AcceptRA=true
diff --git a/test/fuzz/fuzz-network-parser/ipv6-prefix.network b/test/fuzz/fuzz-network-parser/ipv6-prefix.network
new file mode 100644
index 0000000..c1932a8
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/ipv6-prefix.network
@@ -0,0 +1,10 @@
+[Match]
+Name=veth-peer
+
+[Network]
+IPv6PrefixDelegation=yes
+
+[IPv6Prefix]
+Prefix=2002:da8:1:0::/64
+PreferredLifetimeSec=1000s
+ValidLifetimeSec=2100s
diff --git a/test/fuzz/fuzz-network-parser/ipvlan.network b/test/fuzz/fuzz-network-parser/ipvlan.network
new file mode 100644
index 0000000..d053220
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/ipvlan.network
@@ -0,0 +1,5 @@
+[Match]
+Name=test1
+
+[Network]
+IPVLAN=ipvlan99
diff --git a/test/fuzz/fuzz-network-parser/macvlan.network b/test/fuzz/fuzz-network-parser/macvlan.network
new file mode 100644
index 0000000..a41c1f9
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/macvlan.network
@@ -0,0 +1,5 @@
+[Match]
+Name=test1
+
+[Network]
+MACVLAN=macvlan99
diff --git a/test/fuzz/fuzz-network-parser/macvtap.network b/test/fuzz/fuzz-network-parser/macvtap.network
new file mode 100644
index 0000000..6ee99ab
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/macvtap.network
@@ -0,0 +1,5 @@
+[Match]
+Name=test1
+
+[Network]
+MACVTAP=macvtap99
diff --git a/test/fuzz/fuzz-network-parser/oss-fuzz-11285 b/test/fuzz/fuzz-network-parser/oss-fuzz-11285
new file mode 100644
index 0000000..e0aad02
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/oss-fuzz-11285
@@ -0,0 +1,2 @@
+[IPv6PrefixDelegation]
+Domains=m \ No newline at end of file
diff --git a/test/fuzz/fuzz-network-parser/oss-fuzz-11302 b/test/fuzz/fuzz-network-parser/oss-fuzz-11302
new file mode 100644
index 0000000..0ef0dcc
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/oss-fuzz-11302
@@ -0,0 +1,2 @@
+[Network]
+IPv6MTUBytes=7K \ No newline at end of file
diff --git a/test/fuzz/fuzz-network-parser/oss-fuzz-11314 b/test/fuzz/fuzz-network-parser/oss-fuzz-11314
new file mode 100644
index 0000000..2fb68e9
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/oss-fuzz-11314
@@ -0,0 +1,5 @@
+
+[Network]
+IPv6MTUBytes=6M
+
+Bond=
diff --git a/test/fuzz/fuzz-network-parser/oss-fuzz-11345 b/test/fuzz/fuzz-network-parser/oss-fuzz-11345
new file mode 100644
index 0000000..b097fcd
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/oss-fuzz-11345
@@ -0,0 +1,2 @@
+[IPv6PrefixDelegation]
+DNS=:: \ No newline at end of file
diff --git a/test/fuzz/fuzz-network-parser/oss-fuzz-13059 b/test/fuzz/fuzz-network-parser/oss-fuzz-13059
new file mode 100644
index 0000000..d4267ff
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/oss-fuzz-13059
Binary files differ
diff --git a/test/fuzz/fuzz-network-parser/oss-fuzz-13354 b/test/fuzz/fuzz-network-parser/oss-fuzz-13354
new file mode 100644
index 0000000..2274fa5
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/oss-fuzz-13354
Binary files differ
diff --git a/test/fuzz/fuzz-network-parser/oss-fuzz-13433 b/test/fuzz/fuzz-network-parser/oss-fuzz-13433
new file mode 100644
index 0000000..1aef8b7
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/oss-fuzz-13433
Binary files differ
diff --git a/test/fuzz/fuzz-network-parser/oss-fuzz-13888 b/test/fuzz/fuzz-network-parser/oss-fuzz-13888
new file mode 100644
index 0000000..c75fcb4
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/oss-fuzz-13888
Binary files differ
diff --git a/test/fuzz/fuzz-network-parser/oss-fuzz-15678 b/test/fuzz/fuzz-network-parser/oss-fuzz-15678
new file mode 100644
index 0000000..fb7cfcf
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/oss-fuzz-15678
@@ -0,0 +1,2 @@
+[IPv6AcceptRA]
+DenyList=70:: 70:: \ No newline at end of file
diff --git a/test/fuzz/fuzz-network-parser/oss-fuzz-20548 b/test/fuzz/fuzz-network-parser/oss-fuzz-20548
new file mode 100644
index 0000000..82efed5
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/oss-fuzz-20548
Binary files differ
diff --git a/test/fuzz/fuzz-network-parser/oss-fuzz-23895 b/test/fuzz/fuzz-network-parser/oss-fuzz-23895
new file mode 100644
index 0000000..a86361d
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/oss-fuzz-23895
Binary files differ
diff --git a/test/fuzz/fuzz-network-parser/oss-fuzz-23950 b/test/fuzz/fuzz-network-parser/oss-fuzz-23950
new file mode 100644
index 0000000..5bfb17b
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/oss-fuzz-23950
Binary files differ
diff --git a/test/fuzz/fuzz-network-parser/routing-policy-rule.network b/test/fuzz/fuzz-network-parser/routing-policy-rule.network
new file mode 100644
index 0000000..46b87c5
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/routing-policy-rule.network
@@ -0,0 +1,10 @@
+[Match]
+Name=test1
+
+[RoutingPolicyRule]
+TypeOfService=0x08
+Table=7
+From= 192.168.100.18
+Priority=111
+IncomingInterface=test1
+OutgoingInterface=test1
diff --git a/test/fuzz/fuzz-network-parser/sit.network b/test/fuzz/fuzz-network-parser/sit.network
new file mode 100644
index 0000000..84e5af0
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/sit.network
@@ -0,0 +1,5 @@
+[Match]
+Name=dummy98
+
+[Network]
+Tunnel=sittun99
diff --git a/test/fuzz/fuzz-network-parser/test-static.network b/test/fuzz/fuzz-network-parser/test-static.network
new file mode 100644
index 0000000..636c55c
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/test-static.network
@@ -0,0 +1,6 @@
+[Match]
+Name=dummy98
+
+[Network]
+Address=192.168.0.15/24
+Gateway=192.168.0.1
diff --git a/test/fuzz/fuzz-network-parser/vti.network b/test/fuzz/fuzz-network-parser/vti.network
new file mode 100644
index 0000000..7fbad6a
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/vti.network
@@ -0,0 +1,5 @@
+[Match]
+Name=dummy98
+
+[Network]
+Tunnel=vtitun99
diff --git a/test/fuzz/fuzz-network-parser/vti6.network b/test/fuzz/fuzz-network-parser/vti6.network
new file mode 100644
index 0000000..49a9d11
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/vti6.network
@@ -0,0 +1,5 @@
+[Match]
+Name=dummy98
+
+[Network]
+Tunnel=vti6tun99
diff --git a/test/fuzz/fuzz-network-parser/vxlan.network b/test/fuzz/fuzz-network-parser/vxlan.network
new file mode 100644
index 0000000..80b4055
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/vxlan.network
@@ -0,0 +1,5 @@
+[Match]
+Name=test1
+
+[Network]
+VXLAN=vxlan99