822 lines
53 KiB
Java
822 lines
53 KiB
Java
package com.jamesquinley.DelegationServices;
|
|
|
|
import com.mongodb.BasicDBObject;
|
|
import com.mongodb.ConnectionString;
|
|
import com.mongodb.MongoClientSettings;
|
|
import com.mongodb.MongoCommandException;
|
|
import com.mongodb.client.MongoClient;
|
|
import com.mongodb.client.MongoClients;
|
|
import com.mongodb.client.MongoCollection;
|
|
import com.mongodb.client.MongoDatabase;
|
|
import org.bson.Document;
|
|
|
|
import static com.mongodb.client.model.Filters.eq;
|
|
import static java.util.concurrent.TimeUnit.SECONDS;
|
|
|
|
public class delegationServices {
|
|
static ConnectionString BetascReadconnectionString = new ConnectionString("mongodb+srv://serverClientBeta:Unz6c3I0wjrUVBIf@delegationrequest.qnvfa.mongodb.net/mDelegationRequest?retryWrites=true&w=majority");
|
|
static MongoClientSettings BetascReadsettings = MongoClientSettings.builder()
|
|
.applyConnectionString(BetascReadconnectionString)
|
|
.applyToSocketSettings(builder ->
|
|
builder.connectTimeout(5, SECONDS)
|
|
.readTimeout(6, SECONDS))
|
|
.build();
|
|
static MongoClient BetadClient = MongoClients.create(BetascReadsettings);
|
|
static MongoDatabase BetadClientDatabase = BetadClient.getDatabase("DelegationRequest");
|
|
static MongoCollection<Document> BetadCollection = BetadClientDatabase.getCollection("accountRequest");
|
|
|
|
static ConnectionString scReadconnectionString = new ConnectionString("mongodb+srv://serverClient:x2sJ8Qu0VVMifNLX@accountdelegation.n06hb.mongodb.net/DelegationRequest?retryWrites=true&w=majority");
|
|
static MongoClientSettings scReadsettings = MongoClientSettings.builder()
|
|
.applyConnectionString(scReadconnectionString)
|
|
.applyToSocketSettings(builder ->
|
|
builder.connectTimeout(5, SECONDS)
|
|
.readTimeout(6, SECONDS))
|
|
.build();
|
|
static MongoClient dClient = MongoClients.create(scReadsettings);
|
|
static MongoDatabase dClientDatabase = dClient.getDatabase("DelegationRequest");
|
|
static MongoCollection<Document> dCollection = dClientDatabase.getCollection("accountRequest");
|
|
|
|
static MongoDatabase RGFilterDB = dClient.getDatabase("rgcon");
|
|
static MongoCollection<Document> RGFilter = RGFilterDB.getCollection("blocked");
|
|
|
|
static ConnectionString AccountCon = new ConnectionString("mongodb+srv://DelegationServerClient:UNxldb8abSJkWscG@account.ufgrh.mongodb.net/account?retryWrites=true&w=majority");
|
|
static MongoClientSettings AccountSettings = MongoClientSettings.builder()
|
|
.applyConnectionString(AccountCon)
|
|
.applyToSocketSettings(builder ->
|
|
builder.connectTimeout(5, SECONDS)
|
|
.readTimeout(6, SECONDS))
|
|
.build();
|
|
static MongoClient accountGetClient = MongoClients.create(AccountSettings);
|
|
static MongoDatabase accountDatabase = accountGetClient.getDatabase("account");
|
|
static MongoCollection<Document> accountS = accountDatabase.getCollection("UserPass");
|
|
static int RequestR;
|
|
//still need to config
|
|
public static void delegationProcesser() {
|
|
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 {
|
|
|
|
try {
|
|
try {
|
|
ClientID = (int) Lrequest.get("clientid");
|
|
} catch (Exception exrp) {
|
|
System.out.println("Failed To Get Client ID");
|
|
delegationTimer.DeleteTargetRequest(ClientID);
|
|
}
|
|
|
|
String RG = (String) Lrequest.get("rg");
|
|
Document Filter = RGFilter.find(eq("rgkey", "UAROCKS")).first();
|
|
String blockedRG = (String) Filter.get("rgflag");
|
|
if (blockedRG.contains(RG)) {
|
|
System.out.println("User Is Trying To Join From A Blocked Region, Halted Login Request.");
|
|
System.out.println("Sync Failure");
|
|
BasicDBObject searchQuery = new BasicDBObject();
|
|
searchQuery.append("rid", Lrequest.get("rid"));
|
|
|
|
BasicDBObject updateQuery = new BasicDBObject();
|
|
BasicDBObject updateQuery1 = new BasicDBObject();
|
|
updateQuery.append("$set",
|
|
new BasicDBObject().append("type", 19));
|
|
updateQuery1.append("$set",
|
|
new BasicDBObject().append("status", true));
|
|
dCollection.updateOne(searchQuery, updateQuery);
|
|
dCollection.updateOne(searchQuery, updateQuery1);
|
|
delegationTimer.DeleteTargetRequest(ClientID);
|
|
} else {
|
|
System.out.println("User On Allowed Region");
|
|
int requesttype = (int) Lrequest.get("type");
|
|
System.out.println("Got Type, Getting Doc ID");
|
|
RequestR = requesttype;
|
|
//TODO Get this working, it broke and it wont get OBJ id
|
|
|
|
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) {
|
|
if (requesttype == 7 || requesttype == 12 || requesttype == 4 || requesttype == 5 || requesttype == 6 || requesttype == 19) {
|
|
System.out.println("An Excluded Request (7MAL, 12S, 4C, 5C, 6C) Has Been Detected, Ignoring");
|
|
//Thinking of moving all purge timer call to here to centralize deletion decision.
|
|
}
|
|
if (requesttype == 0) {
|
|
int CTOKEN = (int) Lrequest.get("Token");
|
|
System.out.println("Sync Request (Read)");
|
|
Document accountServer;
|
|
String Password;
|
|
int Token;
|
|
String Fname;
|
|
String Path;
|
|
String UserName;
|
|
String Email;
|
|
try {
|
|
accountServer = accountS.find(eq("Token", CTOKEN)).first();
|
|
Token = (int) accountServer.get("Token");
|
|
if (accountServer.get("Status").equals(true)) {
|
|
if (Token == CTOKEN) {
|
|
|
|
Token = (int) 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");
|
|
BasicDBObject searchQuery = new BasicDBObject();
|
|
searchQuery.append("clientid", ClientID);
|
|
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();
|
|
updateQuery.append("$set",
|
|
new BasicDBObject().append("type", 12));
|
|
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));
|
|
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);
|
|
delegationTimer.DeleteTargetRequest(ClientID);
|
|
} else {
|
|
System.out.println("Sync Failure");
|
|
BasicDBObject searchQuery = new BasicDBObject();
|
|
searchQuery.append("rid", Lrequest.get("rid"));
|
|
|
|
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.DeleteTargetRequest(ClientID);
|
|
//delegationTimer.trigger();
|
|
}
|
|
} else {
|
|
System.out.println("Banned Account");
|
|
BasicDBObject searchQuery = new BasicDBObject();
|
|
searchQuery.append("clientid", ClientID);
|
|
|
|
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.DeleteTargetRequest(ClientID);
|
|
}
|
|
} catch(MongoCommandException ERC){
|
|
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);
|
|
}
|
|
}
|
|
|
|
//sync read request
|
|
if (requesttype == 1) {
|
|
System.out.println("Sync Request (Write)");
|
|
int CTOKEN = (int) Lrequest.get("Token");
|
|
System.out.println("Got Token.");
|
|
Document accountServer;
|
|
String Password;
|
|
int Token;
|
|
String Fname;
|
|
String Path;
|
|
String UserName;
|
|
String Email;
|
|
try {
|
|
accountServer = accountS.find(eq("Token", CTOKEN)).first();
|
|
Token = (int) accountServer.get("Token");
|
|
if (accountServer.get("Status").equals(true)) {
|
|
System.out.println("Account is OK");
|
|
if (Token == CTOKEN) {
|
|
System.out.println("Logged In");
|
|
Token = (int) Lrequest.get("Token");
|
|
Fname = (String) Lrequest.get("FName");
|
|
Path = (String) Lrequest.get("Path");
|
|
Email = (String) Lrequest.get("Email");
|
|
UserName = (String) Lrequest.get("User");
|
|
System.out.println("Got info.");
|
|
BasicDBObject searchQuery = new BasicDBObject();
|
|
searchQuery.append("Token", Token);
|
|
BasicDBObject SqS = new BasicDBObject();
|
|
SqS.append("clientid", ClientID);
|
|
|
|
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();
|
|
System.out.println("Made Objects");
|
|
updateQuery.append("$set",
|
|
new BasicDBObject().append("type", 12));
|
|
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));
|
|
updateQuery7.append("$set",
|
|
new BasicDBObject().append("Email", Email));
|
|
updateQuery6.append("$set",
|
|
new BasicDBObject().append("status", true));
|
|
updateQuery5.append("$set",
|
|
new BasicDBObject().append("Email", Email));
|
|
dCollection.updateOne(SqS, updateQuery);
|
|
dCollection.updateOne(SqS, updateQuery6);
|
|
accountS.updateOne(searchQuery, updateQuery1);
|
|
accountS.updateOne(searchQuery, updateQuery2);
|
|
accountS.updateOne(searchQuery, updateQuery3);
|
|
accountS.updateOne(searchQuery, updateQuery4);
|
|
accountS.updateOne(searchQuery, updateQuery7);
|
|
accountS.updateOne(searchQuery, updateQuery5);
|
|
System.out.println("Updated Account");
|
|
//delegationTimer.trigger();
|
|
delegationTimer.DeleteTargetRequest(ClientID);
|
|
} else {
|
|
System.out.println("Sync Failure");
|
|
BasicDBObject searchQuery = new BasicDBObject();
|
|
searchQuery.append("rid",(int) Lrequest.get("rid"));
|
|
|
|
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);
|
|
}
|
|
} else {
|
|
System.out.println("Banned Account");
|
|
BasicDBObject searchQuery = new BasicDBObject();
|
|
searchQuery.append("clientid", ClientID);
|
|
|
|
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.DeleteTargetRequest(ClientID);
|
|
}
|
|
} catch(MongoCommandException ERC){
|
|
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);
|
|
}
|
|
}
|
|
if (requesttype == 2) {
|
|
System.out.println("Login Request (USR&PASS)");
|
|
String username = (String) Lrequest.get("User");
|
|
String password = (String) Lrequest.get("Password");
|
|
Document accountServer;
|
|
String Password;
|
|
int Token;
|
|
String Fname;
|
|
String Path;
|
|
String UserName;
|
|
String Email;
|
|
try {
|
|
accountServer = accountS.find(eq("User", username)).first();
|
|
Password = (String) accountServer.get("Password");
|
|
if (accountServer.get("Status").equals(true)) {
|
|
if (Password.equals(password)) {
|
|
Token = (int) accountServer.get("Token");
|
|
Fname = (String) accountServer.get("FName");
|
|
Path = (String) accountServer.get("Path");
|
|
Email = (String) accountServer.get("Email");
|
|
UserName = (String) accountServer.get("User");
|
|
com.jamesquinley.Asecure.emailVerify.SendEmailThroughGmail(Email, UserName);
|
|
|
|
BasicDBObject searchQuery = new BasicDBObject();
|
|
searchQuery.append("clientid", ClientID);
|
|
|
|
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();
|
|
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));
|
|
// System.out.println("Sending Info To Forwarding Server");
|
|
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);
|
|
//delegationTimer.trigger();
|
|
delegationTimer.DeleteTargetRequest(ClientID);
|
|
} else {
|
|
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);
|
|
}
|
|
} else {
|
|
System.out.println("Banned Account");
|
|
BasicDBObject searchQuery = new BasicDBObject();
|
|
searchQuery.append("clientid", ClientID);
|
|
|
|
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.DeleteTargetRequest(ClientID);
|
|
}
|
|
} catch (Exception ERC) {
|
|
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);
|
|
}
|
|
|
|
}
|
|
if (requesttype == 3) {
|
|
System.out.println("Login Request (TKN)");
|
|
int CTOKEN = (int) Lrequest.get("Token");
|
|
// Document TResolve = dCollection.find(eq("type", 3)).first();
|
|
Document accountServer;
|
|
int TKN;
|
|
String Password;
|
|
String Fname;
|
|
String Path;
|
|
String UserName;
|
|
String Email;
|
|
try {
|
|
accountServer = accountS.find(eq("Token", CTOKEN)).first();
|
|
TKN = (int) accountServer.get("Token");
|
|
if (accountServer.get("Status").equals(true)) {
|
|
if (TKN == CTOKEN) {
|
|
TKN = (int) 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");
|
|
com.jamesquinley.Asecure.emailVerify.SendEmailThroughGmail(Email, UserName);
|
|
BasicDBObject searchQuery = new BasicDBObject();
|
|
searchQuery.append("clientid", ClientID);
|
|
|
|
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();
|
|
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));
|
|
updateQuery6.append("$set",
|
|
new BasicDBObject().append("status", true));
|
|
updateQuery8.append("$set",
|
|
new BasicDBObject().append("Token", TKN));
|
|
System.out.println("Sending Info To Forwarding Server");
|
|
dCollection.updateOne(searchQuery, updateQuery);
|
|
dCollection.updateOne(searchQuery, updateQuery2);
|
|
dCollection.updateOne(searchQuery, updateQuery3);
|
|
dCollection.updateOne(searchQuery, updateQuery4);
|
|
dCollection.updateOne(searchQuery, updateQuery5);
|
|
dCollection.updateOne(searchQuery, updateQuery6);
|
|
dCollection.updateOne(searchQuery, updateQuery8);
|
|
dCollection.updateOne(searchQuery, updateQuery7);
|
|
//delegationTimer.trigger();
|
|
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);
|
|
|
|
}
|
|
} else {
|
|
System.out.println("Banned Account");
|
|
BasicDBObject searchQuery = new BasicDBObject();
|
|
searchQuery.append("clientid", ClientID);
|
|
|
|
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.DeleteTargetRequest(ClientID);
|
|
|
|
}
|
|
} catch (MongoCommandException ERC) {
|
|
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.DeleteTargetRequest(ClientID);
|
|
//delegationTimer.trigger();
|
|
}
|
|
}
|
|
if (requesttype == 18) {
|
|
//TOKEN LOGIN FOR GAME, DOES NOT SEND EMAIL, LAUNCHER WILL NOT USE THIS.
|
|
System.out.println("Login Request (TKN)");
|
|
int CTOKEN = (int) Lrequest.get("Token");
|
|
Document accountServer;
|
|
int TKN;
|
|
String Password;
|
|
String Fname;
|
|
String Path;
|
|
String UserName;
|
|
String Email;
|
|
try {
|
|
accountServer = accountS.find(eq("Token", CTOKEN)).first();
|
|
TKN = (int) accountServer.get("Token");
|
|
if (accountServer.get("Status").equals(true)) {
|
|
if (TKN == CTOKEN) {
|
|
TKN = (int) 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");
|
|
BasicDBObject searchQuery = new BasicDBObject();
|
|
searchQuery.append("clientid", ClientID);
|
|
|
|
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();
|
|
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));
|
|
updateQuery6.append("$set",
|
|
new BasicDBObject().append("status", true));
|
|
updateQuery8.append("$set",
|
|
new BasicDBObject().append("Token", TKN));
|
|
System.out.println("Sending Info To Forwarding Server");
|
|
dCollection.updateOne(searchQuery, updateQuery);
|
|
dCollection.updateOne(searchQuery, updateQuery2);
|
|
dCollection.updateOne(searchQuery, updateQuery3);
|
|
dCollection.updateOne(searchQuery, updateQuery4);
|
|
dCollection.updateOne(searchQuery, updateQuery5);
|
|
dCollection.updateOne(searchQuery, updateQuery6);
|
|
dCollection.updateOne(searchQuery, updateQuery8);
|
|
dCollection.updateOne(searchQuery, updateQuery7);
|
|
//delegationTimer.trigger();
|
|
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);
|
|
|
|
}
|
|
} else {
|
|
System.out.println("Banned Account");
|
|
BasicDBObject searchQuery = new BasicDBObject();
|
|
searchQuery.append("clientid", ClientID);
|
|
|
|
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.DeleteTargetRequest(ClientID);
|
|
}
|
|
} catch (MongoCommandException ERC) {
|
|
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.DeleteTargetRequest(ClientID);
|
|
//delegationTimer.trigger();
|
|
}
|
|
}
|
|
if (requesttype == 10)
|
|
{
|
|
delegationTimer.DeleteTargetRequest(ClientID);
|
|
System.out.println("Account Creation Request");
|
|
Document DServer = dCollection.find(eq("clientid",ClientID)).first();
|
|
String User = (String) DServer.get("User");
|
|
String Password = (String) DServer.get("Password");
|
|
String Email = (String) DServer.get("Email");
|
|
String FName = (String) DServer.get("FName");
|
|
int min = 100000000;
|
|
int max = 999999999;
|
|
double tokenGEN = Math.random()*(max-min+1)+min;
|
|
int tokenSTGEN = (int) tokenGEN;
|
|
|
|
//verify open cert
|
|
try {
|
|
Document DupeUser = accountS.find(eq("User", User)).first();
|
|
String DUPE = (String) DupeUser.get("User");
|
|
BasicDBObject searchQuery = new BasicDBObject();
|
|
searchQuery.append("clientid", ClientID);
|
|
|
|
BasicDBObject updateQuery = new BasicDBObject();
|
|
BasicDBObject updateQuery1 = new BasicDBObject();
|
|
updateQuery.append("$set",
|
|
new BasicDBObject().append("type", 6));
|
|
updateQuery1.append("$set",
|
|
new BasicDBObject().append("status", true));
|
|
dCollection.updateOne(searchQuery, updateQuery);
|
|
dCollection.updateOne(searchQuery, updateQuery1);
|
|
delegationTimer.DeleteTargetRequest(ClientID);
|
|
} catch (Exception exr) {
|
|
System.out.println("Username Is Open");
|
|
try {
|
|
Document DupeToken = accountS.find(eq("Token", tokenSTGEN)).first();
|
|
int DupeToke1n = (int) DupeToken.get("Token");
|
|
|
|
Boolean TokenOpen = false;
|
|
while (TokenOpen == false) {
|
|
tokenGEN = Math.random()*(max-min+1)+min;
|
|
tokenSTGEN = (int) tokenGEN;
|
|
try {
|
|
DupeToken = accountS.find(eq("Token", tokenSTGEN)).first();
|
|
DupeToke1n = (int) DupeToken.get("Token");
|
|
System.out.println("Token Is Reserved, Try Again.");
|
|
tokenGEN = Math.random()*(max-min+1)+min;
|
|
tokenSTGEN = (int) tokenGEN;
|
|
} catch (Exception exDr) {
|
|
TokenOpen = true;
|
|
System.out.println("Token Free (While EXP)");
|
|
}
|
|
}
|
|
} catch (Exception exrs) {
|
|
System.out.println("Token Free (Main)");
|
|
System.out.println("Creating.");
|
|
Document createForm = new Document();
|
|
createForm.append("User", User);
|
|
createForm.append("Password", Password);
|
|
createForm.append("Status", true);
|
|
createForm.append("Flagged", false);
|
|
createForm.append("Email", Email);
|
|
createForm.append("FName", FName);
|
|
createForm.append("Entitlements", "NA");
|
|
createForm.append("Path", "C:\\ObsidianCoreStudios\\Launcher\\AOTSK\\");
|
|
createForm.append("Freinds", " ");
|
|
createForm.append("Token", tokenSTGEN);
|
|
createForm.append("Control", 1);
|
|
accountS.insertOne(createForm);
|
|
BasicDBObject searchQuery = new BasicDBObject();
|
|
searchQuery.append("clientid", ClientID);
|
|
com.jamesquinley.Asecure.emailVerify.Onboarding(Email);
|
|
BasicDBObject updateQuery = new BasicDBObject();
|
|
BasicDBObject updateQuery1 = new BasicDBObject();
|
|
updateQuery.append("$set",
|
|
new BasicDBObject().append("type", 4));
|
|
updateQuery1.append("$set",
|
|
new BasicDBObject().append("status", true));
|
|
dCollection.updateOne(searchQuery, updateQuery);
|
|
dCollection.updateOne(searchQuery, updateQuery1);
|
|
System.out.println("Update Request With Finished Status");
|
|
delegationTimer.DeleteTargetRequest(ClientID);
|
|
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
} else {
|
|
System.out.println("Malformed Request, Non Recoverable");
|
|
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));
|
|
Lrequest.append("status",true);
|
|
dCollection.updateOne(searchQuery, updateQuery1);
|
|
dCollection.updateOne(searchQuery, updateQuery);
|
|
delegationTimer.DeleteTargetRequest(ClientID);
|
|
|
|
}
|
|
}
|
|
} catch (Exception Erp) {
|
|
System.out.println("Malformed Request, Non Recoverable");
|
|
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));
|
|
Lrequest.append("status",true);
|
|
dCollection.updateOne(searchQuery, updateQuery1);
|
|
dCollection.updateOne(searchQuery, updateQuery);
|
|
delegationTimer.DeleteTargetRequest(ClientID);
|
|
}
|
|
}
|
|
|
|
|
|
//above is finding one request and starting wheels
|
|
//delegationTimer.trigger();
|
|
delegate();
|
|
}
|
|
public static void Purge () {
|
|
BasicDBObject searchQueryT = new BasicDBObject();
|
|
BasicDBObject searchQueryF = new BasicDBObject();
|
|
searchQueryT.append("status", true);
|
|
searchQueryF.append("status", false);
|
|
dCollection.deleteMany(searchQueryT);
|
|
dCollection.deleteMany(searchQueryF);
|
|
System.out.println("Flushed Server");
|
|
}
|
|
|
|
public static void TargetDelete (int CID) {
|
|
BasicDBObject searchQuery = new BasicDBObject();
|
|
searchQuery.append("clientid",CID);
|
|
dCollection.deleteMany(searchQuery);
|
|
System.out.println("Flushed a targeted request (CID) from the server");
|
|
|
|
|
|
}
|
|
|
|
public static void TargetDeleteRID (int CID) {
|
|
BasicDBObject searchQuery = new BasicDBObject();
|
|
searchQuery.append("rid",CID);
|
|
dCollection.deleteMany(searchQuery);
|
|
System.out.println("Flushed a targeted request (RID) from the server");
|
|
|
|
|
|
} public static void delegate ()
|
|
{
|
|
userAuthetication();
|
|
}
|
|
public static void userAuthetication (){
|
|
try {
|
|
delegationProcesser();
|
|
} catch (Exception exr) {
|
|
System.out.println("No Pending Authentication");
|
|
delegationTimer.trigger();
|
|
}
|
|
}
|
|
}
|