No description
Find a file
vratk0529-arch-desktop 0669d4b02c influx: bound the request; db: escape SQL string literals
influx::write is synchronous and gets called from inside controllers'
control loops, so an InfluxDB that accepts a connection and then stops
answering blocked that loop indefinitely. ureq 2 puts timeouts on the
agent rather than the request, so there is now a shared agent with
connect/read/write bounds -- which also pools connections.

db::store_variable builds its SQL by formatting, with keys taken straight
from MQTT topics and values that can be arbitrary free text. A value
containing an apostrophe produced a syntax error that nearly every caller
discards with .ok(), so the write silently vanished. Single quotes are now
doubled on the way in.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-20 12:06:14 +02:00
src influx: bound the request; db: escape SQL string literals 2026-09-20 12:06:14 +02:00
.gitignore Initial test commit 2026-05-23 19:43:45 +02:00
Cargo.lock influx: bound the request; db: escape SQL string literals 2026-09-20 12:06:14 +02:00
Cargo.toml influx: bound the request; db: escape SQL string literals 2026-09-20 12:06:14 +02:00