X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=netconf%2Fcallhome-provider%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fnetconf%2Fcallhome%2Fmount%2FCallHomeAuthProviderImpl.java;h=29632c247f1f4caf420b94009db530aab6b7d864;hb=45cfee1861924b4a8086d38079ce8cbd320386d6;hp=7f50653eed4fdc143d8670d2074d3d899908a863;hpb=25c72615767a4315c0f519015ff10df1c381d246;p=netconf.git diff --git a/netconf/callhome-provider/src/main/java/org/opendaylight/netconf/callhome/mount/CallHomeAuthProviderImpl.java b/netconf/callhome-provider/src/main/java/org/opendaylight/netconf/callhome/mount/CallHomeAuthProviderImpl.java index 7f50653eed..29632c247f 100644 --- a/netconf/callhome-provider/src/main/java/org/opendaylight/netconf/callhome/mount/CallHomeAuthProviderImpl.java +++ b/netconf/callhome-provider/src/main/java/org/opendaylight/netconf/callhome/mount/CallHomeAuthProviderImpl.java @@ -12,10 +12,8 @@ import com.google.common.net.InetAddresses; import java.io.IOException; import java.net.InetSocketAddress; import java.net.SocketAddress; -import java.security.NoSuchAlgorithmException; -import java.security.NoSuchProviderException; +import java.security.GeneralSecurityException; import java.security.PublicKey; -import java.security.spec.InvalidKeySpecException; import java.util.Collection; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; @@ -64,7 +62,7 @@ public class CallHomeAuthProviderImpl implements CallHomeAuthorizationProvider, private final CallhomeStatusReporter statusReporter; - CallHomeAuthProviderImpl(DataBroker broker) { + CallHomeAuthProviderImpl(final DataBroker broker) { configReg = broker.registerDataTreeChangeListener(GLOBAL, globalConfig); deviceReg = broker.registerDataTreeChangeListener(ALLOWED_DEVICES, deviceConfig); deviceOpReg = broker.registerDataTreeChangeListener(ALLOWED_OP_DEVICES, deviceOp); @@ -73,7 +71,8 @@ public class CallHomeAuthProviderImpl implements CallHomeAuthorizationProvider, @Nonnull @Override - public CallHomeAuthorization provideAuth(SocketAddress remoteAddress, PublicKey serverKey) { + public CallHomeAuthorization provideAuth(@Nonnull final SocketAddress remoteAddress, + @Nonnull final PublicKey serverKey) { Device deviceSpecific = deviceConfig.get(serverKey); String sessionName; Credentials deviceCred; @@ -89,10 +88,11 @@ public class CallHomeAuthProviderImpl implements CallHomeAuthorizationProvider, statusReporter.asForceListedDevice(syntheticId, serverKey); } else { Device opDevice = deviceOp.get(serverKey); - if (opDevice == null) + if (opDevice == null) { statusReporter.asUnlistedDevice(syntheticId, serverKey); - else + } else { LOG.info("Repeating rejection of unlisted device with id of {}", opDevice.getUniqueId()); + } return CallHomeAuthorization.rejected(); } } @@ -118,7 +118,7 @@ public class CallHomeAuthProviderImpl implements CallHomeAuthorizationProvider, deviceOpReg.close(); } - private String fromRemoteAddress(SocketAddress remoteAddress) { + private static String fromRemoteAddress(final SocketAddress remoteAddress) { if (remoteAddress instanceof InetSocketAddress) { InetSocketAddress socketAddress = (InetSocketAddress) remoteAddress; return InetAddresses.toAddrString(socketAddress.getAddress()) + ":" + socketAddress.getPort(); @@ -130,17 +130,17 @@ public class CallHomeAuthProviderImpl implements CallHomeAuthorizationProvider, private final AuthorizedKeysDecoder keyDecoder = new AuthorizedKeysDecoder(); - private ConcurrentMap byPublicKey = new ConcurrentHashMap(); + private final ConcurrentMap byPublicKey = new ConcurrentHashMap<>(); @Override - public void onDataTreeChanged(Collection> mods) { + public void onDataTreeChanged(@Nonnull final Collection> mods) { for (DataTreeModification dataTreeModification : mods) { DataObjectModification rootNode = dataTreeModification.getRootNode(); process(rootNode); } } - private void process(DataObjectModification deviceMod) { + private void process(final DataObjectModification deviceMod) { Device before = deviceMod.getDataBefore(); Device after = deviceMod.getDataAfter(); @@ -158,7 +158,7 @@ public class CallHomeAuthProviderImpl implements CallHomeAuthorizationProvider, } } - private void putDevice(Device device) { + private void putDevice(final Device device) { PublicKey key = publicKey(device); if (key == null) { return; @@ -166,7 +166,7 @@ public class CallHomeAuthProviderImpl implements CallHomeAuthorizationProvider, byPublicKey.put(key, device); } - private void removeDevice(Device device) { + private void removeDevice(final Device device) { PublicKey key = publicKey(device); if (key == null) { return; @@ -174,34 +174,34 @@ public class CallHomeAuthProviderImpl implements CallHomeAuthorizationProvider, byPublicKey.remove(key); } - private PublicKey publicKey(Device device) { + private PublicKey publicKey(final Device device) { String hostKey = device.getSshHostKey(); try { return keyDecoder.decodePublicKey(hostKey); - } catch (InvalidKeySpecException | NoSuchAlgorithmException | NoSuchProviderException e) { + } catch (GeneralSecurityException e) { LOG.error("Unable to decode SSH key for {}. Ignoring update for this device", device.getUniqueId(), e); return null; } } - private Device get(PublicKey key) { + private Device get(final PublicKey key) { return byPublicKey.get(key); } } private class DeviceOp implements DataTreeChangeListener { - private ConcurrentMap byPublicKey = new ConcurrentHashMap<>(); + private final ConcurrentMap byPublicKey = new ConcurrentHashMap<>(); @Override - public void onDataTreeChanged(Collection> mods) { + public void onDataTreeChanged(@Nonnull final Collection> mods) { for (DataTreeModification dataTreeModification : mods) { DataObjectModification rootNode = dataTreeModification.getRootNode(); process(rootNode); } } - private void process(DataObjectModification deviceMod) { + private void process(final DataObjectModification deviceMod) { Device before = deviceMod.getDataBefore(); Device after = deviceMod.getDataAfter(); @@ -219,17 +219,17 @@ public class CallHomeAuthProviderImpl implements CallHomeAuthorizationProvider, } } - private void putDevice(Device device) { + private void putDevice(final Device device) { String key = device.getSshHostKey(); byPublicKey.put(key, device); } - private void removeDevice(Device device) { + private void removeDevice(final Device device) { String key = device.getSshHostKey(); byPublicKey.remove(key); } - Device get(PublicKey serverKey) { + Device get(final PublicKey serverKey) { String skey = ""; try { @@ -247,7 +247,7 @@ public class CallHomeAuthProviderImpl implements CallHomeAuthorizationProvider, private volatile Global current = null; @Override - public void onDataTreeChanged(Collection> mods) { + public void onDataTreeChanged(@Nonnull final Collection> mods) { for (DataTreeModification dataTreeModification : mods) { current = dataTreeModification.getRootNode().getDataAfter(); }