@Override public boolean allowLocalAddresses() { synchronized(this) { if(allowLocalAddresses) return true; } return super.allowLocalAddresses(); }
@Override public void sendEncryptedPacket(byte[] data) throws LocalAddressException { crypto.socket.sendPacket(data, getPeer(), allowLocalAddresses()); }
boolean allowLocalAddresses = allowLocalAddresses(); for(Peer peer: localHandshakeIPs) { FreenetInetAddress addr = peer.getFreenetAddress();
private void sendPacket(byte[] data, Peer replyTo, PeerNode pn) throws LocalAddressException { if(pn != null) { if(pn.isIgnoreSource()) { Peer p = pn.getPeer(); if(p != null) replyTo = p; } } sock.sendPacket(data, replyTo, pn == null ? crypto.config.alwaysAllowLocalAddresses() : pn.allowLocalAddresses()); if(pn != null) pn.reportOutgoingBytes(data.length); if(PeerNode.shouldThrottle(replyTo, node)) { node.outputThrottle.forceGrab(data.length); } }