ate 2004/10/17 18:35:48 Modified: components/security/src/java/org/apache/jetspeed/security/spi/impl DefaultCredentialHandler.java Log: Added setPassword security checks Revision Changes Path 1.5 +23 -0 jakarta-jetspeed-2/components/security/src/java/org/apache/jetspeed/security/spi/impl/DefaultCredentialHandler.java Index: DefaultCredentialHandler.java =================================================================== RCS file: /home/cvs/jakarta-jetspeed-2/components/security/src/java/org/apache/jetspeed/security/spi/impl/DefaultCredentialHandler.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- DefaultCredentialHandler.java 11 Oct 2004 23:25:29 -0000 1.4 +++ DefaultCredentialHandler.java 18 Oct 2004 01:35:48 -0000 1.5 @@ -159,6 +159,29 @@ { credentials.remove(oldInternalCredential); } + else + { + // supplied PasswordCredential not defined for this user + throw new SecurityException(SecurityException.INVALID_PASSWORD); + } + } + else + { + Iterator iter = credentials.iterator(); + while (iter.hasNext()) + { + InternalCredential credential = (InternalCredential) iter.next(); + if (credential.getType() == type) + { + if ((null != credential.getClassname()) + && (credential.getClassname().equals((PasswordCredential.class).getName()))) + { + // User *has* an PasswordCredential: setting a new Credential without supplying + // its current one is not allowed + throw new SecurityException(SecurityException.PASSWORD_REQUIRED); + } + } + } } InternalCredential newInternalCredential = new InternalCredentialImpl(internalUser.getPrincipalId(), new String(newPwdCredential.getPassword()), type, newPwdCredential.getClass().getName());
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]