mirror of
https://github.com/2006-Scape/Parabot.git
synced 2026-07-02 16:49:10 +00:00
Merge pull request #317 from Parabot/task/improved-script-loader
[BUGFIX] Fixed deprecation warnings
This commit is contained in:
@@ -35,7 +35,7 @@ public class Core {
|
||||
private static boolean loadLocal; //Loads both local and public scripts/servers
|
||||
|
||||
private static boolean validate = true;
|
||||
private static boolean secure = true;
|
||||
private static boolean secure = true;
|
||||
|
||||
private static Version currentVersion = Configuration.BOT_VERSION;
|
||||
|
||||
@@ -140,46 +140,13 @@ public class Core {
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks the version of the bot using a checksum of the jar comparison against checksum given by the website
|
||||
* Prints a debug line to the Logger and System PrintStream
|
||||
* Meant for the debug adapter within hooks
|
||||
*
|
||||
* @return <b>true</b> if no new version is found, otherwise <b>false</b>.
|
||||
* @param line
|
||||
*/
|
||||
private static boolean checksumValid() {
|
||||
File f = new File(Landing.class.getProtectionDomain().getCodeSource().getLocation().getFile());
|
||||
if (f.isFile()) {
|
||||
try {
|
||||
MessageDigest md = MessageDigest.getInstance("MD5");
|
||||
File location = new File(Landing.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath());
|
||||
if (location.exists()) {
|
||||
FileInputStream fis = new FileInputStream(location);
|
||||
byte[] dataBytes = new byte[1024];
|
||||
|
||||
int nread;
|
||||
|
||||
while ((nread = fis.read(dataBytes)) != -1) {
|
||||
md.update(dataBytes, 0, nread);
|
||||
}
|
||||
|
||||
byte[] mdbytes = md.digest();
|
||||
|
||||
StringBuilder sb = new StringBuilder("");
|
||||
for (byte mdbyte : mdbytes) {
|
||||
sb.append(Integer.toString((mdbyte & 0xff) + 0x100, 16).substring(1));
|
||||
}
|
||||
|
||||
String result;
|
||||
if ((result = WebUtil.getContents(String.format(Configuration.COMPARE_CHECKSUM_URL, "client", currentVersion.get()), "checksum=" + URLEncoder.encode(sb.toString(), "UTF-8"))) != null) {
|
||||
JSONObject object = (JSONObject) WebUtil.getJsonParser().parse(result);
|
||||
boolean upToDate = (boolean) object.get("result");
|
||||
Core.verbose("Local checksum: " + URLEncoder.encode(sb.toString(), "UTF-8") + ". " + (upToDate ? "This matches BDN and is up to date." : "BDN mismatch, must be Out Of Date."));
|
||||
return upToDate;
|
||||
}
|
||||
}
|
||||
} catch (NoSuchAlgorithmException | ParseException | IOException | URISyntaxException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
return true;
|
||||
public static void debug(final String line) {
|
||||
System.out.println(line);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -194,7 +161,7 @@ public class Core {
|
||||
try {
|
||||
if (br != null) {
|
||||
JSONObject object = (JSONObject) WebUtil.getJsonParser().parse(br);
|
||||
boolean latest = (Boolean) object.get("result");
|
||||
boolean latest = (Boolean) object.get("result");
|
||||
if (!latest) {
|
||||
Directories.clearCache();
|
||||
}
|
||||
@@ -216,14 +183,6 @@ public class Core {
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method that removes the cache contents after 3 days
|
||||
*/
|
||||
private static void validateCache() {
|
||||
// Already handled by Directories initiating
|
||||
// Method will be used once BDN V3 has a functionality for this
|
||||
}
|
||||
|
||||
public static void downloadNewVersion() {
|
||||
UILog.log(TranslationHelper.translate("UPDATES"),
|
||||
TranslationHelper.translate("DOWNLOAD_UPDATE_PARABOT_AT")
|
||||
@@ -268,4 +227,55 @@ public class Core {
|
||||
public static int newVersionAlert() {
|
||||
return UILog.alert("Parabot Update", "There's a new version of Parabot! \nDo you wish to download it?\n\nThe current version could have some problems!", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE);
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks the version of the bot using a checksum of the jar comparison against checksum given by the website
|
||||
*
|
||||
* @return <b>true</b> if no new version is found, otherwise <b>false</b>.
|
||||
*/
|
||||
private static boolean checksumValid() {
|
||||
File f = new File(Landing.class.getProtectionDomain().getCodeSource().getLocation().getFile());
|
||||
if (f.isFile()) {
|
||||
try {
|
||||
MessageDigest md = MessageDigest.getInstance("MD5");
|
||||
File location = new File(Landing.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath());
|
||||
if (location.exists()) {
|
||||
FileInputStream fis = new FileInputStream(location);
|
||||
byte[] dataBytes = new byte[1024];
|
||||
|
||||
int nread;
|
||||
|
||||
while ((nread = fis.read(dataBytes)) != -1) {
|
||||
md.update(dataBytes, 0, nread);
|
||||
}
|
||||
|
||||
byte[] mdbytes = md.digest();
|
||||
|
||||
StringBuilder sb = new StringBuilder("");
|
||||
for (byte mdbyte : mdbytes) {
|
||||
sb.append(Integer.toString((mdbyte & 0xff) + 0x100, 16).substring(1));
|
||||
}
|
||||
|
||||
String result;
|
||||
if ((result = WebUtil.getContents(String.format(Configuration.COMPARE_CHECKSUM_URL, "client", currentVersion.get()), "checksum=" + URLEncoder.encode(sb.toString(), "UTF-8"))) != null) {
|
||||
JSONObject object = (JSONObject) WebUtil.getJsonParser().parse(result);
|
||||
boolean upToDate = (boolean) object.get("result");
|
||||
Core.verbose("Local checksum: " + URLEncoder.encode(sb.toString(), "UTF-8") + ". " + (upToDate ? "This matches BDN and is up to date." : "BDN mismatch, must be Out Of Date."));
|
||||
return upToDate;
|
||||
}
|
||||
}
|
||||
} catch (NoSuchAlgorithmException | ParseException | IOException | URISyntaxException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method that removes the cache contents after 3 days
|
||||
*/
|
||||
private static void validateCache() {
|
||||
// Already handled by Directories initiating
|
||||
// Method will be used once BDN V3 has a functionality for this
|
||||
}
|
||||
}
|
||||
@@ -57,7 +57,7 @@ public class AddCallbackAdapter implements Injectable, Opcodes {
|
||||
}
|
||||
inject.add(new MethodInsnNode(INVOKESTATIC,
|
||||
this.invokeClass, this.invokeMethod,
|
||||
this.desc));
|
||||
this.desc, false));
|
||||
if (this.conditional) {
|
||||
LabelNode ln = new LabelNode(new Label());
|
||||
inject.add(new JumpInsnNode(IFEQ, ln));
|
||||
|
||||
@@ -5,7 +5,7 @@ import org.objectweb.asm.Opcodes;
|
||||
import org.objectweb.asm.tree.*;
|
||||
|
||||
public class AddDebugAdapter {
|
||||
private ClassNode owner;
|
||||
private ClassNode owner;
|
||||
private MethodNode mn;
|
||||
|
||||
public AddDebugAdapter(ClassNode owner, MethodNode mn) {
|
||||
@@ -19,14 +19,19 @@ public class AddDebugAdapter {
|
||||
|
||||
public void inject() {
|
||||
InsnList inject = new InsnList();
|
||||
Label l0 = new Label();
|
||||
Label l0 = new Label();
|
||||
inject.add(new LabelNode(l0));
|
||||
|
||||
String callString = owner.name + "." + mn.name + " " + mn.desc;
|
||||
LdcInsnNode ldc = new LdcInsnNode(callString);
|
||||
String callString = owner.name + "." + mn.name + " " + mn.desc;
|
||||
LdcInsnNode ldc = new LdcInsnNode(callString);
|
||||
|
||||
MethodInsnNode methodNode = new MethodInsnNode(Opcodes.INVOKESTATIC, "org/parabot/core/Core", "debug",
|
||||
"(Ljava/lang/String;)V");
|
||||
MethodInsnNode methodNode = new MethodInsnNode(
|
||||
Opcodes.INVOKESTATIC,
|
||||
"org/parabot/core/Core",
|
||||
"debug",
|
||||
"(Ljava/lang/String;)V",
|
||||
false
|
||||
);
|
||||
|
||||
inject.add(ldc);
|
||||
inject.add(methodNode);
|
||||
|
||||
@@ -94,9 +94,9 @@ public class AddInvokerAdapter implements Opcodes, Injectable {
|
||||
}
|
||||
|
||||
if (isInterface) {
|
||||
m.visitMethodInsn(INVOKEINTERFACE, instanceCast, mName, mDesc);
|
||||
m.visitMethodInsn(INVOKEINTERFACE, instanceCast, mName, mDesc, true);
|
||||
} else {
|
||||
m.visitMethodInsn(isStatic ? INVOKESTATIC : INVOKEVIRTUAL, methodLocation.name, mn.name, mn.desc);
|
||||
m.visitMethodInsn(isStatic ? INVOKESTATIC : INVOKEVIRTUAL, methodLocation.name, mn.name, mn.desc, false);
|
||||
}
|
||||
if (this.returnDesc.contains("L")) {
|
||||
if (!this.returnDesc.contains("[")) {
|
||||
|
||||
Reference in New Issue
Block a user