From 63a8b4668c244d5aed71f5dc40be43fec0cea64f Mon Sep 17 00:00:00 2001 From: zzz Date: Sun, 11 Mar 2018 17:52:42 +0000 Subject: [PATCH] UPnP: Detect pegged counter Make public again for CLI --- router/java/src/net/i2p/router/transport/UPnP.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/router/java/src/net/i2p/router/transport/UPnP.java b/router/java/src/net/i2p/router/transport/UPnP.java index 36b19ee87..7d65e90d8 100644 --- a/router/java/src/net/i2p/router/transport/UPnP.java +++ b/router/java/src/net/i2p/router/transport/UPnP.java @@ -71,8 +71,10 @@ import org.freenetproject.ForwardPortStatus; * TODO: Support multiple IGDs ? * TODO: Advertise the node like the MDNS plugin does * TODO: Implement EventListener and react on ip-change + * + * Public for CommandLine main() */ -class UPnP extends ControlPoint implements DeviceChangeListener, EventListener { +public class UPnP extends ControlPoint implements DeviceChangeListener, EventListener { private final Log _log; private final I2PAppContext _context; @@ -639,6 +641,8 @@ class UPnP extends ControlPoint implements DeviceChangeListener, EventListener { } } + private static final long UINT_MAX = (1L << 32) - 1; + /** * @since 0.9.34 */ @@ -648,6 +652,9 @@ class UPnP extends ControlPoint implements DeviceChangeListener, EventListener { try { long l = Long.parseLong(rv); rv = DataHelper.formatSize2Decimal(l); + // spec says roll over to 0 but mine doesn't + if (l == UINT_MAX) + rv = "> " + rv; } catch (NumberFormatException nfe) {} } return rv;