Gedankenstriche durch Bindestriche ersetzt
Prüfung / Lint, Typen, Tests (push) Canceled after 0s
Prüfung / Images bauen (pdf) (push) Canceled after 0s
Prüfung / Images bauen (web) (push) Canceled after 0s
Prüfung / Images bauen (worker) (push) Canceled after 0s
Images / bauen (pdf, docker/pdf.Dockerfile) (push) Canceled after 0s
Images / bauen (web, docker/web.Dockerfile) (push) Canceled after 0s
Images / bauen (worker, docker/worker.Dockerfile) (push) Canceled after 0s

375 Vorkommen in 210 Dateien. Betrifft Kommentare, Oberflaechentexte und die
README; an keiner Stelle Bedeutung, nur Zeichensetzung.
This commit is contained in:
Harlekin
2026-09-04 08:54:52 +02:00
parent 38be773636
commit e0b03ea336
210 changed files with 368 additions and 368 deletions
+3 -3
View File
@@ -8,7 +8,7 @@ import { deliveryFileName } from '@/lib/files/delivery'
* Die Typprüfung ist die Stelle, an der eine feindselige Datei auffallen muss.
*
* Geprüft wird deshalb nicht nur, dass die erlaubten Formate durchkommen,
* sondern vor allem, dass die verbotenen es **nicht** tun — und zwar auch
* sondern vor allem, dass die verbotenen es **nicht** tun - und zwar auch
* dann, wenn sie sich als erlaubte ausgeben.
*/
@@ -46,7 +46,7 @@ describe('Erkennung erlaubter Typen', () => {
describe('Abwehr', () => {
it('lehnt SVG ab, auch wenn es wie Text aussieht', () => {
// Der eigentliche Grund für die ganze Kette: SVG führt im Browser Skripte
// aus. Es ist gültiges UTF-8 und käme sonst als text/plain durch — das ist
// aus. Es ist gültiges UTF-8 und käme sonst als text/plain durch - das ist
// in Ordnung, denn als Text wird es nie gerendert, sondern ausgeliefert
// mit Content-Disposition: attachment.
const svg = text('<svg xmlns="http://www.w3.org/2000/svg"><script>alert(1)</script></svg>')
@@ -129,7 +129,7 @@ describe('Ablagepfade', () => {
it('lässt keinen Pfad aus dem Dateiverzeichnis heraus', () => {
process.env.FILES_DIR ??= '/tmp/afis-test-files'
// Kommt aus der Datenbank, nicht aus einer Eingabe — aber ein
// Kommt aus der Datenbank, nicht aus einer Eingabe - aber ein
// Verzeichniswechsel wäre der teuerste Fehler an dieser Stelle.
expect(() => absolutePath('../../etc/passwd')).toThrow()
expect(() => absolutePath('store/../../../etc/passwd')).toThrow()