From 91a676cb36c2a22421a25653ba24ba9c38da2b75 Mon Sep 17 00:00:00 2001
From: zzz <zzz@mail.i2p>
Date: Sat, 5 Jul 2014 13:37:53 +0000
Subject: [PATCH] public constructors for SKM

---
 .../src/net/i2p/crypto/SessionKeyManager.java | 20 ++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)

diff --git a/core/java/src/net/i2p/crypto/SessionKeyManager.java b/core/java/src/net/i2p/crypto/SessionKeyManager.java
index 1b2e4326f7..cb67c9f3fa 100644
--- a/core/java/src/net/i2p/crypto/SessionKeyManager.java
+++ b/core/java/src/net/i2p/crypto/SessionKeyManager.java
@@ -22,17 +22,27 @@ import net.i2p.data.SessionTag;
  * Manage the session keys and session tags used for encryption and decryption.
  * This base implementation simply ignores sessions and acts as if everything is
  * unknown (and hence always forces a full ElGamal encryption for each message).
- * A more intelligent subclass should manage and persist keys and tags.
+ * See TransientSessionKeyManager subclass which manages and persists keys and tags.
  *
- * TODO if we aren't going to use this for testing, make it abstract.
  */
 public class SessionKeyManager {
 
     /**
-     *  Make this public if you need a dummy SessionKeyManager for testing
+     *  A dummy SessionKeyManager for testing or for passing to
+     *  ElGamalAESEngine.encrypt()
+     *
+     *  @since 0.9.14
      */
-    protected SessionKeyManager(I2PAppContext context) { // nop
-    }
+    public SessionKeyManager() {}
+
+    /**
+     *  A dummy SessionKeyManager for testing or for passing to
+     *  ElGamalAESEngine.encrypt()
+     *
+     *  @param context unused
+     *  @since public since 0.9.14; protected before that
+     */
+    public SessionKeyManager(I2PAppContext context) {}
     
     /**
      * Retrieve the session key currently associated with encryption to the target,
-- 
GitLab