From aee5e9815fff6ae29148b994126f8d83150c8756 Mon Sep 17 00:00:00 2001 From: goapunk <goapunk@riseup.net> Date: Mon, 27 Aug 2018 13:28:18 +0200 Subject: [PATCH] Send empty transport properties to the mailbox --- .../api/properties/TransportPropertyManager.java | 6 ++++++ .../bramble/contact/ContactExchangeTaskImpl.java | 13 ++++++++----- .../properties/TransportPropertyManagerImpl.java | 10 ++++++++++ 3 files changed, 24 insertions(+), 5 deletions(-) diff --git a/bramble-api/src/main/java/org/briarproject/bramble/api/properties/TransportPropertyManager.java b/bramble-api/src/main/java/org/briarproject/bramble/api/properties/TransportPropertyManager.java index a634bfaa7..f7b98237d 100644 --- a/bramble-api/src/main/java/org/briarproject/bramble/api/properties/TransportPropertyManager.java +++ b/bramble-api/src/main/java/org/briarproject/bramble/api/properties/TransportPropertyManager.java @@ -40,6 +40,12 @@ public interface TransportPropertyManager { Map<TransportId, TransportProperties> getLocalProperties() throws DbException; + /** + * Returns the local anonymized transport properties for all transports. + */ + Map<TransportId, TransportProperties> getLocalAnonymizedProperties() + throws DbException; + /** * Returns the local transport properties for all transports. * <p/> diff --git a/bramble-core/src/main/java/org/briarproject/bramble/contact/ContactExchangeTaskImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/contact/ContactExchangeTaskImpl.java index 9de67f743..60d7ea0ab 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/contact/ContactExchangeTaskImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/contact/ContactExchangeTaskImpl.java @@ -47,6 +47,7 @@ import javax.inject.Inject; import static java.util.logging.Level.WARNING; import static org.briarproject.bramble.api.contact.ContactType.CONTACT; +import static org.briarproject.bramble.api.contact.ContactType.MAILBOX_OWNER; import static org.briarproject.bramble.api.contact.RecordTypes.CONTACT_INFO; import static org.briarproject.bramble.api.identity.AuthorConstants.MAX_SIGNATURE_LENGTH; import static org.briarproject.bramble.util.LogUtils.logException; @@ -150,7 +151,11 @@ class ContactExchangeTaskImpl extends Thread implements ContactExchangeTask { // Get the local transport properties Map<TransportId, TransportProperties> localProperties; try { - localProperties = transportPropertyManager.getLocalProperties(); + if (localType == MAILBOX_OWNER) + localProperties = + transportPropertyManager.getLocalAnonymizedProperties(); + else + localProperties = transportPropertyManager.getLocalProperties(); } catch (DbException e) { logException(LOG, WARNING, e); listener.contactExchangeFailed(); @@ -332,8 +337,6 @@ class ContactExchangeTaskImpl extends Thread implements ContactExchangeTask { contactId = contactManager.addContact(txn, remoteAuthor, localAuthor.getId(), masterSecret, timestamp, alice, true, true); - transportPropertyManager.addRemoteProperties(txn, contactId, - remoteProperties); break; case MAILBOX_OWNER: contactId = @@ -346,12 +349,12 @@ class ContactExchangeTaskImpl extends Thread implements ContactExchangeTask { contactManager.addPrivateMailbox(txn, remoteAuthor, localAuthor.getId(), masterSecret, timestamp, alice); - transportPropertyManager.addRemoteProperties(txn, contactId, - remoteProperties); break; default: throw new RuntimeException("Invalid remote contact type"); } + transportPropertyManager.addRemoteProperties(txn, contactId, + remoteProperties); db.commitTransaction(txn); } finally { diff --git a/bramble-core/src/main/java/org/briarproject/bramble/properties/TransportPropertyManagerImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/properties/TransportPropertyManagerImpl.java index e76961b9f..0b5015dee 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/properties/TransportPropertyManagerImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/properties/TransportPropertyManagerImpl.java @@ -147,6 +147,16 @@ class TransportPropertyManagerImpl implements TransportPropertyManager, } } + @Override + public Map<TransportId, TransportProperties> getLocalAnonymizedProperties() + throws DbException { + Map<TransportId, TransportProperties> properties = getLocalProperties(); + for (Entry e : properties.entrySet()) { + e.setValue(""); + } + return properties; + } + @Override public Map<TransportId, TransportProperties> getLocalProperties() throws DbException { -- GitLab