Requires user to input a valid email, will autoban if email cannot receive mail.

This commit is contained in:
James Quinley 2022-06-17 20:31:51 -07:00
parent b74bc82e9a
commit cafab0fce1
4 changed files with 47 additions and 8 deletions

View File

@ -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) {
@ -82,7 +85,7 @@ public class emailVerify {
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)" + ".\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" +
"\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);

View File

@ -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);
}
}

View File

@ -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);

View File

@ -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);