catch mail exception when setting/changing user email and log it instead of escalating; changed security.properties again to use 127.0.0.1 as mail server

This commit is contained in:
Axel Uhl committed 2014-10-18 10:09:20 +02:00
1 parent a21cc3f5bb
commit aa81b40d58
3 files changed
+20 -11

No files matched your search

@@ -50,7 +50,7 @@
<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="false"/> <booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="false"/>
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/> <stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.google.gwt.dev.DevMode"/> <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.google.gwt.dev.DevMode"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-war &quot;${project_loc:com.sap.sailing.gwt.ui}&quot; -noserver -remoteUI &quot;${gwt_remote_ui_server_port}:${unique_id}&quot; -logLevel INFO -codeServerPort 9997 -startupUrl /gwt/AdminConsole.html com.sap.sailing.gwt.ui.AdminConsole -startupUrl /gwt/LeaderboardEditing.html com.sap.sailing.gwt.ui.LeaderboardEditing -startupUrl /gwt/UserManagement.html com.sap.sailing.gwt.ui.UserManagement -startupUrl /gwt/Leaderboard.html com.sap.sailing.gwt.ui.Leaderboard -startupUrl /gwt/Spectator.html com.sap.sailing.gwt.ui.Spectator -startupUrl /gwt/RaceBoard.html com.sap.sailing.gwt.ui.RaceBoard -startupUrl /gwt/TvView.html com.sap.sailing.gwt.ui.TvView -startupUrl /gwt/PolarSheets.html com.sap.sailing.gwt.ui.PolarSheets -startupUrl /gwt/RegattaOverview.html com.sap.sailing.gwt.ui.RegattaOverview -startupUrl /gwt/DataMining.html com.sap.sailing.gwt.ui.DataMining -startupUrl /gwt/Simulator.html com.sap.sailing.gwt.ui.Simulator -startupUrl /gwt/VideoPopup.html com.sap.sailing.gwt.ui.VideoPopup -startupUrl /gwt/Search.html com.sap.sailing.gwt.ui.Search -startupUrl /security/ui/Login.html com.sap.sse.security.ui.Login -startupUrl /security/ui/ChangePassword.html com.sap.sse.security.ui.ChangePassword -startupUrl /security/ui/EmailValidation.html com.sap.sse.security.ui.EmailValidation"/> <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-war &quot;${project_loc:com.sap.sailing.gwt.ui}&quot; -noserver -remoteUI &quot;${gwt_remote_ui_server_port}:${unique_id}&quot; -logLevel INFO -codeServerPort 9997 -startupUrl /gwt/AdminConsole.html com.sap.sailing.gwt.ui.AdminConsole -startupUrl /gwt/LeaderboardEditing.html com.sap.sailing.gwt.ui.LeaderboardEditing -startupUrl /gwt/UserManagement.html com.sap.sailing.gwt.ui.UserManagement -startupUrl /gwt/Leaderboard.html com.sap.sailing.gwt.ui.Leaderboard -startupUrl /gwt/Spectator.html com.sap.sailing.gwt.ui.Spectator -startupUrl /gwt/RaceBoard.html com.sap.sailing.gwt.ui.RaceBoard -startupUrl /gwt/TvView.html com.sap.sailing.gwt.ui.TvView -startupUrl /gwt/PolarSheets.html com.sap.sailing.gwt.ui.PolarSheets -startupUrl /gwt/RegattaOverview.html com.sap.sailing.gwt.ui.RegattaOverview -startupUrl /gwt/DataMining.html com.sap.sailing.gwt.ui.DataMining -startupUrl /gwt/Simulator.html com.sap.sailing.gwt.ui.Simulator -startupUrl /gwt/VideoPopup.html com.sap.sailing.gwt.ui.VideoPopup -startupUrl /gwt/Search.html com.sap.sailing.gwt.ui.Search -startupUrl /security/ui/Login.html com.sap.sse.security.ui.Login -startupUrl /security/ui/ChangePassword.html com.sap.sse.security.ui.ChangePassword -startupUrl /security/ui/EmailValidation.html com.sap.sse.security.ui.EmailValidation com.sap.sailing.gwt.ui.Simulator com.sap.sailing.gwt.ui.Leaderboard com.sap.sailing.gwt.ui.PolarSheets com.sap.sailing.gwt.ui.VideoPopup com.sap.sailing.gwt.ui.RegattaOverview com.sap.sailing.gwt.ui.Spectator com.sap.sailing.gwt.ui.TvView com.sap.sailing.gwt.ui.UserManagement com.sap.sailing.gwt.ui.Search com.sap.sailing.gwt.ui.AdminConsole com.sap.sailing.gwt.ui.LeaderboardEditing com.sap.sailing.gwt.ui.YoutubePopup com.sap.sailing.gwt.ui.DataMining com.sap.sailing.gwt.Home com.sap.sailing.gwt.ui.RaceBoard"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="com.sap.sailing.gwt.ui"/> <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="com.sap.sailing.gwt.ui"/>
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx2048m -XX:MaxPermSize=512m"/> <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx2048m -XX:MaxPermSize=512m"/>
</launchConfiguration> </launchConfiguration>
@@ -210,11 +210,11 @@ public class SecurityServiceImpl extends RemoteServiceServlet implements Securit
} }
@Override @Override
public User createSimpleUser(String name, String email, String password) throws UserManagementException, MailException { public User createSimpleUser(String username, String email, String password) throws UserManagementException, MailException {
if (store.getUserByName(name) != null) { if (store.getUserByName(username) != null) {
throw new UserManagementException(UserManagementException.USER_ALREADY_EXISTS); throw new UserManagementException(UserManagementException.USER_ALREADY_EXISTS);
} }
if (name == null || name.length() < 3) { if (username == null || username.length() < 3) {
throw new UserManagementException(UserManagementException.USERNAME_DOES_NOT_MEET_REQUIREMENTS); throw new UserManagementException(UserManagementException.USERNAME_DOES_NOT_MEET_REQUIREMENTS);
} else if (password == null || password.length() < 5) { } else if (password == null || password.length() < 5) {
throw new UserManagementException(UserManagementException.PASSWORD_DOES_NOT_MEET_REQUIREMENTS); throw new UserManagementException(UserManagementException.PASSWORD_DOES_NOT_MEET_REQUIREMENTS);
@@ -222,9 +222,14 @@ public class SecurityServiceImpl extends RemoteServiceServlet implements Securit
RandomNumberGenerator rng = new SecureRandomNumberGenerator(); RandomNumberGenerator rng = new SecureRandomNumberGenerator();
Object salt = rng.nextBytes(); Object salt = rng.nextBytes();
String hashedPasswordBase64 = hashPassword(password, salt); String hashedPasswordBase64 = hashPassword(password, salt);
UsernamePasswordAccount upa = new UsernamePasswordAccount(name, hashedPasswordBase64, salt); UsernamePasswordAccount upa = new UsernamePasswordAccount(username, hashedPasswordBase64, salt);
final User result = store.createUser(name, email, upa); final User result = store.createUser(username, email, upa);
startEmailValidation(result); try {
startEmailValidation(result);
} catch (MailException e) {
logger.log(Level.SEVERE, "Error sending mail for new account validation of user "+username+
" to address "+email, e);
}
store.updateUser(result); store.updateUser(result);
return result; return result;
} }
@@ -269,7 +274,12 @@ public class SecurityServiceImpl extends RemoteServiceServlet implements Securit
throw new UserManagementException(UserManagementException.USER_DOES_NOT_EXIST); throw new UserManagementException(UserManagementException.USER_DOES_NOT_EXIST);
} }
user.setEmail(newEmail); user.setEmail(newEmail);
startEmailValidation(user); try {
startEmailValidation(user);
} catch (MailException e) {
logger.log(Level.SEVERE, "Error sending mail to validate e-mail address change for user "+username+
" to address "+newEmail, e);
}
store.updateUser(user); store.updateUser(user);
} }
@@ -1,9 +1,8 @@
# mail configuration, e.g., for password recovery # mail configuration, e.g., for password recovery
mail.enabled = false mail.enabled = false
mail.from = uhl@homemp3.dyndns.org mail.from = axel.uhl@sap.com
mail.transport.protocol = smtp mail.transport.protocol = smtp
mail.smtp.host = klo.axeluhl.de mail.smtp.host = 127.0.0.1
#mail.smtp.host = 127.0.0.1
mail.smtp.port = 25 mail.smtp.port = 25
mail.smtp.auth = true mail.smtp.auth = true
mail.smtp.user = mail.smtp.user =