Skip to content

Commit 8ca5190

Browse files
committed
say it in one line
1 parent a6536d4 commit 8ca5190

2 files changed

Lines changed: 5 additions & 15 deletions

File tree

README.md

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -215,16 +215,8 @@ esptool --port /dev/ttyUSB0 erase-region 0x9000 0x6000
215215

216216
That takes every stored setting with it and the device returns to build-time defaults.
217217

218-
Saving the lock requires a password to already be set. Be clear about what that does and does
219-
not buy: it guards against fusing the device by accident, and it is not a security control.
220-
Anyone who can reach an unprotected settings page can set the password and the fuse in the same
221-
request, and post-fuse the password gates nothing, because the page is gone and `/metrics` was
222-
always open.
223-
224-
The real control is the network. An unprotected settings page means whoever can reach it owns
225-
the device, fuse included. Set a password, or keep the management port off any network you do
226-
not trust. If you want a lock that survives a hostile actor on the network, it has to require
227-
physical presence, which this does not.
218+
Locking needs a password set first, which only stops you doing it by accident. Anyone who can
219+
reach an unprotected page owns the device, fuse included.
228220

229221
### If a setting makes the device unreachable
230222

components/config/config_store.c

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -124,11 +124,9 @@ const cfg_field_t g_cfg_fields[CFG_COUNT] = {
124124
.sdef="", .help="Blank leaves this page open to anyone on the network." },
125125
[CFG_UI_LOCK] = { .key="ui.lock", .label="Lock settings permanently", .group="System", .type=CF_BOOL,
126126
.imin=0, .imax=1, .idef=0,
127-
.help="One way. Saving this removes the settings page for good; only erasing "
128-
"the NVS partition over USB brings it back. Metrics keep working. "
129-
"A password must be set first, which guards against fusing this by "
130-
"accident, not against anyone hostile: whoever can reach an "
131-
"unprotected page can set the password and the fuse in one request." },
127+
.help="One way. Removes the settings page for good; only erasing NVS over "
128+
"USB brings it back. Metrics keep working. Needs a password set "
129+
"first, which only stops you doing this by accident." },
132130

133131
[CFG_DISP_EN] = { .key="disp.en", .label="Enable display", .group="Display", .type=CF_BOOL,
134132
.imin=0, .imax=1, .idef=DEF_DISP_EN, .reboot=true },

0 commit comments

Comments
 (0)