diff --git a/bramble-android/build.gradle b/bramble-android/build.gradle index 155d1723f..38d909a8f 100644 --- a/bramble-android/build.gradle +++ b/bramble-android/build.gradle @@ -71,7 +71,7 @@ def torLibsDir = 'src/main/jniLibs' task cleanTorBinaries { outputs.dir torLibsDir doLast { - delete fileTree(torLibsDir) { include '**/*.so' } + delete fileTree(torLibsDir) } } @@ -80,34 +80,9 @@ clean.dependsOn cleanTorBinaries task unpackTorBinaries { outputs.dir torLibsDir doLast { - configurations.tor.each { outer -> - zipTree(outer).each { inner -> - if (inner.name.endsWith('_arm_pie.zip')) { - copy { - from zipTree(inner) - into torLibsDir - rename '(.*)', 'armeabi-v7a/lib$1.so' - } - } else if (inner.name.endsWith('_arm64_pie.zip')) { - copy { - from zipTree(inner) - into torLibsDir - rename '(.*)', 'arm64-v8a/lib$1.so' - } - } else if (inner.name.endsWith('_x86_pie.zip')) { - copy { - from zipTree(inner) - into torLibsDir - rename '(.*)', 'x86/lib$1.so' - } - } else if (inner.name.endsWith('_x86_64_pie.zip')) { - copy { - from zipTree(inner) - into torLibsDir - rename '(.*)', 'x86_64/lib$1.so' - } - } - } + copy { + from configurations.tor.collect { zipTree(it) } + into torLibsDir } } dependsOn cleanTorBinaries diff --git a/bramble-android/witness.gradle b/bramble-android/witness.gradle index dec24d352..62fadac3f 100644 --- a/bramble-android/witness.gradle +++ b/bramble-android/witness.gradle @@ -24,9 +24,9 @@ dependencyVerification { 'net.jcip:jcip-annotations:1.0:jcip-annotations-1.0.jar:be5805392060c71474bf6c9a67a099471274d30b83eef84bfc4e0889a4f1dcc0', 'net.ltgt.gradle.incap:incap:0.2:incap-0.2.jar:b625b9806b0f1e4bc7a2e3457119488de3cd57ea20feedd513db070a573a4ffd', 'org.apache-extras.beanshell:bsh:2.0b6:bsh-2.0b6.jar:a17955976070c0573235ee662f2794a78082758b61accffce8d3f8aedcd91047', - 'org.briarproject:obfs4proxy-android:0.0.14-tor1:obfs4proxy-android-0.0.14-tor1.jar:8b08068778b133484b17956d8f7a7710739c33f671a26a68156f4d34e6f28c30', - 'org.briarproject:snowflake-android:2.3.1:snowflake-android-2.3.1.jar:1f83c9a070f87b7074af13627709a8b5aced5460104be7166af736b1bb73c293', - 'org.briarproject:tor-android:0.4.7.13:tor-android-0.4.7.13.jar:7852aab7d2298b80878c7719f34ce665725b494d673ecf2e6f9e697564638cc6', + 'org.briarproject:obfs4proxy-android:0.0.14-tor2:obfs4proxy-android-0.0.14-tor2.jar:a0a93770d6760ce57d9dbd31cc7177687374e00c3361dac22ab75e3b6e0f289e', + 'org.briarproject:snowflake-android:2.5.1:snowflake-android-2.5.1.jar:88ec81c17b1b6fa884d06839dec0330e328b45c89f88c970a213ce91ca8eac87', + 'org.briarproject:tor-android:0.4.7.13-2:tor-android-0.4.7.13-2.jar:453fd463b234a2104edd7f0d02d0649cbb5c5efbe47a76df3828f55a3f90f8b5', 'org.checkerframework:checker-compat-qual:2.5.5:checker-compat-qual-2.5.5.jar:11d134b245e9cacc474514d2d66b5b8618f8039a1465cdc55bbc0b34e0008b7a', 'org.checkerframework:checker-qual:3.12.0:checker-qual-3.12.0.jar:ff10785ac2a357ec5de9c293cb982a2cbb605c0309ea4cc1cb9b9bc6dbe7f3cb', 'org.hamcrest:hamcrest-core:2.1:hamcrest-core-2.1.jar:e09109e54a289d88506b9bfec987ddd199f4217c9464132668351b9a4f00bee9', diff --git a/bramble-core/src/main/java/org/briarproject/bramble/plugin/tor/TorPlugin.java b/bramble-core/src/main/java/org/briarproject/bramble/plugin/tor/TorPlugin.java index ef750c853..75579e4cb 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/plugin/tor/TorPlugin.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/plugin/tor/TorPlugin.java @@ -55,7 +55,6 @@ import java.util.concurrent.Executor; import java.util.concurrent.atomic.AtomicBoolean; import java.util.logging.Logger; import java.util.regex.Pattern; -import java.util.zip.ZipInputStream; import javax.annotation.Nullable; import javax.annotation.concurrent.GuardedBy; @@ -101,6 +100,7 @@ import static org.briarproject.bramble.util.LogUtils.logException; import static org.briarproject.bramble.util.PrivacyUtils.scrubOnion; import static org.briarproject.bramble.util.StringUtils.UTF_8; import static org.briarproject.bramble.util.StringUtils.isNullOrEmpty; +import static org.briarproject.nullsafety.NullSafety.requireNonNull; @MethodsNotNullByDefault @ParametersNotNullByDefault @@ -348,7 +348,7 @@ abstract class TorPlugin implements DuplexPlugin, EventHandler, EventListener { if (LOG.isLoggable(INFO)) LOG.info("Installing Tor binary for " + architecture); File torFile = getTorExecutableFile(); - extract(getTorInputStream(), torFile); + extract(getExecutableInputStream("tor"), torFile); if (!torFile.setExecutable(true, true)) throw new IOException(); } @@ -356,7 +356,7 @@ abstract class TorPlugin implements DuplexPlugin, EventHandler, EventListener { if (LOG.isLoggable(INFO)) LOG.info("Installing obfs4proxy binary for " + architecture); File obfs4File = getObfs4ExecutableFile(); - extract(getObfs4InputStream(), obfs4File); + extract(getExecutableInputStream("obfs4proxy"), obfs4File); if (!obfs4File.setExecutable(true, true)) throw new IOException(); } @@ -364,28 +364,18 @@ abstract class TorPlugin implements DuplexPlugin, EventHandler, EventListener { if (LOG.isLoggable(INFO)) LOG.info("Installing snowflake binary for " + architecture); File snowflakeFile = getSnowflakeExecutableFile(); - extract(getSnowflakeInputStream(), snowflakeFile); + extract(getExecutableInputStream("snowflake"), snowflakeFile); if (!snowflakeFile.setExecutable(true, true)) throw new IOException(); } - private InputStream getTorInputStream() throws IOException { - return getZipInputStream("tor"); + private InputStream getExecutableInputStream(String basename) { + String ext = getExecutableExtension(); + return requireNonNull(resourceProvider + .getResourceInputStream(architecture + "/" + basename, ext)); } - private InputStream getObfs4InputStream() throws IOException { - return getZipInputStream("obfs4proxy"); - } - - private InputStream getSnowflakeInputStream() throws IOException { - return getZipInputStream("snowflake"); - } - - private InputStream getZipInputStream(String basename) throws IOException { - InputStream in = resourceProvider - .getResourceInputStream(basename + "_" + architecture, ".zip"); - ZipInputStream zin = new ZipInputStream(in); - if (zin.getNextEntry() == null) throw new IOException(); - return zin; + protected String getExecutableExtension() { + return ""; } private static void append(StringBuilder strb, String name, Object value) { diff --git a/bramble-java/build.gradle b/bramble-java/build.gradle index eed7b690f..29586169a 100644 --- a/bramble-java/build.gradle +++ b/bramble-java/build.gradle @@ -7,10 +7,6 @@ apply plugin: 'witness' apply from: 'witness.gradle' apply from: '../dagger.gradle' -configurations { - tor -} - dependencies { implementation project(':bramble-core') @@ -19,12 +15,9 @@ dependencies { implementation "net.java.dev.jna:jna:$jna_version" implementation "net.java.dev.jna:jna-platform:$jna_version" - tor "org.briarproject:tor-linux:$tor_version" - tor "org.briarproject:tor-windows:$tor_version" - tor "org.briarproject:obfs4proxy-linux:$obfs4proxy_version" - tor "org.briarproject:obfs4proxy-windows:$obfs4proxy_version" - tor "org.briarproject:snowflake-linux:$snowflake_version" - tor "org.briarproject:snowflake-windows:$snowflake_version" + testImplementation "org.briarproject:tor-linux:$tor_version" + testImplementation "org.briarproject:obfs4proxy-linux:$obfs4proxy_version" + testImplementation "org.briarproject:snowflake-linux:$snowflake_version" annotationProcessor "com.google.dagger:dagger-compiler:$dagger_version" @@ -39,31 +32,6 @@ dependencies { testAnnotationProcessor "com.google.dagger:dagger-compiler:$dagger_version" } -def torBinariesDir = 'src/main/resources' - -task cleanTorBinaries { - doLast { - delete fileTree(torBinariesDir) { include '*.zip' } - } -} - -clean.dependsOn cleanTorBinaries - -task unpackTorBinaries { - doLast { - copy { - from configurations.tor.collect { zipTree(it) } - into torBinariesDir - } - } - dependsOn cleanTorBinaries -} - -processResources { - inputs.dir torBinariesDir - dependsOn unpackTorBinaries -} - tasks.withType(Test) { systemProperty 'java.library.path', 'libs' } diff --git a/bramble-java/src/main/java/org/briarproject/bramble/plugin/tor/UnixTorPluginFactory.java b/bramble-java/src/main/java/org/briarproject/bramble/plugin/tor/UnixTorPluginFactory.java index cc8e29438..bfc86cdbf 100644 --- a/bramble-java/src/main/java/org/briarproject/bramble/plugin/tor/UnixTorPluginFactory.java +++ b/bramble-java/src/main/java/org/briarproject/bramble/plugin/tor/UnixTorPluginFactory.java @@ -62,9 +62,9 @@ public class UnixTorPluginFactory extends TorPluginFactory { if (LOG.isLoggable(INFO)) { LOG.info("System's os.arch is " + arch); } - if (arch.equals("amd64")) return "linux-x86_64"; - else if (arch.equals("aarch64")) return "linux-aarch64"; - else if (arch.equals("arm")) return "linux-armhf"; + if (arch.equals("amd64")) return "x86_64"; + else if (arch.equals("aarch64")) return "aarch64"; + else if (arch.equals("arm")) return "armhf"; return null; } diff --git a/bramble-java/src/main/java/org/briarproject/bramble/plugin/tor/WindowsTorPlugin.java b/bramble-java/src/main/java/org/briarproject/bramble/plugin/tor/WindowsTorPlugin.java index 9bd16bd97..c5fa0013d 100644 --- a/bramble-java/src/main/java/org/briarproject/bramble/plugin/tor/WindowsTorPlugin.java +++ b/bramble-java/src/main/java/org/briarproject/bramble/plugin/tor/WindowsTorPlugin.java @@ -94,4 +94,8 @@ class WindowsTorPlugin extends JavaTorPlugin { if (!success.take()) throw new PluginException(); } + @Override + protected String getExecutableExtension() { + return ".exe"; + } } diff --git a/bramble-java/src/main/java/org/briarproject/bramble/plugin/tor/WindowsTorPluginFactory.java b/bramble-java/src/main/java/org/briarproject/bramble/plugin/tor/WindowsTorPluginFactory.java index 81302a01b..cf4f5a3c4 100644 --- a/bramble-java/src/main/java/org/briarproject/bramble/plugin/tor/WindowsTorPluginFactory.java +++ b/bramble-java/src/main/java/org/briarproject/bramble/plugin/tor/WindowsTorPluginFactory.java @@ -62,7 +62,7 @@ public class WindowsTorPluginFactory extends TorPluginFactory { if (LOG.isLoggable(INFO)) { LOG.info("System's os.arch is " + arch); } - if (arch.equals("amd64")) return "windows-x86_64"; + if (arch.equals("amd64")) return "x86_64"; return null; } diff --git a/bramble-java/src/test/java/org/briarproject/bramble/test/TestResources.java b/bramble-java/src/test/java/org/briarproject/bramble/test/TestResources.java new file mode 100644 index 000000000..10b52a475 --- /dev/null +++ b/bramble-java/src/test/java/org/briarproject/bramble/test/TestResources.java @@ -0,0 +1,40 @@ +package org.briarproject.bramble.test; + +import org.briarproject.bramble.util.OsUtils; +import org.junit.Before; +import org.junit.Test; + +import java.io.InputStream; + +import static org.junit.Assert.assertNotNull; +import static org.junit.Assume.assumeTrue; + +public class TestResources { + + @Before + public void isRunningOnLinux() { + assumeTrue(OsUtils.isLinux()); + } + + @Test + public void canReadTorLinux() { + InputStream input = Thread.currentThread().getContextClassLoader() + .getResourceAsStream("x86_64/tor"); + assertNotNull(input); + } + + @Test + public void canReadObfs4ProxyLinux() { + InputStream input = Thread.currentThread().getContextClassLoader() + .getResourceAsStream("x86_64/obfs4proxy"); + assertNotNull(input); + } + + @Test + public void canReadSnowflakeLinux() { + InputStream input = Thread.currentThread().getContextClassLoader() + .getResourceAsStream("x86_64/snowflake"); + assertNotNull(input); + } + +} diff --git a/bramble-java/witness.gradle b/bramble-java/witness.gradle index e25a0f726..0154e0375 100644 --- a/bramble-java/witness.gradle +++ b/bramble-java/witness.gradle @@ -26,12 +26,9 @@ dependencyVerification { 'net.jcip:jcip-annotations:1.0:jcip-annotations-1.0.jar:be5805392060c71474bf6c9a67a099471274d30b83eef84bfc4e0889a4f1dcc0', 'net.ltgt.gradle.incap:incap:0.2:incap-0.2.jar:b625b9806b0f1e4bc7a2e3457119488de3cd57ea20feedd513db070a573a4ffd', 'org.apache-extras.beanshell:bsh:2.0b6:bsh-2.0b6.jar:a17955976070c0573235ee662f2794a78082758b61accffce8d3f8aedcd91047', - 'org.briarproject:obfs4proxy-linux:0.0.14-tor1:obfs4proxy-linux-0.0.14-tor1.jar:9783b9c7ec588a5246f534a9c5782783c8c9821825f81c3e0c6f1ecee61cfcbb', - 'org.briarproject:obfs4proxy-windows:0.0.14-tor1:obfs4proxy-windows-0.0.14-tor1.jar:9dd122b31b3cd1616f168091dcdb01de049d1e052fe5c089b7627618a8a2694b', - 'org.briarproject:snowflake-linux:2.3.1:snowflake-linux-2.3.1.jar:99ecf4546d8f79eb8408168c09380fec596558ac934554bf7d4247ea7ef2c9f3', - 'org.briarproject:snowflake-windows:2.3.1:snowflake-windows-2.3.1.jar:d011f1a72c00a221f56380c19aad8ff11db8c2bb1adb0784125572d80b4d275a', - 'org.briarproject:tor-linux:0.4.7.13:tor-linux-0.4.7.13.jar:9819ee973cbcdc133f7d04aef9d4b957a35087627a790e532142d15412a9636f', - 'org.briarproject:tor-windows:0.4.7.13:tor-windows-0.4.7.13.jar:853d2769665614e26703cbe02e43b218b064c04a0bcd120fdc459cda45bd2606', + 'org.briarproject:obfs4proxy-linux:0.0.14-tor2:obfs4proxy-linux-0.0.14-tor2.jar:bb2431092b5ad998ad620b0223e725c0f7e43f1b02af2f097a2544edc1fd9738', + 'org.briarproject:snowflake-linux:2.5.1:snowflake-linux-2.5.1.jar:edc807dcb7758365970d95525e4749349a27f462d0e2df6505ad1ca65fb296d2', + 'org.briarproject:tor-linux:0.4.7.13-2:tor-linux-0.4.7.13-2.jar:1e4ca9e0f724e1f17fcce570832704942cc3be26c4c2eccbe5aae29f35afa307', 'org.checkerframework:checker-compat-qual:2.5.5:checker-compat-qual-2.5.5.jar:11d134b245e9cacc474514d2d66b5b8618f8039a1465cdc55bbc0b34e0008b7a', 'org.checkerframework:checker-qual:3.12.0:checker-qual-3.12.0.jar:ff10785ac2a357ec5de9c293cb982a2cbb605c0309ea4cc1cb9b9bc6dbe7f3cb', 'org.hamcrest:hamcrest-core:2.1:hamcrest-core-2.1.jar:e09109e54a289d88506b9bfec987ddd199f4217c9464132668351b9a4f00bee9', diff --git a/briar-core/witness.gradle b/briar-core/witness.gradle index 44f776ce4..db3a0b785 100644 --- a/briar-core/witness.gradle +++ b/briar-core/witness.gradle @@ -17,8 +17,11 @@ dependencyVerification { 'com.google.j2objc:j2objc-annotations:1.3:j2objc-annotations-1.3.jar:21af30c92267bd6122c0e0b4d20cccb6641a37eaf956c6540ec471d584e64a7b', 'com.rometools:rome-utils:1.15.0:rome-utils-1.15.0.jar:2aaa1e95e0630ba5f4c183201f5ca6af8cecebcbf3494e7d11b903c9d1277cb8', 'com.rometools:rome:1.15.0:rome-1.15.0.jar:51cbcedae56ee0c32f25f3a367a6a9dadeef0f591d2f23d03486aec272e4d3f9', + 'com.squareup.okhttp3:mockwebserver:4.9.3:mockwebserver-4.9.3.jar:9c8c581c29f22f877a35d11380462f75bb24bf1886204fe835ee695594a2784e', 'com.squareup.okhttp3:okhttp:3.12.13:okhttp-3.12.13.jar:508234e024ef7e270ab1a6d5b356f5b98e786511239ca986d684fd1e2cf7bc82', + 'com.squareup.okhttp3:okhttp:4.9.3:okhttp-4.9.3.jar:93ecd6cba19d87dccfe566ec848d91aae799e3cf16c00709358ea69bd9227219', 'com.squareup.okio:okio:1.15.0:okio-1.15.0.jar:693fa319a7e8843300602b204023b7674f106ebcb577f2dd5807212b66118bd2', + 'com.squareup.okio:okio:2.8.0:okio-jvm-2.8.0.jar:4496b06e73982fcdd8a5393f46e5df2ce2fa4465df5895454cac68a32f09bbc8', 'com.squareup:javapoet:1.13.0:javapoet-1.13.0.jar:4c7517e848a71b36d069d12bb3bf46a70fd4cda3105d822b0ed2e19c00b69291', 'javax.inject:javax.inject:1:javax.inject-1.jar:91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff', 'junit:junit:4.13.2:junit-4.13.2.jar:8e495b634469d64fb8acfa3495a065cbacc8a0fff55ce1e31007be4c16dc57d3', @@ -36,9 +39,13 @@ dependencyVerification { 'org.hamcrest:hamcrest-library:2.1:hamcrest-library-2.1.jar:b7e2b6895b3b679f0e47b6380fda391b225e9b78505db9d8bdde8d3cc8d52a21', 'org.hamcrest:hamcrest:2.1:hamcrest-2.1.jar:ba93b2e3a562322ba432f0a1b53addcc55cb188253319a020ed77f824e692050', 'org.jdom:jdom2:2.0.6:jdom2-2.0.6.jar:1345f11ba606d15603d6740551a8c21947c0215640770ec67271fe78bea97cf5', + 'org.jetbrains.kotlin:kotlin-stdlib-common:1.4.10:kotlin-stdlib-common-1.4.10.jar:4681f2d436a68c7523595d84ed5758e1382f9da0f67c91e6a848690d711274fe', 'org.jetbrains.kotlin:kotlin-stdlib-common:1.7.0:kotlin-stdlib-common-1.7.0.jar:59c6ff64fe9a6604afce03e8aaa75f83586c6030ac71fb0b34ee7cdefed3618f', + 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.4.10:kotlin-stdlib-jdk7-1.4.10.jar:f9566380c08722c780ce33ceee23e98ddf765ca98fabd3e2fabae7975c8d232b', 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.0:kotlin-stdlib-jdk7-1.7.0.jar:07e91be9b2ca20672d2bdb7e181b766e73453a2da13492b5ddaee8fa47aea239', + 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.4.10:kotlin-stdlib-jdk8-1.4.10.jar:39b7a9442d7a3865e0f4a732c56c1d5da0e11ffb3bb82a461d32deb0c0ca7673', 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.0:kotlin-stdlib-jdk8-1.7.0.jar:cf058e11db1dfc9944680c8c61b95ac689aaaa8a3eb30bced028100f038f030b', + 'org.jetbrains.kotlin:kotlin-stdlib:1.4.10:kotlin-stdlib-1.4.10.jar:01ecb09782c042b931c1839acf21a188340b295d05400afd6e3415d4475b8daa', 'org.jetbrains.kotlin:kotlin-stdlib:1.7.0:kotlin-stdlib-1.7.0.jar:aa88e9625577957f3249a46cb6e166ee09b369e600f7a11d148d16b0a6d87f05', 'org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.5.0:kotlinx-metadata-jvm-0.5.0.jar:ca063a96639b08b9eaa0de4d65e899480740a6efbe28ab9a8681a2ced03055a4', 'org.jetbrains:annotations:13.0:annotations-13.0.jar:ace2a10dc8e2d5fd34925ecac03e4988b2c0f851650c94b8cef49ba1bd111478', diff --git a/briar-headless/build.gradle b/briar-headless/build.gradle index ef7481424..5545d832c 100644 --- a/briar-headless/build.gradle +++ b/briar-headless/build.gradle @@ -13,6 +13,15 @@ plugins { } apply from: 'witness.gradle' +configurations { + windows { + extendsFrom runtimeClasspath + } + linux { + extendsFrom runtimeClasspath + } +} + sourceCompatibility = 1.8 targetCompatibility = 1.8 @@ -21,6 +30,14 @@ dependencies { implementation project(':bramble-java') implementation project(':briar-core') + linux "org.briarproject:tor-linux:$tor_version" + linux "org.briarproject:obfs4proxy-linux:$obfs4proxy_version" + linux "org.briarproject:snowflake-linux:$snowflake_version" + + windows "org.briarproject:tor-windows:$tor_version" + windows "org.briarproject:obfs4proxy-windows:$obfs4proxy_version" + windows "org.briarproject:snowflake-windows:$snowflake_version" + implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10' implementation 'io.javalin:javalin:3.5.0' implementation 'org.slf4j:slf4j-simple:1.7.30' @@ -47,7 +64,8 @@ dependencies { kaptTest "com.google.dagger:dagger-compiler:$dagger_version" } -void jarFactory(Jar jarTask, jarArchitecture) { +void jarFactory(Jar jarTask, os, architecture, configuration) { + def jarArchitecture = os + "-" + architecture jarTask.dependsOn( ':bramble-api:jar', ':bramble-core:jar', @@ -66,21 +84,22 @@ void jarFactory(Jar jarTask, jarArchitecture) { } jarTask.setArchiveClassifier(jarArchitecture) jarTask.from { - configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } + configuration.collect { it.isDirectory() ? it : zipTree(it) } } { it.duplicatesStrategy(DuplicatesStrategy.EXCLUDE) - String[] architectures = [ - "linux-aarch64", - "linux-armhf", - "linux-x86_64", - "windows-x86_64" - ] - for (String arch : architectures) { - if (arch != jarArchitecture) { - exclude "obfs4proxy_" + arch + ".zip" - exclude "tor_" + arch + ".zip" - exclude "snowflake_" + arch + ".zip" + if (os == "linux") { + String[] architectures = [ + "aarch64", + "armhf", + "x86_64", + ] + for (String arch : architectures) { + if (arch != architecture) { + exclude arch + "/obfs4proxy" + exclude arch + "/tor" + exclude arch + "/snowflake" + } } } exclude 'META-INF/*.SF', 'META-INF/*.DSA', 'META-INF/*.RSA' @@ -118,19 +137,19 @@ void jarFactory(Jar jarTask, jarArchitecture) { } task aarch64LinuxJar(type: Jar) { - jarFactory(it, 'linux-aarch64') + jarFactory(it, 'linux', 'aarch64', configurations.linux) } task armhfLinuxJar(type: Jar) { - jarFactory(it, 'linux-armhf') + jarFactory(it, 'linux', 'armhf', configurations.linux) } task x86LinuxJar(type: Jar) { - jarFactory(it, 'linux-x86_64') + jarFactory(it, 'linux', 'x86_64', configurations.linux) } task windowsJar(type: Jar) { - jarFactory(it, 'windows-x86_64') + jarFactory(it, 'windows', 'x86_64', configurations.windows) } task linuxJars { diff --git a/briar-headless/witness.gradle b/briar-headless/witness.gradle index b01d7bafa..83d8bd339 100644 --- a/briar-headless/witness.gradle +++ b/briar-headless/witness.gradle @@ -40,6 +40,12 @@ dependencyVerification { 'net.ltgt.gradle.incap:incap:0.2:incap-0.2.jar:b625b9806b0f1e4bc7a2e3457119488de3cd57ea20feedd513db070a573a4ffd', 'org.apiguardian:apiguardian-api:1.1.0:apiguardian-api-1.1.0.jar:a9aae9ff8ae3e17a2a18f79175e82b16267c246fbbd3ca9dfbbb290b08dcfdd4', 'org.bouncycastle:bcprov-jdk15to18:1.71:bcprov-jdk15to18-1.71.jar:143aaa4a40edd5fc2a18db7900059f6c16f4d931b94b94b20f7e2238e6662886', + 'org.briarproject:obfs4proxy-linux:0.0.14-tor2:obfs4proxy-linux-0.0.14-tor2.jar:bb2431092b5ad998ad620b0223e725c0f7e43f1b02af2f097a2544edc1fd9738', + 'org.briarproject:obfs4proxy-windows:0.0.14-tor2:obfs4proxy-windows-0.0.14-tor2.jar:b5fbd00a8c35ccf095b265370752390e4cd46055331049c4dfcc236dc9c650ac', + 'org.briarproject:snowflake-linux:2.5.1:snowflake-linux-2.5.1.jar:edc807dcb7758365970d95525e4749349a27f462d0e2df6505ad1ca65fb296d2', + 'org.briarproject:snowflake-windows:2.5.1:snowflake-windows-2.5.1.jar:700ec9c68dc033f544daa4ca3547c89e523aed66500cf4b3ac51fe017c51e7be', + 'org.briarproject:tor-linux:0.4.7.13-2:tor-linux-0.4.7.13-2.jar:1e4ca9e0f724e1f17fcce570832704942cc3be26c4c2eccbe5aae29f35afa307', + 'org.briarproject:tor-windows:0.4.7.13-2:tor-windows-0.4.7.13-2.jar:3a0aa01ed3103cac0c22a91a6f227ab99f7d32ea970ea41558eece484ab49e88', 'org.checkerframework:checker-compat-qual:2.5.5:checker-compat-qual-2.5.5.jar:11d134b245e9cacc474514d2d66b5b8618f8039a1465cdc55bbc0b34e0008b7a', 'org.checkerframework:checker-qual:3.12.0:checker-qual-3.12.0.jar:ff10785ac2a357ec5de9c293cb982a2cbb605c0309ea4cc1cb9b9bc6dbe7f3cb', 'org.eclipse.jetty.websocket:websocket-api:9.4.20.v20190813:websocket-api-9.4.20.v20190813.jar:779a29060cc17bdeeeba147efc884ebff972cfff93dad2d37b11c93f95d4f67b', diff --git a/build.gradle b/build.gradle index ac88afe26..d9bd69eda 100644 --- a/build.gradle +++ b/build.gradle @@ -32,9 +32,9 @@ buildscript { // okhttp 3.12.x is supported until end of 2021, newer versions need minSdk 21 okhttp_version = "3.12.13" jackson_version = "2.13.4" - tor_version = "0.4.7.13" - obfs4proxy_version = "0.0.14-tor1" - snowflake_version = "2.3.1" + tor_version = "0.4.7.13-2" + obfs4proxy_version = "0.0.14-tor2" + snowflake_version = "2.5.1" jsoup_version = '1.15.3' bouncy_castle_version = '1.71' junit_version = "4.13.2"