Commit Graph
15 Commits
Author SHA1 Message Date
gurix b2bb5bdaf9 docs: document API security considerations and rate-limiting recommendation 2026-06-18 17:22:55 +02:00
gurix 8a46ff8487 refactor: locate project root by pyproject.toml marker 2026-06-18 17:20:51 +02:00
gurix 77f215be84 refactor: explicitly handle missing API key header 2026-06-18 17:20:01 +02:00
gurix 0472de5a5d fix: add SIGKILL fallback when SIGTERM does not stop the alarm 2026-06-18 17:17:56 +02:00
gurix 4d9f08f21f refactor: make blink_led non-blocking in the state machine 2026-06-18 17:09:10 +02:00
gurix dfc9f0cd94 feat: make alarm music file configurable via env var and CLI arg 2026-06-18 17:01:26 +02:00
gurix 434c49b609 refactor: move GPIO and pygame initialization into setup() 2026-06-18 16:58:57 +02:00
gurix 0621ab6190 chore: replace weak example API key with strong generated key 2026-06-18 16:53:15 +02:00
gurix 748a3be4b8 fix: validate cron expression before writing to crontab 2026-06-18 16:47:56 +02:00
gurix 1a8e4e2186 fix: verify /proc/PID/cmdline in isRinging to prevent PID reuse false positives 2026-06-18 16:45:52 +02:00
gurix b62a1d10c1 fix: rotate wecker.log to prevent unbounded growth 2026-06-18 16:41:30 +02:00
gurix d349478e07 fix: start wecker without shell=True 2026-06-18 16:38:58 +02:00
gurix 7e8e915024 fix: use fcntl file lock to prevent PID file race condition 2026-06-18 15:27:21 +02:00
gurix 058de8089c fix: use constant-time comparison for API key 2026-06-18 15:23:57 +02:00
gurix 124a6a4916 fix: remove custom command from setAlarm to prevent command injection 2026-06-18 15:23:14 +02:00