You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2012/04/17 08:33:11 UTC
svn commit: r1326946 -
/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/cli/Admin.java
Author: solomax
Date: Tue Apr 17 06:33:11 2012
New Revision: 1326946
URL: http://svn.apache.org/viewvc?rev=1326946&view=rev
Log:
OPENMEETINGS-173 email address check is added
Modified:
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/cli/Admin.java
Modified: incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/cli/Admin.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/cli/Admin.java?rev=1326946&r1=1326945&r2=1326946&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/cli/Admin.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/cli/Admin.java Tue Apr 17 06:33:11 2012
@@ -10,7 +10,10 @@ import java.net.URL;
import java.util.Date;
import java.util.Enumeration;
import java.util.Set;
+import java.util.regex.Pattern;
+import javax.mail.internet.AddressException;
+import javax.mail.internet.InternetAddress;
import javax.servlet.RequestDispatcher;
import javax.servlet.Servlet;
import javax.servlet.ServletContext;
@@ -37,6 +40,9 @@ import org.springframework.context.suppo
public class Admin {
private static final Logger log = Red5LoggerFactory.getLogger(Admin.class);
+ private static final Pattern rfc2822 = Pattern.compile(
+ "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$"
+ );
private boolean verbose = false;
private InstallationConfig cfg = null;
private Options opts = null;
@@ -283,6 +289,15 @@ public class Admin {
System.out.println("User login was not provided, or too short, should be at least " + InstallationConfig.USER_LOGIN_MINIMUM_LENGTH + " character long.");
System.exit(1);
}
+ try {
+ if (!rfc2822.matcher(email).matches()) {
+ throw new AddressException("Invalid address");
+ }
+ new InternetAddress(email, true);
+ } catch (AddressException ae) {
+ System.out.println("Please provide non-empty valid email: '" + email + "' is not valid.");
+ System.exit(1);
+ }
if (group == null || login.length() < 1) {
System.out.println("User group was not provided, or too short, should be at least 1 character long.");
System.exit(1);
@@ -296,9 +311,9 @@ public class Admin {
System.exit(1);
}
}
- ImportInitvalues importInit = getApplicationContext(ctxName).getBean(ImportInitvalues.class);
- importInit.loadAll(new File(omHome, ImportInitvalues.languageFolderName).getAbsolutePath()
- , cfg, login, pass, email, group, tz);
+ ClassPathXmlApplicationContext ctx = getApplicationContext(ctxName);
+ ImportInitvalues importInit = ctx.getBean(ImportInitvalues.class);
+ importInit.loadAll(new File(omHome, ImportInitvalues.languageFolderName).getAbsolutePath(), cfg, login, pass, email, group, tz);
} catch(Exception e) {
handleError("Install failed", e);
}