diff --git a/router/java/src/net/i2p/router/transport/udp/OutboundEstablishState2.java b/router/java/src/net/i2p/router/transport/udp/OutboundEstablishState2.java index ffe283a75ef0b74405ed113c0587fac866cc4b8c..d8a2e3a1f35379aa47c7d43655208497e770586b 100644 --- a/router/java/src/net/i2p/router/transport/udp/OutboundEstablishState2.java +++ b/router/java/src/net/i2p/router/transport/udp/OutboundEstablishState2.java @@ -124,11 +124,11 @@ class OutboundEstablishState2 extends OutboundEstablishState implements SSU2Payl public synchronized void restart(long token) { _token = token; HandshakeState old = _handshakeState; - byte[] pub = new byte[32]; - old.getRemotePublicKey().getPublicKey(pub, 0); - createNewState(_routerAddress); - if (old != null) + if (old != null) { + // TODO pass the old keys over to createNewState() old.destroy(); + } + createNewState(_routerAddress); //_rcvHeaderEncryptKey2 will be set after the Session Request message is created _rcvHeaderEncryptKey2 = null; } diff --git a/router/java/src/net/i2p/router/transport/udp/PacketBuilder2.java b/router/java/src/net/i2p/router/transport/udp/PacketBuilder2.java index 03c7036db5492df222495c08cf01138d56d0aa7f..91cf5c8e0f85c5e800dead8fc20b3ec4cd532d30 100644 --- a/router/java/src/net/i2p/router/transport/udp/PacketBuilder2.java +++ b/router/java/src/net/i2p/router/transport/udp/PacketBuilder2.java @@ -283,7 +283,7 @@ class PacketBuilder2 { */ public UDPPacket buildTokenRequestPacket(OutboundEstablishState2 state) { long n = _context.random().signedNextInt() & 0xFFFFFFFFL; - UDPPacket packet = buildLongPacketHeader(state.getSendConnID(), n, SESSION_REQUEST_FLAG_BYTE, + UDPPacket packet = buildLongPacketHeader(state.getSendConnID(), n, TOKEN_REQUEST_FLAG_BYTE, state.getRcvConnID(), 0); DatagramPacket pkt = packet.getPacket();