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