diff --git a/apps/streaming/java/src/net/i2p/client/streaming/impl/Connection.java b/apps/streaming/java/src/net/i2p/client/streaming/impl/Connection.java index 2860037306b3f559250349686791fc65bb164069..69242acfa5a5fab103fc146a3762526a084d8ee9 100644 --- a/apps/streaming/java/src/net/i2p/client/streaming/impl/Connection.java +++ b/apps/streaming/java/src/net/i2p/client/streaming/impl/Connection.java @@ -913,11 +913,11 @@ class Connection { /** * @param id 0 to 0xffffffff - * @throws RuntimeException if already set to nonzero + * @throws IllegalStateException if already set to nonzero */ public void setSendStreamId(long id) { if (!_sendStreamId.compareAndSet(0, id)) - throw new RuntimeException("Send stream ID already set [" + _sendStreamId + ", " + id + "]"); + throw new IllegalStateException("Send stream ID already set [" + _sendStreamId + ", " + id + "]"); } /** @@ -928,11 +928,11 @@ class Connection { /** * @param id 0 to 0xffffffff - * @throws RuntimeException if already set to nonzero + * @throws IllegalStateException if already set to nonzero */ public void setReceiveStreamId(long id) { if (!_receiveStreamId.compareAndSet(0, id)) - throw new RuntimeException("Receive stream ID already set [" + _receiveStreamId + ", " + id + "]"); + throw new IllegalStateException("Receive stream ID already set [" + _receiveStreamId + ", " + id + "]"); synchronized (_connectLock) { _connectLock.notifyAll(); } } diff --git a/apps/streaming/java/src/net/i2p/client/streaming/impl/ConnectionPacketHandler.java b/apps/streaming/java/src/net/i2p/client/streaming/impl/ConnectionPacketHandler.java index a156b8475ab26814309082e8f952ee14cc1476ce..54c233a0350f6bfba6751e93889d5605734ce500 100644 --- a/apps/streaming/java/src/net/i2p/client/streaming/impl/ConnectionPacketHandler.java +++ b/apps/streaming/java/src/net/i2p/client/streaming/impl/ConnectionPacketHandler.java @@ -572,8 +572,8 @@ class ConnectionPacketHandler { boolean ok = packet.verifySignature(_context, spk, ba.getData()); _cache.release(ba); if (!ok) { - if (_log.shouldLog(Log.ERROR)) - _log.error("Received unsigned / forged RST on " + con); + if (_log.shouldWarn()) + _log.warn("Received unsigned / forged RST on " + con); return; } else { if (_log.shouldWarn()) diff --git a/apps/streaming/java/src/net/i2p/client/streaming/impl/PacketHandler.java b/apps/streaming/java/src/net/i2p/client/streaming/impl/PacketHandler.java index c1ad4cda4c25b2463e02a988df05e1cd762baa3b..6e74afed95586417cdb03c956e974a4409ac4be4 100644 --- a/apps/streaming/java/src/net/i2p/client/streaming/impl/PacketHandler.java +++ b/apps/streaming/java/src/net/i2p/client/streaming/impl/PacketHandler.java @@ -204,7 +204,8 @@ class PacketHandler { } catch (I2PException ie) { if (_log.shouldWarn()) _log.warn("Sig verify fail for " + con + "/" + oldId + ": " + packet, ie); - con.setSendStreamId(oldId); + // TODO we can't set the stream ID back to 0, throws ISE + //con.setSendStreamId(oldId); if (packet.isFlagSet(Packet.FLAG_SYNCHRONIZE)) { // send a reset, it's a known con, so it's unlikely to be spoofed // don't bother to send reset if it's just a CLOSE diff --git a/apps/streaming/java/src/net/i2p/client/streaming/impl/PacketLocal.java b/apps/streaming/java/src/net/i2p/client/streaming/impl/PacketLocal.java index 346bd6e21ff4026a3cdee60a525ef245d4a5b1ce..4a2ada5141eab5709cc40239220285c85e2f171f 100644 --- a/apps/streaming/java/src/net/i2p/client/streaming/impl/PacketLocal.java +++ b/apps/streaming/java/src/net/i2p/client/streaming/impl/PacketLocal.java @@ -71,10 +71,10 @@ class PacketLocal extends Packet implements MessageOutputStream.WriteStatus { * @since 0.9.39 moved from super */ public void setOptionalFrom() { - setFlag(FLAG_FROM_INCLUDED, true); + setFlag(FLAG_FROM_INCLUDED); _optionFrom = _session.getMyDestination(); if (_session.isOffline()) { - setFlag(FLAG_SIGNATURE_OFFLINE, true); + setFlag(FLAG_SIGNATURE_OFFLINE); _transientExpires = _session.getOfflineExpiration(); _transientSigningPublicKey = _session.getTransientSigningPublicKey(); _offlineSignature = _session.getOfflineSignature();