Closed Bug 786741 Opened 9 years ago Closed 3 years ago

Wifi: Investigate not using wpa_supplicant.conf for configuration

Categories

(Firefox OS Graveyard :: Wifi, defect, P1)

ARM
Android
defect

Tracking

(blocking-basecamp:-, tracking-b2g:backlog)

RESOLVED WONTFIX
blocking-basecamp -
tracking-b2g backlog

People

(Reporter: mrbkap, Unassigned)

References

Details

Right now, all settings for wifi (networks and passwords, mainly) are stored in wpa_supplicant.conf, which is read on startup by the wpa_supplicant. This has a bunch of advantages and disadvantages. Especially with bug 786700, we're going to eventually want to store things about wifi networks that aren't supported natively by wpa_supplicant, which means we're going to need a way of linking wpa_supplicant-specified networks to other settings. A question that's come up in the past is whether we want to store all of this information ourselves. We should decide whether or not to here.

Here are the pros that I see:
  * Store more/arbitrary info (e.g. static IP settings).
  * More control over what gets saved where and when.
  * We can encrypt the passwords that we store.

Against:
  * Breaks user expectations (Android specifically has code to allow people to specify custom networks in wpa_supplicant and also tries to be resilient in the case of oddness happening via wpa_cli).
    * Though perhaps we could read wpa_supplicant.conf on first boot and sync it with our settings?
  * We are going to have to write code to do settings stuff that wpa_supplicant already does for us.

Thoughts and things I missed are welcome.
This is a tough call in that it doesn't really matter at all to users of phones, until one gets in the wrong hands and someone steals passwords etc. But given how sensitive that information is, it certainly feels wrong to ship a device where it's easy to steal sensitive information, so I'm going to block on this.
blocking-basecamp: ? → +
The default shell configuration won't give root perms (nor should it allow adb debug mode), so random people plugging phones into USB won't be able to read wpa_supplicant.conf.
blocking-basecamp: + → ?
I verified that I can't read wpa_supplicant.conf in my unrooted Galaxy Nexus (4.1.1).
--- whups, hit enter too soon --- would be worth double-checking in a 4.0.4 build too.
Discussion with Blake indicates this should not block Basecamp but is something we should do in the future.
blocking-basecamp: ? → -
blocking-kilimanjaro: ? → +
(In reply to Chris Jones [:cjones] [:warhammer] from comment #3)
> I verified that I can't read wpa_supplicant.conf in my unrooted Galaxy Nexus
> (4.1.1). [...] would be worth double-checking in a 4.0.4 build too.

On my unrooted ASUS Transformer Prime tablet (4.0.3) I *can* read wpa_supplicant.conf:

shell@android:/ $ cat /etc/wifi/wpa_supplicant.conf
update_config=1
ctrl_interface=wlan0
eapol_version=1
ap_scan=1
fast_reauth=1
(In reply to Andrew Overholt [:overholt] from comment #6)
> shell@android:/ $ cat /etc/wifi/wpa_supplicant.conf

This is actually by design. /etc/wifi/wpa_supplicant.conf is a skeleton that can be used to generate a valid /data/misc/wifi/wpa_supplicant.conf, so it won't have any sensitive data in it. It's only the latter, generated, file that we need to protect.
Shouldn't this be reassigned to Wifi component?
Component: DOM: Device Interfaces → Wifi
Product: Core → Firefox OS
blocking-b2g: --- → backlog
blocking-kilimanjaro: + → ---
blocking-b2g: backlog → ---
Firefox OS is not being worked on
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.