briar-spec issueshttps://code.briarproject.org/briar/briar-spec/-/issues2023-02-14T22:34:30Zhttps://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/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/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/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 protocol