Skip to content

v1.1.0 — Security hardening, bug fixes, ONVIF/RTSP stability

Choose a tag to compare

@Temporalwar Temporalwar released this 29 May 21:35
b953534

What's New in v1.1.0

This release is a major stability and security overhaul. All changes have been tested on a live Yi Home 1080p camera (Hi3518ev200).


Bug Fixes

Camera & ONVIF

  • Fixed camera on/off state not persisting across reboots — camera would get stuck permanently off after toggling via web UI
  • Fixed ONVIF never starting on fresh installs — onvif_simple_server was not on PATH, now auto-copied to bin/ on boot
  • Fixed WS-Discovery (wsd_simple_server) not starting automatically — now correctly controlled by the ONVIF_WSDD=yes config key on boot

RTSP

  • Fixed RTSP watchdog locked-process detection — $RTSP_PORT typo in wd_rtsp.sh meant a frozen stream was never detected or recovered

Web UI / CGI

  • Fixed all camera settings (LED, IR, motion sensitivity, rotation, sound detection) not persisting across reboots — settings written to web UI were never saved to camera.conf
  • Fixed motion detection and AI human detection having no CGI handlers despite being ONVIF event sources

Shell Scripts

  • Fixed 13 additional shell/CGI bugs in the original firmware including cron entry overwrites, undefined variables, broken path traversal guards, wrong config key reads, and missing grep anchors

Config Templates

  • Fixed missing CAMERA_ENABLED key in system.conf default template
  • Fixed 7 missing keys in camera.conf default template that web UI could write but boot scripts could never restore

Build System

  • Upgraded CMake to 3.25.3 in the Docker build environment — mosquitto 2.1.x requires CMake 3.18+ and Ubuntu 18.04 only ships 3.10.2
  • Fixed mosquitto GTest configure failure during cross-compilation — find_package(GTest) in mosquitto's top-level CMakeLists.txt is now patched out at configure time
  • Fixed OpenSSL library paths for CMake 3.25 strict path resolution
  • Fixed cJSON CMake variable names (CJSON_INCLUDE_DIR / CJSON_LIBRARY singular) for mosquitto 2.1.x compatibility
  • Fixed TC_BIN path in build.sh — was pointing to non-existent target/bin/ instead of bin/
  • Fixed CMake sysroot in hisiv300.cmake — was pointing to target/armv5te_arm9_soft/ causing crt1.o not found errors

Updated Packages

Package Original Updated
OpenSSL 1.1.x (EOL) 3.3.7
curl 7.86.0-DEV 8.20.0
dropbear 2018.76 2026.91
mosquitto 1.5.8 2.1.2
pure-ftpd 1.0.47 1.0.54
libfuse3 3.4.2 3.18.2
cJSON 1.7.18

UniFi Protect

ONVIF and WS-Discovery are functional. However auto-discovery will not work if your camera is on a different VLAN or subnet than your UniFi controller — WS-Discovery uses multicast which does not cross subnet boundaries.

To add the camera manually in UniFi Protect:

  • IP: your camera's IP address (check your router's DHCP table)
  • Port: 8080
  • Username: admin

Known Issues

  • Two wd_rtsp.sh instances may appear in ps output after the first boot — clears automatically on the next reboot
  • UniFi Protect full adoption not verified across all network topologies — ONVIF configuration completes correctly but camera adoption depends on your specific setup