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;
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);
@Nonnull
@Override
- public CallHomeAuthorization provideAuth(@Nonnull SocketAddress remoteAddress, @Nonnull PublicKey serverKey) {
+ public CallHomeAuthorization provideAuth(@Nonnull final SocketAddress remoteAddress,
+ @Nonnull final PublicKey serverKey) {
Device deviceSpecific = deviceConfig.get(serverKey);
String sessionName;
Credentials deviceCred;
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();
private final ConcurrentMap<PublicKey, Device> byPublicKey = new ConcurrentHashMap<>();
@Override
- public void onDataTreeChanged(@Nonnull Collection<DataTreeModification<Device>> mods) {
+ public void onDataTreeChanged(@Nonnull final Collection<DataTreeModification<Device>> mods) {
for (DataTreeModification<Device> dataTreeModification : mods) {
DataObjectModification<Device> rootNode = dataTreeModification.getRootNode();
process(rootNode);
}
}
- private void process(DataObjectModification<Device> deviceMod) {
+ private void process(final DataObjectModification<Device> deviceMod) {
Device before = deviceMod.getDataBefore();
Device after = deviceMod.getDataAfter();
}
}
- private void putDevice(Device device) {
+ private void putDevice(final Device device) {
PublicKey key = publicKey(device);
if (key == null) {
return;
byPublicKey.put(key, device);
}
- private void removeDevice(Device device) {
+ private void removeDevice(final Device device) {
PublicKey key = publicKey(device);
if (key == null) {
return;
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 final ConcurrentMap<String, Device> byPublicKey = new ConcurrentHashMap<>();
@Override
- public void onDataTreeChanged(@Nonnull Collection<DataTreeModification<Device>> mods) {
+ public void onDataTreeChanged(@Nonnull final Collection<DataTreeModification<Device>> mods) {
for (DataTreeModification<Device> dataTreeModification : mods) {
DataObjectModification<Device> rootNode = dataTreeModification.getRootNode();
process(rootNode);
}
}
- private void process(DataObjectModification<Device> deviceMod) {
+ private void process(final DataObjectModification<Device> deviceMod) {
Device before = deviceMod.getDataBefore();
Device after = deviceMod.getDataAfter();
}
}
- 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 {
private volatile Global current = null;
@Override
- public void onDataTreeChanged(@Nonnull Collection<DataTreeModification<Global>> mods) {
+ public void onDataTreeChanged(@Nonnull final Collection<DataTreeModification<Global>> mods) {
for (DataTreeModification<Global> dataTreeModification : mods) {
current = dataTreeModification.getRootNode().getDataAfter();
}