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 29c29bca43f65206ed0a5ad0f6b7a1cb0c700d78..418c0cfceddd7fdbc50f285922988fc4804e77b5 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(" <b>Unpublished? </b>").append(ls2.isUnpublished()); - boolean isOff = ls2.isOffline(); - buf.append(" <b>Offline signed? </b>").append(isOff); - if (isOff) + if (ls2.isOffline()) { + buf.append(" <b>Offline signed: </b>"); + 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(" <b>Type: </b>").append(ls2.getTransientSigningKey().getType()); + } } buf.append("</td></tr>\n<tr><td colspan=\"2\">"); //buf.append(dest.toBase32()).append("<br>"); diff --git a/core/java/src/net/i2p/data/LeaseSet2.java b/core/java/src/net/i2p/data/LeaseSet2.java index 7f7972fe8533451bf215d380662246b3864782a1..b1fc39a5cf0a6b98cbd336e53d5778ed65a1203c 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. *