Adds login and token login in web branch.
This commit is contained in:
@ -15,8 +15,14 @@ public class secureCalls {
|
||||
|
||||
public static void banAction (String UUID)
|
||||
{
|
||||
final Runnable runnable = new Runnable() {
|
||||
public void run() {
|
||||
delegationServices.banUserID(UUID);
|
||||
}
|
||||
};
|
||||
runnable.run();
|
||||
|
||||
}
|
||||
public static void oneTimeKeyEmail (String email, String key, String user)
|
||||
{
|
||||
final Runnable runnable = new Runnable() {
|
||||
@ -35,4 +41,13 @@ public class secureCalls {
|
||||
};
|
||||
runnable.run();
|
||||
}
|
||||
public static void accountCreationComplete (String email, String user, String UUID)
|
||||
{
|
||||
final Runnable runnable = new Runnable() {
|
||||
public void run() {
|
||||
electronicMailHandler.Onboarding(email,user,UUID);
|
||||
}
|
||||
};
|
||||
runnable.run();
|
||||
}
|
||||
}
|
||||
|
@ -12,6 +12,7 @@ import com.mongodb.client.MongoCollection;
|
||||
import com.mongodb.client.MongoDatabase;
|
||||
import org.apache.logging.log4j.core.util.JsonUtils;
|
||||
import org.bson.Document;
|
||||
import org.bson.types.ObjectId;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileWriter;
|
||||
@ -34,7 +35,7 @@ public class delegationServices {
|
||||
static MongoCollection<Document> dCollection;
|
||||
static MongoDatabase RGFilterDB;
|
||||
static MongoCollection<Document> RGFilter;
|
||||
|
||||
static Document Lrequest = null;
|
||||
public static void connectionInit(Boolean beta) {
|
||||
//TODO Send Server Version As Standard.
|
||||
if (beta) {
|
||||
@ -81,7 +82,6 @@ public class delegationServices {
|
||||
static MongoClient accountGetClient = MongoClients.create(AccountSettings);
|
||||
static MongoDatabase accountDatabase = accountGetClient.getDatabase("account");
|
||||
static MongoCollection<Document> accountS = accountDatabase.getCollection("UserPass");
|
||||
static MongoCollection<Document> FNETDOC = accountDatabase.getCollection("FNet");
|
||||
static int RequestR;
|
||||
//still need to config
|
||||
public static String lastNet = null;
|
||||
@ -97,28 +97,23 @@ public class delegationServices {
|
||||
}
|
||||
|
||||
public static void delegationProcesser() {
|
||||
Boolean cid = false;
|
||||
Boolean mac = false;
|
||||
Document Filter;
|
||||
int ClientID = 0;
|
||||
Document Lrequest = dCollection.find(eq("status", false)).first();
|
||||
|
||||
if ((boolean) Lrequest.get("status") == true) {
|
||||
|
||||
|
||||
System.out.println("This request was completed, ignoring");
|
||||
} else {
|
||||
|
||||
System.out.println(Lrequest);
|
||||
try {
|
||||
try {
|
||||
ClientID = (int) Lrequest.get("clientid");
|
||||
cid = true;
|
||||
} catch (Exception exrp) {
|
||||
delegationTimer.DeleteTargetRequest(ClientID);
|
||||
System.out.println("This request has opted out of CID.");
|
||||
}
|
||||
try {
|
||||
Macid = (String) Lrequest.get("net");
|
||||
|
||||
mac = true;
|
||||
} catch (Exception exrp) {
|
||||
System.out.println("Failed To Get MacAdr");
|
||||
delegationTimer.DeleteTargetRequest(ClientID);
|
||||
System.out.println("This request has opted out of CID.");
|
||||
}
|
||||
|
||||
String RG = (String) Lrequest.get("rg");
|
||||
@ -164,7 +159,7 @@ public class delegationServices {
|
||||
} else {
|
||||
if (blockedRG.contains(RG)) {
|
||||
BasicDBObject searchQuery = new BasicDBObject();
|
||||
searchQuery.append("rid", Lrequest.get("rid"));
|
||||
searchQuery.append("_id", Lrequest.get("_id"));
|
||||
|
||||
BasicDBObject updateQuery = new BasicDBObject();
|
||||
BasicDBObject updateQuery1 = new BasicDBObject();
|
||||
@ -183,6 +178,8 @@ public class delegationServices {
|
||||
|
||||
|
||||
System.out.println("Delegation Has Started");
|
||||
if (cid == true && mac == true)
|
||||
{
|
||||
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) {
|
||||
if (requesttype == 47) {
|
||||
System.out.println("Self Updater download Request");
|
||||
@ -372,6 +369,7 @@ public class delegationServices {
|
||||
String UserName;
|
||||
try {
|
||||
accountServer = accountS.find(eq("Token", CTOKEN)).first();
|
||||
if (!(accountServer == null)) {
|
||||
Token = (String) accountServer.get("Token");
|
||||
if (accountServer.get("Status").equals(true)) {
|
||||
if (Token.equals(CTOKEN)) {
|
||||
@ -427,6 +425,22 @@ public class delegationServices {
|
||||
dCollection.updateOne(searchQuery, updateQuery1);
|
||||
delegationTimer.DeleteTargetRequest(ClientID);
|
||||
}
|
||||
} else {
|
||||
System.out.println("Malformed Request");
|
||||
BasicDBObject searchQuery = new BasicDBObject();
|
||||
searchQuery.append("clientid", ClientID);
|
||||
|
||||
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.trigger();
|
||||
delegationTimer.DeleteTargetRequest(ClientID);
|
||||
}
|
||||
} catch (MongoCommandException ERC) {
|
||||
System.out.println("Malformed Request");
|
||||
BasicDBObject searchQuery = new BasicDBObject();
|
||||
@ -785,6 +799,7 @@ public class delegationServices {
|
||||
String keychainUUID;
|
||||
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)) {
|
||||
@ -797,7 +812,6 @@ public class delegationServices {
|
||||
lastNet = (String) accountServer.get("lastNet");
|
||||
keychainUUID = (String) accountServer.get("UUID");
|
||||
localNet.macRead(Macid, lastNet, Email, UserName, TKN);
|
||||
// com.jamesquinley.Asecure.emailVerify.SendEmailThroughGmail(Email, UserName);
|
||||
BasicDBObject searchQuery = new BasicDBObject();
|
||||
searchQuery.append("clientid", ClientID);
|
||||
|
||||
@ -874,6 +888,22 @@ public class delegationServices {
|
||||
delegationTimer.DeleteTargetRequest(ClientID);
|
||||
|
||||
}
|
||||
} else {
|
||||
System.out.println("Login Failure");
|
||||
BasicDBObject searchQuery = new BasicDBObject();
|
||||
searchQuery.append("clientid", ClientID);
|
||||
|
||||
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.DeleteTargetRequest(ClientID);
|
||||
}
|
||||
} catch (MongoCommandException ERC) {
|
||||
System.out.println("Malformed Request");
|
||||
BasicDBObject searchQuery = new BasicDBObject();
|
||||
@ -1176,7 +1206,7 @@ public class delegationServices {
|
||||
accountS.insertOne(createForm);
|
||||
BasicDBObject searchQuery = new BasicDBObject();
|
||||
searchQuery.append("clientid", ClientID);
|
||||
electronicMailHandler.Onboarding(Email, User, UUID);
|
||||
secureCalls.accountCreationComplete(Email, User, UUID);
|
||||
BasicDBObject updateQuery = new BasicDBObject();
|
||||
BasicDBObject updateQuery1 = new BasicDBObject();
|
||||
updateQuery.append("$set",
|
||||
@ -1201,12 +1231,16 @@ public class delegationServices {
|
||||
String Password = (String) DServer.get("Password");
|
||||
// String Email = (String) DServer.get("Email");
|
||||
String FName = User;
|
||||
int min = 100000000;
|
||||
int max = 999999999;
|
||||
double tokenGEN = Math.random() * (max - min + 1) + min;
|
||||
int tokenSTGEN = (int) tokenGEN;
|
||||
|
||||
//verify open cert
|
||||
String sourcet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789";
|
||||
StringBuilder sbt = new StringBuilder();
|
||||
Random random = new Random();
|
||||
int tokenlength = 60;
|
||||
for (int i = 0; i < tokenlength; i++) {
|
||||
int index = random.nextInt(sourcet.length());
|
||||
char randomChar = sourcet.charAt(index);
|
||||
sbt.append(randomChar);
|
||||
}
|
||||
String Token = "OCST" + sbt.toString();
|
||||
try {
|
||||
Document DupeUser = accountS.find(eq("User", User)).first();
|
||||
String DUPE = (String) DupeUser.get("User");
|
||||
@ -1226,19 +1260,26 @@ public class delegationServices {
|
||||
} catch (Exception exr) {
|
||||
System.out.println("Username Is Open");
|
||||
try {
|
||||
Document DupeToken = accountS.find(eq("Token", tokenSTGEN)).first();
|
||||
int DupeToke1n = (int) DupeToken.get("Token");
|
||||
|
||||
Document DupeToken = accountS.find(eq("Token", Token)).first();
|
||||
String DupeToke1n = (String) DupeToken.get("Token");
|
||||
System.out.println("Got Token from request");
|
||||
Boolean TokenOpen = false;
|
||||
while (TokenOpen == false) {
|
||||
tokenGEN = Math.random() * (max - min + 1) + min;
|
||||
tokenSTGEN = (int) tokenGEN;
|
||||
for (int i = 0; i < tokenlength; i++) {
|
||||
int index = random.nextInt(sourcet.length());
|
||||
char randomChar = sourcet.charAt(index);
|
||||
sbt.append(randomChar);
|
||||
}
|
||||
Token = sbt.toString();
|
||||
try {
|
||||
DupeToken = accountS.find(eq("Token", tokenSTGEN)).first();
|
||||
DupeToke1n = (int) DupeToken.get("Token");
|
||||
DupeToken = accountS.find(eq("Token", Token)).first();
|
||||
DupeToke1n = (String) DupeToken.get("Token");
|
||||
System.out.println("Token Is Reserved, Try Again.");
|
||||
tokenGEN = Math.random() * (max - min + 1) + min;
|
||||
tokenSTGEN = (int) tokenGEN;
|
||||
for (int i = 0; i < tokenlength; i++) {
|
||||
int index = random.nextInt(sourcet.length());
|
||||
char randomChar = sourcet.charAt(index);
|
||||
sbt.append(randomChar);
|
||||
}
|
||||
} catch (Exception exDr) {
|
||||
TokenOpen = true;
|
||||
System.out.println("Token Free (While EXP)");
|
||||
@ -1256,7 +1297,7 @@ public class delegationServices {
|
||||
createForm.append("FName", FName);
|
||||
createForm.append("Entitlements", "NA");
|
||||
createForm.append("Path", "C:\\ObsidianCoreStudios\\Launcher\\AOTSK\\");
|
||||
createForm.append("Token", tokenSTGEN);
|
||||
createForm.append("Token", Token);
|
||||
createForm.append("Control", 1);
|
||||
accountS.insertOne(createForm);
|
||||
BasicDBObject searchQuery = new BasicDBObject();
|
||||
@ -1637,6 +1678,21 @@ public class delegationServices {
|
||||
//delegationTimer.trigger();
|
||||
delegationTimer.DeleteTargetRequest(ClientID);
|
||||
}
|
||||
} else
|
||||
{
|
||||
System.out.println("This key is incorrect, account is banned.");
|
||||
BasicDBObject searchQuery = new BasicDBObject();
|
||||
searchQuery.append("clientid", ClientID);
|
||||
|
||||
BasicDBObject updateQuery = new BasicDBObject();
|
||||
BasicDBObject updateQuery1 = new BasicDBObject();
|
||||
updateQuery.append("$set",
|
||||
new BasicDBObject().append("type", 70));
|
||||
updateQuery1.append("$set",
|
||||
new BasicDBObject().append("status", true));
|
||||
dCollection.updateOne(searchQuery, updateQuery);
|
||||
dCollection.updateOne(searchQuery, updateQuery1);
|
||||
delegationTimer.DeleteTargetRequest(ClientID);
|
||||
}
|
||||
} catch (Exception ERC) {
|
||||
System.out.println("This key is incorrect." + ERC);
|
||||
@ -1646,7 +1702,7 @@ public class delegationServices {
|
||||
BasicDBObject updateQuery = new BasicDBObject();
|
||||
BasicDBObject updateQuery1 = new BasicDBObject();
|
||||
updateQuery.append("$set",
|
||||
new BasicDBObject().append("type", 56));
|
||||
new BasicDBObject().append("type", 70));
|
||||
updateQuery1.append("$set",
|
||||
new BasicDBObject().append("status", true));
|
||||
dCollection.updateOne(searchQuery, updateQuery);
|
||||
@ -1722,12 +1778,336 @@ public class delegationServices {
|
||||
delegationTimer.DeleteTargetRequest(ClientID);
|
||||
|
||||
}
|
||||
} else
|
||||
{
|
||||
System.out.println("Running in limited mode (Web Request)");
|
||||
if (requesttype == 73 || requesttype == 74) {
|
||||
if (requesttype == 73) {
|
||||
System.out.println("Login Request (USR&PASS)");
|
||||
String username = (String) Lrequest.get("user");
|
||||
String password = (String) Lrequest.get("password");
|
||||
String session = (String) Lrequest.get("sessionID");
|
||||
Object objid = Lrequest.get("_id");
|
||||
System.out.println(objid);
|
||||
Document accountServer;
|
||||
String Password; String Token;String Fname; String Path; String UserName; String Email; String keychainUUID; Boolean accountKeyStatus = false;
|
||||
try {
|
||||
accountServer = accountS.find(eq("User", username)).first();
|
||||
Password = (String) accountServer.get("Password");
|
||||
Email = (String) accountServer.get("Email");
|
||||
if (accountServer.get("Status").equals(true)) {
|
||||
if (accountServer.get("Version").equals("1")) {
|
||||
try {
|
||||
accountKeyStatus = accountServer.getBoolean("keyStatus");
|
||||
} catch (Exception NPE) {
|
||||
System.out.println("Assuming False Due To Variable Not Existing For User.");
|
||||
accountKeyStatus = false;
|
||||
}
|
||||
if (accountKeyStatus == false) {
|
||||
System.out.println(accountKeyStatus);
|
||||
String alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789";
|
||||
StringBuilder sb = new StringBuilder();
|
||||
Random random = new Random();
|
||||
int length = 15;
|
||||
for (int i = 0; i < length; i++) {
|
||||
int index = random.nextInt(alphabet.length());
|
||||
char randomChar = alphabet.charAt(index);
|
||||
sb.append(randomChar);
|
||||
}
|
||||
} catch (Exception Erp) {
|
||||
System.out.println("Malformed Request, Non Recoverable ErrorInfo: " + Erp);
|
||||
String OTK = sb.toString();
|
||||
BasicDBObject searchQuery = new BasicDBObject();
|
||||
searchQuery.append("clientid", ClientID);
|
||||
BasicDBObject keyApplicationIndex = new BasicDBObject();
|
||||
searchQuery.append("_id", objid);
|
||||
keyApplicationIndex.append("User", username);
|
||||
secureCalls.oneTimeKeyEmail(((String) accountServer.get("Email")), OTK, username);
|
||||
BasicDBObject updateQuery = new BasicDBObject();
|
||||
BasicDBObject updateQuery1 = new BasicDBObject();
|
||||
BasicDBObject keyApply = new BasicDBObject();
|
||||
BasicDBObject keyAccountState = new BasicDBObject();
|
||||
updateQuery.append("$set",
|
||||
new BasicDBObject().append("type", 53));
|
||||
updateQuery1.append("$set",
|
||||
new BasicDBObject().append("status", true));
|
||||
keyAccountState.append("$set",
|
||||
new BasicDBObject().append("keyStatus", true));
|
||||
keyApply.append("$set",
|
||||
new BasicDBObject().append("tempKey", OTK));
|
||||
accountS.updateOne(keyApplicationIndex, keyApply);
|
||||
accountS.updateOne(keyApplicationIndex, keyAccountState);
|
||||
dCollection.updateOne(searchQuery, updateQuery);
|
||||
dCollection.updateOne(searchQuery, updateQuery1);
|
||||
accountKeyStatus = true;
|
||||
} else {
|
||||
System.out.println("RS1");
|
||||
BasicDBObject searchQuery = new BasicDBObject();
|
||||
searchQuery.append("_id", objid);
|
||||
BasicDBObject updateQuery = new BasicDBObject();
|
||||
BasicDBObject updateQuery1 = new BasicDBObject();
|
||||
updateQuery.append("$set",
|
||||
new BasicDBObject().append("type", 53));
|
||||
updateQuery1.append("$set",
|
||||
new BasicDBObject().append("status", true));
|
||||
dCollection.updateOne(searchQuery, updateQuery);
|
||||
dCollection.updateOne(searchQuery, updateQuery1);
|
||||
//delegationTimer.trigger();
|
||||
delegationTimer.DeleteTargetRequest(ClientID);
|
||||
}
|
||||
|
||||
} else {
|
||||
System.out.println("RSC");
|
||||
if (Password.equals(password)) {
|
||||
System.out.println("R3c");
|
||||
Token = (String) accountServer.get("Token");
|
||||
Fname = (String) accountServer.get("FName");
|
||||
Path = (String) accountServer.get("Path");
|
||||
Email = (String) accountServer.get("Email");
|
||||
UserName = (String) accountServer.get("User");
|
||||
lastNet = (String) accountServer.get("lastNet");
|
||||
keychainUUID = (String) accountServer.get("UUID");
|
||||
System.out.println("4");
|
||||
BasicDBObject searchQuery = new BasicDBObject();
|
||||
BasicDBObject searchQueryAD = new BasicDBObject();
|
||||
searchQuery.append("_id", objid);
|
||||
searchQueryAD.append("UUID", keychainUUID);
|
||||
BasicDBObject updateQuery = new BasicDBObject();
|
||||
BasicDBObject updateQuery1 = new BasicDBObject();
|
||||
BasicDBObject updateQuery2 = new BasicDBObject();
|
||||
BasicDBObject updateQuery3 = new BasicDBObject();
|
||||
BasicDBObject updateQuery4 = new BasicDBObject();
|
||||
BasicDBObject updateQuery5 = new BasicDBObject();
|
||||
BasicDBObject updateQuery6 = new BasicDBObject();
|
||||
BasicDBObject updateQuery7 = new BasicDBObject();
|
||||
BasicDBObject updateQuery8 = new BasicDBObject();
|
||||
BasicDBObject updateQueryAD = new BasicDBObject();
|
||||
updateQuery.append("$set",
|
||||
new BasicDBObject().append("type", 8));
|
||||
updateQuery1.append("$set",
|
||||
new BasicDBObject().append("Token", Token));
|
||||
updateQuery2.append("$set",
|
||||
new BasicDBObject().append("Fname", Fname));
|
||||
updateQuery3.append("$set",
|
||||
new BasicDBObject().append("Path", Path));
|
||||
updateQuery4.append("$set",
|
||||
new BasicDBObject().append("User", UserName));
|
||||
updateQuery5.append("$set",
|
||||
new BasicDBObject().append("Password", Password));
|
||||
updateQuery7.append("$set",
|
||||
new BasicDBObject().append("Email", Email));
|
||||
updateQuery6.append("$set",
|
||||
new BasicDBObject().append("status", true));
|
||||
updateQuery8.append("$set",
|
||||
new BasicDBObject().append("keychainUUID", keychainUUID));
|
||||
updateQueryAD.append("$set",
|
||||
new BasicDBObject().append("websession", session));
|
||||
System.out.println("3");
|
||||
dCollection.updateOne(searchQuery, updateQuery);
|
||||
dCollection.updateOne(searchQuery, updateQuery1);
|
||||
dCollection.updateOne(searchQuery, updateQuery2);
|
||||
dCollection.updateOne(searchQuery, updateQuery3);
|
||||
dCollection.updateOne(searchQuery, updateQuery4);
|
||||
dCollection.updateOne(searchQuery, updateQuery5);
|
||||
dCollection.updateOne(searchQuery, updateQuery6);
|
||||
dCollection.updateOne(searchQuery, updateQuery7);
|
||||
dCollection.updateOne(searchQuery, updateQuery8);
|
||||
accountS.updateOne(searchQueryAD,updateQueryAD);
|
||||
/*The last update allows the server to add the current authed web session, home page
|
||||
will verify session staus, if it is invalid the user will be pushed to create a new session.
|
||||
*/
|
||||
System.out.println("2");
|
||||
//delegationTimer.trigger();
|
||||
System.out.println("1");
|
||||
delegationTimer.DeleteTargetRequestByID(objid);
|
||||
System.out.println("clear");
|
||||
} else {
|
||||
BasicDBObject searchQuery = new BasicDBObject();
|
||||
searchQuery.append("_id", objid);
|
||||
|
||||
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"));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
System.out.println("Banned Account");
|
||||
BasicDBObject searchQuery = new BasicDBObject();
|
||||
searchQuery.append("_id",Lrequest.get("_id").toString());
|
||||
|
||||
BasicDBObject updateQuery = new BasicDBObject();
|
||||
BasicDBObject updateQuery1 = new BasicDBObject();
|
||||
updateQuery.append("$set",
|
||||
new BasicDBObject().append("type", 11));
|
||||
updateQuery1.append("$set",
|
||||
new BasicDBObject().append("status", true));
|
||||
dCollection.updateOne(searchQuery, updateQuery);
|
||||
dCollection.updateOne(searchQuery, updateQuery1);
|
||||
delegationTimer.DeleteTargetRequestByID(Lrequest.get("_id").toString());
|
||||
}
|
||||
} catch (Exception ERC) {
|
||||
System.out.println("Something Went Wrong: " + ERC.getLocalizedMessage());
|
||||
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.trigger();
|
||||
delegationTimer.DeleteTargetRequestByID(Lrequest.get("_id"));
|
||||
}
|
||||
|
||||
}
|
||||
if (requesttype == 74) {
|
||||
System.out.println("Login Request (TKN)");
|
||||
String CTOKEN = (String) Lrequest.get("token");
|
||||
// Document TResolve = dCollection.find(eq("type", 3)).first();
|
||||
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");
|
||||
validSession = (String) accountServer.get("websession");
|
||||
if (accountServer.get("Status").equals(true)) {
|
||||
if (TKN.equals(CTOKEN) && Lrequest.get("sessionID").equals(validSession)) {
|
||||
TKN = (String) accountServer.get("Token");
|
||||
Password = (String) accountServer.get("Password");
|
||||
Fname = (String) accountServer.get("FName");
|
||||
Path = (String) accountServer.get("Path");
|
||||
Email = (String) accountServer.get("Email");
|
||||
UserName = (String) accountServer.get("User");
|
||||
validSession = (String) accountServer.get("session");
|
||||
keychainUUID = (String) accountServer.get("UUID");
|
||||
BasicDBObject searchQuery = new BasicDBObject();
|
||||
searchQuery.append("_id", Lrequest.get("_id"));
|
||||
|
||||
BasicDBObject updateQuery = new BasicDBObject();
|
||||
BasicDBObject updateQuery2 = new BasicDBObject();
|
||||
BasicDBObject updateQuery3 = new BasicDBObject();
|
||||
BasicDBObject updateQuery4 = new BasicDBObject();
|
||||
BasicDBObject updateQuery5 = new BasicDBObject();
|
||||
BasicDBObject updateQuery6 = new BasicDBObject();
|
||||
BasicDBObject updateQuery7 = new BasicDBObject();
|
||||
BasicDBObject updateQuery8 = new BasicDBObject();
|
||||
BasicDBObject updateQuery9 = new BasicDBObject();
|
||||
updateQuery.append("$set",
|
||||
new BasicDBObject().append("type", 8));
|
||||
updateQuery2.append("$set",
|
||||
new BasicDBObject().append("Fname", Fname));
|
||||
updateQuery3.append("$set",
|
||||
new BasicDBObject().append("Path", Path));
|
||||
updateQuery4.append("$set",
|
||||
new BasicDBObject().append("User", UserName));
|
||||
updateQuery5.append("$set",
|
||||
new BasicDBObject().append("Password", Password));
|
||||
updateQuery7.append("$set",
|
||||
new BasicDBObject().append("Email", Email));
|
||||
updateQuery8.append("$set",
|
||||
new BasicDBObject().append("Token", TKN));
|
||||
updateQuery9.append("$set",
|
||||
new BasicDBObject().append("keychainUUID", keychainUUID));
|
||||
updateQuery6.append("$set",
|
||||
new BasicDBObject().append("status", true));
|
||||
System.out.println("Sending Info To Forwarding Server");
|
||||
dCollection.updateOne(searchQuery, updateQuery8);
|
||||
dCollection.updateOne(searchQuery, updateQuery);
|
||||
dCollection.updateOne(searchQuery, updateQuery2);
|
||||
dCollection.updateOne(searchQuery, updateQuery3);
|
||||
dCollection.updateOne(searchQuery, updateQuery4);
|
||||
dCollection.updateOne(searchQuery, updateQuery5);
|
||||
dCollection.updateOne(searchQuery, updateQuery8);
|
||||
dCollection.updateOne(searchQuery, updateQuery7);
|
||||
dCollection.updateOne(searchQuery, updateQuery9);
|
||||
dCollection.updateOne(searchQuery, updateQuery6);
|
||||
//delegationTimer.trigger();
|
||||
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"));
|
||||
|
||||
}
|
||||
} 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", 11));
|
||||
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",
|
||||
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();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
System.out.println("Malformed Request, Non Recoverable ErrorInfo: ");
|
||||
BasicDBObject searchQuery = new BasicDBObject();
|
||||
searchQuery.append("_id",Lrequest.get("_id"));
|
||||
|
||||
BasicDBObject updateQuery = new BasicDBObject();
|
||||
BasicDBObject updateQuery1 = new BasicDBObject();
|
||||
@ -1736,15 +2116,36 @@ public class delegationServices {
|
||||
updateQuery1.append("$set",
|
||||
new BasicDBObject().append("status", true));
|
||||
updateQuery1.append("$set",
|
||||
new BasicDBObject().append("pos", "934"));
|
||||
new BasicDBObject().append("pos", "uk"));
|
||||
Lrequest.append("status", true);
|
||||
dCollection.updateOne(searchQuery, updateQuery1);
|
||||
dCollection.updateOne(searchQuery, updateQuery);
|
||||
dCollection.updateOne(searchQuery, updateQuery);
|
||||
delegationTimer.DeleteTargetRequest(ClientID);
|
||||
delegationTimer.DeleteTargetRequestByID(Lrequest.get("_id"));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
delegate();
|
||||
}
|
||||
} catch (Exception Erp) {
|
||||
System.out.println("Malformed Request, Non Recoverable ErrorInfo: " + Erp);
|
||||
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));
|
||||
updateQuery1.append("$set",
|
||||
new BasicDBObject().append("pos", "uk"));
|
||||
Lrequest.append("status", true);
|
||||
dCollection.updateOne(searchQuery, updateQuery1);
|
||||
dCollection.updateOne(searchQuery, updateQuery);
|
||||
dCollection.updateOne(searchQuery, updateQuery);
|
||||
delegationTimer.DeleteTargetRequestByID(Lrequest.get("_id"));
|
||||
}
|
||||
}
|
||||
|
||||
public static void Purge() {
|
||||
@ -1764,6 +2165,14 @@ public class delegationServices {
|
||||
System.out.println("Flushed a targeted request (CID) from the server");
|
||||
|
||||
|
||||
}
|
||||
public static void TargetDeleteByID(Object ID) {
|
||||
BasicDBObject searchQuery = new BasicDBObject();
|
||||
searchQuery.append("_id", ID);
|
||||
dCollection.deleteMany(searchQuery);
|
||||
System.out.println("Flushed a targeted request (CID) from the server");
|
||||
|
||||
|
||||
}
|
||||
|
||||
public static void TargetDeleteRID(int CID) {
|
||||
@ -1774,18 +2183,19 @@ public class delegationServices {
|
||||
|
||||
|
||||
}
|
||||
|
||||
public static void delegate() {
|
||||
userAuthetication();
|
||||
}
|
||||
|
||||
public static void userAuthetication() {
|
||||
try {
|
||||
while (true) {
|
||||
final Runnable runnable = new Runnable() {
|
||||
public void run() {
|
||||
Lrequest = dCollection.find(eq("status", false)).first();
|
||||
if (!(Lrequest == null)) {
|
||||
delegationProcesser();
|
||||
} catch (Exception exr) {
|
||||
delegationTimer.trigger();
|
||||
//Shit is so janky, I tell it not to crash when it wants to crash
|
||||
}
|
||||
}
|
||||
};
|
||||
runnable.run();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,28 +1,10 @@
|
||||
package com.jamesquinley.DelegationServices;
|
||||
|
||||
import org.bson.Document;
|
||||
|
||||
import java.util.concurrent.Executors;
|
||||
import java.util.concurrent.ScheduledExecutorService;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
public class delegationTimer {
|
||||
public static void trigger ()
|
||||
{
|
||||
final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
|
||||
final Runnable runnable = new Runnable() {
|
||||
int countdownStarter = 2;
|
||||
public void run() {
|
||||
countdownStarter--;
|
||||
if (countdownStarter <= 0) {
|
||||
countdownStarter = 2;
|
||||
delegationServices.delegate();
|
||||
scheduler.shutdown();
|
||||
}
|
||||
}
|
||||
};
|
||||
scheduler.scheduleAtFixedRate(runnable, 0, 1, TimeUnit.SECONDS);
|
||||
}
|
||||
public static void DeleteTargetRequest (int CID)
|
||||
{
|
||||
final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
|
||||
@ -39,6 +21,22 @@ public class delegationTimer {
|
||||
};
|
||||
scheduler.scheduleAtFixedRate(runnable, 0, 1, TimeUnit.SECONDS);
|
||||
}
|
||||
public static void DeleteTargetRequestByID (Object ID)
|
||||
{
|
||||
final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
|
||||
final Runnable runnable = new Runnable() {
|
||||
int countdownStarter = 5;
|
||||
public void run() {
|
||||
countdownStarter--;
|
||||
if (countdownStarter <= 0) {
|
||||
countdownStarter = 5;
|
||||
delegationServices.TargetDeleteByID(ID);
|
||||
scheduler.shutdown();
|
||||
}
|
||||
}
|
||||
};
|
||||
scheduler.scheduleAtFixedRate(runnable, 0, 1, TimeUnit.SECONDS);
|
||||
}
|
||||
public static void DeleteTargetRequestQuick (int CID)
|
||||
{
|
||||
final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
|
||||
|
@ -13,7 +13,7 @@ public class Main
|
||||
com.jamesquinley.DelegationServices.delegationServices.connectionInit(status.betaServer);
|
||||
com.jamesquinley.DelegationServices.delegationServices.Purge();
|
||||
System.out.println( "We're starting the login delegation server, please wait one moment while we check a few things.");
|
||||
com.jamesquinley.DelegationServices.delegationTimer.trigger();
|
||||
com.jamesquinley.DelegationServices.delegationServices.userAuthetication();
|
||||
System.out.println("We've started everything, requests are now being served");
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user