Update Tor workaround patch

New providers:
- Invizible
- Tor VPN
- Tor Services

New exclusions:
- Tor Browser Alpha
- Cwtch
- OnionShare

Signed-off-by: Tavi <tavi@divested.dev>
This commit is contained in:
Tavi 2024-11-18 21:27:24 -05:00
parent d3fdcdf7c5
commit 2e46050e10

View File

@ -9,11 +9,11 @@ lockdownAllowlist can be either null or immutable, the latter case wasn't handle
Change-Id: I62c2553c8877b946d7e7e1ca4ef113f963d3f8eb
---
.../com/android/server/connectivity/Vpn.java | 40 +++++++++++++++++++
1 file changed, 40 insertions(+)
.../com/android/server/connectivity/Vpn.java | 44 +++++++++++++++++++
1 file changed, 44 insertions(+)
diff --git a/services/core/java/com/android/server/connectivity/Vpn.java b/services/core/java/com/android/server/connectivity/Vpn.java
index 8510de4ef201..2cc66fbb871c 100644
index 8510de4ef201..b50df46e14dd 100644
--- a/services/core/java/com/android/server/connectivity/Vpn.java
+++ b/services/core/java/com/android/server/connectivity/Vpn.java
@@ -47,9 +47,11 @@ import android.content.Intent;
@ -44,12 +44,15 @@ index 8510de4ef201..2cc66fbb871c 100644
import java.io.File;
import java.io.FileDescriptor;
import java.io.IOException;
@@ -891,6 +895,42 @@ public class Vpn {
@@ -891,6 +895,48 @@ public class Vpn {
return false;
}
+ final String ORBOT_PACKAGE_NAME = "org.torproject.android";
+ if (ORBOT_PACKAGE_NAME.equals(packageName)) {
+ final String INVIZIBLE_PACKAGE_NAME = "pan.alexander.tordnscrypt.stable";
+ final String TOR_VPN_PACKAGE_NAME = "org.torproject.vpn";
+ final String TOR_SERVICES_PACKAGE_NAME = "org.torproject.services";
+ if (ORBOT_PACKAGE_NAME.equals(packageName) || INVIZIBLE_PACKAGE_NAME.equals(packageName) || TOR_VPN_PACKAGE_NAME.equals(packageName) || TOR_SERVICES_PACKAGE_NAME.equals(packageName)) {
+ if (lockdownAllowlist == null) {
+ lockdownAllowlist = new ArrayList<>();
+ Log.i(TAG, "lockdown allowlist was null, created");
@ -59,7 +62,10 @@ index 8510de4ef201..2cc66fbb871c 100644
+ }
+ final Set<Pair<String, String>> ORBOT_LOCKDOWN_ALLOWLIST = Set.of(
+ new Pair<>("org.torproject.torbrowser", "308205953082037DA003020102020900BA2DF613084D2BFD300D06092A864886F70D01010B0500305C3114301206035504030C0B546F722042726F7773657231183016060355040A0C0F54686520546F722050726F6A6563743110300E06035504070C0753656174746C65310B300906035504080C025741310B3009060355040613025553301E170D3139303531383231353834325A170D3334303531343231353834325A305C3114301206035504030C0B546F722042726F7773657231183016060355040A0C0F54686520546F722050726F6A6563743110300E06035504070C0753656174746C65310B300906035504080C025741310B300906035504061302555330820222300D06092A864886F70D01010105000382020F003082020A0282020100F3EE231D69CE435F324AD4AA398AEF3131876AE74563428B61F6AD8C65C522FDDF6EDCC24F6E615AD978598F8C595C632F2D51DF8225EC26742AF7479D8B45EEA379AC7C21E8665BDFB2AC8F0008C0B47A2BA89CAA39C581C0827D35599DA3D6E0FD4045DD4EBDEEDE39790BE6DD630B6BA7908BEB39E20EAA9C42DBCC5BB7B4F7A43F0E2F9DD91E076E2C7CDCC2F8F9B626628F366831EB917D2E54DEF859DF042084460AADCB1D53FF8114F8D666494992B260AF2B7F4CDD80B7733296B79E8831CBC8BA54B028CF3202DFDA84855540567C62AED813F32BAEE137CE3FC149A109B0A36E32FCB28A2A8D2E7C2F67D9B189FFD2E53FFF8EDDADE9D05D3E33560E73ECBF1F8C582077272AE7B5E9D16E0376A0AB39606B2089E78CBC4A37DA4D85F5965DB420CB6D77717348A21B49358F0C34742DA74B69F6746A2988EB815E2910A7F492F52E14DCC17414BE735594E6B6AD62BF0A701D3A3DD27457050101E568CF32536A4E7FD069908BACCF2197BB9C4C2585446DF2BDA23C4EDDA671CF1A881803959951071F8D03AC8DFF38AB00ABF88C87CD3783815032F9288169194EAD8EA0A28A518CD8EC0A0CD5C60800DE1683A0436B09A026524ABEDFF94E0D7AC6EF3E06F8865C780BC1818C64134389FF30D4331053EA2591D65808215C6878D1FB3E4FE7627B926FB9C1031A778F6FFE87BBFE35141B36F271B05075E75F0203010001A35A305830090603551D1304023000300B0603551D0F040403020780301D0603551D0E041604146D96FBE7BED0BD62CBB0C2607B6EDA93EDB69455301F0603551D230418301680146D96FBE7BED0BD62CBB0C2607B6EDA93EDB69455300D06092A864886F70D01010B0500038202010027C7E940533A854AEFCE955438A5344BD366CD2DD8C24E8DDC990D31D3AD5C5331EABCB2F01ED5517A19CC5AD5439DD8193F94D5474D76131762647DAE91EDB59EE90A84CEC2DFC61DDAEB12B88BCC58ED6736AA650AE0DB72372BC70E2651029D240D8993A18482B88881920FD50E023F7FFDE705B723CEB6F5E6AFA969A96B1C9531C9443694BFE504610E208C852E7C0B2CCD063E39DD5CCA83B3E901B1A3372DA55E4C854607D4C35673348A511B5929B825BF058F8BD3ABA2961C4C273AA124D24144D9A24961A6135B3BB8CDE2290A54271BECE02E0CBAF6ABD4AF13FF1D7C4A5192CF577A1DE47A51030308940F900BFBACACAB85F0D08B0606364415070CF851E630C8516656E8324B86DAACF482D571C1FD3865264E091D189D07171695E424E78FE91ABD25A993B6014C5A97647CC963C2A2602632299C471C8E29312592CDBC84E6DD275E8F008651192F197B969701A276DAF0672FCD3B5D734328D53B910F0931FA11A176EC00EAB73C813F30C33BF4E2E347F15BFD30701FBB0353410F991AE2C5B4492E51E0C439F517F4F34791D4CED1A362F3D1FB47AD3EDE2B41C1D038A2DD79B2AB344B2F1C7BEF3E339BA6DCED49461EF7DF58B18090FC1A50DFA3F6F058F561B2C909F61F0FBB351B79ABFFD7553D14B568284A863B5CD373F0F69C23DB81456F3F2F9DCEADDE55670E9D04D870E5A06BEC2BCAEE5D"),
+ new Pair<>("org.briarproject.briar.android", "308202D5308201BDA00302010202040B7BA025300D06092A864886F70D01010B0500301B31193017060355040A1310627269617270726F6A6563742E6F7267301E170D3138303432353135323735365A170D3435303931303135323735365A301B31193017060355040A1310627269617270726F6A6563742E6F726730820122300D06092A864886F70D01010105000382010F003082010A0282010100887D49815638C3E01B08FA5CD80A62FE2640DAB155E848EBC0CF18ABD61618CE1B17632143D612D3AF282DC6B477E43286E5CD559E0DEB5AE951532A1347E95C2A9BC064FBE06E21528A0DDD3AB734679FEF9E31A49042694BF8C4E2DA66F820F6D2BF1F9D5180C409152F80FFD5EAB39B5423F8F09127A8B89D92B0F588284F783356B8812FC35893A526671573B8DDC3A85BAB46DC60DEA13351A2091728C037F20929DD668E757E905F98CC31D7B8B95E9E5D103A33320C71282CD0C797961C99B65CD33F478551FB28F51D5D2A3D636897AC87C1EB5D25323831526424014719136A7104BF8B60A6A30882C526056FB7D5372EA79371CAEAC7C92BC14B050203010001A321301F301D0603551D0E04160414E76D3580725F8DBD28912FF4DF18375F60B49211300D06092A864886F70D01010B050003820101002BAAA21FDF7301562EC3597705B4989B77114428619E84A8288032DB95251CFBB938DDE28BEACBFC63C6A52DE1520973EF19E8355534732139C374B320BEF56E8EF2CA2129307C589D99912317F57CA8639427B7B20225DAB64D12112B57510081A3E6B33EBEE96CAC80E13CDBC73C41BD1F4E0125B6376B95A71411223C15DD8AA1A5734029713097C27073EBCC325688991EF3A46D4CD03E48FD46749937F641C618B783AC7FF0D428E0443EBE36A3D23D82014EA95758344EBFA2A041253CEB7EE6B687857956EE69840E0DA71A6529D33F3674C78C3BAFFBD9724858EA82CB651B58D4D8A0607E763BD0F37D145C3EE705F7D41322AA1A00D5A36F1275EA")
+ new Pair<>("org.torproject.torbrowser_alpha", "3082048F308202F7A00302010202045F29A0F3300D06092A864886F70D01010B05003078310B3009060355040613025553310B30090603550408130257413110300E0603550407130753656174746C6531183016060355040A130F54686520546F722050726F6A656374311A3018060355040B13114170706C69636174696F6E73205465616D311430120603550403130B546F722042726F77736572301E170D3138303832323137313734375A170D3436303130373137313734375A3078310B3009060355040613025553310B30090603550408130257413110300E0603550407130753656174746C6531183016060355040A130F54686520546F722050726F6A656374311A3018060355040B13114170706C69636174696F6E73205465616D311430120603550403130B546F722042726F77736572308201A2300D06092A864886F70D01010105000382018F003082018A0282018100946FEFE55D8224F6EBCF8BE2ADCC7AE3CA6E5F667C6BBBD89B3AC1C16A940C8C4574E892FA36CAD84DFA7F33325A5CDA11C9D35751F3C4606AA954B1E1792EFB93E806B1239CCB3216996F0C34369F974BF73D65FC59FF46195942322792D411E1BDCF56C11B428A868C725FD69BD484241988913D18224DA5E591203E8B5D576150ED8A0A97F02FAE8E5E1452BDF2053F405F5BC9D650BC8112E0C08733F3FF68AE9C1AA149BFED5984831F4DF58B3CB9B5D49674F9126E24C306EB9D9B843BB38EC0ADD905278EB7D8851FF8B60127E5BBE709EC92C59DDF2A97D06D0A55CA3FCDEEF7B643D76D8D21A3A25DFD98287E0BB16499C99EAC93C37F7093BC999DA2ED0A962E83DF2AA0B3F312A8A65A08B50D8D1A2115339191C6CB215B5889F9DD36E0E5AEA43E9CD8CB7C58C85B1C7799DF1043054AADBD38A3312433B46876E64B1374EF69709C5092451E3AE6F840BDB8D0C0B44DDBCF00FEB0645028EDDA3F4DE29CA70098988CA3EA2822BBF90B51FB039D966D770DA63426B55D584CD70203010001A321301F301D0603551D0E04160414E61D340498A07A83422C112A8C9DD3D6E79E7366300D06092A864886F70D01010B05000382018100766459A7A2F8AAA65B1AA76DBAC97083B366ECBCCE2F91495281412FC264F9EA9084A14F45B66D2564311E1BAEF539CC3B517E981F82E1614709DCB7FF4619D465309984313726FF870D8198B33CD3B663CD0757712C2D33438C5B4C5FC0C1BE5B64D2864C4A5965A8685BEEDA99C027DE28148FCFE687E17827BE94EF91683FBB1D011BE7E4620B6CDDD61C42869667A9C4418A0FA49C89FB380FAC6B4621304752B0F6582AFA9AE6AB115211EC965FC23CB59271526E503F7200F3A11835DCBD779EDB0217DF251A1881668F141AF98D16E6D2A25C339B27FB512DF366FCA9B0AAD7257CF4AD4D696C50B4D4391AEB6E94564CD9A0C7F9DE6F4A8DC2293FDD94DE5D866615ECAB1249DBAB6EF31F7C2708B9976DAEA663AC36DB40798B54308D4E0DDC4BFEE5442157CEC38F25C984203AC76C2222838B73436E3B68CCC55938FBDC4B1D844ABABE19AA0A66391718083B6DE45D2D6BEC9861A87A3B9FB7E376CAA45868543BB23095425AB60FD18325456F9CF123DB9CEBC2D81198F80B66"),
+ new Pair<>("org.briarproject.briar.android", "308202D5308201BDA00302010202040B7BA025300D06092A864886F70D01010B0500301B31193017060355040A1310627269617270726F6A6563742E6F7267301E170D3138303432353135323735365A170D3435303931303135323735365A301B31193017060355040A1310627269617270726F6A6563742E6F726730820122300D06092A864886F70D01010105000382010F003082010A0282010100887D49815638C3E01B08FA5CD80A62FE2640DAB155E848EBC0CF18ABD61618CE1B17632143D612D3AF282DC6B477E43286E5CD559E0DEB5AE951532A1347E95C2A9BC064FBE06E21528A0DDD3AB734679FEF9E31A49042694BF8C4E2DA66F820F6D2BF1F9D5180C409152F80FFD5EAB39B5423F8F09127A8B89D92B0F588284F783356B8812FC35893A526671573B8DDC3A85BAB46DC60DEA13351A2091728C037F20929DD668E757E905F98CC31D7B8B95E9E5D103A33320C71282CD0C797961C99B65CD33F478551FB28F51D5D2A3D636897AC87C1EB5D25323831526424014719136A7104BF8B60A6A30882C526056FB7D5372EA79371CAEAC7C92BC14B050203010001A321301F301D0603551D0E04160414E76D3580725F8DBD28912FF4DF18375F60B49211300D06092A864886F70D01010B050003820101002BAAA21FDF7301562EC3597705B4989B77114428619E84A8288032DB95251CFBB938DDE28BEACBFC63C6A52DE1520973EF19E8355534732139C374B320BEF56E8EF2CA2129307C589D99912317F57CA8639427B7B20225DAB64D12112B57510081A3E6B33EBEE96CAC80E13CDBC73C41BD1F4E0125B6376B95A71411223C15DD8AA1A5734029713097C27073EBCC325688991EF3A46D4CD03E48FD46749937F641C618B783AC7FF0D428E0443EBE36A3D23D82014EA95758344EBFA2A041253CEB7EE6B687857956EE69840E0DA71A6529D33F3674C78C3BAFFBD9724858EA82CB651B58D4D8A0607E763BD0F37D145C3EE705F7D41322AA1A00D5A36F1275EA"),
+ new Pair<>("im.cwtch.flwtch", "3082032930820211A00302010202040C6C3467300D06092A864886F70D01010B05003045310B300906035504061302434131263024060355040A131D4F70656E205072697661637920526573656172636820536F6369657479310E300C060355040B13054377746368301E170D3230313231303030343134335A170D3435313230343030343134335A3045310B300906035504061302434131263024060355040A131D4F70656E205072697661637920526573656172636820536F6369657479310E300C060355040B1305437774636830820122300D06092A864886F70D01010105000382010F003082010A0282010100994642DF378316342AD81FCE41B8E8A3B4B14C1E02462D657D37F5B56CF063A87F054954654D09A1906A2E2173AB24D6AAD702FB16718A4B6022F1B37DDC0FE75DC1BFA4EB5927B4F1D93DE5DD014B25A65FA7EE2F0211B712B679D39FF2AC7ABCDF78D64E7FB10CC9B66196A7D6E0808DEE9E5F448C3E49081AFEDA9237B7DBF80BF860EC2C4A2424F81FF9F5439DAF1DE53C8473945D57D927453611FE1C501B36E2B8B315E9C8B6A26035DA2DDA4DAACA2C12E3E1119F787B047FACAF909E65EB8E50D532A494E3DF56246D5264A093022CF94AEA6559192CDE9A94FA9C7BEB7033A31FA98CE606B0F477E46A28DC4A223D4BFCF4B5F594F0F14C2BDE47FB0203010001A321301F301D0603551D0E0416041449B722CBBCAAFE15B6DF4F2B4DFC7B15A59CA891300D06092A864886F70D01010B0500038201010080F74FD418943C4687104EC7FC65B696523FF4AEBB0AE765E1F53448F398D0B61EA9780AA61DB6169F5A5E8CAD99BC86B8D707B363EEEF98FB7CF1A1647521C410C0B3AB6018BA43F0C710D5AA2A0054EAA4F3A05F0D02792B36D365E78D68F957AD743F491F2ED24C1F24BC417FBAC768E9B44534B7F93F778794523E56B46765F4E7A579872C68874867ECC48FF0F1310334E938EF8B3B42C204C58AB611C8437A65A0447BA169B5787D8053BFA07B451380DE4D0871FBF787C04E458E2F787E40E13D1868C22CA6079886C6ABACB9343F292312B3480EAB2A4F1B1897126DF44855E205A241888D5566557DCA91E38A9DB39D2371BFBA293281D6FA01AE4E"),
+ new Pair<>("org.onionshare.android.fdroid", "3082036130820249A003020102020417F0CECC300D06092A864886F70D01010B05003060310B300906035504061302554B310C300A060355040813034F5247310C300A060355040713034F524731133011060355040A130A6664726F69642E6F7267310F300D060355040B13064644726F6964310F300D060355040313064644726F69643020170D3234303132323136353830365A180F32303531303630393136353830365A3060310B300906035504061302554B310C300A060355040813034F5247310C300A060355040713034F524731133011060355040A130A6664726F69642E6F7267310F300D060355040B13064644726F6964310F300D060355040313064644726F696430820122300D06092A864886F70D01010105000382010F003082010A0282010100E307535DCE692D18C762047ABB55078A212C153AE06A8482A3C96F30A17B0D22288C1175C74FD5219D8F27A95BE9BDCF5D8CE71EC1BF41EFDE4CB12F0E29BB8492AE888549F25D9C0FE3E167532AC972BFCE1EDD3C4804E1C6912A791BFCBFA339C97DB2BCFDAAED2FD0D16230296EBFABD7472746C55ED72A91038F19C7CCCA496C7482C963256A22BCFF521FEE9804357416185EF93400636A75053DBD2733D1C85169FB48C89DA8395FBB981CB43BC5EB3191428CF520355E1D1C905A01708A659ED5BF584D8A40311149772C746B732FCA254C4E053357642A76B9266E265AFF19BB7638BDA5386F8586B56F0863DCB2F6C049FC03884ECB5991D344E1FF0203010001A321301F301D0603551D0E041604144EC58626660297B03818CB334A17BC3B980B3631300D06092A864886F70D01010B050003820101008BB00F8187A9CFB3EA1654BB13C9ADFA2524B8218D621F35BE3C945D68B0F08880ABF734EDBEB400D1C6BFB4CA2E72BAA68C08F8B7A17391A14B4C44E91CA6381A8A0560C0A01481FC69D5CCDC1CA5689B3C8CE6032C7501D06BEE3629E52B6300ED70DA33A7FFECA3C5F69D12FE22BF89A348357B2069796C305B6622B865491AAE349547D29B8D969E5D10DB368474856F14DF340DBD051EBCC3EA5B78DE9A6592B78963A31E5F561BC9446B662B8139E78E5F0381AA5336AD66A5F038833F99FBCC228EAC5D7C55D75D6D5A487FB0E7233D9F2FC903DFF5E33D8AD53FCA6727FAA1DDF38458686C305E41E668796D7E7D8F57607F0DD9DF59F2FF9085B3DF")
+ );
+ for (Pair<String, String> pair : ORBOT_LOCKDOWN_ALLOWLIST) {
+ try {