From 5567982fb4c1e36bfd0492c242e0e1a432312489 Mon Sep 17 00:00:00 2001 From: akwizgran Date: Wed, 11 Mar 2020 16:15:46 +0000 Subject: [PATCH] Use IPv6 for key agreement if IPv4 isn't available. --- .../briarproject/bramble/plugin/tcp/LanTcpPlugin.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/bramble-core/src/main/java/org/briarproject/bramble/plugin/tcp/LanTcpPlugin.java b/bramble-core/src/main/java/org/briarproject/bramble/plugin/tcp/LanTcpPlugin.java index 3126cfc45..b7d64b3fa 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/plugin/tcp/LanTcpPlugin.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/plugin/tcp/LanTcpPlugin.java @@ -329,7 +329,7 @@ class LanTcpPlugin extends TcpPlugin { @Override public KeyAgreementListener createKeyAgreementListener(byte[] commitment) { ServerSocket ss = null; - for (InetSocketAddress addr : getLocalSocketAddresses(true)) { + for (InetSocketAddress addr : getLocalSocketAddresses()) { // Don't try to reuse the same port we use for contact connections addr = new InetSocketAddress(addr.getAddress(), 0); try { @@ -355,6 +355,13 @@ class LanTcpPlugin extends TcpPlugin { return new LanKeyAgreementListener(descriptor, ss); } + private List getLocalSocketAddresses() { + List addrs = new ArrayList<>(); + addrs.addAll(getLocalSocketAddresses(true)); + addrs.addAll(getLocalSocketAddresses(false)); + return addrs; + } + @Override public DuplexTransportConnection createKeyAgreementConnection( byte[] commitment, BdfList descriptor) {