diff --git a/CHANGES.md b/CHANGES.md index 8475c4e..7cee2b0 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -49,8 +49,8 @@ Swift-Pfade relativ zu `filius-ipad/ios/FiliusPad/TopologyEditor/` (Stand | `src/javaEmail.ts` | Java `EmailServer` (Konten-Bean, `kontenLaden`/`stringZuListeBenutzerkonten`), `EmailAnwendung` (Ordner, Adressbuch, `laden`), `EmailKonto`, `Email`, `AddressEntry`, `EmailUtils` | neu nach Java: E-Mail-Beans über ihre Setter, `/mailserver/konten.txt` und `/konten.txt` im Format von Javas Lesern, ohne ihre Fehler (leere Felder zählen, eine kurze Zeile fällt allein weg, Nachrichten mit leerem Text oder Betreff bleiben, `;` im Betreff bleibt, CRLF, beim Client die letzte vollständige Zeile); Empfänger älterer Dateien als Zeichenketten; gegen Java auf dem Korpus und an 43 Fällen geprüft (13 benannte Java-Fehler) | | `src/javaBeansWriter.ts` | — | neu: Schreiber für das `XMLDecoder`-Format, Gegenstück zu `javabeans.ts`; ausdrücklich typisierte Eingabe, geteilte Objekte über `id`/`idref`, was XML nicht fassen kann (und CR) als ``; von Java selbst geprüft (`BeansDump`) | | `test/javaBeansWriter.test.ts`, `test/beans/` | — | neu: 11 Dateien des Schreibers, von Javas `XMLDecoder` gelesen und beschrieben; Erwartungen von Hand | -| `src/topologyWriter.ts` | Java `SzenarioVerwaltung.netzwerkSpeichern`, Konstruktoren von `NetzwerkInterface`, `Port`, `GUIKabelItem` und der Systemsoftware | neu nach Java: `konfiguration.xml` aus Javas Sicht — Geräte, Schnittstellen (vom Konstruktor angelegte über Getter, weitere per `add`), Ports über Getter-Verweise, Kabel samt Zeichen-Enden (`kabelpanel`), Doku-Elemente; Systemsoftware über ihre Setter: SSID, Lernzeit, RIP, manuelle Routen, DHCP-Client und -Server, statische NAT, Modem, Router-Firewall (über das `konfig`-Plug-in des Webservers, wie XMLEncoder sie erreicht); Dateisysteme (an die Wurzel des Konstruktors angehängt wie bei XMLEncoder, beim Router hinter dessen Vorlagen); Kopf „Filius version: 2.14.0 (mdg-filius)“ | -| `test/topologyWriter.test.ts`, `test/written.java.json` | — | neu: alle 23 Korpus-Dateien gelesen und neu geschrieben, von Java geladen — Topologie, Systemsoftware und Dateisysteme (ohne Programme) wie beim Original (Java gegen Java); dazu eine künstliche Topologie mit dem, was der Korpus nicht hat (u. a. eingeschaltete Router-Firewall mit Regeln jedes Protokolls, alle Firewall-Schalter abseits der Vorgabe, Modem mit eigenem Port und Ziel, verschachtelter Dateibaum mit umbenannter Wurzel, namenlosem Ordner, Datei ohne Typ und Inhalt mit CR/CRLF und Zeichen jenseits der BMP, Heimrouter mit eigener Wurzel) | +| `src/topologyWriter.ts` | Java `SzenarioVerwaltung.netzwerkSpeichern`, Konstruktoren von `NetzwerkInterface`, `Port`, `GUIKabelItem` und der Systemsoftware | neu nach Java: `konfiguration.xml` aus Javas Sicht — Geräte, Schnittstellen (vom Konstruktor angelegte über Getter, weitere per `add`), Ports über Getter-Verweise, Kabel samt Zeichen-Enden (`kabelpanel`), Doku-Elemente; Systemsoftware über ihre Setter: SSID, Lernzeit, RIP, manuelle Routen, DHCP-Client und -Server, statische NAT, Modem, Router-Firewall (über das `konfig`-Plug-in des Webservers, wie XMLEncoder sie erreicht); Dateisysteme (an die Wurzel des Konstruktors angehängt wie bei XMLEncoder, beim Router hinter dessen Vorlagen); installierte Programme nach den Dateien (Webserver, Tauschbörse und E-Mail-Server legen ihre Ordner nur an, wo sie fehlen; der DNS-Server liest `/dns/hosts` beim Installieren), je unter ihrem Schlüssel mit der Systemsoftware wie `installApp`, samt Einstellungen und persönlicher Firewall; Kopf „Filius version: 2.14.0 (mdg-filius)“ | +| `test/topologyWriter.test.ts`, `test/written.java.json` | — | neu: alle 23 Korpus-Dateien gelesen und neu geschrieben, von Java geladen — Topologie, Systemsoftware, Dateisysteme und Programme (ohne E-Mail-Konten, -Nachrichten und Adressbuch) wie beim Original (Java gegen Java); dazu eine künstliche Topologie mit dem, was der Korpus nicht hat (u. a. eingeschaltete Router-Firewall mit Regeln jedes Protokolls, alle Firewall-Schalter abseits der Vorgabe, Modem mit eigenem Port und Ziel, verschachtelter Dateibaum mit umbenannter Wurzel, namenlosem Ordner, Datei ohne Typ und Inhalt mit CR/CRLF und Zeichen jenseits der BMP, Heimrouter mit eigener Wurzel, jedes Filius-Programm mit Einstellungen abseits der Vorgabe samt persönlicher Firewall, ein von Java angelegter Ordner `/peer2peer`) | | `src/importEmail.ts` | `Persistence/TopologyProjectStore.swift` (`registerJavaEmailConfigurations`, `assignedJavaEmailMessages`) | übertragen, Eingabe ist Javas Sicht: Server-Konten aus `/mailserver/konten.txt`, ohne Datei aus der Bean-Liste (Java verlöre sie); Client-Konto aus `/konten.txt`, ohne Datei aus der älteren `kontoListe` (Filius 2.14 liest sie nicht mehr); Konten und Nachrichten bleiben, wo Swift verwirft, was seine Prüfung nicht besteht; Vor- und Nachname getrennt; Empfangszeit nur aus der Datei (Swift nummeriert); gegen Swifts Modell geprüft | | `test/importEmail.test.ts`, `test/email-*.swift.json` | `State/TopologyEmail.swift` (`decodeJavaServer`, `decodeJavaClient`) als Vergleich | neu: dieselben 43 Kontodateien mit Swifts Leser; wie Swift bis auf benannte Fälle, in denen Swift prüft und die ganze Datei verwirft, wo Java liest | | `src/javaFileSystem.ts`, `src/javaString.ts` | Java `Dateisystem.holeDatei`, `String.trim`/`split`/`equalsIgnoreCase` | neu nach Java; die Groß-/Kleinschreibung gegenüber ASCII am JDK über die ganze BMP gemessen | diff --git a/packages/fls/src/topologyWriter.ts b/packages/fls/src/topologyWriter.ts index fc887a9..e88cb0c 100644 --- a/packages/fls/src/topologyWriter.ts +++ b/packages/fls/src/topologyWriter.ts @@ -14,7 +14,13 @@ // which holds the same object (its key among the installed applications // differs: Firewall on a router, NatGateway on a home router). Files are // added to the constructor's root, as XMLEncoder adds them — on a router -// after the files its constructor makes. Applications are a later layer. +// after the files its constructor makes. The installed applications of a PC +// or notebook follow the files, as in Java's own files: the constructors of +// the web server, the peer-to-peer application and the e-mail server make +// their directories only where the files lack them, and the DNS server reads +// /dns/hosts when it is installed. Each is put under its key and given the +// system software, as installApp does. E-mail accounts, messages and address +// books are a later layer. // // Checked by Java: every corpus file, read and written again, loads in Java // FILIUS to the same topology and system software (topologyWriter.test.ts, @@ -32,14 +38,19 @@ import { type BeanValue, short, } from './javaBeansWriter.js'; -import type { FlsFileTree, FlsFirewall, FlsSystemSoftware } from './systemSoftware.js'; +import type { FlsApplication, FlsFileTree, FlsFirewall, FlsSystemSoftware } from './systemSoftware.js'; import type { FlsDocumentationItem, FlsInterface, FlsLink, FlsNode, FlsNodeClass } from './topology.js'; /** The version line of the files this writer makes: the format of FILIUS 2.14. */ export const WRITTEN_VERSION_LINE = 'Filius version: 2.14.0 (mdg-filius)'; -/** The system software's settings and files; its applications are a later layer. */ -export type SystemToWrite = Omit; +/** An installed application; e-mail accounts, messages and address books are a later layer. */ +export type ApplicationToWrite = Omit; + +/** The system software's settings, files and applications. */ +export type SystemToWrite = Omit & { + readonly applications?: readonly ApplicationToWrite[]; +}; export type NodeToWrite = Pick< FlsNode, @@ -140,7 +151,14 @@ function device(node: NodeToWrite, ports: BeanValue[]): BeanObject { ), ); } - statements.push({ get: 'systemSoftware', statements: systemStatements(node.system, node.javaClass) }); + // Named for the applications, which are given it. + const system = (node.system.applications?.length ?? 0) > 0 ? reference('SystemSoftware') : undefined; + const systemStatementList = systemStatements(node.system, node.javaClass, system); + statements.push( + system === undefined + ? { get: 'systemSoftware', statements: systemStatementList } + : { get: 'systemSoftware', statements: systemStatementList, as: system }, + ); return object(`filius.hardware.knoten.${node.javaClass}`, statements); } @@ -150,7 +168,7 @@ const WEB_SERVER_CLASS = 'filius.software.www.WebServer'; * The settings the file has, each set on the constructor's system software. * A switch's SSID the file lacked stays unwritten, so Java rolls one as it did. */ -function systemStatements(system: SystemToWrite, javaClass: FlsNodeClass): BeanStatement[] { +function systemStatements(system: SystemToWrite, javaClass: FlsNodeClass, self: BeanReference | undefined): BeanStatement[] { const statements: BeanStatement[] = []; if (system.firewall !== undefined) { statements.push({ @@ -167,6 +185,15 @@ function systemStatements(system: SystemToWrite, javaClass: FlsNodeClass): BeanS }); } if (system.fileSystem !== undefined) statements.push(fileSystemStatement(system.fileSystem, system.templateFiles !== false)); + if (self !== undefined && system.applications !== undefined) { + statements.push({ + get: 'installierteAnwendungen', + statements: system.applications.map((application) => ({ + call: 'put', + args: [application.key, object(application.javaClass, applicationStatements(application, self))], + })), + }); + } if (system.dhcpServer !== undefined) { const server = system.dhcpServer; statements.push({ @@ -236,6 +263,28 @@ function userObject(tree: FlsFileTree): BeanValue { return tree.kind === 'directory' ? tree.name : null; } +/** + * An application's settings, after the system software it runs on. A + * peer-to-peer application's peer count the file lacked stays unwritten, so + * Java rolls one as it did. + */ +function applicationStatements(application: ApplicationToWrite, system: BeanReference): BeanStatement[] { + const statements: BeanStatement[] = [{ set: 'systemSoftware', value: system }]; + if (application.isActive !== undefined) statements.push({ set: 'aktiv', value: application.isActive }); + if (application.port !== undefined) statements.push({ set: 'port', value: int(application.port) }); + if (application.targetAddress !== undefined) statements.push({ set: 'zielIPAdresse', value: application.targetAddress }); + if (application.targetPort !== undefined) statements.push({ set: 'zielPort', value: int(application.targetPort) }); + if (application.recursiveResolutionEnabled !== undefined) { + statements.push({ set: 'recursiveResolutionEnabled', value: application.recursiveResolutionEnabled }); + } + if (application.useVirtualHosts !== undefined) statements.push({ set: 'useVHost', value: application.useVirtualHosts }); + if (application.maxPeers !== undefined && application.maxPeers !== null) { + statements.push({ set: 'maxTeilnehmerZahl', value: int(application.maxPeers) }); + } + if (application.firewall !== undefined) statements.push(...firewallStatements(application.firewall)); + return statements; +} + /** A LinkedList of String arrays: routes, static NAT. */ function rows(table: readonly (readonly (string | null)[])[]): BeanObject { return listOf(table.map((row) => ({ kind: 'array', componentClass: 'java.lang.String', items: [...row] }))); diff --git a/packages/fls/test/topology.test.ts b/packages/fls/test/topology.test.ts index e858f4b..030e78a 100644 --- a/packages/fls/test/topology.test.ts +++ b/packages/fls/test/topology.test.ts @@ -91,7 +91,15 @@ function javaApplications(applications: FlsApplication[]): unknown[] { dropICMP: application.firewall.dropICMP, filterSYNSegmentsOnly: application.firewall.filterSYNSegmentsOnly, filterUdp: application.firewall.filterUdp, - rules: application.firewall.rules.length, + rules: application.firewall.rules.map((rule) => [ + rule.srcIP, + rule.srcMask, + rule.destIP, + rule.destMask, + rule.port, + rule.protocol, + rule.action, + ]), }), ...(application.mailDomain === undefined ? {} diff --git a/packages/fls/test/topologyWriter.test.ts b/packages/fls/test/topologyWriter.test.ts index b545c6a..264ced7 100644 --- a/packages/fls/test/topologyWriter.test.ts +++ b/packages/fls/test/topologyWriter.test.ts @@ -1,8 +1,8 @@ // Every corpus file, read and written again: Java FILIUS loads the written // file (tools/java-oracle, written.java.json) to the same topology as the // original (corpus.java.json) — devices, names, positions, interfaces, -// system software and files (without applications), cables and -// documentation. Java against Java: no mapping of this package stands +// system software, files and applications (without e-mail accounts, +// messages and address books), cables and documentation. Java against Java: no mapping of this package stands // between the two. // // UPDATE_WRITTEN=1 writes the files to test/written/ (not checked in); the @@ -43,10 +43,14 @@ type JavaFile = { success: boolean; nodes: JavaNode[]; cables: unknown[]; docume const original = JSON.parse(readFileSync(join(corpusRoot, 'corpus.java.json'), 'utf8')) as Record; const written = JSON.parse(readFileSync(join(here, 'written.java.json'), 'utf8')) as Record; -/** The system software without its applications, which are a later layer. */ +/** + * The system software without what a later layer writes: the e-mail + * programs' domain, accounts, messages and address book. + */ function systemOf(system: Record) { - const { applications: _applications, ...settings } = system; - return settings; + if (system.applications === undefined) return system; + const applications = (system.applications as Record[]).map(({ mailDomain: _domain, beanAccounts: _accounts, received: _received, sent: _sent, drafts: _drafts, addressBook: _book, ...rest }) => rest); + return { ...system, applications }; } /** @@ -136,8 +140,45 @@ const SYNTHETIC: TopologyToWrite = { ], }, { kind: 'file', name: 'untyped', type: null, content: null, children: [] }, + { kind: 'directory', name: 'webserver', children: [{ kind: 'file', name: 'index.html', type: 'html', content: '

own

', children: [] }] }, + { kind: 'directory', name: 'dns', children: [{ kind: 'file', name: 'hosts', type: null, content: 'a.de. A 3600 10.0.0.1\n', children: [] }] }, ], }, + applications: [ + { + key: 'filius.software.firewall.Firewall', + javaClass: 'filius.software.firewall.Firewall', + firewall: { + activated: false, + defaultPolicy: 1, + dropICMP: true, + filterSYNSegmentsOnly: false, + filterUdp: false, + rules: [{ srcIP: '10.0.0.0', srcMask: '255.0.0.0', destIP: '', destMask: '', port: 22, protocol: 6, action: 1 }], + }, + }, + { key: 'filius.software.www.WebServer', javaClass: 'filius.software.www.WebServer', isActive: true, port: 8080, useVirtualHosts: true }, + { + key: 'filius.software.dns.DNSServer', + javaClass: 'filius.software.dns.DNSServer', + isActive: true, + port: 5353, + recursiveResolutionEnabled: true, + }, + { key: 'filius.software.clientserver.ServerBaustein', javaClass: 'filius.software.clientserver.ServerBaustein', isActive: true, port: 7777 }, + { + key: 'filius.software.clientserver.ClientBaustein', + javaClass: 'filius.software.clientserver.ClientBaustein', + targetAddress: '10.0.0.9', + targetPort: 7777, + }, + { key: 'filius.software.dateiaustausch.PeerToPeerAnwendung', javaClass: 'filius.software.dateiaustausch.PeerToPeerAnwendung', maxPeers: 7 }, + { key: 'filius.software.lokal.Terminal', javaClass: 'filius.software.lokal.Terminal' }, + { key: 'filius.software.lokal.TextEditor', javaClass: 'filius.software.lokal.TextEditor' }, + { key: 'filius.software.lokal.FileExplorer', javaClass: 'filius.software.lokal.FileExplorer' }, + { key: 'filius.software.lokal.ImageViewer', javaClass: 'filius.software.lokal.ImageViewer' }, + { key: 'filius.software.www.WebBrowser', javaClass: 'filius.software.www.WebBrowser' }, + ], }, }, { @@ -298,8 +339,35 @@ describe('a topology beyond the corpus, as Java loads it', () => { children: [ { directory: 'docs', children: [javaFile('a.txt', 'text', FILE_CONTENT), { directory: null, children: [] }] }, javaFile('untyped', null, null), + { directory: 'webserver', children: [javaFile('index.html', 'html', '

own

')] }, + { directory: 'dns', children: [javaFile('hosts', null, 'a.de. A 3600 10.0.0.1\n')] }, + // Made by the peer-to-peer application, whose directory the files lack. + { directory: 'peer2peer', children: [] }, ], }, + // In the order of Java's key. + applications: [ + { key: 'filius.software.clientserver.ClientBaustein', class: 'filius.software.clientserver.ClientBaustein', zielIPAdresse: '10.0.0.9', zielPort: 7777 }, + { key: 'filius.software.clientserver.ServerBaustein', class: 'filius.software.clientserver.ServerBaustein', aktiv: true, port: 7777 }, + { key: 'filius.software.dateiaustausch.PeerToPeerAnwendung', class: 'filius.software.dateiaustausch.PeerToPeerAnwendung', maxTeilnehmerZahl: 7 }, + { key: 'filius.software.dns.DNSServer', class: 'filius.software.dns.DNSServer', aktiv: true, port: 5353, recursiveResolutionEnabled: true }, + { + key: 'filius.software.firewall.Firewall', + class: 'filius.software.firewall.Firewall', + activated: false, + defaultPolicy: 1, + dropICMP: true, + filterSYNSegmentsOnly: false, + filterUdp: false, + rules: [['10.0.0.0', '255.0.0.0', '', '', 22, 6, 1]], + }, + { key: 'filius.software.lokal.FileExplorer', class: 'filius.software.lokal.FileExplorer' }, + { key: 'filius.software.lokal.ImageViewer', class: 'filius.software.lokal.ImageViewer' }, + { key: 'filius.software.lokal.Terminal', class: 'filius.software.lokal.Terminal' }, + { key: 'filius.software.lokal.TextEditor', class: 'filius.software.lokal.TextEditor' }, + { key: 'filius.software.www.WebBrowser', class: 'filius.software.www.WebBrowser' }, + { key: 'filius.software.www.WebServer', class: 'filius.software.www.WebServer', aktiv: true, port: 8080, useVHost: true }, + ], }, }, { diff --git a/packages/fls/test/written.java.json b/packages/fls/test/written.java.json index 11e55f4..dbd773c 100644 --- a/packages/fls/test/written.java.json +++ b/packages/fls/test/written.java.json @@ -30,7 +30,16 @@ "directory": "root", "children": [] }, - "applications": [], + "applications": [ + { + "key": "filius.software.lokal.Terminal", + "class": "filius.software.lokal.Terminal" + }, + { + "key": "filius.software.www.WebBrowser", + "class": "filius.software.www.WebBrowser" + } + ], "dhcpClient": true, "dhcpServer": { "aktiv": false, @@ -244,7 +253,15 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.www.WebServer", + "class": "filius.software.www.WebServer", + "aktiv": true, + "port": 80, + "useVHost": true + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -298,7 +315,15 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.dns.DNSServer", + "class": "filius.software.dns.DNSServer", + "aktiv": true, + "port": 53, + "recursiveResolutionEnabled": true + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -339,7 +364,16 @@ "directory": "root", "children": [] }, - "applications": [], + "applications": [ + { + "key": "filius.software.lokal.Terminal", + "class": "filius.software.lokal.Terminal" + }, + { + "key": "filius.software.www.WebBrowser", + "class": "filius.software.www.WebBrowser" + } + ], "dhcpClient": true, "dhcpServer": { "aktiv": false, @@ -744,7 +778,7 @@ ] } ], - "sha256": "f3e4412bc98f0e9a830351c0ee7e3602f42d3afeb9f089d55466920857f054af" + "sha256": "f65ccc8cf005a6900f1e59113c55d58917512eb418ee99b5eb42743584d4ade5" }, "ipad-fixtures/dns_server.fls": { "success": true, @@ -831,7 +865,15 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.dns.DNSServer", + "class": "filius.software.dns.DNSServer", + "aktiv": true, + "port": 53, + "recursiveResolutionEnabled": true + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -896,7 +938,15 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.www.WebServer", + "class": "filius.software.www.WebServer", + "aktiv": true, + "port": 80, + "useVHost": false + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -937,7 +987,12 @@ "directory": "root", "children": [] }, - "applications": [], + "applications": [ + { + "key": "filius.software.www.WebBrowser", + "class": "filius.software.www.WebBrowser" + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -991,7 +1046,15 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.dns.DNSServer", + "class": "filius.software.dns.DNSServer", + "aktiv": true, + "port": 53, + "recursiveResolutionEnabled": false + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -1086,7 +1149,15 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.dns.DNSServer", + "class": "filius.software.dns.DNSServer", + "aktiv": true, + "port": 53, + "recursiveResolutionEnabled": false + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -1140,7 +1211,15 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.dns.DNSServer", + "class": "filius.software.dns.DNSServer", + "aktiv": true, + "port": 53, + "recursiveResolutionEnabled": false + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -1276,7 +1355,7 @@ } ], "documentation": [], - "sha256": "be1b914f699d28779ff0d5dc4d180e64dca9f3613b75f87626a7677a823b4525" + "sha256": "cceb33538d05287675c05bbab5de11b000e644b780dce58056c99f0a25dd79db" }, "ipad-fixtures/zwei_rechnernetze_komplett.fls": { "success": true, @@ -1435,7 +1514,26 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.dns.DNSServer", + "class": "filius.software.dns.DNSServer", + "aktiv": true, + "port": 53, + "recursiveResolutionEnabled": false + }, + { + "key": "filius.software.lokal.FileExplorer", + "class": "filius.software.lokal.FileExplorer" + }, + { + "key": "filius.software.www.WebServer", + "class": "filius.software.www.WebServer", + "aktiv": true, + "port": 80, + "useVHost": false + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -1476,7 +1574,12 @@ "directory": "root", "children": [] }, - "applications": [], + "applications": [ + { + "key": "filius.software.www.WebBrowser", + "class": "filius.software.www.WebBrowser" + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -1549,7 +1652,19 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.www.WebBrowser", + "class": "filius.software.www.WebBrowser" + }, + { + "key": "filius.software.www.WebServer", + "class": "filius.software.www.WebServer", + "aktiv": true, + "port": 80, + "useVHost": false + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -1736,7 +1851,7 @@ } ], "documentation": [], - "sha256": "ece4089025f0c4c1e7ee39fef5b8fbcc62239a8a32e57c505f83750fc5c8e936" + "sha256": "260c514a36dc80b5b7458592da6c1f9f16bd33dd62515c4a568908799399d3db" }, "java-examples/Internet_Complete_with_e-Mail_Webserver_Intranet_Portforwarding_Firewall_DHCP_EN.fls": { "success": true, @@ -1777,7 +1892,36 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.email.EmailAnwendung", + "class": "filius.software.email.EmailAnwendung", + "received": [], + "sent": [], + "drafts": [], + "addressBook": [], + "fileAccount": { + "benutzername": "herbert", + "passwort": "herbert1234", + "nachname": "Schmidt", + "vorname": "Herbert", + "emailAdresse": "herbert@gmx.com", + "pop3server": "mail.gmx.com", + "pop3port": "110", + "smtpserver": "mail.gmx.com", + "smtpport": "25", + "nachrichten": [] + } + }, + { + "key": "filius.software.lokal.Terminal", + "class": "filius.software.lokal.Terminal" + }, + { + "key": "filius.software.www.WebBrowser", + "class": "filius.software.www.WebBrowser" + } + ], "dhcpClient": true, "dhcpServer": { "aktiv": false, @@ -1867,7 +2011,36 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.email.EmailAnwendung", + "class": "filius.software.email.EmailAnwendung", + "received": [], + "sent": [], + "drafts": [], + "addressBook": [], + "fileAccount": { + "benutzername": "frimp", + "passwort": "frimp1234", + "nachname": "Mueller", + "vorname": "Frimp", + "emailAdresse": "frimp@webmail.com", + "pop3server": "mail.webmail.com", + "pop3port": "110", + "smtpserver": "mail.webmail.com", + "smtpport": "25", + "nachrichten": [] + } + }, + { + "key": "filius.software.lokal.Terminal", + "class": "filius.software.lokal.Terminal" + }, + { + "key": "filius.software.www.WebBrowser", + "class": "filius.software.www.WebBrowser" + } + ], "dhcpClient": true, "dhcpServer": { "aktiv": false, @@ -2446,7 +2619,23 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.dns.DNSServer", + "class": "filius.software.dns.DNSServer", + "aktiv": true, + "port": 53, + "recursiveResolutionEnabled": true + }, + { + "key": "filius.software.lokal.Terminal", + "class": "filius.software.lokal.Terminal" + }, + { + "key": "filius.software.lokal.TextEditor", + "class": "filius.software.lokal.TextEditor" + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -2507,7 +2696,23 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.lokal.Terminal", + "class": "filius.software.lokal.Terminal" + }, + { + "key": "filius.software.lokal.TextEditor", + "class": "filius.software.lokal.TextEditor" + }, + { + "key": "filius.software.www.WebServer", + "class": "filius.software.www.WebServer", + "aktiv": true, + "port": 80, + "useVHost": false + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -2561,7 +2766,41 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.email.EmailServer", + "class": "filius.software.email.EmailServer", + "aktiv": true, + "mailDomain": "filius.de", + "beanAccounts": [], + "fileAccounts": [ + { + "benutzername": "herbert", + "passwort": "herbert1234", + "nachname": "Nachname", + "vorname": "Vorname", + "emailAdresse": null, + "pop3server": null, + "pop3port": null, + "smtpserver": null, + "smtpport": null, + "nachrichten": [] + }, + { + "benutzername": "george", + "passwort": "george1234", + "nachname": "Nachname", + "vorname": "Vorname", + "emailAdresse": null, + "pop3server": null, + "pop3port": null, + "smtpserver": null, + "smtpport": null, + "nachrichten": [] + } + ] + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -2615,7 +2854,29 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.email.EmailServer", + "class": "filius.software.email.EmailServer", + "aktiv": true, + "mailDomain": "filius.de", + "beanAccounts": [], + "fileAccounts": [ + { + "benutzername": "frimp", + "passwort": "frimp1234", + "nachname": "Nachname", + "vorname": "Vorname", + "emailAdresse": null, + "pop3server": null, + "pop3port": null, + "smtpserver": null, + "smtpport": null, + "nachrichten": [] + } + ] + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -2688,7 +2949,30 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.dns.DNSServer", + "class": "filius.software.dns.DNSServer", + "aktiv": true, + "port": 53, + "recursiveResolutionEnabled": true + }, + { + "key": "filius.software.lokal.Terminal", + "class": "filius.software.lokal.Terminal" + }, + { + "key": "filius.software.lokal.TextEditor", + "class": "filius.software.lokal.TextEditor" + }, + { + "key": "filius.software.www.WebServer", + "class": "filius.software.www.WebServer", + "aktiv": true, + "port": 80, + "useVHost": false + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": true, @@ -2813,7 +3097,36 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.email.EmailAnwendung", + "class": "filius.software.email.EmailAnwendung", + "received": [], + "sent": [], + "drafts": [], + "addressBook": [], + "fileAccount": { + "benutzername": "george", + "passwort": "george1234", + "nachname": "Brown", + "vorname": "George", + "emailAdresse": "george@gmx.com", + "pop3server": "mail.gmx.com", + "pop3port": "110", + "smtpserver": "mail.gmx.com", + "smtpport": "25", + "nachrichten": [] + } + }, + { + "key": "filius.software.lokal.Terminal", + "class": "filius.software.lokal.Terminal" + }, + { + "key": "filius.software.www.WebBrowser", + "class": "filius.software.www.WebBrowser" + } + ], "dhcpClient": true, "dhcpServer": { "aktiv": false, @@ -2862,7 +3175,36 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.email.EmailAnwendung", + "class": "filius.software.email.EmailAnwendung", + "received": [], + "sent": [], + "drafts": [], + "addressBook": [], + "fileAccount": { + "benutzername": "herbert", + "passwort": "herbert1234", + "nachname": "Schmidt", + "vorname": "Herbert", + "emailAdresse": "herbert@gmx.de", + "pop3server": "mail.gmx.de", + "pop3port": "110", + "smtpserver": "mail.gmx.de", + "smtpport": "25", + "nachrichten": [] + } + }, + { + "key": "filius.software.lokal.Terminal", + "class": "filius.software.lokal.Terminal" + }, + { + "key": "filius.software.www.WebBrowser", + "class": "filius.software.www.WebBrowser" + } + ], "dhcpClient": true, "dhcpServer": { "aktiv": false, @@ -2985,7 +3327,16 @@ "directory": "root", "children": [] }, - "applications": [], + "applications": [ + { + "key": "filius.software.lokal.Terminal", + "class": "filius.software.lokal.Terminal" + }, + { + "key": "filius.software.www.WebBrowser", + "class": "filius.software.www.WebBrowser" + } + ], "dhcpClient": true, "dhcpServer": { "aktiv": false, @@ -3275,7 +3626,12 @@ "directory": "root", "children": [] }, - "applications": [], + "applications": [ + { + "key": "filius.software.lokal.Terminal", + "class": "filius.software.lokal.Terminal" + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": true, @@ -4050,7 +4406,7 @@ ] } ], - "sha256": "daf5209b27f4adb4aa634bfb7900caf54a370d366626b7b20c1c5fc71499388f" + "sha256": "80bd96325313dee3d357a3e4698c1bca23e793f4a0e4d1a6d6ae8980ef1f2f78" }, "java-examples/Internet_Komplett_mit_eMail_Webserver_Intranet_Portforwarding_Firewall_DHCP_DE.fls": { "success": true, @@ -4091,7 +4447,36 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.email.EmailAnwendung", + "class": "filius.software.email.EmailAnwendung", + "received": [], + "sent": [], + "drafts": [], + "addressBook": [], + "fileAccount": { + "benutzername": "herbert", + "passwort": "herbert1234", + "nachname": "Schmidt", + "vorname": "Herbert", + "emailAdresse": "herbert@gmx.de", + "pop3server": "mail.gmx.de", + "pop3port": "110", + "smtpserver": "mail.gmx.de", + "smtpport": "25", + "nachrichten": [] + } + }, + { + "key": "filius.software.lokal.Terminal", + "class": "filius.software.lokal.Terminal" + }, + { + "key": "filius.software.www.WebBrowser", + "class": "filius.software.www.WebBrowser" + } + ], "dhcpClient": true, "dhcpServer": { "aktiv": false, @@ -4181,7 +4566,36 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.email.EmailAnwendung", + "class": "filius.software.email.EmailAnwendung", + "received": [], + "sent": [], + "drafts": [], + "addressBook": [], + "fileAccount": { + "benutzername": "frimp", + "passwort": "frimp1234", + "nachname": "Mueller", + "vorname": "Frimp", + "emailAdresse": "frimp@webmail.de", + "pop3server": "mail.webmail.de", + "pop3port": "110", + "smtpserver": "mail.webmail.de", + "smtpport": "25", + "nachrichten": [] + } + }, + { + "key": "filius.software.lokal.Terminal", + "class": "filius.software.lokal.Terminal" + }, + { + "key": "filius.software.www.WebBrowser", + "class": "filius.software.www.WebBrowser" + } + ], "dhcpClient": true, "dhcpServer": { "aktiv": false, @@ -4753,7 +5167,23 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.dns.DNSServer", + "class": "filius.software.dns.DNSServer", + "aktiv": true, + "port": 53, + "recursiveResolutionEnabled": true + }, + { + "key": "filius.software.lokal.Terminal", + "class": "filius.software.lokal.Terminal" + }, + { + "key": "filius.software.lokal.TextEditor", + "class": "filius.software.lokal.TextEditor" + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -4814,7 +5244,23 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.lokal.Terminal", + "class": "filius.software.lokal.Terminal" + }, + { + "key": "filius.software.lokal.TextEditor", + "class": "filius.software.lokal.TextEditor" + }, + { + "key": "filius.software.www.WebServer", + "class": "filius.software.www.WebServer", + "aktiv": true, + "port": 80, + "useVHost": false + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -4868,7 +5314,41 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.email.EmailServer", + "class": "filius.software.email.EmailServer", + "aktiv": true, + "mailDomain": "filius.de", + "beanAccounts": [], + "fileAccounts": [ + { + "benutzername": "herbert", + "passwort": "herbert1234", + "nachname": "Nachname", + "vorname": "Vorname", + "emailAdresse": null, + "pop3server": null, + "pop3port": null, + "smtpserver": null, + "smtpport": null, + "nachrichten": [] + }, + { + "benutzername": "george", + "passwort": "george1234", + "nachname": "Nachname", + "vorname": "Vorname", + "emailAdresse": null, + "pop3server": null, + "pop3port": null, + "smtpserver": null, + "smtpport": null, + "nachrichten": [] + } + ] + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -4922,7 +5402,29 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.email.EmailServer", + "class": "filius.software.email.EmailServer", + "aktiv": true, + "mailDomain": "filius.de", + "beanAccounts": [], + "fileAccounts": [ + { + "benutzername": "frimp", + "passwort": "frimp1234", + "nachname": "Nachname", + "vorname": "Vorname", + "emailAdresse": null, + "pop3server": null, + "pop3port": null, + "smtpserver": null, + "smtpport": null, + "nachrichten": [] + } + ] + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -4995,7 +5497,30 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.dns.DNSServer", + "class": "filius.software.dns.DNSServer", + "aktiv": true, + "port": 53, + "recursiveResolutionEnabled": true + }, + { + "key": "filius.software.lokal.Terminal", + "class": "filius.software.lokal.Terminal" + }, + { + "key": "filius.software.lokal.TextEditor", + "class": "filius.software.lokal.TextEditor" + }, + { + "key": "filius.software.www.WebServer", + "class": "filius.software.www.WebServer", + "aktiv": true, + "port": 80, + "useVHost": false + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": true, @@ -5120,7 +5645,36 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.email.EmailAnwendung", + "class": "filius.software.email.EmailAnwendung", + "received": [], + "sent": [], + "drafts": [], + "addressBook": [], + "fileAccount": { + "benutzername": "george", + "passwort": "george1234", + "nachname": "Brown", + "vorname": "George", + "emailAdresse": "george@gmx.de", + "pop3server": "mail.gmx.de", + "pop3port": "110", + "smtpserver": "mail.gmx.de", + "smtpport": "25", + "nachrichten": [] + } + }, + { + "key": "filius.software.lokal.Terminal", + "class": "filius.software.lokal.Terminal" + }, + { + "key": "filius.software.www.WebBrowser", + "class": "filius.software.www.WebBrowser" + } + ], "dhcpClient": true, "dhcpServer": { "aktiv": false, @@ -5169,7 +5723,36 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.email.EmailAnwendung", + "class": "filius.software.email.EmailAnwendung", + "received": [], + "sent": [], + "drafts": [], + "addressBook": [], + "fileAccount": { + "benutzername": "herbert", + "passwort": "herbert1234", + "nachname": "Schmidt", + "vorname": "Herbert", + "emailAdresse": "herbert@gmx.de", + "pop3server": "mail.gmx.de", + "pop3port": "110", + "smtpserver": "mail.gmx.de", + "smtpport": "25", + "nachrichten": [] + } + }, + { + "key": "filius.software.lokal.Terminal", + "class": "filius.software.lokal.Terminal" + }, + { + "key": "filius.software.www.WebBrowser", + "class": "filius.software.www.WebBrowser" + } + ], "dhcpClient": true, "dhcpServer": { "aktiv": false, @@ -5292,7 +5875,16 @@ "directory": "root", "children": [] }, - "applications": [], + "applications": [ + { + "key": "filius.software.lokal.Terminal", + "class": "filius.software.lokal.Terminal" + }, + { + "key": "filius.software.www.WebBrowser", + "class": "filius.software.www.WebBrowser" + } + ], "dhcpClient": true, "dhcpServer": { "aktiv": false, @@ -6315,7 +6907,7 @@ ] } ], - "sha256": "a92858c7e050434ad977fc018922439ed1b5a2fef161befbf79caaa430fbd403" + "sha256": "f9d437533b63a6af9f25a130978e6f9bbe6f86c4dd6c3836c51e7aaa7482c559" }, "java-examples/Public_and_Private_Networks_2_EN.fls": { "success": true, @@ -6348,7 +6940,16 @@ "directory": "root", "children": [] }, - "applications": [], + "applications": [ + { + "key": "filius.software.lokal.Terminal", + "class": "filius.software.lokal.Terminal" + }, + { + "key": "filius.software.www.WebBrowser", + "class": "filius.software.www.WebBrowser" + } + ], "dhcpClient": true, "dhcpServer": { "aktiv": false, @@ -6562,7 +7163,15 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.www.WebServer", + "class": "filius.software.www.WebServer", + "aktiv": true, + "port": 80, + "useVHost": true + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -6616,7 +7225,15 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.dns.DNSServer", + "class": "filius.software.dns.DNSServer", + "aktiv": true, + "port": 53, + "recursiveResolutionEnabled": true + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -6657,7 +7274,16 @@ "directory": "root", "children": [] }, - "applications": [], + "applications": [ + { + "key": "filius.software.lokal.Terminal", + "class": "filius.software.lokal.Terminal" + }, + { + "key": "filius.software.www.WebBrowser", + "class": "filius.software.www.WebBrowser" + } + ], "dhcpClient": true, "dhcpServer": { "aktiv": false, @@ -7062,7 +7688,7 @@ ] } ], - "sha256": "f3e4412bc98f0e9a830351c0ee7e3602f42d3afeb9f089d55466920857f054af" + "sha256": "f65ccc8cf005a6900f1e59113c55d58917512eb418ee99b5eb42743584d4ade5" }, "java-examples/anwendung_komplett.fls": { "success": true, @@ -7136,7 +7762,14 @@ "directory": "root", "children": [] }, - "applications": [], + "applications": [ + { + "key": "filius.software.clientserver.ClientBaustein", + "class": "filius.software.clientserver.ClientBaustein", + "zielIPAdresse": "192.168.0.10", + "zielPort": 55555 + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -7218,7 +7851,14 @@ "directory": "root", "children": [] }, - "applications": [], + "applications": [ + { + "key": "filius.software.clientserver.ClientBaustein", + "class": "filius.software.clientserver.ClientBaustein", + "zielIPAdresse": "192.168.0.10", + "zielPort": 55555 + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -7286,7 +7926,7 @@ } ], "documentation": [], - "sha256": "0a7d6ed55a5770fd76015b7e29c43122a64971153bf6f88503140a39d08eb416" + "sha256": "7ac91a67ba0e3afbc20409a40ff59928dcdcb0bc5ebaebfaf60c15df12306c83" }, "java-examples/dhcp_test_scenario.fls": { "success": true, @@ -7786,7 +8426,15 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.dns.DNSServer", + "class": "filius.software.dns.DNSServer", + "aktiv": true, + "port": 53, + "recursiveResolutionEnabled": true + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -7851,7 +8499,15 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.www.WebServer", + "class": "filius.software.www.WebServer", + "aktiv": true, + "port": 80, + "useVHost": false + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -7892,7 +8548,12 @@ "directory": "root", "children": [] }, - "applications": [], + "applications": [ + { + "key": "filius.software.www.WebBrowser", + "class": "filius.software.www.WebBrowser" + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -7946,7 +8607,15 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.dns.DNSServer", + "class": "filius.software.dns.DNSServer", + "aktiv": true, + "port": 53, + "recursiveResolutionEnabled": false + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -8041,7 +8710,15 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.dns.DNSServer", + "class": "filius.software.dns.DNSServer", + "aktiv": true, + "port": 53, + "recursiveResolutionEnabled": false + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -8095,7 +8772,15 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.dns.DNSServer", + "class": "filius.software.dns.DNSServer", + "aktiv": true, + "port": 53, + "recursiveResolutionEnabled": false + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -8231,7 +8916,7 @@ } ], "documentation": [], - "sha256": "be1b914f699d28779ff0d5dc4d180e64dca9f3613b75f87626a7677a823b4525" + "sha256": "cceb33538d05287675c05bbab5de11b000e644b780dce58056c99f0a25dd79db" }, "java-examples/einfaches_rechnernetz_komplett.fls": { "success": true, @@ -8264,7 +8949,12 @@ "directory": "root", "children": [] }, - "applications": [], + "applications": [ + { + "key": "filius.software.www.WebBrowser", + "class": "filius.software.www.WebBrowser" + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -8486,7 +9176,38 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.dns.DNSServer", + "class": "filius.software.dns.DNSServer", + "aktiv": true, + "port": 53, + "recursiveResolutionEnabled": false + }, + { + "key": "filius.software.lokal.FileExplorer", + "class": "filius.software.lokal.FileExplorer" + }, + { + "key": "filius.software.lokal.ImageViewer", + "class": "filius.software.lokal.ImageViewer" + }, + { + "key": "filius.software.lokal.Terminal", + "class": "filius.software.lokal.Terminal" + }, + { + "key": "filius.software.lokal.TextEditor", + "class": "filius.software.lokal.TextEditor" + }, + { + "key": "filius.software.www.WebServer", + "class": "filius.software.www.WebServer", + "aktiv": true, + "port": 80, + "useVHost": false + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": true, @@ -8977,7 +9698,7 @@ } ], "documentation": [], - "sha256": "1358ba3d271cf02c256e9fa77058ac30494375cb7443e0c4a8d5cb46ee80bdeb" + "sha256": "28f265035f07ec5a81e5cb9f0fefbb408fc62f1b95844a26f21481555a236847" }, "java-examples/email_komplett.fls": { "success": true, @@ -9030,7 +9751,15 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.www.WebServer", + "class": "filius.software.www.WebServer", + "aktiv": true, + "port": 80, + "useVHost": false + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -9079,7 +9808,32 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.email.EmailAnwendung", + "class": "filius.software.email.EmailAnwendung", + "received": [], + "sent": [], + "drafts": [], + "addressBook": [], + "fileAccount": { + "benutzername": "rechner3", + "passwort": "rechner3", + "nachname": "3", + "vorname": "Rechner", + "emailAdresse": "rechner3@senior.de", + "pop3server": "141.99.50.233", + "pop3port": "110", + "smtpserver": "141.99.50.233", + "smtpport": "25", + "nachrichten": [] + } + }, + { + "key": "filius.software.www.WebBrowser", + "class": "filius.software.www.WebBrowser" + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -9128,7 +9882,32 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.email.EmailAnwendung", + "class": "filius.software.email.EmailAnwendung", + "received": [], + "sent": [], + "drafts": [], + "addressBook": [], + "fileAccount": { + "benutzername": "rechner4", + "passwort": "rechner4", + "nachname": "4", + "vorname": "Rechner", + "emailAdresse": "rechner4@senior.de", + "pop3server": "141.99.50.233", + "pop3port": "110", + "smtpserver": "141.99.50.233", + "smtpport": "25", + "nachrichten": [] + } + }, + { + "key": "filius.software.www.WebBrowser", + "class": "filius.software.www.WebBrowser" + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -9177,7 +9956,32 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.email.EmailAnwendung", + "class": "filius.software.email.EmailAnwendung", + "received": [], + "sent": [], + "drafts": [], + "addressBook": [], + "fileAccount": { + "benutzername": "rechner1", + "passwort": "rechner1", + "nachname": "1", + "vorname": "Rechner", + "emailAdresse": "rechner1@filius.de", + "pop3server": "141.99.50.232", + "pop3port": "110", + "smtpserver": "141.99.50.232", + "smtpport": "25", + "nachrichten": [] + } + }, + { + "key": "filius.software.www.WebBrowser", + "class": "filius.software.www.WebBrowser" + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -9226,7 +10030,32 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.email.EmailAnwendung", + "class": "filius.software.email.EmailAnwendung", + "received": [], + "sent": [], + "drafts": [], + "addressBook": [], + "fileAccount": { + "benutzername": "rechner2", + "passwort": "rechner2", + "nachname": "2", + "vorname": "Rechner", + "emailAdresse": "rechner2@filius.de", + "pop3server": "141.99.50.232", + "pop3port": "110", + "smtpserver": "141.99.50.232", + "smtpport": "25", + "nachrichten": [] + } + }, + { + "key": "filius.software.www.WebBrowser", + "class": "filius.software.www.WebBrowser" + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -9321,7 +10150,15 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.dns.DNSServer", + "class": "filius.software.dns.DNSServer", + "aktiv": true, + "port": 53, + "recursiveResolutionEnabled": false + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -9375,7 +10212,41 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.email.EmailServer", + "class": "filius.software.email.EmailServer", + "aktiv": true, + "mailDomain": "filius.de", + "beanAccounts": [], + "fileAccounts": [ + { + "benutzername": "rechner1", + "passwort": "rechner1", + "nachname": "Nachname", + "vorname": "Vorname", + "emailAdresse": null, + "pop3server": null, + "pop3port": null, + "smtpserver": null, + "smtpport": null, + "nachrichten": [] + }, + { + "benutzername": "rechner2", + "passwort": "rechner2", + "nachname": "Nachname", + "vorname": "Vorname", + "emailAdresse": null, + "pop3server": null, + "pop3port": null, + "smtpserver": null, + "smtpport": null, + "nachrichten": [] + } + ] + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -9429,7 +10300,41 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.email.EmailServer", + "class": "filius.software.email.EmailServer", + "aktiv": true, + "mailDomain": "filius.de", + "beanAccounts": [], + "fileAccounts": [ + { + "benutzername": "rechner3", + "passwort": "rechner3", + "nachname": "Nachname", + "vorname": "Vorname", + "emailAdresse": null, + "pop3server": null, + "pop3port": null, + "smtpserver": null, + "smtpport": null, + "nachrichten": [] + }, + { + "benutzername": "rechner4", + "passwort": "rechner4", + "nachname": "Nachname", + "vorname": "Vorname", + "emailAdresse": null, + "pop3server": null, + "pop3port": null, + "smtpserver": null, + "smtpport": null, + "nachrichten": [] + } + ] + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -9582,7 +10487,7 @@ } ], "documentation": [], - "sha256": "f201d1a5e06d4972d417f05d09a5da7053efd0c16f60d15be1aad3e582df6059" + "sha256": "12ff44b32e2b3af3c05578d6020c56fbbfb753db8ef7ac26dd98b2dbefa41eeb" }, "java-examples/internetwork_komplett.fls": { "success": true, @@ -9990,7 +10895,15 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.dns.DNSServer", + "class": "filius.software.dns.DNSServer", + "aktiv": true, + "port": 53, + "recursiveResolutionEnabled": false + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -10031,7 +10944,16 @@ "directory": "root", "children": [] }, - "applications": [], + "applications": [ + { + "key": "filius.software.lokal.Terminal", + "class": "filius.software.lokal.Terminal" + }, + { + "key": "filius.software.www.WebBrowser", + "class": "filius.software.www.WebBrowser" + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -10092,7 +11014,19 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.www.WebBrowser", + "class": "filius.software.www.WebBrowser" + }, + { + "key": "filius.software.www.WebServer", + "class": "filius.software.www.WebServer", + "aktiv": true, + "port": 80, + "useVHost": false + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -10194,7 +11128,19 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.lokal.TextEditor", + "class": "filius.software.lokal.TextEditor" + }, + { + "key": "filius.software.www.WebServer", + "class": "filius.software.www.WebServer", + "aktiv": true, + "port": 80, + "useVHost": false + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -10555,7 +11501,7 @@ } ], "documentation": [], - "sha256": "3a779fd246d0d48a318a8cd0a05acc48b005a2a041fdbc1ec0b35a1d69f5f348" + "sha256": "2eeb9ed8f62648d4e16f0f9c028af88a9aeeb505fbd2a335d46aa5bc81b627a1" }, "java-examples/man-in-the-middle.fls": { "success": true, @@ -10596,7 +11542,36 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.email.EmailAnwendung", + "class": "filius.software.email.EmailAnwendung", + "received": [], + "sent": [], + "drafts": [], + "addressBook": [], + "fileAccount": { + "benutzername": "alice", + "passwort": "alice", + "nachname": "3", + "vorname": "Alice", + "emailAdresse": "alice@senior.de", + "pop3server": "141.99.50.233", + "pop3port": "110", + "smtpserver": "141.99.50.233", + "smtpport": "25", + "nachrichten": [] + } + }, + { + "key": "filius.software.lokal.Terminal", + "class": "filius.software.lokal.Terminal" + }, + { + "key": "filius.software.www.WebBrowser", + "class": "filius.software.www.WebBrowser" + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -10669,7 +11644,27 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.dns.DNSServer", + "class": "filius.software.dns.DNSServer", + "aktiv": true, + "port": 53, + "recursiveResolutionEnabled": false + }, + { + "key": "filius.software.email.EmailServer", + "class": "filius.software.email.EmailServer", + "aktiv": true, + "mailDomain": "filius.de", + "beanAccounts": [], + "fileAccounts": [] + }, + { + "key": "filius.software.www.WebBrowser", + "class": "filius.software.www.WebBrowser" + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -10718,7 +11713,36 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.email.EmailAnwendung", + "class": "filius.software.email.EmailAnwendung", + "received": [], + "sent": [], + "drafts": [], + "addressBook": [], + "fileAccount": { + "benutzername": "bob", + "passwort": "bob", + "nachname": "1", + "vorname": "Bob", + "emailAdresse": "bob@filius.de", + "pop3server": "141.99.50.232", + "pop3port": "110", + "smtpserver": "141.99.50.232", + "smtpport": "25", + "nachrichten": [] + } + }, + { + "key": "filius.software.lokal.FileExplorer", + "class": "filius.software.lokal.FileExplorer" + }, + { + "key": "filius.software.www.WebBrowser", + "class": "filius.software.www.WebBrowser" + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -10813,7 +11837,15 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.dns.DNSServer", + "class": "filius.software.dns.DNSServer", + "aktiv": true, + "port": 53, + "recursiveResolutionEnabled": false + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -10867,7 +11899,70 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.email.EmailServer", + "class": "filius.software.email.EmailServer", + "aktiv": true, + "mailDomain": "filius.de", + "beanAccounts": [], + "fileAccounts": [ + { + "benutzername": "bob", + "passwort": "bob", + "nachname": "Nachname", + "vorname": "Vorname", + "emailAdresse": null, + "pop3server": null, + "pop3port": null, + "smtpserver": null, + "smtpport": null, + "nachrichten": [ + { + "absender": [ + "Alice 3", + "alice@senior.de" + ], + "empfaenger": [ + [ + "Bob 1", + "bob@filius.de" + ] + ], + "cc": [], + "bcc": [], + "betreff": "RE: test bl", + "text": "huhu bob!\n\nBob 1 schrieb:\n> test bl\n>\n", + "dateReceived": "", + "neu": true, + "delete": false, + "versendet": false + }, + { + "absender": [ + "Alice 3", + "alice@senior.de" + ], + "empfaenger": [ + [ + null, + "bob@filius.de" + ] + ], + "cc": [], + "bcc": [], + "betreff": "Hi Bob!", + "text": "Hi BoB!\n", + "dateReceived": "", + "neu": true, + "delete": false, + "versendet": false + } + ] + } + ] + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -10921,7 +12016,29 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.email.EmailServer", + "class": "filius.software.email.EmailServer", + "aktiv": true, + "mailDomain": "filius.de", + "beanAccounts": [], + "fileAccounts": [ + { + "benutzername": "alice", + "passwort": "alice", + "nachname": "Nachname", + "vorname": "Vorname", + "emailAdresse": null, + "pop3server": null, + "pop3port": null, + "smtpserver": null, + "smtpport": null, + "nachrichten": [] + } + ] + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -11100,7 +12217,7 @@ "font": null } ], - "sha256": "1bebf9563fba47ec0736801fe756ef5c0ea729be08521462da77e2ffdf68c7a3" + "sha256": "f0449fcd25c2883580a8148b7e3aa2fd7318da423ae70f28326725a1f8737c5b" }, "java-examples/modem_beispiel.fls": { "success": true, @@ -11157,7 +12274,25 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.clientserver.ServerBaustein", + "class": "filius.software.clientserver.ServerBaustein", + "aktiv": false, + "port": 55555 + }, + { + "key": "filius.software.lokal.Terminal", + "class": "filius.software.lokal.Terminal" + }, + { + "key": "filius.software.www.WebServer", + "class": "filius.software.www.WebServer", + "aktiv": true, + "port": 80, + "useVHost": false + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -11198,7 +12333,22 @@ "directory": "root", "children": [] }, - "applications": [], + "applications": [ + { + "key": "filius.software.clientserver.ClientBaustein", + "class": "filius.software.clientserver.ClientBaustein", + "zielIPAdresse": null, + "zielPort": 55555 + }, + { + "key": "filius.software.lokal.Terminal", + "class": "filius.software.lokal.Terminal" + }, + { + "key": "filius.software.www.WebBrowser", + "class": "filius.software.www.WebBrowser" + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -11291,7 +12441,7 @@ } ], "documentation": [], - "sha256": "a991def7a79b73a5dad067720248cbff5e35e819c9c4a403441a6811cdcef785" + "sha256": "ac5df681a8fac4fc809a1d1f4b8859c444d54f78f61d5513e62bc94094e608a0" }, "java-examples/multicast_server.fls": { "success": true, @@ -11324,7 +12474,14 @@ "directory": "root", "children": [] }, - "applications": [], + "applications": [ + { + "key": "filius.software.clientserver.ServerBaustein", + "class": "filius.software.clientserver.ServerBaustein", + "aktiv": false, + "port": 55555 + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -11377,7 +12534,23 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.clientserver.ClientBaustein", + "class": "filius.software.clientserver.ClientBaustein", + "zielIPAdresse": "192.168.0.1", + "zielPort": 55555 + }, + { + "key": "filius.software.dateiaustausch.PeerToPeerAnwendung", + "class": "filius.software.dateiaustausch.PeerToPeerAnwendung", + "maxTeilnehmerZahl": 4 + }, + { + "key": "filius.software.lokal.Terminal", + "class": "filius.software.lokal.Terminal" + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -11418,7 +12591,14 @@ "directory": "root", "children": [] }, - "applications": [], + "applications": [ + { + "key": "filius.software.clientserver.ClientBaustein", + "class": "filius.software.clientserver.ClientBaustein", + "zielIPAdresse": "192.168.0.1", + "zielPort": 55555 + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -11527,7 +12707,7 @@ } ], "documentation": [], - "sha256": "b695aacd7121eeb327d59cb307b510b3119ec42cd70bd812d6d294d7f6af42e0" + "sha256": "28ab7864014fe7e056ed43755e8a8ea835a83ae2dc6822490e5c623df58b0e75" }, "java-examples/nat.fls": { "success": true, @@ -11653,7 +12833,23 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.lokal.Terminal", + "class": "filius.software.lokal.Terminal" + }, + { + "key": "filius.software.www.WebBrowser", + "class": "filius.software.www.WebBrowser" + }, + { + "key": "filius.software.www.WebServer", + "class": "filius.software.www.WebServer", + "aktiv": true, + "port": 80, + "useVHost": false + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -11694,7 +12890,16 @@ "directory": "root", "children": [] }, - "applications": [], + "applications": [ + { + "key": "filius.software.lokal.Terminal", + "class": "filius.software.lokal.Terminal" + }, + { + "key": "filius.software.www.WebBrowser", + "class": "filius.software.www.WebBrowser" + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -11803,7 +13008,7 @@ } ], "documentation": [], - "sha256": "7cb3a2b634f3ad69e291997ec9df4dbf10d9355f26a4a0d6422e909dc4eceb95" + "sha256": "181fd85daa8b7828e6619fb7733295c442cbe862f44435a99984b557607c4a5d" }, "java-examples/nat_with_mapped_port.fls": { "success": true, @@ -12170,7 +13375,19 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.dns.DNSServer", + "class": "filius.software.dns.DNSServer", + "aktiv": true, + "port": 53, + "recursiveResolutionEnabled": false + }, + { + "key": "filius.software.lokal.Terminal", + "class": "filius.software.lokal.Terminal" + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -12211,7 +13428,22 @@ "directory": "root", "children": [] }, - "applications": [], + "applications": [ + { + "key": "filius.software.clientserver.ClientBaustein", + "class": "filius.software.clientserver.ClientBaustein", + "zielIPAdresse": "www.jupiter.de", + "zielPort": 55555 + }, + { + "key": "filius.software.lokal.Terminal", + "class": "filius.software.lokal.Terminal" + }, + { + "key": "filius.software.www.WebBrowser", + "class": "filius.software.www.WebBrowser" + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -12272,7 +13504,19 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.www.WebBrowser", + "class": "filius.software.www.WebBrowser" + }, + { + "key": "filius.software.www.WebServer", + "class": "filius.software.www.WebServer", + "aktiv": true, + "port": 80, + "useVHost": false + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -12333,7 +13577,29 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.clientserver.ServerBaustein", + "class": "filius.software.clientserver.ServerBaustein", + "aktiv": true, + "port": 55555 + }, + { + "key": "filius.software.lokal.FileExplorer", + "class": "filius.software.lokal.FileExplorer" + }, + { + "key": "filius.software.lokal.TextEditor", + "class": "filius.software.lokal.TextEditor" + }, + { + "key": "filius.software.www.WebServer", + "class": "filius.software.www.WebServer", + "aktiv": true, + "port": 80, + "useVHost": false + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -12394,7 +13660,25 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.clientserver.ServerBaustein", + "class": "filius.software.clientserver.ServerBaustein", + "aktiv": true, + "port": 55555 + }, + { + "key": "filius.software.lokal.TextEditor", + "class": "filius.software.lokal.TextEditor" + }, + { + "key": "filius.software.www.WebServer", + "class": "filius.software.www.WebServer", + "aktiv": true, + "port": 80, + "useVHost": false + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -12476,7 +13760,18 @@ "directory": "root", "children": [] }, - "applications": [], + "applications": [ + { + "key": "filius.software.clientserver.ClientBaustein", + "class": "filius.software.clientserver.ClientBaustein", + "zielIPAdresse": "192.168.0.10", + "zielPort": 55555 + }, + { + "key": "filius.software.lokal.Terminal", + "class": "filius.software.lokal.Terminal" + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -13103,7 +14398,7 @@ ] } ], - "sha256": "7f0024da8cd8987be50324c0681a997ce9a63c8fbb35cfbfabfe35944fa3aa53" + "sha256": "4c317a0c4b2a4066f18c0e05602a4d0a886ace3ee9e1551dc2ae3ec44b22cde0" }, "java-examples/private_and_public_network.fls": { "success": true, @@ -13177,7 +14472,16 @@ "directory": "root", "children": [] }, - "applications": [], + "applications": [ + { + "key": "filius.software.lokal.Terminal", + "class": "filius.software.lokal.Terminal" + }, + { + "key": "filius.software.www.WebBrowser", + "class": "filius.software.www.WebBrowser" + } + ], "dhcpClient": true, "dhcpServer": { "aktiv": false, @@ -13238,7 +14542,19 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.www.WebBrowser", + "class": "filius.software.www.WebBrowser" + }, + { + "key": "filius.software.www.WebServer", + "class": "filius.software.www.WebServer", + "aktiv": true, + "port": 80, + "useVHost": false + } + ], "dhcpClient": true, "dhcpServer": { "aktiv": false, @@ -13425,7 +14741,22 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.dns.DNSServer", + "class": "filius.software.dns.DNSServer", + "aktiv": true, + "port": 53, + "recursiveResolutionEnabled": false + }, + { + "key": "filius.software.www.WebServer", + "class": "filius.software.www.WebServer", + "aktiv": true, + "port": 80, + "useVHost": false + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": true, @@ -13667,7 +14998,7 @@ ] } ], - "sha256": "db6b4a855c7ef1e768c28e76ac294138b6e87fe96955e36a667ae7e1201170db" + "sha256": "562765e044caf57606bd11c61f1c82a2faca1243a8ae22287f7055d0724162ae" }, "java-examples/private_und_public_networks_mit_provider_DE.fls": { "success": true, @@ -13741,7 +15072,16 @@ "directory": "root", "children": [] }, - "applications": [], + "applications": [ + { + "key": "filius.software.lokal.Terminal", + "class": "filius.software.lokal.Terminal" + }, + { + "key": "filius.software.www.WebBrowser", + "class": "filius.software.www.WebBrowser" + } + ], "dhcpClient": true, "dhcpServer": { "aktiv": false, @@ -13802,7 +15142,16 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.lokal.Terminal", + "class": "filius.software.lokal.Terminal" + }, + { + "key": "filius.software.www.WebBrowser", + "class": "filius.software.www.WebBrowser" + } + ], "dhcpClient": true, "dhcpServer": { "aktiv": false, @@ -13989,7 +15338,26 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.dns.DNSServer", + "class": "filius.software.dns.DNSServer", + "aktiv": true, + "port": 53, + "recursiveResolutionEnabled": true + }, + { + "key": "filius.software.lokal.TextEditor", + "class": "filius.software.lokal.TextEditor" + }, + { + "key": "filius.software.www.WebServer", + "class": "filius.software.www.WebServer", + "aktiv": true, + "port": 80, + "useVHost": false + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": true, @@ -14130,7 +15498,19 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.lokal.TextEditor", + "class": "filius.software.lokal.TextEditor" + }, + { + "key": "filius.software.www.WebServer", + "class": "filius.software.www.WebServer", + "aktiv": true, + "port": 80, + "useVHost": true + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -14184,7 +15564,15 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.dns.DNSServer", + "class": "filius.software.dns.DNSServer", + "aktiv": true, + "port": 53, + "recursiveResolutionEnabled": false + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -14629,7 +16017,7 @@ ] } ], - "sha256": "abc89889367fcc4f075242c20937e91adb19995b1e85ff8c275949e8b77186fb" + "sha256": "b4e9fe16d8f5c1281e215bf10a696089e92bbd590ae8f40d5438c15dc910858e" }, "java-examples/webserver.fls": { "success": true, @@ -14700,7 +16088,27 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.lokal.FileExplorer", + "class": "filius.software.lokal.FileExplorer" + }, + { + "key": "filius.software.lokal.ImageViewer", + "class": "filius.software.lokal.ImageViewer" + }, + { + "key": "filius.software.lokal.TextEditor", + "class": "filius.software.lokal.TextEditor" + }, + { + "key": "filius.software.www.WebServer", + "class": "filius.software.www.WebServer", + "aktiv": true, + "port": 80, + "useVHost": false + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -14749,7 +16157,16 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.lokal.Terminal", + "class": "filius.software.lokal.Terminal" + }, + { + "key": "filius.software.www.WebBrowser", + "class": "filius.software.www.WebBrowser" + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -14841,7 +16258,7 @@ } ], "documentation": [], - "sha256": "2e8080fae2900c1089c91e375a966ec82c580aa3157c65f59628fe10408e83ab" + "sha256": "477fabe62a6cc47f6dc6ce258aca7232f793302586decb185116df37cd70d890" }, "java-examples/zwei_rechnernetze_komplett.fls": { "success": true, @@ -15000,7 +16417,26 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.dns.DNSServer", + "class": "filius.software.dns.DNSServer", + "aktiv": true, + "port": 53, + "recursiveResolutionEnabled": false + }, + { + "key": "filius.software.lokal.FileExplorer", + "class": "filius.software.lokal.FileExplorer" + }, + { + "key": "filius.software.www.WebServer", + "class": "filius.software.www.WebServer", + "aktiv": true, + "port": 80, + "useVHost": false + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -15041,7 +16477,12 @@ "directory": "root", "children": [] }, - "applications": [], + "applications": [ + { + "key": "filius.software.www.WebBrowser", + "class": "filius.software.www.WebBrowser" + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -15114,7 +16555,19 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.www.WebBrowser", + "class": "filius.software.www.WebBrowser" + }, + { + "key": "filius.software.www.WebServer", + "class": "filius.software.www.WebServer", + "aktiv": true, + "port": 80, + "useVHost": false + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -15301,7 +16754,7 @@ } ], "documentation": [], - "sha256": "ece4089025f0c4c1e7ee39fef5b8fbcc62239a8a32e57c505f83750fc5c8e936" + "sha256": "260c514a36dc80b5b7458592da6c1f9f16bd33dd62515c4a568908799399d3db" }, "java-tests/einfaches_rechnernetz_komplett.fls": { "success": true, @@ -15334,7 +16787,12 @@ "directory": "root", "children": [] }, - "applications": [], + "applications": [ + { + "key": "filius.software.www.WebBrowser", + "class": "filius.software.www.WebBrowser" + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": false, @@ -15556,7 +17014,38 @@ } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.dns.DNSServer", + "class": "filius.software.dns.DNSServer", + "aktiv": true, + "port": 53, + "recursiveResolutionEnabled": false + }, + { + "key": "filius.software.lokal.FileExplorer", + "class": "filius.software.lokal.FileExplorer" + }, + { + "key": "filius.software.lokal.ImageViewer", + "class": "filius.software.lokal.ImageViewer" + }, + { + "key": "filius.software.lokal.Terminal", + "class": "filius.software.lokal.Terminal" + }, + { + "key": "filius.software.lokal.TextEditor", + "class": "filius.software.lokal.TextEditor" + }, + { + "key": "filius.software.www.WebServer", + "class": "filius.software.www.WebServer", + "aktiv": true, + "port": 80, + "useVHost": false + } + ], "dhcpClient": false, "dhcpServer": { "aktiv": true, @@ -16047,7 +17536,7 @@ } ], "documentation": [], - "sha256": "1358ba3d271cf02c256e9fa77058ac30494375cb7443e0c4a8d5cb46ee80bdeb" + "sha256": "28f265035f07ec5a81e5cb9f0fefbb408fc62f1b95844a26f21481555a236847" }, "java-tests/empty.fls": { "success": true, @@ -16115,10 +17604,110 @@ "length": null, "sha256": null, "children": [] + }, + { + "directory": "webserver", + "children": [ + { + "file": "index.html", + "type": "html", + "length": 10, + "sha256": "1a7a31edbcd19cbdb38d037b812263b75bca5f989061ff54716089ec634182d0", + "children": [] + } + ] + }, + { + "directory": "dns", + "children": [ + { + "file": "hosts", + "type": null, + "length": 22, + "sha256": "8bb915ff90cb674b075502550d8945c6f0c6c8deba4f6d996165610c98e25b78", + "children": [] + } + ] + }, + { + "directory": "peer2peer", + "children": [] } ] }, - "applications": [], + "applications": [ + { + "key": "filius.software.clientserver.ClientBaustein", + "class": "filius.software.clientserver.ClientBaustein", + "zielIPAdresse": "10.0.0.9", + "zielPort": 7777 + }, + { + "key": "filius.software.clientserver.ServerBaustein", + "class": "filius.software.clientserver.ServerBaustein", + "aktiv": true, + "port": 7777 + }, + { + "key": "filius.software.dateiaustausch.PeerToPeerAnwendung", + "class": "filius.software.dateiaustausch.PeerToPeerAnwendung", + "maxTeilnehmerZahl": 7 + }, + { + "key": "filius.software.dns.DNSServer", + "class": "filius.software.dns.DNSServer", + "aktiv": true, + "port": 5353, + "recursiveResolutionEnabled": true + }, + { + "key": "filius.software.firewall.Firewall", + "class": "filius.software.firewall.Firewall", + "activated": false, + "defaultPolicy": 1, + "dropICMP": true, + "filterSYNSegmentsOnly": false, + "filterUdp": false, + "rules": [ + [ + "10.0.0.0", + "255.0.0.0", + "", + "", + 22, + 6, + 1 + ] + ] + }, + { + "key": "filius.software.lokal.FileExplorer", + "class": "filius.software.lokal.FileExplorer" + }, + { + "key": "filius.software.lokal.ImageViewer", + "class": "filius.software.lokal.ImageViewer" + }, + { + "key": "filius.software.lokal.Terminal", + "class": "filius.software.lokal.Terminal" + }, + { + "key": "filius.software.lokal.TextEditor", + "class": "filius.software.lokal.TextEditor" + }, + { + "key": "filius.software.www.WebBrowser", + "class": "filius.software.www.WebBrowser" + }, + { + "key": "filius.software.www.WebServer", + "class": "filius.software.www.WebServer", + "aktiv": true, + "port": 8080, + "useVHost": true + } + ], "dhcpClient": true, "dhcpServer": { "aktiv": true, @@ -16407,6 +17996,6 @@ "font": null } ], - "sha256": "e56688890c714802d1c8256710ac800b99a6cc3c7b9467ae7c5e981124cc5fa9" + "sha256": "6d94879ad946a92c723e194ba5895eced6971e92438cad6991229062afa0cd1c" } } diff --git a/tools/java-oracle/README.md b/tools/java-oracle/README.md index 155596f..435fc48 100644 --- a/tools/java-oracle/README.md +++ b/tools/java-oracle/README.md @@ -36,13 +36,13 @@ virtuellen Bildschirm statt „headless". von Router und Heimrouter, DHCP-Client und -Server, die statische NAT-Tabelle des Heimrouters, die Verbindung eines Modems und das Dateisystem (Inhalte als Länge und SHA-256, damit die Referenz klein - bleibt; die Dateien von Router und Heimrouter erzeugt Javas Konstruktor aus - eigenen Vorlagen, sie stehen nicht in der Datei) und die installierten - Programme eines Rechners mit ihren Einstellungen (Klassen, die Filius + bleibt; bei Router und Heimrouter stehen vorn die Dateien, die Javas + Konstruktor aus eigenen Vorlagen erzeugt, dahinter die aus der Datei) und + die installierten Programme eines Rechners mit ihren Einstellungen (die + persönliche Firewall samt Regeln) (Klassen, die Filius nicht mitbringt — eigene Anwendungen im Archiv unter `projekt/anwendungen` — fehlen, weil das Werkzeug nur `konfiguration.xml` lädt); E-Mail: Konten des Servers aus der Bean-Liste und aus `/mailserver/konten.txt` (`kontenLaden`), Ordner und Adressbuch des Clients und sein Konto aus `/konten.txt` (`laden`); Kabel (Enden als Gerät/Schnittstelle), Doku-Elemente. - Systemsoftware, Dateisysteme und Anwendungen folgen schrittweise. ## Getter-Standardwerte diff --git a/tools/java-oracle/src/FlsOracle.java b/tools/java-oracle/src/FlsOracle.java index d5b8302..22d0688 100644 --- a/tools/java-oracle/src/FlsOracle.java +++ b/tools/java-oracle/src/FlsOracle.java @@ -309,17 +309,22 @@ public class FlsOracle { settings.put("dropICMP", firewall.getDropICMP()); settings.put("filterSYNSegmentsOnly", firewall.getFilterSYNSegmentsOnly()); settings.put("filterUdp", firewall.getFilterUdp()); - List rules = new ArrayList<>(); - for (FirewallRule rule : firewall.getRuleset()) { - rules.add(Arrays.asList(rule.srcIP, rule.srcMask, rule.destIP, rule.destMask, rule.port, - (int) rule.protocol, (int) rule.action)); - } - settings.put("rules", rules); + settings.put("rules", firewallRules(firewall)); json.put("firewall", settings); } return json; } + /** A firewall's rules, each as source, masks, destination, port, protocol and action. */ + static List firewallRules(Firewall firewall) { + List rules = new ArrayList<>(); + for (FirewallRule rule : firewall.getRuleset()) { + rules.add(Arrays.asList(rule.srcIP, rule.srcMask, rule.destIP, rule.destMask, rule.port, + (int) rule.protocol, (int) rule.action)); + } + return rules; + } + /** * The installed applications of a PC or notebook, by key: the class, and * the settings the topology layer reads. E-mail: the server's accounts as @@ -388,7 +393,7 @@ public class FlsOracle { json.put("dropICMP", firewall.getDropICMP()); json.put("filterSYNSegmentsOnly", firewall.getFilterSYNSegmentsOnly()); json.put("filterUdp", firewall.getFilterUdp()); - json.put("rules", firewall.getRuleset().size()); + json.put("rules", firewallRules(firewall)); } result.add(json); }