I2P Address: [http://git.idk.i2p]

Skip to content
Snippets Groups Projects
Unverified Commit ce5c75cb authored by zzz's avatar zzz
Browse files

SSU2: Drop small packets in UDPReceiver

now that SSU1 is disabled.
SSU2 min packet size is 40 and does not support 0-byte hole punch
parent 67f15934
No related branches found
No related tags found
No related merge requests found
Pipeline #1597 passed
...@@ -248,8 +248,8 @@ class UDPReceiver { ...@@ -248,8 +248,8 @@ class UDPReceiver {
_socket.receive(dpacket); _socket.receive(dpacket);
//} //}
int size = dpacket.getLength(); int size = dpacket.getLength();
if (_log.shouldLog(Log.INFO)) //if (_log.shouldDebug())
_log.info("After blocking socket.receive: packet is " + size + " bytes on " + System.identityHashCode(packet)); // _log.debug("After blocking socket.receive: packet is " + size + " bytes on " + System.identityHashCode(packet));
packet.resetBegin(); packet.resetBegin();
// and block after we know how much we read but before // and block after we know how much we read but before
...@@ -261,7 +261,7 @@ class UDPReceiver { ...@@ -261,7 +261,7 @@ class UDPReceiver {
if (_context.commSystem().isDummy()) { if (_context.commSystem().isDummy()) {
// testing // testing
packet.release(); packet.release();
} else if (size > 0) { } else if (size >= SSU2Util.MIN_DATA_LEN) {
//FIFOBandwidthLimiter.Request req = _context.bandwidthLimiter().requestInbound(size, "UDP receiver"); //FIFOBandwidthLimiter.Request req = _context.bandwidthLimiter().requestInbound(size, "UDP receiver");
//_context.bandwidthLimiter().requestInbound(req, size, "UDP receiver"); //_context.bandwidthLimiter().requestInbound(req, size, "UDP receiver");
FIFOBandwidthLimiter.Request req = FIFOBandwidthLimiter.Request req =
...@@ -280,11 +280,9 @@ class UDPReceiver { ...@@ -280,11 +280,9 @@ class UDPReceiver {
receive(packet); receive(packet);
//_context.statManager().addRateData("udp.receivePacketSize", size); //_context.statManager().addRateData("udp.receivePacketSize", size);
} else { } else {
_context.statManager().addRateData("udp.receiveHolePunch", 1); // SSU1 had 0 byte hole punch, SSU2 does not
// nat hole punch packets are 0 bytes if (_log.shouldWarn())
if (_log.shouldLog(Log.INFO)) _log.warn("Dropping short " + size + " byte udp packet from " + dpacket.getAddress() + ":" + dpacket.getPort());
_log.info("Received a 0 byte udp packet from " + dpacket.getAddress() + ":" + dpacket.getPort());
_transport.getEstablisher().receiveHolePunch(dpacket.getAddress(), dpacket.getPort());
packet.release(); packet.release();
} }
} catch (IOException ioe) { } catch (IOException ioe) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment