lsa-planer

LSA-Planer Professional – Planungssoftware für Lichtsignalanlagen nach RiLSA 2015 und § 45 StVO. EUPL-1.2.

/ shared verweise.ts

2,7 KB Rohdatei
shared/verweise.ts — 56 Zeilen
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';