From 13eebe393a0b42844394092df1f8156647526999 Mon Sep 17 00:00:00 2001 From: Daniel Lublin Date: Fri, 18 Mar 2022 14:04:08 +0100 Subject: [PATCH] Rename, clarifying this is not an address; it has no scheme, no .onion --- .../bramble/api/crypto/CryptoComponent.java | 8 +++++--- .../bramble/api/mailbox/MailboxPropertiesUpdate.java | 10 +++++----- .../bramble/api/mailbox/MailboxPropertyManager.java | 6 +++--- .../org/briarproject/bramble/test/TestUtils.java | 2 +- .../bramble/client/ClientHelperImpl.java | 12 ++++++------ .../bramble/crypto/CryptoComponentImpl.java | 2 +- .../bramble/mailbox/MailboxPairingTaskImpl.java | 4 ++-- .../bramble/mailbox/MailboxPropertyManagerImpl.java | 2 +- .../briarproject/bramble/plugin/tor/TorPlugin.java | 4 ++-- .../bramble/plugin/tor/TorRendezvousCrypto.java | 2 +- .../bramble/plugin/tor/TorRendezvousCryptoImpl.java | 4 ++-- .../bramble/client/ClientHelperImplTest.java | 2 +- .../bramble/mailbox/MailboxPairingTaskImplTest.java | 6 +++--- .../mailbox/MailboxPropertyManagerImplTest.java | 2 +- .../briarproject/briar/test/TestDataCreatorImpl.java | 2 +- 15 files changed, 35 insertions(+), 33 deletions(-) diff --git a/bramble-api/src/main/java/org/briarproject/bramble/api/crypto/CryptoComponent.java b/bramble-api/src/main/java/org/briarproject/bramble/api/crypto/CryptoComponent.java index 1a66d10ec..7dba85835 100644 --- a/bramble-api/src/main/java/org/briarproject/bramble/api/crypto/CryptoComponent.java +++ b/bramble-api/src/main/java/org/briarproject/bramble/api/crypto/CryptoComponent.java @@ -175,9 +175,11 @@ public interface CryptoComponent { String asciiArmour(byte[] b, int lineLength); /** - * Encode the onion/hidden service address given its public key. As - * specified here: https://gitweb.torproject.org/torspec.git/tree/rend-spec-v3.txt?id=29245fd5#n2135 + * Encode the Onion given its public key. Specified here: + * https://gitweb.torproject.org/torspec.git/tree/rend-spec-v3.txt?id=29245fd5#n2135 + * + * @return the encoded onion, base32 chars */ - String encodeOnionAddress(byte[] publicKey); + String encodeOnion(byte[] publicKey); } diff --git a/bramble-api/src/main/java/org/briarproject/bramble/api/mailbox/MailboxPropertiesUpdate.java b/bramble-api/src/main/java/org/briarproject/bramble/api/mailbox/MailboxPropertiesUpdate.java index 3b9488b64..fb37448dd 100644 --- a/bramble-api/src/main/java/org/briarproject/bramble/api/mailbox/MailboxPropertiesUpdate.java +++ b/bramble-api/src/main/java/org/briarproject/bramble/api/mailbox/MailboxPropertiesUpdate.java @@ -8,22 +8,22 @@ import javax.annotation.concurrent.Immutable; @NotNullByDefault public class MailboxPropertiesUpdate { - private final String onionAddress; + private final String onion; private final MailboxAuthToken authToken; private final MailboxFolderId inboxId; private final MailboxFolderId outboxId; - public MailboxPropertiesUpdate(String onionAddress, + public MailboxPropertiesUpdate(String onion, MailboxAuthToken authToken, MailboxFolderId inboxId, MailboxFolderId outboxId) { - this.onionAddress = onionAddress; + this.onion = onion; this.authToken = authToken; this.inboxId = inboxId; this.outboxId = outboxId; } - public String getOnionAddress() { - return onionAddress; + public String getOnion() { + return onion; } public MailboxAuthToken getAuthToken() { diff --git a/bramble-api/src/main/java/org/briarproject/bramble/api/mailbox/MailboxPropertyManager.java b/bramble-api/src/main/java/org/briarproject/bramble/api/mailbox/MailboxPropertyManager.java index 56f8b38b1..b0ecf8fdd 100644 --- a/bramble-api/src/main/java/org/briarproject/bramble/api/mailbox/MailboxPropertyManager.java +++ b/bramble-api/src/main/java/org/briarproject/bramble/api/mailbox/MailboxPropertyManager.java @@ -35,15 +35,15 @@ public interface MailboxPropertyManager { /** * The required properties of a non-empty update message. */ - String PROP_KEY_ONIONADDRESS = "onionAddress"; + String PROP_KEY_ONION = "onion"; String PROP_KEY_AUTHTOKEN = "authToken"; String PROP_KEY_INBOXID = "inboxId"; String PROP_KEY_OUTBOXID = "outboxId"; /** - * Length of the Onion Address property. + * Length of the Onion property. */ - int PROP_ONIONADDRESS_LENGTH = 56; + int PROP_ONION_LENGTH = 56; /** * Message metadata key for the version number of a local or remote update, diff --git a/bramble-api/src/test/java/org/briarproject/bramble/test/TestUtils.java b/bramble-api/src/test/java/org/briarproject/bramble/test/TestUtils.java index b78e0ab0c..d5a2b7c65 100644 --- a/bramble-api/src/test/java/org/briarproject/bramble/test/TestUtils.java +++ b/bramble-api/src/test/java/org/briarproject/bramble/test/TestUtils.java @@ -281,7 +281,7 @@ public class TestUtils { if (a == null || b == null) { return a == b; } - return a.getOnionAddress().equals(b.getOnionAddress()) && + return a.getOnion().equals(b.getOnion()) && a.getAuthToken().equals(b.getAuthToken()) && a.getInboxId().equals(b.getInboxId()) && a.getOutboxId().equals(b.getOutboxId()); diff --git a/bramble-core/src/main/java/org/briarproject/bramble/client/ClientHelperImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/client/ClientHelperImpl.java index 26e73a206..bab9a18e6 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/client/ClientHelperImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/client/ClientHelperImpl.java @@ -55,9 +55,9 @@ import static org.briarproject.bramble.api.identity.AuthorConstants.MAX_PUBLIC_K import static org.briarproject.bramble.api.mailbox.MailboxPropertyManager.PROP_COUNT; import static org.briarproject.bramble.api.mailbox.MailboxPropertyManager.PROP_KEY_AUTHTOKEN; import static org.briarproject.bramble.api.mailbox.MailboxPropertyManager.PROP_KEY_INBOXID; -import static org.briarproject.bramble.api.mailbox.MailboxPropertyManager.PROP_KEY_ONIONADDRESS; +import static org.briarproject.bramble.api.mailbox.MailboxPropertyManager.PROP_KEY_ONION; import static org.briarproject.bramble.api.mailbox.MailboxPropertyManager.PROP_KEY_OUTBOXID; -import static org.briarproject.bramble.api.mailbox.MailboxPropertyManager.PROP_ONIONADDRESS_LENGTH; +import static org.briarproject.bramble.api.mailbox.MailboxPropertyManager.PROP_ONION_LENGTH; import static org.briarproject.bramble.api.properties.TransportPropertyConstants.MAX_PROPERTIES_PER_TRANSPORT; import static org.briarproject.bramble.api.properties.TransportPropertyConstants.MAX_PROPERTY_LENGTH; import static org.briarproject.bramble.util.ValidationUtils.checkLength; @@ -422,10 +422,10 @@ class ClientHelperImpl implements ClientHelper { if (properties.size() < PROP_COUNT) { throw new FormatException(); } - String onionAddress = properties.getString(PROP_KEY_ONIONADDRESS); - checkLength(onionAddress, PROP_ONIONADDRESS_LENGTH); + String onion = properties.getString(PROP_KEY_ONION); + checkLength(onion, PROP_ONION_LENGTH); try { - Base32.decode(onionAddress, true); + Base32.decode(onion, true); } catch (IllegalArgumentException e) { throw new FormatException(); } @@ -435,7 +435,7 @@ class ClientHelperImpl implements ClientHelper { checkLength(inboxId, UniqueId.LENGTH); byte[] outboxId = properties.getRaw(PROP_KEY_OUTBOXID); checkLength(outboxId, UniqueId.LENGTH); - return new MailboxPropertiesUpdate(onionAddress, + return new MailboxPropertiesUpdate(onion, new MailboxAuthToken(authToken), new MailboxFolderId(inboxId), new MailboxFolderId(outboxId)); } diff --git a/bramble-core/src/main/java/org/briarproject/bramble/crypto/CryptoComponentImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/crypto/CryptoComponentImpl.java index 45f5471ad..0d1577798 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/crypto/CryptoComponentImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/crypto/CryptoComponentImpl.java @@ -458,7 +458,7 @@ class CryptoComponentImpl implements CryptoComponent { } @Override - public String encodeOnionAddress(byte[] publicKey) { + public String encodeOnion(byte[] publicKey) { Digest digest = new SHA3Digest(256); byte[] label = ".onion checksum".getBytes(Charset.forName("US-ASCII")); digest.update(label, 0, label.length); diff --git a/bramble-core/src/main/java/org/briarproject/bramble/mailbox/MailboxPairingTaskImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/mailbox/MailboxPairingTaskImpl.java index 32ad7d727..3873e2372 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/mailbox/MailboxPairingTaskImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/mailbox/MailboxPairingTaskImpl.java @@ -162,8 +162,8 @@ class MailboxPairingTaskImpl implements MailboxPairingTask { } LOG.info("QR code is valid"); byte[] onionPubKey = Arrays.copyOfRange(bytes, 1, 33); - String onionAddress = crypto.encodeOnionAddress(onionPubKey); - String baseUrl = "http://" + onionAddress + ".onion"; + String onion = crypto.encodeOnion(onionPubKey); + String baseUrl = "http://" + onion + ".onion"; byte[] tokenBytes = Arrays.copyOfRange(bytes, 33, 65); MailboxAuthToken setupToken = new MailboxAuthToken(tokenBytes); return new MailboxProperties(baseUrl, setupToken, true); diff --git a/bramble-core/src/main/java/org/briarproject/bramble/mailbox/MailboxPropertyManagerImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/mailbox/MailboxPropertyManagerImpl.java index 652af106d..18d0d0f40 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/mailbox/MailboxPropertyManagerImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/mailbox/MailboxPropertyManagerImpl.java @@ -263,7 +263,7 @@ class MailboxPropertyManagerImpl implements MailboxPropertyManager, @Nullable MailboxPropertiesUpdate p) { BdfDictionary dict = new BdfDictionary(); if (p != null) { - dict.put(PROP_KEY_ONIONADDRESS, p.getOnionAddress()); + dict.put(PROP_KEY_ONION, p.getOnion()); dict.put(PROP_KEY_AUTHTOKEN, p.getAuthToken().getBytes()); dict.put(PROP_KEY_INBOXID, p.getInboxId().getBytes()); dict.put(PROP_KEY_OUTBOXID, p.getOutboxId().getBytes()); diff --git a/bramble-core/src/main/java/org/briarproject/bramble/plugin/tor/TorPlugin.java b/bramble-core/src/main/java/org/briarproject/bramble/plugin/tor/TorPlugin.java index f443b01bd..3919c50af 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/plugin/tor/TorPlugin.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/plugin/tor/TorPlugin.java @@ -682,8 +682,8 @@ abstract class TorPlugin implements DuplexPlugin, EventHandler, EventListener { byte[] localSeed = alice ? aliceSeed : bobSeed; byte[] remoteSeed = alice ? bobSeed : aliceSeed; String blob = torRendezvousCrypto.getPrivateKeyBlob(localSeed); - String localOnion = torRendezvousCrypto.getOnionAddress(localSeed); - String remoteOnion = torRendezvousCrypto.getOnionAddress(remoteSeed); + String localOnion = torRendezvousCrypto.getOnion(localSeed); + String remoteOnion = torRendezvousCrypto.getOnion(remoteSeed); TransportProperties remoteProperties = new TransportProperties(); remoteProperties.put(PROP_ONION_V3, remoteOnion); try { diff --git a/bramble-core/src/main/java/org/briarproject/bramble/plugin/tor/TorRendezvousCrypto.java b/bramble-core/src/main/java/org/briarproject/bramble/plugin/tor/TorRendezvousCrypto.java index a5b32630e..87f34dc7a 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/plugin/tor/TorRendezvousCrypto.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/plugin/tor/TorRendezvousCrypto.java @@ -4,7 +4,7 @@ interface TorRendezvousCrypto { static final int SEED_BYTES = 32; - String getOnionAddress(byte[] seed); + String getOnion(byte[] seed); String getPrivateKeyBlob(byte[] seed); } diff --git a/bramble-core/src/main/java/org/briarproject/bramble/plugin/tor/TorRendezvousCryptoImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/plugin/tor/TorRendezvousCryptoImpl.java index cf16c3fe9..d2b75322a 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/plugin/tor/TorRendezvousCryptoImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/plugin/tor/TorRendezvousCryptoImpl.java @@ -21,9 +21,9 @@ class TorRendezvousCryptoImpl implements TorRendezvousCrypto { } @Override - public String getOnionAddress(byte[] seed) { + public String getOnion(byte[] seed) { EdDSAPrivateKeySpec spec = new EdDSAPrivateKeySpec(seed, CURVE_SPEC); - return crypto.encodeOnionAddress(spec.getA().toByteArray()); + return crypto.encodeOnion(spec.getA().toByteArray()); } @Override diff --git a/bramble-core/src/test/java/org/briarproject/bramble/client/ClientHelperImplTest.java b/bramble-core/src/test/java/org/briarproject/bramble/client/ClientHelperImplTest.java index 9c0afca02..6214d67c5 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/client/ClientHelperImplTest.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/client/ClientHelperImplTest.java @@ -46,7 +46,7 @@ import static org.briarproject.bramble.api.identity.AuthorConstants.MAX_PUBLIC_K import static org.briarproject.bramble.api.identity.AuthorConstants.MAX_SIGNATURE_LENGTH; import static org.briarproject.bramble.api.mailbox.MailboxPropertyManager.PROP_KEY_AUTHTOKEN; import static org.briarproject.bramble.api.mailbox.MailboxPropertyManager.PROP_KEY_INBOXID; -import static org.briarproject.bramble.api.mailbox.MailboxPropertyManager.PROP_KEY_ONIONADDRESS; +import static org.briarproject.bramble.api.mailbox.MailboxPropertyManager.PROP_KEY_ONION; import static org.briarproject.bramble.api.mailbox.MailboxPropertyManager.PROP_KEY_OUTBOXID; import static org.briarproject.bramble.test.TestUtils.getAuthor; import static org.briarproject.bramble.test.TestUtils.getMessage; diff --git a/bramble-core/src/test/java/org/briarproject/bramble/mailbox/MailboxPairingTaskImplTest.java b/bramble-core/src/test/java/org/briarproject/bramble/mailbox/MailboxPairingTaskImplTest.java index 7b8d70779..f960e5b24 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/mailbox/MailboxPairingTaskImplTest.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/mailbox/MailboxPairingTaskImplTest.java @@ -87,7 +87,7 @@ public class MailboxPairingTaskImplTest extends BrambleMockTestCase { @Test public void testSuccessfulPairing() throws Exception { context.checking(new Expectations() {{ - oneOf(crypto).encodeOnionAddress(onionBytes); + oneOf(crypto).encodeOnion(onionBytes); will(returnValue(onion)); oneOf(api).setup(with(matches(setupProperties))); will(returnValue(ownerToken)); @@ -141,7 +141,7 @@ public class MailboxPairingTaskImplTest extends BrambleMockTestCase { private void testApiException(Exception e, Class s) throws Exception { context.checking(new Expectations() {{ - oneOf(crypto).encodeOnionAddress(onionBytes); + oneOf(crypto).encodeOnion(onionBytes); will(returnValue(onion)); oneOf(api).setup(with(matches(setupProperties))); will(throwException(e)); @@ -155,7 +155,7 @@ public class MailboxPairingTaskImplTest extends BrambleMockTestCase { @Test public void testDbException() throws Exception { context.checking(new Expectations() {{ - oneOf(crypto).encodeOnionAddress(onionBytes); + oneOf(crypto).encodeOnion(onionBytes); will(returnValue(onion)); oneOf(api).setup(with(matches(setupProperties))); will(returnValue(ownerToken)); diff --git a/bramble-core/src/test/java/org/briarproject/bramble/mailbox/MailboxPropertyManagerImplTest.java b/bramble-core/src/test/java/org/briarproject/bramble/mailbox/MailboxPropertyManagerImplTest.java index b64176d12..68f77c624 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/mailbox/MailboxPropertyManagerImplTest.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/mailbox/MailboxPropertyManagerImplTest.java @@ -38,7 +38,7 @@ import static org.briarproject.bramble.api.mailbox.MailboxPropertyManager.MSG_KE import static org.briarproject.bramble.api.mailbox.MailboxPropertyManager.MSG_KEY_VERSION; import static org.briarproject.bramble.api.mailbox.MailboxPropertyManager.PROP_KEY_AUTHTOKEN; import static org.briarproject.bramble.api.mailbox.MailboxPropertyManager.PROP_KEY_INBOXID; -import static org.briarproject.bramble.api.mailbox.MailboxPropertyManager.PROP_KEY_ONIONADDRESS; +import static org.briarproject.bramble.api.mailbox.MailboxPropertyManager.PROP_KEY_ONION; import static org.briarproject.bramble.api.mailbox.MailboxPropertyManager.PROP_KEY_OUTBOXID; import static org.briarproject.bramble.api.sync.Group.Visibility.SHARED; import static org.briarproject.bramble.api.sync.validation.IncomingMessageHook.DeliveryAction.ACCEPT_DO_NOT_SHARE; diff --git a/briar-core/src/main/java/org/briarproject/briar/test/TestDataCreatorImpl.java b/briar-core/src/main/java/org/briarproject/briar/test/TestDataCreatorImpl.java index 2af9e215a..474237ada 100644 --- a/briar-core/src/main/java/org/briarproject/briar/test/TestDataCreatorImpl.java +++ b/briar-core/src/main/java/org/briarproject/briar/test/TestDataCreatorImpl.java @@ -299,7 +299,7 @@ public class TestDataCreatorImpl implements TestDataCreator { private String getRandomTorAddress() { byte[] pubkeyBytes = crypto.generateSignatureKeyPair().getPublic().getEncoded(); - return crypto.encodeOnionAddress(pubkeyBytes); + return crypto.encodeOnion(pubkeyBytes); } private void addAvatar(Contact c) throws DbException {