diff --git a/src/main/java/com/jamesquinley/Asecure/electronicMailHandler.java b/src/main/java/com/jamesquinley/Asecure/electronicMailHandler.java index 2e73c49..b0e0d23 100644 --- a/src/main/java/com/jamesquinley/Asecure/electronicMailHandler.java +++ b/src/main/java/com/jamesquinley/Asecure/electronicMailHandler.java @@ -59,6 +59,44 @@ public class electronicMailHandler { } } + public static void Onboardingdisabled(String receiverEmail, String User) { + //get date for email + Date date = new Date(); + SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yy"); + String Date = formatter.format(date); + //get time for sign in time + Date dt = new Date(); + SimpleDateFormat dateFormat; + dateFormat = new SimpleDateFormat("kk:mm:ss"); + + Properties props = new Properties(); + props.put("mail.smtp.host", emailSMTPserver); + props.put("mail.smtp.socketFactory.port", emailSMTPPort); + props.put("mail.smtp.socketFactory.class", + "javax.net.ssl.SSLSocketFactory"); + props.put("mail.smtp.auth", "true"); + props.put("mail.smtp.port", emailSMTPPort); + + try { + Authenticator auth = new SMTPAuthenticator(); + Session session = Session.getInstance(props, auth); + Message message = new MimeMessage(session); + message.setFrom(new InternetAddress(senderEmailId)); + message.setRecipients(Message.RecipientType.TO, + InternetAddress.parse(receiverEmail)); + message.setSubject("Obsidian Core Request Denial"); + message.setText("Hey there, account creation has been disabled.\n" + + "We're closing up shop, and we've disabled account creation on the service. Existing accounts will continue to work until service shutdown." + + "\nHave a good day, " + User); + + Transport.send(message); + System.out.println("Sent Disabled Account Join Email"); + } catch (Exception e) { + e.printStackTrace(); + System.err.println("Email ONBOARD Not sent due to an error"); + + } + } public static void offBoarding(String receiverEmail, String User, String Name) { //get date for email Date date = new Date(); diff --git a/src/main/java/com/jamesquinley/Asecure/secureCalls.java b/src/main/java/com/jamesquinley/Asecure/secureCalls.java index 52e5d6f..a3751e7 100644 --- a/src/main/java/com/jamesquinley/Asecure/secureCalls.java +++ b/src/main/java/com/jamesquinley/Asecure/secureCalls.java @@ -59,4 +59,13 @@ public class secureCalls { }; runnable.run(); } + public static void accountCreationDisabled (String email, String user) + { + final Runnable runnable = new Runnable() { + public void run() { + electronicMailHandler.Onboardingdisabled(email,user); + } + }; + runnable.run(); + } } diff --git a/src/main/java/com/jamesquinley/DelegationServices/delegationServices.java b/src/main/java/com/jamesquinley/DelegationServices/delegationServices.java index a4ce240..ed0f143 100644 --- a/src/main/java/com/jamesquinley/DelegationServices/delegationServices.java +++ b/src/main/java/com/jamesquinley/DelegationServices/delegationServices.java @@ -1116,97 +1116,85 @@ public class delegationServices { String Password = (String) DServer.get("Password"); String Email = (String) DServer.get("Email"); String FName = (String) DServer.get("FName"); - 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(); - //Above makes token, it will be remade if it already exists - String source = "ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789"; - StringBuilder sb = new StringBuilder(); - int length = 40; - for (int i = 0; i < length; i++) { - int index = random.nextInt(source.length()); - char randomChar = source.charAt(index); - sb.append(randomChar); - } - String UUID = sb.toString(); - //Above makes UUID, will be remade if it already exists. - - try { - - Document DupeEmail = accountS.find(eq("Email", Email)).first(); - String DUPEEMAIL = (String) DupeEmail.get("Email"); - if (DUPEEMAIL.equals(null)) { - Document DupeUser = accountS.find(eq("User", User)).first(); - String DUPE = (String) DupeUser.get("User"); + if ((Boolean) Filter.get("creationEnabled")) { + 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); } - BasicDBObject searchQuery = new BasicDBObject(); - searchQuery.append("_id", ClientID); + String Token = "OCST" + sbt.toString(); + //Above makes token, it will be remade if it already exists + String source = "ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789"; + StringBuilder sb = new StringBuilder(); + int length = 40; + for (int i = 0; i < length; i++) { + int index = random.nextInt(source.length()); + char randomChar = source.charAt(index); + sb.append(randomChar); + } + String UUID = sb.toString(); + //Above makes UUID, will be remade if it already exists. - 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.DeleteTargetRequestByID(Lrequest.get("_id")); - } catch (Exception exr) { - System.out.println("Username & Email Is Open"); try { - 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) { - 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", Token)).first(); - DupeToke1n = (String) DupeToken.get("Token"); - System.out.println("Token Is Reserved, Try Again."); + + Document DupeEmail = accountS.find(eq("Email", Email)).first(); + String DUPEEMAIL = (String) DupeEmail.get("Email"); + if (DUPEEMAIL.equals(null)) { + Document DupeUser = accountS.find(eq("User", User)).first(); + String DUPE = (String) DupeUser.get("User"); + } + BasicDBObject searchQuery = new BasicDBObject(); + searchQuery.append("_id", 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.DeleteTargetRequestByID(Lrequest.get("_id")); + } catch (Exception exr) { + System.out.println("Username & Email Is Open"); + try { + 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) { 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)"); - } - } - } catch (Exception token) { - System.out.println("Working on UUID"); - try { - Document DupeUUID = accountS.find(eq("UUID", UUID)).first(); - String DupeUUIDS = (String) DupeUUID.get("UUID"); - System.out.println("Got Gen UUID"); - Boolean UUIDOPEN = false; - while (UUIDOPEN == false) { - length = 40; - sb = new StringBuilder(); - for (int i = 0; i < length; i++) { - int index = random.nextInt(source.length()); - char randomChar = source.charAt(index); - sb.append(randomChar); - } - String UUIDGEN = sb.toString(); + Token = sbt.toString(); try { - System.out.println("Retry UUID"); - DupeUUID = accountS.find(eq("UUID", UUID)).first(); - DupeUUIDS = (String) DupeUUID.get("UUID"); - System.out.println("UUID Is Reserved, Try Again."); + DupeToken = accountS.find(eq("Token", Token)).first(); + DupeToke1n = (String) DupeToken.get("Token"); + System.out.println("Token Is Reserved, Try Again."); + 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)"); + } + } + } catch (Exception token) { + System.out.println("Working on UUID"); + try { + Document DupeUUID = accountS.find(eq("UUID", UUID)).first(); + String DupeUUIDS = (String) DupeUUID.get("UUID"); + System.out.println("Got Gen UUID"); + Boolean UUIDOPEN = false; + while (UUIDOPEN == false) { length = 40; sb = new StringBuilder(); for (int i = 0; i < length; i++) { @@ -1214,53 +1202,81 @@ public class delegationServices { char randomChar = source.charAt(index); sb.append(randomChar); } - UUIDGEN = sb.toString(); - UUID = UUIDGEN; - } catch (Exception exDr) { - UUIDOPEN = true; - System.out.println("UUID Free (While EXP)" + exDr); + String UUIDGEN = sb.toString(); + try { + System.out.println("Retry UUID"); + DupeUUID = accountS.find(eq("UUID", UUID)).first(); + DupeUUIDS = (String) DupeUUID.get("UUID"); + System.out.println("UUID Is Reserved, Try Again."); + length = 40; + sb = new StringBuilder(); + for (int i = 0; i < length; i++) { + int index = random.nextInt(source.length()); + char randomChar = source.charAt(index); + sb.append(randomChar); + } + UUIDGEN = sb.toString(); + UUID = UUIDGEN; + } catch (Exception exDr) { + UUIDOPEN = true; + System.out.println("UUID Free (While EXP)" + exDr); + } } + } catch (NullPointerException uuid) { + System.out.println("UUID Free"); } - } catch (NullPointerException uuid) { - System.out.println("UUID Free"); + System.out.println("Token Free"); + System.out.println("Token & UUID 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\\Application\\"); + createForm.append("Freinds", " "); + createForm.append("Token", Token); + createForm.append("UUID", UUID); + createForm.append("Control", 1); + createForm.append("Upgrade", 0); + createForm.append("Version", "2"); + createForm.append("keyStatus", false); + //createForm.append("Uid",uid); + createForm.append("lastNet", Macid); + accountS.insertOne(createForm); + BasicDBObject searchQuery = new BasicDBObject(); + searchQuery.append("_id", ClientID); + secureCalls.accountCreationComplete(Email, User, UUID); + 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.DeleteTargetRequestByID(Lrequest.get("_id")); } - System.out.println("Token Free"); - System.out.println("Token & UUID 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\\Application\\"); - createForm.append("Freinds", " "); - createForm.append("Token", Token); - createForm.append("UUID", UUID); - createForm.append("Control", 1); - createForm.append("Upgrade", 0); - createForm.append("Version", "2"); - createForm.append("keyStatus", false); - //createForm.append("Uid",uid); - createForm.append("lastNet", Macid); - accountS.insertOne(createForm); - BasicDBObject searchQuery = new BasicDBObject(); - searchQuery.append("_id", ClientID); - secureCalls.accountCreationComplete(Email, User, UUID); - 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.DeleteTargetRequestByID(Lrequest.get("_id")); - } + } + } else { + BasicDBObject searchQuery = new BasicDBObject(); + searchQuery.append("_id", ClientID); + secureCalls.accountCreationDisabled(Email, User); + BasicDBObject updateQuery = new BasicDBObject(); + BasicDBObject updateQuery1 = new BasicDBObject(); + updateQuery.append("$set", + new BasicDBObject().append("type", 52)); + 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.DeleteTargetRequestByID(Lrequest.get("_id")); } } if (requesttype == 20)