From 3a30f074830e35032f5ed5b1087e504aff9c82a4 Mon Sep 17 00:00:00 2001 From: zzz <zzz@mail.i2p> Date: Wed, 6 Feb 2019 11:54:29 +0000 Subject: [PATCH] I2CP: Prevent use of repliable datagrams with offline keys --- .../src/net/i2p/client/datagram/I2PDatagramMaker.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/core/java/src/net/i2p/client/datagram/I2PDatagramMaker.java b/core/java/src/net/i2p/client/datagram/I2PDatagramMaker.java index 015bbdbcd8..e39c6a6667 100644 --- a/core/java/src/net/i2p/client/datagram/I2PDatagramMaker.java +++ b/core/java/src/net/i2p/client/datagram/I2PDatagramMaker.java @@ -45,7 +45,10 @@ public final class I2PDatagramMaker { * Construct a new I2PDatagramMaker that will be able to create I2P * repliable datagrams going to be sent through the specified I2PSession. * + * Does NOT support LS2 offline keys! + * * @param session I2PSession used to send I2PDatagrams through + * @throws IllegalArgumentException if session has offline keys */ public I2PDatagramMaker(I2PSession session) { this.setI2PDatagramMaker(session); @@ -59,7 +62,15 @@ public final class I2PDatagramMaker { // nop } + /** + * Does NOT support LS2 offline keys! + * + * @param session I2PSession used to send I2PDatagrams through + * @throws IllegalArgumentException if session has offline keys + */ public void setI2PDatagramMaker(I2PSession session) { + if (session.isOffline()) + throw new IllegalArgumentException("Offline keys unsupported"); sxPrivKey = session.getPrivateKey(); sxDestBytes = session.getMyDestination().toByteArray(); } -- GitLab