From: Andy O. <aco...@jb...> - 2005-09-20 22:25:40
|
User: acoliver Date: 05/09/20 18:25:32 Modified: src/java/org/jboss/mail/userrepository StaticUserRepository.java UserRepository.java Log: Moved Base64 (we can probably factor this out for something in JBossSX's Util... implemented http://jira.jboss.com/jira/browse/JBMAIL-119 removed some obsolecent comments prepared (made compile but did not impelment) http://jira.jboss.com/jira/browse/JBMAIL-120 Revision Changes Path 1.12 +74 -59 jboss-mail/src/java/org/jboss/mail/userrepository/StaticUserRepository.java (In the diff below, changes in quantity of whitespace are not shown.) Index: StaticUserRepository.java =================================================================== RCS file: /cvsroot/jboss/jboss-mail/src/java/org/jboss/mail/userrepository/StaticUserRepository.java,v retrieving revision 1.11 retrieving revision 1.12 diff -u -b -r1.11 -r1.12 --- StaticUserRepository.java 12 Aug 2005 16:55:37 -0000 1.11 +++ StaticUserRepository.java 20 Sep 2005 22:25:32 -0000 1.12 @@ -20,9 +20,11 @@ import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; +import org.jboss.logging.Logger; import org.jboss.console.server.MetaInfo; import org.jboss.system.ServiceMBean; import org.jboss.system.ServiceMBeanSupport; +import org.jboss.mail.util.Base64; import org.w3c.dom.DOMImplementation; import org.w3c.dom.Document; import org.w3c.dom.DocumentType; @@ -43,6 +45,7 @@ private static final long serialVersionUID = 3258698723180950328L; private Map users; private String name; + private static final Logger jblog = Logger.getLogger(StaticUserRepository.class); public StaticUserRepository() { users = new HashMap(); @@ -206,6 +209,18 @@ return ((String)users.get(username)) == null ? false : ((String)users.get(username)).equals(password); } + + public boolean test(String username, String password, String apopkey) { + String pass = (String)users.get(username); + pass = pass == null ? null : apopkey+pass; + if (pass == null) return false; + String inpass = password; + jblog.debug("got "+pass+" and "+inpass+" for "+username); + pass = Base64.md5AsHexString(pass); + jblog.debug("was "+pass+" and "+inpass+" for "+username); + return pass.equals(inpass); + } + /* (non-Javadoc) * @see org.jboss.mail.userrepository.UserRepository#test(java.lang.String) */ 1.5 +9 -0 jboss-mail/src/java/org/jboss/mail/userrepository/UserRepository.java (In the diff below, changes in quantity of whitespace are not shown.) Index: UserRepository.java =================================================================== RCS file: /cvsroot/jboss/jboss-mail/src/java/org/jboss/mail/userrepository/UserRepository.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -b -r1.4 -r1.5 --- UserRepository.java 13 Jan 2005 20:27:03 -0000 1.4 +++ UserRepository.java 20 Sep 2005 22:25:32 -0000 1.5 @@ -23,6 +23,15 @@ public boolean test(String username, String password); /** + * can this user get in + * @param username of the user + * @param password of the user + * @param unhashed apop key prepended in the form <threadid.time@servername> + * @return does he exist and is this the correct <threadid.time@servername>password string + */ + public boolean test(String username, String password, String apopkey); + + /** * Does the user exist * @param username of the user * @return does he exist |