code cleanup

This commit is contained in:
ori agranat
2020-02-25 00:28:14 +02:00
parent 54a1ba1a5a
commit c20f62a8c0
5 changed files with 19 additions and 24 deletions

View File

@@ -64,7 +64,7 @@ public class LinuxNetworking extends SysNetworking {
@Override
public boolean setStatic(String ipAddress, String netmask, String gateway) {
setDHCP();
setDHCP(); // clean up old static interface
File dhcpConf = new File(PATH);
try {
List<String> lines = FileUtils.readLines(dhcpConf, StandardCharsets.UTF_8);
@@ -89,7 +89,6 @@ public class LinuxNetworking extends SysNetworking {
} catch (SocketException e) {
return null;
}
List<java.net.NetworkInterface> goodInterfaces = new ArrayList<>();
for (var netInterface : netInterfaces) {

View File

@@ -3,19 +3,20 @@ package com.chameleonvision.network;
import java.net.InetAddress;
public class NetmaskToCIDR {
public static int convertNetmaskToCIDR(InetAddress netmask){
//code belongs to https://stackoverflow.com/questions/19531411/calculate-cidr-from-a-given-netmask-java
public static int convertNetmaskToCIDR(InetAddress netmask) {
byte[] netmaskBytes = netmask.getAddress();
int cidr = 0;
boolean zero = false;
for(byte b : netmaskBytes){
for (byte b : netmaskBytes) {
int mask = 0x80;
for(int i = 0; i < 8; i++){
for (int i = 0; i < 8; i++) {
int result = b & mask;
if(result == 0){
if (result == 0) {
zero = true;
}else if(zero){
} else if (zero) {
throw new IllegalArgumentException("Invalid netmask.");
} else {
cidr++;

View File

@@ -68,12 +68,6 @@ public class NetworkManager {
} else {
isManaged = false;
System.err.println("No valid network interfaces found! Staying unmanaged.");
return;
}
if (!loadFromGeneralSettings()) {
isManaged = false;
System.err.println("Failed to load network settings. Staying unmanaged!");
}
}
@@ -81,13 +75,6 @@ public class NetworkManager {
return new byte[]{(byte) (teamNumber / 100), (byte) (teamNumber % 100)};
}
private static boolean loadFromGeneralSettings() {
if (!isManaged) {
return true;
}
var genSettings = ConfigManager.settings;
return setHostname(genSettings.hostname);
}
private static boolean setDHCP() {
if (!isManaged) {
@@ -103,7 +90,7 @@ public class NetworkManager {
return networking.setStatic(ipAddress, netmask, gateway);
}
private static boolean setHostname(String hostname) {
public static boolean setHostname(String hostname) {
if (!isManaged) {
return true;
}

View File

@@ -53,11 +53,18 @@ public class RequestHandler {
ConfigManager.settings.netmask = (String) map.get("netmask");
ConfigManager.settings.gateway = (String) map.get("gateway");
ConfigManager.settings.hostname = (String) map.get("hostname");
boolean isStatic = ConfigManager.settings.connectionType.equals(NetworkIPMode.STATIC);
ConfigManager.saveGeneralSettings();
NetworkManager.setNetwork(isStatic, ConfigManager.settings.ip, ConfigManager.settings.netmask, ConfigManager.settings.gateway);
// setting up network config after saving
boolean isStatic = ConfigManager.settings.connectionType.equals(NetworkIPMode.STATIC);
if (NetworkManager.setHostname(ConfigManager.settings.hostname) &&
NetworkManager.setNetwork(isStatic, ConfigManager.settings.ip, ConfigManager.settings.netmask, ConfigManager.settings.gateway)) {
ctx.status(200);
} else {
ctx.result("something went wrong while setting network configuration");
ctx.status(501);
}
SocketHandler.sendFullSettings();
ctx.status(200);
} catch (JsonProcessingException e) {
ctx.status(500);
}