Fix bugs from a full audit: Tailscale recovery, SSID verification, captive portals, config races
The watch loop could spin forever on a stopped Tailscale daemon (the
auto-start path was unreachable) while re-notifying every retry, report
"connected" when NM autoconnect won a race onto a different SSID, and
classify captive portals as healthy (200/302 accepted as internet). The
bread-bus subscription thread also read/wrote config and state files
concurrently with the watch loop. Fix all of those plus: EDITOR values
with arguments, scan --to silently ignoring unknown profiles, deleted
core profiles being resurrected, inline-network migration data loss,
login never retried, XDG-unaware install-service, detect persisting a
stale default profile, password length leaking through the mask, a
stdin/stdout pipe deadlock, and several minor UI/robustness issues.
Generated with Codebuff 🤖
Co-Authored-By: Codebuff <noreply@codebuff.com>
This commit is contained in:
parent
02e96126e0
commit
c02360a873
12 changed files with 538 additions and 189 deletions
|
|
@ -317,7 +317,10 @@ fn install_service_no_enable_writes_valid_unit_file() {
|
|||
let o = sb.cmd(&["install-service", "--no-enable"]);
|
||||
assert!(o.status.success(), "stderr: {}", stderr(&o));
|
||||
|
||||
let unit_path = sb.root.join(".config/systemd/user/breadcrumbs.service");
|
||||
// The sandbox sets XDG_CONFIG_HOME=$root/config, so the unit lands
|
||||
// under $XDG_CONFIG_HOME/systemd/user — the whole point of the fix is
|
||||
// honoring XDG rather than hardcoding ~/.config.
|
||||
let unit_path = sb.root.join("config/systemd/user/breadcrumbs.service");
|
||||
assert!(unit_path.exists());
|
||||
let text = fs::read_to_string(unit_path).unwrap();
|
||||
assert!(text.contains("ExecStart="));
|
||||
|
|
@ -423,6 +426,8 @@ case "$args" in
|
|||
"device wifi rescan"*) ;;
|
||||
"-t -f SSID device wifi list ifname wlan0")
|
||||
echo "TestNet" ;;
|
||||
"-t -f ACTIVE,SSID device wifi list ifname wlan0")
|
||||
echo "yes:TestNet" ;;
|
||||
"-t -f NAME,TYPE connection show")
|
||||
if [ -f "$marker" ]; then
|
||||
echo "TestNet:802-11-wireless"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue