briar issueshttps://code.briarproject.org/groups/briar/-/issues2022-05-18T10:39:05Zhttps://code.briarproject.org/briar/briar-mailbox/-/issues/95Implement network error screen during onboarding2022-05-18T10:39:05ZSebastianImplement network error screen during onboardingTesting instructions @earthlingIB :
* disable Wifi on device
* start mailbox app
When Wifi is disabled, the tor plugin will end up in state `INACTIVE` and currently the UI will stay on the startup screen with the spinner forever.Testing instructions @earthlingIB :
* disable Wifi on device
* start mailbox app
When Wifi is disabled, the tor plugin will end up in state `INACTIVE` and currently the UI will stay on the startup screen with the spinner forever.SebastianSebastianhttps://code.briarproject.org/briar/tor-reproducer/-/issues/13Tor binaries are not being stripped properly2022-03-21T11:18:43ZakwizgranTor binaries are not being stripped properlyThe Tor binaries for 0.4.5.12 aren't being stripped properly. `file` reports the binaries as unstripped and running `strip` with no arguments significantly reduces the size of the binaries.
For the previous release (0.3.5.17), `file` re...The Tor binaries for 0.4.5.12 aren't being stripped properly. `file` reports the binaries as unstripped and running `strip` with no arguments significantly reduces the size of the binaries.
For the previous release (0.3.5.17), `file` reports the binaries as stripped and `strip` with no arguments has no effect on the size.https://code.briarproject.org/briar/briar/-/issues/2288Check whether Tor complains about absence of ec_nistp_64_gcc_128 optimisation...2022-03-18T14:56:41ZakwizgranCheck whether Tor complains about absence of ec_nistp_64_gcc_128 optimisation on Android x86_64On Windows and Linux x64_64, Tor complains if the `ec_nistp_64_gcc_128` optimisation wasn't enabled at compile time. Check whether this also needs to be enabled on Android x86_64.On Windows and Linux x64_64, Tor complains if the `ec_nistp_64_gcc_128` optimisation wasn't enabled at compile time. Check whether this also needs to be enabled on Android x86_64.https://code.briarproject.org/briar/briar-mailbox/-/issues/94Add illustrations to onboarding screens2022-04-20T13:51:38ZSebastianAdd illustrations to onboarding screensMailbox: PairingSebastianSebastianhttps://code.briarproject.org/briar/briar-desktop/-/issues/333Direct connect in Lan2022-03-20T21:23:57ZFrank MeyerDirect connect in LanWhile there is already a feature to connect directly to another device via Bluetooth/Wifi, it would be great if we could do the same when two devices are in the same Lan/Subnet.
Unless I am mistaken about how this works at the moment, a...While there is already a feature to connect directly to another device via Bluetooth/Wifi, it would be great if we could do the same when two devices are in the same Lan/Subnet.
Unless I am mistaken about how this works at the moment, any connection between my workstation and the one of my partner who is sitting in the next room, would go over tor. Is that correct?https://code.briarproject.org/briar/tor-circumvention-analytics/-/issues/1Update OONI scripts2022-03-15T12:35:51ZakwizgranUpdate OONI scriptsThe OONI scripts use data from the `vanilla_tor` and `tcp_reachability` tests. `vanilla_tor` has been [retired](https://ooni.org/nettest/) and `tcp_reachability` is no longer run for Tor bridges. Instead, the new `tor` test measures the ...The OONI scripts use data from the `vanilla_tor` and `tcp_reachability` tests. `vanilla_tor` has been [retired](https://ooni.org/nettest/) and `tcp_reachability` is no longer run for Tor bridges. Instead, the new `tor` test measures the ability to make HTTP and vanilla Tor connections to directory authorities and obfs4 connections to Tor Browser's default obfs4 bridges.
The `ooni-sync` tool has been deprecated - [bulk data access is now via S3](https://ooni.org/post/mining-ooni-data).
We should update our OONI scripts to fetch the results of the `tor` test from S3. The `test_keys` field contains a summary of the number of reachable dir ports, OR ports and obfs4 bridges. We can use the dir port and OR port reachability to check whether Tor is blocked and the obfs4 reachability to check whether the default bridges are blocked.
The `probe_asn` field can be used to separate the measurements by AS. Since Briar clients don't know which AS they belong to, I suggest we use the most restrictive AS in each country to choose our default strategy for that country. So for example if one AS blocks Tor and the default bridges while another blocks Tor but not the default bridges, we should use non-default bridges for that country.https://code.briarproject.org/briar/briar-mailbox/-/issues/93NetworkOnMainThreadException in MailboxService#onDestroy()2022-06-06T13:52:17ZTorsten GroteNetworkOnMainThreadException in MailboxService#onDestroy()```ruby
W/o.b.m.c.l.LifecycleManagerImpl: [main] Error while stopping service AndroidTorPlugin
android.os.NetworkOnMainThreadException: null
at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1668)
...```ruby
W/o.b.m.c.l.LifecycleManagerImpl: [main] Error while stopping service AndroidTorPlugin
android.os.NetworkOnMainThreadException: null
at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1668)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:116)
at java.net.SocketOutputStream.write(SocketOutputStream.java:161)
at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)
at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291)
at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:295)
at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:141)
at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:229)
at net.freehaven.tor.control.TorControlConnection.sendAndWaitForResponse(TorControlConnection.java:192)
at net.freehaven.tor.control.TorControlConnection.setConf(TorControlConnection.java:394)
at net.freehaven.tor.control.TorControlConnection.setConf(TorControlConnection.java:348)
at org.briarproject.mailbox.core.tor.TorPlugin.stopService(TorPlugin.java:455)
at org.briarproject.mailbox.core.tor.AndroidTorPlugin.stopService(AndroidTorPlugin.java:115)
at org.briarproject.mailbox.core.lifecycle.LifecycleManagerImpl$stopAllServices$1.invoke(LifecycleManagerImpl.kt:203)
at org.briarproject.mailbox.core.lifecycle.LifecycleManagerImpl$stopAllServices$1.invoke(LifecycleManagerImpl.kt:202)
at org.briarproject.mailbox.core.lifecycle.LifecycleManagerImpl.run(LifecycleManagerImpl.kt:263)
at org.briarproject.mailbox.core.lifecycle.LifecycleManagerImpl.stopAllServices(LifecycleManagerImpl.kt:202)
at org.briarproject.mailbox.core.lifecycle.LifecycleManagerImpl.stopServices(LifecycleManagerImpl.kt:173)
at org.briarproject.mailbox.android.MailboxService.onDestroy(MailboxService.kt:140)
```Mailbox: Manage app lifecycleSebastianSebastianhttps://code.briarproject.org/briar/briar-desktop/-/issues/332Update Conversation Search to Material Spec2023-08-25T13:33:35ZpaulUpdate Conversation Search to Material SpecI found https://material.io/design/navigation/search.html#expandable-search which covers how we likely should handle the contact list search bar in a "material way". If this looks good to everyone, I can try and implement this change.I found https://material.io/design/navigation/search.html#expandable-search which covers how we likely should handle the contact list search bar in a "material way". If this looks good to everyone, I can try and implement this change.Desktop 0.7.0https://code.briarproject.org/briar/briar-desktop/-/issues/331Simplify Introduction Contact List2023-03-07T11:48:16ZpaulSimplify Introduction Contact List![after-0.2.1-intro0](/uploads/4fa61a59af8eb4a7bb70bdad09c7b81b/after-0.2.1-intro0.png)
While re-using the code is nice, I'm not sure if the message counters, time of last message, and online status are important to display on the conta...![after-0.2.1-intro0](/uploads/4fa61a59af8eb4a7bb70bdad09c7b81b/after-0.2.1-intro0.png)
While re-using the code is nice, I'm not sure if the message counters, time of last message, and online status are important to display on the contact list for contact introduction. Might be useful to swap this out with a simplified contact list which just displays profile pictures, alias and name?Desktop 0.4.1Mikolai GütschowMikolai Gütschowhttps://code.briarproject.org/briar/briar-desktop/-/issues/330ContextMenu Typography2022-09-23T04:16:24ZpaulContextMenu TypographyWhen right-clicking on a message, the contextmenu that opens doesn't use the updated Roboto font. Easiest way to see this is the way the 'C' glyph is rendered.When right-clicking on a message, the contextmenu that opens doesn't use the updated Roboto font. Easiest way to see this is the way the 'C' glyph is rendered.https://code.briarproject.org/briar/briar/-/issues/2287Scrub path to Tor config file2022-06-20T17:10:53ZakwizgranScrub path to Tor config fileWhen Tor starts it prints the path to the config file, which we log. On Android this path doesn't contain any sensitive information, but on Desktop it might (eg usernames). We should scrub that line before logging it.When Tor starts it prints the path to the config file, which we log. On Android this path doesn't contain any sensitive information, but on Desktop it might (eg usernames). We should scrub that line before logging it.https://code.briarproject.org/briar/briar/-/issues/2286Connection problem (TOR Bridges)2022-07-13T11:19:13ZUlyan ChesnokovConnection problem (TOR Bridges)Since Briar uses Tor to connect in case it is blocked (e.g. in Russia), it is necessary to use TOR bridges. With a regular connection Briar cannot get them and therefore does not allow chatting or adding new contacts over the Internet. P...Since Briar uses Tor to connect in case it is blocked (e.g. in Russia), it is necessary to use TOR bridges. With a regular connection Briar cannot get them and therefore does not allow chatting or adding new contacts over the Internet. Please add the ability to manually input Tor bridges.https://code.briarproject.org/briar/website/-/issues/39Create desktop screenshots, update Android screenshots2022-03-22T09:34:25ZCleopatraCreate desktop screenshots, update Android screenshotshttps://code.briarproject.org/briar/tor-reproducer/-/issues/12Investigate whether we can use --enable-static-tor2022-03-10T14:24:04ZakwizgranInvestigate whether we can use --enable-static-torWhen configuring the Tor build, the `--enable-static-tor` flag sets two flags we're not currently using on all platforms: `--enable-static-zlib` and `-static`.
We had some issues with `--enable-static-zlib` on Android, and `-static` may...When configuring the Tor build, the `--enable-static-tor` flag sets two flags we're not currently using on all platforms: `--enable-static-zlib` and `-static`.
We had some issues with `--enable-static-zlib` on Android, and `-static` may cause portability issues with glibc and NSS on Linux. Find out more about these issues and decide whether we should use `--enable-static-tor` on each platform.https://code.briarproject.org/briar/tor-reproducer/-/issues/11Check git commit hashes when downloading source repos2022-03-10T14:06:45ZakwizgranCheck git commit hashes when downloading source reposTo hinder supply chain attacks, record the expected git commit hashes for the source repos in the version file alongside the tag names, and check the commit hashes when checking out the tags.To hinder supply chain attacks, record the expected git commit hashes for the source repos in the version file alongside the tag names, and check the commit hashes when checking out the tags.https://code.briarproject.org/briar/tor-reproducer/-/issues/10Share more code between platforms2022-03-10T14:07:20ZakwizgranShare more code between platformsRefactor the code to share more code between platforms, perhaps through inheritance. Depends on #9.Refactor the code to share more code between platforms, perhaps through inheritance. Depends on #9.https://code.briarproject.org/briar/tor-reproducer/-/issues/9Extract code from Android Makefile2022-03-10T14:07:20ZakwizgranExtract code from Android MakefileConvert some of the code in the Android Makefile to Python so we more easily compare the Android, Linux and Windows builds and share code between them.Convert some of the code in the Android Makefile to Python so we more easily compare the Android, Linux and Windows builds and share code between them.https://code.briarproject.org/briar/briar/-/issues/2285Find out whether GeoIP file is needed2022-07-18T10:27:54ZakwizgranFind out whether GeoIP file is neededIf Tor doesn't use the GeoIP file by default and we're not using any options that require it, we could reduce the size of the APK by removing it.If Tor doesn't use the GeoIP file by default and we're not using any options that require it, we could reduce the size of the APK by removing it.Android 1.4https://code.briarproject.org/briar/briar-desktop/-/issues/329Contacts list are sorted by sent time and can lead to confusion2022-03-08T19:07:53ZSebastianContacts list are sorted by sent time and can lead to confusionWhen messages that were sent a long time ago by Alice and arrive only now at Bob's briar, because they only came online simultaneously now, the timestamp that is used for sorting contacts in Bob's contact list is the one from when the me...When messages that were sent a long time ago by Alice and arrive only now at Bob's briar, because they only came online simultaneously now, the timestamp that is used for sorting contacts in Bob's contact list is the one from when the messages were sent. The result is that Alice won't move to the top of contacts on Bob's end and might lead to Bob not noticing the new messages.https://code.briarproject.org/briar/briar/-/issues/2284Crash in TorControlConnection#handleEvent()2022-06-06T13:14:05ZakwizgranCrash in TorControlConnection#handleEvent()While testing Briar with some extra Tor controller events, I got a crash from TorControlConnection#handleEvent(). The crash was due to the ReplyLine not containing any spaces, causing String#substring(int, int) at TorControlConnection.ja...While testing Briar with some extra Tor controller events, I got a crash from TorControlConnection#handleEvent(). The crash was due to the ReplyLine not containing any spaces, causing String#substring(int, int) at TorControlConnection.java line 218 to throw an exception when -1 was passed as the length of the substring.
So far I haven't been able to reproduce the crash. The extra events I enabled were GUARD, NS, TRANSPORT_LAUNCHED and STATUS_GENERAL. I suspect that the STATUS_GENERAL event [DIR_ALL_UNREACHABLE](https://gitlab.torproject.org/tpo/core/torspec/-/blob/ec77ae643f3e47bea0292d125a51f8786bf33fb9/control-spec.txt#L2866) would reproduce the bug but I haven't persuaded Tor to broadcast it (again).
Once the bug can be reproduced a ticket should be opened against jtorctl.Android 1.4akwizgranakwizgran