Author: jalkanen
Date: Tue May 20 13:34:00 2008
New Revision: 658414
URL: http://svn.apache.org/viewvc?rev=658414&view=rev
Log:
JSPWIKI-151: If sending a password succeeds, no longer reports as an error.
Modified:
incubator/jspwiki/trunk/ChangeLog
incubator/jspwiki/trunk/etc/i18n/CoreResources.properties
incubator/jspwiki/trunk/etc/i18n/CoreResources_fi.properties
incubator/jspwiki/trunk/src/webdocs/LostPassword.jsp
incubator/jspwiki/trunk/src/webdocs/templates/default/LoginContent.jsp
Modified: incubator/jspwiki/trunk/ChangeLog
URL:
http://svn.apache.org/viewvc/incubator/jspwiki/trunk/ChangeLog?rev=658414&r1=658413&r2=658414&view=diff
==============================================================================
--- incubator/jspwiki/trunk/ChangeLog (original)
+++ incubator/jspwiki/trunk/ChangeLog Tue May 20 13:34:00 2008
@@ -11,6 +11,9 @@
Added new i18n key in CoreResources, updated English and Finnish:
* common.unknownauthor
+
+ * [JSPWIKI-151]: If sending a password succeeds, it is no longer
reported
+ as an error.
2007-05-18 Dirk Frederickx <[EMAIL PROTECTED]>
Modified: incubator/jspwiki/trunk/etc/i18n/CoreResources.properties
URL:
http://svn.apache.org/viewvc/incubator/jspwiki/trunk/etc/i18n/CoreResources.properties?rev=658414&r1=658413&r2=658414&view=diff
==============================================================================
--- incubator/jspwiki/trunk/etc/i18n/CoreResources.properties (original)
+++ incubator/jspwiki/trunk/etc/i18n/CoreResources.properties Tue May 20
13:34:00 2008
@@ -67,7 +67,7 @@
lostpwd.newpassword.email=As requested, your new password for login "{0}" is
"{1}" \
\n\nYou may log in at {2}.\n\n-- {3}
lostpwd.newpassword.subject=New password for {0}
-lostpwd.nouser=No user or email '{0}' was found.
+lostpwd.nouser=No user or email "{0}" was found.
lostpwd.nomail=Internal error: couldn't send the email! Contact the site
administrator, please.
lostpwd.emailed=A new password has been emailed to the requested account.
Modified: incubator/jspwiki/trunk/etc/i18n/CoreResources_fi.properties
URL:
http://svn.apache.org/viewvc/incubator/jspwiki/trunk/etc/i18n/CoreResources_fi.properties?rev=658414&r1=658413&r2=658414&view=diff
==============================================================================
--- incubator/jspwiki/trunk/etc/i18n/CoreResources_fi.properties (original)
+++ incubator/jspwiki/trunk/etc/i18n/CoreResources_fi.properties Tue May 20
13:34:00 2008
@@ -52,7 +52,7 @@
lostpwd.newpassword.email=Uusi salasanasi tunnukselle "{0}" on "{1}" \
\n\nVoit käyttää sitä menemällä osoitteeseen {2}.\n\n--
Terveisin, {3}
lostpwd.newpassword.subject={0}: Uusi salasanasi
-lostpwd.nouser=Käyttäjää tai sähköpostiosoitetta '{0}' ei löydetty.
+lostpwd.nouser=Käyttäjää tai sähköpostiosoitetta "{0}" ei löydetty.
lostpwd.nomail=Järjestelmävirhe: en voinut lähettää sähköpostia. Olisitko
niin kiltti, että ilmoittaisit asiasta ylläpidolle?
lostpwd.emailed=Uusi salasana on lähetetty sähköpostitse.
Modified: incubator/jspwiki/trunk/src/webdocs/LostPassword.jsp
URL:
http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/webdocs/LostPassword.jsp?rev=658414&r1=658413&r2=658414&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/webdocs/LostPassword.jsp (original)
+++ incubator/jspwiki/trunk/src/webdocs/LostPassword.jsp Tue May 20 13:34:00
2008
@@ -1,142 +1,135 @@
-<%@ page import="org.apache.log4j.*" %>
-<%@ page import="com.ecyrd.jspwiki.*" %>
-<%@ page import="java.util.*" %>
-<%@ page import="java.text.*" %>
-<%@ page import="javax.mail.*" %>
-<%@ page import="com.ecyrd.jspwiki.auth.user.*" %>
-<%@ page import="com.ecyrd.jspwiki.auth.*" %>
-<%@ page import="com.ecyrd.jspwiki.util.*" %>
-<%@ page import="com.ecyrd.jspwiki.i18n.*" %>
-<%@ page errorPage="/Error.jsp" %>
-<%@ taglib uri="/WEB-INF/jspwiki.tld" prefix="wiki" %>
-<%@ page import="com.ecyrd.jspwiki.tags.WikiTagBase" %>
-<%@ page import="javax.servlet.jsp.jstl.fmt.*" %>
-<%!
- Logger log = Logger.getLogger("JSPWiki");
+<%@ page import="org.apache.log4j.*"%>
+<%@ page import="com.ecyrd.jspwiki.*"%>
+<%@ page import="java.util.*"%>
+<%@ page import="java.text.*"%>
+<%@ page import="javax.mail.*"%>
+<%@ page import="com.ecyrd.jspwiki.auth.user.*"%>
+<%@ page import="com.ecyrd.jspwiki.auth.*"%>
+<%@ page import="com.ecyrd.jspwiki.util.*"%>
+<%@ page import="com.ecyrd.jspwiki.i18n.*"%>
+<%@ page errorPage="/Error.jsp"%>
+<%@ taglib uri="/WEB-INF/jspwiki.tld" prefix="wiki"%>
+<%@ page import="com.ecyrd.jspwiki.tags.WikiTagBase"%>
+<%@ page import="javax.servlet.jsp.jstl.fmt.*"%>
+<%!Logger log = Logger.getLogger( "JSPWiki" );
String message = null;
- public boolean resetPassword(WikiEngine wiki, HttpServletRequest request,
ResourceBundle rb )
+
+ public boolean resetPassword( WikiEngine wiki, HttpServletRequest request,
ResourceBundle rb )
{
// Reset pw for account name
- String name = request.getParameter("name");
+ String name = request.getParameter( "name" );
UserDatabase userDatabase = wiki.getUserManager().getUserDatabase();
boolean success = false;
try
{
UserProfile profile = null;
-/*
-// This is disabled because it would otherwise be possible to DOS JSPWiki
instances
-// by requesting new passwords for all users. See
https://issues.apache.org/jira/browse/JSPWIKI-78
- try
- {
- profile = userDatabase.find(name);
- }
- catch (NoSuchPrincipalException e)
- {
- // Try email as well
- }
- */
+ /*
+ // This is disabled because it would otherwise be possible to DOS
JSPWiki instances
+ // by requesting new passwords for all users. See
https://issues.apache.org/jira/browse/JSPWIKI-78
+ try
+ {
+ profile = userDatabase.find(name);
+ }
+ catch (NoSuchPrincipalException e)
+ {
+ // Try email as well
+ }
+ */
if( profile == null )
{
- profile = userDatabase.findByEmail(name);
+ profile = userDatabase.findByEmail( name );
}
-
- String email = profile.getEmail();
- String randomPassword =
TextUtil.generateRandomPassword();
+ String email = profile.getEmail();
- // Try sending email first, as that is more likely to
fail.
+ String randomPassword = TextUtil.generateRandomPassword();
- Object[] args = { profile.getLoginName(),
- randomPassword,
-
wiki.getURLConstructor().makeURL(WikiContext.NONE, "Login.jsp", true, ""),
- wiki.getApplicationName()
- };
+ // Try sending email first, as that is more likely to fail.
- String mailMessage = MessageFormat.format(
rb.getString("lostpwd.newpassword.email"), args );
+ Object[] args = { profile.getLoginName(), randomPassword,
+ wiki.getURLConstructor().makeURL(
WikiContext.NONE, "Login.jsp", true, "" ), wiki.getApplicationName() };
+
+ String mailMessage = MessageFormat.format( rb.getString(
"lostpwd.newpassword.email" ), args );
Object[] args2 = { wiki.getApplicationName() };
- MailUtil.sendMessage( wiki,
- email,
- MessageFormat.format(
rb.getString("lostpwd.newpassword.subject"), args2),
- mailMessage );
-
- log.info("User "+email+" requested and received a new password.");
-
- // Mail succeeded. Now reset the password.
- // If this fails, we're kind of screwed, because we
already emailed.
- profile.setPassword(randomPassword);
- userDatabase.save(profile);
- userDatabase.commit();
- success = true;
+ MailUtil.sendMessage( wiki, email, MessageFormat.format(
rb.getString( "lostpwd.newpassword.subject" ), args2 ),
+ mailMessage );
+
+ log.info( "User " + email + " requested and received a new
password." );
+
+ // Mail succeeded. Now reset the password.
+ // If this fails, we're kind of screwed, because we already
emailed.
+ profile.setPassword( randomPassword );
+ userDatabase.save( profile );
+ userDatabase.commit();
+ success = true;
}
- catch (NoSuchPrincipalException e)
+ catch( NoSuchPrincipalException e )
{
Object[] args = { name };
- message = MessageFormat.format( rb.getString("lostpwd.nouser"),
args );
- log.info("Tried to reset password for non-existent user '" + name
+ "'");
+ message = MessageFormat.format( rb.getString( "lostpwd.nouser" ),
args );
+ log.info( "Tried to reset password for non-existent user '" + name
+ "'" );
}
- catch (SendFailedException e)
+ catch( SendFailedException e )
{
- message = rb.getString("lostpwd.nomail");
- log.error("Tried to reset password and got SendFailedException: "
+ e);
+ message = rb.getString( "lostpwd.nomail" );
+ log.error( "Tried to reset password and got SendFailedException: "
+ e );
}
- catch (AuthenticationFailedException e)
+ catch( AuthenticationFailedException e )
{
- message = rb.getString("lostpwd.nomail");
- log.error("Tried to reset password and got
AuthenticationFailedException: " + e);
+ message = rb.getString( "lostpwd.nomail" );
+ log.error( "Tried to reset password and got
AuthenticationFailedException: " + e );
}
- catch (Exception e)
+ catch( Exception e )
{
- message = rb.getString("lostpwd.nomail");
- log.error("Tried to reset password and got another exception: " +
e);
+ message = rb.getString( "lostpwd.nomail" );
+ log.error( "Tried to reset password and got another exception: " +
e );
}
return success;
- }
-%>
+ }%>
<%
WikiEngine wiki = WikiEngine.getInstance( getServletConfig() );
- //Create wiki context like in Login.jsp:
+ //Create wiki context like in Login.jsp:
//don't check for access permissions: if you have lost your password you
cannot login!
- WikiContext wikiContext = (WikiContext) pageContext.getAttribute(
WikiTagBase.ATTR_CONTEXT, PageContext.REQUEST_SCOPE );
+ WikiContext wikiContext = (WikiContext) pageContext.getAttribute(
WikiTagBase.ATTR_CONTEXT, PageContext.REQUEST_SCOPE );
- // If no context, it means we're using container auth. So, create one
anyway
- if( wikiContext == null )
- {
- wikiContext = wiki.createContext( request, WikiContext.LOGIN ); /*
reuse login context ! */
- pageContext.setAttribute( WikiTagBase.ATTR_CONTEXT,
- wikiContext,
- PageContext.REQUEST_SCOPE );
- }
+ // If no context, it means we're using container auth. So, create one
anyway
+ if( wikiContext == null )
+ {
+ wikiContext = wiki.createContext( request, WikiContext.LOGIN ); /*
reuse login context ! */
+ pageContext.setAttribute( WikiTagBase.ATTR_CONTEXT, wikiContext,
PageContext.REQUEST_SCOPE );
+ }
- ResourceBundle rb = wikiContext.getBundle("CoreResources");
+ ResourceBundle rb = wikiContext.getBundle( "CoreResources" );
WikiSession wikiSession = wikiContext.getWikiSession();
- String action = request.getParameter("action");
+ String action = request.getParameter( "action" );
boolean done = false;
- if ((action != null) && (action.equals("resetPassword"))) {
- if ( resetPassword( wiki, request, rb ) ) {
- done = true;
- wikiSession.addMessage( "resetpw",
rb.getString("lostpwd.emailed") );
- pageContext.setAttribute("passwordreset","done");
- }
- else // Error
- {
- wikiSession.addMessage( "resetpw", message);
- }
+ if( (action != null) && (action.equals( "resetPassword" )) )
+ {
+ if( resetPassword( wiki, request, rb ) )
+ {
+ done = true;
+ wikiSession.addMessage( "resetpwok", rb.getString(
"lostpwd.emailed" ) );
+ pageContext.setAttribute( "passwordreset", "done" );
+ }
+ else
+ // Error
+ {
+ wikiSession.addMessage( "resetpw", message );
+ }
}
- response.setContentType("text/html; charset="+wiki.getContentEncoding() );
+ response.setContentType( "text/html; charset=" + wiki.getContentEncoding()
);
response.setHeader( "Cache-control", "max-age=0" );
response.setDateHeader( "Expires", new Date().getTime() );
response.setDateHeader( "Last-Modified", new Date().getTime() );
- String contentPage = wiki.getTemplateManager().findJSP( pageContext,
-
wikiContext.getTemplate(),
- "ViewTemplate.jsp"
);
+ String contentPage = wiki.getTemplateManager().findJSP( pageContext,
wikiContext.getTemplate(), "ViewTemplate.jsp" );
%>
-<wiki:Include page="<%=contentPage%>" />
\ No newline at end of file
+<wiki:Include page="<%=contentPage%>" />
Modified: incubator/jspwiki/trunk/src/webdocs/templates/default/LoginContent.jsp
URL:
http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/webdocs/templates/default/LoginContent.jsp?rev=658414&r1=658413&r2=658414&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/webdocs/templates/default/LoginContent.jsp
(original)
+++ incubator/jspwiki/trunk/src/webdocs/templates/default/LoginContent.jsp Tue
May 20 13:34:00 2008
@@ -131,6 +131,7 @@
<td colspan="2" class="formhelp">
<wiki:Messages div="error" topic="resetpw"
prefix='<%=LocaleSupport.getLocalizedMessage(pageContext,"login.errorprefix")%>'
/>
+ <wiki:Messages div="information" topic="resetpwok" />
</td>
</tr>
</c:if>