lists.torproject.org
Sign In Sign Up
Manage this list Sign In Sign Up

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

tbb-commits

Thread Start a new thread
Download
Threads by month
  • ----- 2025 -----
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2021 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2020 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2019 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2018 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2017 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2016 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2015 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2014 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
tbb-commits@lists.torproject.org

August 2024

  • 1 participants
  • 282 discussions
[Git][tpo/applications/tor-browser-update-responses][main] alpha: new version, 14.0a2
by morgan (@morgan) 20 Aug '24

20 Aug '24
morgan pushed to branch main at The Tor Project / Applications / Tor Browser update responses Commits: 6dfcbd54 by Morgan at 2024-08-20T18:45:38+00:00 alpha: new version, 14.0a2 - - - - - 30 changed files: - update_3/alpha/13.5a8-14.0a2-linux-i686-ALL.xml - update_3/alpha/13.5a8-14.0a2-linux-x86_64-ALL.xml - update_3/alpha/13.5a8-14.0a2-macos-ALL.xml - update_3/alpha/13.5a8-14.0a2-windows-i686-ALL.xml - update_3/alpha/13.5a8-14.0a2-windows-x86_64-ALL.xml - update_3/alpha/13.5a9-14.0a2-linux-i686-ALL.xml - update_3/alpha/13.5a9-14.0a2-linux-x86_64-ALL.xml - update_3/alpha/13.5a9-14.0a2-macos-ALL.xml - update_3/alpha/13.5a9-14.0a2-windows-i686-ALL.xml - update_3/alpha/13.5a9-14.0a2-windows-x86_64-ALL.xml - update_3/alpha/14.0a1-14.0a2-linux-i686-ALL.xml - update_3/alpha/14.0a1-14.0a2-linux-x86_64-ALL.xml - update_3/alpha/14.0a1-14.0a2-macos-ALL.xml - update_3/alpha/14.0a1-14.0a2-windows-i686-ALL.xml - update_3/alpha/14.0a1-14.0a2-windows-x86_64-ALL.xml - update_3/alpha/14.0a2-linux-i686-ALL.xml - update_3/alpha/14.0a2-linux-x86_64-ALL.xml - update_3/alpha/14.0a2-macos-ALL.xml - update_3/alpha/14.0a2-windows-i686-ALL.xml - update_3/alpha/14.0a2-windows-x86_64-ALL.xml - update_3/alpha/download-android-aarch64.json - update_3/alpha/download-android-armv7.json - update_3/alpha/download-android-x86.json - update_3/alpha/download-android-x86_64.json - update_3/alpha/download-linux-i686.json - update_3/alpha/download-linux-x86_64.json - update_3/alpha/download-macos.json - update_3/alpha/download-windows-i686.json - update_3/alpha/download-windows-x86_64.json - update_3/alpha/downloads.json Changes: ===================================== update_3/alpha/13.5a8-14.0a2-linux-i686-ALL.xml ===================================== @@ -1,2 +1,2 @@ <?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" actions="showURL" openURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-linux-i686-14…" hashFunction="SHA512" hashValue="a6f1b4fa99ac28ab74d883aef93ca74a954864dedfcf5eec82d94af97c44f14a72b80b4f4ea6a88e7e52585e4512288f40d56733e9975cfb17b775fc28591cbd" size="129585048" type="complete"></patch><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-linux-i686--1…" hashFunction="SHA512" hashValue="3f363d4bbba46c28c326f0cde60bcde2287ed024cde0fb7de313d563f3606de308aff23be14219110d8184118999559d4b17e908900d550f4add3cae504a096c" size="68093561" type="partial"></patch></update></updates> +<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240819184821" detailsURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" actions="showURL" openURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-linux-i686-14…" hashFunction="SHA512" hashValue="9b335aa8080d18448ae6fb4d0188b71da8ec005e20da0b96ca62b6bac0997c60ee1f51f49b5c1fae0933426275f3041d4822d5426ce66aa40bb2f5fd031ed0db" size="129583928" type="complete"></patch><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-linux-i686--1…" hashFunction="SHA512" hashValue="0c3a8ae6608a906c21b34af473ee820db7a6fa54724b4bb64096ad7d9ce171a91607fe98ae91afda3f856f52961869d2aa06f3593d1ce7a480ce484821642598" size="68085665" type="partial"></patch></update></updates> ===================================== update_3/alpha/13.5a8-14.0a2-linux-x86_64-ALL.xml ===================================== @@ -1,2 +1,2 @@ <?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" actions="showURL" openURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-linux-x86_64-…" hashFunction="SHA512" hashValue="59d6473842da329d997902ff5cf3b8af37218b6edc5318d391f050b53b7c4b3ef3f636e1dac7e6dc475f98f8c7cc1af792cc18d51717ba6f3bfc24034a4a3c73" size="128707624" type="complete"></patch><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-linux-x86_64-…" hashFunction="SHA512" hashValue="4186b9909c90ee2f669075d32e84bda37d6931bdf371e4cc4d89a0a0517f19b6e86ba667583374498bfccb085d778e3a81d36303cd3bffb4ab9d7770c3a6da82" size="64660449" type="partial"></patch></update></updates> +<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240819184821" detailsURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" actions="showURL" openURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-linux-x86_64-…" hashFunction="SHA512" hashValue="8368e409e2d8f424bd91b4cc14808bfe36ce9e9f0d4ebc8d33702f7b87c771a6021b4c19523022872fe5032573c420fda39e42357f4349743a317fd378b5b5d5" size="128704560" type="complete"></patch><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-linux-x86_64-…" hashFunction="SHA512" hashValue="33ffd61e63c44404de35a88773b84dfeb92e761f8cf98654ef769a2621561d02d1f3356e58300221aff8060905a45035c0346d82d4448ea11ed17acd3f543642" size="64659785" type="partial"></patch></update></updates> ===================================== update_3/alpha/13.5a8-14.0a2-macos-ALL.xml ===================================== @@ -1,2 +1,2 @@ <?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" actions="showURL" openURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" minSupportedOSVersion="19.0.0"><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-macos-14.0a2_…" hashFunction="SHA512" hashValue="94fb76646e468a7f2ff2a20f0ff1431cfef6054c6c6a6350a1c69689d98cdc34ec0de422031771b7dc2576ebd045b8b7e4b691724b2723e36fc1ca9a0ebf3bd4" size="157563785" type="complete"></patch><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-macos--13.5a8…" hashFunction="SHA512" hashValue="5b08d340e9fbbc00ed681490364c03dcc9911d8fea369f5e20b08798cf79de6c68fe1749d7e5c56b196a471306b21f7f3aebe6db9fca766a988b4ae7d859a609" size="104863676" type="partial"></patch></update></updates> +<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240819184821" detailsURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" actions="showURL" openURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" minSupportedOSVersion="19.0.0"><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-macos-14.0a2_…" hashFunction="SHA512" hashValue="9a0e2036a41f56ca2eec18b072ff525a635a2d2b8db5b78273693e65fc8b626a50430bd36082d5439695a68b32fc05c3f369a042a3bc7691a5a3e788b2d96158" size="157560881" type="complete"></patch><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-macos--13.5a8…" hashFunction="SHA512" hashValue="721cbf99cbac5a432c3402e4b9cbd0753d36c04215293c1b97915c05a5e559ff9dae0115baca01dd9bc290dc9e1fc5c37dbabd4dc791f92c8351af1904dcf541" size="104867508" type="partial"></patch></update></updates> ===================================== update_3/alpha/13.5a8-14.0a2-windows-i686-ALL.xml ===================================== @@ -1,2 +1,2 @@ <?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" actions="showURL" openURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" minSupportedOSVersion="10.0"><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-windows-i686-…" hashFunction="SHA512" hashValue="55700d1e132ec4775a2c2fa51a88b0458108be754e1ebca1961be31d489968d97652f600f2485aee1253722d314389bbd6ee3850c81019de7369d36651723b99" size="117370328" type="complete"></patch><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-windows-i686-…" hashFunction="SHA512" hashValue="6b4c9821c43a41d4353c6a30ad1f66e944a651e705ab365505746025d2a22c548c3347e29aa9bd7025e259def20b9f09b22de1e93c2b84f005c74f4e9c942a6c" size="73787815" type="partial"></patch></update></updates> +<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240819184821" detailsURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" actions="showURL" openURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" minSupportedOSVersion="10.0"><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-windows-i686-…" hashFunction="SHA512" hashValue="6aae0a8347fd125ecea17c5955cb28ca501c6bc3826946f273d8a6dcea58e187949d0d8bf38d52aad1321d67145553985a62c361232e97f4b322b92191d99df8" size="117370272" type="complete"></patch><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-windows-i686-…" hashFunction="SHA512" hashValue="a70e70dbaf460f49bc8716a615ca39b75bd5aec114f2b738e3b163320e92a64a2151664ec5eb7f16850b44931c16c2eaf4d035a1bb96ef0165c7334805676703" size="73787775" type="partial"></patch></update></updates> ===================================== update_3/alpha/13.5a8-14.0a2-windows-x86_64-ALL.xml ===================================== @@ -1,2 +1,2 @@ <?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" actions="showURL" openURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" minSupportedOSVersion="10.0"><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-windows-x86_6…" hashFunction="SHA512" hashValue="80a2318eee4cd68557bef7af5c430e710113324f745816ef8f0fb32adf4edcfdf465753c6c719cbdc9914499606c5bfd0591a316271d10a3ab600fac3b8c9ca9" size="117802300" type="complete"></patch><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-windows-x86_6…" hashFunction="SHA512" hashValue="fe102fc7aaf1957af4fa1e92df7ac34233565cd582fc885e9d79dc4db7274546fec120dd554270127094f3e3cf7696c6cba8ce0798f631b577d23d768f1010f2" size="72223671" type="partial"></patch></update></updates> +<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240819184821" detailsURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" actions="showURL" openURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" minSupportedOSVersion="10.0"><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-windows-x86_6…" hashFunction="SHA512" hashValue="62791fbd6e824c9464fd7706ab11d56650806fe315c66762163417da70823c36a3840a7d5f3023df4a8aee55c39f253fd1513d57ccff8774f6d703bf878cb6fc" size="117801276" type="complete"></patch><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-windows-x86_6…" hashFunction="SHA512" hashValue="8dd572bf9f24cb71b06f40446db4ce4043800d392d7102fc4749e3f493c75d3e4e2068e2d7b9d98105943f9cc6bd0214360019ea1b496674fd39ea24d4c70f31" size="72224963" type="partial"></patch></update></updates> ===================================== update_3/alpha/13.5a9-14.0a2-linux-i686-ALL.xml ===================================== @@ -1,2 +1,2 @@ <?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" actions="showURL" openURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-linux-i686-14…" hashFunction="SHA512" hashValue="a6f1b4fa99ac28ab74d883aef93ca74a954864dedfcf5eec82d94af97c44f14a72b80b4f4ea6a88e7e52585e4512288f40d56733e9975cfb17b775fc28591cbd" size="129585048" type="complete"></patch><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-linux-i686--1…" hashFunction="SHA512" hashValue="46d1e332a35b5d7a7f81e798d263bde87d7c0c0af1cd490cb256f14f38fd03711fccbc9210a26f3062e65732d304c716b9d79f1e75b42e9894f9dab9eeea0453" size="67501218" type="partial"></patch></update></updates> +<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240819184821" detailsURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" actions="showURL" openURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-linux-i686-14…" hashFunction="SHA512" hashValue="9b335aa8080d18448ae6fb4d0188b71da8ec005e20da0b96ca62b6bac0997c60ee1f51f49b5c1fae0933426275f3041d4822d5426ce66aa40bb2f5fd031ed0db" size="129583928" type="complete"></patch><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-linux-i686--1…" hashFunction="SHA512" hashValue="59d1674071d46e21d955a138c6ff757bb163861f141a02e8a5be70054b465fc16b8cbe9c0297bca3daa09f582057bf2a0a6e2a62e098ef8338f359885109701f" size="67504678" type="partial"></patch></update></updates> ===================================== update_3/alpha/13.5a9-14.0a2-linux-x86_64-ALL.xml ===================================== @@ -1,2 +1,2 @@ <?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" actions="showURL" openURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-linux-x86_64-…" hashFunction="SHA512" hashValue="59d6473842da329d997902ff5cf3b8af37218b6edc5318d391f050b53b7c4b3ef3f636e1dac7e6dc475f98f8c7cc1af792cc18d51717ba6f3bfc24034a4a3c73" size="128707624" type="complete"></patch><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-linux-x86_64-…" hashFunction="SHA512" hashValue="90c047ccf6f9c0911bd9323427fee1ce5dfaedf512f303fc687baf9a014a7697f821a278e917d36bdcf55f16acaa9c9269ae486c0ea8635b819c39ddcae18a84" size="64085290" type="partial"></patch></update></updates> +<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240819184821" detailsURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" actions="showURL" openURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-linux-x86_64-…" hashFunction="SHA512" hashValue="8368e409e2d8f424bd91b4cc14808bfe36ce9e9f0d4ebc8d33702f7b87c771a6021b4c19523022872fe5032573c420fda39e42357f4349743a317fd378b5b5d5" size="128704560" type="complete"></patch><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-linux-x86_64-…" hashFunction="SHA512" hashValue="5c07945f2d990e22e90151947ac5fe398dd494903a5aaf59cded615112626fc2a1d1ba61fd6fe01a2fdfffaf1115581b5b34c1074b5c07a79c676822ac067820" size="64086554" type="partial"></patch></update></updates> ===================================== update_3/alpha/13.5a9-14.0a2-macos-ALL.xml ===================================== @@ -1,2 +1,2 @@ <?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" actions="showURL" openURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" minSupportedOSVersion="19.0.0"><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-macos-14.0a2_…" hashFunction="SHA512" hashValue="94fb76646e468a7f2ff2a20f0ff1431cfef6054c6c6a6350a1c69689d98cdc34ec0de422031771b7dc2576ebd045b8b7e4b691724b2723e36fc1ca9a0ebf3bd4" size="157563785" type="complete"></patch><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-macos--13.5a9…" hashFunction="SHA512" hashValue="0fb2e37c3f6201d3c3a2a15ace3bfffb2eb25d74fc3c9aee2105b0ab26ee4eeb67ac6061b9971520c2008d3e33d8ee9256f6753983cf2b9d71239c96c077929b" size="104456671" type="partial"></patch></update></updates> +<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240819184821" detailsURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" actions="showURL" openURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" minSupportedOSVersion="19.0.0"><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-macos-14.0a2_…" hashFunction="SHA512" hashValue="9a0e2036a41f56ca2eec18b072ff525a635a2d2b8db5b78273693e65fc8b626a50430bd36082d5439695a68b32fc05c3f369a042a3bc7691a5a3e788b2d96158" size="157560881" type="complete"></patch><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-macos--13.5a9…" hashFunction="SHA512" hashValue="9940a4b3ce4e42d3f195ef614045637cf4caed3bcc7e284c919680aba1650d4bc5b6cb36af82d22c9c9628b5dc285b7ad493d35603f0919788cacaebd5899bc8" size="104450455" type="partial"></patch></update></updates> ===================================== update_3/alpha/13.5a9-14.0a2-windows-i686-ALL.xml ===================================== @@ -1,2 +1,2 @@ <?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" actions="showURL" openURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" minSupportedOSVersion="10.0"><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-windows-i686-…" hashFunction="SHA512" hashValue="55700d1e132ec4775a2c2fa51a88b0458108be754e1ebca1961be31d489968d97652f600f2485aee1253722d314389bbd6ee3850c81019de7369d36651723b99" size="117370328" type="complete"></patch><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-windows-i686-…" hashFunction="SHA512" hashValue="e639ca89fa5dbace8a3189a66e405850b735f4476f28972214b7506c3c656f7e73b1c4d66adde94e0bdea3f3bc190fff102375e0cd168e1617df72f82f32aa7c" size="73460202" type="partial"></patch></update></updates> +<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240819184821" detailsURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" actions="showURL" openURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" minSupportedOSVersion="10.0"><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-windows-i686-…" hashFunction="SHA512" hashValue="6aae0a8347fd125ecea17c5955cb28ca501c6bc3826946f273d8a6dcea58e187949d0d8bf38d52aad1321d67145553985a62c361232e97f4b322b92191d99df8" size="117370272" type="complete"></patch><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-windows-i686-…" hashFunction="SHA512" hashValue="93319e2b7d1a65d3acc22c26aaef45650379bf92d049f075a16c1442c688457b0568449816a8c41025bed06031714139e63cc9fc10efe0b6b0370901479a852b" size="73459422" type="partial"></patch></update></updates> ===================================== update_3/alpha/13.5a9-14.0a2-windows-x86_64-ALL.xml ===================================== @@ -1,2 +1,2 @@ <?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" actions="showURL" openURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" minSupportedOSVersion="10.0"><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-windows-x86_6…" hashFunction="SHA512" hashValue="80a2318eee4cd68557bef7af5c430e710113324f745816ef8f0fb32adf4edcfdf465753c6c719cbdc9914499606c5bfd0591a316271d10a3ab600fac3b8c9ca9" size="117802300" type="complete"></patch><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-windows-x86_6…" hashFunction="SHA512" hashValue="5745018db60ffcacf5802cdfc1d451ee8f2b4e011742696e2871852e788615be74d9a67682ba1fd838c675ec2a31e10076930f456eef9c0d88ba11b6cf99a1cd" size="71894554" type="partial"></patch></update></updates> +<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240819184821" detailsURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" actions="showURL" openURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" minSupportedOSVersion="10.0"><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-windows-x86_6…" hashFunction="SHA512" hashValue="62791fbd6e824c9464fd7706ab11d56650806fe315c66762163417da70823c36a3840a7d5f3023df4a8aee55c39f253fd1513d57ccff8774f6d703bf878cb6fc" size="117801276" type="complete"></patch><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-windows-x86_6…" hashFunction="SHA512" hashValue="5ea294c0dd5c820053a117b4e27eee72c04a4606154546d004cf40393138dfd4a523cddb0a7d495ded8416554ff0fdac5481c1161a400c435a2b8f6c43ea5b53" size="71889070" type="partial"></patch></update></updates> ===================================== update_3/alpha/14.0a1-14.0a2-linux-i686-ALL.xml ===================================== @@ -1,2 +1,2 @@ <?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" actions="showURL" openURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-linux-i686-14…" hashFunction="SHA512" hashValue="a6f1b4fa99ac28ab74d883aef93ca74a954864dedfcf5eec82d94af97c44f14a72b80b4f4ea6a88e7e52585e4512288f40d56733e9975cfb17b775fc28591cbd" size="129585048" type="complete"></patch><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-linux-i686--1…" hashFunction="SHA512" hashValue="33d5ab7bff02722f6c2933cdb557d6eb7532de26d317d32cc989b7e61ccef20cda67a773b42ed8ed027f68750a7c1d3acfce9f4bb646dd442e6610b69a7570c7" size="12899065" type="partial"></patch></update></updates> +<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240819184821" detailsURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" actions="showURL" openURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-linux-i686-14…" hashFunction="SHA512" hashValue="9b335aa8080d18448ae6fb4d0188b71da8ec005e20da0b96ca62b6bac0997c60ee1f51f49b5c1fae0933426275f3041d4822d5426ce66aa40bb2f5fd031ed0db" size="129583928" type="complete"></patch><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-linux-i686--1…" hashFunction="SHA512" hashValue="2ea3b7ba8e106151c1b67fd877aad9aaefc95784bdc9991537260ff6c7ef5623125a2e0071d222f5314c6ac69068bfa7419f509a71fb05fb5e9629d4e2ed1f41" size="12897637" type="partial"></patch></update></updates> ===================================== update_3/alpha/14.0a1-14.0a2-linux-x86_64-ALL.xml ===================================== @@ -1,2 +1,2 @@ <?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" actions="showURL" openURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-linux-x86_64-…" hashFunction="SHA512" hashValue="59d6473842da329d997902ff5cf3b8af37218b6edc5318d391f050b53b7c4b3ef3f636e1dac7e6dc475f98f8c7cc1af792cc18d51717ba6f3bfc24034a4a3c73" size="128707624" type="complete"></patch><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-linux-x86_64-…" hashFunction="SHA512" hashValue="e396d51182435649ec65ce39bfc3fec2031c25536c327595524251dd6b444e4f205faed86f70442d87afb39ef9b9ab3d1de877b284ac48a08f36bfc54014efce" size="12736953" type="partial"></patch></update></updates> +<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240819184821" detailsURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" actions="showURL" openURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-linux-x86_64-…" hashFunction="SHA512" hashValue="8368e409e2d8f424bd91b4cc14808bfe36ce9e9f0d4ebc8d33702f7b87c771a6021b4c19523022872fe5032573c420fda39e42357f4349743a317fd378b5b5d5" size="128704560" type="complete"></patch><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-linux-x86_64-…" hashFunction="SHA512" hashValue="10a9396ee8f9a4dcfcbbef26baaaac9d5c99880efff7967d151eae9ea53fedf5b0d47a790d66131f134ee255ace63c3c9e886bb9b9c630af24017cce56aae641" size="12740333" type="partial"></patch></update></updates> ===================================== update_3/alpha/14.0a1-14.0a2-macos-ALL.xml ===================================== @@ -1,2 +1,2 @@ <?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" actions="showURL" openURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" minSupportedOSVersion="19.0.0"><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-macos-14.0a2_…" hashFunction="SHA512" hashValue="94fb76646e468a7f2ff2a20f0ff1431cfef6054c6c6a6350a1c69689d98cdc34ec0de422031771b7dc2576ebd045b8b7e4b691724b2723e36fc1ca9a0ebf3bd4" size="157563785" type="complete"></patch><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-macos--14.0a1…" hashFunction="SHA512" hashValue="89dc56eb7e1807510fc0808bd3b3ae3a18ad10b54b77084ffa39834beaf34ffd23411c8c24550160d6eed839f02cfb90ce9fe9b33520c949e1ee6d80cdd40071" size="20542570" type="partial"></patch></update></updates> +<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240819184821" detailsURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" actions="showURL" openURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" minSupportedOSVersion="19.0.0"><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-macos-14.0a2_…" hashFunction="SHA512" hashValue="9a0e2036a41f56ca2eec18b072ff525a635a2d2b8db5b78273693e65fc8b626a50430bd36082d5439695a68b32fc05c3f369a042a3bc7691a5a3e788b2d96158" size="157560881" type="complete"></patch><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-macos--14.0a1…" hashFunction="SHA512" hashValue="1e2ba9e9c8c11de885d8ab3a032d5bbc6af5d51ba567b85996bdf3b3961954e12331cf33b4747d19e398c3f85482183da8ab982708ea4b346c33795f70a5e226" size="20538826" type="partial"></patch></update></updates> ===================================== update_3/alpha/14.0a1-14.0a2-windows-i686-ALL.xml ===================================== @@ -1,2 +1,2 @@ <?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" actions="showURL" openURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" minSupportedOSVersion="10.0"><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-windows-i686-…" hashFunction="SHA512" hashValue="55700d1e132ec4775a2c2fa51a88b0458108be754e1ebca1961be31d489968d97652f600f2485aee1253722d314389bbd6ee3850c81019de7369d36651723b99" size="117370328" type="complete"></patch><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-windows-i686-…" hashFunction="SHA512" hashValue="ab132c7c0018df867e8807ffb530523f3dc6c87b543e0aa3818abc9078d645cf12b9044a2809a52d177ab47fddaeff7071b3c927d9ddeb79c29ed73747030068" size="13954311" type="partial"></patch></update></updates> +<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240819184821" detailsURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" actions="showURL" openURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" minSupportedOSVersion="10.0"><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-windows-i686-…" hashFunction="SHA512" hashValue="6aae0a8347fd125ecea17c5955cb28ca501c6bc3826946f273d8a6dcea58e187949d0d8bf38d52aad1321d67145553985a62c361232e97f4b322b92191d99df8" size="117370272" type="complete"></patch><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-windows-i686-…" hashFunction="SHA512" hashValue="5ff4e603df0e57872b463ed771051b1803c87c707f84ec195541d16eefe09802e31bb17f9ee1e0d59c8a1a9c79a65aa62948af9fcceb89c2e2486daba2093964" size="13954019" type="partial"></patch></update></updates> ===================================== update_3/alpha/14.0a1-14.0a2-windows-x86_64-ALL.xml ===================================== @@ -1,2 +1,2 @@ <?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" actions="showURL" openURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" minSupportedOSVersion="10.0"><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-windows-x86_6…" hashFunction="SHA512" hashValue="80a2318eee4cd68557bef7af5c430e710113324f745816ef8f0fb32adf4edcfdf465753c6c719cbdc9914499606c5bfd0591a316271d10a3ab600fac3b8c9ca9" size="117802300" type="complete"></patch><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-windows-x86_6…" hashFunction="SHA512" hashValue="908e09eb7591c056c420445dda6e4f0b778983e4e78c351e24ed5efd1c9fc9b91c5401195af46230437a5f66a00c17930d208fa22029d97d25506081fed0f428" size="13301219" type="partial"></patch></update></updates> +<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240819184821" detailsURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" actions="showURL" openURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" minSupportedOSVersion="10.0"><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-windows-x86_6…" hashFunction="SHA512" hashValue="62791fbd6e824c9464fd7706ab11d56650806fe315c66762163417da70823c36a3840a7d5f3023df4a8aee55c39f253fd1513d57ccff8774f6d703bf878cb6fc" size="117801276" type="complete"></patch><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-windows-x86_6…" hashFunction="SHA512" hashValue="097af5c374014b0d209ca99456931656b720fd268efc7dfac0f51d5910a5d71f7d98d5bc78ec410304b58af5bfd9dcab39cc372a3fe56f0fed948839a2b51dce" size="13298551" type="partial"></patch></update></updates> ===================================== update_3/alpha/14.0a2-linux-i686-ALL.xml ===================================== @@ -1,2 +1,2 @@ <?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" actions="showURL" openURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-linux-i686-14…" hashFunction="SHA512" hashValue="a6f1b4fa99ac28ab74d883aef93ca74a954864dedfcf5eec82d94af97c44f14a72b80b4f4ea6a88e7e52585e4512288f40d56733e9975cfb17b775fc28591cbd" size="129585048" type="complete"></patch></update></updates> +<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240819184821" detailsURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" actions="showURL" openURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-linux-i686-14…" hashFunction="SHA512" hashValue="9b335aa8080d18448ae6fb4d0188b71da8ec005e20da0b96ca62b6bac0997c60ee1f51f49b5c1fae0933426275f3041d4822d5426ce66aa40bb2f5fd031ed0db" size="129583928" type="complete"></patch></update></updates> ===================================== update_3/alpha/14.0a2-linux-x86_64-ALL.xml ===================================== @@ -1,2 +1,2 @@ <?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" actions="showURL" openURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-linux-x86_64-…" hashFunction="SHA512" hashValue="59d6473842da329d997902ff5cf3b8af37218b6edc5318d391f050b53b7c4b3ef3f636e1dac7e6dc475f98f8c7cc1af792cc18d51717ba6f3bfc24034a4a3c73" size="128707624" type="complete"></patch></update></updates> +<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240819184821" detailsURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" actions="showURL" openURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-linux-x86_64-…" hashFunction="SHA512" hashValue="8368e409e2d8f424bd91b4cc14808bfe36ce9e9f0d4ebc8d33702f7b87c771a6021b4c19523022872fe5032573c420fda39e42357f4349743a317fd378b5b5d5" size="128704560" type="complete"></patch></update></updates> ===================================== update_3/alpha/14.0a2-macos-ALL.xml ===================================== @@ -1,2 +1,2 @@ <?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" actions="showURL" openURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" minSupportedOSVersion="19.0.0"><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-macos-14.0a2_…" hashFunction="SHA512" hashValue="94fb76646e468a7f2ff2a20f0ff1431cfef6054c6c6a6350a1c69689d98cdc34ec0de422031771b7dc2576ebd045b8b7e4b691724b2723e36fc1ca9a0ebf3bd4" size="157563785" type="complete"></patch></update></updates> +<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240819184821" detailsURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" actions="showURL" openURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" minSupportedOSVersion="19.0.0"><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-macos-14.0a2_…" hashFunction="SHA512" hashValue="9a0e2036a41f56ca2eec18b072ff525a635a2d2b8db5b78273693e65fc8b626a50430bd36082d5439695a68b32fc05c3f369a042a3bc7691a5a3e788b2d96158" size="157560881" type="complete"></patch></update></updates> ===================================== update_3/alpha/14.0a2-windows-i686-ALL.xml ===================================== @@ -1,2 +1,2 @@ <?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" actions="showURL" openURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" minSupportedOSVersion="10.0"><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-windows-i686-…" hashFunction="SHA512" hashValue="55700d1e132ec4775a2c2fa51a88b0458108be754e1ebca1961be31d489968d97652f600f2485aee1253722d314389bbd6ee3850c81019de7369d36651723b99" size="117370328" type="complete"></patch></update></updates> +<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240819184821" detailsURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" actions="showURL" openURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" minSupportedOSVersion="10.0"><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-windows-i686-…" hashFunction="SHA512" hashValue="6aae0a8347fd125ecea17c5955cb28ca501c6bc3826946f273d8a6dcea58e187949d0d8bf38d52aad1321d67145553985a62c361232e97f4b322b92191d99df8" size="117370272" type="complete"></patch></update></updates> ===================================== update_3/alpha/14.0a2-windows-x86_64-ALL.xml ===================================== @@ -1,2 +1,2 @@ <?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" actions="showURL" openURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" minSupportedOSVersion="10.0"><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-windows-x86_6…" hashFunction="SHA512" hashValue="80a2318eee4cd68557bef7af5c430e710113324f745816ef8f0fb32adf4edcfdf465753c6c719cbdc9914499606c5bfd0591a316271d10a3ab600fac3b8c9ca9" size="117802300" type="complete"></patch></update></updates> +<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240819184821" detailsURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" actions="showURL" openURL="https://blog.torproject.org/new-alpha-release-tor-browser-140a2" minSupportedOSVersion="10.0"><patch URL="https://cdn.torproject.org/aus1/torbrowser/14.0a2/tor-browser-windows-x86_6…" hashFunction="SHA512" hashValue="62791fbd6e824c9464fd7706ab11d56650806fe315c66762163417da70823c36a3840a7d5f3023df4a8aee55c39f253fd1513d57ccff8774f6d703bf878cb6fc" size="117801276" type="complete"></patch></update></updates> ===================================== update_3/alpha/download-android-aarch64.json ===================================== @@ -1 +1 @@ -{"binary":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-android-aarch64-1…","git_tag":"tbb-14.0a2-build1","sig":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-android-aarch64-1…","version":"14.0a2"} \ No newline at end of file +{"binary":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-android-aarch64-1…","git_tag":"tbb-14.0a2-build2","sig":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-android-aarch64-1…","version":"14.0a2"} \ No newline at end of file ===================================== update_3/alpha/download-android-armv7.json ===================================== @@ -1 +1 @@ -{"binary":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-android-armv7-14.…","git_tag":"tbb-14.0a2-build1","sig":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-android-armv7-14.…","version":"14.0a2"} \ No newline at end of file +{"binary":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-android-armv7-14.…","git_tag":"tbb-14.0a2-build2","sig":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-android-armv7-14.…","version":"14.0a2"} \ No newline at end of file ===================================== update_3/alpha/download-android-x86.json ===================================== @@ -1 +1 @@ -{"binary":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-android-x86-14.0a…","git_tag":"tbb-14.0a2-build1","sig":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-android-x86-14.0a…","version":"14.0a2"} \ No newline at end of file +{"binary":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-android-x86-14.0a…","git_tag":"tbb-14.0a2-build2","sig":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-android-x86-14.0a…","version":"14.0a2"} \ No newline at end of file ===================================== update_3/alpha/download-android-x86_64.json ===================================== @@ -1 +1 @@ -{"binary":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-android-x86_64-14…","git_tag":"tbb-14.0a2-build1","sig":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-android-x86_64-14…","version":"14.0a2"} \ No newline at end of file +{"binary":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-android-x86_64-14…","git_tag":"tbb-14.0a2-build2","sig":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-android-x86_64-14…","version":"14.0a2"} \ No newline at end of file ===================================== update_3/alpha/download-linux-i686.json ===================================== @@ -1 +1 @@ -{"binary":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-linux-i686-14.0a2…","git_tag":"tbb-14.0a2-build1","sig":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-linux-i686-14.0a2…","version":"14.0a2"} \ No newline at end of file +{"binary":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-linux-i686-14.0a2…","git_tag":"tbb-14.0a2-build2","sig":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-linux-i686-14.0a2…","version":"14.0a2"} \ No newline at end of file ===================================== update_3/alpha/download-linux-x86_64.json ===================================== @@ -1 +1 @@ -{"binary":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-linux-x86_64-14.0…","git_tag":"tbb-14.0a2-build1","sig":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-linux-x86_64-14.0…","version":"14.0a2"} \ No newline at end of file +{"binary":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-linux-x86_64-14.0…","git_tag":"tbb-14.0a2-build2","sig":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-linux-x86_64-14.0…","version":"14.0a2"} \ No newline at end of file ===================================== update_3/alpha/download-macos.json ===================================== @@ -1 +1 @@ -{"binary":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-macos-14.0a2.dmg","git_tag":"tbb-14.0a2-build1","sig":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-macos-14.0a2.dmg.…","version":"14.0a2"} \ No newline at end of file +{"binary":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-macos-14.0a2.dmg","git_tag":"tbb-14.0a2-build2","sig":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-macos-14.0a2.dmg.…","version":"14.0a2"} \ No newline at end of file ===================================== update_3/alpha/download-windows-i686.json ===================================== @@ -1 +1 @@ -{"binary":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-windows-i686-port…","git_tag":"tbb-14.0a2-build1","sig":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-windows-i686-port…","version":"14.0a2"} \ No newline at end of file +{"binary":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-windows-i686-port…","git_tag":"tbb-14.0a2-build2","sig":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-windows-i686-port…","version":"14.0a2"} \ No newline at end of file ===================================== update_3/alpha/download-windows-x86_64.json ===================================== @@ -1 +1 @@ -{"binary":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-windows-x86_64-po…","git_tag":"tbb-14.0a2-build1","sig":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-windows-x86_64-po…","version":"14.0a2"} \ No newline at end of file +{"binary":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-windows-x86_64-po…","git_tag":"tbb-14.0a2-build2","sig":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-windows-x86_64-po…","version":"14.0a2"} \ No newline at end of file ===================================== update_3/alpha/downloads.json ===================================== @@ -1 +1 @@ -{"downloads":{"linux-i686":{"ALL":{"binary":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-linux-i686-14.0a2…","sig":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-linux-i686-14.0a2…"}},"linux-x86_64":{"ALL":{"binary":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-linux-x86_64-14.0…","sig":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-linux-x86_64-14.0…"}},"macos":{"ALL":{"binary":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-macos-14.0a2.dmg","sig":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-macos-14.0a2.dmg.…"}},"win32":{"ALL":{"binary":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-windows-i686-port…","sig":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-windows-i686-port…"}},"win64":{"ALL":{"binary":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-windows-x86_64-po…","sig":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-windows-x86_64-po…"}}},"tag":"tbb-14.0a2-build1","version":"14.0a2"} \ No newline at end of file +{"downloads":{"linux-i686":{"ALL":{"binary":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-linux-i686-14.0a2…","sig":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-linux-i686-14.0a2…"}},"linux-x86_64":{"ALL":{"binary":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-linux-x86_64-14.0…","sig":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-linux-x86_64-14.0…"}},"macos":{"ALL":{"binary":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-macos-14.0a2.dmg","sig":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-macos-14.0a2.dmg.…"}},"win32":{"ALL":{"binary":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-windows-i686-port…","sig":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-windows-i686-port…"}},"win64":{"ALL":{"binary":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-windows-x86_64-po…","sig":"https://dist.torproject.org/torbrowser/14.0a2/tor-browser-windows-x86_64-po…"}}},"tag":"tbb-14.0a2-build2","version":"14.0a2"} \ No newline at end of file View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-update-responses… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-update-responses… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-128.1.0esr-14.0-1] 2 commits: fixup! Bug 30237: Add v3 onion services client authentication prompt
by Pier Angelo Vendrame (@pierov) 20 Aug '24

20 Aug '24
Pier Angelo Vendrame pushed to branch tor-browser-128.1.0esr-14.0-1 at The Tor Project / Applications / Tor Browser Commits: 05861e0d by Henry Wilkes at 2024-08-20T15:59:58+01:00 fixup! Bug 30237: Add v3 onion services client authentication prompt Bug 43067: Use html:link instead of xml-stylesheet - - - - - 57cc4697 by Henry Wilkes at 2024-08-20T16:00:44+01:00 fixup! Bug 31286: Implementation of bridge, proxy, and firewall settings in about:preferences#connection Bug 43067: Use html:link instead of xml-stylesheet - - - - - 8 changed files: - browser/components/onionservices/content/savedKeysDialog.xhtml - browser/components/torpreferences/content/bridgeQrDialog.xhtml - browser/components/torpreferences/content/builtinBridgeDialog.xhtml - browser/components/torpreferences/content/connectionSettingsDialog.xhtml - browser/components/torpreferences/content/loxInviteDialog.xhtml - browser/components/torpreferences/content/provideBridgeDialog.xhtml - browser/components/torpreferences/content/requestBridgeDialog.xhtml - browser/components/torpreferences/content/torLogDialog.xhtml Changes: ===================================== browser/components/onionservices/content/savedKeysDialog.xhtml ===================================== @@ -1,10 +1,6 @@ <?xml version="1.0"?> <!-- Copyright (c) 2020, The Tor Project, Inc. --> -<?xml-stylesheet href="chrome://global/skin/" type="text/css"?> -<?xml-stylesheet href="chrome://browser/skin/preferences/preferences.css" type="text/css"?> -<?xml-stylesheet href="chrome://browser/content/onionservices/authPreferences.css" type="text/css"?> - <window id="onionservices-savedkeys-dialog" windowtype="OnionServices:SavedKeys" @@ -13,6 +9,16 @@ data-l10n-id="onion-site-saved-keys-dialog-title" > <linkset> + <html:link rel="stylesheet" href="chrome://global/skin/global.css" /> + <html:link + rel="stylesheet" + href="chrome://browser/skin/preferences/preferences.css" + /> + <html:link + rel="stylesheet" + href="chrome://browser/content/onionservices/authPreferences.css" + /> + <html:link rel="localization" href="toolkit/global/tor-browser.ftl" /> </linkset> ===================================== browser/components/torpreferences/content/bridgeQrDialog.xhtml ===================================== @@ -1,7 +1,4 @@ <?xml version="1.0" encoding="UTF-8"?> -<?xml-stylesheet href="chrome://global/skin/" type="text/css"?> -<?xml-stylesheet href="chrome://browser/skin/preferences/preferences.css"?> -<?xml-stylesheet href="chrome://browser/content/torpreferences/torPreferences.css"?> <window type="child" @@ -11,6 +8,16 @@ > <dialog id="bridgeQr-dialog" buttons="accept"> <linkset> + <html:link rel="stylesheet" href="chrome://global/skin/global.css" /> + <html:link + rel="stylesheet" + href="chrome://browser/skin/preferences/preferences.css" + /> + <html:link + rel="stylesheet" + href="chrome://browser/content/torpreferences/torPreferences.css" + /> + <html:link rel="localization" href="toolkit/global/tor-browser.ftl" /> </linkset> ===================================== browser/components/torpreferences/content/builtinBridgeDialog.xhtml ===================================== @@ -1,7 +1,4 @@ <?xml version="1.0" encoding="UTF-8"?> -<?xml-stylesheet href="chrome://global/skin/" type="text/css"?> -<?xml-stylesheet href="chrome://browser/skin/preferences/preferences.css"?> -<?xml-stylesheet href="chrome://browser/content/torpreferences/torPreferences.css"?> <window type="child" @@ -11,6 +8,16 @@ > <dialog id="torPreferences-builtinBridge-dialog" buttons="accept,cancel"> <linkset> + <html:link rel="stylesheet" href="chrome://global/skin/global.css" /> + <html:link + rel="stylesheet" + href="chrome://browser/skin/preferences/preferences.css" + /> + <html:link + rel="stylesheet" + href="chrome://browser/content/torpreferences/torPreferences.css" + /> + <html:link rel="localization" href="branding/brand.ftl" /> <html:link rel="localization" href="toolkit/global/tor-browser.ftl" /> </linkset> ===================================== browser/components/torpreferences/content/connectionSettingsDialog.xhtml ===================================== @@ -1,7 +1,4 @@ <?xml version="1.0" encoding="UTF-8"?> -<?xml-stylesheet href="chrome://global/skin/" type="text/css"?> -<?xml-stylesheet href="chrome://browser/skin/preferences/preferences.css"?> -<?xml-stylesheet href="chrome://browser/content/torpreferences/torPreferences.css"?> <window type="child" @@ -11,6 +8,16 @@ > <dialog id="torPreferences-connection-dialog" buttons="accept,cancel"> <linkset> + <html:link rel="stylesheet" href="chrome://global/skin/global.css" /> + <html:link + rel="stylesheet" + href="chrome://browser/skin/preferences/preferences.css" + /> + <html:link + rel="stylesheet" + href="chrome://browser/content/torpreferences/torPreferences.css" + /> + <html:link rel="localization" href="branding/brand.ftl" /> <html:link rel="localization" href="toolkit/global/tor-browser.ftl" /> </linkset> ===================================== browser/components/torpreferences/content/loxInviteDialog.xhtml ===================================== @@ -1,7 +1,4 @@ <?xml version="1.0" encoding="UTF-8"?> -<?xml-stylesheet href="chrome://global/skin/" type="text/css"?> -<?xml-stylesheet href="chrome://browser/skin/preferences/preferences.css"?> -<?xml-stylesheet href="chrome://browser/content/torpreferences/torPreferences.css"?> <window type="child" @@ -19,6 +16,16 @@ </menupopup> <dialog id="lox-invite-dialog" buttons="accept"> <linkset> + <html:link rel="stylesheet" href="chrome://global/skin/global.css" /> + <html:link + rel="stylesheet" + href="chrome://browser/skin/preferences/preferences.css" + /> + <html:link + rel="stylesheet" + href="chrome://browser/content/torpreferences/torPreferences.css" + /> + <html:link rel="localization" href="toolkit/global/tor-browser.ftl" /> <html:link rel="localization" ===================================== browser/components/torpreferences/content/provideBridgeDialog.xhtml ===================================== @@ -1,7 +1,4 @@ <?xml version="1.0" encoding="UTF-8"?> -<?xml-stylesheet href="chrome://global/skin/" type="text/css"?> -<?xml-stylesheet href="chrome://browser/skin/preferences/preferences.css"?> -<?xml-stylesheet href="chrome://browser/content/torpreferences/torPreferences.css"?> <window type="child" @@ -14,6 +11,16 @@ class="show-entry-page" > <linkset> + <html:link rel="stylesheet" href="chrome://global/skin/global.css" /> + <html:link + rel="stylesheet" + href="chrome://browser/skin/preferences/preferences.css" + /> + <html:link + rel="stylesheet" + href="chrome://browser/content/torpreferences/torPreferences.css" + /> + <html:link rel="localization" href="toolkit/global/tor-browser.ftl" /> </linkset> ===================================== browser/components/torpreferences/content/requestBridgeDialog.xhtml ===================================== @@ -1,7 +1,4 @@ <?xml version="1.0" encoding="UTF-8"?> -<?xml-stylesheet href="chrome://global/skin/" type="text/css"?> -<?xml-stylesheet href="chrome://browser/skin/preferences/preferences.css"?> -<?xml-stylesheet href="chrome://browser/content/torpreferences/torPreferences.css"?> <window type="child" @@ -11,6 +8,16 @@ > <dialog id="torPreferences-requestBridge-dialog" buttons="accept,cancel"> <linkset> + <html:link rel="stylesheet" href="chrome://global/skin/global.css" /> + <html:link + rel="stylesheet" + href="chrome://browser/skin/preferences/preferences.css" + /> + <html:link + rel="stylesheet" + href="chrome://browser/content/torpreferences/torPreferences.css" + /> + <html:link rel="localization" href="toolkit/global/tor-browser.ftl" /> </linkset> ===================================== browser/components/torpreferences/content/torLogDialog.xhtml ===================================== @@ -1,7 +1,4 @@ <?xml version="1.0" encoding="UTF-8"?> -<?xml-stylesheet href="chrome://global/skin/" type="text/css"?> -<?xml-stylesheet href="chrome://browser/skin/preferences/preferences.css"?> -<?xml-stylesheet href="chrome://browser/content/torpreferences/torPreferences.css"?> <window type="child" @@ -11,6 +8,16 @@ > <dialog id="torPreferences-torLog-dialog" buttons="accept,extra1"> <linkset> + <html:link rel="stylesheet" href="chrome://global/skin/global.css" /> + <html:link + rel="stylesheet" + href="chrome://browser/skin/preferences/preferences.css" + /> + <html:link + rel="stylesheet" + href="chrome://browser/content/torpreferences/torPreferences.css" + /> + <html:link rel="localization" href="toolkit/global/tor-browser.ftl" /> </linkset> View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/7143db… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/7143db… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-128.1.0esr-14.0-1] 5 commits: fixup! Bug 30237: Add v3 onion services client authentication prompt
by Pier Angelo Vendrame (@pierov) 20 Aug '24

20 Aug '24
Pier Angelo Vendrame pushed to branch tor-browser-128.1.0esr-14.0-1 at The Tor Project / Applications / Tor Browser Commits: ace2c34b by Henry Wilkes at 2024-08-20T12:55:05+00:00 fixup! Bug 30237: Add v3 onion services client authentication prompt Bug 42212: Migrate onion service strings to Fluent. + Use &quot;onion site&quot; instead of &quot;onionsite&quot; or &quot;onion service&quot;. + Use sentence case by default. + Changed the prompt accept button from &quot;Done&quot; to &quot;OK&quot;, in line with other prompts. + Re-ordered the saved keys dialog introduction text from &quot;Keys for the following onionsite are...&quot; to &quot;The following onion site keys are...&quot; + Use bold text for the prompt title, rather than just the onion site part. + Clear the error message in the saved key dialog whenever the user tries to remove a key (again). + Other small tidies in the touched areas. - - - - - 611b5828 by Henry Wilkes at 2024-08-20T12:55:05+00:00 fixup! Bug 23247: Communicating security expectations for .onion Bug 42212: Migrate onion service strings to Fluent. - - - - - 0e22809c by Henry Wilkes at 2024-08-20T12:55:05+00:00 fixup! Tor Browser strings Bug 42212: Migrate onion service strings to Fluent. - - - - - 35b2a147 by Henry Wilkes at 2024-08-20T12:55:05+00:00 fixup! Add TorStrings module for localization Bug 42212: Migrate onion service strings to Fluent. - - - - - 7143db9a by Henry Wilkes at 2024-08-20T12:55:05+00:00 fixup! Tor Browser localization migration scripts. Bug 42212: Migrate onion service strings to Fluent. - - - - - 16 changed files: - browser/base/content/browser.xhtml - browser/base/content/pageinfo/pageInfo.xhtml - browser/base/content/pageinfo/security.js - browser/components/onionservices/content/authNotificationIcon.inc.xhtml - browser/components/onionservices/content/authPopup.inc.xhtml - browser/components/onionservices/content/authPreferences.inc.xhtml - browser/components/onionservices/content/authPreferences.js - browser/components/onionservices/content/authPrompt.js - browser/components/onionservices/content/onionservices.css - browser/components/onionservices/content/savedKeysDialog.js - browser/components/onionservices/content/savedKeysDialog.xhtml - toolkit/locales/en-US/toolkit/global/tor-browser.ftl - toolkit/modules/TorStrings.sys.mjs - − toolkit/torbutton/chrome/locale/en-US/torbutton.dtd - toolkit/torbutton/chrome/locale/en-US/torbutton.properties - + tools/torbrowser/l10n/migrations/bug-42212-onion-services.py Changes: ===================================== browser/base/content/browser.xhtml ===================================== @@ -6,11 +6,6 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -<!DOCTYPE window [ - <!ENTITY % torbuttonDTD SYSTEM "chrome://torbutton/locale/torbutton.dtd"> -%torbuttonDTD; -]> - <html id="main-window" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" ===================================== browser/base/content/pageinfo/pageInfo.xhtml ===================================== @@ -27,6 +27,7 @@ <html:link rel="stylesheet" href="chrome://browser/skin/pageInfo.css" /> <html:link rel="localization" href="browser/pageInfo.ftl"/> + <html:link rel="localization" href="toolkit/global/tor-browser.ftl"/> </linkset> #ifdef XP_MACOSX #include ../macWindow.inc.xhtml ===================================== browser/base/content/pageinfo/security.js ===================================== @@ -15,11 +15,6 @@ const { DownloadUtils } = ChromeUtils.importESModule( ChromeUtils.defineESModuleGetters(this, { LoginHelper: "resource://gre/modules/LoginHelper.sys.mjs", }); -ChromeUtils.defineLazyGetter(this, "gTorButtonBundle", function () { - return Services.strings.createBundle( - "chrome://torbutton/locale/torbutton.properties" - ); -}); var security = { async init(uri, windowInfo) { @@ -364,9 +359,13 @@ async function securityOnLoad(uri, windowInfo) { ); } else { try { - hdr = gTorButtonBundle.formatStringFromName( - "pageInfo_OnionEncryptionWithBitsAndProtocol", - [info.encryptionAlgorithm, info.encryptionStrength + "", info.version] + hdr = await document.l10n.formatValue( + "page-info-onion-site-encryption-with-bits", + { + "encryption-type": info.encryptionAlgorithm, + "encryption-strength": info.encryptionStrength, + "encryption-version": info.version, + } ); } catch (err) { hdr = @@ -392,11 +391,9 @@ async function securityOnLoad(uri, windowInfo) { } msg2 = pkiBundle.getString("pageInfo_Privacy_None2"); } else { - try { - hdr = gTorButtonBundle.GetStringFromName("pageInfo_OnionEncryption"); - } catch (err) { - hdr = "Connection Encrypted (Onion Service)"; - } + hdr = await document.l10n.formatValue( + "page-info-onion-site-encryption-plain" + ); msg1 = pkiBundle.getString("pageInfo_Privacy_Encrypted1"); msg2 = pkiBundle.getString("pageInfo_Privacy_Encrypted2"); ===================================== browser/components/onionservices/content/authNotificationIcon.inc.xhtml ===================================== @@ -3,4 +3,4 @@ <image id="tor-clientauth-notification-icon" class="notification-anchor-icon tor-clientauth-icon" role="button" - tooltiptext="&torbutton.onionServices.authPrompt.tooltip;"/> + data-l10n-id="onion-site-authentication-urlbar-button"/> ===================================== browser/components/onionservices/content/authPopup.inc.xhtml ===================================== @@ -2,17 +2,25 @@ <popupnotification id="tor-clientauth-notification" hidden="true"> <popupnotificationcontent orient="vertical"> - <description id="tor-clientauth-notification-desc"/> - <label id="tor-clientauth-notification-learnmore" - class="text-link popup-notification-learnmore-link" - is="text-link" - href="about:manual#onion-services_onion-service-authentication" - useoriginprincipal="true"/> + <description id="tor-clientauth-notification-desc" /> + <label + class="text-link popup-notification-learnmore-link" + is="text-link" + href="about:manual#onion-services_onion-service-authentication" + useoriginprincipal="true" + data-l10n-id="onion-site-authentication-prompt-learn-more" + /> <html:div> - <html:input id="tor-clientauth-notification-key" type="password"/> - <html:div id="tor-clientauth-warning"/> - <checkbox id="tor-clientauth-persistkey-checkbox" - label="&torbutton.onionServices.authPrompt.persistCheckboxLabel;"/> + <html:input + id="tor-clientauth-notification-key" + type="password" + data-l10n-id="onion-site-authentication-prompt-key-input" + /> + <html:div id="tor-clientauth-warning"></html:div> + <checkbox + id="tor-clientauth-persistkey-checkbox" + data-l10n-id="onion-site-authentication-prompt-remember-checkbox" + /> </html:div> </popupnotificationcontent> </popupnotification> ===================================== browser/components/onionservices/content/authPreferences.inc.xhtml ===================================== @@ -2,21 +2,34 @@ <groupbox id="torOnionServiceKeys" orient="vertical" data-category="panePrivacy" hidden="true"> - <label><html:h2 id="torOnionServiceKeys-header"/></label> + <label><html:h2 + data-l10n-id="onion-site-authentication-preferences-heading" + ></html:h2></label> <hbox> <description class="description-deemphasized description-with-side-element" flex="1" > - <html:span id="torOnionServiceKeys-overview" - class="tail-with-learn-more"/> - <label id="torOnionServiceKeys-learnMore" class="learnMore text-link" - is="text-link"/> + <html:span + id="torOnionServiceKeys-overview" + class="tail-with-learn-more" + data-l10n-id="onion-site-authentication-preferences-overview" + ></html:span> + <label + id="torOnionServiceKeys-learnMore" + class="learnMore text-link" + is="text-link" + href="about:manual#onion-services_onion-service-authentication" + useoriginprincipal="true" + data-l10n-id="onion-site-authentication-preferences-learn-more" + /> </description> <vbox align="end"> - <button id="torOnionServiceKeys-savedKeys" - is="highlightable-button" - class="accessory-button"/> + <html:button + id="torOnionServiceKeys-savedKeys" + class="accessory-button" + data-l10n-id="onion-site-authentication-preferences-saved-keys-button" + ></html:button> </vbox> </hbox> </groupbox> ===================================== browser/components/onionservices/content/authPreferences.js ===================================== @@ -2,69 +2,19 @@ "use strict"; -ChromeUtils.defineESModuleGetters(this, { - TorStrings: "resource://gre/modules/TorStrings.sys.mjs", -}); - -/* globals gSubDialog */ - -/* - Onion Services Client Authentication Preferences Code - - Code to handle init and update of onion services authentication section - in about:preferences#privacy -*/ - -const OnionServicesAuthPreferences = { - selector: { - groupBox: "#torOnionServiceKeys", - header: "#torOnionServiceKeys-header", - overview: "#torOnionServiceKeys-overview", - learnMore: "#torOnionServiceKeys-learnMore", - savedKeysButton: "#torOnionServiceKeys-savedKeys", - }, +/* import-globals-from /browser/components/preferences/preferences.js */ +/** + * Onion site preferences. + */ +var OnionServicesAuthPreferences = { init() { - // populate XUL with localized strings - this._populateXUL(); - }, - - _populateXUL() { - const groupbox = document.querySelector(this.selector.groupBox); - - let elem = groupbox.querySelector(this.selector.header); - elem.textContent = TorStrings.onionServices.authPreferences.header; - - elem = groupbox.querySelector(this.selector.overview); - elem.textContent = TorStrings.onionServices.authPreferences.overview; - - elem = groupbox.querySelector(this.selector.learnMore); - elem.setAttribute("value", TorStrings.onionServices.learnMore); - elem.setAttribute( - "href", - "about:manual#onion-services_onion-service-authentication" - ); - elem.setAttribute("useoriginprincipal", "true"); - - elem = groupbox.querySelector(this.selector.savedKeysButton); - elem.setAttribute( - "label", - TorStrings.onionServices.authPreferences.savedKeys - ); - elem.addEventListener("command", () => - OnionServicesAuthPreferences.onViewSavedKeys() - ); + document + .getElementById("torOnionServiceKeys-savedKeys") + .addEventListener("click", () => { + gSubDialog.open( + "chrome://browser/content/onionservices/savedKeysDialog.xhtml" + ); + }); }, - - onViewSavedKeys() { - gSubDialog.open( - "chrome://browser/content/onionservices/savedKeysDialog.xhtml" - ); - }, -}; // OnionServicesAuthPreferences - -Object.defineProperty(this, "OnionServicesAuthPreferences", { - value: OnionServicesAuthPreferences, - enumerable: true, - writable: false, -}); +}; ===================================== browser/components/onionservices/content/authPrompt.js ===================================== @@ -56,28 +56,47 @@ var OnionAuthPrompt = { show(details) { this._logger.debug(`New Notification: ${this._detailsRepr(details)}`); + // NOTE: PopupNotifications currently requires the accesskey and label to be + // set for all actions, and does not accept fluent IDs in their place. + // Moreover, there doesn't appear to be a simple way to work around this, so + // we have to fetch the strings here before calling the show() method. + // NOTE: We avoid using the async formatMessages because we don't want to + // race against the browser's location changing. + // In principle, we could check that the details.browser.currentURI still + // matches details.uri or use a LocationChange listener. However, we expect + // that PopupNotifications will eventually change to accept fluent IDs, so + // we won't have to use formatMessages here at all. + // Moreover, we do not expect this notification to be common, so this + // shouldn't be too expensive. + // NOTE: Once we call PopupNotifications.show, PopupNotifications should + // take care of listening for changes in locations for us and remove the + // notification. + let [okButtonMsg, cancelButtonMsg] = this._lazy.SyncL10n.formatMessagesSync( + [ + "onion-site-authentication-prompt-ok-button", + "onion-site-authentication-prompt-cancel-button", + ] + ); + + // Get an attribute string from a L10nMessage. + // We wrap the return value as a String to prevent the notification from + // throwing (and not showing) if a locale is unexpectedly missing a value. + const msgAttribute = (msg, name) => + String((msg.attributes ?? []).find(attr => attr.name === name)?.value); + let mainAction = { - label: this.TorStrings.onionServices.authPrompt.done, - accessKey: this.TorStrings.onionServices.authPrompt.doneAccessKey, + label: msgAttribute(okButtonMsg, "label"), + accessKey: msgAttribute(okButtonMsg, "accesskey"), leaveOpen: true, // Callback is responsible for closing the notification. - callback: this._onDone.bind(this), + callback: () => this._onDone(), }; - let dialogBundle = Services.strings.createBundle( - "chrome://global/locale/dialog.properties" - ); - - let cancelAccessKey = dialogBundle.GetStringFromName("accesskey-cancel"); - if (!cancelAccessKey) { - cancelAccessKey = "c"; - } // required by PopupNotifications.show() - // The first secondarybuttoncommand (cancelAction) should be triggered when // the user presses "Escape". let cancelAction = { - label: dialogBundle.GetStringFromName("button-cancel"), - accessKey: cancelAccessKey, - callback: this._onCancel.bind(this), + label: msgAttribute(cancelButtonMsg, "label"), + accessKey: msgAttribute(cancelButtonMsg, "accesskey"), + callback: () => this._onCancel(), }; let options = { @@ -134,22 +153,17 @@ var OnionAuthPrompt = { this._keyInput.value = ""; this._persistCheckbox.checked = false; - // Handle replacement of the onion name within the localized - // string ourselves so we can show the onion name as bold text. - // We do this by splitting the localized string and creating - // several HTML <span> elements. - const fmtString = this.TorStrings.onionServices.authPrompt.description; - const [prefix, suffix] = fmtString.split("%S"); - - const domainEl = document.createElement("span"); - domainEl.id = "tor-clientauth-notification-onionname"; - domainEl.textContent = TorUIUtils.shortenOnionAddress( - this._shownDetails?.onionHost ?? "" + document.l10n.setAttributes( + this._descriptionEl, + "onion-site-authentication-prompt-description", + { + onionsite: TorUIUtils.shortenOnionAddress( + this._shownDetails?.onionHost ?? "" + ), + } ); - this._descriptionEl.replaceChildren(prefix, domainEl, suffix); - - this._showWarning(undefined); + this._showWarning(null); }, /** @@ -187,12 +201,13 @@ var OnionAuthPrompt = { ); // Grab the details before they might change as we await. - const { browser, onionServiceId, notification } = this._shownDetails; + const details = this._shownDetails; + const { browser, onionServiceId, notification } = details; const isPermanent = this._persistCheckbox.checked; const base64key = this._keyToBase64(this._keyInput.value); if (!base64key) { - this._showWarning(this.TorStrings.onionServices.authPrompt.invalidKey); + this._showWarning("onion-site-authentication-prompt-invalid-key"); return; } @@ -200,12 +215,11 @@ var OnionAuthPrompt = { const provider = await this._lazy.TorProviderBuilder.build(); await provider.onionAuthAdd(onionServiceId, base64key, isPermanent); } catch (e) { - if (e.torMessage) { - this._showWarning(e.torMessage); - } else { - this._logger.error(`Failed to set key for ${onionServiceId}`, e); + this._logger.error(`Failed to set key for ${onionServiceId}`, e); + if (details === this._shownDetails) { + // Notification has not been replaced. this._showWarning( - this.TorStrings.onionServices.authPrompt.failedToSetKey + "onion-site-authentication-prompt-setting-key-failed" ); } return; @@ -245,16 +259,19 @@ var OnionAuthPrompt = { /** * Show a warning message to the user or clear the warning. * - * @param {string?} warningMessage - The message to show, or undefined to - * clear the current message. + * @param {?string} warningMessageId - The l10n ID for the message to show, or + * null to clear the current message. */ - _showWarning(warningMessage) { - this._logger.debug(`Showing warning: ${warningMessage}`); - if (warningMessage) { - this._warningEl.textContent = warningMessage; + _showWarning(warningMessageId) { + this._logger.debug(`Showing warning: ${warningMessageId}`); + if (warningMessageId) { + document.l10n.setAttributes(this._warningEl, warningMessageId); this._warningEl.removeAttribute("hidden"); this._keyInput.classList.add("invalid"); } else { + // Clean up. + this._warningEl.removeAttribute("data-l10n-id"); + this._warningEl.textContent = ""; this._warningEl.setAttribute("hidden", "true"); this._keyInput.classList.remove("invalid"); } @@ -264,7 +281,7 @@ var OnionAuthPrompt = { * Convert the user-entered key into base64. * * @param {string} keyString - The key to convert. - * @returns {string?} - The base64 representation, or undefined if the given + * @returns {?string} - The base64 representation, or undefined if the given * key was not the correct format. */ _keyToBase64(keyString) { @@ -310,14 +327,17 @@ var OnionAuthPrompt = { maxLogLevelPref: "browser.onionAuthPrompt.loglevel", }); - const { TorStrings } = ChromeUtils.importESModule( - "resource://gre/modules/TorStrings.sys.mjs" - ); - this.TorStrings = TorStrings; ChromeUtils.defineESModuleGetters(this._lazy, { TorProviderBuilder: "resource://gre/modules/TorProviderBuilder.sys.mjs", CommonUtils: "resource://services-common/utils.sys.mjs", }); + // Allow synchornous access to the localized strings. Used only for the + // button actions, which is currently a hard requirement for + // PopupNotifications.show. Hopefully, PopupNotifications will accept fluent + // ids in their place, or get replaced with something else that does. + ChromeUtils.defineLazyGetter(this._lazy, "SyncL10n", () => { + return new Localization(["toolkit/global/tor-browser.ftl"], true); + }); this._keyInput = document.getElementById("tor-clientauth-notification-key"); this._persistCheckbox = document.getElementById( @@ -328,19 +348,6 @@ var OnionAuthPrompt = { "tor-clientauth-notification-desc" ); - // Set "Learn More" label and href. - const learnMoreElem = document.getElementById( - "tor-clientauth-notification-learnmore" - ); - learnMoreElem.setAttribute( - "value", - this.TorStrings.onionServices.learnMore - ); - - this._keyInput.setAttribute( - "placeholder", - this.TorStrings.onionServices.authPrompt.keyPlaceholder - ); this._keyInput.addEventListener("keydown", event => { if (event.key === "Enter") { event.preventDefault(); @@ -349,7 +356,7 @@ var OnionAuthPrompt = { }); this._keyInput.addEventListener("input", () => { // Remove the warning. - this._showWarning(undefined); + this._showWarning(null); }); // Force back focus on click: tor-browser#41856 ===================================== browser/components/onionservices/content/onionservices.css ===================================== @@ -1,12 +1,10 @@ /* Copyright (c) 2020, The Tor Project, Inc. */ -@namespace html url("http://www.w3.org/1999/xhtml"); - -html|*#tor-clientauth-notification-onionname { +#tor-clientauth-notification-desc { font-weight: bold; } -html|*#tor-clientauth-notification-key { +#tor-clientauth-notification-key { box-sizing: border-box; width: 100%; margin-top: 15px; @@ -17,12 +15,12 @@ html|*#tor-clientauth-notification-key { * browser/components/newtab/css/activity-stream-mac.css (linux and windows * use the same rules). */ -html|*#tor-clientauth-notification-key.invalid { +#tor-clientauth-notification-key.invalid { border: 1px solid #D70022; box-shadow: 0 0 0 1px #D70022, 0 0 0 4px rgba(215, 0, 34, 0.3); } -html|*#tor-clientauth-warning { +#tor-clientauth-warning { display: inline-block; animation: fade-up-tt 450ms; background: #D70022; @@ -35,11 +33,11 @@ html|*#tor-clientauth-warning { z-index: 1; } -html|*#tor-clientauth-warning[hidden] { +#tor-clientauth-warning[hidden] { display: none; } -html|*#tor-clientauth-warning::before { +#tor-clientauth-warning::before { background: #D70022; bottom: -8px; content: '.'; ===================================== browser/components/onionservices/content/savedKeysDialog.js ===================================== @@ -3,23 +3,10 @@ "use strict"; ChromeUtils.defineESModuleGetters(this, { - TorStrings: "resource://gre/modules/TorStrings.sys.mjs", TorProviderBuilder: "resource://gre/modules/TorProviderBuilder.sys.mjs", }); var gOnionServicesSavedKeysDialog = { - selector: { - dialog: "#onionservices-savedkeys-dialog", - intro: "#onionservices-savedkeys-intro", - tree: "#onionservices-savedkeys-tree", - onionSiteCol: "#onionservices-savedkeys-siteCol", - onionKeyCol: "#onionservices-savedkeys-keyCol", - errorIcon: "#onionservices-savedkeys-errorIcon", - errorMessage: "#onionservices-savedkeys-errorMessage", - removeButton: "#onionservices-savedkeys-remove", - removeAllButton: "#onionservices-savedkeys-removeall", - }, - _tree: undefined, _busyCount: 0, get _isBusy() { @@ -27,8 +14,8 @@ var gOnionServicesSavedKeysDialog = { return this._busyCount > 0; }, - // Public functions (called from outside this file). - async deleteSelectedKeys() { + async _deleteSelectedKeys() { + this._showError(null); this._withBusy(async () => { const indexesToDelete = []; const count = this._tree.view.selection.getRangeCount(); @@ -42,8 +29,6 @@ var gOnionServicesSavedKeysDialog = { } if (indexesToDelete.length) { - const controllerFailureMsg = - TorStrings.onionServices.authPreferences.failedToRemoveKey; const provider = await TorProviderBuilder.build(); try { // Remove in reverse index order to avoid issues caused by index @@ -53,28 +38,23 @@ var gOnionServicesSavedKeysDialog = { } } catch (e) { console.error("Removing a saved key failed", e); - if (e.torMessage) { - this._showError(e.torMessage); - } else { - this._showError(controllerFailureMsg); - } + this._showError( + "onion-site-saved-keys-dialog-remove-keys-error-message" + ); } } }); }, - async deleteAllKeys() { + async _deleteAllKeys() { this._tree.view.selection.selectAll(); - await this.deleteSelectedKeys(); + await this._deleteSelectedKeys(); }, - updateButtonsState() { + _updateButtonsState() { const haveSelection = this._tree.view.selection.getRangeCount() > 0; - const dialog = document.querySelector(this.selector.dialog); - const removeSelectedBtn = dialog.querySelector(this.selector.removeButton); - removeSelectedBtn.disabled = this._isBusy || !haveSelection; - const removeAllBtn = dialog.querySelector(this.selector.removeAllButton); - removeAllBtn.disabled = this._isBusy || this.rowCount === 0; + this._removeButton.disabled = this._isBusy || !haveSelection; + this._removeAllButton.disabled = this._isBusy || this.rowCount === 0; }, // Private functions. @@ -82,38 +62,40 @@ var gOnionServicesSavedKeysDialog = { document.mozSubdialogReady = this._init(); }, - async _init() { + _init() { this._populateXUL(); window.addEventListener("keypress", this._onWindowKeyPress.bind(this)); this._loadSavedKeys(); }, _populateXUL() { - const dialog = document.querySelector(this.selector.dialog); - const authPrefStrings = TorStrings.onionServices.authPreferences; - dialog.setAttribute("title", authPrefStrings.dialogTitle); - - let elem = dialog.querySelector(this.selector.intro); - elem.textContent = authPrefStrings.dialogIntro; - - elem = dialog.querySelector(this.selector.onionSiteCol); - elem.setAttribute("label", authPrefStrings.onionSite); - - elem = dialog.querySelector(this.selector.onionKeyCol); - elem.setAttribute("label", authPrefStrings.onionKey); - - elem = dialog.querySelector(this.selector.removeButton); - elem.setAttribute("label", authPrefStrings.remove); - - elem = dialog.querySelector(this.selector.removeAllButton); - elem.setAttribute("label", authPrefStrings.removeAll); + this._errorMessageContainer = document.getElementById( + "onionservices-savedkeys-errorContainer" + ); + this._errorMessageEl = document.getElementById( + "onionservices-savedkeys-errorMessage" + ); + this._removeButton = document.getElementById( + "onionservices-savedkeys-remove" + ); + this._removeButton.addEventListener("click", () => { + this._deleteSelectedKeys(); + }); + this._removeAllButton = document.getElementById( + "onionservices-savedkeys-removeall" + ); + this._removeButton.addEventListener("click", () => { + this._deleteAllKeys(); + }); - this._tree = dialog.querySelector(this.selector.tree); + this._tree = document.getElementById("onionservices-savedkeys-tree"); + this._tree.addEventListener("select", () => { + this._updateButtonsState(); + }); }, async _loadSavedKeys() { - const controllerFailureMsg = - TorStrings.onionServices.authPreferences.failedToGetKeys; + this._showError(null); this._withBusy(async () => { try { this._tree.view = this; @@ -139,11 +121,10 @@ var gOnionServicesSavedKeysDialog = { // Render the tree content. this._tree.rowCountChanged(0, this.rowCount); } catch (e) { - if (e.torMessage) { - this._showError(e.torMessage); - } else { - this._showError(controllerFailureMsg); - } + console.error("Failed to load keys", e); + this._showError( + "onion-site-saved-keys-dialog-fetch-keys-error-message" + ); } }); }, @@ -160,14 +141,14 @@ var gOnionServicesSavedKeysDialog = { async _withBusy(func) { this._busyCount++; if (this._busyCount === 1) { - this.updateButtonsState(); + this._updateButtonsState(); } try { await func(); } finally { this._busyCount--; if (this._busyCount === 0) { - this.updateButtonsState(); + this._updateButtonsState(); } } }, @@ -179,16 +160,25 @@ var gOnionServicesSavedKeysDialog = { if (event.keyCode === KeyEvent.DOM_VK_ESCAPE) { window.close(); } else if (event.keyCode === KeyEvent.DOM_VK_DELETE) { - this.deleteSelectedKeys(); + this._deleteSelectedKeys(); } }, - _showError(aMessage) { - document - .getElementById("onionservices-savedkeys-errorContainer") - .classList.toggle("show-error", !!aMessage); - const errorDesc = document.querySelector(this.selector.errorMessage); - errorDesc.textContent = aMessage ? aMessage : ""; + /** + * Show an error, or clear it. + * + * @param {?string} messageId - The l10n ID of the message to show, or null to + * clear it. + */ + _showError(messageId) { + this._errorMessageContainer.classList.toggle("show-error", !!messageId); + if (messageId) { + document.l10n.setAttributes(this._errorMessageEl, messageId); + } else { + // Clean up. + this._errorMessageEl.removeAttribute("data-l10n-id"); + this._errorMessageEl.textContent = ""; + } }, // XUL tree widget view implementation. ===================================== browser/components/onionservices/content/savedKeysDialog.xhtml ===================================== @@ -9,29 +9,37 @@ id="onionservices-savedkeys-dialog" windowtype="OnionServices:SavedKeys" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" + xmlns:html="http://www.w3.org/1999/xhtml" + data-l10n-id="onion-site-saved-keys-dialog-title" > + <linkset> + <html:link rel="localization" href="toolkit/global/tor-browser.ftl" /> + </linkset> + <script src="chrome://browser/content/onionservices/savedKeysDialog.js" /> <vbox id="onionservices-savedkeys" class="contentPane" flex="1"> <label id="onionservices-savedkeys-intro" control="onionservices-savedkeys-tree" + data-l10n-id="onion-site-saved-keys-dialog-intro" /> <separator class="thin" /> - <tree - id="onionservices-savedkeys-tree" - flex="1" - hidecolumnpicker="true" - onselect="gOnionServicesSavedKeysDialog.updateButtonsState();" - > + <tree id="onionservices-savedkeys-tree" flex="1" hidecolumnpicker="true"> <treecols> <treecol id="onionservices-savedkeys-siteCol" flex="1" persist="width" + data-l10n-id="onion-site-saved-keys-dialog-table-header-site" /> <splitter class="tree-splitter" /> - <treecol id="onionservices-savedkeys-keyCol" flex="1" persist="width" /> + <treecol + id="onionservices-savedkeys-keyCol" + flex="1" + persist="width" + data-l10n-id="onion-site-saved-keys-dialog-table-header-key" + /> </treecols> <treechildren /> </tree> @@ -41,15 +49,15 @@ </hbox> <separator class="thin" /> <hbox id="onionservices-savedkeys-buttons"> - <button + <html:button id="onionservices-savedkeys-remove" disabled="true" - oncommand="gOnionServicesSavedKeysDialog.deleteSelectedKeys();" - /> - <button + data-l10n-id="onion-site-saved-keys-dialog-remove-button" + ></html:button> + <html:button id="onionservices-savedkeys-removeall" - oncommand="gOnionServicesSavedKeysDialog.deleteAllKeys();" - /> + data-l10n-id="onion-site-saved-keys-dialog-remove-all-button" + ></html:button> </hbox> </vbox> </window> ===================================== toolkit/locales/en-US/toolkit/global/tor-browser.ftl ===================================== @@ -637,3 +637,62 @@ onion-neterror-invalid-address-description = The provided onion site address is # "Circuit" refers to a Tor network circuit. onion-neterror-timed-out-header = Onion site circuit creation timed out onion-neterror-timed-out-description = Failed to connect to the onion site, possibly due to a poor network connection. + +## Onion site authentication prompt. +## "Onion site" is an abbreviation of "onion website": a website whose domain URL ends in ".onion", which is reachable through the Tor network. + +# Here "open" is a verb. +onion-site-authentication-urlbar-button = + .tooltiptext = Open the onion site authentication panel + +# $onionsite (String) - The shortened onion address for the current web site, for example "a3jx8k…pbsh7y.onion". +onion-site-authentication-prompt-description = The onion site { $onionsite } is requesting that you authenticate. +onion-site-authentication-prompt-learn-more = Learn more +onion-site-authentication-prompt-key-input = + .placeholder = Enter your private key for this onion site +onion-site-authentication-prompt-remember-checkbox = + .label = Remember this key +onion-site-authentication-prompt-ok-button = + .label = OK + .accesskey = O +onion-site-authentication-prompt-cancel-button = + .label = Cancel + .accesskey = C +# Error message shown when the entered key is the wrong length or the wrong format. +# "base32" and "base64" are technical names for binary-to-text encodings: https://en.wikipedia.org/wiki/Base64 +onion-site-authentication-prompt-invalid-key = Please enter a valid key (52 base32 characters or 44 base64 characters) +onion-site-authentication-prompt-setting-key-failed = Unable to configure Tor with your key + +## Page Info window for onion sites. +## "Onion site" is an abbreviation of "onion website": a website whose domain URL ends in ".onion", which is reachable through the Tor network. + +# $encryption-type (String) - The name of the encryption algorithm used for the page, for example "TLS_AES_128_GCM_SHA256". +# $encryption-stength (Number) - The number of bits for the encryption key, for example "128" or "256". The "NUMBER" function will format this number to the same locale, and the "useGrouping" option will remove grouping symbols, like thousand separators. Note that the "bit" in "bit keys" refers to a computer "binary digit". +# $encryption-version (String) - The name and version of the encryption, for example "TLS 1.3". +page-info-onion-site-encryption-with-bits = Connection encrypted (Onion site, { $encryption-type }, { NUMBER($encryption-strength, useGrouping: "false") } bit keys, { $encryption-version }) +page-info-onion-site-encryption-plain = Connection encrypted (Onion site) + +## Onion site authentication preferences. +## "Onion site" is an abbreviation of "onion website": a website whose domain URL ends in ".onion", which is reachable through the Tor network. + +onion-site-authentication-preferences-heading = Onion site authentication +onion-site-authentication-preferences-overview = Some onion sites require that you identify yourself with a key (a kind of password) before you can access them. +onion-site-authentication-preferences-learn-more = Learn more +onion-site-authentication-preferences-saved-keys-button = Saved keys… + +## Onion site saved keys dialog. +## "Onion site" is an abbreviation of "onion website": a website whose domain URL ends in ".onion", which is reachable through the Tor network. + +onion-site-saved-keys-dialog-title = + .title = Onion site keys + +onion-site-saved-keys-dialog-intro = The following onion site keys are stored on your computer. +onion-site-saved-keys-dialog-table-header-site = + .label = Onion site +# "Key" is a noun, for an access key. +onion-site-saved-keys-dialog-table-header-key = + .label = Key +onion-site-saved-keys-dialog-remove-button = Remove +onion-site-saved-keys-dialog-remove-all-button = Remove all +onion-site-saved-keys-dialog-fetch-keys-error-message = Unable to retrieve keys from Tor +onion-site-saved-keys-dialog-remove-keys-error-message = Unable to remove key ===================================== toolkit/modules/TorStrings.sys.mjs ===================================== @@ -221,71 +221,6 @@ const Loader = { }; }, - /* - Tor Onion Services Strings, e.g., for the authentication prompt. - */ - onionServices() { - const tsb = new TorPropertyStringBundle( - "chrome://torbutton/locale/torbutton.properties", - "onionServices." - ); - const getString = tsb.getString.bind(tsb); - - const retval = { - learnMore: getString("learnMore", "Learn more"), - authPrompt: { - description: getString( - "authPrompt.description2", - "%S is requesting that you authenticate." - ), - keyPlaceholder: getString( - "authPrompt.keyPlaceholder", - "Enter your key" - ), - done: getString("authPrompt.done", "Done"), - doneAccessKey: getString("authPrompt.doneAccessKey", "d"), - invalidKey: getString("authPrompt.invalidKey", "Invalid key"), - failedToSetKey: getString( - "authPrompt.failedToSetKey", - "Failed to set key" - ), - }, - authPreferences: { - header: getString( - "authPreferences.header", - "Onion Services Authentication" - ), - overview: getString( - "authPreferences.overview", - "Some onion services require that you identify yourself with a key" - ), - savedKeys: getString("authPreferences.savedKeys", "Saved Keys"), - dialogTitle: getString( - "authPreferences.dialogTitle", - "Onion Services Keys" - ), - dialogIntro: getString( - "authPreferences.dialogIntro", - "Keys for the following onionsites are stored on your computer" - ), - onionSite: getString("authPreferences.onionSite", "Onionsite"), - onionKey: getString("authPreferences.onionKey", "Key"), - remove: getString("authPreferences.remove", "Remove"), - removeAll: getString("authPreferences.removeAll", "Remove All"), - failedToGetKeys: getString( - "authPreferences.failedToGetKeys", - "Failed to get keys" - ), - failedToRemoveKey: getString( - "authPreferences.failedToRemoveKey", - "Failed to remove key" - ), - }, - }; - - return retval; - } /* Tor Onion Services Strings */, - /* OnionLocation */ @@ -330,13 +265,6 @@ export const TorStrings = { return this._torConnect; }, - get onionServices() { - if (!this._onionServices) { - this._onionServices = Loader.onionServices(); - } - return this._onionServices; - }, - get onionLocation() { if (!this._onionLocation) { this._onionLocation = Loader.onionLocation(); ===================================== toolkit/torbutton/chrome/locale/en-US/torbutton.dtd deleted ===================================== @@ -1,8 +0,0 @@ -<!-- Copyright (c) 2022, The Tor Project, Inc. - - This Source Code Form is subject to the terms of the Mozilla Public - - License, v. 2.0. If a copy of the MPL was not distributed with this - - file, You can obtain one at http://mozilla.org/MPL/2.0/. --> - -<!-- Onion services strings. Strings are kept here for ease of translation. --> -<!ENTITY torbutton.onionServices.authPrompt.tooltip "Open onion service client authentication prompt"> -<!ENTITY torbutton.onionServices.authPrompt.persistCheckboxLabel "Remember this key"> ===================================== toolkit/torbutton/chrome/locale/en-US/torbutton.properties ===================================== @@ -3,35 +3,6 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -# .Onion Page Info prompt. -pageInfo_OnionEncryptionWithBitsAndProtocol=Connection Encrypted (Onion Service, %1$S, %2$S bit keys, %3$S) -pageInfo_OnionEncryption=Connection Encrypted (Onion Service) - -# Shared between Onion Auth prompt and preferences -onionServices.learnMore=Learn more - -# Onion Services Authentication prompt -# LOCALIZATION NOTE: %S will be replaced with the .onion address. -onionServices.authPrompt.description2=%S is requesting that you authenticate. -onionServices.authPrompt.keyPlaceholder=Enter your private key for this onion service -onionServices.authPrompt.done=Done -onionServices.authPrompt.doneAccessKey=d -onionServices.authPrompt.invalidKey=Please enter a valid key (52 base32 characters or 44 base64 characters) -onionServices.authPrompt.failedToSetKey=Unable to configure Tor with your key - -# Onion Services Authentication preferences -onionServices.authPreferences.header=Onion Services Authentication -onionServices.authPreferences.overview=Some onion services require that you identify yourself with a key (a kind of password) before you can access them. -onionServices.authPreferences.savedKeys=Saved Keys… -onionServices.authPreferences.dialogTitle=Onion Service Keys -onionServices.authPreferences.dialogIntro=Keys for the following onionsites are stored on your computer -onionServices.authPreferences.onionSite=Onionsite -onionServices.authPreferences.onionKey=Key -onionServices.authPreferences.remove=Remove -onionServices.authPreferences.removeAll=Remove All -onionServices.authPreferences.failedToGetKeys=Unable to retrieve keys from tor -onionServices.authPreferences.failedToRemoveKey=Unable to remove key - # Profile/startup error messages. # LOCALIZATION NOTE: %S is the application name. profileProblemTitle=%S Profile Problem ===================================== tools/torbrowser/l10n/migrations/bug-42212-onion-services.py ===================================== @@ -0,0 +1,27 @@ +from fluent.migrate.helpers import transforms_from + + +def migrate(ctx): + dtd_path = "torbutton.dtd" + properties_path = "torbutton.properties" + + ctx.add_transforms( + "tor-browser.ftl", + "tor-browser.ftl", + transforms_from( + """ +onion-site-authentication-prompt-learn-more = { COPY(path, "onionServices.learnMore") } +onion-site-authentication-prompt-remember-checkbox = + .label = { COPY(dtd_path, "torbutton.onionServices.authPrompt.persistCheckboxLabel") } +onion-site-authentication-prompt-invalid-key = { COPY(path, "onionServices.authPrompt.invalidKey") } +onion-site-authentication-prompt-setting-key-failed = { COPY(path, "onionServices.authPrompt.failedToSetKey") } +onion-site-authentication-preferences-learn-more = { COPY(path, "onionServices.learnMore") } +onion-site-saved-keys-dialog-table-header-key = + .label = { COPY(path, "onionServices.authPreferences.onionKey") } +onion-site-saved-keys-dialog-remove-button = { COPY(path, "onionServices.authPreferences.remove") } +onion-site-saved-keys-dialog-remove-keys-error-message = { COPY(path, "onionServices.authPreferences.failedToRemoveKey") } +""", + dtd_path=dtd_path, + path=properties_path, + ), + ) View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/8b57c0… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/8b57c0… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-128.1.0esr-14.0-1] fixup! Bug 42835: Create an actor to filter file data transfers
by ma1 (@ma1) 20 Aug '24

20 Aug '24
ma1 pushed to branch tor-browser-128.1.0esr-14.0-1 at The Tor Project / Applications / Tor Browser Commits: 8b57c078 by hackademix at 2024-08-20T10:50:47+02:00 fixup! Bug 42835: Create an actor to filter file data transfers Bug 43064: Make file filtering more specific - - - - - 1 changed file: - toolkit/actors/FilesFilterChild.sys.mjs Changes: ===================================== toolkit/actors/FilesFilterChild.sys.mjs ===================================== @@ -12,11 +12,14 @@ ChromeUtils.defineLazyGetter(lazy, "console", () => { export class FilesFilterChild extends JSWindowActorChild { handleEvent(event) { + if (!Services.prefs.getBoolPref("browser.filesfilter.enabled", true)) { + return; + } // drop or paste const { composedTarget } = event; const dt = event.clipboardData || event.dataTransfer; - if (dt.files.length) { + if ([...dt.files].some(f => f.mozFullPath)) { if ( ["HTMLInputElement", "HTMLTextAreaElement"].includes( ChromeUtils.getClassName(composedTarget) @@ -25,7 +28,7 @@ export class FilesFilterChild extends JSWindowActorChild { event.preventDefault(); lazy.console.log( `Preventing path leak on ${event.type} for ${[...dt.files] - .map(f => f.name) + .map(f => `${f.name} (${f.mozFullPath})`) .join(", ")}.` ); } @@ -33,7 +36,7 @@ export class FilesFilterChild extends JSWindowActorChild { } // "Paste Without Formatting" (ctrl+shift+V) in HTML editors coerces files into paths - if (!(event.clipboardData && dt.getData("text"))) { + if (!(event.clipboardData && /[\/\\]/.test(dt.getData("text")))) { return; } View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/8b57c07… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/8b57c07… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build][maint-13.5] Bug 41206: Pass the number of processors to GeckoView's mozconfig.
by morgan (@morgan) 19 Aug '24

19 Aug '24
morgan pushed to branch maint-13.5 at The Tor Project / Applications / tor-browser-build Commits: ec572810 by Pier Angelo Vendrame at 2024-08-19T20:13:55+00:00 Bug 41206: Pass the number of processors to GeckoView&#39;s mozconfig. - - - - - 1 changed file: - projects/geckoview/build Changes: ===================================== projects/geckoview/build ===================================== @@ -37,6 +37,7 @@ cd /var/tmp/build/[% project %]-[% c("version") %] cat > .mozconfig << 'MOZCONFIG_EOF' . $topsrcdir/mozconfig-[% c("var/osname") %] +mk_add_options MOZ_PARALLEL_BUILD=[% c("num_procs") %] export MOZ_INCLUDE_SOURCE_INFO=1 export MOZ_SOURCE_REPO="[% c('var/gitlab_project') %]" export MOZ_SOURCE_CHANGESET=[% c("var/git_commit") %] View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/e… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/e… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build] Pushed new tag tbb-14.0a2-build2
by morgan (@morgan) 19 Aug '24

19 Aug '24
morgan pushed new tag tbb-14.0a2-build2 at The Tor Project / Applications / tor-browser-build -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/tree/tbb… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build][main] Bug 41186: Prepare Tor Browser 14.0a2 (build2)
by morgan (@morgan) 19 Aug '24

19 Aug '24
morgan pushed to branch main at The Tor Project / Applications / tor-browser-build Commits: 48cb2828 by Morgan at 2024-08-19T18:49:55+00:00 Bug 41186: Prepare Tor Browser 14.0a2 (build2) - - - - - 2 changed files: - projects/browser/Bundle-Data/Docs-TBB/ChangeLog.txt - rbm.conf Changes: ===================================== projects/browser/Bundle-Data/Docs-TBB/ChangeLog.txt ===================================== @@ -1,4 +1,4 @@ -Tor Browser 14.0a2 - August 16 2024 +Tor Browser 14.0a2 - August 19 2024 * All Platforms * Updated NoScript to 11.4.34 * Bug 42759: CI: remove localization file names that are in neither 14.0 nor 13.5 branches [tor-browser] @@ -80,7 +80,9 @@ Tor Browser 14.0a2 - August 16 2024 * Bug 41172: Refactor the android-toolchain project [tor-browser-build] * Bug 41178: Force IPv4 when downloading in fix_gradle_deps.py [tor-browser-build] * Bug 41200: Remove allowed_addons.json and the related tools [tor-browser-build] + * Bug 41206: GeckoView ignores the number of processors [tor-browser-build] * Bug 41210: Use tor-expert-bundle-aar in geckoview/build_apk [tor-browser-build] + * Bug 41211: The Android license file is not deterministic anymore [tor-browser-build] * Bug 41214: Update geckoview/config to be more like firefox/config [tor-browser-build] * Bug 41217: Update realprep.py script to handle Firefox 128-based Tor Browser Android [tor-browser-build] ===================================== rbm.conf ===================================== @@ -74,10 +74,10 @@ buildconf: var: torbrowser_version: '14.0a2' - torbrowser_build: 'build1' + torbrowser_build: 'build2' # This should be the date of when the build is started. For the build # to be reproducible, browser_release_date should always be in the past. - browser_release_date: '2024/08/16 00:08:31' + browser_release_date: '2024/08/19 18:48:21' browser_release_date_timestamp: '[% USE date; date.format(c("var/browser_release_date"), "%s") %]' updater_enabled: 1 build_mar: 1 View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/4… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/4… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build][main] 3 commits: Bug 41211: Share parts of the GeckoView build files.
by morgan (@morgan) 19 Aug '24

19 Aug '24
morgan pushed to branch main at The Tor Project / Applications / tor-browser-build Commits: a38be5d2 by Pier Angelo Vendrame at 2024-08-19T15:47:08+02:00 Bug 41211: Share parts of the GeckoView build files. GeckoView is built in two steps (build to create the arch-specific .aars and build_apk to build the Kotlin code). However, they share big chunks of build code, therefore we always risk to forget to update one of the two. So, in this commit we move the duplicate parts in a shared preamble file. - - - - - 27c27ac6 by Pier Angelo Vendrame at 2024-08-19T15:47:10+02:00 Bug 41211: Build the oss-licenses Gradle plugin. After we updated our toolchains for Firefox 128, we encountered reproducibility problems in the license files. Therefore, we build a patched plugin to resolve them. - - - - - 7c687f29 by Pier Angelo Vendrame at 2024-08-19T16:56:20+02:00 Bug 41211: Use our oss-licenses-plugin in GeckoView. - - - - - 10 changed files: - projects/geckoview/build - projects/geckoview/build_apk - + projects/geckoview/build_common - projects/geckoview/config - projects/geckoview/gradle-dependencies-list.txt - + projects/oss-licenses-plugin/build - + projects/oss-licenses-plugin/build-customization.diff - + projects/oss-licenses-plugin/config - + projects/oss-licenses-plugin/gradle-dependencies-list.txt - + projects/oss-licenses-plugin/sort-dependencies.diff Changes: ===================================== projects/geckoview/build ===================================== @@ -1,23 +1,15 @@ #!/bin/bash -[% c("var/set_default_env") -%] -[% pc(c('var/compiler'), 'var/setup', { - compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')), - gradle_tarfile => c("input_files_by_name/gradle"), - }) %] -distdir=/var/tmp/dist -mkdir -p /var/tmp/build -mkdir -p $distdir +[% INCLUDE 'build_common' %] tar -C /var/tmp/dist -xf [% c('input_files_by_name/rust') %] tar -C /var/tmp/dist -xf [% c('input_files_by_name/cbindgen') %] tar -C /var/tmp/dist -xf [% c('input_files_by_name/nasm') %] -tar -C /var/tmp/dist -xf [% c('input_files_by_name/node') %] tar -C /var/tmp/dist -xf [% c('input_files_by_name/clang') %] export LLVM_CONFIG="/var/tmp/dist/clang/bin/llvm-config" tar -C /var/tmp/dist -xf [% c('input_files_by_name/llvm-runtimes') %] cp -r /var/tmp/dist/llvm-runtimes/* /var/tmp/dist/clang/ tar -C /var/tmp/dist -xf [% c('input_files_by_name/binutils') %] -export PATH="/var/tmp/dist/rust/bin:/var/tmp/dist/cbindgen:/var/tmp/dist/nasm/bin:/var/tmp/dist/node/bin:/var/tmp/dist/clang/bin:/var/tmp/dist/binutils/bin:$PATH" +export PATH="/var/tmp/dist/rust/bin:/var/tmp/dist/cbindgen:/var/tmp/dist/nasm/bin:/var/tmp/dist/clang/bin:/var/tmp/dist/binutils/bin:$PATH" [% IF c("var/rlbox") -%] tar -C /var/tmp/dist -xf [% c('input_files_by_name/wasi-sysroot') %] @@ -31,13 +23,6 @@ export PATH="/var/tmp/dist/rust/bin:/var/tmp/dist/cbindgen:/var/tmp/dist/nasm/bi export WASI_SYSROOT=/var/tmp/dist/wasi-sysroot/share/wasi-sysroot [% END -%] -tar -xf [% c('input_files_by_name/application-services') %] -export NIMBUS_FML=$rootdir/application-services/nimbus-fml - -[% INCLUDE 'fake-git' %] - -tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.[% c('compress_tar') %] - cd /var/tmp/build/[% project %]-[% c("version") %] cat > .mozconfig << 'MOZCONFIG_EOF' . $topsrcdir/mozconfig-[% c("var/osname") %] @@ -50,28 +35,6 @@ export MOZ_SOURCE_CHANGESET=[% c("var/git_commit") %] ac_add_options --enable-update-channel=[% c("var/variant") %] MOZCONFIG_EOF -[% c("var/set_MOZ_BUILD_DATE") %] - -export JAVA_HOME=/usr/lib/jvm/java-1.17.0-openjdk-amd64 -gradle_repo=/var/tmp/dist/gradle-dependencies -export GRADLE_MAVEN_REPOSITORIES="file://$gradle_repo","file://$gradle_repo/maven2" -# Set the Maven local repository because Gradle ignores our overriding of $HOME. -# It is only used for the local pubblication of single-arch AARs. -export GRADLE_FLAGS="--no-daemon --offline -Dmaven.repo.local=$distdir/[% project %]" -# Move the Gradle repo to a hard-coded location. The location is embedded in -# the file chrome/toolkit/content/global/buildconfig.html so it needs to be -# standardized for reproducibility. -mv $rootdir/[% c('input_files_by_name/gradle-dependencies') %] $gradle_repo -cp -rl $rootdir/application-services/maven/* $gradle_repo -cp -rl $gradle_repo/dl/android/maven2/* $gradle_repo || true -cp -rl $gradle_repo/m2/* $gradle_repo || true -cp -rl $gradle_repo/maven2/* $gradle_repo || true - -# We unbreak mach, see: https://bugzilla.mozilla.org/show_bug.cgi?id=1656993 and https://bugzilla.mozilla.org/show_bug.cgi?id=1755516 -export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system -# Create .mozbuild to avoid interactive prompt in configure -mkdir "$HOME/.mozbuild" - echo "Starting ./mach configure $(date)" ./mach configure \ --with-base-browser-version=[% c("var/torbrowser_version") %] \ ===================================== projects/geckoview/build_apk ===================================== @@ -1,26 +1,11 @@ #!/bin/bash -[% c("var/set_default_env") -%] -[% pc(c('var/compiler'), 'var/setup', { - compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')), - gradle_tarfile => c("input_files_by_name/gradle"), -}) %] -distdir=/var/tmp/dist -builddir=/var/tmp/build -mkdir -p $builddir $distdir - -tar -C $distdir -xf [% c('input_files_by_name/node') %] -export PATH="/var/tmp/dist/node/bin:$PATH" +[% INCLUDE 'build_common' %] tar -C $distdir -xf $rootdir/[% c('input_files_by_name/translation-fenix') %] tar -xf [% c('input_files_by_name/glean-wheels') %] export GLEAN_PYTHON_WHEELS_DIR=$rootdir/glean-wheels -tar -xf [% c('input_files_by_name/application-services') %] -export NIMBUS_FML=$rootdir/application-services/nimbus-fml - -[% INCLUDE 'fake-git' %] - tar -C $builddir -xf [% c('input_files_by_name/geckoview_armv7') %] tar -C $builddir -xf [% c('input_files_by_name/geckoview_aarch64') %] tar -C $builddir -xf [% c('input_files_by_name/geckoview_x86') %] @@ -44,23 +29,6 @@ export MOZ_SOURCE_REPO="[% c('var/gitlab_project') %]" export MOZ_SOURCE_CHANGESET=[% c("var/git_commit") %] MOZCONFIG_EOF -[% c("var/set_MOZ_BUILD_DATE") %] - -export JAVA_HOME=/usr/lib/jvm/java-1.17.0-openjdk-amd64 -gradle_repo=/var/tmp/dist/gradle-dependencies -export GRADLE_MAVEN_REPOSITORIES="file://$gradle_repo","file://$gradle_repo/maven2" -export GRADLE_FLAGS="--no-daemon --offline -Dmaven.repo.local=$distdir/[% project %]" -mv $rootdir/[% c('input_files_by_name/gradle-dependencies') %] $gradle_repo -cp -rl $rootdir/application-services/maven/* $gradle_repo -cp -rl $gradle_repo/dl/android/maven2/* $gradle_repo || true -cp -rl $gradle_repo/m2/* $gradle_repo || true -cp -rl $gradle_repo/maven2/* $gradle_repo || true - -# We unbreak mach, see: https://bugzilla.mozilla.org/show_bug.cgi?id=1656993. -export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system -# Create .mozbuild to avoid interactive prompt in configure -mkdir "$HOME/.mozbuild" - [% IF c("var/has_l10n") -%] supported_locales="[% tmpl(c('var/locales_mobile').join(' ')).replace('-r', '-').replace('in', 'id').replace('iw', 'he') %]" l10ncentral="$HOME/.mozbuild/l10n-central" @@ -73,9 +41,6 @@ mkdir "$HOME/.mozbuild" # through GeckoView. [% END -%] -export LC_ALL=C.UTF-8 -export LANG=C.UTF-8 - # We still need to specify --tor-browser-version due to bug 34005. ./mach configure \ --with-base-browser-version=[% c("var/torbrowser_version") %] \ ===================================== projects/geckoview/build_common ===================================== @@ -0,0 +1,46 @@ +[% c("var/set_default_env") -%] +[% pc(c('var/compiler'), 'var/setup', { + compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')), + gradle_tarfile => c("input_files_by_name/gradle"), +}) %] +distdir=/var/tmp/dist +builddir=/var/tmp/build +mkdir -p $builddir $distdir + +tar -C $distdir -xf [% c('input_files_by_name/node') %] +export PATH="/var/tmp/dist/node/bin:$PATH" + +export LC_ALL=C.UTF-8 +export LANG=C.UTF-8 + +tar -xf [% c('input_files_by_name/application-services') %] +export NIMBUS_FML=$rootdir/application-services/nimbus-fml + +[% INCLUDE 'fake-git' %] + +tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.[% c('compress_tar') %] + +[% c("var/set_MOZ_BUILD_DATE") %] + +export JAVA_HOME=/usr/lib/jvm/java-1.17.0-openjdk-amd64 +gradle_repo=/var/tmp/dist/gradle-dependencies +export GRADLE_MAVEN_REPOSITORIES="file://$gradle_repo","file://$gradle_repo/maven2" +# Set the Maven local repository because Gradle ignores our overriding of $HOME. +# It is only used for the local pubblication of single-arch AARs. +export GRADLE_FLAGS="--no-daemon --offline -Dmaven.repo.local=$distdir/[% project %]" +# Move the Gradle repo to a hard-coded location. The location is embedded in +# the file chrome/toolkit/content/global/buildconfig.html so it needs to be +# standardized for reproducibility. +mv $rootdir/[% c('input_files_by_name/gradle-dependencies') %] $gradle_repo +cp -rl $rootdir/application-services/maven/* $gradle_repo +cp -rl $gradle_repo/dl/android/maven2/* $gradle_repo || true +cp -rl $gradle_repo/m2/* $gradle_repo || true +cp -rl $gradle_repo/maven2/* $gradle_repo || true + +tar -xf [% c('input_files_by_name/oss-licenses-plugin') %] +cp -rl oss-licenses-plugin/. $gradle_repo + +# We unbreak mach, see: https://bugzilla.mozilla.org/show_bug.cgi?id=1656993. +export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system +# Create .mozbuild to avoid interactive prompt in configure +mkdir "$HOME/.mozbuild" ===================================== projects/geckoview/config ===================================== @@ -36,7 +36,7 @@ var: - openjdk-17-jdk-headless # this should be updated when the list of gradle dependencies is changed # see doc/how-to-create-gradle-dependencies-list.txt - gradle_dependencies_version: 13 + gradle_dependencies_version: 14 gradle_version: 8.8 glean_parser: 14.0.1 variant: beta @@ -111,6 +111,9 @@ steps: - name: tor-expert-bundle-aar project: tor-expert-bundle-aar pkg_type: build + - project: oss-licenses-plugin + name: oss-licenses-plugin + pkg_type: build list_toolchain_updates: git_hash: tor-browser-128.0b1-14.0-1 @@ -147,3 +150,5 @@ input_files: - filename: 'gradle-dependencies-[% c("var/gradle_dependencies_version") %]' name: gradle-dependencies exec: '[% INCLUDE "fetch-gradle-dependencies" %]' + - project: oss-licenses-plugin + name: oss-licenses-plugin ===================================== projects/geckoview/gradle-dependencies-list.txt ===================================== @@ -961,8 +961,6 @@ bc787098a208e6bdc8d93720a162bbea01df1b26394d1c1ef5ec523b1d604e8b | https://maven d6ff762251fb35594afe5efe860b5871064e18c0bd1bdb77084e3573f90e4e8f | https://maven.google.com/com/google/android/datatransport/transport-runtime… 41745c5b8f427d24439015b84f651ad420718991867d2afc262c264009b802c1 | https://maven.google.com/com/google/android/datatransport/transport-runtime… 86f452b74551062623fad0b0bb6bc4dc2a6ba9f44a99834d0e50fb047051357b | https://maven.google.com/com/google/android/datatransport/transport-runtime… -a2625e5f849e9d03a564cd85a08caa4266cd89c25af4298aad86c276f9efbc42 | https://maven.google.com/com/google/android/gms/oss-licenses-plugin/0.10.4/… -7e782a6e268910e89a0549f4a559385042d17dcf42f70c1031c02b3db5ba5bd0 | https://maven.google.com/com/google/android/gms/oss-licenses-plugin/0.10.4/… 380b09bfc5389fff93b5719c04e57c99678c9c3af0402a91e26d89734babcc49 | https://maven.google.com/com/google/android/gms/play-services-ads-identifie… d851ae0d9232951d36b1060eb8a3dc07ac5fcf668cb741b0a5a165c60519c898 | https://maven.google.com/com/google/android/gms/play-services-ads-identifie… eb1a063e5f2bccfc0568957d6699b6efbe741eb7ca785d8dcc9fac4de5d092bc | https://maven.google.com/com/google/android/gms/play-services-base/18.4.0/p… ===================================== projects/oss-licenses-plugin/build ===================================== @@ -0,0 +1,28 @@ +#!/bin/bash +[% c("var/set_default_env") -%] + +distdir=/var/tmp/dist/[% project %] +builddir=/var/tmp/build/[% project %]-[% c('version') %]/[% project %] +mkdir -p $distdir $builddir +tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.[% c('compress_tar') %] + +tar -C /var/tmp/dist -xf [% c('input_files_by_name/gradle') %] +export PATH=/var/tmp/dist/gradle/bin:$PATH + +gradle_repo=/var/tmp/dist/gradle-dependencies +mv $rootdir/[% c('input_files_by_name/gradle-dependencies') %] $gradle_repo +cp -rl $gradle_repo/m2/* $gradle_repo || true + +cd $builddir +patch -p2 < $rootdir/sort-dependencies.diff +patch -p2 < $rootdir/build-customization.diff +gradle --no-daemon --offline -Dmaven.repo.local=$gradle_repo assemble publish +cd build/repo +cp -a . $distdir/ + +cd /var/tmp/dist + +[% c('tar', { + tar_src => [ project ], + tar_args => '-caf ' _ dest_dir _ '/' _ c('filename'), + }) %] ===================================== projects/oss-licenses-plugin/build-customization.diff ===================================== @@ -0,0 +1,51 @@ +diff --git a/oss-licenses-plugin/build.gradle b/oss-licenses-plugin/build.gradle +index 2a7dd74..f9368e1 100644 +--- a/oss-licenses-plugin/build.gradle ++++ b/oss-licenses-plugin/build.gradle +@@ -15,34 +15,25 @@ dependencies { + group = 'com.google.android.gms' + version = '0.10.4' + +-apply plugin: 'maven' ++apply plugin: 'maven-publish' + + repositories { + google() + jcenter() ++ mavenLocal() + } + +-// upload and build in local +-uploadArchives { +- repositories { +- mavenDeployer { +- repository(url: uri('../repo')) +- pom.project { +- licenses { +- license { +- name 'The Apache Software License, Version 2.0' +- url 'http://www.apache.org/licenses/LICENSE-2.0.txt' +- distribution 'repo' +- } +- } +- +- } ++publishing { ++ publications { ++ customLibrary(MavenPublication) { ++ from components.java + } + } +-} + +-// generate zip file for android maven release tool +-task packageFiles(type: Zip, dependsOn: 'uploadArchives') { +- def groupDir = rootProject.group.replaceAll('\\.', '/') +- from("../repo/$groupDir/$rootProject.name/$rootProject.version/") ++ repositories { ++ maven { ++ name = 'sampleRepo' ++ url = layout.buildDirectory.dir("repo") ++ } ++ } + } ===================================== projects/oss-licenses-plugin/config ===================================== @@ -0,0 +1,22 @@ +version: 0.10.4 +filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.[% c("compress_tar") %]' +git_url: https://github.com/google/play-services-plugins.git +git_hash: c9ed0e48abe2c55dd67f2c2224988d1d690cecc9 # oss-licenses-plugin-v0.10.4 + +var: + # This should be updated when the list of gradle dependencies is changed. + gradle_dependencies_version: 1 + gradle_version: 8.8 + +container: + use_container: 1 + +input_files: + - project: container-image + - project: gradle + name: gradle + - filename: 'gradle-dependencies-[% c("var/gradle_dependencies_version") %]' + name: gradle-dependencies + exec: '[% INCLUDE "fetch-gradle-dependencies" %]' + - filename: build-customization.diff + - filename: sort-dependencies.diff ===================================== projects/oss-licenses-plugin/gradle-dependencies-list.txt ===================================== @@ -0,0 +1,207 @@ +# On how to update dependencies see doc/how-to-create-gradle-dependencies-list.txt +# Don't forget to update var/gradle_dependencies_version when modifying this file +sha256sum | url +408d8ed48da2b7b2c8f7216906c1b76a1ecdb9c165cdb52c9eeb32af0cc67f0f | https://maven.google.com/androidx/databinding/databinding-common/3.5.1/data… +008e3641392787bd3f6e5fe3a56457379cbba8be62ae5a91ba982b7e534a2b37 | https://maven.google.com/androidx/databinding/databinding-common/3.5.1/data… +b6235dd4ff7457f517e30479fe050a2ae27a2b3ef8ae33d44d9a3d2197911779 | https://maven.google.com/androidx/databinding/databinding-compiler-common/3… +4a3bfe5d22a4df2490f6180ef1e22a2ea189f42676532d6d7d6ece9b57a2c506 | https://maven.google.com/androidx/databinding/databinding-compiler-common/3… +4b698a77c578215a7f746e93422757a8e4d6ee9c8a29fdd9f994712f723604ed | https://maven.google.com/com/android/databinding/baseLibrary/3.5.1/baseLibr… +6659dd657846c519b12ad701815f2009f8d9991c798ca3a5a628e163987aecab | https://maven.google.com/com/android/databinding/baseLibrary/3.5.1/baseLibr… +9e9618ed7f1d24df2a4365e1719d630d8ac9c2dd31bea3343157a4ae5efa7fb9 | https://maven.google.com/com/android/tools/analytics-library/crash/26.5.1/c… +215d75a04ddcfa897e12f3c4d204f24e94214385f1f11ddcea4ddcd56ddb5243 | https://maven.google.com/com/android/tools/analytics-library/crash/26.5.1/c… +8dde1130725461fe827f2a343d353f2b51e8870661fc860d7d5ebddb097ead4e | https://maven.google.com/com/android/tools/analytics-library/protos/26.5.1/… +7b042861662b26a41e8f71a093cffc78dd8eb746e5ab98a645e1dcf49612bd0a | https://maven.google.com/com/android/tools/analytics-library/protos/26.5.1/… +ccc2f3b00ec17b11401610ba68553544fc8fc517120e84439ac6eb86b875e18d | https://maven.google.com/com/android/tools/analytics-library/shared/26.5.1/… +727842ddf56dbf158091a4f113005ec0e2d04ae2c066d7ede9b65ce6a9131aa8 | https://maven.google.com/com/android/tools/analytics-library/shared/26.5.1/… +3a76984c0fe2e847ca7a8b35b4780ef0447a9d1666946cb8e60466318e0ab5ae | https://maven.google.com/com/android/tools/analytics-library/tracker/26.5.1… +6327d446e6c59adacad78265fc61ac09ddcb751fe4e62b3697dc9d6534c0c451 | https://maven.google.com/com/android/tools/analytics-library/tracker/26.5.1… +2c43c82f8c59d8f7a61e3239e1a2dc9f69dc342ec09af9b7c9f69b25337c0b6e | https://maven.google.com/com/android/tools/annotations/26.5.1/annotations-2… +3caa859d7b198f9f429f50874921f5e05f105112400eed666d5e56a0e8417e09 | https://maven.google.com/com/android/tools/annotations/26.5.1/annotations-2… +fac0435e08898f89eeeb9ca236bea707155ff816c12205ced285ad53604133ca | https://maven.google.com/com/android/tools/build/aapt2-proto/0.4.0/aapt2-pr… +a24bdd4e8e374fdcd8cef8d77ea723f147ccd0f25dc6de4fbe290039be904339 | https://maven.google.com/com/android/tools/build/aapt2-proto/0.4.0/aapt2-pr… +1fd33e7f009a2a0da766cfeec4211a09f548034b015c289a66d75dd8a9302f4a | https://maven.google.com/com/android/tools/build/apksig/3.5.1/apksig-3.5.1.… +4c9f03d9fbc5accffafd56b0ae677d41ea0a395980a2cc052a7bcefccb2483a9 | https://maven.google.com/com/android/tools/build/apksig/3.5.1/apksig-3.5.1.… +9f330167cbe973b7db407692f74f4f6453b7ffa5f2048934b06280c2ceee60fa | https://maven.google.com/com/android/tools/build/apkzlib/3.5.1/apkzlib-3.5.… +f299c423220ae47404b9013e54caec84ea64f45f69885e4dc0e2e66b7095e33e | https://maven.google.com/com/android/tools/build/apkzlib/3.5.1/apkzlib-3.5.… +39ea3c82b76b6e0c9f9fa88d93e0edc1dd4a0f1dfae0ef6fbf2d451da47e5450 | https://maven.google.com/com/android/tools/build/builder-model/3.5.1/builde… +466e5005cf0a7c7bad8991b14c70b04457b77d28195ec04ec2baf6495e88f4a2 | https://maven.google.com/com/android/tools/build/builder-model/3.5.1/builde… +a1b59305584cbcaa078fdc9cfb80871012755b822dd32e8da19add6f7bbcb762 | https://maven.google.com/com/android/tools/build/builder-test-api/3.5.1/bui… +704e2ad557e5659b98bb8955fbab20977cddb09c06e72825cf2516635424b8cb | https://maven.google.com/com/android/tools/build/builder-test-api/3.5.1/bui… +e3a8d382434c5f60990730c4719fc814e85a898a33a1e96c1df8d627d3c6eea6 | https://maven.google.com/com/android/tools/build/builder/3.5.1/builder-3.5.… +aa0092dd227856f6a9c42df1f6ae14ba8a5bde16ea77d760e48c25e575d31668 | https://maven.google.com/com/android/tools/build/builder/3.5.1/builder-3.5.… +50c44557ca75b068e364ac35a648b81eeba7639ab5eb04036e390c727ad2fa3d | https://maven.google.com/com/android/tools/build/bundletool/0.9.0/bundletoo… +124e124227803689b71da7440f0dbdff71cbb4c661a18e0f4e2e0d3a80d367c2 | https://maven.google.com/com/android/tools/build/bundletool/0.9.0/bundletoo… +be9b41859bace11998f66b04ed944f87e413f3ad6da3c4665587699da125addc | https://maven.google.com/com/android/tools/build/gradle-api/3.5.1/gradle-ap… +e977170f2bf4fdf335d924f8bf94eea54c54422f74f8915fc8d592dc9a226eb8 | https://maven.google.com/com/android/tools/build/gradle-api/3.5.1/gradle-ap… +fe188188002bbb2e51c7db6da1ed03fc82af8f3be1a33991d38381837bc6708a | https://maven.google.com/com/android/tools/build/gradle/3.5.1/gradle-3.5.1.… +b4a5b3db612b70ad8ba1b22bc469444d946bcd60e399f97ee6e498d195239c84 | https://maven.google.com/com/android/tools/build/gradle/3.5.1/gradle-3.5.1.… +c9f8b016144cfb31c5aee92d47f34de23289167cac5e8ef68365b2dd05766f11 | https://maven.google.com/com/android/tools/build/jetifier/jetifier-core/1.0… +db025ad1bbc6896edf0f67cda1222ba9b7ec9a0187df7f4fd0a318475c758e4e | https://maven.google.com/com/android/tools/build/jetifier/jetifier-core/1.0… +1dd481e7606ccb30868908d9ae80f27d1c5ba882f792532bd91ed731c54f4efb | https://maven.google.com/com/android/tools/build/jetifier/jetifier-processo… +4973a6c6d7f89297a1cfea56c623cea72b3db3b4a49992afa00dd77ac052b89f | https://maven.google.com/com/android/tools/build/jetifier/jetifier-processo… +dcad9ecb967251f4d750f55a4204a2b400e8fbfe5cb930a1d0d5dbe10ae8bdfc | https://maven.google.com/com/android/tools/build/manifest-merger/26.5.1/man… +0dfcac2f9fa87c1742945875ef1e6f9fbade2149426502323c40eb01c05a7e36 | https://maven.google.com/com/android/tools/build/manifest-merger/26.5.1/man… +4de4a3d05e1c534c2db9e4588bf34082bb2bd232d8abb9727c430290ce225740 | https://maven.google.com/com/android/tools/build/transform-api/2.0.0-deprec… +7c62f3856e8abca1d79257925f26c12668693f5d95904056bbac88605cfd8575 | https://maven.google.com/com/android/tools/build/transform-api/2.0.0-deprec… +eccfa54486ed54c4e3123cc42195d023bd0dd21bcd2f0e4868e8c6fc70f8ef6b | https://maven.google.com/com/android/tools/common/26.5.1/common-26.5.1.jar +4492eb509dc784ca5e1600a2b0505ad1468bed4d116220fca67f34b49ac18ffb | https://maven.google.com/com/android/tools/common/26.5.1/common-26.5.1.pom +b081aef2a4ed3f4d47cae4cdb128469735f25a114e026d37123bf9ffdec742a8 | https://maven.google.com/com/android/tools/ddms/ddmlib/26.5.1/ddmlib-26.5.1… +a6e4693d05779c25cbfbbf4e67f96150c4de3d398ae3ed6a38f786971eb89634 | https://maven.google.com/com/android/tools/ddms/ddmlib/26.5.1/ddmlib-26.5.1… +46f93ad498b4756e7d867d2fe38c38890a80e7407a4ae459e4a8c8d5c5aeacfe | https://maven.google.com/com/android/tools/dvlib/26.5.1/dvlib-26.5.1.jar +1d5f88a4eb1c76901bc7b19af2311418a3f259d0f68756b058df850b1e8f913f | https://maven.google.com/com/android/tools/dvlib/26.5.1/dvlib-26.5.1.pom +88732f11396c427273e515d23042e35633f4fe4295528a99b866aa2adf0efd9c | https://maven.google.com/com/android/tools/layoutlib/layoutlib-api/26.5.1/l… +63832aa426428edb1a9ad7b1fc06c8ecf8f38b98041c13bfe433ac46688e5ed8 | https://maven.google.com/com/android/tools/layoutlib/layoutlib-api/26.5.1/l… +82453fd98a8394cc84ed995c04d2cd744abd1d6589403427ba7eef53115406f3 | https://maven.google.com/com/android/tools/lint/lint-gradle-api/26.5.1/lint… +2ddefa31501b320b366a0d18ba169118be7073d04c9337dd77bdc4ebd4ced959 | https://maven.google.com/com/android/tools/lint/lint-gradle-api/26.5.1/lint… +2b3ee791aa4c3e8ce60498c161a27ca7228816fc630eed4d9f25f2f36a106dce | https://maven.google.com/com/android/tools/repository/26.5.1/repository-26.… +8312471ec5165d599404e2225157c5639bdd9ad5c6980f79b1c1c4b517ff93b3 | https://maven.google.com/com/android/tools/repository/26.5.1/repository-26.… +365f749676c3574676fd465177c8a492f340816db2b520d6ed114d3b6e77bea7 | https://maven.google.com/com/android/tools/sdk-common/26.5.1/sdk-common-26.… +33b0649ae6e3dd95340123c462f6ef32992ee858e6e132f45bb7dec332627d59 | https://maven.google.com/com/android/tools/sdk-common/26.5.1/sdk-common-26.… +007da104afb27c8c682a1628023fe9ec438249c8d15ef0fd6624c5bb8e23b696 | https://maven.google.com/com/android/tools/sdklib/26.5.1/sdklib-26.5.1.jar +3f5ee952ea6a07767688a464c545354fbbce296419973397e65280142914b2a4 | https://maven.google.com/com/android/tools/sdklib/26.5.1/sdklib-26.5.1.pom +feab9191311c3d7aeef2b66d6064afc80d3d1d52d980fb07ae43c78c987ba93a | https://plugins.gradle.org/m2/com/google/code/findbugs/jsr305/1.3.9/jsr305-… +766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7 | https://plugins.gradle.org/m2/com/google/code/findbugs/jsr305/3.0.2/jsr305-… +19889dbdf1b254b2601a5ee645b8147a974644882297684c798afe5d63d78dfe | https://plugins.gradle.org/m2/com/google/code/findbugs/jsr305/3.0.2/jsr305-… +8f1fec72b91a71ea39ec39f5f778c4d1124b6b097c6d55b3a50b554a52237b27 | https://plugins.gradle.org/m2/com/google/code/gson/gson-parent/2.8.5/gson-p… +233a0149fc365c9f6edbd683cfe266b19bdc773be98eabdaf6b3c924b48e7d81 | https://plugins.gradle.org/m2/com/google/code/gson/gson/2.8.5/gson-2.8.5.jar +b8308557a7fccc92d9fe7c8cd0599258b361285d2ecde7689eda98843255a092 | https://plugins.gradle.org/m2/com/google/code/gson/gson/2.8.5/gson-2.8.5.pom +6ebd22ca1b9d8ec06d41de8d64e0596981d9607b42035f9ed374f9de271a481a | https://plugins.gradle.org/m2/com/google/errorprone/error_prone_annotations… +5e0258ea1ba4e51a133742680bc22448f7ab214be4073e8619f645ef1be42dd5 | https://plugins.gradle.org/m2/com/google/errorprone/error_prone_annotations… +c460902ddf5ece68832c6b271ce52a0928b05cf3a6ac81a8f548c73cbd541138 | https://plugins.gradle.org/m2/com/google/errorprone/error_prone_parent/2.2.… +cd6db17a11a31ede794ccbd1df0e4d9750f640234731f21cff885a9997277e81 | https://plugins.gradle.org/m2/com/google/google/1/google-1.pom +a171ee4c734dd2da837e4b16be9df4661afab72a41adaf31eb84dfdaf936ca26 | https://plugins.gradle.org/m2/com/google/guava/failureaccess/1.0.1/failurea… +e96042ce78fecba0da2be964522947c87b40a291b5fd3cd672a434924103c4b9 | https://plugins.gradle.org/m2/com/google/guava/failureaccess/1.0.1/failurea… +f8698ab46ca996ce889c1afc8ca4f25eb8ac6b034dc898d4583742360016cc04 | https://plugins.gradle.org/m2/com/google/guava/guava-parent/26.0-android/gu… +317e88291262e0cf2805e956c18850f1d4565c85c2e1112f5d9d08ab1732e696 | https://plugins.gradle.org/m2/com/google/guava/guava-parent/27.0.1-jre/guav… +e1c814fd04492a27c38e0317eabeaa1b3e950ec8010239e400fe90ad6c9107b4 | https://plugins.gradle.org/m2/com/google/guava/guava/27.0.1-jre/guava-27.0.… +6a8dd041f23a6bb14a86e440fccb993537b62271357a0dac0a3cb0ff39158f36 | https://plugins.gradle.org/m2/com/google/guava/guava/27.0.1-jre/guava-27.0.… +b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99 | https://plugins.gradle.org/m2/com/google/guava/listenablefuture/9999.0-empt… +18d4b1db26153d4e55079ce1f76bb1fe05cdb862ef9954a88cbcc4ff38b8679b | https://plugins.gradle.org/m2/com/google/guava/listenablefuture/9999.0-empt… +2994a7eb78f2710bd3d3bfb639b2c94e219cedac0d4d084d516e78c16dddecf6 | https://plugins.gradle.org/m2/com/google/j2objc/j2objc-annotations/1.1/j2ob… +f0c98c571e93a7cb4dd18df0fa308f0963e7a0620ac2d4244e61e709d03ad6be | https://plugins.gradle.org/m2/com/google/j2objc/j2objc-annotations/1.1/j2ob… +c71555751e57e0ef912870e8ac9625ae782502a6a5b9c19ccf83b2a97d8b26bd | https://plugins.gradle.org/m2/com/google/jimfs/jimfs-parent/1.1/jimfs-paren… +c4828e28d7c0a930af9387510b3bada7daa5c04d7c25a75c7b8b081f1c257ddd | https://plugins.gradle.org/m2/com/google/jimfs/jimfs/1.1/jimfs-1.1.jar +efa86e5cd922f17b472fdfcae57234d8d4ac3e148b6250737dfce454af7a7a44 | https://plugins.gradle.org/m2/com/google/jimfs/jimfs/1.1/jimfs-1.1.pom +4189e0be5ab15cf2330f70b24fbdc75ca37514f188388fce8580ce16a9a68052 | https://plugins.gradle.org/m2/com/google/protobuf/protobuf-java-util/3.4.0/… +89c43073e7eaa0eaba72a4a36ae1b6bfdfe5d81bb9d0e156aee05e4a72de3cb8 | https://plugins.gradle.org/m2/com/google/protobuf/protobuf-java-util/3.4.0/… +dce7e66b32456a1b1198da0caff3a8acb71548658391e798c79369241e6490a4 | https://plugins.gradle.org/m2/com/google/protobuf/protobuf-java/3.4.0/proto… +83f17ba86c5fa1a15a3a3c8030d4ce42ef21c1d39b65db6cc004a8eeb2c59406 | https://plugins.gradle.org/m2/com/google/protobuf/protobuf-java/3.4.0/proto… +24909c552842c0eb7a4c769d631a43cbef5a9a10c1640f2bdbd1ea149c573a47 | https://plugins.gradle.org/m2/com/google/protobuf/protobuf-parent/3.4.0/pro… +2d9484f4c649f708f47f9a479465fc729770ee65617dca3011836602264f6439 | https://plugins.gradle.org/m2/com/googlecode/json-simple/json-simple/1.1/js… +47a89be0fa0fedd476db5fd2c83487654d2a119c391f83a142be876667cf7dab | https://plugins.gradle.org/m2/com/googlecode/json-simple/json-simple/1.1/js… +757bfe906193b8b651e79dc26cd67d6b55d0770a2cdfb0381591504f779d4a76 | https://plugins.gradle.org/m2/com/googlecode/juniversalchardet/juniversalch… +7846399b35c7cd642a9b3a000c3e2d62d04eb37a4547b6933cc8b18bcc2f086b | https://plugins.gradle.org/m2/com/googlecode/juniversalchardet/juniversalch… +8e108c92027bb428196f10fa11cffbe589f7648a6af2016d652279385fdfd789 | https://plugins.gradle.org/m2/com/squareup/javapoet/1.8.0/javapoet-1.8.0.jar +b3760f40f19e735b2cd418f7656335d926d1d9413e10982a1c9695b64edbb647 | https://plugins.gradle.org/m2/com/squareup/javapoet/1.8.0/javapoet-1.8.0.pom +fcfb09fb0ea0aa97d3cfe7ea792398081348e468f126b3603cb3803f240197f0 | https://plugins.gradle.org/m2/com/squareup/javawriter/2.5.0/javawriter-2.5.… +e1abd7f1116cf5e0c59947693e2189208ec94296b2a3394c959e3511d399a7b0 | https://plugins.gradle.org/m2/com/squareup/javawriter/2.5.0/javawriter-2.5.… +1d8518e3ac7532a104e4f7be77def37c982e530723c6bdb3d67708cce2b0c2c4 | https://plugins.gradle.org/m2/com/sun/activation/all/1.2.0/all-1.2.0.pom +993302b16cd7056f21e779cc577d175a810bb4900ef73cd8fbf2b50f928ba9ce | https://plugins.gradle.org/m2/com/sun/activation/javax.activation/1.2.0/jav… +f879b6e945854c6900b0dbee1c8384d7ab3de7e157fd7ac84937405c416d2a5e | https://plugins.gradle.org/m2/com/sun/activation/javax.activation/1.2.0/jav… +c33e67a0807095f02a0e2da139412dd7c4f9cc1a4c054b3e434f96831ba950f4 | https://plugins.gradle.org/m2/com/sun/istack/istack-commons-runtime/2.21/is… +ebe7137b5fbfd050545f9a7f3f339ae55beb0b53755071b4fd62aa024c626d1c | https://plugins.gradle.org/m2/com/sun/istack/istack-commons-runtime/2.21/is… +c3071277f89b162982606b4e65c92077212efb6cbf1bdc365c51bd0b57ac818c | https://plugins.gradle.org/m2/com/sun/istack/istack-commons/2.21/istack-com… +b25e0693de21cb92b039a2e4608f396590fb8773108f10d6dc9f1465f03b5be9 | https://plugins.gradle.org/m2/com/sun/xml/bind/jaxb-bom-ext/2.2.11/jaxb-bom… +b5301b711c01547e571b615f9a0832ee525d34a4ce3372f53907a87cf20b0480 | https://plugins.gradle.org/m2/com/sun/xml/bind/mvn/jaxb-parent/2.2.11/jaxb-… +21918cb8e4eda67f24251e909a5d81672201d93604c4ffbf33522ad836a58e90 | https://plugins.gradle.org/m2/com/sun/xml/bind/mvn/jaxb-runtime-parent/2.2.… +9a398c699a5d3f3b56f1056c68890ede25d94a12d98eabc2a473733e6ab2362c | https://plugins.gradle.org/m2/com/sun/xml/bind/mvn/jaxb-txw-parent/2.2.11/j… +27a77db909f3c2833c0b1a37c55af1db06045118ad2eed96ce567b6632bce038 | https://plugins.gradle.org/m2/com/sun/xml/fastinfoset/FastInfoset/1.2.13/Fa… +b7505e0ecf7d495b4daa3e6569f71611d1a789dc531cbd92a2025922ff2655d3 | https://plugins.gradle.org/m2/com/sun/xml/fastinfoset/FastInfoset/1.2.13/Fa… +fd0857899f1067e0287c2ffd91e38f967a26bd405b83a34650c2742cee9fc261 | https://plugins.gradle.org/m2/com/sun/xml/fastinfoset/fastinfoset-project/1… +4241dfa94e711d435f29a4604a3e2de5c4aa3c165e23bd066be6fc1fc4309569 | https://plugins.gradle.org/m2/commons-codec/commons-codec/1.10/commons-code… +bdb8db7012d112a6e3ea8fdb7c510b300d99eff0819d27dddba9c43397ea4cfb | https://plugins.gradle.org/m2/commons-codec/commons-codec/1.10/commons-code… +cc6a41dc3eaacc9e440a6bd0d2890b20d36b4ee408fe2d67122f328bb6e01581 | https://plugins.gradle.org/m2/commons-io/commons-io/2.4/commons-io-2.4.jar +b2b5dd46cf998fa626eb6f8a1c114f6167c8d392694164e62533e5898e9b31f2 | https://plugins.gradle.org/m2/commons-io/commons-io/2.4/commons-io-2.4.pom +daddea1ea0be0f56978ab3006b8ac92834afeefbd9b7e4e6316fca57df0fa636 | https://plugins.gradle.org/m2/commons-logging/commons-logging/1.2/commons-l… +c91ab5aa570d86f6fd07cc158ec6bc2c50080402972ee9179fe24100739fbb20 | https://plugins.gradle.org/m2/commons-logging/commons-logging/1.2/commons-l… +74fa208043740642f7e6eb09faba15965218ad2f50ce3020efb100136e4b591c | https://plugins.gradle.org/m2/it/unimi/dsi/fastutil/7.2.0/fastutil-7.2.0.jar +953b116521a73575eee990e3f2c36a892fb088bb2d9a3027c82193cb7a013ef7 | https://plugins.gradle.org/m2/it/unimi/dsi/fastutil/7.2.0/fastutil-7.2.0.pom +91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff | https://plugins.gradle.org/m2/javax/inject/javax.inject/1/javax.inject-1.jar +943e12b100627804638fa285805a0ab788a680266531e650921ebfe4621a8bfa | https://plugins.gradle.org/m2/javax/inject/javax.inject/1/javax.inject-1.pom +b5e60cd8b7b5ff01ce4a74c5dd008f4fbd14ced3495d0b47b85cfedc182211f2 | https://plugins.gradle.org/m2/javax/xml/bind/jaxb-api/2.2.12-b140109.1041/j… +2092a7d8d9bc5698c59b094bdea46622915c48c83ae66d5b5ad549c7bf16155b | https://plugins.gradle.org/m2/javax/xml/bind/jaxb-api/2.2.12-b140109.1041/j… +281440811268e65d9e266b3cc898297e214e04f09740d0386ceeb4a8923d63bf | https://plugins.gradle.org/m2/net/java/jvnet-parent/1/jvnet-parent-1.pom +30f5789efa39ddbf96095aada3fc1260c4561faf2f714686717cb2dc5049475a | https://plugins.gradle.org/m2/net/java/jvnet-parent/3/jvnet-parent-3.pom +471395735549495297c8ff939b9a32e08b91302020ff773586d27e497abb8fbb | https://plugins.gradle.org/m2/net/java/jvnet-parent/4/jvnet-parent-4.pom +26c5856e954b5f864db76f13b86919b59c6eecf9fd930b96baa8884626baf2f5 | https://plugins.gradle.org/m2/net/sf/jopt-simple/jopt-simple/4.9/jopt-simpl… +7af7e2d8b24b4798f04c2b7da24c9fbd1b7557b4e017c2054481565916079092 | https://plugins.gradle.org/m2/net/sf/jopt-simple/jopt-simple/4.9/jopt-simpl… +f264dd9f79a1fde10ce5ecc53221eff24be4c9331c830b7d52f2f08a7b633de2 | https://plugins.gradle.org/m2/net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0.jar +31ce606f4e9518936299bb0d27c978fa61e185fd1de7c9874fe959a53e34a685 | https://plugins.gradle.org/m2/net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0.pom +75bc89695fa66e75374ecda439b802406f0ab1d826dd386eed0a23b1f0a9d264 | https://plugins.gradle.org/m2/net/sf/proguard/proguard-base/6.0.3/proguard-… +2a823d79f2675582a988d539466d1b175e939782efbe0f6e61f06cb165ed4907 | https://plugins.gradle.org/m2/net/sf/proguard/proguard-base/6.0.3/proguard-… +cc12b1168e521491dd0e687cfebec11a4af874b22af70e10cf2a05b47ca00c8f | https://plugins.gradle.org/m2/net/sf/proguard/proguard-gradle/6.0.3/proguar… +5a5c7317d68ce80d1d40c9d8bd4e38814d42d1b16c265146e333634833a35a57 | https://plugins.gradle.org/m2/net/sf/proguard/proguard-gradle/6.0.3/proguar… +d87266bfd2312c3b036c4ac709310afa35c448ceb18027c3b87a33d03c6de0a0 | https://plugins.gradle.org/m2/net/sf/proguard/proguard-parent/6.0.3/proguar… +401877d5e70ad599e9b6cff18434ea0332f637b51f8ec68352646c836f9bb2a4 | https://plugins.gradle.org/m2/org/antlr/antlr4-master/4.5.3/antlr4-master-4… +a32de739cfdf515774e696f91aa9697d2e7731e5cb5045ca8a4b657f8b1b4fb4 | https://plugins.gradle.org/m2/org/antlr/antlr4/4.5.3/antlr4-4.5.3.jar +8a4e4b32eedaa72976a757e12cf1dfe742725db0b7311bf176dd937ba4236384 | https://plugins.gradle.org/m2/org/antlr/antlr4/4.5.3/antlr4-4.5.3.pom +ff513db0361fd41237bef4784968bc15aae478d4ec0a9496f811072ccaf3841d | https://plugins.gradle.org/m2/org/apache/apache/13/apache-13.pom +36c2f2f979ac67b450c0cb480e4e9baf6b40f3a681f22ba9692287d1139ad494 | https://plugins.gradle.org/m2/org/apache/apache/15/apache-15.pom +9f85ff2fd7d6cb3097aa47fb419ee7f0ebe869109f98aba9f4eca3f49e74a40e | https://plugins.gradle.org/m2/org/apache/apache/16/apache-16.pom +7831307285fd475bbc36b20ae38e7882f11c3153b1d5930f852d44eda8f33c17 | https://plugins.gradle.org/m2/org/apache/apache/18/apache-18.pom +4946e60a547c8eda69f3bc23c5b6f0dadcf8469ea49b1d1da7de34aecfcf18dd | https://plugins.gradle.org/m2/org/apache/apache/9/apache-9.pom +2c1542faf343185b7cab9c3d55c8ae5471d6d095d3887a4adefdbdf2984dc0b6 | https://plugins.gradle.org/m2/org/apache/commons/commons-compress/1.12/comm… +b787d574c851505e76212968b9ae1641ea79804aef7f5a2cee2a01cd4055213a | https://plugins.gradle.org/m2/org/apache/commons/commons-compress/1.12/comm… +467ae650442e876867379094e7518dfdd67d22c5352ebd39808c84259e9790ba | https://plugins.gradle.org/m2/org/apache/commons/commons-parent/25/commons-… +3a2e69d06d641d1f3b293126dc9e2e4ea6563bf8c36c87e0ab6fa4292d04b79c | https://plugins.gradle.org/m2/org/apache/commons/commons-parent/34/commons-… +7098a1ab8336ecd4c9dc21cbbcac869f82c66f64b8ac4f7988d41b4fcb44e49a | https://plugins.gradle.org/m2/org/apache/commons/commons-parent/35/commons-… +87cd27e1a02a5c3eb6d85059ce98696bb1b44c2b8b650f0567c86df60fa61da7 | https://plugins.gradle.org/m2/org/apache/commons/commons-parent/39/commons-… +c03f813195e7a80e3608d0ddd8da80b21696a4c92a6a2298865bf149071551c7 | https://plugins.gradle.org/m2/org/apache/httpcomponents/httpclient/4.5.6/ht… +7efc1241e73e7fbb268bfd33242d11ebd3ca07061d7d85f2962dc32a0f0b8855 | https://plugins.gradle.org/m2/org/apache/httpcomponents/httpclient/4.5.6/ht… +b042b41f2391edb00d35f7f4e509aed2123648c1d246ce58d0f7b905c9fe1f73 | https://plugins.gradle.org/m2/org/apache/httpcomponents/httpcomponents-clie… +61e9427d4be326c307a7f16ba828d1cb3b14713c9b04fc8ba992a58f376c3136 | https://plugins.gradle.org/m2/org/apache/httpcomponents/httpcomponents-core… +caaf967d94afb21753f36082c6086206bd1f48825ff596932cceba72b65d39fa | https://plugins.gradle.org/m2/org/apache/httpcomponents/httpcomponents-pare… +78ba1096561957db1b55200a159b648876430342d15d461277e62360da19f6fd | https://plugins.gradle.org/m2/org/apache/httpcomponents/httpcore/4.4.10/htt… +c5c12066df2b3b88a89a2c8602b81ea9a61627e976e5129eea1899ebbaea392b | https://plugins.gradle.org/m2/org/apache/httpcomponents/httpcore/4.4.10/htt… +0b2b1102c18d3c7e05a77214b9b7501a6f6056174ae5604e0e256776eda7553e | https://plugins.gradle.org/m2/org/apache/httpcomponents/httpmime/4.5.6/http… +dfbfd6ffe2a784ca9817c46365aa7f8a578320b805bde39d6f55a0b09d8aa8ca | https://plugins.gradle.org/m2/org/apache/httpcomponents/httpmime/4.5.6/http… +7043dee4e9e7175e93e0b36f45b1ec1ecb893c5f755667e8b916eb8dd201c6ca | https://plugins.gradle.org/m2/org/bouncycastle/bcpkix-jdk15on/1.56/bcpkix-j… +321668fc474a73140eb9cc73c779f1ebb9f60948aade3beddee082ecefcf0259 | https://plugins.gradle.org/m2/org/bouncycastle/bcpkix-jdk15on/1.56/bcpkix-j… +963e1ee14f808ffb99897d848ddcdb28fa91ddda867eb18d303e82728f878349 | https://plugins.gradle.org/m2/org/bouncycastle/bcprov-jdk15on/1.56/bcprov-j… +8fdc3336e7b01873193ba9c48b87de7d788dc0954d1eb45c322492627a4b5c6e | https://plugins.gradle.org/m2/org/bouncycastle/bcprov-jdk15on/1.56/bcprov-j… +64b02691c8b9d4e7700f8ee2e742dce7ea2c6e81e662b7522c9ee3bf568c040a | https://plugins.gradle.org/m2/org/checkerframework/checker-qual/2.5.2/check… +dc4cd438a36462d013c2338c8e206d102a322a00f33729e8955ee219859c9ede | https://plugins.gradle.org/m2/org/checkerframework/checker-qual/2.5.2/check… +92654f493ecfec52082e76354f0ebf87648dc3d5cec2e3c3cdb947c016747a53 | https://plugins.gradle.org/m2/org/codehaus/mojo/animal-sniffer-annotations/… +e956ab5d2eb48fabae12300d0cd2d3294d4a2a41abc2068c23cb4d60ad76cbe5 | https://plugins.gradle.org/m2/org/codehaus/mojo/animal-sniffer-annotations/… +18a03df16e2a184c582db7b125633c15fb7714027a84c1b532d72933dc08b81f | https://plugins.gradle.org/m2/org/codehaus/mojo/animal-sniffer-parent/1.17/… +fc648dcdc404f8bf66e0583914ecf980176618201227bea114fae85043cb755e | https://plugins.gradle.org/m2/org/codehaus/mojo/mojo-parent/40/mojo-parent-… +a52e6850f070dc9f7a2a51d0b25dfaafd49b0b9bf8196db6c0b3c5b7c94d8d38 | https://plugins.gradle.org/m2/org/glassfish/jaxb/jaxb-bom/2.2.11/jaxb-bom-2… +37bcaee8ebb04362c8352a5bf6221b86967ecdab5164c696b10b9a2bb587b2aa | https://plugins.gradle.org/m2/org/glassfish/jaxb/jaxb-core/2.2.11/jaxb-core… +ec31409f203bcabf99534f59231ec0576d875d4d4b7349b09566a7a8c8179b24 | https://plugins.gradle.org/m2/org/glassfish/jaxb/jaxb-core/2.2.11/jaxb-core… +a874f2351cfba8e2946be3002d10c18a6da8f21b52ba2acf52f2b85d5520ed70 | https://plugins.gradle.org/m2/org/glassfish/jaxb/jaxb-runtime/2.2.11/jaxb-r… +e5327b31b595ab8143e97836d5ccdf85feb91e7ff5666f7b26913632facca4aa | https://plugins.gradle.org/m2/org/glassfish/jaxb/jaxb-runtime/2.2.11/jaxb-r… +272a3ccad45a4511351920cd2a8633c53cab8d5220c7a92954da5526bb5eafea | https://plugins.gradle.org/m2/org/glassfish/jaxb/txw2/2.2.11/txw2-2.2.11.jar +8514cb724b4fca59a5cf272b632e539bd0a0f3cacf1844082d0a173a86406bd8 | https://plugins.gradle.org/m2/org/glassfish/jaxb/txw2/2.2.11/txw2-2.2.11.pom +1345f11ba606d15603d6740551a8c21947c0215640770ec67271fe78bea97cf5 | https://plugins.gradle.org/m2/org/jdom/jdom2/2.0.6/jdom2-2.0.6.jar +47b23a79fe336b741b82434c6e049d68165256e405e75c10921fd72fa8a65d8d | https://plugins.gradle.org/m2/org/jdom/jdom2/2.0.6/jdom2-2.0.6.pom +ace2a10dc8e2d5fd34925ecac03e4988b2c0f851650c94b8cef49ba1bd111478 | https://plugins.gradle.org/m2/org/jetbrains/annotations/13.0/annotations-13… +965aeb2bedff369819bdde1bf7a0b3b89b8247dd69c88b86375d76163bb8c397 | https://plugins.gradle.org/m2/org/jetbrains/annotations/13.0/annotations-13… +64583199ea5a54aefd1bd1595288925f784226ee562d1dd279011c6075b3d7a4 | https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-reflect/1.3.50/ko… +8745181e5a3e0bafefd46309c6b810df7253f379feb985131eaf8d4d9c302635 | https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-reflect/1.3.50/ko… +8ce678e88e4ba018b66dacecf952471e4d7dfee156a8a819760a5a5ff29d323c | https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-stdlib-common/1.3… +b6396fe802d7bc76a381485e266cb975f3b2f2d3dd9bf7213aab6ca27a561fc1 | https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-stdlib-common/1.3… +9a026639e76212f8d57b86d55b075394c2e009f1979110751d34c05c5f75d57b | https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.3.5… +a3aef46388ee96e975110db51df3ab794c87d892bdbc6d5a49bf926e4779438b | https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.3.5… +1b351fb6e09c14b55525c74c1f4cf48942eae43c348b7bc764a5e6e423d4da0c | https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.3.5… +8674b002f66a2948981c4f6cb5987ec62ff3d54b6a2799a6d2cd23afb83f2ad3 | https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.3.5… +e6f05746ee0366d0b52825a090fac474dcf44082c9083bbb205bd16976488d6c | https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-stdlib/1.3.50/kot… +704fd78960ae046428f69bcd5b951c122e4c180c9400238a866e12cb18494a61 | https://plugins.gradle.org/m2/org/jetbrains/kotlin/kotlin-stdlib/1.3.50/kot… +1917871c8deb468307a584680c87a44572f5a8b0b98c6d397fc0f5f86596dbe7 | https://plugins.gradle.org/m2/org/jetbrains/trove4j/trove4j/20160824/trove4… +c94b0b73790c70c709bcd445a01247908888211e38cc59e946ff6fe900785ae9 | https://plugins.gradle.org/m2/org/jetbrains/trove4j/trove4j/20160824/trove4… +a31ff7d77163c0deb09e7fee59ad35ae44c2cee2cc8552a116ccd1583d813fb4 | https://plugins.gradle.org/m2/org/jvnet/staxex/stax-ex/1.7.7/stax-ex-1.7.7.… +27cb450b6c367a00bd8362519907f84defac7b12086c64d4d6e97e33ab873ead | https://plugins.gradle.org/m2/org/jvnet/staxex/stax-ex/1.7.7/stax-ex-1.7.7.… +2f1a6387219c3a6cc4856481f221b03bd9f2408a326d416af09af5d6f608c1f4 | https://plugins.gradle.org/m2/org/ow2/asm/asm-analysis/6.0/asm-analysis-6.0… +d3aaf42e40e3e24aabda53b5de4de5e17cb78e06549bf37312dca6c77e251054 | https://plugins.gradle.org/m2/org/ow2/asm/asm-analysis/6.0/asm-analysis-6.0… +f1bce5c648a96a017bdcd01fe5d59af9845297fd7b79b81c015a6fbbd9719abf | https://plugins.gradle.org/m2/org/ow2/asm/asm-commons/6.0/asm-commons-6.0.j… +90f4f29473afb957229016eb5741954976cc1b67bc049b3981c0d1e653ad5cdd | https://plugins.gradle.org/m2/org/ow2/asm/asm-commons/6.0/asm-commons-6.0.p… +791d064bb9ecc9a46d43bc9efecd74c91464dfc451f321b802d2261e2ccd7d14 | https://plugins.gradle.org/m2/org/ow2/asm/asm-parent/6.0/asm-parent-6.0.pom +887998fb69727c8759e4d253f856822801e33f9fd4caa566b3ac58ee92106215 | https://plugins.gradle.org/m2/org/ow2/asm/asm-tree/6.0/asm-tree-6.0.jar +36887e0d7fdb185a92378a38ea45e596a97f10f385c5d050eb6252454ee701b4 | https://plugins.gradle.org/m2/org/ow2/asm/asm-tree/6.0/asm-tree-6.0.pom +356afebdb0f870175262e5188f8709a3b17aa2a5a6a4b0340b04d4b449bca5f6 | https://plugins.gradle.org/m2/org/ow2/asm/asm-util/6.0/asm-util-6.0.jar +3cdfc61f988d167b97503419da82a5808b20f4205aeb46c394e6e7ffd3211f12 | https://plugins.gradle.org/m2/org/ow2/asm/asm-util/6.0/asm-util-6.0.pom +dd8971c74a4e697899a8e95caae4ea8760ea6c486dc6b97b1795e75760420461 | https://plugins.gradle.org/m2/org/ow2/asm/asm/6.0/asm-6.0.jar +c2bc497e197112e699085426bbb45b1ab0be8002da68267a3b1f450a0312c32e | https://plugins.gradle.org/m2/org/ow2/asm/asm/6.0/asm-6.0.pom +51215c67d2c068d8b7d2f6f80f51372a098075deccc448d4bdd7b987ba8328fb | https://plugins.gradle.org/m2/org/ow2/ow2/1.3/ow2-1.3.pom +b51f8867c92b6a722499557fc3a1fdea77bdf9ef574722fe90ce436a29559454 | https://plugins.gradle.org/m2/org/sonatype/oss/oss-parent/7/oss-parent-7.pom +fb40265f982548212ff82e362e59732b2187ec6f0d80182885c14ef1f982827a | https://plugins.gradle.org/m2/org/sonatype/oss/oss-parent/9/oss-parent-9.pom + ===================================== projects/oss-licenses-plugin/sort-dependencies.diff ===================================== @@ -0,0 +1,40 @@ +diff --git a/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/ArtifactInfo.groovy b/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/ArtifactInfo.groovy +index d6d854d..622072d 100644 +--- a/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/ArtifactInfo.groovy ++++ b/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/ArtifactInfo.groovy +@@ -16,7 +16,7 @@ + + package com.google.android.gms.oss.licenses.plugin + +-class ArtifactInfo { ++class ArtifactInfo implements Comparable<ArtifactInfo> { + private String group + private String name + private String fileLocation +@@ -47,4 +47,13 @@ class ArtifactInfo { + String getVersion() { + return version + } ++ ++ String toString() { ++ return "$group:$name:$version" ++ } ++ ++ @Override ++ int compareTo(ArtifactInfo other) { ++ return toString().compareTo(other.toString()) ++ } + } +diff --git a/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/DependencyTask.groovy b/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/DependencyTask.groovy +index 75f6527..26a9bf7 100644 +--- a/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/DependencyTask.groovy ++++ b/oss-licenses-plugin/src/main/groovy/com/google/android/gms/oss/licenses/plugin/DependencyTask.groovy +@@ -47,7 +47,7 @@ import org.slf4j.LoggerFactory + */ + class DependencyTask extends DefaultTask { + protected Set<String> artifactSet = [] +- protected Set<ArtifactInfo> artifactInfos = [] ++ protected TreeSet<ArtifactInfo> artifactInfos = [] + protected static final String LOCAL_LIBRARY_VERSION = "unspecified" + private static final String TEST_PREFIX = "test" + private static final String ANDROID_TEST_PREFIX = "androidTest" View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build][main] Bug 41206: Pass the number of processors to GeckoView's mozconfig.
by Pier Angelo Vendrame (@pierov) 19 Aug '24

19 Aug '24
Pier Angelo Vendrame pushed to branch main at The Tor Project / Applications / tor-browser-build Commits: 2fb90e5f by Pier Angelo Vendrame at 2024-08-19T15:29:08+02:00 Bug 41206: Pass the number of processors to GeckoView&#39;s mozconfig. - - - - - 1 changed file: - projects/geckoview/build Changes: ===================================== projects/geckoview/build ===================================== @@ -42,6 +42,7 @@ cd /var/tmp/build/[% project %]-[% c("version") %] cat > .mozconfig << 'MOZCONFIG_EOF' . $topsrcdir/mozconfig-[% c("var/osname") %] +mk_add_options MOZ_PARALLEL_BUILD=[% c("num_procs") %] export MOZ_INCLUDE_SOURCE_INFO=1 export MOZ_SOURCE_REPO="[% c('var/gitlab_project') %]" export MOZ_SOURCE_CHANGESET=[% c("var/git_commit") %] View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/2… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/2… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-115.14.0esr-13.5-1] 2 commits: fixup! Bug 40562: Added Tor Browser preferences to 000-tor-browser.js
by Pier Angelo Vendrame (@pierov) 19 Aug '24

19 Aug '24
Pier Angelo Vendrame pushed to branch tor-browser-115.14.0esr-13.5-1 at The Tor Project / Applications / Tor Browser Commits: c76183e2 by Pier Angelo Vendrame at 2024-08-19T09:31:18+02:00 fixup! Bug 40562: Added Tor Browser preferences to 000-tor-browser.js Bug 42596: Add preferences for log levels. Added a comment to start a section where we can put the various default log levels. - - - - - c02100c4 by Pier Angelo Vendrame at 2024-08-19T09:32:48+02:00 fixup! Bug 30237: Add v3 onion services client authentication prompt Bug 42596: Add preferences for log levels. - - - - - 1 changed file: - browser/app/profile/000-tor-browser.js Changes: ===================================== browser/app/profile/000-tor-browser.js ===================================== @@ -108,3 +108,6 @@ pref("extensions.torlauncher.tordatadir_path", ""); pref("extensions.torlauncher.bridgedb_front", "www.phpmyadmin.net"); pref("extensions.torlauncher.bridgedb_reflector", "https://1723079976.rsc.cdn77.org"); pref("extensions.torlauncher.moat_service", "https://bridges.torproject.org/moat"); + +// Log levels +pref("browser.onionAuthPrompt.loglevel", "Warn"); View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/1f0b8c… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/1f0b8c… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • ...
  • 29
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.