diff --git a/router/java/src/net/i2p/router/transport/UPnP.java b/router/java/src/net/i2p/router/transport/UPnP.java index 715bd25b4..7a640ac94 100644 --- a/router/java/src/net/i2p/router/transport/UPnP.java +++ b/router/java/src/net/i2p/router/transport/UPnP.java @@ -198,6 +198,9 @@ public class UPnP extends ControlPoint implements DeviceChangeListener, EventLis name = "???"; boolean isIGD = ROUTER_DEVICE.equals(dev.getDeviceType()) && dev.isRootDevice(); name += isIGD ? " IGD" : (" " + dev.getDeviceType()); + String ip = getIP(dev); + if (ip != null) + name += ' ' + ip; synchronized (lock) { if(isDisabled) { if (_log.shouldLog(Log.WARN)) @@ -289,13 +292,13 @@ public class UPnP extends ControlPoint implements DeviceChangeListener, EventLis if (!current2.getDeviceType().equals(WANCON_DEVICE)) continue; - _service = current2.getService(WAN_PPP_CONNECTION); + _service = current2.getService(WAN_IP_CONNECTION); if(_service == null) { if (_log.shouldLog(Log.INFO)) - _log.info(_router.getFriendlyName()+ " doesn't seems to be using PPP; we won't be able to extract bandwidth-related informations out of it."); - _service = current2.getService(WAN_IP_CONNECTION); + _log.info(_router.getFriendlyName()+ " does not support WAN_IP_CONNECTION"); + _service = current2.getService(WAN_PPP_CONNECTION); if(_service == null) - _log.error(_router.getFriendlyName()+ " doesn't export WAN_IP_CONNECTION either: we won't be able to use it!"); + _log.error(_router.getFriendlyName()+ " doesn't export WAN_PPP_CONNECTION either; we won't be able to use it!"); } _serviceLacksAPM = false; @@ -562,7 +565,35 @@ public class UPnP extends ControlPoint implements DeviceChangeListener, EventLis return DataHelper.escapeHTML(rv); } } - + + /** + * @since 0.9.34 + */ + private String toLong(String action, String arg, Service serv) { + String rv = toString(action, arg, serv); + if (rv != null && rv.length() > 0) { + try { + long l = Long.parseLong(rv); + rv = DataHelper.formatSize2Decimal(l); + } catch (NumberFormatException nfe) {} + } + return rv; + } + + /** + * @since 0.9.34 + */ + private String toTime(String action, String arg, Service serv) { + String rv = toString(action, arg, serv); + if (rv != null && rv.length() > 0) { + try { + long l = Long.parseLong(rv); + rv = DataHelper.formatDuration2(l * 1000); + } catch (NumberFormatException nfe) {} + } + return rv; + } + // TODO: extend it! RTFM private void listSubServices(Device dev, StringBuilder sb) { ServiceList sl = dev.getServiceList(); @@ -575,69 +606,62 @@ public class UPnP extends ControlPoint implements DeviceChangeListener, EventLis sb.append("
  • ").append(_t("Service")).append(": "); // NOTE: Group all toString() of common actions together // to avoid excess fetches, since toString() caches. - if("urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1".equals(serv.getServiceType())){ + String type = serv.getServiceType(); + if("urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1".equals(type)){ sb.append(_t("WAN Common Interface Configuration")); sb.append("