lsa-planer
LSA-Planer Professional – Planungssoftware für Lichtsignalanlagen nach RiLSA 2015 und § 45 StVO. EUPL-1.2.
| 1 | /** |
| 2 | * Die Adressen, die aus dem Programm herausfuehren - an EINER Stelle. |
| 3 | * |
| 4 | * Sie stehen hier und nicht im Hauptprozess, weil beide Seiten sie brauchen, |
| 5 | * aber zu verschiedenem: Der Hauptprozess OEFFNET sie, die Oberflaeche NENNT |
| 6 | * eine davon im Text. Artikel 3 der EUPL verlangt, dass der Vermerk auf den |
| 7 | * Quellcode lesbar dasteht - also muss die Oberflaeche die Adresse kennen. |
| 8 | * Stuende sie dort ein zweites Mal, liefen beide Staende auseinander, und eine |
| 9 | * falsche Adresse waere schlimmer als keine. |
| 10 | * |
| 11 | * DASS DIE OBERFLAECHE SIE KENNT, IST KEIN SICHERHEITSPROBLEM. Der Kanal |
| 12 | * `IPC.oeffneVerweis` nimmt einen SCHLUESSEL entgegen und keine Adresse; was |
| 13 | * geoeffnet wird, entscheidet allein der Hauptprozess anhand dieser Tafel. Der |
| 14 | * Unterschied ist der springende Punkt: Die Oberflaeche darf die Adresse |
| 15 | * lesen, aber nicht bestimmen. Naehme der Kanal eine Adresse entgegen, koennte |
| 16 | * ueber jeden Weg, der Projektdaten in die Oberflaeche traegt, eine fremde |
| 17 | * Datei bestimmen, was `shell.openExternal` startet - und genau so liess sich |
| 18 | * im Altbestand beliebiger Kode ausfuehren. |
| 19 | * |
| 20 | * KEINE VERFOLGUNGSPARAMETER, keine Kennung, kein `?ref=`. Wer einen dieser |
| 21 | * Verweise anklickt, teilt dem Ziel nichts mit, das er nicht ohnehin mitteilte, |
| 22 | * indem er die Adresse eintippt. Bewacht von |
| 23 | * `tests/tools/verweiseNachDraussen.test.ts`. |
| 24 | */ |
| 25 | |
| 26 | import type { Verweisziel } from './ipc'; |
| 27 | |
| 28 | export const VERWEISADRESSEN: Readonly<Record<Verweisziel, string>> = { |
| 29 | /** |
| 30 | * Die Seite des Programms - dieselbe wie im Hilfemenue: seine Akte auf der |
| 31 | * Internetseite des Herausgebers, mit Fassung, Paketen, Lizenz, Quelltext |
| 32 | * und Datenschutzhinweisen. Seit 5.43.1. |
| 33 | */ |
| 34 | internetseite: 'https://olaf-willerding.de/projekte/lsa-planer-professional', |
| 35 | /** |
| 36 | * Der Quellcode. Artikel 3 der EUPL verlangt bei der Weitergabe von |
| 37 | * ausfuehrbarem Kode entweder den Quellcode selbst oder einen Vermerk auf |
| 38 | * einen Speicherort. Der Vermerk steht im "Über"-Fenster, im Abschnitt |
| 39 | * "Rechtliches" der README und in QUELLCODE.txt neben der Programmdatei - |
| 40 | * und alle drei nennen DIESE Adresse. |
| 41 | */ |
| 42 | quellcode: 'https://www.olaf-willerding.de', |
| 43 | /** Die Unterstuetzungsseite - freiwillig, siehe das "Über"-Fenster. */ |
| 44 | unterstuetzung: 'https://ko-fi.com/olafwillerding', |
| 45 | }; |
| 46 | |
| 47 | /** |
| 48 | * Die Kontaktadresse des Herausgebers - an EINER Stelle im Programm. |
| 49 | * |
| 50 | * Das "Über"-Fenster nennt sie in der Kontaktzeile. Sie steht nicht in |
| 51 | * `VERWEISADRESSEN`: Das ist die Tafel dessen, was der Hauptprozess im |
| 52 | * Browser OEFFNET, und dort ist nur https zugelassen |
| 53 | * (`tests/tools/verweiseNachDraussen.test.ts`). Dieselbe Adresse fuehrt |
| 54 | * package.json als `author.email`. |
| 55 | */ |
| 56 | export const KONTAKTADRESSE = 'olaf@olaf-willerding.de'; |