X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fnetconf%2Fnetconf-ssh%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnetconf%2Fosgi%2FNetconfSSHActivator.java;h=8b3c5d70adfae08090eaa0c8a3f2a210ed743726;hb=7e649c596923dc01097dfa0b87a026cc7314c70e;hp=3b513790bd128806a7ef1bec2561bd90fee6420a;hpb=624ef3055dc8a93ac0af2e269fa86e5ef4ecd271;p=controller.git diff --git a/opendaylight/netconf/netconf-ssh/src/main/java/org/opendaylight/controller/netconf/osgi/NetconfSSHActivator.java b/opendaylight/netconf/netconf-ssh/src/main/java/org/opendaylight/controller/netconf/osgi/NetconfSSHActivator.java index 3b513790bd..8b3c5d70ad 100644 --- a/opendaylight/netconf/netconf-ssh/src/main/java/org/opendaylight/controller/netconf/osgi/NetconfSSHActivator.java +++ b/opendaylight/netconf/netconf-ssh/src/main/java/org/opendaylight/controller/netconf/osgi/NetconfSSHActivator.java @@ -8,6 +8,7 @@ package org.opendaylight.controller.netconf.osgi; import com.google.common.base.Optional; +import java.io.FileInputStream; import java.net.InetSocketAddress; import org.opendaylight.controller.netconf.ssh.NetconfSSHServer; import org.opendaylight.controller.netconf.ssh.authentication.AuthProvider; @@ -42,7 +43,7 @@ public class NetconfSSHActivator implements BundleActivator{ ServiceTrackerCustomizer customizer = new ServiceTrackerCustomizer(){ @Override public IUserManager addingService(ServiceReference reference) { - logger.info("Service IUserManager added, let there be SSH bridge."); + logger.info("Service {} added, let there be SSH bridge.", reference); iUserManager = context.getService(reference); try { onUserManagerFound(iUserManager); @@ -53,13 +54,13 @@ public class NetconfSSHActivator implements BundleActivator{ } @Override public void modifiedService(ServiceReference reference, IUserManager service) { - logger.info("Replacing modified service IUserManager in netconf SSH."); + logger.info("Replacing modified service {} in netconf SSH.", reference); server.addUserManagerService(service); } @Override public void removedService(ServiceReference reference, IUserManager service) { - logger.info("Removing service IUserManager from netconf SSH. " + - "SSH won't authenticate users until IUserManeger service will be started."); + logger.info("Removing service {} from netconf SSH. " + + "SSH won't authenticate users until IUserManeger service will be started.", reference); removeUserManagerService(); } }; @@ -85,8 +86,17 @@ public class NetconfSSHActivator implements BundleActivator{ EXCEPTION_MESSAGE, true); if (sshSocketAddressOptional.isPresent()){ - AuthProvider authProvider = new AuthProvider(iUserManager); - this.server = NetconfSSHServer.start(sshSocketAddressOptional.get().getPort(),tcpSocketAddress,authProvider); + String path = NetconfConfigUtil.getPrivateKeyPath(context); + path = path.replace("\\", "/"); + if (path.equals("")){ + throw new Exception("Missing netconf.ssh.pk.path key in configuration file."); + } + + try (FileInputStream fis = new FileInputStream(path)){ + AuthProvider authProvider = new AuthProvider(iUserManager,fis); + this.server = NetconfSSHServer.start(sshSocketAddressOptional.get().getPort(),tcpSocketAddress,authProvider); + } + Thread serverThread = new Thread(server,"netconf SSH server thread"); serverThread.setDaemon(true); serverThread.start();