From 581afa812a104dc96368fdf9d839698dec0e031d Mon Sep 17 00:00:00 2001 From: Leumor <116955025+leumor@users.noreply.github.com> Date: Mon, 23 Mar 2026 21:20:14 +0000 Subject: [PATCH] refactor(boundary): Move SSL and writable output contract Move SSL into network.crypta.node.runtime so future crypto-keys extraction work no longer carries config glue inside network.crypta.crypt. Move WritableToDataOutputStream into foundation-support and register its owned output pattern so stale aggregated root outputs are pruned correctly. Update affected production and test imports to use the relocated types without changing behavior. --- foundation-support/gradle/owned-output-patterns.txt | 1 + .../java/network/crypta/io/WritableToDataOutputStream.java | 0 .../network/crypta/clients/fcp/FcpServerConfigRegistrar.java | 2 +- .../java/network/crypta/clients/http/SimpleToadletServer.java | 2 +- .../java/network/crypta/clients/http/ToadletContextImpl.java | 2 +- src/main/java/network/crypta/io/SSLNetworkInterface.java | 2 +- src/main/java/network/crypta/node/NodeStarter.java | 2 +- .../network/crypta/node/TextModeClientInterfaceServer.java | 2 +- src/main/java/network/crypta/{crypt => node/runtime}/SSL.java | 3 ++- src/test/java/network/crypta/crypt/SSLTest.java | 1 + src/test/java/network/crypta/io/SSLNetworkInterfaceTest.java | 2 +- src/test/java/network/crypta/node/NodeStarterTest.java | 2 +- .../network/crypta/node/TextModeClientInterfaceServerTest.java | 2 +- 13 files changed, 13 insertions(+), 10 deletions(-) rename {src => foundation-support/src}/main/java/network/crypta/io/WritableToDataOutputStream.java (100%) rename src/main/java/network/crypta/{crypt => node/runtime}/SSL.java (99%) diff --git a/foundation-support/gradle/owned-output-patterns.txt b/foundation-support/gradle/owned-output-patterns.txt index 8633c0b5f8c..b594d64c2df 100644 --- a/foundation-support/gradle/owned-output-patterns.txt +++ b/foundation-support/gradle/owned-output-patterns.txt @@ -2,6 +2,7 @@ # Keep this list limited to the stable generic support subset extracted into :foundation-support. network/crypta/node/FSParseException* +network/crypta/io/WritableToDataOutputStream* network/crypta/support/api/Bucket* network/crypta/support/api/BucketFactory* network/crypta/support/api/LockableRandomAccessBuffer* diff --git a/src/main/java/network/crypta/io/WritableToDataOutputStream.java b/foundation-support/src/main/java/network/crypta/io/WritableToDataOutputStream.java similarity index 100% rename from src/main/java/network/crypta/io/WritableToDataOutputStream.java rename to foundation-support/src/main/java/network/crypta/io/WritableToDataOutputStream.java diff --git a/src/main/java/network/crypta/clients/fcp/FcpServerConfigRegistrar.java b/src/main/java/network/crypta/clients/fcp/FcpServerConfigRegistrar.java index 50752c9d064..4acacb26f82 100644 --- a/src/main/java/network/crypta/clients/fcp/FcpServerConfigRegistrar.java +++ b/src/main/java/network/crypta/clients/fcp/FcpServerConfigRegistrar.java @@ -8,9 +8,9 @@ import network.crypta.config.Option; import network.crypta.config.StringCallback; import network.crypta.config.SubConfig; -import network.crypta.crypt.SSL; import network.crypta.io.NetworkInterface; import network.crypta.l10n.NodeL10n; +import network.crypta.node.runtime.SSL; /** * Registers FCP server configuration options and constructs a configured {@link FCPServer}. diff --git a/src/main/java/network/crypta/clients/http/SimpleToadletServer.java b/src/main/java/network/crypta/clients/http/SimpleToadletServer.java index 5b2dce4e10e..733fa89cbec 100644 --- a/src/main/java/network/crypta/clients/http/SimpleToadletServer.java +++ b/src/main/java/network/crypta/clients/http/SimpleToadletServer.java @@ -25,7 +25,6 @@ import network.crypta.config.Option; import network.crypta.config.StringCallback; import network.crypta.config.SubConfig; -import network.crypta.crypt.SSL; import network.crypta.io.AllowedHosts; import network.crypta.io.NetworkInterface; import network.crypta.io.SSLNetworkInterface; @@ -33,6 +32,7 @@ import network.crypta.l10n.NodeL10n; import network.crypta.node.NodeClientCore; import network.crypta.node.PrioRunnable; +import network.crypta.node.runtime.SSL; import network.crypta.node.useralerts.UserAlertManager; import network.crypta.runtime.spi.RandomnessPort; import network.crypta.runtime.spi.RuntimePorts; diff --git a/src/main/java/network/crypta/clients/http/ToadletContextImpl.java b/src/main/java/network/crypta/clients/http/ToadletContextImpl.java index ea601e5fcd2..d40e28bdc86 100644 --- a/src/main/java/network/crypta/clients/http/ToadletContextImpl.java +++ b/src/main/java/network/crypta/clients/http/ToadletContextImpl.java @@ -27,8 +27,8 @@ import java.util.concurrent.atomic.AtomicReference; import network.crypta.clients.http.FProxyFetchInProgress.REFILTER_POLICY; import network.crypta.clients.http.bookmark.BookmarkManager; -import network.crypta.crypt.SSL; import network.crypta.l10n.NodeL10n; +import network.crypta.node.runtime.SSL; import network.crypta.node.useralerts.UserAlertManager; import network.crypta.support.HTMLEncoder; import network.crypta.support.HTMLNode; diff --git a/src/main/java/network/crypta/io/SSLNetworkInterface.java b/src/main/java/network/crypta/io/SSLNetworkInterface.java index 4a3c15457bc..2efda3c6e0c 100644 --- a/src/main/java/network/crypta/io/SSLNetworkInterface.java +++ b/src/main/java/network/crypta/io/SSLNetworkInterface.java @@ -8,7 +8,7 @@ import java.util.List; import java.util.Set; import javax.net.ssl.SSLServerSocket; -import network.crypta.crypt.SSL; +import network.crypta.node.runtime.SSL; import network.crypta.support.PriorityAwareExecutor; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/src/main/java/network/crypta/node/NodeStarter.java b/src/main/java/network/crypta/node/NodeStarter.java index ce3b6ebcc78..4d30c25463b 100644 --- a/src/main/java/network/crypta/node/NodeStarter.java +++ b/src/main/java/network/crypta/node/NodeStarter.java @@ -23,12 +23,12 @@ import network.crypta.crypt.CryptoRandoms; import network.crypta.crypt.JceLoader; import network.crypta.crypt.RandomSource; -import network.crypta.crypt.SSL; import network.crypta.crypt.Yarrow; import network.crypta.fs.AppDirs; import network.crypta.fs.AppEnv; import network.crypta.fs.Resolved; import network.crypta.fs.ServiceDirs; +import network.crypta.node.runtime.SSL; import network.crypta.support.JVMVersion; import network.crypta.support.Logging; import network.crypta.support.PooledExecutor; diff --git a/src/main/java/network/crypta/node/TextModeClientInterfaceServer.java b/src/main/java/network/crypta/node/TextModeClientInterfaceServer.java index 21a8396ea0a..f3a285575bf 100644 --- a/src/main/java/network/crypta/node/TextModeClientInterfaceServer.java +++ b/src/main/java/network/crypta/node/TextModeClientInterfaceServer.java @@ -16,9 +16,9 @@ import network.crypta.config.StringCallback; import network.crypta.config.SubConfig; import network.crypta.crypt.RandomSource; -import network.crypta.crypt.SSL; import network.crypta.io.NetworkInterface; import network.crypta.io.SSLNetworkInterface; +import network.crypta.node.runtime.SSL; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/src/main/java/network/crypta/crypt/SSL.java b/src/main/java/network/crypta/node/runtime/SSL.java similarity index 99% rename from src/main/java/network/crypta/crypt/SSL.java rename to src/main/java/network/crypta/node/runtime/SSL.java index 4b52052da72..0677765164d 100644 --- a/src/main/java/network/crypta/crypt/SSL.java +++ b/src/main/java/network/crypta/node/runtime/SSL.java @@ -1,4 +1,4 @@ -package network.crypta.crypt; +package network.crypta.node.runtime; import java.io.FileInputStream; import java.io.FileNotFoundException; @@ -29,6 +29,7 @@ import network.crypta.config.Option; import network.crypta.config.StringCallback; import network.crypta.config.SubConfig; +import network.crypta.crypt.CryptoRandoms; import org.bouncycastle.asn1.x500.X500Name; import org.bouncycastle.asn1.x509.ExtendedKeyUsage; import org.bouncycastle.asn1.x509.Extension; diff --git a/src/test/java/network/crypta/crypt/SSLTest.java b/src/test/java/network/crypta/crypt/SSLTest.java index 0d7494c112d..8d443b8e71b 100644 --- a/src/test/java/network/crypta/crypt/SSLTest.java +++ b/src/test/java/network/crypta/crypt/SSLTest.java @@ -8,6 +8,7 @@ import network.crypta.config.InvalidConfigValueException; import network.crypta.config.NodeNeedRestartException; import network.crypta.config.SubConfig; +import network.crypta.node.runtime.SSL; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/src/test/java/network/crypta/io/SSLNetworkInterfaceTest.java b/src/test/java/network/crypta/io/SSLNetworkInterfaceTest.java index 1500a9ec73d..cfa4a97b397 100644 --- a/src/test/java/network/crypta/io/SSLNetworkInterfaceTest.java +++ b/src/test/java/network/crypta/io/SSLNetworkInterfaceTest.java @@ -4,7 +4,7 @@ import java.lang.reflect.Field; import javax.net.ServerSocketFactory; import javax.net.ssl.SSLServerSocket; -import network.crypta.crypt.SSL; +import network.crypta.node.runtime.SSL; import network.crypta.support.PriorityAwareExecutor; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; diff --git a/src/test/java/network/crypta/node/NodeStarterTest.java b/src/test/java/network/crypta/node/NodeStarterTest.java index 6f81b38adcf..cc6148dae19 100644 --- a/src/test/java/network/crypta/node/NodeStarterTest.java +++ b/src/test/java/network/crypta/node/NodeStarterTest.java @@ -12,7 +12,7 @@ import network.crypta.crypt.CryptoRandoms; import network.crypta.crypt.DummyRandomSource; import network.crypta.crypt.RandomSource; -import network.crypta.crypt.SSL; +import network.crypta.node.runtime.SSL; import network.crypta.node.subsystem.NodeNetworkSubsystem; import network.crypta.support.SimpleFieldSet; import network.crypta.support.io.NativeThread; diff --git a/src/test/java/network/crypta/node/TextModeClientInterfaceServerTest.java b/src/test/java/network/crypta/node/TextModeClientInterfaceServerTest.java index 25631ee8070..c6d1de30fcd 100644 --- a/src/test/java/network/crypta/node/TextModeClientInterfaceServerTest.java +++ b/src/test/java/network/crypta/node/TextModeClientInterfaceServerTest.java @@ -10,8 +10,8 @@ import network.crypta.config.InvalidConfigValueException; import network.crypta.config.SubConfig; import network.crypta.crypt.RandomSource; -import network.crypta.crypt.SSL; import network.crypta.io.NetworkInterface; +import network.crypta.node.runtime.SSL; import network.crypta.node.subsystem.NodeBootstrap; import network.crypta.node.subsystem.NodeNetworkSubsystem; import network.crypta.support.PriorityAwareExecutor;