feat(fls): write the system software of a .fls, loaded by Java as the original
topologyWriter.ts now sets the system software each device's constructor makes, through its setters: a switch's SSID and learning time, a host's SSID, RIP, manual routes, DHCP client and server with static assignments, static NAT, the modem, and a router's or home router's firewall. The firewall is reached as XMLEncoder reaches it, through the web server's `konfig` plug-in: the constructor hangs the same object there and among the applications, where its key differs (Firewall on a router, NatGateway on a home router). A switch's SSID the file lacked stays unwritten, so Java rolls one as it did. Files and applications are later layers. javaBeansWriter.ts: a call can carry statements on its result (a map's value changed through get(key)), checked by Java's XMLDecoder in a new case; a short() helper for Java's short values. Checked by Java against Java: every corpus file, read and written again, loads with the same system software (without files and applications) as the original. The synthetic topology adds what the corpus lacks: a router firewall switched on with rules of every protocol (one with a null address), every flag away from its default, a modem with its own port and target, and a PC's SSID, routes and DHCP server. 16 mutation probes, each rewritten and loaded by Java, were all caught. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -316,7 +316,7 @@
|
||||
"string": "10.0.0.1"
|
||||
},
|
||||
"mac": {
|
||||
"string": "8E:A8:7E:96:38:62"
|
||||
"string": "EE:8A:4E:46:17:34"
|
||||
},
|
||||
"port": {
|
||||
"id": 2,
|
||||
@@ -337,6 +337,34 @@
|
||||
],
|
||||
"errors": []
|
||||
},
|
||||
"results.xml": {
|
||||
"values": [
|
||||
{
|
||||
"id": 0,
|
||||
"class": "java.util.HashMap",
|
||||
"entries": [
|
||||
[
|
||||
{
|
||||
"string": "key"
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"class": "java.util.ArrayList",
|
||||
"items": [
|
||||
{
|
||||
"string": "first"
|
||||
},
|
||||
{
|
||||
"string": "second"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
],
|
||||
"errors": []
|
||||
},
|
||||
"shared.xml": {
|
||||
"values": [
|
||||
{
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<java version="17" class="java.beans.XMLDecoder">
|
||||
<object class="java.util.HashMap">
|
||||
<void method="put">
|
||||
<string>key</string>
|
||||
<object class="java.util.ArrayList">
|
||||
<void method="add">
|
||||
<string>first</string>
|
||||
</void>
|
||||
</object>
|
||||
</void>
|
||||
<void method="get">
|
||||
<string>key</string>
|
||||
<void method="add">
|
||||
<string>second</string>
|
||||
</void>
|
||||
</void>
|
||||
</object>
|
||||
</java>
|
||||
Reference in New Issue
Block a user