commit 9836227e4ae27123a3eb27167dc6dca13b5d1027 Author: Nicolas Vigier boklm@torproject.org Date: Mon Oct 10 19:44:10 2016 +0200
Bug 20217: check that OSX incremental MARs are made with code signing
When updating the OSX incremental MAR files after running dmg2mar, we check that both the old and the new mar files contain code signing.
We don't check this while creating the incremental MAR files during the build. --- gitian/Makefile | 4 ++-- tools/update-responses/update_responses | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/gitian/Makefile b/gitian/Makefile index f008834..a4a757f 100644 --- a/gitian/Makefile +++ b/gitian/Makefile @@ -48,12 +48,12 @@ signmars-nightly: dmg2mars: cd $(shell ../tools/update-responses/get_channel_version release) && ../../tools/dmg2mar $(TORSOCKS) ../tools/update-responses/download_missing_versions release - MAR_SKIP_EXISTING=1 ../tools/update-responses/gen_incrementals release + CHECK_CODESIGNATURE_EXISTS=1 MAR_SKIP_EXISTING=1 ../tools/update-responses/gen_incrementals release
dmg2mars-alpha: cd $(shell ../tools/update-responses/get_channel_version alpha) && ../../tools/dmg2mar $(TORSOCKS) ../tools/update-responses/download_missing_versions alpha - MAR_SKIP_EXISTING=1 ../tools/update-responses/gen_incrementals alpha + CHECK_CODESIGNATURE_EXISTS=1 MAR_SKIP_EXISTING=1 ../tools/update-responses/gen_incrementals alpha
update_responses: ../tools/update-responses/update_responses release diff --git a/tools/update-responses/update_responses b/tools/update-responses/update_responses index 7962f69..ceba144 100755 --- a/tools/update-responses/update_responses +++ b/tools/update-responses/update_responses @@ -197,6 +197,12 @@ sub create_incremental_mar { my $tmpdir = File::Temp->newdir(); extract_mar(mar_filename($from_version, $os, $lang), "$tmpdir/A"); extract_mar(mar_filename($new_version, $os, $lang), "$tmpdir/B"); + if ($ENV{CHECK_CODESIGNATURE_EXISTS}) { + unless (-f "$tmpdir/A/TorBrowser.app/Contents/_CodeSignature/CodeResources" + && -f "$tmpdir/B/TorBrowser.app/Contents/_CodeSignature/CodeResources") { + exit_error "Missing code signature while creating $mar_file"; + } + } my ($out, $err, $success) = capture_exec('make_incremental_update.sh', $mar_file_path, "$tmpdir/A", "$tmpdir/B"); if (!$success) {