)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1000000,"name":"Chirayu Desai","display_name":"Chirayu Desai","username":"chirayudesai","avatars":[{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"e743af89416f3b5a9634c7a8359cc3828d0ef0ff","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"a19384f9_71180bc7","updated":"2023-01-06 18:51:43.000000000","message":"Nice, gonna take another look at the signature code with a fresher mind. i.e. not late on a Friday.","commit_id":"907ce26d7359e30491b3c3d5f07a6dd79de35ad7"},{"author":{"_account_id":1000002,"name":"Oliver Scott","display_name":"Oliver Scott","email":"olivercscott@gmail.com","username":"Uldiniad","avatars":[{"url":"https://www.gravatar.com/avatar/7e7c4028381d0db00553aa2d96994222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/7e7c4028381d0db00553aa2d96994222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/7e7c4028381d0db00553aa2d96994222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/7e7c4028381d0db00553aa2d96994222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"3a1250d1b9f0ebc148bf3c3216ab39243aace098","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"05042144_7b89e630","updated":"2023-02-21 17:10:16.000000000","message":"Do we want to make this Bellis exclusive? https://cs.android.com/android/platform/superproject/+/master:frameworks/base/core/java/android/app/admin/DevicePolicyManager.java;l\u003d7841;drc\u003dee976fd24cfbd567c4543da39aadb1b3e4567042;bpv\u003d0;bpt\u003d1 Wouldn\u0027t require frameworks changes","commit_id":"8c0f816f485a46ec21d0cd2c24f7f87b0b139843"},{"author":{"_account_id":1000000,"name":"Chirayu Desai","display_name":"Chirayu Desai","username":"chirayudesai","avatars":[{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"549f404db82786bb78515da87134501fc852cd25","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"ff6cfcbd_eec37716","in_reply_to":"05042144_7b89e630","updated":"2023-02-21 18:32:04.000000000","message":"I\u0027m fine with this change because it\u0027s good to support this in general.\n\n`lockdownAllowlist` wouldn\u0027t work either way:\n\n\u003e Packages that will be able to access the network directly when VPN is in lockdown mode but not connected. Has no effect when clearing.\n\nWe want these to work when Orbot is actually running.","commit_id":"8c0f816f485a46ec21d0cd2c24f7f87b0b139843"},{"author":{"_account_id":1000062,"name":"Tommy Webb","display_name":"Tommy Webb","email":"tmwcommits@gmail.com","username":"t-m-w","avatars":[{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"c3781a45a559c405b8f833a9436202cfb197d861","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"a9e00950_17c70b4b","updated":"2023-05-10 20:43:16.000000000","message":"Edits were exclusively to whitespace","commit_id":"b7b0d9ecc72e88ceb97da2064a73817992ffc67a"},{"author":{"_account_id":1000062,"name":"Tommy Webb","display_name":"Tommy Webb","email":"tmwcommits@gmail.com","username":"t-m-w","avatars":[{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"69d40b7309fb74c31aa5c4f8981b8969227c861b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"118fad28_4208469a","updated":"2023-07-27 20:15:57.000000000","message":"Patchset 6 and below had an issue where the value of `adb shell settings get secure always_on_vpn_lockdown_whitelist` was modified to include Tor Browser or Briar, and those packages could potentially get stuck in the allowlist even after being uninstalled.\n\nPatchset 7 was uploaded to fix this; now, that setting doesn\u0027t get touched by this.","commit_id":"2f4b08c833cddb6f04db4e62127b63c2b75ba10d"},{"author":{"_account_id":1000062,"name":"Tommy Webb","display_name":"Tommy Webb","email":"tmwcommits@gmail.com","username":"t-m-w","avatars":[{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"6f861aa10f78ab9ce1e5738291be8c2b4b5bd249","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"c66ad7de_69790ac1","updated":"2023-12-14 18:53:48.000000000","message":"Test: With Orbot as the lockdown VPN, connect Orbot, then turn off its network access using the firewall. Try browsing with Chromium. As expected, it won\u0027t work. Now try browsing with Tor Browser. It will work.\n\nPasses.","commit_id":"766905fbd47bb1a3c4f6aaee1674307680217118"}],"services/core/java/com/android/server/connectivity/Vpn.java":[{"author":{"_account_id":1000062,"name":"Tommy Webb","display_name":"Tommy Webb","email":"tmwcommits@gmail.com","username":"t-m-w","avatars":[{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"e4b5c30601ba3a38ca54e4caaa131fd7d12fdef6","unresolved":true,"context_lines":[{"line_number":910,"context_line":"        if (ORBOT_PACKAGE_NAME.equals(packageName)) {"},{"line_number":911,"context_line":"            if (lockdownAllowlist \u003d\u003d null) {"},{"line_number":912,"context_line":"                lockdownAllowlist \u003d new ArrayList\u003c\u003e();"},{"line_number":913,"context_line":""},{"line_number":914,"context_line":"            }"},{"line_number":915,"context_line":"            final Set\u003cPair\u003cString, String\u003e\u003e ORBOT_LOCKDOWN_ALLOWLIST \u003d Set.of("},{"line_number":916,"context_line":"                    new Pair\u003c\u003e(\"org.torproject.torbrowser\", \"308205953082037DA003020102020900BA2DF613084D2BFD300D06092A864886F70D01010B0500305C3114301206035504030C0B546F722042726F7773657231183016060355040A0C0F54686520546F722050726F6A6563743110300E06035504070C0753656174746C65310B300906035504080C025741310B3009060355040613025553301E170D3139303531383231353834325A170D3334303531343231353834325A305C3114301206035504030C0B546F722042726F7773657231183016060355040A0C0F54686520546F722050726F6A6563743110300E06035504070C0753656174746C65310B300906035504080C025741310B300906035504061302555330820222300D06092A864886F70D01010105000382020F003082020A0282020100F3EE231D69CE435F324AD4AA398AEF3131876AE74563428B61F6AD8C65C522FDDF6EDCC24F6E615AD978598F8C595C632F2D51DF8225EC26742AF7479D8B45EEA379AC7C21E8665BDFB2AC8F0008C0B47A2BA89CAA39C581C0827D35599DA3D6E0FD4045DD4EBDEEDE39790BE6DD630B6BA7908BEB39E20EAA9C42DBCC5BB7B4F7A43F0E2F9DD91E076E2C7CDCC2F8F9B626628F366831EB917D2E54DEF859DF042084460AADCB1D53FF8114F8D666494992B260AF2B7F4CDD80B7733296B79E8831CBC8BA54B028CF3202DFDA84855540567C62AED813F32BAEE137CE3FC149A109B0A36E32FCB28A2A8D2E7C2F67D9B189FFD2E53FFF8EDDADE9D05D3E33560E73ECBF1F8C582077272AE7B5E9D16E0376A0AB39606B2089E78CBC4A37DA4D85F5965DB420CB6D77717348A21B49358F0C34742DA74B69F6746A2988EB815E2910A7F492F52E14DCC17414BE735594E6B6AD62BF0A701D3A3DD27457050101E568CF32536A4E7FD069908BACCF2197BB9C4C2585446DF2BDA23C4EDDA671CF1A881803959951071F8D03AC8DFF38AB00ABF88C87CD3783815032F9288169194EAD8EA0A28A518CD8EC0A0CD5C60800DE1683A0436B09A026524ABEDFF94E0D7AC6EF3E06F8865C780BC1818C64134389FF30D4331053EA2591D65808215C6878D1FB3E4FE7627B926FB9C1031A778F6FFE87BBFE35141B36F271B05075E75F0203010001A35A305830090603551D1304023000300B0603551D0F040403020780301D0603551D0E041604146D96FBE7BED0BD62CBB0C2607B6EDA93EDB69455301F0603551D230418301680146D96FBE7BED0BD62CBB0C2607B6EDA93EDB69455300D06092A864886F70D01010B0500038202010027C7E940533A854AEFCE955438A5344BD366CD2DD8C24E8DDC990D31D3AD5C5331EABCB2F01ED5517A19CC5AD5439DD8193F94D5474D76131762647DAE91EDB59EE90A84CEC2DFC61DDAEB12B88BCC58ED6736AA650AE0DB72372BC70E2651029D240D8993A18482B88881920FD50E023F7FFDE705B723CEB6F5E6AFA969A96B1C9531C9443694BFE504610E208C852E7C0B2CCD063E39DD5CCA83B3E901B1A3372DA55E4C854607D4C35673348A511B5929B825BF058F8BD3ABA2961C4C273AA124D24144D9A24961A6135B3BB8CDE2290A54271BECE02E0CBAF6ABD4AF13FF1D7C4A5192CF577A1DE47A51030308940F900BFBACACAB85F0D08B0606364415070CF851E630C8516656E8324B86DAACF482D571C1FD3865264E091D189D07171695E424E78FE91ABD25A993B6014C5A97647CC963C2A2602632299C471C8E29312592CDBC84E6DD275E8F008651192F197B969701A276DAF0672FCD3B5D734328D53B910F0931FA11A176EC00EAB73C813F30C33BF4E2E347F15BFD30701FBB0353410F991AE2C5B4492E51E0C439F517F4F34791D4CED1A362F3D1FB47AD3EDE2B41C1D038A2DD79B2AB344B2F1C7BEF3E339BA6DCED49461EF7DF58B18090FC1A50DFA3F6F058F561B2C909F61F0FBB351B79ABFFD7553D14B568284A863B5CD373F0F69C23DB81456F3F2F9DCEADDE55670E9D04D870E5A06BEC2BCAEE5D\"),"}],"source_content_type":"text/x-java","patch_set":2,"id":"7fc0caf4_13eb6680","line":913,"updated":"2023-02-15 19:49:19.000000000","message":"nit: unneeded newline","commit_id":"8c0f816f485a46ec21d0cd2c24f7f87b0b139843"},{"author":{"_account_id":1000062,"name":"Tommy Webb","display_name":"Tommy Webb","email":"tmwcommits@gmail.com","username":"t-m-w","avatars":[{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"c3781a45a559c405b8f833a9436202cfb197d861","unresolved":false,"context_lines":[{"line_number":910,"context_line":"        if (ORBOT_PACKAGE_NAME.equals(packageName)) {"},{"line_number":911,"context_line":"            if (lockdownAllowlist \u003d\u003d null) {"},{"line_number":912,"context_line":"                lockdownAllowlist \u003d new ArrayList\u003c\u003e();"},{"line_number":913,"context_line":""},{"line_number":914,"context_line":"            }"},{"line_number":915,"context_line":"            final Set\u003cPair\u003cString, String\u003e\u003e ORBOT_LOCKDOWN_ALLOWLIST \u003d Set.of("},{"line_number":916,"context_line":"                    new Pair\u003c\u003e(\"org.torproject.torbrowser\", \"308205953082037DA003020102020900BA2DF613084D2BFD300D06092A864886F70D01010B0500305C3114301206035504030C0B546F722042726F7773657231183016060355040A0C0F54686520546F722050726F6A6563743110300E06035504070C0753656174746C65310B300906035504080C025741310B3009060355040613025553301E170D3139303531383231353834325A170D3334303531343231353834325A305C3114301206035504030C0B546F722042726F7773657231183016060355040A0C0F54686520546F722050726F6A6563743110300E06035504070C0753656174746C65310B300906035504080C025741310B300906035504061302555330820222300D06092A864886F70D01010105000382020F003082020A0282020100F3EE231D69CE435F324AD4AA398AEF3131876AE74563428B61F6AD8C65C522FDDF6EDCC24F6E615AD978598F8C595C632F2D51DF8225EC26742AF7479D8B45EEA379AC7C21E8665BDFB2AC8F0008C0B47A2BA89CAA39C581C0827D35599DA3D6E0FD4045DD4EBDEEDE39790BE6DD630B6BA7908BEB39E20EAA9C42DBCC5BB7B4F7A43F0E2F9DD91E076E2C7CDCC2F8F9B626628F366831EB917D2E54DEF859DF042084460AADCB1D53FF8114F8D666494992B260AF2B7F4CDD80B7733296B79E8831CBC8BA54B028CF3202DFDA84855540567C62AED813F32BAEE137CE3FC149A109B0A36E32FCB28A2A8D2E7C2F67D9B189FFD2E53FFF8EDDADE9D05D3E33560E73ECBF1F8C582077272AE7B5E9D16E0376A0AB39606B2089E78CBC4A37DA4D85F5965DB420CB6D77717348A21B49358F0C34742DA74B69F6746A2988EB815E2910A7F492F52E14DCC17414BE735594E6B6AD62BF0A701D3A3DD27457050101E568CF32536A4E7FD069908BACCF2197BB9C4C2585446DF2BDA23C4EDDA671CF1A881803959951071F8D03AC8DFF38AB00ABF88C87CD3783815032F9288169194EAD8EA0A28A518CD8EC0A0CD5C60800DE1683A0436B09A026524ABEDFF94E0D7AC6EF3E06F8865C780BC1818C64134389FF30D4331053EA2591D65808215C6878D1FB3E4FE7627B926FB9C1031A778F6FFE87BBFE35141B36F271B05075E75F0203010001A35A305830090603551D1304023000300B0603551D0F040403020780301D0603551D0E041604146D96FBE7BED0BD62CBB0C2607B6EDA93EDB69455301F0603551D230418301680146D96FBE7BED0BD62CBB0C2607B6EDA93EDB69455300D06092A864886F70D01010B0500038202010027C7E940533A854AEFCE955438A5344BD366CD2DD8C24E8DDC990D31D3AD5C5331EABCB2F01ED5517A19CC5AD5439DD8193F94D5474D76131762647DAE91EDB59EE90A84CEC2DFC61DDAEB12B88BCC58ED6736AA650AE0DB72372BC70E2651029D240D8993A18482B88881920FD50E023F7FFDE705B723CEB6F5E6AFA969A96B1C9531C9443694BFE504610E208C852E7C0B2CCD063E39DD5CCA83B3E901B1A3372DA55E4C854607D4C35673348A511B5929B825BF058F8BD3ABA2961C4C273AA124D24144D9A24961A6135B3BB8CDE2290A54271BECE02E0CBAF6ABD4AF13FF1D7C4A5192CF577A1DE47A51030308940F900BFBACACAB85F0D08B0606364415070CF851E630C8516656E8324B86DAACF482D571C1FD3865264E091D189D07171695E424E78FE91ABD25A993B6014C5A97647CC963C2A2602632299C471C8E29312592CDBC84E6DD275E8F008651192F197B969701A276DAF0672FCD3B5D734328D53B910F0931FA11A176EC00EAB73C813F30C33BF4E2E347F15BFD30701FBB0353410F991AE2C5B4492E51E0C439F517F4F34791D4CED1A362F3D1FB47AD3EDE2B41C1D038A2DD79B2AB344B2F1C7BEF3E339BA6DCED49461EF7DF58B18090FC1A50DFA3F6F058F561B2C909F61F0FBB351B79ABFFD7553D14B568284A863B5CD373F0F69C23DB81456F3F2F9DCEADDE55670E9D04D870E5A06BEC2BCAEE5D\"),"}],"source_content_type":"text/x-java","patch_set":2,"id":"9d3b75ee_89daa166","line":913,"in_reply_to":"7fc0caf4_13eb6680","updated":"2023-05-10 20:43:16.000000000","message":"Done","commit_id":"8c0f816f485a46ec21d0cd2c24f7f87b0b139843"},{"author":{"_account_id":1000062,"name":"Tommy Webb","display_name":"Tommy Webb","email":"tmwcommits@gmail.com","username":"t-m-w","avatars":[{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"e4b5c30601ba3a38ca54e4caaa131fd7d12fdef6","unresolved":true,"context_lines":[{"line_number":912,"context_line":"                lockdownAllowlist \u003d new ArrayList\u003c\u003e();"},{"line_number":913,"context_line":""},{"line_number":914,"context_line":"            }"},{"line_number":915,"context_line":"            final Set\u003cPair\u003cString, String\u003e\u003e ORBOT_LOCKDOWN_ALLOWLIST \u003d Set.of("},{"line_number":916,"context_line":"                    new Pair\u003c\u003e(\"org.torproject.torbrowser\", \"308205953082037DA003020102020900BA2DF613084D2BFD300D06092A864886F70D01010B0500305C3114301206035504030C0B546F722042726F7773657231183016060355040A0C0F54686520546F722050726F6A6563743110300E06035504070C0753656174746C65310B300906035504080C025741310B3009060355040613025553301E170D3139303531383231353834325A170D3334303531343231353834325A305C3114301206035504030C0B546F722042726F7773657231183016060355040A0C0F54686520546F722050726F6A6563743110300E06035504070C0753656174746C65310B300906035504080C025741310B300906035504061302555330820222300D06092A864886F70D01010105000382020F003082020A0282020100F3EE231D69CE435F324AD4AA398AEF3131876AE74563428B61F6AD8C65C522FDDF6EDCC24F6E615AD978598F8C595C632F2D51DF8225EC26742AF7479D8B45EEA379AC7C21E8665BDFB2AC8F0008C0B47A2BA89CAA39C581C0827D35599DA3D6E0FD4045DD4EBDEEDE39790BE6DD630B6BA7908BEB39E20EAA9C42DBCC5BB7B4F7A43F0E2F9DD91E076E2C7CDCC2F8F9B626628F366831EB917D2E54DEF859DF042084460AADCB1D53FF8114F8D666494992B260AF2B7F4CDD80B7733296B79E8831CBC8BA54B028CF3202DFDA84855540567C62AED813F32BAEE137CE3FC149A109B0A36E32FCB28A2A8D2E7C2F67D9B189FFD2E53FFF8EDDADE9D05D3E33560E73ECBF1F8C582077272AE7B5E9D16E0376A0AB39606B2089E78CBC4A37DA4D85F5965DB420CB6D77717348A21B49358F0C34742DA74B69F6746A2988EB815E2910A7F492F52E14DCC17414BE735594E6B6AD62BF0A701D3A3DD27457050101E568CF32536A4E7FD069908BACCF2197BB9C4C2585446DF2BDA23C4EDDA671CF1A881803959951071F8D03AC8DFF38AB00ABF88C87CD3783815032F9288169194EAD8EA0A28A518CD8EC0A0CD5C60800DE1683A0436B09A026524ABEDFF94E0D7AC6EF3E06F8865C780BC1818C64134389FF30D4331053EA2591D65808215C6878D1FB3E4FE7627B926FB9C1031A778F6FFE87BBFE35141B36F271B05075E75F0203010001A35A305830090603551D1304023000300B0603551D0F040403020780301D0603551D0E041604146D96FBE7BED0BD62CBB0C2607B6EDA93EDB69455301F0603551D230418301680146D96FBE7BED0BD62CBB0C2607B6EDA93EDB69455300D06092A864886F70D01010B0500038202010027C7E940533A854AEFCE955438A5344BD366CD2DD8C24E8DDC990D31D3AD5C5331EABCB2F01ED5517A19CC5AD5439DD8193F94D5474D76131762647DAE91EDB59EE90A84CEC2DFC61DDAEB12B88BCC58ED6736AA650AE0DB72372BC70E2651029D240D8993A18482B88881920FD50E023F7FFDE705B723CEB6F5E6AFA969A96B1C9531C9443694BFE504610E208C852E7C0B2CCD063E39DD5CCA83B3E901B1A3372DA55E4C854607D4C35673348A511B5929B825BF058F8BD3ABA2961C4C273AA124D24144D9A24961A6135B3BB8CDE2290A54271BECE02E0CBAF6ABD4AF13FF1D7C4A5192CF577A1DE47A51030308940F900BFBACACAB85F0D08B0606364415070CF851E630C8516656E8324B86DAACF482D571C1FD3865264E091D189D07171695E424E78FE91ABD25A993B6014C5A97647CC963C2A2602632299C471C8E29312592CDBC84E6DD275E8F008651192F197B969701A276DAF0672FCD3B5D734328D53B910F0931FA11A176EC00EAB73C813F30C33BF4E2E347F15BFD30701FBB0353410F991AE2C5B4492E51E0C439F517F4F34791D4CED1A362F3D1FB47AD3EDE2B41C1D038A2DD79B2AB344B2F1C7BEF3E339BA6DCED49461EF7DF58B18090FC1A50DFA3F6F058F561B2C909F61F0FBB351B79ABFFD7553D14B568284A863B5CD373F0F69C23DB81456F3F2F9DCEADDE55670E9D04D870E5A06BEC2BCAEE5D\"),"},{"line_number":917,"context_line":"                    new Pair\u003c\u003e(\"org.briarproject.briar.android\", \"308202D5308201BDA00302010202040B7BA025300D06092A864886F70D01010B0500301B31193017060355040A1310627269617270726F6A6563742E6F7267301E170D3138303432353135323735365A170D3435303931303135323735365A301B31193017060355040A1310627269617270726F6A6563742E6F726730820122300D06092A864886F70D01010105000382010F003082010A0282010100887D49815638C3E01B08FA5CD80A62FE2640DAB155E848EBC0CF18ABD61618CE1B17632143D612D3AF282DC6B477E43286E5CD559E0DEB5AE951532A1347E95C2A9BC064FBE06E21528A0DDD3AB734679FEF9E31A49042694BF8C4E2DA66F820F6D2BF1F9D5180C409152F80FFD5EAB39B5423F8F09127A8B89D92B0F588284F783356B8812FC35893A526671573B8DDC3A85BAB46DC60DEA13351A2091728C037F20929DD668E757E905F98CC31D7B8B95E9E5D103A33320C71282CD0C797961C99B65CD33F478551FB28F51D5D2A3D636897AC87C1EB5D25323831526424014719136A7104BF8B60A6A30882C526056FB7D5372EA79371CAEAC7C92BC14B050203010001A321301F301D0603551D0E04160414E76D3580725F8DBD28912FF4DF18375F60B49211300D06092A864886F70D01010B050003820101002BAAA21FDF7301562EC3597705B4989B77114428619E84A8288032DB95251CFBB938DDE28BEACBFC63C6A52DE1520973EF19E8355534732139C374B320BEF56E8EF2CA2129307C589D99912317F57CA8639427B7B20225DAB64D12112B57510081A3E6B33EBEE96CAC80E13CDBC73C41BD1F4E0125B6376B95A71411223C15DD8AA1A5734029713097C27073EBCC325688991EF3A46D4CD03E48FD46749937F641C618B783AC7FF0D428E0443EBE36A3D23D82014EA95758344EBFA2A041253CEB7EE6B687857956EE69840E0DA71A6529D33F3674C78C3BAFFBD9724858EA82CB651B58D4D8A0607E763BD0F37D145C3EE705F7D41322AA1A00D5A36F1275EA\")"},{"line_number":918,"context_line":"            );"}],"source_content_type":"text/x-java","patch_set":2,"id":"3ff786db_e9c485d4","line":915,"updated":"2023-02-15 19:49:19.000000000","message":"nit: Maybe private static and outside of the method? Minor, doesn\u0027t matter either way.","commit_id":"8c0f816f485a46ec21d0cd2c24f7f87b0b139843"},{"author":{"_account_id":1000062,"name":"Tommy Webb","display_name":"Tommy Webb","email":"tmwcommits@gmail.com","username":"t-m-w","avatars":[{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"c3781a45a559c405b8f833a9436202cfb197d861","unresolved":false,"context_lines":[{"line_number":912,"context_line":"                lockdownAllowlist \u003d new ArrayList\u003c\u003e();"},{"line_number":913,"context_line":""},{"line_number":914,"context_line":"            }"},{"line_number":915,"context_line":"            final Set\u003cPair\u003cString, String\u003e\u003e ORBOT_LOCKDOWN_ALLOWLIST \u003d Set.of("},{"line_number":916,"context_line":"                    new Pair\u003c\u003e(\"org.torproject.torbrowser\", \"308205953082037DA003020102020900BA2DF613084D2BFD300D06092A864886F70D01010B0500305C3114301206035504030C0B546F722042726F7773657231183016060355040A0C0F54686520546F722050726F6A6563743110300E06035504070C0753656174746C65310B300906035504080C025741310B3009060355040613025553301E170D3139303531383231353834325A170D3334303531343231353834325A305C3114301206035504030C0B546F722042726F7773657231183016060355040A0C0F54686520546F722050726F6A6563743110300E06035504070C0753656174746C65310B300906035504080C025741310B300906035504061302555330820222300D06092A864886F70D01010105000382020F003082020A0282020100F3EE231D69CE435F324AD4AA398AEF3131876AE74563428B61F6AD8C65C522FDDF6EDCC24F6E615AD978598F8C595C632F2D51DF8225EC26742AF7479D8B45EEA379AC7C21E8665BDFB2AC8F0008C0B47A2BA89CAA39C581C0827D35599DA3D6E0FD4045DD4EBDEEDE39790BE6DD630B6BA7908BEB39E20EAA9C42DBCC5BB7B4F7A43F0E2F9DD91E076E2C7CDCC2F8F9B626628F366831EB917D2E54DEF859DF042084460AADCB1D53FF8114F8D666494992B260AF2B7F4CDD80B7733296B79E8831CBC8BA54B028CF3202DFDA84855540567C62AED813F32BAEE137CE3FC149A109B0A36E32FCB28A2A8D2E7C2F67D9B189FFD2E53FFF8EDDADE9D05D3E33560E73ECBF1F8C582077272AE7B5E9D16E0376A0AB39606B2089E78CBC4A37DA4D85F5965DB420CB6D77717348A21B49358F0C34742DA74B69F6746A2988EB815E2910A7F492F52E14DCC17414BE735594E6B6AD62BF0A701D3A3DD27457050101E568CF32536A4E7FD069908BACCF2197BB9C4C2585446DF2BDA23C4EDDA671CF1A881803959951071F8D03AC8DFF38AB00ABF88C87CD3783815032F9288169194EAD8EA0A28A518CD8EC0A0CD5C60800DE1683A0436B09A026524ABEDFF94E0D7AC6EF3E06F8865C780BC1818C64134389FF30D4331053EA2591D65808215C6878D1FB3E4FE7627B926FB9C1031A778F6FFE87BBFE35141B36F271B05075E75F0203010001A35A305830090603551D1304023000300B0603551D0F040403020780301D0603551D0E041604146D96FBE7BED0BD62CBB0C2607B6EDA93EDB69455301F0603551D230418301680146D96FBE7BED0BD62CBB0C2607B6EDA93EDB69455300D06092A864886F70D01010B0500038202010027C7E940533A854AEFCE955438A5344BD366CD2DD8C24E8DDC990D31D3AD5C5331EABCB2F01ED5517A19CC5AD5439DD8193F94D5474D76131762647DAE91EDB59EE90A84CEC2DFC61DDAEB12B88BCC58ED6736AA650AE0DB72372BC70E2651029D240D8993A18482B88881920FD50E023F7FFDE705B723CEB6F5E6AFA969A96B1C9531C9443694BFE504610E208C852E7C0B2CCD063E39DD5CCA83B3E901B1A3372DA55E4C854607D4C35673348A511B5929B825BF058F8BD3ABA2961C4C273AA124D24144D9A24961A6135B3BB8CDE2290A54271BECE02E0CBAF6ABD4AF13FF1D7C4A5192CF577A1DE47A51030308940F900BFBACACAB85F0D08B0606364415070CF851E630C8516656E8324B86DAACF482D571C1FD3865264E091D189D07171695E424E78FE91ABD25A993B6014C5A97647CC963C2A2602632299C471C8E29312592CDBC84E6DD275E8F008651192F197B969701A276DAF0672FCD3B5D734328D53B910F0931FA11A176EC00EAB73C813F30C33BF4E2E347F15BFD30701FBB0353410F991AE2C5B4492E51E0C439F517F4F34791D4CED1A362F3D1FB47AD3EDE2B41C1D038A2DD79B2AB344B2F1C7BEF3E339BA6DCED49461EF7DF58B18090FC1A50DFA3F6F058F561B2C909F61F0FBB351B79ABFFD7553D14B568284A863B5CD373F0F69C23DB81456F3F2F9DCEADDE55670E9D04D870E5A06BEC2BCAEE5D\"),"},{"line_number":917,"context_line":"                    new Pair\u003c\u003e(\"org.briarproject.briar.android\", \"308202D5308201BDA00302010202040B7BA025300D06092A864886F70D01010B0500301B31193017060355040A1310627269617270726F6A6563742E6F7267301E170D3138303432353135323735365A170D3435303931303135323735365A301B31193017060355040A1310627269617270726F6A6563742E6F726730820122300D06092A864886F70D01010105000382010F003082010A0282010100887D49815638C3E01B08FA5CD80A62FE2640DAB155E848EBC0CF18ABD61618CE1B17632143D612D3AF282DC6B477E43286E5CD559E0DEB5AE951532A1347E95C2A9BC064FBE06E21528A0DDD3AB734679FEF9E31A49042694BF8C4E2DA66F820F6D2BF1F9D5180C409152F80FFD5EAB39B5423F8F09127A8B89D92B0F588284F783356B8812FC35893A526671573B8DDC3A85BAB46DC60DEA13351A2091728C037F20929DD668E757E905F98CC31D7B8B95E9E5D103A33320C71282CD0C797961C99B65CD33F478551FB28F51D5D2A3D636897AC87C1EB5D25323831526424014719136A7104BF8B60A6A30882C526056FB7D5372EA79371CAEAC7C92BC14B050203010001A321301F301D0603551D0E04160414E76D3580725F8DBD28912FF4DF18375F60B49211300D06092A864886F70D01010B050003820101002BAAA21FDF7301562EC3597705B4989B77114428619E84A8288032DB95251CFBB938DDE28BEACBFC63C6A52DE1520973EF19E8355534732139C374B320BEF56E8EF2CA2129307C589D99912317F57CA8639427B7B20225DAB64D12112B57510081A3E6B33EBEE96CAC80E13CDBC73C41BD1F4E0125B6376B95A71411223C15DD8AA1A5734029713097C27073EBCC325688991EF3A46D4CD03E48FD46749937F641C618B783AC7FF0D428E0443EBE36A3D23D82014EA95758344EBFA2A041253CEB7EE6B687857956EE69840E0DA71A6529D33F3674C78C3BAFFBD9724858EA82CB651B58D4D8A0607E763BD0F37D145C3EE705F7D41322AA1A00D5A36F1275EA\")"},{"line_number":918,"context_line":"            );"}],"source_content_type":"text/x-java","patch_set":2,"id":"dac505fd_ee01d4ba","line":915,"in_reply_to":"3ff786db_e9c485d4","updated":"2023-05-10 20:43:16.000000000","message":"Ack","commit_id":"8c0f816f485a46ec21d0cd2c24f7f87b0b139843"},{"author":{"_account_id":1000062,"name":"Tommy Webb","display_name":"Tommy Webb","email":"tmwcommits@gmail.com","username":"t-m-w","avatars":[{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"e4b5c30601ba3a38ca54e4caaa131fd7d12fdef6","unresolved":true,"context_lines":[{"line_number":925,"context_line":"                    for (Signature signature : packageInfo.signingInfo.getApkContentsSigners()) {"},{"line_number":926,"context_line":"                        outputStream.write(signature.toByteArray());"},{"line_number":927,"context_line":"                    }"},{"line_number":928,"context_line":"                    if (!Signature.areEffectiveMatch(new Signature(outputStream.toByteArray()), new Signature(pair.second))) {"},{"line_number":929,"context_line":"                        throw new SecurityException(pair.first + \" signature does not match allowlisted signature\");"},{"line_number":930,"context_line":"                    }"},{"line_number":931,"context_line":"                    if (!lockdownAllowlist.contains(pair.first)) {"}],"source_content_type":"text/x-java","patch_set":2,"id":"6044ad2e_231f5f4e","line":928,"updated":"2023-02-15 19:49:19.000000000","message":"nit: lines are a little long","commit_id":"8c0f816f485a46ec21d0cd2c24f7f87b0b139843"},{"author":{"_account_id":1000062,"name":"Tommy Webb","display_name":"Tommy Webb","email":"tmwcommits@gmail.com","username":"t-m-w","avatars":[{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"c3781a45a559c405b8f833a9436202cfb197d861","unresolved":false,"context_lines":[{"line_number":925,"context_line":"                    for (Signature signature : packageInfo.signingInfo.getApkContentsSigners()) {"},{"line_number":926,"context_line":"                        outputStream.write(signature.toByteArray());"},{"line_number":927,"context_line":"                    }"},{"line_number":928,"context_line":"                    if (!Signature.areEffectiveMatch(new Signature(outputStream.toByteArray()), new Signature(pair.second))) {"},{"line_number":929,"context_line":"                        throw new SecurityException(pair.first + \" signature does not match allowlisted signature\");"},{"line_number":930,"context_line":"                    }"},{"line_number":931,"context_line":"                    if (!lockdownAllowlist.contains(pair.first)) {"}],"source_content_type":"text/x-java","patch_set":2,"id":"26b13f10_44d3ee05","line":928,"in_reply_to":"6044ad2e_231f5f4e","updated":"2023-05-10 20:43:16.000000000","message":"Done","commit_id":"8c0f816f485a46ec21d0cd2c24f7f87b0b139843"},{"author":{"_account_id":1000000,"name":"Chirayu Desai","display_name":"Chirayu Desai","username":"chirayudesai","avatars":[{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"837cd4eebd8c30437375603d5adc3dfce18eb64e","unresolved":true,"context_lines":[{"line_number":914,"context_line":"            final Set\u003cPair\u003cString, String\u003e\u003e ORBOT_LOCKDOWN_ALLOWLIST \u003d Set.of("},{"line_number":915,"context_line":"                    new Pair\u003c\u003e(\"org.torproject.torbrowser\", \"308205953082037DA003020102020900BA2DF613084D2BFD300D06092A864886F70D01010B0500305C3114301206035504030C0B546F722042726F7773657231183016060355040A0C0F54686520546F722050726F6A6563743110300E06035504070C0753656174746C65310B300906035504080C025741310B3009060355040613025553301E170D3139303531383231353834325A170D3334303531343231353834325A305C3114301206035504030C0B546F722042726F7773657231183016060355040A0C0F54686520546F722050726F6A6563743110300E06035504070C0753656174746C65310B300906035504080C025741310B300906035504061302555330820222300D06092A864886F70D01010105000382020F003082020A0282020100F3EE231D69CE435F324AD4AA398AEF3131876AE74563428B61F6AD8C65C522FDDF6EDCC24F6E615AD978598F8C595C632F2D51DF8225EC26742AF7479D8B45EEA379AC7C21E8665BDFB2AC8F0008C0B47A2BA89CAA39C581C0827D35599DA3D6E0FD4045DD4EBDEEDE39790BE6DD630B6BA7908BEB39E20EAA9C42DBCC5BB7B4F7A43F0E2F9DD91E076E2C7CDCC2F8F9B626628F366831EB917D2E54DEF859DF042084460AADCB1D53FF8114F8D666494992B260AF2B7F4CDD80B7733296B79E8831CBC8BA54B028CF3202DFDA84855540567C62AED813F32BAEE137CE3FC149A109B0A36E32FCB28A2A8D2E7C2F67D9B189FFD2E53FFF8EDDADE9D05D3E33560E73ECBF1F8C582077272AE7B5E9D16E0376A0AB39606B2089E78CBC4A37DA4D85F5965DB420CB6D77717348A21B49358F0C34742DA74B69F6746A2988EB815E2910A7F492F52E14DCC17414BE735594E6B6AD62BF0A701D3A3DD27457050101E568CF32536A4E7FD069908BACCF2197BB9C4C2585446DF2BDA23C4EDDA671CF1A881803959951071F8D03AC8DFF38AB00ABF88C87CD3783815032F9288169194EAD8EA0A28A518CD8EC0A0CD5C60800DE1683A0436B09A026524ABEDFF94E0D7AC6EF3E06F8865C780BC1818C64134389FF30D4331053EA2591D65808215C6878D1FB3E4FE7627B926FB9C1031A778F6FFE87BBFE35141B36F271B05075E75F0203010001A35A305830090603551D1304023000300B0603551D0F040403020780301D0603551D0E041604146D96FBE7BED0BD62CBB0C2607B6EDA93EDB69455301F0603551D230418301680146D96FBE7BED0BD62CBB0C2607B6EDA93EDB69455300D06092A864886F70D01010B0500038202010027C7E940533A854AEFCE955438A5344BD366CD2DD8C24E8DDC990D31D3AD5C5331EABCB2F01ED5517A19CC5AD5439DD8193F94D5474D76131762647DAE91EDB59EE90A84CEC2DFC61DDAEB12B88BCC58ED6736AA650AE0DB72372BC70E2651029D240D8993A18482B88881920FD50E023F7FFDE705B723CEB6F5E6AFA969A96B1C9531C9443694BFE504610E208C852E7C0B2CCD063E39DD5CCA83B3E901B1A3372DA55E4C854607D4C35673348A511B5929B825BF058F8BD3ABA2961C4C273AA124D24144D9A24961A6135B3BB8CDE2290A54271BECE02E0CBAF6ABD4AF13FF1D7C4A5192CF577A1DE47A51030308940F900BFBACACAB85F0D08B0606364415070CF851E630C8516656E8324B86DAACF482D571C1FD3865264E091D189D07171695E424E78FE91ABD25A993B6014C5A97647CC963C2A2602632299C471C8E29312592CDBC84E6DD275E8F008651192F197B969701A276DAF0672FCD3B5D734328D53B910F0931FA11A176EC00EAB73C813F30C33BF4E2E347F15BFD30701FBB0353410F991AE2C5B4492E51E0C439F517F4F34791D4CED1A362F3D1FB47AD3EDE2B41C1D038A2DD79B2AB344B2F1C7BEF3E339BA6DCED49461EF7DF58B18090FC1A50DFA3F6F058F561B2C909F61F0FBB351B79ABFFD7553D14B568284A863B5CD373F0F69C23DB81456F3F2F9DCEADDE55670E9D04D870E5A06BEC2BCAEE5D\"),"},{"line_number":916,"context_line":"                    new Pair\u003c\u003e(\"org.briarproject.briar.android\", \"308202D5308201BDA00302010202040B7BA025300D06092A864886F70D01010B0500301B31193017060355040A1310627269617270726F6A6563742E6F7267301E170D3138303432353135323735365A170D3435303931303135323735365A301B31193017060355040A1310627269617270726F6A6563742E6F726730820122300D06092A864886F70D01010105000382010F003082010A0282010100887D49815638C3E01B08FA5CD80A62FE2640DAB155E848EBC0CF18ABD61618CE1B17632143D612D3AF282DC6B477E43286E5CD559E0DEB5AE951532A1347E95C2A9BC064FBE06E21528A0DDD3AB734679FEF9E31A49042694BF8C4E2DA66F820F6D2BF1F9D5180C409152F80FFD5EAB39B5423F8F09127A8B89D92B0F588284F783356B8812FC35893A526671573B8DDC3A85BAB46DC60DEA13351A2091728C037F20929DD668E757E905F98CC31D7B8B95E9E5D103A33320C71282CD0C797961C99B65CD33F478551FB28F51D5D2A3D636897AC87C1EB5D25323831526424014719136A7104BF8B60A6A30882C526056FB7D5372EA79371CAEAC7C92BC14B050203010001A321301F301D0603551D0E04160414E76D3580725F8DBD28912FF4DF18375F60B49211300D06092A864886F70D01010B050003820101002BAAA21FDF7301562EC3597705B4989B77114428619E84A8288032DB95251CFBB938DDE28BEACBFC63C6A52DE1520973EF19E8355534732139C374B320BEF56E8EF2CA2129307C589D99912317F57CA8639427B7B20225DAB64D12112B57510081A3E6B33EBEE96CAC80E13CDBC73C41BD1F4E0125B6376B95A71411223C15DD8AA1A5734029713097C27073EBCC325688991EF3A46D4CD03E48FD46749937F641C618B783AC7FF0D428E0443EBE36A3D23D82014EA95758344EBFA2A041253CEB7EE6B687857956EE69840E0DA71A6529D33F3674C78C3BAFFBD9724858EA82CB651B58D4D8A0607E763BD0F37D145C3EE705F7D41322AA1A00D5A36F1275EA\")"},{"line_number":917,"context_line":"            );"},{"line_number":918,"context_line":"            for (Pair\u003cString, String\u003e pair : ORBOT_LOCKDOWN_ALLOWLIST) {"},{"line_number":919,"context_line":"                try {"},{"line_number":920,"context_line":"                    PackageInfo packageInfo \u003d mUserIdContext.getPackageManager()"}],"source_content_type":"text/x-java","patch_set":3,"id":"d72d16a8_c1eec22a","line":917,"updated":"2023-06-29 19:08:28.000000000","message":"Should move these variables to the top, and add comments (I presume they\u0027re for the default bundled versions, aka Tor Browser from the Guardian Project Repo and Briar from the F-Droid official repo.","commit_id":"b7b0d9ecc72e88ceb97da2064a73817992ffc67a"},{"author":{"_account_id":1000002,"name":"Oliver Scott","display_name":"Oliver Scott","email":"olivercscott@gmail.com","username":"Uldiniad","avatars":[{"url":"https://www.gravatar.com/avatar/7e7c4028381d0db00553aa2d96994222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/7e7c4028381d0db00553aa2d96994222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/7e7c4028381d0db00553aa2d96994222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/7e7c4028381d0db00553aa2d96994222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"9c859f197759988a6c4fe68ddd80a3a92fbcac47","unresolved":false,"context_lines":[{"line_number":914,"context_line":"            final Set\u003cPair\u003cString, String\u003e\u003e ORBOT_LOCKDOWN_ALLOWLIST \u003d Set.of("},{"line_number":915,"context_line":"                    new Pair\u003c\u003e(\"org.torproject.torbrowser\", \"308205953082037DA003020102020900BA2DF613084D2BFD300D06092A864886F70D01010B0500305C3114301206035504030C0B546F722042726F7773657231183016060355040A0C0F54686520546F722050726F6A6563743110300E06035504070C0753656174746C65310B300906035504080C025741310B3009060355040613025553301E170D3139303531383231353834325A170D3334303531343231353834325A305C3114301206035504030C0B546F722042726F7773657231183016060355040A0C0F54686520546F722050726F6A6563743110300E06035504070C0753656174746C65310B300906035504080C025741310B300906035504061302555330820222300D06092A864886F70D01010105000382020F003082020A0282020100F3EE231D69CE435F324AD4AA398AEF3131876AE74563428B61F6AD8C65C522FDDF6EDCC24F6E615AD978598F8C595C632F2D51DF8225EC26742AF7479D8B45EEA379AC7C21E8665BDFB2AC8F0008C0B47A2BA89CAA39C581C0827D35599DA3D6E0FD4045DD4EBDEEDE39790BE6DD630B6BA7908BEB39E20EAA9C42DBCC5BB7B4F7A43F0E2F9DD91E076E2C7CDCC2F8F9B626628F366831EB917D2E54DEF859DF042084460AADCB1D53FF8114F8D666494992B260AF2B7F4CDD80B7733296B79E8831CBC8BA54B028CF3202DFDA84855540567C62AED813F32BAEE137CE3FC149A109B0A36E32FCB28A2A8D2E7C2F67D9B189FFD2E53FFF8EDDADE9D05D3E33560E73ECBF1F8C582077272AE7B5E9D16E0376A0AB39606B2089E78CBC4A37DA4D85F5965DB420CB6D77717348A21B49358F0C34742DA74B69F6746A2988EB815E2910A7F492F52E14DCC17414BE735594E6B6AD62BF0A701D3A3DD27457050101E568CF32536A4E7FD069908BACCF2197BB9C4C2585446DF2BDA23C4EDDA671CF1A881803959951071F8D03AC8DFF38AB00ABF88C87CD3783815032F9288169194EAD8EA0A28A518CD8EC0A0CD5C60800DE1683A0436B09A026524ABEDFF94E0D7AC6EF3E06F8865C780BC1818C64134389FF30D4331053EA2591D65808215C6878D1FB3E4FE7627B926FB9C1031A778F6FFE87BBFE35141B36F271B05075E75F0203010001A35A305830090603551D1304023000300B0603551D0F040403020780301D0603551D0E041604146D96FBE7BED0BD62CBB0C2607B6EDA93EDB69455301F0603551D230418301680146D96FBE7BED0BD62CBB0C2607B6EDA93EDB69455300D06092A864886F70D01010B0500038202010027C7E940533A854AEFCE955438A5344BD366CD2DD8C24E8DDC990D31D3AD5C5331EABCB2F01ED5517A19CC5AD5439DD8193F94D5474D76131762647DAE91EDB59EE90A84CEC2DFC61DDAEB12B88BCC58ED6736AA650AE0DB72372BC70E2651029D240D8993A18482B88881920FD50E023F7FFDE705B723CEB6F5E6AFA969A96B1C9531C9443694BFE504610E208C852E7C0B2CCD063E39DD5CCA83B3E901B1A3372DA55E4C854607D4C35673348A511B5929B825BF058F8BD3ABA2961C4C273AA124D24144D9A24961A6135B3BB8CDE2290A54271BECE02E0CBAF6ABD4AF13FF1D7C4A5192CF577A1DE47A51030308940F900BFBACACAB85F0D08B0606364415070CF851E630C8516656E8324B86DAACF482D571C1FD3865264E091D189D07171695E424E78FE91ABD25A993B6014C5A97647CC963C2A2602632299C471C8E29312592CDBC84E6DD275E8F008651192F197B969701A276DAF0672FCD3B5D734328D53B910F0931FA11A176EC00EAB73C813F30C33BF4E2E347F15BFD30701FBB0353410F991AE2C5B4492E51E0C439F517F4F34791D4CED1A362F3D1FB47AD3EDE2B41C1D038A2DD79B2AB344B2F1C7BEF3E339BA6DCED49461EF7DF58B18090FC1A50DFA3F6F058F561B2C909F61F0FBB351B79ABFFD7553D14B568284A863B5CD373F0F69C23DB81456F3F2F9DCEADDE55670E9D04D870E5A06BEC2BCAEE5D\"),"},{"line_number":916,"context_line":"                    new Pair\u003c\u003e(\"org.briarproject.briar.android\", \"308202D5308201BDA00302010202040B7BA025300D06092A864886F70D01010B0500301B31193017060355040A1310627269617270726F6A6563742E6F7267301E170D3138303432353135323735365A170D3435303931303135323735365A301B31193017060355040A1310627269617270726F6A6563742E6F726730820122300D06092A864886F70D01010105000382010F003082010A0282010100887D49815638C3E01B08FA5CD80A62FE2640DAB155E848EBC0CF18ABD61618CE1B17632143D612D3AF282DC6B477E43286E5CD559E0DEB5AE951532A1347E95C2A9BC064FBE06E21528A0DDD3AB734679FEF9E31A49042694BF8C4E2DA66F820F6D2BF1F9D5180C409152F80FFD5EAB39B5423F8F09127A8B89D92B0F588284F783356B8812FC35893A526671573B8DDC3A85BAB46DC60DEA13351A2091728C037F20929DD668E757E905F98CC31D7B8B95E9E5D103A33320C71282CD0C797961C99B65CD33F478551FB28F51D5D2A3D636897AC87C1EB5D25323831526424014719136A7104BF8B60A6A30882C526056FB7D5372EA79371CAEAC7C92BC14B050203010001A321301F301D0603551D0E04160414E76D3580725F8DBD28912FF4DF18375F60B49211300D06092A864886F70D01010B050003820101002BAAA21FDF7301562EC3597705B4989B77114428619E84A8288032DB95251CFBB938DDE28BEACBFC63C6A52DE1520973EF19E8355534732139C374B320BEF56E8EF2CA2129307C589D99912317F57CA8639427B7B20225DAB64D12112B57510081A3E6B33EBEE96CAC80E13CDBC73C41BD1F4E0125B6376B95A71411223C15DD8AA1A5734029713097C27073EBCC325688991EF3A46D4CD03E48FD46749937F641C618B783AC7FF0D428E0443EBE36A3D23D82014EA95758344EBFA2A041253CEB7EE6B687857956EE69840E0DA71A6529D33F3674C78C3BAFFBD9724858EA82CB651B58D4D8A0607E763BD0F37D145C3EE705F7D41322AA1A00D5A36F1275EA\")"},{"line_number":917,"context_line":"            );"},{"line_number":918,"context_line":"            for (Pair\u003cString, String\u003e pair : ORBOT_LOCKDOWN_ALLOWLIST) {"},{"line_number":919,"context_line":"                try {"},{"line_number":920,"context_line":"                    PackageInfo packageInfo \u003d mUserIdContext.getPackageManager()"}],"source_content_type":"text/x-java","patch_set":3,"id":"6acf6397_2f0ad19b","line":917,"in_reply_to":"d72d16a8_c1eec22a","updated":"2023-07-27 19:05:52.000000000","message":"Done","commit_id":"b7b0d9ecc72e88ceb97da2064a73817992ffc67a"},{"author":{"_account_id":1000000,"name":"Chirayu Desai","display_name":"Chirayu Desai","username":"chirayudesai","avatars":[{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"837cd4eebd8c30437375603d5adc3dfce18eb64e","unresolved":true,"context_lines":[{"line_number":928,"context_line":"                            new Signature(outputStream.toByteArray()),"},{"line_number":929,"context_line":"                            new Signature(pair.second))) {"},{"line_number":930,"context_line":"                        throw new SecurityException("},{"line_number":931,"context_line":"                                pair.first + \" signature does not match allowlisted signature\");"},{"line_number":932,"context_line":"                    }"},{"line_number":933,"context_line":"                    if (!lockdownAllowlist.contains(pair.first)) {"},{"line_number":934,"context_line":"                        lockdownAllowlist.add(pair.first);"}],"source_content_type":"text/x-java","patch_set":3,"id":"c05a50fc_83141ce9","line":931,"updated":"2023-06-29 19:08:28.000000000","message":"We shouldn\u0027t throw an exception here, simply log - because it\u0027s not fatal at all.","commit_id":"b7b0d9ecc72e88ceb97da2064a73817992ffc67a"},{"author":{"_account_id":1000002,"name":"Oliver Scott","display_name":"Oliver Scott","email":"olivercscott@gmail.com","username":"Uldiniad","avatars":[{"url":"https://www.gravatar.com/avatar/7e7c4028381d0db00553aa2d96994222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/7e7c4028381d0db00553aa2d96994222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/7e7c4028381d0db00553aa2d96994222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/7e7c4028381d0db00553aa2d96994222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"158ac7de323b20bb851a4a6d5a040f171c84f1e0","unresolved":false,"context_lines":[{"line_number":928,"context_line":"                            new Signature(outputStream.toByteArray()),"},{"line_number":929,"context_line":"                            new Signature(pair.second))) {"},{"line_number":930,"context_line":"                        throw new SecurityException("},{"line_number":931,"context_line":"                                pair.first + \" signature does not match allowlisted signature\");"},{"line_number":932,"context_line":"                    }"},{"line_number":933,"context_line":"                    if (!lockdownAllowlist.contains(pair.first)) {"},{"line_number":934,"context_line":"                        lockdownAllowlist.add(pair.first);"}],"source_content_type":"text/x-java","patch_set":3,"id":"24a594d3_e5e5492c","line":931,"in_reply_to":"c05a50fc_83141ce9","updated":"2023-07-27 18:32:55.000000000","message":"Done","commit_id":"b7b0d9ecc72e88ceb97da2064a73817992ffc67a"},{"author":{"_account_id":1000062,"name":"Tommy Webb","display_name":"Tommy Webb","email":"tmwcommits@gmail.com","username":"t-m-w","avatars":[{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"eacc7ad9059fc690ac699c2dd82c7a9f8ba3c910","unresolved":true,"context_lines":[{"line_number":1948,"context_line":"                                new Signature(pair.second))) {"},{"line_number":1949,"context_line":"                            Log.w(TAG,"},{"line_number":1950,"context_line":"                                    pair.first + \" signature does not match allowlisted signature\");"},{"line_number":1951,"context_line":"                        }"},{"line_number":1952,"context_line":"                        if (!exemptedPackages.contains(pair.first)) {"},{"line_number":1953,"context_line":"                            exemptedPackages.add(pair.first);"},{"line_number":1954,"context_line":"                        }"}],"source_content_type":"text/x-java","patch_set":7,"id":"37a61611_d603c574","line":1951,"updated":"2023-07-27 20:33:47.000000000","message":"Oops, we need to add a continue line just above","commit_id":"2f4b08c833cddb6f04db4e62127b63c2b75ba10d"},{"author":{"_account_id":1000002,"name":"Oliver Scott","display_name":"Oliver Scott","email":"olivercscott@gmail.com","username":"Uldiniad","avatars":[{"url":"https://www.gravatar.com/avatar/7e7c4028381d0db00553aa2d96994222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/7e7c4028381d0db00553aa2d96994222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/7e7c4028381d0db00553aa2d96994222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/7e7c4028381d0db00553aa2d96994222.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"822cb694841eb39a67f3eeed2d2f3ed17fd53c61","unresolved":false,"context_lines":[{"line_number":1948,"context_line":"                                new Signature(pair.second))) {"},{"line_number":1949,"context_line":"                            Log.w(TAG,"},{"line_number":1950,"context_line":"                                    pair.first + \" signature does not match allowlisted signature\");"},{"line_number":1951,"context_line":"                        }"},{"line_number":1952,"context_line":"                        if (!exemptedPackages.contains(pair.first)) {"},{"line_number":1953,"context_line":"                            exemptedPackages.add(pair.first);"},{"line_number":1954,"context_line":"                        }"}],"source_content_type":"text/x-java","patch_set":7,"id":"4a011228_cda78016","line":1951,"in_reply_to":"37a61611_d603c574","updated":"2023-07-27 20:37:09.000000000","message":"Added back the SecurityException since it is one and the catch block will now catch all exceptions","commit_id":"2f4b08c833cddb6f04db4e62127b63c2b75ba10d"},{"author":{"_account_id":1000062,"name":"Tommy Webb","display_name":"Tommy Webb","email":"tmwcommits@gmail.com","username":"t-m-w","avatars":[{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/81045b66f0d3b84f936e1445ca4f5f33.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"c2e95ce14c4444cb30d3be24d878e81796b7c54f","unresolved":false,"context_lines":[{"line_number":1946,"context_line":"                        if (!Signature.areEffectiveMatch("},{"line_number":1947,"context_line":"                                new Signature(outputStream.toByteArray()),"},{"line_number":1948,"context_line":"                                new Signature(pair.second))) {"},{"line_number":1949,"context_line":"                            throw new SecurityException("},{"line_number":1950,"context_line":"                                    pair.first + \" signature does not match allowlisted signature\");"},{"line_number":1951,"context_line":"                        }"},{"line_number":1952,"context_line":"                        if (!exemptedPackages.contains(pair.first)) {"}],"source_content_type":"text/x-java","patch_set":8,"id":"f740434b_7fcbd026","line":1949,"updated":"2023-09-25 13:12:20.000000000","message":"Please note, the only reason it is acceptable to throw this exception is because we handle it in the catch block right here in this method. It\u0027s a bit confusing and unconventional, but boils down to a code style choice. It has been marked as tested and working as-is.","commit_id":"4e769c52670a657fbf2d69eb5b3d7543fa1ec5c7"}]}
