diff --git a/apps/routerconsole/java/src/net/i2p/router/web/helpers/NetDbRenderer.java b/apps/routerconsole/java/src/net/i2p/router/web/helpers/NetDbRenderer.java index 29c29bca4..418c0cfce 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/helpers/NetDbRenderer.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/helpers/NetDbRenderer.java @@ -597,10 +597,15 @@ class NetDbRenderer { if (type != DatabaseEntry.KEY_TYPE_LEASESET) { LeaseSet2 ls2 = (LeaseSet2) ls; buf.append("  Unpublished? ").append(ls2.isUnpublished()); - boolean isOff = ls2.isOffline(); - buf.append("  Offline signed? ").append(isOff); - if (isOff) + if (ls2.isOffline()) { + buf.append("  Offline signed: "); + exp = ls2.getTransientExpiration() - now; + if (exp > 0) + buf.append(_t("Expires in {0}", DataHelper.formatDuration2(exp))); + else + buf.append(_t("Expired {0} ago", DataHelper.formatDuration2(0-exp))); buf.append("  Type: ").append(ls2.getTransientSigningKey().getType()); + } } buf.append("\n"); //buf.append(dest.toBase32()).append("
"); diff --git a/core/java/src/net/i2p/data/LeaseSet2.java b/core/java/src/net/i2p/data/LeaseSet2.java index 7f7972fe8..b1fc39a5c 100644 --- a/core/java/src/net/i2p/data/LeaseSet2.java +++ b/core/java/src/net/i2p/data/LeaseSet2.java @@ -252,6 +252,15 @@ public class LeaseSet2 extends LeaseSet { return _transientSigningPublicKey; } + /** + * Absolute time, not time from now. + * @return transient expiration time or 0 if not offline signed + * @since 0.9.48 + */ + public long getTransientExpiration() { + return _transientExpires; + } + /** * Destination must be previously set. *