Hello all.
I would like to share the outcome of the discussion between GNOME and NM
developers
and the "Default DNS resolver" [1] Change for F23.
The full summary can be found here [2] and recording here [3] is anyone is
interested.
Integration points:
- Captive portal detection
- Captive portal handling
- User interaction
Points we agreed on:
* Captive portal detecion
* NM side
* NM will be the only daemon doing Captive portal detection
* NM moves connectivity check before NM_DEVICE_STATE_ACTIVATED, emits
signal before network is "up"
* If portal has been detected, NM blocks NM_DEVICE_STATE_ACTIVATED for a
specific device until there is no more portal
* NM regularly does the Captive portal detection (connectivity check) to
determine if the login using GNOME was already done
* Once the login was done and Internet connectivity is detected, NM
triggers some event in nm-dispatcher (or something like that)
* GNOME side
* GNOME Shell does not do detection itself, but relies on the NM (as
already done)
* GNOME is watching the change of "connectivity state" property in NM
* dnssec-trigger side
* Does not do any detection
* does not do any user interaction
* Only relies on events triggered by NM and acts based on the connectivity
status
* Captive portal handling (login)
* GNOME side
* If Captive portal is detected, then browser window is launched
* The browser window ls launched with LD_PRELOAD
(https://github.com/hadess/resolvconf-override) as resolv.conf override
* GNOME should fetch the connection-provided DNS servers using NM API
(existing) and use those for LD_PRELOAD solution
* dnssec-trigger side
* does not do any user interaction
* Only relies on events triggered by NM and acts based on the connectivity
status
* User interface / user interaction
* Fedora Workstation product
* GNOME shell
* informs the user about the Captive portal
* launches the window
* dnssec-trigger
* the applet will be split into separate package and not installed by
default (already done)
* if all falbacks fail, it switches automatically to "Insecure" mode (no
DNSSEC validation) without user interaction
* automatic switch to insecure mode will be possible to turn off using
configuration file for expert users
* a notification can be emited about switching to insecure mode (so far
by default OFF)
* Other desktops / Spins
* dnssec-trigger applet
* should handle the UI that is usually handled by GNOME Shell (if there
is not any specific Spin implementation to do that, i.e. if GNOME is not in use)
* Captive portal detection will be still done in NM
* under discussion:
* notification can be turned OFF by default, but configurable in config file
for expert users - unfortunatelly this will not create pressure on admins to
fix the networks
* alternative: display a message which will say that local network is broken
and that admin should be woken up:
* 'Your network is seriously broken. Go and kick your network admin NOW!
* This broken network will stop working from Fedora 24 on because it does
not support DNSSEC. (Tell this to your admin!)'
[1] https://fedoraproject.org/wiki/Changes/Default_Local_DNS_Resolver
[2] https://www.piratepad.ca/p/default-dns-resolver-f23
[3] https://bluejeans.com/s/8pTY/
Regards,
--
Tomas Hozza
Software Engineer - EMEA ENG Developer Experience
PGP: 1D9F3C2D
Red Hat Inc. http://cz.redhat.com
--
devel mailing list
[email protected]
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct