From: Janis Streib Date: Thu, 24 Jul 2014 22:27:19 +0000 (+0200) Subject: UPD: Implicit mail validity check X-Git-Url: https://code.wpia.club/?p=gigi.git;a=commitdiff_plain;h=3252dc36fadd1a7e5f13bc01401e10565d61f635 UPD: Implicit mail validity check --- diff --git a/src/org/cacert/gigi/EmailAddress.java b/src/org/cacert/gigi/EmailAddress.java index 6d91e219..a2a7e580 100644 --- a/src/org/cacert/gigi/EmailAddress.java +++ b/src/org/cacert/gigi/EmailAddress.java @@ -33,6 +33,9 @@ public class EmailAddress { } public EmailAddress(String address, User owner) { + if (!EmailProvider.MAIL.matcher(address).matches()) { + throw new IllegalArgumentException("Invalid email."); + } this.address = address; this.owner = owner; this.hash = RandomToken.generateToken(16); diff --git a/src/org/cacert/gigi/pages/account/MailAddForm.java b/src/org/cacert/gigi/pages/account/MailAddForm.java index 611fa769..14f5ddba 100644 --- a/src/org/cacert/gigi/pages/account/MailAddForm.java +++ b/src/org/cacert/gigi/pages/account/MailAddForm.java @@ -8,7 +8,6 @@ import javax.servlet.http.HttpServletRequest; import org.cacert.gigi.EmailAddress; import org.cacert.gigi.Language; import org.cacert.gigi.User; -import org.cacert.gigi.email.EmailProvider; import org.cacert.gigi.output.Form; import org.cacert.gigi.output.template.Template; import org.cacert.gigi.pages.Page; @@ -29,14 +28,14 @@ public class MailAddForm extends Form { @Override public boolean submit(PrintWriter out, HttpServletRequest req) { String formMail = req.getParameter("newemail"); - if (!EmailProvider.MAIL.matcher(formMail).matches()) { - // TODO Proper error output (css, maybe abstract) + mail = formMail; + try { + EmailAddress addr = new EmailAddress(mail, target); + addr.insert(Page.getLanguage(req)); + } catch (IllegalArgumentException e) { out.println("
Error: Invalid address!
"); return false; } - mail = formMail; - EmailAddress addr = new EmailAddress(mail, target); - addr.insert(Page.getLanguage(req)); return true; }