Commit Graph

11 Commits

Author SHA1 Message Date
user
c76c1ee61b feat: OTA TLS cert verification + CI release pipeline
Some checks failed
Lint & Build / Security Flaw Analysis (push) Successful in 15s
Lint & Build / Secret Scanning (push) Successful in 5s
Lint & Build / C/C++ Static Analysis (push) Failing after 34s
Lint & Build / Build Firmware (push) Has been skipped
Wire ESP-IDF's built-in 150-CA root bundle to the OTA HTTP client
so HTTPS OTA verifies server certificates. Pin bundle config in
sdkconfig.defaults. Replace dead artifact-copy step with Gitea
release creation on tag push. Bump CI container to IDF v5.5.
2026-02-14 22:38:41 +01:00
user
0bcb5ddf0c fix: Enable stack canaries, heap poisoning, WDT panic; remove dead code
- CONFIG_COMPILER_STACK_CHECK_MODE_NORM=y (buffer overflow detection)
- CONFIG_HEAP_POISONING_LIGHT=y (use-after-free/corruption detection)
- CONFIG_ESP_TASK_WDT_PANIC=y (auto-reboot on hung task)
- Remove unused #include "esp_now.h" (CVE-2025-52471 mitigation)
- Replace hardcoded default IP 192.168.129.11 with 0.0.0.0 in Kconfig
2026-02-14 22:16:13 +01:00
user
57927c7c22 fix: Address P2 security audit findings
- VULN-012: Split STATUS into minimal (unauthed: hostname, uptime,
  rssi, version, motion, presence) and full (authed: all internals,
  build info, target IP, heap, NVS stats)
- VULN-011: Remove mDNS service advertisement and hardcoded "ESP32 CSI
  Sensor" instance name; use hostname only
- VULN-021: Increase HMAC tag from 64 bits (16 hex) to 128 bits
  (32 hex) — BREAKING: client scripts must update HMAC computation
- VULN-023: Enable PMF (802.11w) in sdkconfig.defaults to prevent
  deauth attacks at protocol level
2026-02-14 20:10:14 +01:00
user
ebc8a00b46 feat: Auto-generate auth secret and enforce HMAC on privileged commands
- Generate 128-bit random auth secret on first boot via hardware RNG,
  persist to NVS, log to serial for retrieval
- Gate destructive commands (OTA, FACTORY, REBOOT, TARGET, AUTH,
  HOSTNAME set) behind HMAC authentication
- Read-only and operational commands remain open for monitoring
- Require WPA2/WPA3 for WiFi AP association (reject open/WEP)
2026-02-14 18:36:31 +01:00
user
eb4c3d1657 feat: Add build metadata to STATUS, enable size optimization
STATUS now includes built=, idf=, chip= fields for diagnostics.
Switch to -Os compiler optimization (saves ~75 KB).
2026-02-05 22:42:45 +01:00
user
47db176619 feat: Add POWERSAVE command with DFS + light sleep (v1.6)
Enable ESP-IDF power management framework (DFS 240/80 MHz + light sleep)
and add POWERSAVE command to toggle WiFi modem sleep. NVS-persisted,
default off. Automatically disabled during POWERTEST.
2026-02-04 22:34:13 +01:00
user
46d53ae71a feat: Enable FreeRTOS CPU runtime stats, increase cmd_task stack to 6KB
Enable CONFIG_FREERTOS_USE_TRACE_FACILITY and
CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS so PROFILE command reports
per-task CPU usage. Increase cmd_task stack from 4KB to 6KB — was
down to 516 bytes free with current PROFILE reply size.
2026-02-04 20:06:40 +01:00
user
7ec70a653d feat: Add PROFILE command — heap, stack watermarks, CPU runtime stats
- PROFILE command returns heap usage (free/min/dram/iram),
  per-task stack high watermark, and per-task CPU % (when
  CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is enabled)
- Enable FreeRTOS runtime stats in sdkconfig.defaults
- Enlarge cmd reply buffer to 1400 bytes for multi-line output
- Add esp_heap_caps.h include
2026-02-04 17:59:30 +01:00
user
81c4337646 feat: Add v0.5 BLE scanning — NimBLE passive scan, BLE_DATA UDP stream
- NimBLE stack init with passive BLE scanning
- BLE ON/OFF command with NVS persistence
- BLE_DATA,<mac>,<rssi>,<pub|rnd>,<name> UDP packets
- 30s periodic scan restart to refresh duplicate filter
- ble= field in STATUS reply
- sdkconfig: enable BT+NimBLE, BLE-only mode, disable Bluedroid
2026-02-04 17:40:20 +01:00
user
d65ac208b9 feat: Add v0.3 OTA updates — dual partition, esp-ota tool, rollback
Dual OTA partition table (ota_0/ota_1, 1920 KB each) on 4MB flash.
Firmware gains OTA command, LED_OTA double-blink, version in STATUS,
and automatic rollback validation. Pi-side esp-ota tool serves firmware
via HTTP and orchestrates the update flow. esp-fleet gains ota subcommand.
2026-02-04 16:19:09 +01:00
user
298e98befb feat: Initial esp32-hacking project with firmware sources and docs 2026-02-04 12:59:28 +01:00