[Bug] Some applications require "online" network state before working
Just noticed that at least email application and android sub-system require that system is in "online" network state before they work correctly. The standard browser worked ok, webcat browser also works incorrectly. This is a bad idea because system can stay in "ready" state and still have internet connectivity.
Example:
- connect to hotel AP that requires portal login
- connman is now in "ready" state (because we have a network connection)
- connman asks RequestBrowser from agent API (as there was no wispr support in portal)
- browser is started and connman is returned ok status
- connman tries to check if internet access can be done, but that fails because user has not yet logged in to the portal
- after user has logged in, the internet can be accessed
- system still stays in "ready" state as connman does the online check only once and it does not know when user has logged in successfully via browser
As a workaround, one can disconnect and the re-connect to AP to trigger online check and hope that the portal does not require re-authentication. Anyway, this is very annoying and normal user probably does not understand that he needs to do something like this.
Best option would be that system does not expect the "online" state. Other option would be that system returns ok status to connman after user has logged in via browser. This is probably more difficult to implement.
I believe this can also lead to issues at boot, as systemd attempts to mount my NFS shares in /etc/fstab at boot, but consistently fails as the specifications of network-online.target haven't been reached (network interfaces are configured), contrary to what connman signals.
The network targets I'm referring to are referenced here: http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/
Additionally NetworkManager recently implemented network-online.target support, which might or might not be of interest: https://bugzilla.redhat.com/show_bug.cgi?id=1119787
Michael Reed ( 2014-09-10 23:22:23 +0200 )edit