summaryrefslogtreecommitdiffstats
path: root/test/fuzz/fuzz-network-parser
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 15:35:18 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 15:35:18 +0000
commitb750101eb236130cf056c675997decbac904cc49 (patch)
treea5df1a06754bdd014cb975c051c83b01c9a97532 /test/fuzz/fuzz-network-parser
parentInitial commit. (diff)
downloadsystemd-b750101eb236130cf056c675997decbac904cc49.tar.xz
systemd-b750101eb236130cf056c675997decbac904cc49.zip
Adding upstream version 252.22.upstream/252.22
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-vlan5
-rw-r--r--test/fuzz/fuzz-network-parser/23-active-slave6
-rw-r--r--test/fuzz/fuzz-network-parser/23-bond1992
-rw-r--r--test/fuzz/fuzz-network-parser/23-emit-lldp5
-rw-r--r--test/fuzz/fuzz-network-parser/23-primary-slave6
-rw-r--r--test/fuzz/fuzz-network-parser/23-test1-bond1996
-rw-r--r--test/fuzz/fuzz-network-parser/24-lldp5
-rw-r--r--test/fuzz/fuzz-network-parser/24-search-domain7
-rw-r--r--test/fuzz/fuzz-network-parser/25-address-link-section5
-rw-r--r--test/fuzz/fuzz-network-parser/25-address-section11
-rw-r--r--test/fuzz/fuzz-network-parser/25-address-section-misc10
-rw-r--r--test/fuzz/fuzz-network-parser/25-fibrule-port-range11
-rw-r--r--test/fuzz/fuzz-network-parser/25-ipv6-address-label-section6
-rw-r--r--test/fuzz/fuzz-network-parser/25-link-section-unmanaged6
-rw-r--r--test/fuzz/fuzz-network-parser/25-neighbor-section6
-rw-r--r--test/fuzz/fuzz-network-parser/25-route-section8
-rw-r--r--test/fuzz/fuzz-network-parser/25-route-tcp-window-settings10
-rw-r--r--test/fuzz/fuzz-network-parser/25-route-type14
-rw-r--r--test/fuzz/fuzz-network-parser/25-sysctl10
-rw-r--r--test/fuzz/fuzz-network-parser/26-bridge-slave-interface-113
-rw-r--r--test/fuzz/fuzz-network-parser/26-bridge-slave-interface-25
-rw-r--r--test/fuzz/fuzz-network-parser/27-xfrm5
-rw-r--r--test/fuzz/fuzz-network-parser/bridge996
-rw-r--r--test/fuzz/fuzz-network-parser/configure-without-carrier7
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-client5
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-client-anonymize16
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-client-ipv4-dhcp-settings15
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-client-ipv4-no-ipv66
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-client-ipv4-only5
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-client-ipv6-only5
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-client-ipv6-rapid-commit8
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-client-listen-port8
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-client-route-metric10
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-client-route-table10
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-client-timezone-router8
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-critical-connection9
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-option5
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-server12
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-server-static-lease29
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-server-timezone-router13
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-server-veth-peer6
-rw-r--r--test/fuzz/fuzz-network-parser/dhcp-v4-server-veth-peer6
-rw-r--r--test/fuzz/fuzz-network-parser/directives595
-rw-r--r--test/fuzz/fuzz-network-parser/dns-trust-anchor-duplicate2
-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/gretap5
-rw-r--r--test/fuzz/fuzz-network-parser/gretun5
-rw-r--r--test/fuzz/fuzz-network-parser/ip6gretap5
-rw-r--r--test/fuzz/fuzz-network-parser/ip6tnl5
-rw-r--r--test/fuzz/fuzz-network-parser/ipip5
-rw-r--r--test/fuzz/fuzz-network-parser/ipv6-prefix10
-rw-r--r--test/fuzz/fuzz-network-parser/ipv6-prefix-veth5
-rw-r--r--test/fuzz/fuzz-network-parser/ipvlan5
-rw-r--r--test/fuzz/fuzz-network-parser/macvlan5
-rw-r--r--test/fuzz/fuzz-network-parser/macvtap5
-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-rule10
-rw-r--r--test/fuzz/fuzz-network-parser/sit5
-rw-r--r--test/fuzz/fuzz-network-parser/test-static6
-rw-r--r--test/fuzz/fuzz-network-parser/vti5
-rw-r--r--test/fuzz/fuzz-network-parser/vti65
-rw-r--r--test/fuzz/fuzz-network-parser/vxlan5
76 files changed, 1071 insertions, 0 deletions
diff --git a/test/fuzz/fuzz-network-parser/21-vlan b/test/fuzz/fuzz-network-parser/21-vlan
new file mode 100644
index 0000000..a4fa1de
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/21-vlan
@@ -0,0 +1,5 @@
+[Match]
+Name=test1
+
+[Network]
+VLAN=vlan99
diff --git a/test/fuzz/fuzz-network-parser/23-active-slave b/test/fuzz/fuzz-network-parser/23-active-slave
new file mode 100644
index 0000000..59a6596
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/23-active-slave
@@ -0,0 +1,6 @@
+[Match]
+Name=dummy98
+
+[Network]
+Bond=bond199
+ActiveSlave=true
diff --git a/test/fuzz/fuzz-network-parser/23-bond199 b/test/fuzz/fuzz-network-parser/23-bond199
new file mode 100644
index 0000000..31e5d12
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/23-bond199
@@ -0,0 +1,2 @@
+[Match]
+Name=bond199
diff --git a/test/fuzz/fuzz-network-parser/23-emit-lldp b/test/fuzz/fuzz-network-parser/23-emit-lldp
new file mode 100644
index 0000000..de35045
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/23-emit-lldp
@@ -0,0 +1,5 @@
+[Match]
+Name=veth-peer
+
+[Network]
+EmitLLDP=yes
diff --git a/test/fuzz/fuzz-network-parser/23-primary-slave b/test/fuzz/fuzz-network-parser/23-primary-slave
new file mode 100644
index 0000000..380ae26
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/23-primary-slave
@@ -0,0 +1,6 @@
+[Match]
+Name=dummy98
+
+[Network]
+Bond=bond199
+PrimarySlave=true
diff --git a/test/fuzz/fuzz-network-parser/23-test1-bond199 b/test/fuzz/fuzz-network-parser/23-test1-bond199
new file mode 100644
index 0000000..6e7c28d
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/23-test1-bond199
@@ -0,0 +1,6 @@
+[Match]
+Name=test1
+
+[Network]
+Bond=bond199
+PrimarySlave=true
diff --git a/test/fuzz/fuzz-network-parser/24-lldp b/test/fuzz/fuzz-network-parser/24-lldp
new file mode 100644
index 0000000..fbdfb1b
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/24-lldp
@@ -0,0 +1,5 @@
+[Match]
+Name=veth99
+
+[Network]
+LLDP=yes
diff --git a/test/fuzz/fuzz-network-parser/24-search-domain b/test/fuzz/fuzz-network-parser/24-search-domain
new file mode 100644
index 0000000..970b130
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/24-search-domain
@@ -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 b/test/fuzz/fuzz-network-parser/25-address-link-section
new file mode 100644
index 0000000..759e83c
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/25-address-link-section
@@ -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 b/test/fuzz/fuzz-network-parser/25-address-section
new file mode 100644
index 0000000..d0fae69
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/25-address-section
@@ -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-address-section-misc b/test/fuzz/fuzz-network-parser/25-address-section-misc
new file mode 100644
index 0000000..3a37d03
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/25-address-section-misc
@@ -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-fibrule-port-range b/test/fuzz/fuzz-network-parser/25-fibrule-port-range
new file mode 100644
index 0000000..36646ec
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/25-fibrule-port-range
@@ -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 b/test/fuzz/fuzz-network-parser/25-ipv6-address-label-section
new file mode 100644
index 0000000..945b7dc
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/25-ipv6-address-label-section
@@ -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 b/test/fuzz/fuzz-network-parser/25-link-section-unmanaged
new file mode 100644
index 0000000..4fe4916
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/25-link-section-unmanaged
@@ -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 b/test/fuzz/fuzz-network-parser/25-neighbor-section
new file mode 100644
index 0000000..dd750dd
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/25-neighbor-section
@@ -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 b/test/fuzz/fuzz-network-parser/25-route-section
new file mode 100644
index 0000000..c9c7a72
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/25-route-section
@@ -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 b/test/fuzz/fuzz-network-parser/25-route-tcp-window-settings
new file mode 100644
index 0000000..e77a721
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/25-route-tcp-window-settings
@@ -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 b/test/fuzz/fuzz-network-parser/25-route-type
new file mode 100644
index 0000000..9a10413
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/25-route-type
@@ -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 b/test/fuzz/fuzz-network-parser/25-sysctl
new file mode 100644
index 0000000..2452fb7
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/25-sysctl
@@ -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 b/test/fuzz/fuzz-network-parser/26-bridge-slave-interface-1
new file mode 100644
index 0000000..854ac5f
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/26-bridge-slave-interface-1
@@ -0,0 +1,13 @@
+[Match]
+Name=dummy98
+
+[Network]
+Bridge=bridge99
+
+[Bridge]
+Cost=400
+HairPin = true
+Isolated = true
+FastLeave = true
+UnicastFlood = true
+MulticastToUnicast = true
diff --git a/test/fuzz/fuzz-network-parser/26-bridge-slave-interface-2 b/test/fuzz/fuzz-network-parser/26-bridge-slave-interface-2
new file mode 100644
index 0000000..45ec2de
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/26-bridge-slave-interface-2
@@ -0,0 +1,5 @@
+[Match]
+Name=test1
+
+[Network]
+Bridge=bridge99
diff --git a/test/fuzz/fuzz-network-parser/27-xfrm b/test/fuzz/fuzz-network-parser/27-xfrm
new file mode 100644
index 0000000..fa26c84
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/27-xfrm
@@ -0,0 +1,5 @@
+[Match]
+Name=eth0
+
+[Network]
+Xfrm=xfrm99
diff --git a/test/fuzz/fuzz-network-parser/bridge99 b/test/fuzz/fuzz-network-parser/bridge99
new file mode 100644
index 0000000..39e48ce
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/bridge99
@@ -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 b/test/fuzz/fuzz-network-parser/configure-without-carrier
new file mode 100644
index 0000000..5bd9d7e
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/configure-without-carrier
@@ -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 b/test/fuzz/fuzz-network-parser/dhcp-client
new file mode 100644
index 0000000..5629bc4
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/dhcp-client
@@ -0,0 +1,5 @@
+[Match]
+Name=veth99
+
+[Network]
+DHCP=yes
diff --git a/test/fuzz/fuzz-network-parser/dhcp-client-anonymize b/test/fuzz/fuzz-network-parser/dhcp-client-anonymize
new file mode 100644
index 0000000..a910cba
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/dhcp-client-anonymize
@@ -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-ipv4-dhcp-settings b/test/fuzz/fuzz-network-parser/dhcp-client-ipv4-dhcp-settings
new file mode 100644
index 0000000..5c4ca22
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/dhcp-client-ipv4-dhcp-settings
@@ -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-no-ipv6 b/test/fuzz/fuzz-network-parser/dhcp-client-ipv4-no-ipv6
new file mode 100644
index 0000000..c980bf9
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/dhcp-client-ipv4-no-ipv6
@@ -0,0 +1,6 @@
+[Match]
+Name=veth99
+
+[Network]
+DHCP=ipv4
+IPv6AcceptRA=false
diff --git a/test/fuzz/fuzz-network-parser/dhcp-client-ipv4-only b/test/fuzz/fuzz-network-parser/dhcp-client-ipv4-only
new file mode 100644
index 0000000..9bc019a
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/dhcp-client-ipv4-only
@@ -0,0 +1,5 @@
+[Match]
+Name=veth99
+
+[Network]
+DHCP=ipv4
diff --git a/test/fuzz/fuzz-network-parser/dhcp-client-ipv6-only b/test/fuzz/fuzz-network-parser/dhcp-client-ipv6-only
new file mode 100644
index 0000000..1f70c3b
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/dhcp-client-ipv6-only
@@ -0,0 +1,5 @@
+[Match]
+Name=veth99
+
+[Network]
+DHCP=ipv6
diff --git a/test/fuzz/fuzz-network-parser/dhcp-client-ipv6-rapid-commit b/test/fuzz/fuzz-network-parser/dhcp-client-ipv6-rapid-commit
new file mode 100644
index 0000000..52fa587
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/dhcp-client-ipv6-rapid-commit
@@ -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 b/test/fuzz/fuzz-network-parser/dhcp-client-listen-port
new file mode 100644
index 0000000..73ac364
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/dhcp-client-listen-port
@@ -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 b/test/fuzz/fuzz-network-parser/dhcp-client-route-metric
new file mode 100644
index 0000000..aa04aae
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/dhcp-client-route-metric
@@ -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 b/test/fuzz/fuzz-network-parser/dhcp-client-route-table
new file mode 100644
index 0000000..75f16aa
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/dhcp-client-route-table
@@ -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 b/test/fuzz/fuzz-network-parser/dhcp-client-timezone-router
new file mode 100644
index 0000000..6316f9c
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/dhcp-client-timezone-router
@@ -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-critical-connection b/test/fuzz/fuzz-network-parser/dhcp-critical-connection
new file mode 100644
index 0000000..0e65dec
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/dhcp-critical-connection
@@ -0,0 +1,9 @@
+[Match]
+Name=veth99
+
+[Network]
+DHCP=ipv4
+IPv6AcceptRA=false
+
+[DHCP]
+CriticalConnection=true
diff --git a/test/fuzz/fuzz-network-parser/dhcp-option b/test/fuzz/fuzz-network-parser/dhcp-option
new file mode 100644
index 0000000..821609c
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/dhcp-option
@@ -0,0 +1,5 @@
+[DHCPv6]
+SendOption=1:string:\U
+SendVendorOption=123:1:string:\U
+[DHCPv4]
+SendOption=1:string:\U
diff --git a/test/fuzz/fuzz-network-parser/dhcp-server b/test/fuzz/fuzz-network-parser/dhcp-server
new file mode 100644
index 0000000..9e49691
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/dhcp-server
@@ -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-server-static-lease b/test/fuzz/fuzz-network-parser/dhcp-server-static-lease
new file mode 100644
index 0000000..e14e7c0
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/dhcp-server-static-lease
@@ -0,0 +1,29 @@
+[Match]
+Name=veth-peer
+
+[Network]
+Address=10.1.1.1/24
+DHCPServer=true
+IPMasquerade=true
+IPForward=true
+
+[DHCPServer]
+PoolOffset=0
+PoolSize=20
+EmitDNS=yes
+DNS=9.9.9.9
+
+[DHCPServerStaticLease]
+MACAddress=12:34:56:78:9a:bc
+Address=10.1.1.2
+
+[DHCPServerStaticLease]
+MACAddress=12:34:56:78:9a:bc
+Address=10.1.1.3
+
+[DHCPServerStaticLease]
+Address=10.1.1.4
+
+[DHCPServerStaticLease]
+MACAddress=12:34:56:78:9a:bf
+Address=10.1.1.5
diff --git a/test/fuzz/fuzz-network-parser/dhcp-server-timezone-router b/test/fuzz/fuzz-network-parser/dhcp-server-timezone-router
new file mode 100644
index 0000000..3ebbf05
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/dhcp-server-timezone-router
@@ -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 b/test/fuzz/fuzz-network-parser/dhcp-server-veth-peer
new file mode 100644
index 0000000..7b38e72
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/dhcp-server-veth-peer
@@ -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-v4-server-veth-peer b/test/fuzz/fuzz-network-parser/dhcp-v4-server-veth-peer
new file mode 100644
index 0000000..5c91d65
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/dhcp-v4-server-veth-peer
@@ -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 b/test/fuzz/fuzz-network-parser/directives
new file mode 100644
index 0000000..171322e
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/directives
@@ -0,0 +1,595 @@
+[Bridge]
+Cost=
+UseBPDU=
+HairPin=
+Isolated=
+UnicastFlood=
+FastLeave=
+Priority=
+AllowPortToBeRoot=
+MulticastToUnicast=
+MulticastFlood=
+NeighborSuppression=
+Learning=
+ProxyARP=
+ProxyARPWiFi=
+MulticastRouter=
+[Match]
+Architecture=
+BSSID=
+Credential=
+Driver=
+Firmware=
+Host=
+KernelCommandLine=
+KernelVersion=
+Kind=
+MACAddress=
+Name=
+Path=
+PermanentMACAddress=
+Property=
+SSID=
+Type=
+Virtualization=
+WLANInterfaceType=
+[Link]
+ActivationPolicy=
+RequiredForOnline=
+RequiredFamilyForOnline=
+ARP=
+AllMulticast=
+Unmanaged=
+MTUBytes=
+Multicast=
+MACAddress=
+Group=
+Promiscuous=
+[SR-IOV]
+VirtualFunction=
+MACSpoofCheck=
+VLANId=
+VLANProtocol=
+QualityOfService=
+QueryReceiveSideScaling=
+Trust=
+LinkState=
+MACAddress=
+[BridgeFDB]
+VLANId=
+MACAddress=
+Destination=
+VNI=
+AssociatedWith=
+OutgoingInterface=
+[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=
+RoutesToNTP=
+UseSIP=
+UseMTU=
+UseDomainName=
+RouteMetric=
+SendHostname=
+Anonymize=
+VendorClassIdentifier=
+Hostname=
+DUIDType=
+UseHostname=
+Label=
+CriticalConnection=
+DUIDRawData=
+RequestBroadcast=
+ClientIdentifier=
+ListenPort=
+UseTimezone=
+RouteTable=
+DenyList=
+BlackList=
+AllowList=
+RequestOptions=
+SendRelease=
+MaxAttempts=
+IPServiceType=
+SendOption=
+SendVendorOption=
+SendDecline=
+MUDURL=
+RouteMTUBytes=
+FallbackLeaseLifetimeSec=
+Use6RD=
+NetLabel=
+[DHCPv6]
+UseAddress=
+UseDelegatedPrefix=
+UseNTP=
+UseDNS=
+UseHostname=
+UseDomains=
+RapidCommit=
+ForceDHCPv6PDOtherInformation=
+PrefixDelegationHint=
+WithoutRA=
+MUDURL=
+SendOption=
+RequestOptions=
+UserClass=
+VendorClass=
+SendVendorOption=
+RouteMetric=
+IAID=
+DUIDType=
+DUIDRawData=
+NetLabel=
+[DHCPv6PrefixDelegation]
+SubnetId=
+Announce=
+Assign=
+ManageTemporaryAddress=
+Token=
+RouteMetric=
+NetLabel=
+[DHCPPrefixDelegation]
+UplinkInterface=
+SubnetId=
+Announce=
+Assign=
+ManageTemporaryAddress=
+Token=
+RouteMetric=
+NetLabel=
+[Route]
+Destination=
+Protocol=
+Table=
+Gateway=
+InitialAdvertisedReceiveWindow=
+GatewayOnLink=
+GatewayOnlink=
+Type=
+InitialCongestionWindow=
+IPv6Preference=
+PreferredSource=
+Scope=
+MTUBytes=
+QuickAck=
+FastOpenNoCookie=
+Source=
+Metric=
+TTLPropagate=
+MultiPathRoute=
+TCPAdvertisedMaximumSegmentSize=
+TCPCongestionControlAlgorithm=
+NextHop=
+[Network]
+KeepMaster=
+IPv6DuplicateAddressDetection=
+IPMasquerade=
+ProxyARP=
+PrimarySlave=
+IPv4LLRoute=
+DefaultRouteOnDevice=
+Address=
+IPv6ProxyNDPAddress=
+IPv6AcceptRA=
+IPv6AcceptRouterAdvertisements=
+IPv4AcceptLocal=
+IPv4RouteLocalnet=
+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=
+IPv4LLStartAddress=
+IPv6LinkLocalAddressGenerationMode=
+IPv6StableSecretAddress=
+ConfigureWithoutCarrier=
+NTP=
+DHCP=
+Domains=
+IPv6SendRA=
+IPv6PrefixDelegation=
+VLAN=
+DHCPServer=
+BindCarrier=
+VRF=
+IgnoreCarrierLoss=
+KeepConfiguration=
+DHCPv6PrefixDelegation=
+DHCPPrefixDelegation=
+BatmanAdvanced=
+IPoIB=
+[IPv6Prefix]
+Prefix=
+OnLink=
+PreferredLifetimeSec=
+AddressAutoconfiguration=
+ValidLifetimeSec=
+Assign=
+Token=
+RouteMetric=
+[IPv6RoutePrefix]
+Route=
+LifetimeSec=
+[BridgeVLAN]
+EgressUntagged=
+VLAN=
+PVID=
+[LLDP]
+MUDURL=
+[CAN]
+SamplePoint=
+BitRate=
+TimeQuantaNSec=
+PropagationSegment=
+PhaseBufferSegment1=
+PhaseBufferSegment2=
+SyncJumpWidth=
+DataSamplePoint=
+DataBitRate=
+DataTimeQuantaNSec=
+DataPropagationSegment=
+DataPhaseBufferSegment1=
+DataPhaseBufferSegment2=
+DataSyncJumpWidth=
+FDMode=
+FDNonISO=
+RestartSec=
+TripleSampling=
+BusErrorReporting=
+Termination=
+ListenOnly=
+Loopback=
+OneShot=
+PresumeACK=
+ClassicDataLengthCode=
+[IPoIB]
+Mode=
+IgnoreUserspaceMulticastGroups=
+[Address]
+DuplicateAddressDetection=
+AutoJoin=
+PreferredLifetime=
+Address=
+Scope=
+HomeAddress=
+PrefixRoute=
+AddPrefixRoute=
+ManageTemporaryAddress=
+Broadcast=
+Peer=
+Label=
+RouteMetric=
+[RoutingPolicyRule]
+Table=
+IncomingInterface=
+To=
+OutgoingInterface=
+From=
+TypeOfService=
+Priority=
+FirewallMark=
+SourcePort=
+DestinationPort=
+IPProtocol=
+InvertRule=
+Family=
+SuppressPrefixLength=
+SuppressInterfaceGroup=
+User=
+Type=
+[IPv6SendRA]
+RouterPreference=
+DNSLifetimeSec=
+DNS=
+RouterLifetimeSec=
+Domains=
+EmitDNS=
+EmitDomains=
+Managed=
+OtherInformation=
+UplinkInterface=
+NetLabel=
+[IPv6PrefixDelegation]
+RouterPreference=
+DNSLifetimeSec=
+DNS=
+RouterLifetimeSec=
+Domains=
+EmitDNS=
+EmitDomains=
+Managed=
+OtherInformation=
+[Neighbor]
+Address=
+LinkLayerAddress=
+MACAddress=
+[IPv6AddressLabel]
+Label=
+Prefix=
+[IPv6AcceptRA]
+UseDomains=
+UseMTU=
+RouteTable=
+RouteMetric=
+UseDNS=
+DHCPv6Client=
+UseGateway=
+UseRoutePrefix=
+UseAutonomousPrefix=
+UseOnLinkPrefix=
+RouterAllowList=
+RouterDenyList=
+PrefixAllowList=
+PrefixDenyList=
+RouteAllowList=
+RouteDenyList=
+DenyList=
+BlackList=
+Token=
+[DHCPServer]
+EmitNTP=
+PoolSize=
+PoolOffset=
+Timezone=
+EmitDNS=
+NTP=
+EmitSIP=
+SIP=
+EmitPOP3=
+POP3=
+EmitSMTP=
+SMTP=
+EmitLPR=
+LPR=
+EmitRouter=
+Router=
+MaxLeaseTimeSec=
+DefaultLeaseTimeSec=
+EmitTimezone=
+DNS=
+SendOption=
+SendVendorOption=
+BindToInterface=
+RelayTarget=
+RelayAgentCircuitId=
+RelayAgentRemoteId=
+ServerAddress=
+UplinkInterface=
+BootServerAddress=
+BootServerName=
+BootFilename=
+[DHCPServerStaticLease]
+MACAddress=
+Address=
+[NextHop]
+Id=
+Gateway=
+Family=
+OnLink=
+Blackhole=
+Group=
+[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=
+AutoRateIngress=
+OverheadBytes=
+MPUBytes=
+CompensationMode=
+UseRawPacketSize=
+FlowIsolationMode=
+NAT=
+PriorityQueueingPreset=
+FirewallMark=
+Wash=
+SplitGSO=
+[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 b/test/fuzz/fuzz-network-parser/dns-trust-anchor-duplicate
new file mode 100644
index 0000000..ed7bdab
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/dns-trust-anchor-duplicate
@@ -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 b/test/fuzz/fuzz-network-parser/gretap
new file mode 100644
index 0000000..88b9250
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/gretap
@@ -0,0 +1,5 @@
+[Match]
+Name=dummy98
+
+[Network]
+Tunnel=gretap99
diff --git a/test/fuzz/fuzz-network-parser/gretun b/test/fuzz/fuzz-network-parser/gretun
new file mode 100644
index 0000000..376074c
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/gretun
@@ -0,0 +1,5 @@
+[Match]
+Name=dummy98
+
+[Network]
+Tunnel=gretun99
diff --git a/test/fuzz/fuzz-network-parser/ip6gretap b/test/fuzz/fuzz-network-parser/ip6gretap
new file mode 100644
index 0000000..cad0bae
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/ip6gretap
@@ -0,0 +1,5 @@
+[Match]
+Name=dummy98
+
+[Network]
+Tunnel=ip6gretap99
diff --git a/test/fuzz/fuzz-network-parser/ip6tnl b/test/fuzz/fuzz-network-parser/ip6tnl
new file mode 100644
index 0000000..41e3448
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/ip6tnl
@@ -0,0 +1,5 @@
+[Match]
+Name=dummy98
+
+[Network]
+Tunnel=ip6tnl99
diff --git a/test/fuzz/fuzz-network-parser/ipip b/test/fuzz/fuzz-network-parser/ipip
new file mode 100644
index 0000000..4ce6714
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/ipip
@@ -0,0 +1,5 @@
+[Match]
+Name=dummy98
+
+[Network]
+Tunnel=ipiptun99
diff --git a/test/fuzz/fuzz-network-parser/ipv6-prefix b/test/fuzz/fuzz-network-parser/ipv6-prefix
new file mode 100644
index 0000000..c1932a8
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/ipv6-prefix
@@ -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/ipv6-prefix-veth b/test/fuzz/fuzz-network-parser/ipv6-prefix-veth
new file mode 100644
index 0000000..3d2acec
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/ipv6-prefix-veth
@@ -0,0 +1,5 @@
+[Match]
+Name=veth99
+
+[Network]
+IPv6AcceptRA=true
diff --git a/test/fuzz/fuzz-network-parser/ipvlan b/test/fuzz/fuzz-network-parser/ipvlan
new file mode 100644
index 0000000..d053220
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/ipvlan
@@ -0,0 +1,5 @@
+[Match]
+Name=test1
+
+[Network]
+IPVLAN=ipvlan99
diff --git a/test/fuzz/fuzz-network-parser/macvlan b/test/fuzz/fuzz-network-parser/macvlan
new file mode 100644
index 0000000..a41c1f9
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/macvlan
@@ -0,0 +1,5 @@
+[Match]
+Name=test1
+
+[Network]
+MACVLAN=macvlan99
diff --git a/test/fuzz/fuzz-network-parser/macvtap b/test/fuzz/fuzz-network-parser/macvtap
new file mode 100644
index 0000000..6ee99ab
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/macvtap
@@ -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 b/test/fuzz/fuzz-network-parser/routing-policy-rule
new file mode 100644
index 0000000..46b87c5
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/routing-policy-rule
@@ -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 b/test/fuzz/fuzz-network-parser/sit
new file mode 100644
index 0000000..84e5af0
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/sit
@@ -0,0 +1,5 @@
+[Match]
+Name=dummy98
+
+[Network]
+Tunnel=sittun99
diff --git a/test/fuzz/fuzz-network-parser/test-static b/test/fuzz/fuzz-network-parser/test-static
new file mode 100644
index 0000000..636c55c
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/test-static
@@ -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 b/test/fuzz/fuzz-network-parser/vti
new file mode 100644
index 0000000..7fbad6a
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/vti
@@ -0,0 +1,5 @@
+[Match]
+Name=dummy98
+
+[Network]
+Tunnel=vtitun99
diff --git a/test/fuzz/fuzz-network-parser/vti6 b/test/fuzz/fuzz-network-parser/vti6
new file mode 100644
index 0000000..49a9d11
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/vti6
@@ -0,0 +1,5 @@
+[Match]
+Name=dummy98
+
+[Network]
+Tunnel=vti6tun99
diff --git a/test/fuzz/fuzz-network-parser/vxlan b/test/fuzz/fuzz-network-parser/vxlan
new file mode 100644
index 0000000..80b4055
--- /dev/null
+++ b/test/fuzz/fuzz-network-parser/vxlan
@@ -0,0 +1,5 @@
+[Match]
+Name=test1
+
+[Network]
+VXLAN=vxlan99