portalHelper: Address intermittent TLS failures

Users are currently experiencing intermittent (and hard to debug) TLS
errors when loading the portal authentication page. This could be
caused by using http://www.gnome.org/ for our connectivity checks
because it redirects to HTTPS.

We can completely remove TLS from the equation by not using HTTPS.
http://nmcheck.gnome.org/ is a good choice because it doesn't redirect
to HTTPS and was created for NetworkManager's connectivity check.

https://bugzilla.gnome.org/show_bug.cgi?id=769940
This commit is contained in:
Debarshi Ray 2016-10-24 15:20:26 +02:00
parent 3d6bf43649
commit 9ea8fdc1d1

View File

@ -50,7 +50,7 @@ const PortalWindow = new Lang.Class({
this.parent({ application: application }); this.parent({ application: application });
if (!url) { if (!url) {
url = 'http://www.gnome.org'; url = 'http://nmcheck.gnome.org';
this._originalUrlWasGnome = true; this._originalUrlWasGnome = true;
} else { } else {
this._originalUrlWasGnome = false; this._originalUrlWasGnome = false;
@ -112,12 +112,12 @@ const PortalWindow = new Lang.Class({
let uri = new Soup.URI(request.get_uri()); let uri = new Soup.URI(request.get_uri());
if (!uri.host_equal(this._uri) && this._originalUrlWasGnome) { if (!uri.host_equal(this._uri) && this._originalUrlWasGnome) {
if (uri.get_host() == 'www.gnome.org' && this._everSeenRedirect) { if (uri.get_host() == 'nmcheck.gnome.org' && this._everSeenRedirect) {
// Yay, we got to gnome! // Yay, we got to gnome!
decision.ignore(); decision.ignore();
this._doneCallback(PortalHelperResult.COMPLETED); this._doneCallback(PortalHelperResult.COMPLETED);
return true; return true;
} else if (uri.get_host() != 'www.gnome.org') { } else if (uri.get_host() != 'nmcheck.gnome.org') {
this._everSeenRedirect = true; this._everSeenRedirect = true;
} }
} }