Closed Bug 1238816 Opened 9 years ago Closed 9 years ago

Firefox 43.0.4 does not send UA to youtube.com or ytimg.com if the "media.youtube-ua.override" pref = false

Categories

(Core :: Audio/Video: Playback, defect)

43 Branch
defect
Not set
normal

Tracking

()

RESOLVED FIXED
Tracking Status
firefox42 --- unaffected
firefox43 --- verified
firefox44 --- unaffected
firefox45 --- unaffected
firefox46 --- unaffected

People

(Reporter: cpeterson, Assigned: Sylvestre)

References

Details

(Keywords: regression)

Firefox 43.0.4 does not send a User-Agent request header to youtube.com or ytimg.com if the "media.youtube-ua.override" pref = false. This problem does not affect FF 44+. How can a user tell whether they have the hotfix installed? In my two FF 43.0.4 test profiles (OS X and XP), I still see the "media.youtube-ua.override" = true, suggesting I haven't received the hotfix.
Summary: Firefox 43 does not send UA to youtube.com or ytimg.com if the "media.youtube-ua.override" pref = true → Firefox 43.0.4 does not send UA to youtube.com or ytimg.com if the "media.youtube-ua.override" pref = false
If it matters, I believe my FF 43 instances never had 43.0.3. I don't use the Release channel often, so I think I manually updated from 43.0 or 43.0.2.
There's a bug in the UA override in nsHttpHandler.cpp. We return nsHttpHandler::mYouTubeUserAgent in nsHttpHandler::UserAgent() for all "YouTube" URLs without checking the media.youtube-ua.override pref first. But we *do* check the pref when we initialize nsHttpHandler::mYouTubeUserAgent, and if the pref is false, we initialize mYouTubeUserAgent to the empty string. So if the pref is false, we'll return an empty UA string for "YouTube" URLs. We should have checked the cached pref in nsHttpHandler::UserAgent(). To mitigate this, we can either: 1. Ship another dot release to backout the ua hack (or to fix it, backing it out seems most sensible), or 2. ship a hotfix to toggle the media.youtube-ua.override pref to true, and set "media.youtube-ua.override.to" to "43". This means we'll still take the UA override rewrite path, but we'll rewrite "43" to "43" in the UA string for the HTTP request, i.e. not actually change the version in the UA string.
YouTube reports that the missing UA header causes the same EU Cookie problem like the UA override does and additionally breaks the YouTube gaming web app and 360 degree and 3D videos.
Blocks: 1236042
2. is not hard to do and this is a great idea. I'll update my hotfix in bug 1237103
Assignee: cpearce → sledru
Has this hotfix been pushed out? How much latency is there in hotfixes taking effect? YouTube are still reporting blank user agents.
Flags: needinfo?(sledru)
This hotfix is now live. Even though the hotfix was built on 2016-01-12, its version number is still "20160106.01". If you have the hotfix installed, the "extensions.hotfix.lastVersion" pref should have a value >= "20160106.01". With this hotfix, I now see FF 43 sending FF 43 UA to youtube.com.
Status: NEW → RESOLVED
Closed: 9 years ago
Flags: needinfo?(sledru)
Resolution: --- → FIXED
btw, my test profile did not receive the hotfix at first because my "app.update.auto" and "app.update.enabled" prefs had (somehow) been flipped to false. In a new profile, they were true, the default value.
Version: unspecified → 43 Branch
You need to log in before you can comment on or make changes to this bug.