diff --git a/network/tor-local-network/src/integrationTest/java/bisq/tor/local_network/DirectoryAuthorityTests.java b/network/tor-local-network/src/integrationTest/java/bisq/tor/local_network/DirectoryAuthorityTests.java index 5cb9db4c7f..2e1849cd2e 100644 --- a/network/tor-local-network/src/integrationTest/java/bisq/tor/local_network/DirectoryAuthorityTests.java +++ b/network/tor-local-network/src/integrationTest/java/bisq/tor/local_network/DirectoryAuthorityTests.java @@ -91,7 +91,7 @@ public void createThreeDA(@TempDir Path tempDir) throws IOException, Interrupted for (TorNode da : allDAs) { var torDaTorrcGenerator = new DirectoryAuthorityTorrcGenerator(da); Map torrcConfigs = torDaTorrcGenerator.generate(); - Path torrcPath = torDaTorrcGenerator.getThisTorNode().getTorrcPath(); + Path torrcPath = da.getTorrcPath(); var torrcFileGenerator = new TorrcFileGenerator(torrcPath, torrcConfigs , allDAs); torrcFileGenerator.generate(); } diff --git a/network/tor-local-network/src/main/java/bisq/tor/local_network/TorNetwork.java b/network/tor-local-network/src/main/java/bisq/tor/local_network/TorNetwork.java index 6ee26b5f0b..d1d1fcfbfe 100644 --- a/network/tor-local-network/src/main/java/bisq/tor/local_network/TorNetwork.java +++ b/network/tor-local-network/src/main/java/bisq/tor/local_network/TorNetwork.java @@ -19,10 +19,7 @@ import bisq.common.util.NetworkUtils; import bisq.tor.local_network.da.DirectoryAuthorityFactory; -import bisq.tor.local_network.torrc.ClientTorrcGenerator; -import bisq.tor.local_network.torrc.DirectoryAuthorityTorrcGenerator; -import bisq.tor.local_network.torrc.RelayTorrcGenerator; -import bisq.tor.local_network.torrc.TorrcFileGenerator; +import bisq.tor.local_network.torrc.*; import java.io.File; import java.io.IOException; @@ -131,23 +128,25 @@ private void generateTorrcFiles() throws IOException { for (TorNode da : allDAs) { var torDaTorrcGenerator = new DirectoryAuthorityTorrcGenerator(da); Map torrcConfigs = torDaTorrcGenerator.generate(); - Path torrcPath = torDaTorrcGenerator.getThisTorNode().getTorrcPath(); + Path torrcPath = da.getTorrcPath(); var torrcFileGenerator = new TorrcFileGenerator(torrcPath, torrcConfigs , allDAs); generateTorrc(da, torrcFileGenerator); } for (TorNode relay : relays) { - var relayTorrcGenerator = new RelayTorrcGenerator(relay); + var testNetworkTorrcGenerator = new TestNetworkTorrcGenerator(relay); + var relayTorrcGenerator = new RelayTorrcGenerator(testNetworkTorrcGenerator); Map torrcConfigs = relayTorrcGenerator.generate(); - Path torrcPath = relayTorrcGenerator.getThisTorNode().getTorrcPath(); + Path torrcPath = relay.getTorrcPath(); var torrcFileGenerator = new TorrcFileGenerator(torrcPath, torrcConfigs , allDAs); generateTorrc(relay, torrcFileGenerator); } for (TorNode client : clients) { - var clientTorrcGenerator = new ClientTorrcGenerator(client); + var testNetworkTorrcGenerator = new TestNetworkTorrcGenerator(client); + var clientTorrcGenerator = new ClientTorrcGenerator(testNetworkTorrcGenerator); Map torrcConfigs = clientTorrcGenerator.generate(); - Path torrcPath = clientTorrcGenerator.getThisTorNode().getTorrcPath(); + Path torrcPath = client.getTorrcPath(); var torrcFileGenerator = new TorrcFileGenerator(torrcPath, torrcConfigs , allDAs); generateTorrc(client, torrcFileGenerator); } diff --git a/network/tor-local-network/src/main/java/bisq/tor/local_network/torrc/ClientTorrcGenerator.java b/network/tor-local-network/src/main/java/bisq/tor/local_network/torrc/ClientTorrcGenerator.java index 502c346301..edf070a4a0 100644 --- a/network/tor-local-network/src/main/java/bisq/tor/local_network/torrc/ClientTorrcGenerator.java +++ b/network/tor-local-network/src/main/java/bisq/tor/local_network/torrc/ClientTorrcGenerator.java @@ -18,18 +18,19 @@ package bisq.tor.local_network.torrc; import bisq.common.util.NetworkUtils; -import bisq.tor.local_network.TorNode; import java.util.Map; -public class ClientTorrcGenerator extends TestNetworkTorrcGenerator { - public ClientTorrcGenerator(TorNode thisTorNode) { - super(thisTorNode); +public class ClientTorrcGenerator implements TorrcConfigGenerator { + private final TorrcConfigGenerator baseTorrcConfigGenerator; + + public ClientTorrcGenerator(TorrcConfigGenerator baseTorrcConfigGenerator) { + this.baseTorrcConfigGenerator = baseTorrcConfigGenerator; } @Override public Map generate() { - super.generate(); + Map torConfigMap = baseTorrcConfigGenerator.generate(); torConfigMap.put("SocksPort", String.valueOf(NetworkUtils.findFreeSystemPort())); return torConfigMap; } diff --git a/network/tor-local-network/src/main/java/bisq/tor/local_network/torrc/DirectoryAuthorityTorrcGenerator.java b/network/tor-local-network/src/main/java/bisq/tor/local_network/torrc/DirectoryAuthorityTorrcGenerator.java index 46960c1144..ae8ddfea07 100644 --- a/network/tor-local-network/src/main/java/bisq/tor/local_network/torrc/DirectoryAuthorityTorrcGenerator.java +++ b/network/tor-local-network/src/main/java/bisq/tor/local_network/torrc/DirectoryAuthorityTorrcGenerator.java @@ -21,14 +21,18 @@ import java.util.Map; -public class DirectoryAuthorityTorrcGenerator extends TestNetworkTorrcGenerator { - public DirectoryAuthorityTorrcGenerator(TorNode thisDirectoryAuthority) { - super(thisDirectoryAuthority); +public class DirectoryAuthorityTorrcGenerator implements TorrcConfigGenerator { + private final TorNode thisTorNode; + private final TorrcConfigGenerator baseTorrcConfigGenerator; + + public DirectoryAuthorityTorrcGenerator(TorNode thisTorNode) { + this.thisTorNode = thisTorNode; + this.baseTorrcConfigGenerator = new TestNetworkTorrcGenerator(thisTorNode); } @Override public Map generate() { - super.generate(); + Map torConfigMap = baseTorrcConfigGenerator.generate(); torConfigMap.put("AuthoritativeDirectory", "1"); torConfigMap.put("V3AuthoritativeDirectory", "1"); diff --git a/network/tor-local-network/src/main/java/bisq/tor/local_network/torrc/OverridingTorrcGenerator.java b/network/tor-local-network/src/main/java/bisq/tor/local_network/torrc/OverridingTorrcGenerator.java index b7e3239a6f..13f11865fe 100644 --- a/network/tor-local-network/src/main/java/bisq/tor/local_network/torrc/OverridingTorrcGenerator.java +++ b/network/tor-local-network/src/main/java/bisq/tor/local_network/torrc/OverridingTorrcGenerator.java @@ -17,14 +17,13 @@ package bisq.tor.local_network.torrc; -import java.nio.file.Path; import java.util.Map; public class OverridingTorrcGenerator implements TorrcConfigGenerator { - private final TestNetworkTorrcGenerator template; + private final TorrcConfigGenerator template; private final Map clientTorrcConfig; - public OverridingTorrcGenerator(TestNetworkTorrcGenerator template, Map clientTorrcConfig) { + public OverridingTorrcGenerator(TorrcConfigGenerator template, Map clientTorrcConfig) { this.template = template; this.clientTorrcConfig = clientTorrcConfig; } @@ -35,8 +34,4 @@ public Map generate() { torrcConfigs.putAll(clientTorrcConfig); return torrcConfigs; } - - public Path getTorrcPath() { - return template.getThisTorNode().getTorrcPath(); - } } diff --git a/network/tor-local-network/src/main/java/bisq/tor/local_network/torrc/RelayTorrcGenerator.java b/network/tor-local-network/src/main/java/bisq/tor/local_network/torrc/RelayTorrcGenerator.java index f1f0b9ae40..52ea2ae9d0 100644 --- a/network/tor-local-network/src/main/java/bisq/tor/local_network/torrc/RelayTorrcGenerator.java +++ b/network/tor-local-network/src/main/java/bisq/tor/local_network/torrc/RelayTorrcGenerator.java @@ -17,18 +17,18 @@ package bisq.tor.local_network.torrc; -import bisq.tor.local_network.TorNode; - import java.util.Map; -public class RelayTorrcGenerator extends TestNetworkTorrcGenerator { - public RelayTorrcGenerator(TorNode thisTorNode) { - super(thisTorNode); +public class RelayTorrcGenerator implements TorrcConfigGenerator { + private final TorrcConfigGenerator baseTorrcConfigGenerator; + + public RelayTorrcGenerator(TorrcConfigGenerator baseTorrcConfigGenerator) { + this.baseTorrcConfigGenerator = baseTorrcConfigGenerator; } @Override public Map generate() { - super.generate(); + Map torConfigMap = baseTorrcConfigGenerator.generate(); torConfigMap.put("ExitRelay", "1"); torConfigMap.put("ExitPolicy", "accept 127.0.0.0/8:*,accept private:*,accept *:*,reject *:*"); diff --git a/network/tor-local-network/src/main/java/bisq/tor/local_network/torrc/TestNetworkTorrcGenerator.java b/network/tor-local-network/src/main/java/bisq/tor/local_network/torrc/TestNetworkTorrcGenerator.java index 18383ff872..813258bc90 100644 --- a/network/tor-local-network/src/main/java/bisq/tor/local_network/torrc/TestNetworkTorrcGenerator.java +++ b/network/tor-local-network/src/main/java/bisq/tor/local_network/torrc/TestNetworkTorrcGenerator.java @@ -27,7 +27,7 @@ * The configuration settings are from the Chutney (project). */ @Getter -public abstract class TestNetworkTorrcGenerator implements TorrcConfigGenerator { +public class TestNetworkTorrcGenerator implements TorrcConfigGenerator { protected final TorNode thisTorNode; protected final Map torConfigMap = new HashMap<>(); diff --git a/network/tor-local-network/src/test/java/bisq/tor/local_network/DirectoryAuthorityTorrcGeneratorTests.java b/network/tor-local-network/src/test/java/bisq/tor/local_network/DirectoryAuthorityTorrcGeneratorTests.java index 15686e0d42..a60a5c42f5 100644 --- a/network/tor-local-network/src/test/java/bisq/tor/local_network/DirectoryAuthorityTorrcGeneratorTests.java +++ b/network/tor-local-network/src/test/java/bisq/tor/local_network/DirectoryAuthorityTorrcGeneratorTests.java @@ -84,7 +84,7 @@ void basicTest(@TempDir Path tempDir) throws IOException { var allDirAuthorities = Set.of(firstDirAuth, secondDirAuth); Map torrcConfigs = torDaTorrcGenerator.generate(); - Path torrcPath = torDaTorrcGenerator.getThisTorNode().getTorrcPath(); + Path torrcPath = firstDirAuth.getTorrcPath(); var torrcFileGenerator = new TorrcFileGenerator(torrcPath, torrcConfigs , allDirAuthorities); torrcFileGenerator.generate(); diff --git a/network/tor-local-network/src/test/java/bisq/tor/local_network/RelayTorrcGeneratorTests.java b/network/tor-local-network/src/test/java/bisq/tor/local_network/RelayTorrcGeneratorTests.java index 7f4856c1be..5042b9c10d 100644 --- a/network/tor-local-network/src/test/java/bisq/tor/local_network/RelayTorrcGeneratorTests.java +++ b/network/tor-local-network/src/test/java/bisq/tor/local_network/RelayTorrcGeneratorTests.java @@ -18,6 +18,7 @@ package bisq.tor.local_network; import bisq.tor.local_network.torrc.RelayTorrcGenerator; +import bisq.tor.local_network.torrc.TestNetworkTorrcGenerator; import bisq.tor.local_network.torrc.TorrcFileGenerator; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.io.TempDir; @@ -80,11 +81,12 @@ void basicTest(@TempDir Path tempDir) throws IOException { .when(secondRelay) .getRelayKeyFingerprint(); - var relayTorrcGenerator = new RelayTorrcGenerator(firstRelay); + var testNetworkTorrcGenerator = new TestNetworkTorrcGenerator(firstRelay); + var relayTorrcGenerator = new RelayTorrcGenerator(testNetworkTorrcGenerator); var allDirAuthorities = Set.of(firstRelay, secondRelay); Map torrcConfigs = relayTorrcGenerator.generate(); - Path torrcPath = relayTorrcGenerator.getThisTorNode().getTorrcPath(); + Path torrcPath = firstRelay.getTorrcPath(); var torrcFileGenerator = new TorrcFileGenerator(torrcPath, torrcConfigs , allDirAuthorities); torrcFileGenerator.generate();