Rename NetworkFilter to BanFilter

This commit is contained in:
Alva Swanson 2023-02-12 19:30:04 +01:00
parent b4822761a8
commit f9a0e5d6d0
No known key found for this signature in database
GPG key ID: 004760E77F753090
13 changed files with 43 additions and 43 deletions

View file

@ -21,7 +21,7 @@ import bisq.core.alert.AlertModule;
import bisq.core.btc.BitcoinModule; import bisq.core.btc.BitcoinModule;
import bisq.core.dao.DaoModule; import bisq.core.dao.DaoModule;
import bisq.core.filter.FilterModule; import bisq.core.filter.FilterModule;
import bisq.core.network.CoreNetworkFilter; import bisq.core.network.CoreBanFilter;
import bisq.core.network.p2p.seed.DefaultSeedNodeRepository; import bisq.core.network.p2p.seed.DefaultSeedNodeRepository;
import bisq.core.offer.OfferModule; import bisq.core.offer.OfferModule;
import bisq.core.presentation.CorePresentationModule; import bisq.core.presentation.CorePresentationModule;
@ -36,7 +36,7 @@ import bisq.core.util.coin.ImmutableCoinFormatter;
import bisq.network.crypto.EncryptionServiceModule; import bisq.network.crypto.EncryptionServiceModule;
import bisq.network.p2p.P2PModule; import bisq.network.p2p.P2PModule;
import bisq.network.p2p.network.BridgeAddressProvider; import bisq.network.p2p.network.BridgeAddressProvider;
import bisq.network.p2p.network.NetworkFilter; import bisq.network.p2p.network.BanFilter;
import bisq.network.p2p.seed.SeedNodeRepository; import bisq.network.p2p.seed.SeedNodeRepository;
import bisq.common.app.AppModule; import bisq.common.app.AppModule;
@ -66,7 +66,7 @@ public class CoreModule extends AppModule {
bind(BridgeAddressProvider.class).to(Preferences.class); bind(BridgeAddressProvider.class).to(Preferences.class);
bind(SeedNodeRepository.class).to(DefaultSeedNodeRepository.class); bind(SeedNodeRepository.class).to(DefaultSeedNodeRepository.class);
bind(NetworkFilter.class).to(CoreNetworkFilter.class).in(Singleton.class); bind(BanFilter.class).to(CoreBanFilter.class).in(Singleton.class);
bind(File.class).annotatedWith(named(STORAGE_DIR)).toInstance(config.storageDir); bind(File.class).annotatedWith(named(STORAGE_DIR)).toInstance(config.storageDir);

View file

@ -22,7 +22,7 @@ import bisq.core.app.TorSetup;
import bisq.core.btc.BitcoinModule; import bisq.core.btc.BitcoinModule;
import bisq.core.dao.DaoModule; import bisq.core.dao.DaoModule;
import bisq.core.filter.FilterModule; import bisq.core.filter.FilterModule;
import bisq.core.network.CoreNetworkFilter; import bisq.core.network.CoreBanFilter;
import bisq.core.network.p2p.seed.DefaultSeedNodeRepository; import bisq.core.network.p2p.seed.DefaultSeedNodeRepository;
import bisq.core.offer.OfferModule; import bisq.core.offer.OfferModule;
import bisq.core.proto.network.CoreNetworkProtoResolver; import bisq.core.proto.network.CoreNetworkProtoResolver;
@ -34,7 +34,7 @@ import bisq.core.user.User;
import bisq.network.crypto.EncryptionServiceModule; import bisq.network.crypto.EncryptionServiceModule;
import bisq.network.p2p.P2PModule; import bisq.network.p2p.P2PModule;
import bisq.network.p2p.network.BridgeAddressProvider; import bisq.network.p2p.network.BridgeAddressProvider;
import bisq.network.p2p.network.NetworkFilter; import bisq.network.p2p.network.BanFilter;
import bisq.network.p2p.seed.SeedNodeRepository; import bisq.network.p2p.seed.SeedNodeRepository;
import bisq.common.ClockWatcher; import bisq.common.ClockWatcher;
@ -75,7 +75,7 @@ public class ModuleForAppWithP2p extends AppModule {
bind(TorSetup.class).in(Singleton.class); bind(TorSetup.class).in(Singleton.class);
bind(SeedNodeRepository.class).to(DefaultSeedNodeRepository.class).in(Singleton.class); bind(SeedNodeRepository.class).to(DefaultSeedNodeRepository.class).in(Singleton.class);
bind(NetworkFilter.class).to(CoreNetworkFilter.class).in(Singleton.class); bind(BanFilter.class).to(CoreBanFilter.class).in(Singleton.class);
bind(File.class).annotatedWith(named(STORAGE_DIR)).toInstance(config.storageDir); bind(File.class).annotatedWith(named(STORAGE_DIR)).toInstance(config.storageDir);
bind(File.class).annotatedWith(named(KEY_STORAGE_DIR)).toInstance(config.keyStorageDir); bind(File.class).annotatedWith(named(KEY_STORAGE_DIR)).toInstance(config.keyStorageDir);

View file

@ -29,7 +29,7 @@ import bisq.core.user.User;
import bisq.network.p2p.NodeAddress; import bisq.network.p2p.NodeAddress;
import bisq.network.p2p.P2PService; import bisq.network.p2p.P2PService;
import bisq.network.p2p.P2PServiceListener; import bisq.network.p2p.P2PServiceListener;
import bisq.network.p2p.network.NetworkFilter; import bisq.network.p2p.network.BanFilter;
import bisq.network.p2p.storage.HashMapChangedListener; import bisq.network.p2p.storage.HashMapChangedListener;
import bisq.network.p2p.storage.payload.ProtectedStorageEntry; import bisq.network.p2p.storage.payload.ProtectedStorageEntry;
@ -121,7 +121,7 @@ public class FilterManager {
Preferences preferences, Preferences preferences,
Config config, Config config,
ProvidersRepository providersRepository, ProvidersRepository providersRepository,
NetworkFilter networkFilter, BanFilter banFilter,
@Named(Config.IGNORE_DEV_MSG) boolean ignoreDevMsg, @Named(Config.IGNORE_DEV_MSG) boolean ignoreDevMsg,
@Named(Config.USE_DEV_PRIVILEGE_KEYS) boolean useDevPrivilegeKeys) { @Named(Config.USE_DEV_PRIVILEGE_KEYS) boolean useDevPrivilegeKeys) {
this.p2PService = p2PService; this.p2PService = p2PService;
@ -138,7 +138,7 @@ public class FilterManager {
"029340c3e7d4bb0f9e651b5f590b434fecb6175aeaa57145c7804ff05d210e534f", "029340c3e7d4bb0f9e651b5f590b434fecb6175aeaa57145c7804ff05d210e534f",
"034dc7530bf66ffd9580aa98031ea9a18ac2d269f7c56c0e71eca06105b9ed69f9"); "034dc7530bf66ffd9580aa98031ea9a18ac2d269f7c56c0e71eca06105b9ed69f9");
networkFilter.setBannedNodePredicate(this::isNodeAddressBannedFromNetwork); banFilter.setBannedNodePredicate(this::isNodeAddressBannedFromNetwork);
} }

View file

@ -18,7 +18,7 @@
package bisq.core.network; package bisq.core.network;
import bisq.network.p2p.NodeAddress; import bisq.network.p2p.NodeAddress;
import bisq.network.p2p.network.NetworkFilter; import bisq.network.p2p.network.BanFilter;
import bisq.common.config.Config; import bisq.common.config.Config;
@ -33,7 +33,7 @@ import java.util.function.Predicate;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@Slf4j @Slf4j
public class CoreNetworkFilter implements NetworkFilter { public class CoreBanFilter implements BanFilter {
private final Set<NodeAddress> bannedPeersFromOptions = new HashSet<>(); private final Set<NodeAddress> bannedPeersFromOptions = new HashSet<>();
private Predicate<NodeAddress> bannedNodePredicate; private Predicate<NodeAddress> bannedNodePredicate;
@ -41,7 +41,7 @@ public class CoreNetworkFilter implements NetworkFilter {
* @param banList List of banned peers from program argument * @param banList List of banned peers from program argument
*/ */
@Inject @Inject
public CoreNetworkFilter(@Named(Config.BAN_LIST) List<String> banList) { public CoreBanFilter(@Named(Config.BAN_LIST) List<String> banList) {
banList.stream().map(NodeAddress::new).forEach(bannedPeersFromOptions::add); banList.stream().map(NodeAddress::new).forEach(bannedPeersFromOptions::add);
} }

View file

@ -19,7 +19,7 @@ package bisq.network.p2p;
import bisq.network.p2p.network.BridgeAddressProvider; import bisq.network.p2p.network.BridgeAddressProvider;
import bisq.network.p2p.network.LocalhostNetworkNode; import bisq.network.p2p.network.LocalhostNetworkNode;
import bisq.network.p2p.network.NetworkFilter; import bisq.network.p2p.network.BanFilter;
import bisq.network.p2p.network.NetworkNode; import bisq.network.p2p.network.NetworkNode;
import bisq.network.p2p.network.NewTor; import bisq.network.p2p.network.NewTor;
import bisq.network.p2p.network.RunningTor; import bisq.network.p2p.network.RunningTor;
@ -44,7 +44,7 @@ public class NetworkNodeProvider implements Provider<NetworkNode> {
@Inject @Inject
public NetworkNodeProvider(NetworkProtoResolver networkProtoResolver, public NetworkNodeProvider(NetworkProtoResolver networkProtoResolver,
BridgeAddressProvider bridgeAddressProvider, BridgeAddressProvider bridgeAddressProvider,
@Nullable NetworkFilter networkFilter, @Nullable BanFilter banFilter,
@Named(Config.MAX_CONNECTIONS) int maxConnections, @Named(Config.MAX_CONNECTIONS) int maxConnections,
@Named(Config.USE_LOCALHOST_FOR_P2P) boolean useLocalhostForP2P, @Named(Config.USE_LOCALHOST_FOR_P2P) boolean useLocalhostForP2P,
@Named(Config.NODE_PORT) int port, @Named(Config.NODE_PORT) int port,
@ -57,7 +57,7 @@ public class NetworkNodeProvider implements Provider<NetworkNode> {
@Named(Config.TOR_STREAM_ISOLATION) boolean streamIsolation, @Named(Config.TOR_STREAM_ISOLATION) boolean streamIsolation,
@Named(Config.TOR_CONTROL_USE_SAFE_COOKIE_AUTH) boolean useSafeCookieAuthentication) { @Named(Config.TOR_CONTROL_USE_SAFE_COOKIE_AUTH) boolean useSafeCookieAuthentication) {
if (useLocalhostForP2P) { if (useLocalhostForP2P) {
networkNode = new LocalhostNetworkNode(port, networkProtoResolver, networkFilter, maxConnections); networkNode = new LocalhostNetworkNode(port, networkProtoResolver, banFilter, maxConnections);
} else { } else {
TorMode torMode = getTorMode(bridgeAddressProvider, TorMode torMode = getTorMode(bridgeAddressProvider,
torDir, torDir,
@ -67,7 +67,7 @@ public class NetworkNodeProvider implements Provider<NetworkNode> {
password, password,
cookieFile, cookieFile,
useSafeCookieAuthentication); useSafeCookieAuthentication);
networkNode = new TorNetworkNode(port, networkProtoResolver, streamIsolation, torMode, networkFilter, maxConnections); networkNode = new TorNetworkNode(port, networkProtoResolver, streamIsolation, torMode, banFilter, maxConnections);
} }
} }

View file

@ -21,7 +21,7 @@ import bisq.network.p2p.NodeAddress;
import java.util.function.Predicate; import java.util.function.Predicate;
public interface NetworkFilter { public interface BanFilter {
boolean isPeerBanned(NodeAddress nodeAddress); boolean isPeerBanned(NodeAddress nodeAddress);
void setBannedNodePredicate(Predicate<NodeAddress> isNodeAddressBanned); void setBannedNodePredicate(Predicate<NodeAddress> isNodeAddressBanned);

View file

@ -130,7 +130,7 @@ public class Connection implements HasCapabilities, Runnable, MessageListener {
private final Socket socket; private final Socket socket;
private final ConnectionListener connectionListener; private final ConnectionListener connectionListener;
@Nullable @Nullable
private final NetworkFilter networkFilter; private final BanFilter banFilter;
@Getter @Getter
private final String uid; private final String uid;
private final ExecutorService executorService; private final ExecutorService executorService;
@ -175,10 +175,10 @@ public class Connection implements HasCapabilities, Runnable, MessageListener {
ConnectionListener connectionListener, ConnectionListener connectionListener,
@Nullable NodeAddress peersNodeAddress, @Nullable NodeAddress peersNodeAddress,
NetworkProtoResolver networkProtoResolver, NetworkProtoResolver networkProtoResolver,
@Nullable NetworkFilter networkFilter) { @Nullable BanFilter banFilter) {
this.socket = socket; this.socket = socket;
this.connectionListener = connectionListener; this.connectionListener = connectionListener;
this.networkFilter = networkFilter; this.banFilter = banFilter;
this.uid = UUID.randomUUID().toString(); this.uid = UUID.randomUUID().toString();
this.executorService = SingleThreadExecutorUtils.getSingleThreadExecutor("Executor service for connection with uid " + uid); this.executorService = SingleThreadExecutorUtils.getSingleThreadExecutor("Executor service for connection with uid " + uid);
@ -208,7 +208,7 @@ public class Connection implements HasCapabilities, Runnable, MessageListener {
if (peersNodeAddress != null) { if (peersNodeAddress != null) {
setPeersNodeAddress(peersNodeAddress); setPeersNodeAddress(peersNodeAddress);
if (networkFilter != null && networkFilter.isPeerBanned(peersNodeAddress)) { if (banFilter != null && banFilter.isPeerBanned(peersNodeAddress)) {
log.warn("We created an outbound connection with a banned peer"); log.warn("We created an outbound connection with a banned peer");
reportInvalidRequest(RuleViolation.PEER_BANNED); reportInvalidRequest(RuleViolation.PEER_BANNED);
} }
@ -237,9 +237,9 @@ public class Connection implements HasCapabilities, Runnable, MessageListener {
return; return;
} }
if (networkFilter != null && if (banFilter != null &&
peersNodeAddressOptional.isPresent() && peersNodeAddressOptional.isPresent() &&
networkFilter.isPeerBanned(peersNodeAddressOptional.get())) { banFilter.isPeerBanned(peersNodeAddressOptional.get())) {
log.warn("We tried to send a message to a banned peer. message={}", networkEnvelope.getClass().getSimpleName()); log.warn("We tried to send a message to a banned peer. message={}", networkEnvelope.getClass().getSimpleName());
reportInvalidRequest(RuleViolation.PEER_BANNED); reportInvalidRequest(RuleViolation.PEER_BANNED);
return; return;
@ -685,7 +685,7 @@ public class Connection implements HasCapabilities, Runnable, MessageListener {
setPeersNodeAddress(senderNodeAddress); setPeersNodeAddress(senderNodeAddress);
} }
if (networkFilter != null && networkFilter.isPeerBanned(senderNodeAddress)) { if (banFilter != null && banFilter.isPeerBanned(senderNodeAddress)) {
log.warn("We got a message from a banned peer. message={}", sendersNodeAddressMessage.getClass().getSimpleName()); log.warn("We got a message from a banned peer. message={}", sendersNodeAddressMessage.getClass().getSimpleName());
reportInvalidRequest(RuleViolation.PEER_BANNED); reportInvalidRequest(RuleViolation.PEER_BANNED);
return false; return false;
@ -749,9 +749,9 @@ public class Connection implements HasCapabilities, Runnable, MessageListener {
return; return;
} }
if (networkFilter != null && if (banFilter != null &&
peersNodeAddressOptional.isPresent() && peersNodeAddressOptional.isPresent() &&
networkFilter.isPeerBanned(peersNodeAddressOptional.get())) { banFilter.isPeerBanned(peersNodeAddressOptional.get())) {
log.warn("We got a message from a banned peer. proto={}", Utilities.toTruncatedString(proto)); log.warn("We got a message from a banned peer. proto={}", Utilities.toTruncatedString(proto));
reportInvalidRequest(RuleViolation.PEER_BANNED); reportInvalidRequest(RuleViolation.PEER_BANNED);

View file

@ -28,7 +28,7 @@ public class InboundConnection extends Connection {
MessageListener messageListener, MessageListener messageListener,
ConnectionListener connectionListener, ConnectionListener connectionListener,
NetworkProtoResolver networkProtoResolver, NetworkProtoResolver networkProtoResolver,
@Nullable NetworkFilter networkFilter) { @Nullable BanFilter banFilter) {
super(socket, messageListener, connectionListener, null, networkProtoResolver, networkFilter); super(socket, messageListener, connectionListener, null, networkProtoResolver, banFilter);
} }
} }

View file

@ -56,9 +56,9 @@ public class LocalhostNetworkNode extends NetworkNode {
public LocalhostNetworkNode(int port, public LocalhostNetworkNode(int port,
NetworkProtoResolver networkProtoResolver, NetworkProtoResolver networkProtoResolver,
@Nullable NetworkFilter networkFilter, @Nullable BanFilter banFilter,
int maxConnections) { int maxConnections) {
super(port, networkProtoResolver, networkFilter, maxConnections); super(port, networkProtoResolver, banFilter, maxConnections);
} }
@Override @Override

View file

@ -71,7 +71,7 @@ public abstract class NetworkNode implements MessageListener {
final int servicePort; final int servicePort;
private final NetworkProtoResolver networkProtoResolver; private final NetworkProtoResolver networkProtoResolver;
@Nullable @Nullable
private final NetworkFilter networkFilter; private final BanFilter banFilter;
private final CopyOnWriteArraySet<InboundConnection> inBoundConnections = new CopyOnWriteArraySet<>(); private final CopyOnWriteArraySet<InboundConnection> inBoundConnections = new CopyOnWriteArraySet<>();
private final CopyOnWriteArraySet<MessageListener> messageListeners = new CopyOnWriteArraySet<>(); private final CopyOnWriteArraySet<MessageListener> messageListeners = new CopyOnWriteArraySet<>();
@ -93,11 +93,11 @@ public abstract class NetworkNode implements MessageListener {
NetworkNode(int servicePort, NetworkNode(int servicePort,
NetworkProtoResolver networkProtoResolver, NetworkProtoResolver networkProtoResolver,
@Nullable NetworkFilter networkFilter, @Nullable BanFilter banFilter,
int maxConnections) { int maxConnections) {
this.servicePort = servicePort; this.servicePort = servicePort;
this.networkProtoResolver = networkProtoResolver; this.networkProtoResolver = networkProtoResolver;
this.networkFilter = networkFilter; this.banFilter = banFilter;
connectionExecutor = Utilities.getListeningExecutorService("NetworkNode.connection", connectionExecutor = Utilities.getListeningExecutorService("NetworkNode.connection",
maxConnections * 2, maxConnections * 2,
@ -212,7 +212,7 @@ public abstract class NetworkNode implements MessageListener {
connectionListener, connectionListener,
peersNodeAddress, peersNodeAddress,
networkProtoResolver, networkProtoResolver,
networkFilter); banFilter);
if (log.isDebugEnabled()) { if (log.isDebugEnabled()) {
log.debug("\n\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n" + log.debug("\n\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n" +
@ -497,7 +497,7 @@ public abstract class NetworkNode implements MessageListener {
NetworkNode.this, NetworkNode.this,
connectionListener, connectionListener,
networkProtoResolver, networkProtoResolver,
networkFilter); banFilter);
server.start(); server.start();
} }

View file

@ -31,7 +31,7 @@ public class OutboundConnection extends Connection {
ConnectionListener connectionListener, ConnectionListener connectionListener,
NodeAddress peersNodeAddress, NodeAddress peersNodeAddress,
NetworkProtoResolver networkProtoResolver, NetworkProtoResolver networkProtoResolver,
@Nullable NetworkFilter networkFilter) { @Nullable BanFilter banFilter) {
super(socket, messageListener, connectionListener, peersNodeAddress, networkProtoResolver, networkFilter); super(socket, messageListener, connectionListener, peersNodeAddress, networkProtoResolver, banFilter);
} }
} }

View file

@ -40,7 +40,7 @@ class Server implements Runnable {
private final MessageListener messageListener; private final MessageListener messageListener;
private final ConnectionListener connectionListener; private final ConnectionListener connectionListener;
@Nullable @Nullable
private final NetworkFilter networkFilter; private final BanFilter banFilter;
private final ServerSocket serverSocket; private final ServerSocket serverSocket;
private final int localPort; private final int localPort;
@ -54,13 +54,13 @@ class Server implements Runnable {
MessageListener messageListener, MessageListener messageListener,
ConnectionListener connectionListener, ConnectionListener connectionListener,
NetworkProtoResolver networkProtoResolver, NetworkProtoResolver networkProtoResolver,
@Nullable NetworkFilter networkFilter) { @Nullable BanFilter banFilter) {
this.networkProtoResolver = networkProtoResolver; this.networkProtoResolver = networkProtoResolver;
this.serverSocket = serverSocket; this.serverSocket = serverSocket;
this.localPort = serverSocket.getLocalPort(); this.localPort = serverSocket.getLocalPort();
this.messageListener = messageListener; this.messageListener = messageListener;
this.connectionListener = connectionListener; this.connectionListener = connectionListener;
this.networkFilter = networkFilter; this.banFilter = banFilter;
} }
public void start() { public void start() {
@ -82,7 +82,7 @@ class Server implements Runnable {
messageListener, messageListener,
connectionListener, connectionListener,
networkProtoResolver, networkProtoResolver,
networkFilter); banFilter);
log.debug("\n\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n" + log.debug("\n\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n" +
"Server created new inbound connection:" "Server created new inbound connection:"

View file

@ -69,9 +69,9 @@ public class TorNetworkNode extends NetworkNode {
NetworkProtoResolver networkProtoResolver, NetworkProtoResolver networkProtoResolver,
boolean useStreamIsolation, boolean useStreamIsolation,
TorMode torMode, TorMode torMode,
@Nullable NetworkFilter networkFilter, @Nullable BanFilter banFilter,
int maxConnections) { int maxConnections) {
super(servicePort, networkProtoResolver, networkFilter, maxConnections); super(servicePort, networkProtoResolver, banFilter, maxConnections);
this.torMode = torMode; this.torMode = torMode;
this.streamIsolation = useStreamIsolation; this.streamIsolation = useStreamIsolation;