diff --git a/src/main/java/com/jamesquinley/DelegationServices/delegationServices.java b/src/main/java/com/jamesquinley/DelegationServices/delegationServices.java index 849ba34..622ee27 100644 --- a/src/main/java/com/jamesquinley/DelegationServices/delegationServices.java +++ b/src/main/java/com/jamesquinley/DelegationServices/delegationServices.java @@ -1,5 +1,6 @@ package com.jamesquinley.DelegationServices; import com.jamesquinley.Asecure.secureCalls; +import com.jamesquinley.variables; import com.mongodb.BasicDBObject; import com.mongodb.ConnectionString; import com.mongodb.MongoClientSettings; @@ -103,6 +104,8 @@ public class delegationServices { Document Filter; Object ClientID = null; try { + String RG = (String) Lrequest.get("rg"); + Filter = RGFilter.find(eq("rgkey", "UAROCKS")).first(); try { ClientID = Lrequest.get("_id"); } catch (Exception exrp) { @@ -115,7 +118,7 @@ public class delegationServices { } try { version = (double) Lrequest.get("apiversion"); - if (version >= 2.0) { + if (version >= (int) Filter.get("currentAPIVersion")) { legacy =false; System.out.println("nonlegacy"); } else { @@ -126,9 +129,6 @@ public class delegationServices { legacy = true; System.out.println("legacy"); } - - String RG = (String) Lrequest.get("rg"); - Filter = RGFilter.find(eq("rgkey", "UAROCKS")).first(); String blockedRG = (String) Filter.get("rgflag"); if ((Boolean) Filter.get("serviceState") == false) { if ((Boolean) Filter.get("serviceTermination") == true) { @@ -189,7 +189,7 @@ public class delegationServices { System.out.println(RG); System.out.println("Delegation Has Started"); - if (requesttype == 0 || requesttype == 1 || requesttype == 2 || requesttype == 3 || requesttype == 4 || requesttype == 5 || requesttype == 6 || requesttype == 7 || requesttype == 8 || requesttype == 9 || requesttype == 10 || requesttype == 11 || requesttype == 12 || requesttype == 14 || requesttype == 20 || requesttype == 21 || requesttype == 41 || requesttype == 18 || requesttype == 47 || requesttype == 48 || requesttype == 54 || requesttype == 57 || requesttype == 61 || requesttype == 63 || requesttype == 65 || requesttype == 66 || requesttype == 67 || requesttype == 68 || requesttype == 71 || requesttype == 72 || requesttype == 73 || requesttype == 74 || requesttype == 75 || requesttype ==78 || requesttype == 79 || requesttype == 81 || requesttype == 87 || requesttype == 91) { + if (requesttype == 0 || requesttype == 1 || requesttype == 2 || requesttype == 3 || requesttype == 4 || requesttype == 5 || requesttype == 6 || requesttype == 7 || requesttype == 8 || requesttype == 9 || requesttype == 10 || requesttype == 11 || requesttype == 12 || requesttype == 14 || requesttype == 20 || requesttype == 21 || requesttype == 41 || requesttype == 18 || requesttype == 47 || requesttype == 48 || requesttype == 54 || requesttype == 57 || requesttype == 61 || requesttype == 63 || requesttype == 65 || requesttype == 66 || requesttype == 67 || requesttype == 68 || requesttype == 71 || requesttype == 72 || requesttype == 73 || requesttype == 74 || requesttype == 75 || requesttype ==78 || requesttype == 79 || requesttype == 81 || requesttype == 87 || requesttype == 91 || requesttype == 95) { if (requesttype == 47) { System.out.println("Self Updater download Request"); BasicDBObject searchQuery = new BasicDBObject(); @@ -2777,6 +2777,46 @@ public class delegationServices { } } + if (requesttype == 95) { + BasicDBObject searchQuery = new BasicDBObject(); + searchQuery.append("_id", ClientID); + + BasicDBObject updateQuery = new BasicDBObject(); + BasicDBObject updateQuery1 = new BasicDBObject(); + BasicDBObject updateQuery2 = new BasicDBObject(); + BasicDBObject updateQuery3 = new BasicDBObject(); + BasicDBObject updateQuery4 = new BasicDBObject(); + BasicDBObject updateQuery5 = new BasicDBObject(); + updateQuery.append("$set", + new BasicDBObject().append("type", 96)); + updateQuery2.append("$set", + new BasicDBObject().append("ServerVersion", variables.serverVersion)); + updateQuery3.append("$set", + new BasicDBObject().append("ServerRegion", variables.serverRegion)); + if ((Boolean) Filter.get("aboutServiceStatus")) { + updateQuery4.append("$set", + new BasicDBObject().append("ServiceStatus", Filter.get("statusMessage"))); + } else { + updateQuery4.append("$set", + new BasicDBObject().append("ServiceStatus", "Service is offline.")); + } + if (legacy) { + updateQuery5.append("$set", + new BasicDBObject().append("FeatureLevel", "Limited Features")); + } else { + updateQuery5.append("$set", + new BasicDBObject().append("FeatureLevel", "Full Features")); + } + + updateQuery1.append("$set", + new BasicDBObject().append("status", true)); + dCollection.updateOne(searchQuery, updateQuery); + dCollection.updateOne(searchQuery, updateQuery3); + dCollection.updateOne(searchQuery, updateQuery2); + dCollection.updateOne(searchQuery,updateQuery1); + + delegationTimer.DeleteTargetRequestByID(Lrequest.get("_id")); + } } else { System.out.println("Malformed Request, Non Recoverable (Request Type Not Found)"); diff --git a/src/main/java/com/jamesquinley/authenticationServices/handleKeyGen.java b/src/main/java/com/jamesquinley/authenticationServices/handleKeyGen.java deleted file mode 100644 index 3639816..0000000 --- a/src/main/java/com/jamesquinley/authenticationServices/handleKeyGen.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.jamesquinley.authenticationServices; - -public class handleKeyGen { -} diff --git a/src/main/java/com/jamesquinley/variables.java b/src/main/java/com/jamesquinley/variables.java new file mode 100644 index 0000000..22ac322 --- /dev/null +++ b/src/main/java/com/jamesquinley/variables.java @@ -0,0 +1,6 @@ +package com.jamesquinley; + +public class variables { + public static String serverVersion = "5.2.2"; + public static String serverRegion = "US West (CEN-CAL)"; +}