From b43a7996aadac61dc82b24a0fa88185119edf4ac Mon Sep 17 00:00:00 2001 From: James Quinley Date: Sun, 25 Dec 2022 20:46:02 -0800 Subject: [PATCH] Now supports Create RND logging. --- .../delegationServices.java | 44 ++++++++++++++++++- 1 file changed, 42 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/jamesquinley/DelegationServices/delegationServices.java b/src/main/java/com/jamesquinley/DelegationServices/delegationServices.java index d72dcde..b3c82aa 100644 --- a/src/main/java/com/jamesquinley/DelegationServices/delegationServices.java +++ b/src/main/java/com/jamesquinley/DelegationServices/delegationServices.java @@ -1632,7 +1632,7 @@ public class delegationServices { if (requesttype == 72) { BasicDBObject searchQuery = new BasicDBObject(); searchQuery.append("_id", ClientID); - System.out.println("Collecting Error Data"); + System.out.println("Collecting Telemetry Data"); File homedir = new File(System.getProperty("user.home")); String applicationName = Lrequest.get("applicationName").toString(); String telemetryType = Lrequest.get("telemetryType").toString(); @@ -1816,7 +1816,7 @@ public class delegationServices { } else { System.out.println("Running in limited mode (Web Request)"); - if (requesttype == 73 || requesttype == 74 || requesttype == 75) { + if (requesttype == 73 || requesttype == 74 || requesttype == 75 || requesttype ==78) { if (requesttype == 73) { System.out.println("Login Request (USR&PASS)"); String username = (String) Lrequest.get("user"); @@ -2264,6 +2264,46 @@ public class delegationServices { //delegationTimer.trigger(); } } + if (requesttype == 78) { + BasicDBObject searchQuery = new BasicDBObject(); + searchQuery.append("_id", ClientID); + System.out.println("Collecting Telemetry Data"); + File homedir = new File(System.getProperty("user.home")); + String applicationName = Lrequest.get("useragent").toString(); + // String telemetryType = Lrequest.get("telemetryType").toString(); + String mclog = Lrequest.get("log").toString(); + String IGN = Lrequest.get("ign").toString(); + String timeCurrent = LocalDateTime.now().toString(); //ISO-8601: yyyy-MM-ddTHH:mm:ss.S + try { + File myObj = new File(homedir + "/crad/telemetry/" + IGN + "/" + timeCurrent + ".txt"); + File myFold = new File(homedir + "/crad/telemetry/" + IGN); + myFold.mkdir(); + if (myObj.createNewFile()) { + System.out.println("Log File created: " + myObj.getName()); + FileWriter writer = new FileWriter(homedir + "/crad/telemetry/" + IGN + "/" + timeCurrent + ".txt", true); + writer.write("This telemetry report is for: " + applicationName); + writer.write("\r\n"); + writer.write("\r\n"); + writer.write("This is auto generated by the Obsidian Core backend services (For Create Research & Development."); + writer.write("\r\n"); + writer.write("Submission Time (Local To Server): " + timeCurrent); + writer.write("\r\n"); + writer.write("Full log file:"); + writer.write("\r\n"); + writer.write(mclog); + writer.close(); + } else { + System.out.println("telemetry already exists. (wow that's rare)"); + } + } catch (IOException e) { + System.out.println("An error occurred while attempting to save telemetry."); + } + BasicDBObject updateQuery = new BasicDBObject(); + updateQuery.append("$set", + new BasicDBObject().append("status", true)); + dCollection.updateOne(searchQuery, updateQuery); + delegationTimer.DeleteTargetRequestByID(Lrequest.get("_id")); + } } else { System.out.println("Type does not exist (ERR4)"); BasicDBObject searchQuery = new BasicDBObject();