Keeps server alive even after fatal crashes, known issue working on a fix need server to be online in the meantime.

This commit is contained in:
James Quinley
2022-11-27 21:38:58 -08:00
parent 1a969fdec4
commit 1db6bd21dc
4 changed files with 193 additions and 9 deletions

View File

@ -101,7 +101,6 @@ public class delegationServices {
Boolean mac = false;
Document Filter;
int ClientID = 0;
System.out.println(Lrequest);
try {
try {
ClientID = (int) Lrequest.get("clientid");
@ -1781,7 +1780,7 @@ public class delegationServices {
} else
{
System.out.println("Running in limited mode (Web Request)");
if (requesttype == 73 || requesttype == 74) {
if (requesttype == 73 || requesttype == 74 || requesttype == 75) {
if (requesttype == 73) {
System.out.println("Login Request (USR&PASS)");
String username = (String) Lrequest.get("user");
@ -2092,6 +2091,138 @@ public class delegationServices {
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.append("_id", Lrequest.get("_id"));
BasicDBObject updateQuery = new BasicDBObject();
BasicDBObject updateQuery1 = new BasicDBObject();
updateQuery.append("$set",
new BasicDBObject().append("type", 7));
updateQuery1.append("$set",
new BasicDBObject().append("status", true));
dCollection.updateOne(searchQuery, updateQuery);
dCollection.updateOne(searchQuery, updateQuery1);
delegationTimer.DeleteTargetRequestByID(Lrequest.get("_id"));
//delegationTimer.trigger();
}
}
if (requesttype == 75) {
System.out.println("Link request");
String CTOKEN = (String) Lrequest.get("token");
String platform = (String) Lrequest.get("linkplatform");
String id = (String) Lrequest.get("linktoken");
Document accountServer;
String TKN;
String Password;
String Fname;
String Path;
String UserName;
String Email;
String keychainUUID;
String validSession;
try {
accountServer = accountS.find(eq("Token", CTOKEN)).first();
if (!(accountServer == null)) {
TKN = (String) accountServer.get("Token");
if (accountServer.get("Status").equals(true)) {
if (TKN.equals(CTOKEN)) {
if (accountServer.get(platform+"idstatus") == null) {
Email = (String) accountServer.get("Email");
UserName = (String) accountServer.get("User");
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.append("_id", Lrequest.get("_id"));
BasicDBObject searchQueryASC = new BasicDBObject();
searchQueryASC.append("Token", TKN);
BasicDBObject updateQuery = new BasicDBObject();
BasicDBObject updateQuery3 = new BasicDBObject();
BasicDBObject updateQuery4 = new BasicDBObject();
BasicDBObject updateQueryAD = new BasicDBObject();
BasicDBObject updateQueryADBS = new BasicDBObject();
updateQuery.append("$set",
new BasicDBObject().append("type", 76));
updateQuery4.append("$set",
new BasicDBObject().append("status", true));
updateQueryAD.append("$set",
new BasicDBObject().append(platform+"id", id));
updateQueryADBS.append("$set",
new BasicDBObject().append(platform+"idstatus", true));
System.out.println("Sending Info To Forwarding Server");
dCollection.updateOne(searchQuery, updateQuery);
accountS.updateOne(searchQueryASC, updateQueryAD);
accountS.updateOne(searchQueryASC, updateQueryADBS);
dCollection.updateOne(searchQuery, updateQuery4);
secureCalls.accountLinked(Email, platform, UserName);
delegationTimer.DeleteTargetRequestByID(Lrequest.get("_id"));
} else {
System.out.println("Already linked");
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.append("_id", Lrequest.get("_id"));
BasicDBObject updateQuery = new BasicDBObject();
BasicDBObject updateQuery1 = new BasicDBObject();
updateQuery.append("$set",
new BasicDBObject().append("type", 77));
updateQuery1.append("$set",
new BasicDBObject().append("status", true));
dCollection.updateOne(searchQuery, updateQuery);
dCollection.updateOne(searchQuery, updateQuery1);
//delegationTimer.trigger();
delegationTimer.DeleteTargetRequestByID(Lrequest.get("_id"));
}
} else {
System.out.println("Link Failure");
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.append("_id", Lrequest.get("_id"));
BasicDBObject updateQuery = new BasicDBObject();
BasicDBObject updateQuery1 = new BasicDBObject();
updateQuery.append("$set",
new BasicDBObject().append("type", 77));
updateQuery1.append("$set",
new BasicDBObject().append("status", true));
dCollection.updateOne(searchQuery, updateQuery);
dCollection.updateOne(searchQuery, updateQuery1);
//delegationTimer.trigger();
delegationTimer.DeleteTargetRequestByID(Lrequest.get("_id"));
}
} else {
System.out.println("Banned Account");
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.append("_id", Lrequest.get("_id"));
BasicDBObject updateQuery = new BasicDBObject();
BasicDBObject updateQuery1 = new BasicDBObject();
updateQuery.append("$set",
new BasicDBObject().append("type", 77));
updateQuery1.append("$set",
new BasicDBObject().append("status", true));
dCollection.updateOne(searchQuery, updateQuery);
dCollection.updateOne(searchQuery, updateQuery1);
delegationTimer.DeleteTargetRequestByID(Lrequest.get("_id"));
}
} else {
System.out.println("Login Failure");
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.append("_id", Lrequest.get("_id"));
BasicDBObject updateQuery = new BasicDBObject();
BasicDBObject updateQuery1 = new BasicDBObject();
updateQuery.append("$set",
new BasicDBObject().append("type", 9));
updateQuery1.append("$set",
new BasicDBObject().append("status", true));
dCollection.updateOne(searchQuery, updateQuery);
dCollection.updateOne(searchQuery, updateQuery1);
//delegationTimer.trigger();
delegationTimer.DeleteTargetRequestByID(Lrequest.get("_id"));
}
} catch (MongoCommandException ERC) {
System.out.println("Malformed Request");
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.append("_id", Lrequest.get("_id"));
BasicDBObject updateQuery = new BasicDBObject();
BasicDBObject updateQuery1 = new BasicDBObject();
updateQuery.append("$set",
@ -2105,7 +2236,7 @@ public class delegationServices {
}
}
} else {
System.out.println("Malformed Request, Non Recoverable ErrorInfo: ");
System.out.println("Type does not exist (ERR4)");
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.append("_id",Lrequest.get("_id"));