briar issueshttps://code.briarproject.org/briar/briar/-/issues2018-06-12T11:32:20Zhttps://code.briarproject.org/briar/briar/-/issues/592Scrub addresses before logging them2018-06-12T11:32:20ZakwizgranScrub addresses before logging themMAC, IP and onion addresses should be scrubbed before logging to ensure we don't leave any sensitive information in plaintext on the device or send it in crash reports or feedback.
We need to keep enough information for the addresses ...MAC, IP and onion addresses should be scrubbed before logging to ensure we don't leave any sensitive information in plaintext on the device or send it in crash reports or feedback.
We need to keep enough information for the addresses to be useful for debugging, without harming user privacy. Perhaps something like the following:
* MAC addresses (including Bluetooth): keep the first and last octets, replace the rest with XX
* Link-local and site-local IPv4 addresses: keep the full address
* Other IPv4 addresses: keep the first and last octets, replace the rest with XX
* IPv6 addresses: not intentionally used by Briar, replace the whole thing with XX
* Onion addresses: keep the first three characters, replace the rest with XXMilestone CTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/573Setup Onion Service for Crash Reports and Feedback2018-06-12T11:32:21ZTorsten GroteSetup Onion Service for Crash Reports and FeedbackLooks like the onion service we had running is down now:
```
08-02 20:04:51.596 W/DevReporterImpl: Could not connect to developers
Host unreachable
at ne...Looks like the onion service we had running is down now:
```
08-02 20:04:51.596 W/DevReporterImpl: Could not connect to developers
Host unreachable
at net.sourceforge.jsocks.socks.Socks5Message.read(Socks5Message.java:162)
at net.sourceforge.jsocks.socks.Socks5Message.<init>(Socks5Message.java:123)
at net.sourceforge.jsocks.socks.Socks5Message.<init>(Socks5Message.java:108)
at net.sourceforge.jsocks.socks.Socks5Proxy.formMessage(Socks5Proxy.java:253)
at net.sourceforge.jsocks.socks.Proxy.exchange(Proxy.java:458)
at net.sourceforge.jsocks.socks.Proxy.connect(Proxy.java:343)
at net.sourceforge.jsocks.socks.SocksSocket.<init>(SocksSocket.java:109)
at org.briarproject.reporting.DevReporterImpl.connectToDevelopers(DevReporterImpl.java:50)
at org.briarproject.reporting.DevReporterImpl.sendReports(DevReporterImpl.java:84)
at org.briarproject.plugins.tor.TorPlugin$1.run(TorPlugin.java:371)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
at java.lang.Thread.run(Thread.java:856)
```
I know that some of my testers already used the crash reporter. I had to tell them that I am not sure that these reports are already read by someone.Milestone Cakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/516Joining a busy forum overloads the device, which kills the Briar service2018-06-12T11:32:23ZErnir ErlingssonJoining a busy forum overloads the device, which kills the Briar serviceA user joined a forum with ~50 entries, looked at the forum (which was empty at the time) and then put Briar into the background. After a while the notification "49 new forum entries" appeared, but shortly thereafter the screen went dark...A user joined a forum with ~50 entries, looked at the forum (which was empty at the time) and then put Briar into the background. After a while the notification "49 new forum entries" appeared, but shortly thereafter the screen went dark and the device became completely unresponsive for around 10 seconds. After that the user was able to activate the screen again but the Briar notification was gone and seemingly the service had either crashed or was killed by the OS.Milestone Chttps://code.briarproject.org/briar/briar/-/issues/492Remove crash report settings2018-06-12T11:32:24ZakwizgranRemove crash report settingsMost users should never see the crash reporter, so we don't need to allow them to configure it.Most users should never see the crash reporter, so we don't need to allow them to configure it.Milestone CTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/472Forum: No message for the inviter if an invitee accepts or declines2018-06-12T11:32:24ZMegaloxForum: No message for the inviter if an invitee accepts or declinesA tester complained that he didn't get any feedback if his contact accepted or declined the invitation to a forum.A tester complained that he didn't get any feedback if his contact accepted or declined the invitation to a forum.Milestone CTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/471SHOW AVAILABLE FORUMS in speech bubble doesn't work.2018-06-12T11:32:24ZMegaloxSHOW AVAILABLE FORUMS in speech bubble doesn't work.Similar to #470: A gets invitations to the same forum from B and C. First she gets the invitation from B and accepts. In the private message (A-C) appears the system message SHOW AVAILABLE FORUMS. This can't be tapped and stays there.Similar to #470: A gets invitations to the same forum from B and C. First she gets the invitation from B and accepts. In the private message (A-C) appears the system message SHOW AVAILABLE FORUMS. This can't be tapped and stays there.Milestone CTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/470Second invitation doesn't disappear from available forums2018-06-12T11:32:24ZMegaloxSecond invitation doesn't disappear from available forumsA (A is already a member of the forum) gets invitations from B and C for the same forum. She accepts first B, when she accepts C she gets a toast but the entry in "available forums" doesn't disappear.
A (A is already a member of the forum) gets invitations from B and C for the same forum. She accepts first B, when she accepts C she gets a toast but the entry in "available forums" doesn't disappear.
Milestone CTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/422Forum sub-tree duplicates2018-06-12T11:32:26ZErnir ErlingssonForum sub-tree duplicates>I've managed to generate a different bug now: subtrees can get duplicated. Specifically, if I close one subtree (at any level), the indicator for one of the subtrees below it at the same level (not always the immediate next subtree) wil...>I've managed to generate a different bug now: subtrees can get duplicated. Specifically, if I close one subtree (at any level), the indicator for one of the subtrees below it at the same level (not always the immediate next subtree) will also change to closed, and tapping it will "open" the subtree again, inserting it into the list a second time.Milestone Chttps://code.briarproject.org/briar/briar/-/issues/408Forum List Unread Posts Badges2018-06-12T11:32:27ZMegaloxForum List Unread Posts BadgesTo provide consistency between new messages, new blog posts and new forum posts the notification for forum posts has to be changed from text to a badge. The text/subtitle should now show the number of all posts.To provide consistency between new messages, new blog posts and new forum posts the notification for forum posts has to be changed from text to a badge. The text/subtitle should now show the number of all posts.Milestone CTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/399Contact List Unread Messages2018-06-12T11:32:27ZTorsten GroteContact List Unread MessagesCurrently the background of the contact changes when there are unread messages. Don't do this, but instead use little bubbles to indicate unread messages like so:
![screenshot_contacts](/uploads/934ee90a8f941cc1043540a23118026e/screen...Currently the background of the contact changes when there are unread messages. Don't do this, but instead use little bubbles to indicate unread messages like so:
![screenshot_contacts](/uploads/934ee90a8f941cc1043540a23118026e/screenshot_contacts.jpg)Milestone CTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/398Forum Sharing Status2018-06-12T11:32:27ZTorsten GroteForum Sharing Status![Forum Sharing Status](https://code.briarproject.org/akwizgran/briar/uploads/2aad92e52a41c235a44d38293c2b7f68/Metainformation_Overflow3.jpg)![Forum Sharing Status](https://code.briarproject.org/akwizgran/briar/uploads/2aad92e52a41c235a44d38293c2b7f68/Metainformation_Overflow3.jpg)Milestone CTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/396Convert ExpiredActivity to XML2018-06-12T11:32:27ZakwizgranConvert ExpiredActivity to XMLSubtask of #53.Subtask of #53.Milestone CTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/395Convert CreateIdentityActivity to XML2018-06-12T11:32:27ZakwizgranConvert CreateIdentityActivity to XMLSubtask of #53.Subtask of #53.Milestone CTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/394Add text input area to ForumActivity2018-06-12T11:32:27ZakwizgranAdd text input area to ForumActivityThe compose button should show the text input area. Touching the list of messages should hide the text input area.
WriteForumPostActivity and ReadForumPostActivity can be removed.
Subtask of #122.The compose button should show the text input area. Touching the list of messages should hide the text input area.
WriteForumPostActivity and ReadForumPostActivity can be removed.
Subtask of #122.Milestone Chttps://code.briarproject.org/briar/briar/-/issues/393Sort threaded messages2018-06-12T11:32:27ZakwizgranSort threaded messagesWrite code for sorting a forest of threaded messages:
* Roots in timestamp order
* Children below their parents
* Siblings in timestamp order
The input will be an unsorted collection of messages with parent pointers. The code mus...Write code for sorting a forest of threaded messages:
* Roots in timestamp order
* Children below their parents
* Siblings in timestamp order
The input will be an unsorted collection of messages with parent pointers. The code must not use more than O(n log n) time or space. Algorithms presumably exist already, find them!
Subtask of #122.Milestone Chttps://code.briarproject.org/briar/briar/-/issues/392Use new metadata queries for forum client2018-06-12T11:32:27ZTorsten GroteUse new metadata queries for forum clientUse new queries introduced in !187.Use new queries introduced in !187.Milestone CTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/391Handle responses to forum invitations by multiple contacts2018-01-28T11:30:28ZTorsten GroteHandle responses to forum invitations by multiple contactsMilestone CTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/388Possible Race-Condition when Two Contacts Share Same Forum with each other2018-01-28T11:30:28ZTorsten GrotePossible Race-Condition when Two Contacts Share Same Forum with each other> What happens if Alice and Bob invite each other to the forum, then some time later both their invitations are delivered? It seems to me that each of them will consult `canBeShared()` for the incoming invitation, see that they've sent a...> What happens if Alice and Bob invite each other to the forum, then some time later both their invitations are delivered? It seems to me that each of them will consult `canBeShared()` for the incoming invitation, see that they've sent an invitation, and delete the incoming invitation. Does that sound right to you? Does that mean neither of them will receive the other's invitation?
Yes, their invitations are most likely deleted without any indication to them.
![forum-sharing-same](/uploads/a267b5ec4a46f4a8f6dc8a83b233d6f9/forum-sharing-same.png)
> Regardless of the answer to this specific question, I think you're right to be concerned about treating symptoms rather than causes. Unfortunately I think the problem might be quite fundamental. We're trying to keep the state of the forum (are we subscribed, is it visible to the contact) consistent with the state of each session - but there can be multiple sessions relating to a given forum. Can we be sure that those sessions will always produce consistent answers to (a) whether we belong to the forum, and (b) whether the contact belongs to it?
> The message queue ensures that our messages are delivered to the contact in order and vice versa, but if we want to be sure that a given set of messages always produces the same state, we need a canonical ordering for all the messages: ours and the contact's. Within each session, we can use knowledge of the protocol to order certain messages (for example, a response must follow an invitation), but I'm not sure we can do that across multiple sessions in the general case.Milestone CTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/386NullPointerException when rotating screen2018-06-12T11:32:27ZTorsten GroteNullPointerException when rotating screenJust rotate the screen in the contact or forum list. This was probably caused by the recent merge of !130
```
05-11 12:43:23.935 22116-22116/org.briarproject E/ACRA: ACRA caught a RuntimeException for org.briarproject
...Just rotate the screen in the contact or forum list. This was probably caused by the recent merge of !130
```
05-11 12:43:23.935 22116-22116/org.briarproject E/ACRA: ACRA caught a RuntimeException for org.briarproject
java.lang.RuntimeException: Unable to resume activity {org.briarproject/org.briarproject.android.NavDrawerActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2618)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2646)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2111)
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3576)
at android.app.ActivityThread.access$700(ActivityThread.java:138)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1210)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4904)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at org.briarproject.android.contact.ContactListFragment.onResume(ContactListFragment.java:150)
at android.support.v4.app.Fragment.performResume(Fragment.java:2020)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1107)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1252)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1234)
at android.support.v4.app.FragmentManagerImpl.dispatchResume(FragmentManager.java:2056)
at android.support.v4.app.FragmentController.dispatchResume(FragmentController.java:196)
at android.support.v4.app.FragmentActivity.onResumeFragments(FragmentActivity.java:505)
at android.support.v4.app.FragmentActivity.onPostResume(FragmentActivity.java:494)
at android.support.v7.app.AppCompatActivity.onPostResume(AppCompatActivity.java:174)
at android.app.Activity.performResume(Activity.java:5332)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2608)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2646)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2111)
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3576)
at android.app.ActivityThread.access$700(ActivityThread.java:138)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1210)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
```Milestone Chttps://code.briarproject.org/briar/briar/-/issues/385Add BQP support to the LAN plugin2018-06-12T11:32:27ZakwizgranAdd BQP support to the LAN pluginThis will allow us to work around Bluetooth issues when both devices are connected to the same LAN.This will allow us to work around Bluetooth issues when both devices are connected to the same LAN.Milestone C