diff --git a/CHANGELOG.md b/CHANGELOG.md index bd3a21c..0addc2f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -84,6 +84,16 @@ und dieses Projekt folgt [Semantic Versioning](https://semver.org/lang/de/). Anführungszeichen und Zeilenumbrüchen im Wert zurecht (#011) - Die Seitenleiste führt Personen und Geräte unter einem Eintrag; ein Umschalter wechselt zwischen beiden Listen (#011) +- Platzhalter werden aufgelöst: eingebaute Werte aus Gerät, Lauf, Mitarbeiter und Abteilung, dazu + die Variablen der Vorlage. Ein unbekannter Platzhalter bleibt sichtbar stehen, statt still zu + verschwinden (#012) +- `{{ou}}` einer Person aus dem Verzeichnis ist der Eltern-Container ihres DN — genau der Pfad, den + ein `New-ADUser -Path` braucht (#012) +- Namensregeln für `upn`, `sam`, `mail` und `hostname` mit Transliteration, `{v}`, `{nnn}` und + `{kundenkuerzel}`; im Modus Dienstleistung überlagern Kundenregeln die globalen Feld für Feld + (#012) +- „Alle Befehle als Skript kopieren“ je Abschnitt: die Befehle in Reihenfolge, je mit einer + Kommentarzeile darüber und dem Zeilenumbruch der jeweiligen Shell (#012) ### Sicherheit @@ -140,3 +150,12 @@ und dieses Projekt folgt [Semantic Versioning](https://semver.org/lang/de/). - Ein Gerät, an dem Läufe hängen, lässt sich nicht löschen, nur archivieren (#011) - Der Tag-Code entsteht beim Anlegen, steht sofort im Vergabebuch und lässt sich nie ändern — beides in einer Transaktion, damit kein Code ohne Eintrag entsteht (#011) +- Werte werden für die jeweilige Shell maskiert, bevor sie in einen Befehl kommen: PowerShell + verdoppelt `"` und Backtick und entschärft `$`, Bash setzt einfache Anführungszeichen. Für Cmd + wird ein Wert mit `"` oder Zeilenumbruch **abgelehnt** statt unsicher maskiert — dort gibt es + keine Regel, die in jedem Fall stimmt (#012) +- `{{generiertes_passwort}}` entsteht bei jeder Anzeige neu, besteht aus 20 Zeichen ohne + verwechselbare Buchstaben und wird nirgends gespeichert; in der Druckansicht steht + `[Passwort – nicht gespeichert]` (#012) +- Ein eingesetzter Wert wird nicht doppelt maskiert: React maskiert Textknoten selbst, und ein Test + am gerenderten HTML hält fest, dass ein `", + }); + const html = renderToStaticMarkup(