I2CP, i2ptunnel: Check for expired offline signature client-side

Better error message on the router side
This commit is contained in:
zzz
2020-06-06 18:44:49 +00:00
parent ac76d544b9
commit f1a277c4d7
3 changed files with 19 additions and 4 deletions

View File

@@ -23,6 +23,7 @@ import net.i2p.client.I2PSessionException;
import net.i2p.client.SendMessageOptions;
import net.i2p.data.DatabaseEntry;
import net.i2p.data.DataFormatException;
import net.i2p.data.DataHelper;
import net.i2p.data.Destination;
import net.i2p.data.LeaseSet;
import net.i2p.data.Payload;
@@ -148,7 +149,10 @@ class I2CPMessageProducer {
}
cfg.setOptions(p);
if (isOffline) {
cfg.setOfflineSignature(session.getOfflineExpiration(),
long exp = session.getOfflineExpiration();
if (exp < _context.clock().now())
throw new I2PSessionException("Offline signature expired " + DataHelper.formatTime(exp));
cfg.setOfflineSignature(exp,
session.getTransientSigningPublicKey(),
session.getOfflineSignature());
}