briar-spec issueshttps://code.briarproject.org/briar/briar-spec/-/issues2021-02-17T01:10:40Zhttps://code.briarproject.org/briar/briar-spec/-/issues/14How do 2 Briar users find themselves in a network bluetooth / wifi / tor?2021-02-17T01:10:40ZmicressorHow do 2 Briar users find themselves in a network bluetooth / wifi / tor?* How does Briar know in a foreign Wifi which IP address to connect to in order to successfully find a counterparty?
Is this done via broadcast?
* At tor I assume that hidden .onion services will be generated?
In the descriptions of the...* How does Briar know in a foreign Wifi which IP address to connect to in order to successfully find a counterparty?
Is this done via broadcast?
* At tor I assume that hidden .onion services will be generated?
In the descriptions of the protocol I did not find any corresponding hints.
According to the other briar-spec issues, are the protocols probably not yet up to date?CleopatraCleopatrahttps://code.briarproject.org/briar/briar-spec/-/issues/19Provide test cases as part of specification2023-02-14T22:34:30ZNicoProvide test cases as part of specificationWhen implementing Briar from the specifications in this project, test cases could be useful that allow developers to confirm that their implementations do what they are supposed to do. Some examples:
* given some briar:// link, confirm t...When implementing Briar from the specifications in this project, test cases could be useful that allow developers to confirm that their implementations do what they are supposed to do. Some examples:
* given some briar:// link, confirm that the right byte array including key and version is decoded
* given some public key (as byte array), confirm that the right briar:// link is generated
* given two briar:// links (and one of their private keys), confirm that the correct Tor Hidden Service .onion addresses are derived as part of BRP
I vaguely remember that test cases like those exist for other protocols or specifications. However, I'm not sure if the specifications are the right place to provide them or if there should rather be some sort of "test suite" that allows to test implementations regardless of their programming language.
As part of this issue, I'll link to places where tests like this are done in either briar-java or briar-rust.
### briar-java
* [KeyAgreementTest](https://code.briarproject.org/briar/briar/-/blob/release-1.4.20/bramble-core/src/test/java/org/briarproject/bramble/crypto/KeyAgreementTest.java)
### briar-rust
### References
* [Test vector in Elliptic Curve RFC 7748](https://www.rfc-editor.org/rfc/rfc7748#section-6.1)https://code.briarproject.org/briar/briar-spec/-/issues/18Move BSP clients specs from wiki to this repo2023-02-20T15:10:17ZNicoMove BSP clients specs from wiki to this repoAs discussed with @akwizgran, instead of having them in the wiki they should live in this repo so that merge requests can be opened that can be reviewed.
https://code.briarproject.org/briar/briar/-/wikis/home#clientsAs discussed with @akwizgran, instead of having them in the wiki they should live in this repo so that merge requests can be opened that can be reviewed.
https://code.briarproject.org/briar/briar/-/wikis/home#clientsNicoNicohttps://code.briarproject.org/briar/briar-spec/-/issues/17Include spec of briar:// links in BRP spec2023-01-06T16:52:10ZNicoInclude spec of briar:// links in BRP specContacts can be added in Briar by exchanging briar:// links. Underneath the Bramble Rendezvous Protocol (BRP) is used, however, nowhere it's specified how the briar:// links are constructed.
Asking @akwizgran, he pointed me to [`Pending...Contacts can be added in Briar by exchanging briar:// links. Underneath the Bramble Rendezvous Protocol (BRP) is used, however, nowhere it's specified how the briar:// links are constructed.
Asking @akwizgran, he pointed me to [`PendingContactFactoryImpl#parseHandshakeLink()`](https://code.briarproject.org/briar/briar/-/blob/beta-1.4.19/bramble-core/src/main/java/org/briarproject/bramble/contact/PendingContactFactoryImpl.java#L59), adding:
> it's a version byte (zero is the current version) followed by a 32-byte curve25519 public key, all base32-encoded to give 53 base32 charshttps://code.briarproject.org/briar/briar-spec/-/issues/16Not documented: What if BSP-Content > max length of frame data2022-09-15T09:05:44ZThomasNot documented: What if BSP-Content > max length of frame dataHi!
I already got that info through debugging, but I didn't find in the doc what happend when BSP-Data is bigger than the content of a BTP-Frame is allowed to be - that is is just sliced and the next frame starts directly with the conten...Hi!
I already got that info through debugging, but I didn't find in the doc what happend when BSP-Data is bigger than the content of a BTP-Frame is allowed to be - that is is just sliced and the next frame starts directly with the content without having a header.https://code.briarproject.org/briar/briar-spec/-/issues/15clarify things around contact initiation2022-09-15T08:49:39ZThomasclarify things around contact initiationHi!
It it not really clear for me when reading the Specs when BHP is used. Basically it is only used currently in the Endpoint created in.
I would add clarification to BHP, BRP and also generally tackle BHP+BRP in https://code.briarproje...Hi!
It it not really clear for me when reading the Specs when BHP is used. Basically it is only used currently in the Endpoint created in.
I would add clarification to BHP, BRP and also generally tackle BHP+BRP in https://code.briarproject.org/briar/briar/-/wikis/A-Quick-Overview-of-the-Protocol-Stack .
The Key Agreement Protocol (https://chat.briarproject.org/briar/pl/rzro8mqxx7fz9x3cfmaejrkkbr ) is also currently never mentioned or specified.https://code.briarproject.org/briar/briar-spec/-/issues/13Write spec for client versioning client2020-11-18T22:16:44ZakwizgranWrite spec for client versioning clienthttps://code.briarproject.org/briar/briar-spec/-/issues/12Write spec for contact exchange protocol2020-11-19T04:49:57ZakwizgranWrite spec for contact exchange protocolhttps://code.briarproject.org/briar/briar-spec/-/issues/11Write spec for private group sharing client2018-03-22T15:23:45ZakwizgranWrite spec for private group sharing clienthttps://code.briarproject.org/briar/briar-spec/-/issues/10Write spec for private group client2018-03-22T15:23:45ZakwizgranWrite spec for private group clienthttps://code.briarproject.org/briar/briar-spec/-/issues/9Write spec for blog sharing client2018-03-22T15:23:45ZakwizgranWrite spec for blog sharing clienthttps://code.briarproject.org/briar/briar-spec/-/issues/8Write spec for blog client2018-03-22T15:23:45ZakwizgranWrite spec for blog clienthttps://code.briarproject.org/briar/briar-spec/-/issues/7Write spec for forum sharing client2018-03-22T15:23:45ZakwizgranWrite spec for forum sharing clienthttps://code.briarproject.org/briar/briar-spec/-/issues/6Write spec for forum client2018-03-22T15:23:44ZakwizgranWrite spec for forum clienthttps://code.briarproject.org/briar/briar-spec/-/issues/5Write spec for messaging client2018-03-22T15:23:45ZakwizgranWrite spec for messaging clienthttps://code.briarproject.org/briar/briar-spec/-/issues/4Write spec for introduction client2018-04-29T14:41:18ZakwizgranWrite spec for introduction clientSome of the information exists on tickets, but it should all be in one place.Some of the information exists on tickets, but it should all be in one place.akwizgranakwizgranhttps://code.briarproject.org/briar/briar-spec/-/issues/3Write spec for transport properties client2018-03-22T15:23:45ZakwizgranWrite spec for transport properties clienthttps://code.briarproject.org/briar/briar-spec/-/issues/2Update BQP spec to version 42019-04-11T14:05:30ZakwizgranUpdate BQP spec to version 4Protocol versioning, crypto labels, key derivation, confirmation records, maybe encoding of transport properties?Protocol versioning, crypto labels, key derivation, confirmation records, maybe encoding of transport properties?akwizgranakwizgranhttps://code.briarproject.org/briar/briar-spec/-/issues/1Update BTP spec to version 42019-04-11T14:05:07ZakwizgranUpdate BTP spec to version 4Protocol versioning, key derivation labels.Protocol versioning, key derivation labels.akwizgranakwizgran