morgan pushed to branch main at The Tor Project / Applications / tor-browser-spec
Commits:
-
1472857c
by Richard Pospesel at 2024-06-27T04:18:44+00:00
-
aaf00ad7
by Morgan at 2024-10-22T18:49:55+00:00
-
d3418425
by Morgan at 2024-10-22T18:50:15+00:00
15 changed files:
- + audits/FF116_AUDIT
- + audits/FF117_AUDIT
- + audits/FF118_AUDIT
- + audits/FF119_AUDIT
- + audits/FF120_AUDIT
- + audits/FF121_AUDIT
- + audits/FF122_AUDIT
- + audits/FF123_AUDIT
- + audits/FF124_AUDIT
- + audits/FF125_AUDIT
- + audits/FF126_AUDIT
- + audits/FF127_AUDIT
- + audits/FF128_AUDIT
- + audits/bugzilla2gitlab.sh
- audits/code_audit.sh
Changes:
| 1 | +# General
|
|
| 2 | + |
|
| 3 | +The audit begins at the commit hash where the previous audit ended. Use code_audit.sh for creating the diff and highlighting potentially problematic code. The audit is scoped to a specific language (currently C/C++, Rust, Java/Kotlin, and _javascript_).
|
|
| 4 | + |
|
| 5 | +The output includes the entire patch where the new problematic code was introduced. Search for `XXX MATCH XXX` to find the next potential violation.
|
|
| 6 | + |
|
| 7 | +`code_audit.sh` contains the list of known problematic APIs. New usage of these functions are documented and analyzed in this audit.
|
|
| 8 | + |
|
| 9 | +## Firefox: https://github.com/mozilla/gecko-dev.git
|
|
| 10 | + |
|
| 11 | +- Start: `9c13862f3e084cec78650fa01450f6d18aec1530` ( `FIREFOX_ESR_115_BASE` )
|
|
| 12 | +- End: `ff486626d0de0e7f34d65ef000c657080ddf564d` ( `FIREFOX_116_0_3_RELEASE` )
|
|
| 13 | + |
|
| 14 | +### Languages:
|
|
| 15 | +- [x] java
|
|
| 16 | +- [x] cpp
|
|
| 17 | +- [x] js
|
|
| 18 | +- [x] rust
|
|
| 19 | + |
|
| 20 | +Nothing of interest (using `code_audit.sh`) |
| 1 | +# General
|
|
| 2 | + |
|
| 3 | +The audit begins at the commit hash where the previous audit ended. Use code_audit.sh for creating the diff and highlighting potentially problematic code. The audit is scoped to a specific language (currently C/C++, Rust, Java/Kotlin, and _javascript_).
|
|
| 4 | + |
|
| 5 | +The output includes the entire patch where the new problematic code was introduced. Search for `XXX MATCH XXX` to find the next potential violation.
|
|
| 6 | + |
|
| 7 | +`code_audit.sh` contains the list of known problematic APIs. New usage of these functions are documented and analyzed in this audit.
|
|
| 8 | + |
|
| 9 | +## Firefox: https://github.com/mozilla/gecko-dev.git
|
|
| 10 | + |
|
| 11 | +- Start: ff486626d0de0e7f34d65ef000c657080ddf564d ( `FIREFOX_116_0_3_RELEASE` )
|
|
| 12 | +- End: 6f3830e39c76ae6d0ab19b4f9289d434d424cbe3 ( `FIREFOX_117_0_RELEASE` )
|
|
| 13 | + |
|
| 14 | +### Languages:
|
|
| 15 | +- [x] java
|
|
| 16 | +- [x] cpp
|
|
| 17 | +- [x] js
|
|
| 18 | +- [x] rust
|
|
| 19 | + |
|
| 20 | +Nothing of interest (using `code_audit.sh`) |
| 1 | +# General
|
|
| 2 | + |
|
| 3 | +The audit begins at the commit hash where the previous audit ended. Use code_audit.sh for creating the diff and highlighting potentially problematic code. The audit is scoped to a specific language (currently C/C++, Rust, Java/Kotlin, and _javascript_).
|
|
| 4 | + |
|
| 5 | +The output includes the entire patch where the new problematic code was introduced. Search for `XXX MATCH XXX` to find the next potential violation.
|
|
| 6 | + |
|
| 7 | +`code_audit.sh` contains the list of known problematic APIs. New usage of these functions are documented and analyzed in this audit.
|
|
| 8 | + |
|
| 9 | +## Firefox: https://github.com/mozilla/gecko-dev.git
|
|
| 10 | + |
|
| 11 | +- Start: tor-browser@6f3830e39c76ae6d0ab19b4f9289d434d424cbe3 ( `FIREFOX_117_0_RELEASE` )
|
|
| 12 | +- End: tor-browser@a928b6c0612a2690852fa3b5d13efc2a80868a90 ( `FIREFOX_118_0_RELEASE` )
|
|
| 13 | + |
|
| 14 | +### Languages:
|
|
| 15 | +- [x] java
|
|
| 16 | +- [x] cpp
|
|
| 17 | +- [x] js
|
|
| 18 | +- [x] rust
|
|
| 19 | + |
|
| 20 | +Nothing of interest (using `code_audit.sh`) |
| 1 | +# General
|
|
| 2 | + |
|
| 3 | +The audit begins at the commit hash where the previous audit ended. Use code_audit.sh for creating the diff and highlighting potentially problematic code. The audit is scoped to a specific language (currently C/C++, Rust, Java/Kotlin, and _javascript_).
|
|
| 4 | + |
|
| 5 | +The output includes the entire patch where the new problematic code was introduced. Search for `XXX MATCH XXX` to find the next potential violation.
|
|
| 6 | + |
|
| 7 | +`code_audit.sh` contains the list of known problematic APIs. New usage of these functions are documented and analyzed in this audit.
|
|
| 8 | + |
|
| 9 | +## Firefox: https://github.com/mozilla/gecko-dev.git
|
|
| 10 | + |
|
| 11 | +- Start: tor-browser@a928b6c0612a2690852fa3b5d13efc2a80868a90 ( `FIREFOX_118_0_RELEASE` )
|
|
| 12 | +- End: tor-browser@7ab3cc0103090dd7bfa02e072a529b9fc784ab4e ( `FIREFOX_119_0_RELEASE` )
|
|
| 13 | + |
|
| 14 | +### Languages:
|
|
| 15 | +- [x] java
|
|
| 16 | +- [x] cpp
|
|
| 17 | +- [x] js
|
|
| 18 | +- [x] rust
|
|
| 19 | + |
|
| 20 | +Nothing of interest (using `code_audit.sh`) |
| 1 | +# General
|
|
| 2 | + |
|
| 3 | +The audit begins at the commit hash where the previous audit ended. Use code_audit.sh for creating the diff and highlighting potentially problematic code. The audit is scoped to a specific language (currently C/C++, Rust, Java/Kotlin, and _javascript_).
|
|
| 4 | + |
|
| 5 | +The output includes the entire patch where the new problematic code was introduced. Search for `XXX MATCH XXX` to find the next potential violation.
|
|
| 6 | + |
|
| 7 | +`code_audit.sh` contains the list of known problematic APIs. New usage of these functions are documented and analyzed in this audit.
|
|
| 8 | + |
|
| 9 | +## Firefox: https://github.com/mozilla/gecko-dev.git
|
|
| 10 | + |
|
| 11 | +- Start: tor-browser@7ab3cc0103090dd7bfa02e072a529b9fc784ab4e ( `FIREFOX_119_0_RELEASE` )
|
|
| 12 | +- End: tor-browser@dedee7a8c6cbabc80294733634360f6fbeeeadc0 ( `FIREFOX_120_0_RELEASE` )
|
|
| 13 | + |
|
| 14 | +### Languages:
|
|
| 15 | +- [x] java
|
|
| 16 | +- [x] cpp
|
|
| 17 | +- [x] js
|
|
| 18 | +- [x] rust
|
|
| 19 | + |
|
| 20 | +Nothing of interest (using `code_audit.sh`) |
| 1 | +# General
|
|
| 2 | + |
|
| 3 | +The audit begins at the commit hash where the previous audit ended. Use code_audit.sh for creating the diff and highlighting potentially problematic code. The audit is scoped to a specific language (currently C/C++, Rust, Java/Kotlin, and _javascript_).
|
|
| 4 | + |
|
| 5 | +The output includes the entire patch where the new problematic code was introduced. Search for `XXX MATCH XXX` to find the next potential violation.
|
|
| 6 | + |
|
| 7 | +`code_audit.sh` contains the list of known problematic APIs. New usage of these functions are documented and analyzed in this audit.
|
|
| 8 | + |
|
| 9 | +## Firefox: https://github.com/mozilla/gecko-dev.git
|
|
| 10 | + |
|
| 11 | +- Start: tor-browser@dedee7a8c6cbabc80294733634360f6fbeeeadc0 ( `FIREFOX_120_0_RELEASE` )
|
|
| 12 | +- End: tor-browser@a32b8662993085139ac91212a297123b632fc1c0 ( `FIREFOX_121_0_RELEASE` )
|
|
| 13 | + |
|
| 14 | +### Languages:
|
|
| 15 | +- [x] java
|
|
| 16 | +- [x] cpp
|
|
| 17 | +- [x] js
|
|
| 18 | +- [x] rust
|
|
| 19 | + |
|
| 20 | +#### 1add9d4c13a6493e670d01b38f4eb839c53bf1ba
|
|
| 21 | +- Mozilla 1815739: Support using Firefox as default PDF reader on Android
|
|
| 22 | +- https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/43159
|
|
| 23 | +- Review Result: SAFE
|
|
| 24 | + |
|
| 25 | +#### a6562d5849a78c58340bb3d9b975f1208db4401d
|
|
| 26 | +- Mozilla 1852340: Implement a new "report broken site" feature for desktop Firefox
|
|
| 27 | +- https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/43160
|
|
| 28 | +- Review Result: SAFE |
| 1 | +# General
|
|
| 2 | + |
|
| 3 | +The audit begins at the commit hash where the previous audit ended. Use code_audit.sh for creating the diff and highlighting potentially problematic code. The audit is scoped to a specific language (currently C/C++, Rust, Java/Kotlin, and _javascript_).
|
|
| 4 | + |
|
| 5 | +The output includes the entire patch where the new problematic code was introduced. Search for `XXX MATCH XXX` to find the next potential violation.
|
|
| 6 | + |
|
| 7 | +`code_audit.sh` contains the list of known problematic APIs. New usage of these functions are documented and analyzed in this audit.
|
|
| 8 | + |
|
| 9 | +## Firefox: https://github.com/mozilla/gecko-dev.git
|
|
| 10 | + |
|
| 11 | +- Start: tor-browser@a32b8662993085139ac91212a297123b632fc1c0 ( `FIREFOX_121_0_RELEASE` )
|
|
| 12 | +- End: tor-browser@7e38fabb90748649da04ed45a2f80d68423362d9 ( `FIREFOX_122_0_RELEASE` )
|
|
| 13 | + |
|
| 14 | +### Languages:
|
|
| 15 | +- [x] java
|
|
| 16 | +- [x] cpp
|
|
| 17 | +- [x] js
|
|
| 18 | +- [x] rust
|
|
| 19 | + |
|
| 20 | +Nothing of interest (using `code_audit.sh`) |
| 1 | +# General
|
|
| 2 | + |
|
| 3 | +The audit begins at the commit hash where the previous audit ended. Use code_audit.sh for creating the diff and highlighting potentially problematic code. The audit is scoped to a specific language (currently C/C++, Rust, Java/Kotlin, and _javascript_).
|
|
| 4 | + |
|
| 5 | +The output includes the entire patch where the new problematic code was introduced. Search for `XXX MATCH XXX` to find the next potential violation.
|
|
| 6 | + |
|
| 7 | +`code_audit.sh` contains the list of known problematic APIs. New usage of these functions are documented and analyzed in this audit.
|
|
| 8 | + |
|
| 9 | +## Firefox: https://github.com/mozilla/gecko-dev.git
|
|
| 10 | + |
|
| 11 | +- Start: tor-browser@7e38fabb90748649da04ed45a2f80d68423362d9 ( `FIREFOX_122_0_RELEASE` )
|
|
| 12 | +- End: tor-browser@f8704c84a751716bad093b9bdc482db53fe5b3ea ( `FIREFOX_123_0_RELEASE` )
|
|
| 13 | + |
|
| 14 | +### Languages:
|
|
| 15 | +- [x] java
|
|
| 16 | +- [x] cpp
|
|
| 17 | +- [x] js
|
|
| 18 | +- [x] rust
|
|
| 19 | + |
|
| 20 | +Nothing of interest (using `code_audit.sh`)
|
|
| 21 | + |
|
| 22 | +#### 14797b7fa8c5df0332ba5d422803dbcdf548c056
|
|
| 23 | +#### eb73825495faf333a4fe812316ac38e138f5bf8d
|
|
| 24 | +#### 818788a96a700c6d44a17ab1e932de96cc45eac6
|
|
| 25 | +#### c0aa048b3918e367e9fd84442695f1fbb2087f30
|
|
| 26 | +- https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/43161
|
|
| 27 | +- Mozilla 1852900: Pass HTTPS requests to native resolver thread
|
|
| 28 | +- Mozilla 1852902: Allow nsINativeDNSResolverOverride to override native HTTPS records
|
|
| 29 | +- https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/43161
|
|
| 30 | +- Review Result: SAFE |
| 1 | +# General
|
|
| 2 | + |
|
| 3 | +The audit begins at the commit hash where the previous audit ended. Use code_audit.sh for creating the diff and highlighting potentially problematic code. The audit is scoped to a specific language (currently C/C++, Rust, Java/Kotlin, and _javascript_).
|
|
| 4 | + |
|
| 5 | +The output includes the entire patch where the new problematic code was introduced. Search for `XXX MATCH XXX` to find the next potential violation.
|
|
| 6 | + |
|
| 7 | +`code_audit.sh` contains the list of known problematic APIs. New usage of these functions are documented and analyzed in this audit.
|
|
| 8 | + |
|
| 9 | +## Firefox: https://github.com/mozilla/gecko-dev.git
|
|
| 10 | + |
|
| 11 | +- Start: tor-browser@f8704c84a751716bad093b9bdc482db53fe5b3ea ( `FIREFOX_123_0_RELEASE` )
|
|
| 12 | +- End: tor-browser@eb063e98ca624ff7d430a9b9aa356381f49e2e5a ( `FIREFOX_124_0_RELEASE` )
|
|
| 13 | + |
|
| 14 | +### Languages:
|
|
| 15 | +- [x] java
|
|
| 16 | +- [x] cpp
|
|
| 17 | +- [x] js
|
|
| 18 | +- [x] rust
|
|
| 19 | + |
|
| 20 | +Nothing of interest (using `code_audit.sh`) |
| 1 | +# General
|
|
| 2 | + |
|
| 3 | +The audit begins at the commit hash where the previous audit ended. Use code_audit.sh for creating the diff and highlighting potentially problematic code. The audit is scoped to a specific language (currently C/C++, Rust, Java/Kotlin, and _javascript_).
|
|
| 4 | + |
|
| 5 | +The output includes the entire patch where the new problematic code was introduced. Search for `XXX MATCH XXX` to find the next potential violation.
|
|
| 6 | + |
|
| 7 | +`code_audit.sh` contains the list of known problematic APIs. New usage of these functions are documented and analyzed in this audit.
|
|
| 8 | + |
|
| 9 | +## Firefox: https://github.com/mozilla/gecko-dev.git
|
|
| 10 | + |
|
| 11 | +- Start: tor-browser@eb063e98ca624ff7d430a9b9aa356381f49e2e5a ( `FIREFOX_124_0_RELEASE` )
|
|
| 12 | +- End: tor-browser@59577ab1445892568bafb39124e5757a307177f2 ( `FIREFOX_125_0_BUILD1` )
|
|
| 13 | + |
|
| 14 | +### Languages:
|
|
| 15 | +- [x] java
|
|
| 16 | +- [x] cpp
|
|
| 17 | +- [x] js
|
|
| 18 | +- [x] rust
|
|
| 19 | + |
|
| 20 | +Nothing of interest (using `code_audit.sh`) |
| 1 | +# General
|
|
| 2 | + |
|
| 3 | +The audit begins at the commit hash where the previous audit ended. Use code_audit.sh for creating the diff and highlighting potentially problematic code. The audit is scoped to a specific language (currently C/C++, Rust, Java/Kotlin, and _javascript_).
|
|
| 4 | + |
|
| 5 | +The output includes the entire patch where the new problematic code was introduced. Search for `XXX MATCH XXX` to find the next potential violation.
|
|
| 6 | + |
|
| 7 | +`code_audit.sh` contains the list of known problematic APIs. New usage of these functions are documented and analyzed in this audit.
|
|
| 8 | + |
|
| 9 | +## Firefox: https://github.com/mozilla/gecko-dev.git
|
|
| 10 | + |
|
| 11 | +- Start: 59577ab1445892568bafb39124e5757a307177f2 ( `FIREFOX_125_0_BUILD1` )
|
|
| 12 | +- End: 5889d9823cc5975561827262efeb24464360402c ( `FIREFOX_126_0_BUILD1` )
|
|
| 13 | + |
|
| 14 | +### Languages:
|
|
| 15 | +- [x] java
|
|
| 16 | +- [x] cpp
|
|
| 17 | +- [x] js
|
|
| 18 | +- [x] rust
|
|
| 19 | + |
|
| 20 | +Nothing of interest (using `code_audit.sh`) |
| 1 | +# General
|
|
| 2 | + |
|
| 3 | +The audit begins at the commit hash where the previous audit ended. Use code_audit.sh for creating the diff and highlighting potentially problematic code. The audit is scoped to a specific language (currently C/C++, Rust, Java/Kotlin, and _javascript_).
|
|
| 4 | + |
|
| 5 | +The output includes the entire patch where the new problematic code was introduced. Search for `XXX MATCH XXX` to find the next potential violation.
|
|
| 6 | + |
|
| 7 | +`code_audit.sh` contains the list of known problematic APIs. New usage of these functions are documented and analyzed in this audit.
|
|
| 8 | + |
|
| 9 | +## Firefox: https://github.com/mozilla/gecko-dev.git
|
|
| 10 | + |
|
| 11 | +- Start: 5889d9823cc5975561827262efeb24464360402c ( `FIREFOX_126_0_BUILD1` )
|
|
| 12 | +- End: e480e7382673f60d2f8590e7018d291b52e982b0 ( `FIREFOX_127_0b1_RELEASE` )
|
|
| 13 | + |
|
| 14 | +### Languages:
|
|
| 15 | +- [x] java
|
|
| 16 | +- [x] cpp
|
|
| 17 | +- [x] js
|
|
| 18 | +- [x] rust
|
|
| 19 | + |
|
| 20 | +Nothing of interest (using `code_audit.sh`) |
| 1 | +# General
|
|
| 2 | + |
|
| 3 | +The audit begins at the commit hash where the previous audit ended. Use code_audit.sh for creating the diff and highlighting potentially problematic code. The audit is scoped to a specific language (currently C/C++, Rust, Java/Kotlin, and _javascript_).
|
|
| 4 | + |
|
| 5 | +The output includes the entire patch where the new problematic code was introduced. Search for `XXX MATCH XXX` to find the next potential violation.
|
|
| 6 | + |
|
| 7 | +`code_audit.sh` contains the list of known problematic APIs. New usage of these functions are documented and analyzed in this audit.
|
|
| 8 | + |
|
| 9 | +## Firefox: https://github.com/mozilla/gecko-dev.git
|
|
| 10 | + |
|
| 11 | +- Start: tor-browser@e480e7382673f60d2f8590e7018d291b52e982b0 ( `FIREFOX_127_0b1_RELEASE` )
|
|
| 12 | +- End: tor-browser@9352d2be309c27f0e93471e2bb3352d7cfb76052 ( `FIREFOX_128_0b1_BUILD1` )
|
|
| 13 | + |
|
| 14 | +### Languages:
|
|
| 15 | +- [x] java
|
|
| 16 | +- [x] cpp
|
|
| 17 | +- [x] js
|
|
| 18 | +- [x] rust
|
|
| 19 | + |
|
| 20 | +Nothing of interest (using `code_audit.sh`) |
| 1 | +#!/usr/bin/env bash
|
|
| 2 | + |
|
| 3 | +echoerr() { echo "$@" 1>&2; }
|
|
| 4 | + |
|
| 5 | +if [ "$#" -lt 3 ]; then
|
|
| 6 | + echoerr "Usage: $0 firefox-version gitlab-audit-issue-number reviewers... > output.md"
|
|
| 7 | + exit 1
|
|
| 8 | +fi
|
|
| 9 | + |
|
| 10 | +# Check pre-conditions
|
|
| 11 | +check_exists() {
|
|
| 12 | + local cmd=$1
|
|
| 13 | + if ! which ${cmd} > /dev/null ; then
|
|
| 14 | + echoerr "missing ${cmd} dependency"
|
|
| 15 | + exit 1
|
|
| 16 | + fi
|
|
| 17 | +}
|
|
| 18 | + |
|
| 19 | +check_exists wget
|
|
| 20 | +check_exists jq
|
|
| 21 | +check_exists sed
|
|
| 22 | +check_exists perl
|
|
| 23 | + |
|
| 24 | +# assign arguments to named variables
|
|
| 25 | +firefox_version=$1
|
|
| 26 | +audit_issue=$2
|
|
| 27 | +reviewers="${@:3}"
|
|
| 28 | + |
|
| 29 | +# check valid esr version
|
|
| 30 | +if ! [[ "${firefox_version}" =~ ^[1-9][0-9]{2}$ ]]; then
|
|
| 31 | + echoerr "invalid Firefox version (probably)"
|
|
| 32 | + exit 1
|
|
| 33 | +fi
|
|
| 34 | + |
|
| 35 | +# check valid issue number
|
|
| 36 | +if ! [[ "${audit_issue}" =~ ^[1-9][0-9]{4}$ ]]; then
|
|
| 37 | + echoerr "invalid gitlab audit issue number (probably)"
|
|
| 38 | + exit 1
|
|
| 39 | +fi
|
|
| 40 | + |
|
| 41 | +# download bug list
|
|
| 42 | +json=/tmp/${firefox_version}.json
|
|
| 43 | +bugzilla_query="https://bugzilla.mozilla.org/buglist.cgi?j_top=OR&f1=target_milestone&o3=equals&v3=Firefox%20${firefox_version}o1=equals&resolution=FIXED&o2=anyexact&query_format=advanced&f3=target_milestone&f2=cf_status_firefox${firefox_version}&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&v1=mozilla128&v2=fixed%2Cverified&limit=0"
|
|
| 44 | +# you can get this from the 'REST' link at the bottom of the prevoius bugzilla query ^^;
|
|
| 45 | +bugzilla_json_query="https://bugzilla.mozilla.org/rest/bug?include_fields=id,summary,status&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&f1=target_milestone&f2=cf_status_firefox${firefox_version}&f3=target_milestone&j_top=OR&limit=0&o1=equals&o2=anyexact&o3=equals&resolution=FIXED&v1=mozilla128&v2=fixed%2Cverified&v3=Firefox%20${firefox_version}"
|
|
| 46 | + |
|
| 47 | +wget "${bugzilla_json_query}" -O ${json}
|
|
| 48 | + |
|
| 49 | +echo "### [Bugzilla Query](${bugzilla_query})"
|
|
| 50 | +echo ""
|
|
| 51 | + |
|
| 52 | +issue_count=$(jq '.bugs | length' ${json})
|
|
| 53 | +counter=0
|
|
| 54 | +jq '.bugs | sort_by(.id)[] | "\(.id)|\(.summary)"' ${json} | while IFS='|' read -r id summary; do
|
|
| 55 | + |
|
| 56 | + # indexing
|
|
| 57 | + counter=$((counter + 1))
|
|
| 58 | + |
|
| 59 | + from=$counter
|
|
| 60 | + through=$((counter + 499))
|
|
| 61 | + if ((to > issue_count)); then
|
|
| 62 | + to=$issue_count
|
|
| 63 | + fi
|
|
| 64 | + |
|
| 65 | + # break up into sections or else gitlab falls over
|
|
| 66 | + if ((counter % 500 == 1)); then
|
|
| 67 | + echo "<details>"
|
|
| 68 | + echo " <summary>Resolved Firefox ${firefox_version} Bugzilla Issues ${from} through ${through}</summary>"
|
|
| 69 | + echo ""
|
|
| 70 | + fi
|
|
| 71 | + |
|
| 72 | + # bugzilla info
|
|
| 73 | + id="${id:1}"
|
|
| 74 | + summary="${summary:0:-1}"
|
|
| 75 | + [[ ${#summary} -gt 90 ]] && summary_short="${summary:0:87}..." || summary_short="${summary}"
|
|
| 76 | + |
|
| 77 | + # we need to escape printed strings for markdown
|
|
| 78 | + md_escape() {
|
|
| 79 | + local input="$1"
|
|
| 80 | + # jesus I'm sorry
|
|
| 81 | + echo "${input}" | sed 's/[][\\`*_{}<>()#+-\.~]/\\&/g'
|
|
| 82 | + }
|
|
| 83 | + |
|
| 84 | + md_summary=$(md_escape "${summary}")
|
|
| 85 | + md_summary_short=$(md_escape "$summary_short")
|
|
| 86 | + |
|
| 87 | + # we need to urlencode the strings used in the new issue link
|
|
| 88 | + url_encode() {
|
|
| 89 | + local input="$1"
|
|
| 90 | + echo "${input}" | perl -MURI::Escape -wlne 'print uri_escape $_'
|
|
| 91 | + }
|
|
| 92 | + |
|
| 93 | + # parent issue
|
|
| 94 | + bugzilla_url="https://bugzilla.mozilla.org/show_bug.cgi?id=${id}"
|
|
| 95 | + # review issue title
|
|
| 96 | + new_issue_title=$(url_encode "Review Mozilla ${id}: ${summary_short}")
|
|
| 97 | + # review issue description
|
|
| 98 | + new_issue_description=$(url_encode "### Bugzilla: ${bugzilla_url}")%0A$(url_encode "/label ~\"14.0 stable\" ~FF128-esr ~Next")%0A$(url_encode "/relate tpo/applications/tor-browser-spec#${audit_issue}")%0A%0A$(url_encode "<!-- briefly describe why this issue needs further review -->")%0A
|
|
| 99 | + # url which create's new issue with title and description pre-populated
|
|
| 100 | + new_issue_url="../../../../tor-browser/-/issues/new?issue[title]=${new_issue_title}&issue[description]=${new_issue_description}"
|
|
| 101 | + |
|
| 102 | + # em-space
|
|
| 103 | + em=" "
|
|
| 104 | + counter_string=$(printf "%04i" ${counter})
|
|
| 105 | + |
|
| 106 | + echo "- **${counter_string}**${em}<kbd>[Create Issue](${new_issue_url})</kbd>${em}[**${id}**: ${md_summary}](${bugzilla_url})"
|
|
| 107 | + |
|
| 108 | + |
|
| 109 | + if ((counter % 500 == 0 )) || (( counter == issue_count )); then
|
|
| 110 | + # checklist of engineers that have triaged this block
|
|
| 111 | + echo "</details>"
|
|
| 112 | + echo
|
|
| 113 | + echo "**Triaged by:**"
|
|
| 114 | + for reviewer in $reviewers; do
|
|
| 115 | + echo "- [ ] **${reviewer}**"
|
|
| 116 | + done
|
|
| 117 | + echo
|
|
| 118 | + elif ((counter % 25 == 0 )); then
|
|
| 119 | + # add a hrule every 25 to break things up visually
|
|
| 120 | + echo "---"
|
|
| 121 | + fi
|
|
| 122 | +done |
| ... | ... | @@ -138,7 +138,7 @@ case "${SCOPE}" in |
| 138 | 138 | initialize_rust_symbols
|
| 139 | 139 | ;;
|
| 140 | 140 | "js" )
|
| 141 | - EXT="js jsm"
|
|
| 141 | + EXT="js jsm mjs"
|
|
| 142 | 142 | initialize_js_symbols
|
| 143 | 143 | ;;
|
| 144 | 144 | * )
|
| ... | ... | @@ -172,9 +172,9 @@ rm -f "${REPORT_FILE}" |
| 172 | 172 | # of said commit
|
| 173 | 173 | |
| 174 | 174 | # Flashing Color constants
|
| 175 | -export GREP_COLOR="05;37;41"
|
|
| 175 | +export GREP_COLORS="mt=05;37;41"
|
|
| 176 | 176 | |
| 177 | -for COMMIT in $(git rev-list --ancestry-path $OLD~..$NEW); do
|
|
| 177 | +for COMMIT in $(git log --format="%H" $NEW ^$OLD); do
|
|
| 178 | 178 | TEMP_DIFF="$(mktemp)"
|
| 179 | 179 | |
| 180 | 180 | echo "Diffing $COMMIT..."
|