Skip to content

v1.3.6

Choose a tag to compare

@Lu-Fi Lu-Fi released this 17 Jul 13:01

v1.3.6 — review hardening

Stabilitäts-, Sicherheits-, Performance- und Konformitätsfixes aus einem vollständigen Code-Review.

Security / Stabilität

  • RTSP: fd-Leak bei wiederholtem SETUP behoben (unauth. DoS)
  • OSD-Rasterizer: NULL-Check des Coverage-Puffers (Crash unter Speicherdruck)
  • gen_sdp: snprintf-Akkumulation gegen size_t-Underflow abgesichert
  • auth: konstantzeitige Credential-Vergleiche
  • httpd: negatives Content-Length abgewiesen; Snapshot/MJPEG-Header geklammert
  • config: runtime-mutable Strings gegen Torn-Reads gesperrt

Performance

  • hub_publish baut das Paket vor dem Lock (kein Publisher-Stall)
  • OSD-Scanline integer-begrenzt (vorher O(bbox) Soft-Float)
  • Timelapse/Snapshot interval-gegatet (Encoder nicht mehr 24/7 aktiv)
  • Piggyback-JPEG encodet mit Drain-Rate (kein ~80% Verschnitt)
  • fMP4: persistenter Per-Connection-Puffer (weniger Heap-Churn)
  • fanqueue: signal nach unlock; bei Overflow bis zum Keyframe durchdroppen

A/V-Konformität

  • AAC über RTP: korrekte Per-Fragment-AU-Header (RFC 3640)
  • fMP4: feste 1024-Sample-AAC-Dauer (kein MSE-A/V-Drift)
  • NAL-Iterator: Zero-Length-NALs überspringen statt abbrechen

Speicher / Robustheit

  • SRT: Client-Cap; reduzierte Fanqueue-Tiefe (begrenzter Pinned-RAM)
  • record: lstat + Depth-Bound beim Prunen; RING_MAX_BYTES überschreibbar
  • OSD: Font-Cache; retired-Puffer im Idle freigeben; /proc-Werte gecacht