Commit 79c986b6 authored by boklm's avatar boklm Committed by morgan
Browse files

Bug 40553: Use different entitlements files for parent and child processes

We copy entitlements files from mozilla, from the esr128 branch, in
directory `security/mac/hardenedruntime/v2/production`.

In the file `taskcluster/config.yml`, `mac-signing/hardened-sign-config`
lists the different entitlements files used for the different files.
parent 1ae99c2b
Loading
Loading
Loading
Loading
+34 −0
Changes for tools/signing/macos-entitlements/firefox.browser.xml: 34 added lines, 0 removed lines.
Original line number Diff line number Diff line
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<!--
     Entitlements to apply to the main browser process executable during
     codesigning of production channel builds.
-->
<plist version="1.0">
  <dict>
    <!-- Allow loading third party libraries to support pkcs11 modules -->
    <key>com.apple.security.cs.disable-library-validation</key><true/>

    <!-- Firefox needs to create executable pages with MAP_JIT on aarch64 -->
    <key>com.apple.security.cs.allow-jit</key><true/>

    <!-- Firefox needs to access the microphone on sites the user allows -->
    <key>com.apple.security.device.audio-input</key><true/>

    <!-- Firefox needs to access the camera on sites the user allows -->
    <key>com.apple.security.device.camera</key><true/>

    <!-- Firefox needs to access the location on sites the user allows -->
    <key>com.apple.security.personal-information.location</key><true/>

    <!-- For SmartCardServices(7) -->
    <key>com.apple.security.smartcard</key><true/>

    <!-- Required for com.apple.developer.web-browser.public-key-credential -->
    <key>com.apple.application-identifier</key>
    <string>43AQ936H96.org.mozilla.firefox</string>

    <!-- For platform passkey (webauthn) support -->
    <key>com.apple.developer.web-browser.public-key-credential</key><true/>
  </dict>
</plist>
+12 −0
Changes for tools/signing/macos-entitlements/media-plugin-helper.xml: 12 added lines, 0 removed lines.
Original line number Diff line number Diff line
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<!--
     Entitlements to apply to the media-plugin-helper.app bundle during
     codesigning of production channel builds.
-->
<plist version="1.0">
  <dict>
    <!-- Allow loading third party CDM libraries -->
    <key>com.apple.security.cs.disable-library-validation</key><true/>
  </dict>
</plist>
+12 −0
Changes for tools/signing/macos-entitlements/plugin-container.xml: 12 added lines, 0 removed lines.
Original line number Diff line number Diff line
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<!--
     Entitlements to apply to the plugin-container.app bundle during
     codesigning of production channel builds.
-->
<plist version="1.0">
  <dict>
    <!-- Firefox needs to create executable pages with MAP_JIT -->
    <key>com.apple.security.cs.allow-jit</key><true/>
  </dict>
</plist>
+2 −2
Changes for tools/signing/wrappers/sign-rcodesign-128: 2 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -62,7 +62,7 @@ echo '**** Signing updater.app ****'
echo '**** Signing plugin-container.app ****'
/signing/rcodesign/rcodesign sign \
  $rcodesign_opts \
  --entitlements-xml-path /signing/tor-browser-build/tools/signing/${tbb_version_type}.entitlements.xml \
  --entitlements-xml-path /signing/tor-browser-build/tools/signing/macos-entitlements/plugin-container.xml \
  -- \
  "$display_name/$display_name.app/Contents/MacOS/plugin-container.app"

@@ -94,7 +94,7 @@ echo "**** Signing main bundle ($display_name.app) ****"
# We use `--exclude '**'` to avoid re-signing nested bundles
/signing/rcodesign/rcodesign sign \
  $rcodesign_opts \
  --entitlements-xml-path /signing/tor-browser-build/tools/signing/${tbb_version_type}.entitlements.xml \
  --entitlements-xml-path /signing/tor-browser-build/tools/signing/macos-entitlements/firefox.browser.xml \
  --exclude '**' \
  -- \
  "$display_name/$display_name.app"