diff --git a/briar-core/src/main/java/org/briarproject/briar/mailbox/IntroduceeProtocolEngine.java b/briar-core/src/main/java/org/briarproject/briar/mailbox/IntroduceeProtocolEngine.java index c2ad06076d8f2119315f414baf9d223b3a82a57a..c5aed9f534c0a826c8cf5131b8cf940e1a33d111 100644 --- a/briar-core/src/main/java/org/briarproject/briar/mailbox/IntroduceeProtocolEngine.java +++ b/briar-core/src/main/java/org/briarproject/briar/mailbox/IntroduceeProtocolEngine.java @@ -33,6 +33,7 @@ import javax.annotation.Nullable; import javax.inject.Inject; import static java.util.logging.Level.WARNING; +import static org.briarproject.bramble.api.contact.ContactType.CONTACT_MAILBOX; import static org.briarproject.bramble.util.LogUtils.logException; import static org.briarproject.briar.mailbox.IntroduceeState.AWAIT_AUTH; import static org.briarproject.briar.mailbox.IntroduceeState.LOCAL_ACCEPTED; @@ -207,9 +208,8 @@ class IntroduceeProtocolEngine long timestamp = Math.min(s.getLocal().acceptTimestamp, s.getRemote().acceptTimestamp); if (timestamp == -1) throw new AssertionError(); - contactManager - .addContact(txn, s.getRemote().author, localAuthor.getId(), - false, true); + db.addContact(txn, s.getRemote().author, localAuthor.getId(), false, + true, CONTACT_MAILBOX); // Only add transport properties and keys when the contact was added // This will be changed once we have a way to reset state for peers // that were contacts already at some point in the past. diff --git a/briar-core/src/main/java/org/briarproject/briar/mailbox/MailboxIntroductionManagerImpl.java b/briar-core/src/main/java/org/briarproject/briar/mailbox/MailboxIntroductionManagerImpl.java index 4192afbe87cbaea64d606a0f3ca09f17651a44ae..b85ca3a82fecb7a01c082ed0a4a50773b13e51f3 100644 --- a/briar-core/src/main/java/org/briarproject/briar/mailbox/MailboxIntroductionManagerImpl.java +++ b/briar-core/src/main/java/org/briarproject/briar/mailbox/MailboxIntroductionManagerImpl.java @@ -41,6 +41,7 @@ import javax.annotation.Nullable; import javax.inject.Inject; import static org.briarproject.bramble.api.contact.ContactManager.ContactHook; +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.ContactType.PRIVATE_MAILBOX; import static org.briarproject.bramble.api.contact.ContactType.values; @@ -316,9 +317,7 @@ class MailboxIntroductionManagerImpl extends BdfIncomingMessageHook public void addingContact(Transaction txn, Contact c) throws DbException { switch (c.getType()) { case PRIVATE_MAILBOX: - break; case MAILBOX_OWNER: - break; case CONTACT: contactAdded(txn, c); break; @@ -344,6 +343,7 @@ class MailboxIntroductionManagerImpl extends BdfIncomingMessageHook } catch (FormatException e) { throw new AssertionError(e); } + if (c.getType() != CONTACT) return; Collection<Contact> pm = db.getContactsByType(txn, PRIVATE_MAILBOX); if (pm.isEmpty()) return; Collection<MailboxInfo> mailboxes = db.getContactMailboxes(txn); diff --git a/mailbox-core/src/main/java/org/briarproject/briar/mailbox/MailboxIntroductionManagerImpl.java b/mailbox-core/src/main/java/org/briarproject/briar/mailbox/MailboxIntroductionManagerImpl.java index f7f58897e77ee5be149fb55de4ac4e5744a1486f..6244a2b847abad3ff5408c384c2f0593fc806d03 100644 --- a/mailbox-core/src/main/java/org/briarproject/briar/mailbox/MailboxIntroductionManagerImpl.java +++ b/mailbox-core/src/main/java/org/briarproject/briar/mailbox/MailboxIntroductionManagerImpl.java @@ -40,6 +40,7 @@ import javax.annotation.Nullable; import javax.inject.Inject; import static org.briarproject.bramble.api.contact.ContactManager.ContactHook; +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.ContactType.PRIVATE_MAILBOX; import static org.briarproject.bramble.api.contact.ContactType.values; @@ -315,9 +316,7 @@ class MailboxIntroductionManagerImpl extends BdfIncomingMessageHook public void addingContact(Transaction txn, Contact c) throws DbException { switch (c.getType()) { case PRIVATE_MAILBOX: - break; case MAILBOX_OWNER: - break; case CONTACT: contactAdded(txn, c); break; @@ -343,23 +342,6 @@ class MailboxIntroductionManagerImpl extends BdfIncomingMessageHook } catch (FormatException e) { throw new AssertionError(e); } - Collection<Contact> pm = db.getContactsByType(txn, PRIVATE_MAILBOX); - if (pm.isEmpty()) return; - Collection<MailboxInfo> mailboxes = db.getContactMailboxes(txn); - for (MailboxInfo mailboxInfo : mailboxes) { - if (mailboxInfo.getContactId().equals(c.getId())) return; - } - ioExecutor.execute( - () -> { - try { - makeIntroduction((PrivateMailbox) pm.iterator().next(), - c, - clock.currentTimeMillis()); - } catch (DbException e) { - LOG.warning( - "Mailbox introduction failed: " + e.toString()); - } - }); } @Override