diff --git a/apps/streaming/java/src/net/i2p/client/streaming/PacketHandler.java b/apps/streaming/java/src/net/i2p/client/streaming/PacketHandler.java index ed10b6e2abdf3f60aeb80a1c0b041b717be2f1f2..e528abe2c703f665dae3affa8214c9ea9bec97c0 100644 --- a/apps/streaming/java/src/net/i2p/client/streaming/PacketHandler.java +++ b/apps/streaming/java/src/net/i2p/client/streaming/PacketHandler.java @@ -105,8 +105,8 @@ class PacketHandler { displayPacket(packet, "RECV", "wsize " + con.getOptions().getWindowSize() + " rto " + con.getOptions().getRTO()); receiveKnownCon(con, packet); } else { - receiveUnknownCon(packet, sendId, queueIfNoConn); displayPacket(packet, "UNKN", null); + receiveUnknownCon(packet, sendId, queueIfNoConn); } // Don't log here, wait until we have the conn to make the dumps easier to follow //((PacketLocal)packet).logTCPDump(true); @@ -285,6 +285,13 @@ class PacketHandler { return; } } + } else { + // if it has a send ID, it's almost certainly for a recently removed connection. + if (_log.shouldLog(Log.WARN)) + _log.warn("Dropping pkt w/ send ID but no con found, recently disconnected? " + packet); + // don't bother sending reset + packet.releasePayload(); + return; } if (packet.isFlagSet(Packet.FLAG_SYNCHRONIZE)) {