briar issueshttps://code.briarproject.org/briar/briar/-/issues2018-05-11T13:29:53Zhttps://code.briarproject.org/briar/briar/-/issues/175Sync blocks rather than messages2018-05-11T13:29:53ZakwizgranSync blocks rather than messagesAt this stage we only need to support single-block messages.At this stage we only need to support single-block messages.https://code.briarproject.org/briar/briar/-/issues/174Rename classes, methods, fields with BSP nomenclature2018-04-16T16:24:37ZakwizgranRename classes, methods, fields with BSP nomenclatureThis is going to touch a lot of code, but shouldn't make any functional changes.
Subtask of #112.This is going to touch a lot of code, but shouldn't make any functional changes.
Subtask of #112.Milestone Aakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/173Create interface between UI and ForumClient2018-06-12T11:32:36ZakwizgranCreate interface between UI and ForumClientSubtask of #112.Subtask of #112.Milestone Aakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/172Create interface between UI and MessagingClient2018-06-12T11:32:36ZakwizgranCreate interface between UI and MessagingClientSubtask of #112.Subtask of #112.Milestone Aakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/171Create interface between UI and TransportClient2018-06-12T11:32:36ZakwizgranCreate interface between UI and TransportClientSubtask of #112.Subtask of #112.Milestone Aakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/170Use Argon2 for password-based key derivation2020-11-21T19:40:11ZakwizgranUse Argon2 for password-based key derivationArgon2 won the password hashing competition and has a number of advantages over PBKDF2.
In this case it makes sense to wrap a native implementation even if there's a Java implementation available.Argon2 won the password hashing competition and has a number of advantages over PBKDF2.
In this case it makes sense to wrap a native implementation even if there's a Java implementation available.https://code.briarproject.org/briar/briar/-/issues/169Switch KDF from SHA-256 to BLAKE22018-06-12T11:32:36ZakwizgranSwitch KDF from SHA-256 to BLAKE2Subtask of #111.Subtask of #111.Milestone Aakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/168PasswordActivity causes crash on Android 2.3.32018-06-12T11:32:36ZakwizgranPasswordActivity causes crash on Android 2.3.3Briar crashes on the HTC Wildfire S (Android 2.3.3) when PasswordActivity is shown:
```
E/AndroidRuntime(10948): FATAL EXCEPTION: main
E/AndroidRuntime(10948): java.lang.RuntimeException: Unable to start activity ComponentInfo{org.b...Briar crashes on the HTC Wildfire S (Android 2.3.3) when PasswordActivity is shown:
```
E/AndroidRuntime(10948): FATAL EXCEPTION: main
E/AndroidRuntime(10948): java.lang.RuntimeException: Unable to start activity ComponentInfo{org.briarproject/org.briarproject.android.PasswordActivity}: android.view.InflateException: Binary XML file line #51: Error inflating class <unknown>
E/AndroidRuntime(10948): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1821)
E/AndroidRuntime(10948): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1842)
E/AndroidRuntime(10948): at android.app.ActivityThread.access$1500(ActivityThread.java:132)
E/AndroidRuntime(10948): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1038)
E/AndroidRuntime(10948): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(10948): at android.os.Looper.loop(Looper.java:143)
E/AndroidRuntime(10948): at android.app.ActivityThread.main(ActivityThread.java:4268)
E/AndroidRuntime(10948): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(10948): at java.lang.reflect.Method.invoke(Method.java:507)
E/AndroidRuntime(10948): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
E/AndroidRuntime(10948): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
E/AndroidRuntime(10948): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime(10948): Caused by: android.view.InflateException: Binary XML file line #51: Error inflating class <unknown>
E/AndroidRuntime(10948): at android.view.LayoutInflater.createView(LayoutInflater.java:518)
E/AndroidRuntime(10948): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
E/AndroidRuntime(10948): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:568)
E/AndroidRuntime(10948): at android.view.LayoutInflater.rInflate(LayoutInflater.java:623)
E/AndroidRuntime(10948): at android.view.LayoutInflater.inflate(LayoutInflater.java:408)
E/AndroidRuntime(10948): at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
E/AndroidRuntime(10948): at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
E/AndroidRuntime(10948): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:227)
E/AndroidRuntime(10948): at android.app.Activity.setContentView(Activity.java:1728)
E/AndroidRuntime(10948): at org.briarproject.android.PasswordActivity.onCreate(PasswordActivity.java:56)
E/AndroidRuntime(10948): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093)
E/AndroidRuntime(10948): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1785)
E/AndroidRuntime(10948): ... 11 more
E/AndroidRuntime(10948): Caused by: java.lang.reflect.InvocationTargetException
E/AndroidRuntime(10948): at java.lang.reflect.Constructor.constructNative(Native Method)
E/AndroidRuntime(10948): at java.lang.reflect.Constructor.newInstance(Constructor.java:415)
E/AndroidRuntime(10948): at android.view.LayoutInflater.createView(LayoutInflater.java:505)
E/AndroidRuntime(10948): ... 22 more
E/AndroidRuntime(10948): Caused by: android.content.res.Resources$NotFoundException: Resource is not a ColorStateList (color or path): TypedValue{t=0x2/d=0x101009b a=-1}
E/AndroidRuntime(10948): at android.content.res.Resources.loadColorStateList(Resources.java:1822)
E/AndroidRuntime(10948): at android.content.res.TypedArray.getColorStateList(TypedArray.java:342)
E/AndroidRuntime(10948): at android.widget.TextView.<init>(TextView.java:692)
E/AndroidRuntime(10948): at android.widget.TextView.<init>(TextView.java:381)
E/AndroidRuntime(10948): ... 25 more
W/ActivityManager( 124): Activity pause timeout for HistoryRecord{40aebf68 org.briarproject/.android.PasswordActivity}
I/Process (10948): Sending signal. PID: 10948 SIG: 9
I/ActivityManager( 124): Process org.briarproject (pid 10948) has died.
```Milestone Ahttps://code.briarproject.org/briar/briar/-/issues/167Replace TransportConfig with namespaced Settings2018-06-12T11:32:36ZakwizgranReplace TransportConfig with namespaced SettingsThe Tor and Bluetooth plugins use a mixture of Settings and TransportConfig to store their configuration. No other plugins use TransportConfig.
Add namespaces to Settings so all components can use them without treading on each other's...The Tor and Bluetooth plugins use a mixture of Settings and TransportConfig to store their configuration. No other plugins use TransportConfig.
Add namespaces to Settings so all components can use them without treading on each other's toes, and remove TransportConfig.
Plugins should be able to access their settings through the PluginCallback, as they currently can for TransportConfig. Perhaps the PluginManager should also push updated settings to the plugins so they don't have to listen on the EventBus?Milestone BSantiago Torres-AriasSantiago Torres-Ariashttps://code.briarproject.org/briar/briar/-/issues/166Upgrade Tor to 0.2.7.62018-06-12T11:32:36ZakwizgranUpgrade Tor to 0.2.7.6Also update the GeoIP database.Also update the GeoIP database.Milestone Aakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/165Research upgrading the dependency injection framework2018-06-12T11:32:36ZakwizgranResearch upgrading the dependency injection frameworkCurrently we use Roboguice 2. Investigate whether Roboguice 3 or Dagger would offer advantages, and how much work would be involved in the upgrade. Whatever we choose must work for briar-desktop as well as briar-android.Currently we use Roboguice 2. Investigate whether Roboguice 3 or Dagger would offer advantages, and how much work would be involved in the upgrade. Whatever we choose must work for briar-desktop as well as briar-android.Milestone Ahttps://code.briarproject.org/briar/briar/-/issues/164Research reproducible builds with Gradle2018-05-11T14:21:26ZakwizgranResearch reproducible builds with GradleFor dependencies that don't require patches against upstream, it would be nice to manage the dependencies through Gradle rather than keeping the jars in our repo. But our long-term plan is to have reproducible builds, so every dependency...For dependencies that don't require patches against upstream, it would be nice to manage the dependencies through Gradle rather than keeping the jars in our repo. But our long-term plan is to have reproducible builds, so every dependency should either be built from source or use an upstream binary with a reproducible build process. Find out whether this is possible with Gradle dependencies.https://code.briarproject.org/briar/briar/-/issues/163Create a blackhole transport for testing2022-11-18T12:21:25ZakwizgranCreate a blackhole transport for testinghttps://code.briarproject.org/briar/briar/-/issues/162Build with latest Android SDK2018-06-12T11:32:36ZakwizgranBuild with latest Android SDKThe project is currently built with SDK version 22, which isn't bundled with Android Studio by default. This creates an extra hurdle for people to build the code. Build with the latest SDK (23) while keeping 22 as the target.The project is currently built with SDK version 22, which isn't bundled with Android Studio by default. This creates an extra hurdle for people to build the code. Build with the latest SDK (23) while keeping 22 as the target.Milestone Aakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/161Error creating hidden service with Tor 0.2.7.52018-06-12T11:32:36ZakwizgranError creating hidden service with Tor 0.2.7.5Tor fails to create a hidden service after a fresh install with Tor 0.2.7.5.
Logcat output:
```
I/TorPlugin(17807): Starting Tor
I/TorPlugin(17807): Dec 08 11:19:43.535 [notice] Tor v0.2.7.5 running on Linux with Libevent 2.0.22-st...Tor fails to create a hidden service after a fresh install with Tor 0.2.7.5.
Logcat output:
```
I/TorPlugin(17807): Starting Tor
I/TorPlugin(17807): Dec 08 11:19:43.535 [notice] Tor v0.2.7.5 running on Linux with Libevent 2.0.22-stable, OpenSSL 1.0.2e and Zlib 1.2.7.
I/TorPlugin(17807): Dec 08 11:19:43.537 [notice] Tor can't help you if you use it wrong! Learn how to be safe at https://www.torproject.org/download/download#warning
I/TorPlugin(17807): Dec 08 11:19:43.537 [notice] Read configuration file "/data/data/org.briarproject/app_tor/torrc".
I/TorPlugin(17807): Dec 08 11:19:43.557 [notice] Opening Control listener on 127.0.0.1:59051
I/TorPlugin(17807): Dec 08 11:19:43.558 [notice] DisableNetwork is set. Tor will not make or accept non-control network connections. Shutting down all existing connections.
I/PluginManagerImpl(17807): Starting TorPlugin took 5565 ms
I/LifecycleManagerImpl(17807): Starting org.briarproject.plugins.PluginManagerImpl took 5689 ms
I/TorPlugin(17807): Online: true
I/TorPlugin(17807): Country code: GB
I/TorPlugin(17807): Enabling network: true
I/TorPlugin(17807): NOTICE Opening Socks listener on 127.0.0.1:59050
I/TorPlugin(17807): Creating hidden service
I/TorPlugin(17807): WARN Permissions on directory /data/data/org.briarproject/app_tor are too permissive.
I/TorPlugin(17807): WARN Controller gave us config lines that didn't validate: Failed to configure rendezvous options. See logs for details.
W/TorPlugin(17807): net.freehaven.tor.control.TorControlError: Error reply: Unacceptable option value: Failed to configure rendezvous options. See logs for details.
W/TorPlugin(17807): net.freehaven.tor.control.TorControlError: Error reply: Unacceptable option value: Failed to configure rendezvous options. See logs for details.
W/TorPlugin(17807): at net.freehaven.tor.control.TorControlConnection.sendAndWaitForResponse(TorControlConnection.java:195)
W/TorPlugin(17807): at net.freehaven.tor.control.TorControlConnection.setConf(TorControlConnection.java:378)
W/TorPlugin(17807): at org.briarproject.plugins.tor.TorPlugin.publishHiddenService(TorPlugin.java:403)
W/TorPlugin(17807): at org.briarproject.plugins.tor.TorPlugin.access$700(TorPlugin.java:57)
W/TorPlugin(17807): at org.briarproject.plugins.tor.TorPlugin$1$1.run(TorPlugin.java:371)
W/TorPlugin(17807): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
W/TorPlugin(17807): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
W/TorPlugin(17807): at java.lang.Thread.run(Thread.java:841)
I/TorPlugin(17807): Hidden service
I/TorPlugin(17807): NOTICE Bootstrapped 5%: Connecting to directory server
I/TorPlugin(17807): OR connection LAUNCHED
```Milestone Aakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/160Improve .gitignore2018-06-12T11:32:36ZErnir ErlingssonImprove .gitignoreImprove the .gitignore to clean up the change-listImprove the .gitignore to clean up the change-listMilestone Ahttps://code.briarproject.org/briar/briar/-/issues/159Improve error messages on setup page2018-06-12T11:32:36Zstr4dImprove error messages on setup pageTwo parts:
* "Password is too weak" is displayed while typing password even after the password's strength exceeds the minimum; the message only disappears once you shift focus to another text box.
* Error messages should be errors on...Two parts:
* "Password is too weak" is displayed while typing password even after the password's strength exceeds the minimum; the message only disappears once you shift focus to another text box.
* Error messages should be errors on the relevant text boxes, not a separate label.Milestone Ahttps://code.briarproject.org/briar/briar/-/issues/158Support Android 6 Permission Model2018-06-12T11:32:36ZTorsten GroteSupport Android 6 Permission ModelCurrently, the app is built for API level 22 and does not yet support the new permission model of Android 6 (API 23).
This affects at least the permission `ACCESS_COARSE_LOCATION`. We need to ask for this permission before adding cont...Currently, the app is built for API level 22 and does not yet support the new permission model of Android 6 (API 23).
This affects at least the permission `ACCESS_COARSE_LOCATION`. We need to ask for this permission before adding contacts via Bluetooth. For details see #223.
See https://developer.android.com/training/permissions/requesting.html for more information.Android Beta 2Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/157Re-adding a deleted Contact does not work2021-06-23T11:58:38ZTorsten GroteRe-adding a deleted Contact does not workSteps to Reproduce:
* add each other as contacts
* delete contact on device A
* try to add contact back on device A
* device B will get an error message and not add anything
* device A will have contact from device B back
However, on bo...Steps to Reproduce:
* add each other as contacts
* delete contact on device A
* try to add contact back on device A
* device B will get an error message and not add anything
* device A will have contact from device B back
However, on both devices, the users see each other as offline and can not exchange messages.
This issue is related to issue #2.https://code.briarproject.org/briar/briar/-/issues/156Turn off Bluetooth again when not required anymore2018-06-12T11:32:36ZTorsten GroteTurn off Bluetooth again when not required anymoreWhen Bluetooth was disabled on the device and we turned it on (e.g. for adding a contact), we should disable it again after it is not needed anymore.When Bluetooth was disabled on the device and we turned it on (e.g. for adding a contact), we should disable it again after it is not needed anymore.Milestone ATorsten GroteTorsten Grote