Closed Bug 1566700 Opened 4 months ago Closed 4 months ago

Expose xattr checking and setting functionality

Categories

(Toolkit :: OS.File, enhancement, P1)

enhancement

Tracking

()

RESOLVED FIXED
mozilla70
Tracking Status
firefox-esr60 69+ fixed
firefox-esr68 69+ fixed
firefox68 --- wontfix
firefox69 + fixed
firefox70 + fixed

People

(Reporter: bryce, Assigned: bryce)

References

Details

Attachments

(3 files)

It would be useful to be able to check and set extended attributes/xattrs to address bug 1566523 (which is Mac specific). Beyond that bug such functionality seems like it may have a wider general use.

I believe this functionality would be specific to the Unix part of the lib, as I'm not sure Windows has a suitable analog.

Marking P1 since we want this functionality in 70 because of dependent bugs.

Bug 1566523 only requires the ability to remove an xattr, but adding the setting a checking functionality seems necessary for sane testing.

I've got a first draft of the removal piece that I will push to review shortly as I want to start iterating on feedback as I'm new to this area of the codebase. To be clear: I intend to follow up that patch with further functionality and tests and will not land that patch alone.

Assignee: nobody → bvandyk
Priority: -- → P1

Add functionality to remove an extended attribute from a file. This
functionality is currently MacOS specific due to that being the only use case we
currently have (see bug 1566523).

Attachment #9079091 - Attachment description: Bug 1566700 - Add File.OS macRemovexattr. r?yoric! → Bug 1566700 - Add File.OS macRemoveXAttr. r?yoric!

[Tracking Requested - why for this release]: This bug will be required to have EME work on MacOS Catalina (it blocks bug 1566523 which in turn blocks our ability to use the CDM). Users are already encountering this is the Catalina beta and I would like to uplift if possible so the fix is available sooner.

[Tracking Requested - why for this release]: Please see comment 9.

Pushed by bvandyk@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/8ad6a2f6b8c7
Add File.OS macRemoveXAttr. r=Yoric
https://hg.mozilla.org/integration/autoland/rev/a72f3a07f505
Add functions to OS.File to set and get extended attributes on MacOS. r=Yoric
https://hg.mozilla.org/integration/autoland/rev/45483fab866c
Add tests for OS.File extended attribute MacOS functions. r=Yoric

Comment on attachment 9079091 [details]
Bug 1566700 - Add File.OS macRemoveXAttr. r?yoric!

Beta/Release Uplift Approval Request

  • User impact if declined: Playback of premium video will not work under MacOS Catalina due to the CDM being blocked by new security features. These changes are needed to remove quarantine from the Widevine CDM once we extract it. If we do not do this loading of the CDM will be blocked by the OS.
  • Is this code covered by automated tests?: Yes
  • Has the fix been verified in Nightly?: Yes
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: Bug 1566523, Bug 1558924, Bug 1566180
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): The patches adds new functionality which is only currently used by bugs in this bug's dependency chain. Uplift of just these patches alone is essentially a no-op. I will note the risks of the other bugs in the chain on their respective uplift requests.
  • String changes made/needed: None.

ESR Uplift Approval Request

  • If this is not a sec:{high,crit} bug, please state case for ESR consideration: Bustage of premium video playback on MacOS Catalina. We expect Catalina will release near the end of September, thought this date is not confirmed.
  • User impact if declined: Playback of premium video will not work under MacOS Catalina due to the CDM being blocked by new security features. These changes are needed to remove quarantine from the Widevine CDM once we extract it. If we do not do this loading of the CDM will be blocked by the OS.
  • Fix Landed on Version: 70
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): The patches adds new functionality which is only currently used by bugs in this bug's dependency chain. Uplift of just these patches alone is essentially a no-op. I will note the risks of the other bugs in the chain on their respective uplift requests.
  • String or UUID changes made by this patch: None.
Attachment #9079091 - Flags: approval-mozilla-esr68?
Attachment #9079091 - Flags: approval-mozilla-esr60?
Attachment #9079091 - Flags: approval-mozilla-beta?
Attachment #9079914 - Flags: approval-mozilla-beta?
Attachment #9079915 - Flags: approval-mozilla-beta?
Attachment #9079914 - Flags: approval-mozilla-esr68?
Attachment #9079914 - Flags: approval-mozilla-esr60?
Attachment #9079915 - Flags: approval-mozilla-esr68?
Attachment #9079915 - Flags: approval-mozilla-esr60?

Comment on attachment 9079091 [details]
Bug 1566700 - Add File.OS macRemoveXAttr. r?yoric!

Fixes for encrypted video playback for macOS 10.15. Approved for 69.0b10.

Attachment #9079091 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Attachment #9079914 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Attachment #9079915 - Flags: approval-mozilla-beta? → approval-mozilla-beta+

Comment on attachment 9079091 [details]
Bug 1566700 - Add File.OS macRemoveXAttr. r?yoric!

necessary change for macos 10.15 support, approved for 68.1 and 60.9

Attachment #9079091 - Flags: approval-mozilla-esr68?
Attachment #9079091 - Flags: approval-mozilla-esr68+
Attachment #9079091 - Flags: approval-mozilla-esr60?
Attachment #9079091 - Flags: approval-mozilla-esr60+
Attachment #9079914 - Flags: approval-mozilla-esr68?
Attachment #9079914 - Flags: approval-mozilla-esr68+
Attachment #9079914 - Flags: approval-mozilla-esr60?
Attachment #9079914 - Flags: approval-mozilla-esr60+
Attachment #9079915 - Flags: approval-mozilla-esr68?
Attachment #9079915 - Flags: approval-mozilla-esr68+
Attachment #9079915 - Flags: approval-mozilla-esr60?
Attachment #9079915 - Flags: approval-mozilla-esr60+

Skipped during esr60 uplifts for conflicts.

Flags: needinfo?(bvandyk)
Flags: needinfo?(bvandyk)
You need to log in before you can comment on or make changes to this bug.