Add transport-ssh 99/102299/51
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 7 Sep 2022 09:48:51 +0000 (11:48 +0200)
committerRobert Varga <nite@hq.sk>
Wed, 19 Apr 2023 12:27:21 +0000 (12:27 +0000)
commit81f61b12dc28c41bcb7f3195b5869fe30ec03a98
tree308323e7cceefeb43372ed43b4dfcfa51d484fa7
parent61174978d9a5978f14850b51d237a461a876719e
Add transport-ssh

Add NETCONF transport implementation based on Apache SSHD.

Due to connection is managed by underlying TCP component
both sshd client and server implementations are not used
for connection but as factory managers. These are providing
associated session builders with factories configured
and serving ssh sessions.

sshd-netty components were used as reference on establishing
ssh sessions on top of existing communication channel.

JIRA: NETCONF-590
Change-Id: I21245b2f8b932da0a57fa386ee62b05dfcf8cc18
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Signed-off-by: Ruslan Kashapov <ruslan.kashapov@pantheon.tech>
30 files changed:
artifacts/pom.xml
transport/pom.xml
transport/transport-ssh/pom.xml [new file with mode: 0644]
transport/transport-ssh/src/main/java/org/opendaylight/netconf/transport/ssh/ConfigUtils.java [new file with mode: 0644]
transport/transport-ssh/src/main/java/org/opendaylight/netconf/transport/ssh/CryptHashPasswordAuthenticator.java [new file with mode: 0644]
transport/transport-ssh/src/main/java/org/opendaylight/netconf/transport/ssh/IetfSshClientProvider.java [new file with mode: 0644]
transport/transport-ssh/src/main/java/org/opendaylight/netconf/transport/ssh/IetfSshCommonProvider.java [new file with mode: 0644]
transport/transport-ssh/src/main/java/org/opendaylight/netconf/transport/ssh/IetfSshServerProvider.java [new file with mode: 0644]
transport/transport-ssh/src/main/java/org/opendaylight/netconf/transport/ssh/KeyUtils.java [new file with mode: 0644]
transport/transport-ssh/src/main/java/org/opendaylight/netconf/transport/ssh/SSHClient.java [new file with mode: 0644]
transport/transport-ssh/src/main/java/org/opendaylight/netconf/transport/ssh/SSHServer.java [new file with mode: 0644]
transport/transport-ssh/src/main/java/org/opendaylight/netconf/transport/ssh/SSHTransportChannel.java [new file with mode: 0644]
transport/transport-ssh/src/main/java/org/opendaylight/netconf/transport/ssh/SSHTransportStack.java [new file with mode: 0644]
transport/transport-ssh/src/main/java/org/opendaylight/netconf/transport/ssh/ServerPublicKeyVerifier.java [new file with mode: 0644]
transport/transport-ssh/src/main/java/org/opendaylight/netconf/transport/ssh/SshIoService.java [new file with mode: 0644]
transport/transport-ssh/src/main/java/org/opendaylight/netconf/transport/ssh/SshIoSession.java [new file with mode: 0644]
transport/transport-ssh/src/main/java/org/opendaylight/netconf/transport/ssh/TransportUtils.java [new file with mode: 0644]
transport/transport-ssh/src/main/java/org/opendaylight/netconf/transport/ssh/UserAuthSessionListener.java [new file with mode: 0644]
transport/transport-ssh/src/main/java/org/opendaylight/netconf/transport/ssh/UserPublicKeyAuthenticator.java [new file with mode: 0644]
transport/transport-ssh/src/main/java/org/opendaylight/netconf/transport/ssh/package-info.java [new file with mode: 0644]
transport/transport-ssh/src/main/yang/iana-crypt-hash@2014-08-06.yang [new file with mode: 0644]
transport/transport-ssh/src/main/yang/iana-ssh-encryption-algs@2022-06-16.yang [new file with mode: 0644]
transport/transport-ssh/src/main/yang/iana-ssh-key-exchange-algs@2022-06-16.yang [new file with mode: 0644]
transport/transport-ssh/src/main/yang/iana-ssh-mac-algs@2022-06-16.yang [new file with mode: 0644]
transport/transport-ssh/src/main/yang/iana-ssh-public-key-algs@2022-06-16.yang [new file with mode: 0644]
transport/transport-ssh/src/main/yang/ietf-ssh-client@2022-12-12.yang [new file with mode: 0644]
transport/transport-ssh/src/main/yang/ietf-ssh-common@2022-12-12.yang [new file with mode: 0644]
transport/transport-ssh/src/main/yang/ietf-ssh-server@2022-12-12.yang [new file with mode: 0644]
transport/transport-ssh/src/test/java/org/opendaylight/netconf/transport/ssh/SshClientServerTest.java [new file with mode: 0644]
transport/transport-ssh/src/test/java/org/opendaylight/netconf/transport/ssh/TestUtils.java [new file with mode: 0644]