Rework SslHandlerFactory 62/110062/16
authorRobert Varga <robert.varga@pantheon.tech>
Sun, 28 Jan 2024 17:40:33 +0000 (18:40 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Sun, 4 Feb 2024 15:42:29 +0000 (16:42 +0100)
commitac384e8c3d554eec7db593c519ae8a0653a2ce79
tree4913d49b48e771e9373c4579d20fc44365da0489
parenta484491c13910bc0bd6bbb0ce17b066b7cec67c3
Rework SslHandlerFactory

Tracking down all the possible implementations and bridging of
SslHandlerFactor is not nice.

Turn SslHandlerFactory into an abstract class, with an explicit
fixed specialization.

This also allows us to put the configuration parsing bits to where
users can find them -- and create dynamic SslContexts as appropriate.

Furthermore this ends up differentiating the deprecated
netconf.client.SslHandlerFactory -- which becomes SslContextFactory and
we end up ditching the manual SSLEngine creation.

JIRA: NETCONF-1237
Change-Id: I2cd4721336f9867921123521d7b18d91a8743835
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
25 files changed:
apps/callhome-provider/src/main/java/org/opendaylight/netconf/callhome/mount/tls/CallHomeMountTlsAuthProvider.java
apps/callhome-provider/src/main/java/org/opendaylight/netconf/callhome/server/tls/CallHomeTlsAuthProvider.java
apps/callhome-provider/src/test/java/org/opendaylight/netconf/callhome/server/tls/CallHomeTlsServerTest.java
apps/netconf-topology-singleton/src/test/java/org/opendaylight/netconf/topology/singleton/impl/MountPointEndToEndTest.java
apps/netconf-topology/src/main/java/org/opendaylight/netconf/topology/spi/NetconfClientConfigurationBuilderFactoryImpl.java
apps/netconf-topology/src/test/java/org/opendaylight/netconf/topology/spi/NetconfClientConfigurationBuilderFactoryImplTest.java
apps/netconf-topology/src/test/java/org/opendaylight/netconf/topology/spi/NetconfNodeHandlerTest.java
plugins/netconf-client-mdsal/src/main/java/org/opendaylight/netconf/client/mdsal/api/SslContextFactoryProvider.java [moved from plugins/netconf-client-mdsal/src/main/java/org/opendaylight/netconf/client/mdsal/api/SslHandlerFactoryProvider.java with 73% similarity]
plugins/netconf-client-mdsal/src/main/java/org/opendaylight/netconf/client/mdsal/impl/DefaultSslContextFactory.java [new file with mode: 0644]
plugins/netconf-client-mdsal/src/main/java/org/opendaylight/netconf/client/mdsal/impl/DefaultSslContextFactoryProvider.java [moved from plugins/netconf-client-mdsal/src/main/java/org/opendaylight/netconf/client/mdsal/impl/DefaultSslHandlerFactoryProvider.java with 83% similarity]
plugins/netconf-client-mdsal/src/main/java/org/opendaylight/netconf/client/mdsal/impl/FilteredSslContext.java [new file with mode: 0644]
plugins/netconf-client-mdsal/src/main/java/org/opendaylight/netconf/client/mdsal/impl/FilteredSslContextFactory.java [new file with mode: 0644]
plugins/netconf-client-mdsal/src/main/java/org/opendaylight/netconf/client/mdsal/impl/SslHandlerFactoryImpl.java [deleted file]
plugins/netconf-client-mdsal/src/test/java/org/opendaylight/netconf/client/mdsal/impl/DefaultSslContextFactoryProviderTest.java [moved from plugins/netconf-client-mdsal/src/test/java/org/opendaylight/netconf/client/mdsal/impl/DefaultSslHandlerFactoryProviderTest.java with 97% similarity]
protocol/netconf-client/src/main/java/org/opendaylight/netconf/client/NetconfClientFactoryImpl.java
protocol/netconf-client/src/main/java/org/opendaylight/netconf/client/SslContextFactory.java [new file with mode: 0644]
protocol/netconf-client/src/main/java/org/opendaylight/netconf/client/SslHandlerFactory.java [deleted file]
protocol/netconf-client/src/test/java/org/opendaylight/netconf/client/NetconfClientFactoryImplTest.java
transport/transport-tls/src/main/java/org/opendaylight/netconf/transport/tls/FixedSslHandlerFactory.java [new file with mode: 0644]
transport/transport-tls/src/main/java/org/opendaylight/netconf/transport/tls/KeyStoreUtils.java
transport/transport-tls/src/main/java/org/opendaylight/netconf/transport/tls/SslHandlerFactory.java
transport/transport-tls/src/main/java/org/opendaylight/netconf/transport/tls/TLSClient.java
transport/transport-tls/src/main/java/org/opendaylight/netconf/transport/tls/TLSServer.java
transport/transport-tls/src/main/java/org/opendaylight/netconf/transport/tls/TLSTransportStack.java
transport/transport-tls/src/test/java/org/opendaylight/netconf/transport/tls/TlsClientServerTest.java