diff --git a/apps/streaming/java/src/net/i2p/client/streaming/Connection.java b/apps/streaming/java/src/net/i2p/client/streaming/Connection.java index 73c33ca630c828610122e4b2dac31e0621378939..ed2b56e7af10467db26d5086c4dceafe7ce8bea0 100644 --- a/apps/streaming/java/src/net/i2p/client/streaming/Connection.java +++ b/apps/streaming/java/src/net/i2p/client/streaming/Connection.java @@ -473,6 +473,11 @@ public class Connection { int numSends = _packet.getNumSends() + 1; + // in case things really suck, the other side may have lost thier + // session tags (e.g. they restarted), so jump back to ElGamal. + if ( (newWindowSize == 1) && (numSends > 2) ) + _context.sessionKeyManager().failTags(_remotePeer.getPublicKey()); + if (_log.shouldLog(Log.WARN)) _log.warn("Resend packet " + _packet + " time " + numSends + " (wsize " + newWindowSize + " lifetime "