From a1cb73a8d23bcfce83ec0d6b8f62e8af6c8ff6a3 Mon Sep 17 00:00:00 2001
From: goapunk <goapunk@riseup.net>
Date: Mon, 10 Sep 2018 15:21:08 +0200
Subject: [PATCH] Only reuse contact exchange connection for contacts

---
 .../bramble/contact/ContactExchangeTaskImpl.java      | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

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 60d7ea0ab..fb71f9a77 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
@@ -241,12 +241,17 @@ class ContactExchangeTaskImpl extends Thread implements ContactExchangeTask {
 			// Add the contact
 			ContactId contactId = addContact(remoteInfo.getAuthor(), timestamp,
 					remoteInfo.getProperties());
-			// Reuse the connection as a transport connection
-			connectionManager.manageOutgoingConnection(contactId, transportId,
-					conn);
 			// Pseudonym exchange succeeded
 			LOG.info("Pseudonym exchange succeeded");
 			listener.contactExchangeSucceeded(remoteInfo.getAuthor());
+			// Reuse the connection as a transport connection
+			if (localType == CONTACT) {
+				connectionManager
+						.manageOutgoingConnection(contactId, transportId,
+								conn);
+			} else {
+				tryToClose(conn);
+			}
 		} catch (ContactExistsException e) {
 			logException(LOG, WARNING, e);
 			tryToClose(conn);
-- 
GitLab