diff --git a/src/main/java/com/jamesquinley/DelegationServices/delegationServices.java b/src/main/java/com/jamesquinley/DelegationServices/delegationServices.java index 08974af..66997d2 100644 --- a/src/main/java/com/jamesquinley/DelegationServices/delegationServices.java +++ b/src/main/java/com/jamesquinley/DelegationServices/delegationServices.java @@ -12,6 +12,11 @@ import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import org.bson.Document; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.List; import java.util.Random; import java.util.UUID; @@ -181,7 +186,7 @@ public class delegationServices { 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) { + 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) { if (requesttype == 47) { System.out.println("Self Updater download Request"); BasicDBObject searchQuery = new BasicDBObject(); @@ -1403,6 +1408,41 @@ public class delegationServices { String requestClientToken = (String) Lrequest.get("token"); String requestClientMAC = (String) Lrequest.get("mac"); } + if (requesttype == 61) + { + //TODO write EULA code + BasicDBObject searchQuery = new BasicDBObject(); + searchQuery.append("clientid", ClientID); + System.out.println("Init ClientTraceback"); + String policyDocument; + try + { + String fileName = "/Home/ocs/policy/launcher/legal/eula.txt"; + Path path = Paths.get(fileName); + byte[] bytes = Files.readAllBytes(path); + List allLines = Files.readAllLines(path, StandardCharsets.UTF_8); + policyDocument = allLines.toString(); + } + catch (Exception EXR) + { + System.out.println("Unable to pull file, fallback."); + policyDocument = "Policy file does not exist on server. (Unable to find file in /Home/ocs/policy/launcher/legal/eula.txt) This is an issue on our end."; + } + + BasicDBObject updateQuery = new BasicDBObject(); + BasicDBObject updateQuery2 = new BasicDBObject(); + BasicDBObject updateQuery3 = new BasicDBObject(); + updateQuery.append("$set", + new BasicDBObject().append("type", 62)); + updateQuery2.append("$set", + new BasicDBObject().append("policyDocument", policyDocument)); + updateQuery3.append("$set", + new BasicDBObject().append("status", true)); + dCollection.updateOne(searchQuery, updateQuery); + dCollection.updateOne(searchQuery, updateQuery2); + dCollection.updateOne(searchQuery, updateQuery3); + delegationTimer.DeleteTargetRequest(ClientID); + } } else { System.out.println("Malformed Request, Non Recoverable (Request Type Not Found)"); BasicDBObject searchQuery = new BasicDBObject();