Good catch — both keys do the same thing, just different generations of
ConnMan config:
EnableOnlineCheck = false <- legacy boolean (deprecated)
OnlineCheckMode = none <- modern replacement
Per connman.conf(5), OnlineCheckMode "supercedes and deprecates"
EnableOnlineCheck, with possible values none / one-shot / continuous
(default: one-shot). So EnableOnlineCheck = false is effectively
OnlineCheckMode = none, and both stop the HTTP reachability probing that
triggers the leak.
Worth being explicit though: disabling the online check doesn't fix the
underlying leak, it just removes the trigger. The fd leak itself is in
plugins/wifi.c interface_removed() — it needs the upstream patch
(currently under review on the connman mailing list) to actually be fixed.
The config workaround just stops the retry loop from ever starting, which
is why it holds up in practice.
The extra keys in my config (empty OnlineCheckIPv4URL/IPv6URL/OnlineCheckURL,
OnlineCheckInterval = 0) are belt-and-braces against the WPAD/PAC path in
1.45, where a failed check switches to proxy auto-discovery and never falls
back to a direct request. That's the path producing the "no valid proxy"
retry storm. With OnlineCheckMode = none it shouldn't get there anyway.
One clarification on the timeline: this is not a LibreELEC issue to fix.
The patch is awaiting merge upstream in ConnMan itself. From there it
flows into distro releases (incl. LibreELEC builds) automatically.
Full write-up incl. the patch and verification data: