diff --git a/src/main/java/com/jamesquinley/DelegationServices/delegationServices.java b/src/main/java/com/jamesquinley/DelegationServices/delegationServices.java index 48f475f..200636f 100644 --- a/src/main/java/com/jamesquinley/DelegationServices/delegationServices.java +++ b/src/main/java/com/jamesquinley/DelegationServices/delegationServices.java @@ -187,7 +187,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 || requesttype == 61) { + 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) { if (requesttype == 47) { System.out.println("Self Updater download Request"); BasicDBObject searchQuery = new BasicDBObject(); @@ -1411,7 +1411,6 @@ public class delegationServices { } if (requesttype == 61) { - //TODO write EULA code BasicDBObject searchQuery = new BasicDBObject(); searchQuery.append("clientid", ClientID); System.out.println("Init ClientTraceback"); @@ -1450,6 +1449,46 @@ public class delegationServices { dCollection.updateOne(searchQuery, updateQuery3); delegationTimer.DeleteTargetRequest(ClientID); } + if (requesttype == 63) + { + BasicDBObject searchQuery = new BasicDBObject(); + searchQuery.append("clientid", ClientID); + System.out.println("Init ClientTraceback"); + String policyDocument; + try + { + File homedir = new File(System.getProperty("user.home")); + String fileName = homedir + "/ocs/policy/launcher/legal/accountagreement.txt"; + Path path = Paths.get(fileName); + byte[] bytes = Files.readAllBytes(path); + List allLines = Files.readAllLines(path, StandardCharsets.UTF_8); + String formattedString = allLines.toString() + .replace(",", "") //remove the commas + .replace("[", "") //remove the right bracket + .replace("]", "") //remove the left bracket + .trim(); //remove trailing spaces from partially initialized arrays + policyDocument = formattedString; + } + 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. Error ID: " + EXR; + } + + BasicDBObject updateQuery = new BasicDBObject(); + BasicDBObject updateQuery2 = new BasicDBObject(); + BasicDBObject updateQuery3 = new BasicDBObject(); + updateQuery.append("$set", + new BasicDBObject().append("type", 64)); + 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();