Unable to reproduce on an older portable, fresh upgrade to 33.5.0 with pre-existing cookies.
Link followed, it redirects to the gitlab login page, but the cookies database is left intact, even with it writing a new permissions cookie for the site to it.
Was able to reproduce with the cookie database with pre-existing gitlab.io cookies (finally).
The issue seems to be that if cookies already exist with a gitlab.io baseDomain in the db, and it finds a redirect trying to set cookies on curben.gitlab.io/projects.gitlab.io from https headers, with the new eTLD list, this baseDomain should be curben.gitlab.io/projects.gitlab.io respectively according to the new rules. I'm not sure why this does not gracefully recover in gitlab.io's case, specifically. It seems to be fine elsewhere...
EDIT: Some research later...
Looks like this is a combination of unfortunate changes working in tandem:
- baseDomain use was removed in Firefox, so this no longer impacts Mozilla-land
- No.1 depends on no longer lazily loading the cookie service (which was added in Moz's never-ending chase of shorter start-up times, no matter that cookies are so ubiquitus that you always need the service anyway... Thankfully that can be followed with the change fairly close to our fork point (Firefox 58) so that should not be too difficult bug #870460
- The public suffix list (PSL) has been morphed/redefined into something it was not really meant/designed for: it is now a way to peddle subdomain vendors' domain segregation (gitlab.io is also guilty of that). Mozilla didn't run into this issue we are having now because this wasn't common practice before they dropped the baseDomain concept.
So, at the moment, the update to the PSL clashes with something we are still using to look up cookies as it changes data out from under us, and until we stop using baseDomain as our index, we risk issues with the cookies db with a PSL update. Mozilla users also ran into our issue though, so they did get blindsided similarly.
Either way, this can be fixed by not relying on baseDomain's db entry, and simply recomputing it when reading the cookies from the db. Yes, this might incur a very small cost calling into the mTLDService on cookie read, but I doubt that will impact anyone. I'll file the relevant issues for it.