WiFi: allow connecting to open networks (no password)
Open
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 4.5k
- Forks
- 603
- Avg merge
- 23h 32m
- Merged PRs (30d)
- 59
Description
Problem
The appliance rejects WiFi connections to open (password-less) networks. Three layers enforce a password requirement:
- API (
api.rs:3905) —password.len() < 8check rejects empty passwords - Shell script (
wifi-connect.sh:36) — exits on empty PSK - NM keyfile (
wifi-connect.sh:59-62) — always writeskey-mgmt=wpa-psk
Fix
WifiReq.passwordis now#[serde(default)](optional, defaults to"")- API allows empty password (skip the 8-char minimum check)
- Shell script only requires non-empty SSID; PSK can be empty
- NM keyfile: omits
[wifi-security]section entirely for open networks - UI placeholder updated to indicate open networks are supported
Files changed
src/cognitum-agent/src/api.rs— serde default, relaxed validation, UI placeholderscripts/cognitum/wifi-connect.sh— conditional NM keyfile, safe JSON parsing
Test plan
- Connect to WPA2 network (existing behavior, should still work)
- Connect to open network via UI (leave password blank)
- Connect to open network via API:
POST /api/v1/wifi/connect {"ssid":"OpenNet"} - Verify NM keyfile has no
[wifi-security]section for open networks
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with src/cognitum-agent/src/api.rs around api.rs:3905, then inspect scripts/cognitum/wifi-connect.sh at lines 36 and 59-62. Check the existing WPA2 path before testing the listed UI and API open-network cases; done means WPA2 still works and open-network keyfiles omit [wifi-security].
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust, shell
- Domain
- backend, networking
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 55/100