From 68132d893bd484d7aedc5381ca985d5e901ee6e8 Mon Sep 17 00:00:00 2001 From: akwizgran <michael@briarproject.org> Date: Sat, 28 Apr 2018 23:01:04 +0100 Subject: [PATCH] IntroduceeProtocolEngine uses wrong role when adding keys. --- .../briarproject/bramble/api/contact/ContactManager.java | 7 ++++++- .../org/briarproject/bramble/api/transport/KeyManager.java | 6 +++++- .../briar/introduction/IntroduceeProtocolEngine.java | 2 +- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/bramble-api/src/main/java/org/briarproject/bramble/api/contact/ContactManager.java b/bramble-api/src/main/java/org/briarproject/bramble/api/contact/ContactManager.java index cbfe86f382..cc1f6da04a 100644 --- a/bramble-api/src/main/java/org/briarproject/bramble/api/contact/ContactManager.java +++ b/bramble-api/src/main/java/org/briarproject/bramble/api/contact/ContactManager.java @@ -24,6 +24,8 @@ public interface ContactManager { * Stores a contact associated with the given local and remote pseudonyms, * derives and stores transport keys for each transport, and returns an ID * for the contact. + * + * @param alice true if the local party is Alice */ ContactId addContact(Transaction txn, Author remote, AuthorId local, SecretKey master, long timestamp, boolean alice, boolean verified, @@ -38,7 +40,10 @@ public interface ContactManager { /** * Stores a contact associated with the given local and remote pseudonyms, - * and returns an ID for the contact. + * derives and stores transport keys for each transport, and returns an ID + * for the contact. + * + * @param alice true if the local party is Alice */ ContactId addContact(Author remote, AuthorId local, SecretKey master, long timestamp, boolean alice, boolean verified, diff --git a/bramble-api/src/main/java/org/briarproject/bramble/api/transport/KeyManager.java b/bramble-api/src/main/java/org/briarproject/bramble/api/transport/KeyManager.java index 065e5d2bc3..8424c9325b 100644 --- a/bramble-api/src/main/java/org/briarproject/bramble/api/transport/KeyManager.java +++ b/bramble-api/src/main/java/org/briarproject/bramble/api/transport/KeyManager.java @@ -23,6 +23,8 @@ public interface KeyManager { * <p/> * {@link StreamContext StreamContexts} for the contact can be created * after this method has returned. + * + * @param alice true if the local party is Alice */ void addContact(Transaction txn, ContactId c, SecretKey master, long timestamp, boolean alice) throws DbException; @@ -33,6 +35,8 @@ public interface KeyManager { * <p/> * The keys must be bound before they can be used for incoming streams, * and also activated before they can be used for outgoing streams. + * + * @param alice true if the local party is Alice */ Map<TransportId, KeySetId> addUnboundKeys(Transaction txn, SecretKey master, long timestamp, boolean alice) throws DbException; @@ -55,7 +59,7 @@ public interface KeyManager { * the manager and the database. */ void removeKeys(Transaction txn, Map<TransportId, KeySetId> keys) - throws DbException; + throws DbException; /** * Returns true if we have keys that can be used for outgoing streams to diff --git a/briar-core/src/main/java/org/briarproject/briar/introduction/IntroduceeProtocolEngine.java b/briar-core/src/main/java/org/briarproject/briar/introduction/IntroduceeProtocolEngine.java index d93238dd8d..34578f310c 100644 --- a/briar-core/src/main/java/org/briarproject/briar/introduction/IntroduceeProtocolEngine.java +++ b/briar-core/src/main/java/org/briarproject/briar/introduction/IntroduceeProtocolEngine.java @@ -457,7 +457,7 @@ class IntroduceeProtocolEngine //noinspection ConstantConditions keys = keyManager .addUnboundKeys(txn, new SecretKey(s.getMasterKey()), - timestamp, s.getRemote().alice); + timestamp, s.getLocal().alice); keyManager.bindKeys(txn, c.getId(), keys); // add signed transport properties for the contact -- GitLab