craigmcc 01/10/19 09:23:57 Modified: catalina/src/share/org/apache/catalina/authenticator BasicAuthenticator.java DigestAuthenticator.java FormAuthenticator.java SSLAuthenticator.java Log: Make the Authenticator implementations non-final so that they can be subclassed. Revision Changes Path 1.11 +10 -10 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/BasicAuthenticator.java Index: BasicAuthenticator.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/BasicAuthenticator.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- BasicAuthenticator.java 2001/08/01 03:04:04 1.10 +++ BasicAuthenticator.java 2001/10/19 16:23:57 1.11 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/BasicAuthenticator.java,v 1.10 2001/08/01 03:04:04 craigmcc Exp $ - * $Revision: 1.10 $ - * $Date: 2001/08/01 03:04:04 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/BasicAuthenticator.java,v 1.11 2001/10/19 16:23:57 craigmcc Exp $ + * $Revision: 1.11 $ + * $Date: 2001/10/19 16:23:57 $ * * ==================================================================== * @@ -84,10 +84,10 @@ * and Digest Access Authentication." * * @author Craig R. McClanahan - * @version $Revision: 1.10 $ $Date: 2001/08/01 03:04:04 $ + * @version $Revision: 1.11 $ $Date: 2001/10/19 16:23:57 $ */ -public final class BasicAuthenticator +public class BasicAuthenticator extends AuthenticatorBase { @@ -97,13 +97,13 @@ /** * The Base64 helper object for this class. */ - private static final Base64 base64Helper = new Base64(); + protected static final Base64 base64Helper = new Base64(); /** * Descriptive information about this implementation. */ - private static final String info = + protected static final String info = "org.apache.catalina.authenticator.BasicAuthenticator/1.0"; @@ -180,7 +180,7 @@ } - // -------------------------------------------------------- Private Methods + // ------------------------------------------------------ Protected Methods /** @@ -189,7 +189,7 @@ * * @param authorization Authorization credentials from this request */ - private String parseUsername(String authorization) { + protected String parseUsername(String authorization) { if (authorization == null) return (null); @@ -216,7 +216,7 @@ * * @param authorization Authorization credentials from this request */ - private String parsePassword(String authorization) { + protected String parsePassword(String authorization) { if (authorization == null) return (null); 1.10 +27 -25 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/DigestAuthenticator.java Index: DigestAuthenticator.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/DigestAuthenticator.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- DigestAuthenticator.java 2001/08/01 03:04:04 1.9 +++ DigestAuthenticator.java 2001/10/19 16:23:57 1.10 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/DigestAuthenticator.java,v 1.9 2001/08/01 03:04:04 craigmcc Exp $ - * $Revision: 1.9 $ - * $Date: 2001/08/01 03:04:04 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/DigestAuthenticator.java,v 1.10 2001/10/19 16:23:57 craigmcc Exp $ + * $Revision: 1.10 $ + * $Date: 2001/10/19 16:23:57 $ * * ==================================================================== * @@ -88,10 +88,10 @@ * * @author Craig R. McClanahan * @author Remy Maucherat - * @version $Revision: 1.9 $ $Date: 2001/08/01 03:04:04 $ + * @version $Revision: 1.10 $ $Date: 2001/10/19 16:23:57 $ */ -public final class DigestAuthenticator +public class DigestAuthenticator extends AuthenticatorBase { @@ -101,31 +101,31 @@ /** * Indicates that no once tokens are used only once. */ - private static final int USE_ONCE = 1; + protected static final int USE_ONCE = 1; /** * Indicates that no once tokens are used only once. */ - private static final int USE_NEVER_EXPIRES = Integer.MAX_VALUE; + protected static final int USE_NEVER_EXPIRES = Integer.MAX_VALUE; /** * Indicates that no once tokens are used only once. */ - private static final int TIMEOUT_INFINITE = Integer.MAX_VALUE; + protected static final int TIMEOUT_INFINITE = Integer.MAX_VALUE; /** * The MD5 helper object for this class. */ - private static final MD5Encoder md5Encoder = new MD5Encoder(); + protected static final MD5Encoder md5Encoder = new MD5Encoder(); /** * Descriptive information about this implementation. */ - private static final String info = + protected static final String info = "org.apache.catalina.authenticator.DigestAuthenticator/1.0"; @@ -150,13 +150,13 @@ /** * MD5 message digest provider. */ - private static MessageDigest md5Helper; + protected static MessageDigest md5Helper; /** * No once hashtable. */ - private Hashtable nOnceTokens = new Hashtable(); + protected Hashtable nOnceTokens = new Hashtable(); /** @@ -164,7 +164,7 @@ * better security level (since the token is generated more often), but at * the expense of a bigger server overhead. */ - private long nOnceTimeout = TIMEOUT_INFINITE; + protected long nOnceTimeout = TIMEOUT_INFINITE; /** @@ -172,13 +172,13 @@ * would produce more overhead, since a token would have to be generated * more often, but would be more secure. */ - private int nOnceUses = USE_ONCE; + protected int nOnceUses = USE_ONCE; /** * Private key. */ - private String key = "Catalina"; + protected String key = "Catalina"; // ------------------------------------------------------------- Properties @@ -252,7 +252,7 @@ } - // -------------------------------------------------------- Private Methods + // ------------------------------------------------------ Protected Methods /** @@ -267,8 +267,9 @@ * should be performed * @param realm Realm used to authenticate Principals */ - private static Principal findPrincipal(HttpServletRequest request, - String authorization, Realm realm) { + protected static Principal findPrincipal(HttpServletRequest request, + String authorization, + Realm realm) { //System.out.println("Authorization token : " + authorization); // Validate the authorization credentials format @@ -343,7 +344,7 @@ * * @param authorization Authorization string to be parsed */ - private String parseUsername(String authorization) { + protected String parseUsername(String authorization) { //System.out.println("Authorization token : " + authorization); // Validate the authorization credentials format @@ -377,7 +378,7 @@ /** * Removes the quotes on a string. */ - private static String removeQuotes(String quotedString) { + protected static String removeQuotes(String quotedString) { if (quotedString.length() > 2) { return quotedString.substring(1, quotedString.length() - 1); } else { @@ -393,7 +394,8 @@ * * @param request HTTP Servlet request */ - private String generateNOnce(HttpServletRequest request) { + protected String generateNOnce(HttpServletRequest request) { + long currentTime = System.currentTimeMillis(); String nOnceValue = request.getRemoteAddr() + ":" + @@ -436,10 +438,10 @@ * should be performed * @param nOnce nonce token */ - private void setAuthenticateHeader(HttpServletRequest request, - HttpServletResponse response, - LoginConfig config, - String nOnce) { + protected void setAuthenticateHeader(HttpServletRequest request, + HttpServletResponse response, + LoginConfig config, + String nOnce) { // Get the realm name String realmName = config.getRealmName(); 1.19 +9 -9 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/FormAuthenticator.java Index: FormAuthenticator.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/FormAuthenticator.java,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- FormAuthenticator.java 2001/10/11 16:58:22 1.18 +++ FormAuthenticator.java 2001/10/19 16:23:57 1.19 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/FormAuthenticator.java,v 1.18 2001/10/11 16:58:22 craigmcc Exp $ - * $Revision: 1.18 $ - * $Date: 2001/10/11 16:58:22 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/FormAuthenticator.java,v 1.19 2001/10/19 16:23:57 craigmcc Exp $ + * $Revision: 1.19 $ + * $Date: 2001/10/19 16:23:57 $ * * ==================================================================== * @@ -88,10 +88,10 @@ * Authentication, as described in the Servlet API Specification, Version 2.2. * * @author Craig R. McClanahan - * @version $Revision: 1.18 $ $Date: 2001/10/11 16:58:22 $ + * @version $Revision: 1.19 $ $Date: 2001/10/19 16:23:57 $ */ -public final class FormAuthenticator +public class FormAuthenticator extends AuthenticatorBase { @@ -101,7 +101,7 @@ /** * Descriptive information about this implementation. */ - private static final String info = + protected static final String info = "org.apache.catalina.authenticator.FormAuthenticator/1.0"; @@ -296,7 +296,7 @@ } - // -------------------------------------------------------- Private Methods + // ------------------------------------------------------ Protected Methods /** @@ -305,7 +305,7 @@ * * @param request The request to be verified */ - private boolean matchRequest(HttpRequest request) { + protected boolean matchRequest(HttpRequest request) { // Has a session been created? Session session = getSession(request, false); @@ -341,7 +341,7 @@ * @param request The request to be restored * @param session The session containing the saved information */ - private boolean restoreRequest(HttpRequest request, Session session) { + protected boolean restoreRequest(HttpRequest request, Session session) { // Retrieve and remove the SavedRequest object from our session SavedRequest saved = (SavedRequest) 1.10 +6 -6 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/SSLAuthenticator.java Index: SSLAuthenticator.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/SSLAuthenticator.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- SSLAuthenticator.java 2001/08/01 03:04:04 1.9 +++ SSLAuthenticator.java 2001/10/19 16:23:57 1.10 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/SSLAuthenticator.java,v 1.9 2001/08/01 03:04:04 craigmcc Exp $ - * $Revision: 1.9 $ - * $Date: 2001/08/01 03:04:04 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/SSLAuthenticator.java,v 1.10 2001/10/19 16:23:57 craigmcc Exp $ + * $Revision: 1.10 $ + * $Date: 2001/10/19 16:23:57 $ * * ==================================================================== * @@ -86,10 +86,10 @@ * that utilizes SSL certificates to identify client users. * * @author Craig R. McClanahan - * @version $Revision: 1.9 $ $Date: 2001/08/01 03:04:04 $ + * @version $Revision: 1.10 $ $Date: 2001/10/19 16:23:57 $ */ -public final class SSLAuthenticator +public class SSLAuthenticator extends AuthenticatorBase { @@ -99,7 +99,7 @@ /** * Descriptive information about this implementation. */ - private static final String info = + protected static final String info = "org.apache.catalina.authenticator.SSLAuthenticator/1.0";