2026-03-17 13:31:18 -07:00

419 lines
16 KiB
Java

/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* com.tridium.sys.Nre
* javax.baja.nre.util.Array
* javax.baja.sys.BAbsTime
* javax.baja.sys.BBoolean
*/
package com.tridium.platform.posix;
import com.tridium.platform.BOperatingSystemEnum;
import com.tridium.sys.Nre;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.StringTokenizer;
import javax.baja.nre.util.Array;
import javax.baja.sys.BAbsTime;
import javax.baja.sys.BBoolean;
/*
* Illegal identifiers - consider using --renameillegalidents true
*/
public class NtpConfUtil {
private static BBoolean EnabledStatusToWrite = null;
private static BBoolean UseLocalBackup = null;
private static BBoolean SyncAtBoot = null;
private static String[] ServerStringsToWrite = null;
private static String EnabledStringToWrite = null;
private static String DisabledStringToWrite = null;
private static int RevokeIntervalToWrite = -1;
private static int RegenIntervalToWrite = -1;
private static int PanicValueToWrite = -1;
private static String[] raw_ntpd_conf_fileContents = null;
private static boolean needToWriteLocalToPlat = false;
private static boolean needToReadLocalFromPlat = true;
private static String ntpConfPath = BOperatingSystemEnum.isOS(BOperatingSystemEnum.qnx) ? Nre.bootEnv.getBajaHome().toString() + File.separator + "lib" + File.separator + "ntp.conf" : "/etc/ntp.conf";
static /* synthetic */ Class class$java$lang$String;
private static final synchronized void load() {
if (needToReadLocalFromPlat) {
Class clazz = class$java$lang$String;
if (clazz == null) {
clazz = class$java$lang$String = NtpConfUtil.class("[Ljava.lang.String;", false);
}
Array array = new Array(clazz);
BufferedReader bufferedReader = null;
String string = null;
try {
bufferedReader = new BufferedReader(new FileReader(ntpConfPath));
while ((string = bufferedReader.readLine()) != null) {
array.add((Object)string.trim());
}
bufferedReader.close();
}
catch (FileNotFoundException fileNotFoundException) {
}
catch (IOException iOException) {
iOException.printStackTrace();
}
raw_ntpd_conf_fileContents = (String[])array.trim();
needToReadLocalFromPlat = false;
}
}
public static String[] getNtpServers() {
NtpConfUtil.load();
Class clazz = class$java$lang$String;
if (clazz == null) {
clazz = class$java$lang$String = NtpConfUtil.class("[Ljava.lang.String;", false);
}
Array array = new Array(clazz);
int n = 0;
while (n < raw_ntpd_conf_fileContents.length) {
if (!raw_ntpd_conf_fileContents[n].startsWith("server 127.127.1.0") && !raw_ntpd_conf_fileContents[n].startsWith("server 127.127.1.1") && (raw_ntpd_conf_fileContents[n].startsWith("server") || raw_ntpd_conf_fileContents[n].startsWith("peer") || raw_ntpd_conf_fileContents[n].startsWith("broadcast") || raw_ntpd_conf_fileContents[n].startsWith("manycastclient"))) {
array.add((Object)raw_ntpd_conf_fileContents[n]);
}
++n;
}
return (String[])array.trim();
}
public static int getPanic() {
NtpConfUtil.load();
int n = BOperatingSystemEnum.isOS(BOperatingSystemEnum.qnx) ? 0 : 1000;
int n2 = 0;
block0: while (n2 < raw_ntpd_conf_fileContents.length) {
if (raw_ntpd_conf_fileContents[n2].startsWith("tinker")) {
StringTokenizer stringTokenizer = new StringTokenizer(raw_ntpd_conf_fileContents[n2]);
while (stringTokenizer.hasMoreTokens()) {
String string = stringTokenizer.nextToken();
if (!string.equals("panic")) continue;
n = Integer.valueOf(stringTokenizer.nextToken());
break block0;
}
break;
}
++n2;
}
return n;
}
public static String getEnabledString() {
NtpConfUtil.load();
Class clazz = class$java$lang$String;
if (clazz == null) {
clazz = class$java$lang$String = NtpConfUtil.class("[Ljava.lang.String;", false);
}
Array array = new Array(clazz);
int n = 0;
while (n < raw_ntpd_conf_fileContents.length) {
if (raw_ntpd_conf_fileContents[n].startsWith("enable")) {
array.add((Object)raw_ntpd_conf_fileContents[n]);
}
++n;
}
String string = "enable ";
if (array.size() > 1) {
string = (String)array.get(0);
int n2 = 1;
while (n2 < array.size()) {
StringTokenizer stringTokenizer = new StringTokenizer((String)array.get(n2));
while (stringTokenizer.hasMoreTokens()) {
String string2 = stringTokenizer.nextToken();
if (string.indexOf(string2) != -1) continue;
string = string.concat(" " + string2);
}
++n2;
}
} else if (array.size() != 0) {
string = (String)array.get(0);
}
return string;
}
public static String getDisabledString() {
NtpConfUtil.load();
Class clazz = class$java$lang$String;
if (clazz == null) {
clazz = class$java$lang$String = NtpConfUtil.class("[Ljava.lang.String;", false);
}
Array array = new Array(clazz);
int n = 0;
while (n < raw_ntpd_conf_fileContents.length) {
if (raw_ntpd_conf_fileContents[n].startsWith("disable")) {
array.add((Object)raw_ntpd_conf_fileContents[n]);
}
++n;
}
String string = "disable ";
if (array.size() > 1) {
string = (String)array.get(0);
int n2 = 1;
while (n2 < array.size()) {
StringTokenizer stringTokenizer = new StringTokenizer((String)array.get(n2));
while (stringTokenizer.hasMoreTokens()) {
String string2 = stringTokenizer.nextToken();
if (string.indexOf(string2) != -1) continue;
string = string.concat(" " + string2);
}
++n2;
}
} else if (array.size() != 0) {
string = (String)array.get(0);
}
return string;
}
public static int getRevokeInterval() {
NtpConfUtil.load();
int n = 16;
int n2 = 0;
while (n2 < raw_ntpd_conf_fileContents.length) {
if (raw_ntpd_conf_fileContents[n2].startsWith("revoke")) {
int n3 = raw_ntpd_conf_fileContents[n2].indexOf(" ");
String string = raw_ntpd_conf_fileContents[n2].substring(n3).trim();
n = Integer.valueOf(string);
break;
}
++n2;
}
return n;
}
public static int getAutokeyInterval() {
NtpConfUtil.load();
int n = 12;
int n2 = 0;
while (n2 < raw_ntpd_conf_fileContents.length) {
if (raw_ntpd_conf_fileContents[n2].startsWith("autokey")) {
int n3 = raw_ntpd_conf_fileContents[n2].indexOf(" ");
String string = raw_ntpd_conf_fileContents[n2].substring(n3).trim();
n = Integer.valueOf(string);
break;
}
++n2;
}
return n;
}
public static boolean isEnabled() {
NtpConfUtil.load();
boolean bl = false;
boolean bl2 = false;
if (BOperatingSystemEnum.isOS(BOperatingSystemEnum.qnx)) {
bl2 = true;
} else if (BOperatingSystemEnum.isOS(BOperatingSystemEnum.linux)) {
if (!ntpConfPath.equalsIgnoreCase("/etc/ntp.conf")) {
bl2 = true;
}
} else {
return false;
}
if (bl2) {
int n = 0;
while (n < raw_ntpd_conf_fileContents.length) {
if (raw_ntpd_conf_fileContents[n].startsWith("#ntpEnabled")) {
int n2 = raw_ntpd_conf_fileContents[n].indexOf(" ");
bl = Boolean.valueOf(raw_ntpd_conf_fileContents[n].substring(n2).trim());
break;
}
++n;
}
} else {
bl = new File("/var/run/ntpd.pid").exists();
}
return bl;
}
public static boolean getUseLocalBackup() {
NtpConfUtil.load();
boolean bl = false;
int n = 0;
while (n < raw_ntpd_conf_fileContents.length) {
if (raw_ntpd_conf_fileContents[n].startsWith("server 127.127.1")) {
bl = true;
}
++n;
}
return bl;
}
public static boolean getSyncAtBoot() {
NtpConfUtil.load();
boolean bl = false;
if (BOperatingSystemEnum.isOS(BOperatingSystemEnum.qnx)) {
int n = 0;
while (n < raw_ntpd_conf_fileContents.length) {
if (raw_ntpd_conf_fileContents[n].startsWith("#syncAtBoot")) {
int n2 = raw_ntpd_conf_fileContents[n].indexOf(" ");
bl = Boolean.valueOf(raw_ntpd_conf_fileContents[n].substring(n2).trim());
break;
}
++n;
}
}
return bl;
}
public static synchronized void write() throws Exception {
if (needToWriteLocalToPlat) {
if (EnabledStatusToWrite == null) {
EnabledStatusToWrite = BBoolean.make((boolean)NtpConfUtil.isEnabled());
}
if (ServerStringsToWrite == null) {
ServerStringsToWrite = NtpConfUtil.getNtpServers();
}
if (EnabledStringToWrite == null) {
EnabledStringToWrite = NtpConfUtil.getEnabledString();
}
if (DisabledStringToWrite == null) {
DisabledStringToWrite = NtpConfUtil.getDisabledString();
}
if (RevokeIntervalToWrite == -1) {
RevokeIntervalToWrite = NtpConfUtil.getRevokeInterval();
}
if (RegenIntervalToWrite == -1) {
RegenIntervalToWrite = NtpConfUtil.getAutokeyInterval();
}
if (PanicValueToWrite == -1) {
PanicValueToWrite = NtpConfUtil.getPanic();
}
if (UseLocalBackup == null) {
UseLocalBackup = BBoolean.make((boolean)NtpConfUtil.getUseLocalBackup());
}
if (SyncAtBoot == null) {
SyncAtBoot = BBoolean.make((boolean)NtpConfUtil.getSyncAtBoot());
}
BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(ntpConfPath));
bufferedWriter.write("#" + ntpConfPath + ": Niagara Network Time Protocol Configuration File\n");
bufferedWriter.write("#Use the NtpPlatformService UI to modify this file.\n");
bufferedWriter.write("#Created: " + BAbsTime.now() + '\n');
bufferedWriter.write("#\n");
bufferedWriter.write("#Niagara NtpPlatformService variable, do not modify\n");
bufferedWriter.write("#ntpEnabled " + String.valueOf(EnabledStatusToWrite.getBoolean()) + '\n');
EnabledStatusToWrite = null;
bufferedWriter.write("#syncAtBoot " + String.valueOf(SyncAtBoot.getBoolean()) + '\n');
SyncAtBoot = null;
bufferedWriter.write("\n");
if (ServerStringsToWrite.length != 0) {
bufferedWriter.write("#server list\n");
}
int n = 0;
while (n < ServerStringsToWrite.length) {
bufferedWriter.write(ServerStringsToWrite[n] + '\n');
++n;
}
bufferedWriter.write("\n");
ServerStringsToWrite = null;
if (UseLocalBackup.getBoolean()) {
bufferedWriter.write("#local backup clock\n");
bufferedWriter.write("server 127.127.1.0\n");
bufferedWriter.write("fudge 127.127.1.0 stratum 10\n\n");
}
UseLocalBackup = null;
if (!EnabledStringToWrite.trim().equals("enable")) {
bufferedWriter.write("#ntp features enabled\n");
bufferedWriter.write(EnabledStringToWrite + "\n\n");
}
EnabledStringToWrite = null;
if (!DisabledStringToWrite.trim().equals("disable")) {
bufferedWriter.write("#ntp features disabled\n");
bufferedWriter.write(DisabledStringToWrite + "\n\n");
}
DisabledStringToWrite = null;
if (PanicValueToWrite != 1000) {
bufferedWriter.write("#ntp panic value, if offset exceeds this, ntpd should exit (disabled if 0)\n");
bufferedWriter.write("tinker panic " + PanicValueToWrite + "\n\n");
}
PanicValueToWrite = -1;
if (RegenIntervalToWrite != 12) {
bufferedWriter.write("#interval in log base 2 seconds to regenerate autokey\n");
bufferedWriter.write("autokey " + RegenIntervalToWrite + "\n\n");
}
RegenIntervalToWrite = -1;
if (RevokeIntervalToWrite != 16) {
bufferedWriter.write("#interval in log base 2 seconds to revoke key generated\n");
bufferedWriter.write("revoke " + RevokeIntervalToWrite + "\n\n");
}
RevokeIntervalToWrite = -1;
bufferedWriter.write("#gather information about statistics\n");
bufferedWriter.write("statistics clockstats loopstats\n");
bufferedWriter.write("filegen clockstats file clockstats type none nolink enable\n");
bufferedWriter.write("filegen loopstats file loopstats type none nolink enable\n");
bufferedWriter.close();
needToWriteLocalToPlat = false;
needToReadLocalFromPlat = true;
}
}
public static void setNtpServers(String[] stringArray) {
ServerStringsToWrite = stringArray;
needToWriteLocalToPlat = true;
}
public static void setEnabledString(String string) {
EnabledStringToWrite = string;
needToWriteLocalToPlat = true;
}
public static void setDisabledString(String string) {
DisabledStringToWrite = string;
needToWriteLocalToPlat = true;
}
public static void setRevokeInterval(int n) {
RevokeIntervalToWrite = n;
needToWriteLocalToPlat = true;
}
public static void setAutokeyInterval(int n) {
RegenIntervalToWrite = n;
needToWriteLocalToPlat = true;
}
public static void setEnabled(boolean bl) {
EnabledStatusToWrite = BBoolean.make((boolean)bl);
needToWriteLocalToPlat = true;
}
public static void setPanic(int n) {
PanicValueToWrite = n;
needToWriteLocalToPlat = true;
}
public static void setLocalBackup(boolean bl) {
UseLocalBackup = BBoolean.make((boolean)bl);
needToWriteLocalToPlat = true;
}
public static void setSyncAtBoot(boolean bl) {
SyncAtBoot = BBoolean.make((boolean)bl);
needToWriteLocalToPlat = true;
}
public static void setNtpPath(String string) {
ntpConfPath = string;
}
static /* synthetic */ Class class(String string, boolean bl) {
try {
Class<?> clazz = Class.forName(string);
if (!bl) {
clazz = clazz.getComponentType();
}
return clazz;
}
catch (ClassNotFoundException classNotFoundException) {
throw new NoClassDefFoundError(classNotFoundException.getMessage());
}
}
}