diff --git a/src/main/java/com/jamesquinley/Asecure/emailVerify.java b/src/main/java/com/jamesquinley/Asecure/emailVerify.java index a4f8ae2..f27d17b 100644 --- a/src/main/java/com/jamesquinley/Asecure/emailVerify.java +++ b/src/main/java/com/jamesquinley/Asecure/emailVerify.java @@ -53,6 +53,9 @@ public class emailVerify { } catch (Exception e) { e.printStackTrace(); System.err.println("Email ONBOARD Not sent due to an error"); + if (e instanceof SendFailedException) { + secureCalls.banAction(receiverEmail); + } } } public static void newLocation (String receiverEmail, String User, String Adr, String OldAdr) { @@ -81,8 +84,8 @@ public class emailVerify { message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(receiverEmail)); message.setSubject("Obsidian Core Account Login Notice | " + Date); - message.setText("Something seems fishy, a login was detected at a new location " + Adr +" "+ "(at " + dateFormat.format(dt) + " PST)" + ". \n If this was you ignore this email, if it wasn't you, please contact us (Respond to this email).\n\n\n\n" + - " \nThis email (" + receiverEmail + ") is linked to the Obsidian Core account "+ User + " \nThese security emails can't be opted out of. \n\nThis was sent on behalf of Obsidian Core Studios by our super cool login robots.\n\n\n\n" + + message.setText("Something seems fishy, a login was detected at a new location " + Adr +" "+ "(at " + dateFormat.format(dt) + " PST)" + ".\nIf this was you ignore this email, if it wasn't you, please contact us (Respond to this email).\n\n\n\n" + + "\nThis email (" + receiverEmail + ") is linked to the Obsidian Core account: "+ User + " \nThese security emails can't be opted out of.\n\nThis was sent on behalf of Obsidian Core Studios by our super cool login robots.\n\n\n\n" + "The MAC address used has been set as your account's default, as well as past logins ("+Adr + ")"); Transport.send(message); diff --git a/src/main/java/com/jamesquinley/Asecure/secureCalls.java b/src/main/java/com/jamesquinley/Asecure/secureCalls.java new file mode 100644 index 0000000..dbc5ab8 --- /dev/null +++ b/src/main/java/com/jamesquinley/Asecure/secureCalls.java @@ -0,0 +1,24 @@ +package com.jamesquinley.Asecure; + +import com.jamesquinley.DelegationServices.delegationServices; + +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; + +public class secureCalls { + public static void locationBasedEmail (String email, String user, String adr, String oldAdr) + { + final Runnable runnable = new Runnable() { + public void run() { + emailVerify.newLocation(email , user, adr, oldAdr); + } + }; + runnable.run(); + } + + public static void banAction (String email) + { + delegationServices.banUserEmail(email); + } +} diff --git a/src/main/java/com/jamesquinley/DelegationServices/delegationServices.java b/src/main/java/com/jamesquinley/DelegationServices/delegationServices.java index b5c3c24..fcf1f81 100644 --- a/src/main/java/com/jamesquinley/DelegationServices/delegationServices.java +++ b/src/main/java/com/jamesquinley/DelegationServices/delegationServices.java @@ -10,6 +10,7 @@ import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import org.bson.Document; +import javax.print.Doc; import java.util.UUID; import static com.mongodb.client.model.Filters.eq; @@ -75,6 +76,21 @@ public class delegationServices { //still need to config public static String lastNet = null; public static String Macid = null; + + public static void banUserEmail (String email) + { + BasicDBObject searchQuery = new BasicDBObject(); + searchQuery.append("Email", email); + BasicDBObject updateQuery2 = new BasicDBObject(); + updateQuery2.append("$set", + new BasicDBObject().append("Status",false)); + accountS.updateOne(searchQuery, updateQuery2); + } + public static void banUserID(String ID) + { + + } + public static void delegationProcesser() { Document Filter; int ClientID = 0; @@ -327,7 +343,6 @@ public class delegationServices { delegationTimer.DeleteTargetRequest(ClientID); } } - System.out.println("Lets Service This Request: " + ClientID); //sync write request if (requesttype == 1) { System.out.println("Sync Request (Write)"); @@ -450,11 +465,8 @@ public class delegationServices { UserName = (String) accountServer.get("User"); lastNet = (String) accountServer.get("lastNet"); localNet.macRead(Macid, lastNet, Email, UserName, Token); - // 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(); @@ -479,7 +491,6 @@ public class delegationServices { 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); diff --git a/src/main/java/com/jamesquinley/DelegationServices/localNet.java b/src/main/java/com/jamesquinley/DelegationServices/localNet.java index 403be2a..18b2e1d 100644 --- a/src/main/java/com/jamesquinley/DelegationServices/localNet.java +++ b/src/main/java/com/jamesquinley/DelegationServices/localNet.java @@ -1,5 +1,6 @@ package com.jamesquinley.DelegationServices; +import com.jamesquinley.Asecure.secureCalls; import com.mongodb.BasicDBObject; import static com.jamesquinley.DelegationServices.delegationServices.accountS; @@ -13,7 +14,7 @@ public class localNet { } else { System.out.println("Hey this user Logged In From A new Location, dispatching email!"); - com.jamesquinley.Asecure.emailVerify.newLocation(email,UName,NewMac, OldMac); + secureCalls.locationBasedEmail(email,UName,NewMac, OldMac); System.out.println("Switching Trusted Net To New Local"); BasicDBObject searchQuery = new BasicDBObject(); searchQuery.append("Token", Token);