forked from I2P_Developers/i2p.i2p
NTCP: More NTCP1 removal cleanup
This commit is contained in:
@@ -141,7 +141,7 @@ class InboundEstablishState extends EstablishBase implements NTCP2Payload.Payloa
|
||||
}
|
||||
if (_state == State.IB_INIT && src.hasRemaining()) {
|
||||
int remaining = src.remaining();
|
||||
if (_transport.isNTCP2Enabled()) {
|
||||
|
||||
if (remaining + _received < MSG1_SIZE) {
|
||||
// Less than 64 total received, so we defer the NTCP 1 or 2 decision.
|
||||
// Buffer in _X.
|
||||
@@ -162,7 +162,7 @@ class InboundEstablishState extends EstablishBase implements NTCP2Payload.Payloa
|
||||
// releaseBufs() will return the unused DH
|
||||
return;
|
||||
//}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -112,7 +112,6 @@ public class NTCPTransport extends TransportImpl {
|
||||
public static final String PROP_BIND_INTERFACE = "i2np.ntcp.bindInterface";
|
||||
|
||||
private final NTCPSendFinisher _finisher;
|
||||
private final DHSessionKeyBuilder.Factory _dhFactory;
|
||||
private final X25519KeyFactory _xdhFactory;
|
||||
private long _lastBadSkew;
|
||||
private static final long[] RATES = { 10*60*1000 };
|
||||
@@ -138,8 +137,6 @@ public class NTCPTransport extends TransportImpl {
|
||||
private static final int NTCP2_KEY_LEN = OutboundNTCP2State.KEY_SIZE;
|
||||
private static final long MIN_DOWNTIME_TO_REKEY = 30*24*60*60*1000L;
|
||||
private static final long MIN_DOWNTIME_TO_REKEY_HIDDEN = 24*60*60*1000L;
|
||||
private final boolean _enableNTCP1;
|
||||
private final boolean _enableNTCP2;
|
||||
private final byte[] _ntcp2StaticPubkey;
|
||||
private final byte[] _ntcp2StaticPrivkey;
|
||||
private final byte[] _ntcp2StaticIV;
|
||||
@@ -147,12 +144,11 @@ public class NTCPTransport extends TransportImpl {
|
||||
private final String _b64Ntcp2StaticIV;
|
||||
|
||||
/**
|
||||
* @param dh null to disable NTCP1
|
||||
* @param dh unused, ignored
|
||||
* @param xdh null to disable NTCP2
|
||||
*/
|
||||
public NTCPTransport(RouterContext ctx, DHSessionKeyBuilder.Factory dh, X25519KeyFactory xdh) {
|
||||
super(ctx);
|
||||
_dhFactory = dh;
|
||||
_xdhFactory = xdh;
|
||||
_log = ctx.logManager().getLog(getClass());
|
||||
|
||||
@@ -242,11 +238,9 @@ public class NTCPTransport extends TransportImpl {
|
||||
_transientFail = new SharedBid(TransportBid.TRANSIENT_FAIL);
|
||||
|
||||
setupPort();
|
||||
_enableNTCP1 = dh != null;
|
||||
_enableNTCP2 = xdh != null;
|
||||
if (!_enableNTCP1 && !_enableNTCP2)
|
||||
if (xdh == null)
|
||||
throw new IllegalArgumentException();
|
||||
if (_enableNTCP2) {
|
||||
|
||||
boolean shouldSave = false;
|
||||
byte[] priv = null;
|
||||
byte[] iv = null;
|
||||
@@ -295,13 +289,7 @@ public class NTCPTransport extends TransportImpl {
|
||||
_ntcp2StaticIV = iv;
|
||||
_b64Ntcp2StaticPubkey = Base64.encode(_ntcp2StaticPubkey);
|
||||
_b64Ntcp2StaticIV = b64IV;
|
||||
} else {
|
||||
_ntcp2StaticPubkey = null;
|
||||
_ntcp2StaticPrivkey = null;
|
||||
_ntcp2StaticIV = null;
|
||||
_b64Ntcp2StaticPubkey = null;
|
||||
_b64Ntcp2StaticIV = null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -880,10 +868,10 @@ public class NTCPTransport extends TransportImpl {
|
||||
} else if (skipv4) {
|
||||
setOutboundNTCP2Address(false);
|
||||
}
|
||||
} else if (_enableNTCP2) {
|
||||
} else {
|
||||
setOutboundNTCP2Address();
|
||||
}
|
||||
} else if (_enableNTCP2) {
|
||||
} else {
|
||||
setOutboundNTCP2Address();
|
||||
}
|
||||
// TransportManager.startListening() calls router.rebuildRouterInfo()
|
||||
@@ -1119,26 +1107,26 @@ public class NTCPTransport extends TransportImpl {
|
||||
net.i2p.router.transport.ntcp.Writer getWriter() { return _writer; }
|
||||
|
||||
/**
|
||||
* @return always "NTCP" even if NTCP1 is disabled
|
||||
* @return always "NTCP"
|
||||
*/
|
||||
public String getStyle() { return STYLE; }
|
||||
|
||||
/**
|
||||
* An alternate supported style, or null.
|
||||
* @return "NTCP2" or null
|
||||
* An alternate supported style
|
||||
* @return "NTCP2" always
|
||||
* @since 0.9.35
|
||||
*/
|
||||
@Override
|
||||
public String getAltStyle() {
|
||||
return _enableNTCP2 ? STYLE2 : null;
|
||||
return STYLE2;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return "NTCP" if NTCP1 is enabled, else "NTCP2"
|
||||
* @return "NTCP2" always
|
||||
* @since 0.9.39
|
||||
*/
|
||||
private String getPublishStyle() {
|
||||
return _enableNTCP1 ? STYLE : STYLE2;
|
||||
return STYLE2;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1146,14 +1134,6 @@ public class NTCPTransport extends TransportImpl {
|
||||
*/
|
||||
EventPumper getPumper() { return _pumper; }
|
||||
|
||||
/**
|
||||
* @return null if not configured for NTCP1
|
||||
* @since 0.9
|
||||
*/
|
||||
DHSessionKeyBuilder getDHBuilder() {
|
||||
return _dhFactory != null ? _dhFactory.getBuilder() : null;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return null if not configured for NTCP2
|
||||
* @since 0.9.36
|
||||
@@ -1162,18 +1142,6 @@ public class NTCPTransport extends TransportImpl {
|
||||
return _xdhFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return an unused DH key builder
|
||||
* to be put back onto the queue for reuse.
|
||||
*
|
||||
* @param builder must not have a peerPublicValue set
|
||||
* @since 0.9.16
|
||||
*/
|
||||
void returnUnused(DHSessionKeyBuilder builder) {
|
||||
if (_dhFactory != null)
|
||||
_dhFactory.returnUnused(builder);
|
||||
}
|
||||
|
||||
/**
|
||||
* how long from initial connection attempt (accept() or connect()) until
|
||||
* the con must be established to avoid premature close()ing
|
||||
@@ -1275,8 +1243,6 @@ public class NTCPTransport extends TransportImpl {
|
||||
* @since 0.9.35
|
||||
*/
|
||||
private void addNTCP2Options(Properties props) {
|
||||
if (!_enableNTCP2)
|
||||
return;
|
||||
// only set i if we are not firewalled
|
||||
if (props.containsKey("host")) {
|
||||
props.setProperty("i", _b64Ntcp2StaticIV);
|
||||
@@ -1296,20 +1262,6 @@ public class NTCPTransport extends TransportImpl {
|
||||
props.setProperty("v", NTCP2_VERSION);
|
||||
}
|
||||
|
||||
/**
|
||||
* Is NTCP1 enabled?
|
||||
*
|
||||
* @since 0.9.39
|
||||
*/
|
||||
boolean isNTCP1Enabled() { return _enableNTCP1; }
|
||||
|
||||
/**
|
||||
* Is NTCP2 enabled?
|
||||
*
|
||||
* @since 0.9.35
|
||||
*/
|
||||
boolean isNTCP2Enabled() { return _enableNTCP2; }
|
||||
|
||||
/**
|
||||
* The static priv key
|
||||
*
|
||||
@@ -1348,12 +1300,8 @@ public class NTCPTransport extends TransportImpl {
|
||||
int rv;
|
||||
String style = addr.getTransportStyle();
|
||||
if (style.equals(STYLE)) {
|
||||
if (!_enableNTCP2)
|
||||
return 1;
|
||||
rv = 1;
|
||||
} else if (style.equals(STYLE2)) {
|
||||
if (!_enableNTCP2)
|
||||
return 0;
|
||||
rv = NTCP2_INT_VERSION;
|
||||
} else {
|
||||
return 0;
|
||||
@@ -1366,7 +1314,7 @@ public class NTCPTransport extends TransportImpl {
|
||||
addr.getOption("s") == null ||
|
||||
(!v.equals(NTCP2_VERSION) && !v.startsWith(NTCP2_VERSION_ALT))) {
|
||||
// his address is NTCP1 or is outbound NTCP2 only
|
||||
return (rv == 1 && _enableNTCP1) ? 1 : 0;
|
||||
return 0;
|
||||
}
|
||||
// his address is NTCP2
|
||||
// do not validate the s/i b64, we will just catch it later
|
||||
@@ -1690,13 +1638,9 @@ public class NTCPTransport extends TransportImpl {
|
||||
// we are still firewalled (SW firewall, bad UPnP indication, etc.)
|
||||
if (_log.shouldLog(Log.INFO))
|
||||
_log.info("old host: " + ohost + " config: " + name + " new: null");
|
||||
if (_enableNTCP2) {
|
||||
// addNTCP2Options() called below
|
||||
newProps.clear();
|
||||
newAddr = new RouterAddress(STYLE2, newProps, NTCP2_OUTBOUND_COST);
|
||||
} else {
|
||||
newAddr = null;
|
||||
}
|
||||
// addNTCP2Options() called below
|
||||
newProps.clear();
|
||||
newAddr = new RouterAddress(STYLE2, newProps, NTCP2_OUTBOUND_COST);
|
||||
changed = true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user