remm        2004/09/01 03:10:11

  Modified:    catalina/src/share/org/apache/catalina/valves
                        RequestFilterValve.java
               http11/src/java/org/apache/coyote/http11
                        Http11Processor.java
  Log:
  - Use the JDK 1.4 regexp API, which is a straight replacement for jakarta-regexp. 
It's easy to switch back and forth, obviously, which is
    quite convinient :)
  
  Revision  Changes    Path
  1.9       +14 -14    
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/valves/RequestFilterValve.java
  
  Index: RequestFilterValve.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/valves/RequestFilterValve.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- RequestFilterValve.java   29 Aug 2004 16:46:14 -0000      1.8
  +++ RequestFilterValve.java   1 Sep 2004 10:10:10 -0000       1.9
  @@ -20,6 +20,8 @@
   
   import java.io.IOException;
   import java.util.ArrayList;
  +import java.util.regex.Pattern;
  +import java.util.regex.PatternSyntaxException;
   
   import javax.servlet.ServletException;
   import javax.servlet.http.HttpServletResponse;
  @@ -27,8 +29,6 @@
   import org.apache.catalina.connector.Request;
   import org.apache.catalina.connector.Response;
   import org.apache.catalina.util.StringManager;
  -import org.apache.regexp.RE;
  -import org.apache.regexp.RESyntaxException;
   import org.apache.tomcat.util.compat.JdkCompat;
   
   /**
  @@ -104,13 +104,13 @@
       /**
        * The set of <code>allow</code> regular expressions we will evaluate.
        */
  -    protected RE allows[] = new RE[0];
  +    protected Pattern allows[] = new Pattern[0];
   
   
       /**
        * The set of <code>deny</code> regular expressions we will evaluate.
        */
  -    protected RE denies[] = new RE[0];
  +    protected Pattern denies[] = new Pattern[0];
   
   
       /**
  @@ -214,13 +214,13 @@
        * @exception IllegalArgumentException if one of the patterns has
        *  invalid syntax
        */
  -    protected RE[] precalculate(String list) {
  +    protected Pattern[] precalculate(String list) {
   
           if (list == null)
  -            return (new RE[0]);
  +            return (new Pattern[0]);
           list = list.trim();
           if (list.length() < 1)
  -            return (new RE[0]);
  +            return (new Pattern[0]);
           list += ",";
   
           ArrayList reList = new ArrayList();
  @@ -230,8 +230,8 @@
                   break;
               String pattern = list.substring(0, comma).trim();
               try {
  -                reList.add(new RE(pattern));
  -            } catch (RESyntaxException e) {
  +                reList.add(Pattern.compile(pattern));
  +            } catch (PatternSyntaxException e) {
                   IllegalArgumentException iae = new IllegalArgumentException
                       (sm.getString("requestFilterValve.syntax", pattern));
                   jdkCompat.chainException(iae, e);
  @@ -240,8 +240,8 @@
               list = list.substring(comma + 1);
           }
   
  -        RE reArray[] = new RE[reList.size()];
  -        return ((RE[]) reList.toArray(reArray));
  +        Pattern reArray[] = new Pattern[reList.size()];
  +        return ((Pattern[]) reList.toArray(reArray));
   
       }
   
  @@ -263,7 +263,7 @@
   
           // Check the deny patterns, if any
           for (int i = 0; i < denies.length; i++) {
  -            if (denies[i].match(property)) {
  +            if (denies[i].matcher(property).matches()) {
                   response.sendError(HttpServletResponse.SC_FORBIDDEN);
                   return;
               }
  @@ -271,7 +271,7 @@
   
           // Check the allow patterns, if any
           for (int i = 0; i < allows.length; i++) {
  -            if (allows[i].match(property)) {
  +            if (allows[i].matcher(property).matches()) {
                   getNext().invoke(request, response);
                   return;
               }
  
  
  
  1.107     +18 -18    
jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/Http11Processor.java
  
  Index: Http11Processor.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/Http11Processor.java,v
  retrieving revision 1.106
  retrieving revision 1.107
  diff -u -r1.106 -r1.107
  --- Http11Processor.java      31 Aug 2004 23:52:51 -0000      1.106
  +++ Http11Processor.java      1 Sep 2004 10:10:11 -0000       1.107
  @@ -23,6 +23,8 @@
   import java.net.InetAddress;
   import java.net.Socket;
   import java.util.StringTokenizer;
  +import java.util.regex.Pattern;
  +import java.util.regex.PatternSyntaxException;
   import java.security.AccessController;
   import java.security.PrivilegedAction;
   
  @@ -41,8 +43,6 @@
   import org.apache.coyote.http11.filters.VoidInputFilter;
   import org.apache.coyote.http11.filters.VoidOutputFilter;
   import org.apache.coyote.http11.filters.BufferedInputFilter;
  -import org.apache.regexp.RE;
  -import org.apache.regexp.RESyntaxException;
   import org.apache.tomcat.util.buf.Ascii;
   import org.apache.tomcat.util.buf.ByteChunk;
   import org.apache.tomcat.util.buf.HexUtils;
  @@ -179,7 +179,7 @@
       /**
        * List of restricted user agents.
        */
  -    protected RE[] restrictedUserAgents = null;
  +    protected Pattern[] restrictedUserAgents = null;
   
   
       /**
  @@ -276,7 +276,7 @@
       /**
        * List of user agents to not use gzip with
        */
  -    protected RE noCompressionUserAgents[] = null;
  +    protected Pattern noCompressionUserAgents[] = null;
       
       /**
        * List of MIMES which could be gzipped
  @@ -359,11 +359,11 @@
        */
       public void addNoCompressionUserAgent(String userAgent) {
           try {
  -            RE nRule = new RE(userAgent);
  +            Pattern nRule = Pattern.compile(userAgent);
               noCompressionUserAgents = 
                   addREArray(noCompressionUserAgents, nRule);
  -        } catch (RESyntaxException ree) {
  -            log.error("Error parsing regular expression: " + userAgent, ree);
  +        } catch (PatternSyntaxException pse) {
  +            log.error("Error parsing regular expression: " + userAgent, pse);
           }
       }
   
  @@ -373,7 +373,7 @@
        * a large number of connectors, where it would be better to have all of 
        * them referenced a single array).
        */
  -    public void setNoCompressionUserAgents(RE[] noCompressionUserAgents) {
  +    public void setNoCompressionUserAgents(Pattern[] noCompressionUserAgents) {
           this.noCompressionUserAgents = noCompressionUserAgents;
       }
   
  @@ -496,14 +496,14 @@
        * @param rArray the REArray 
        * @param value Obj
        */
  -    private RE[] addREArray(RE rArray[], RE value) {
  -        RE[] result = null;
  +    private Pattern[] addREArray(Pattern rArray[], Pattern value) {
  +        Pattern[] result = null;
           if (rArray == null) {
  -            result = new RE[1];
  +            result = new Pattern[1];
               result[0] = value;
           }
           else {    
  -            result = new RE[rArray.length + 1];
  +            result = new Pattern[rArray.length + 1];
               for (int i = 0; i < rArray.length; i++)
                   result[i] = rArray[i];
               result[rArray.length] = value;
  @@ -555,10 +555,10 @@
        */
       public void addRestrictedUserAgent(String userAgent) {
           try {
  -            RE nRule = new RE(userAgent);
  +            Pattern nRule = Pattern.compile(userAgent);
               restrictedUserAgents = addREArray(restrictedUserAgents, nRule);
  -        } catch (RESyntaxException ree) {
  -            log.error("Error parsing regular expression: " + userAgent, ree);
  +        } catch (PatternSyntaxException pse) {
  +            log.error("Error parsing regular expression: " + userAgent, pse);
           }
       }
   
  @@ -568,7 +568,7 @@
        * a large number of connectors, where it would be better to have all of 
        * them referenced a single array).
        */
  -    public void setRestrictedUserAgents(RE[] restrictedUserAgents) {
  +    public void setRestrictedUserAgents(Pattern[] restrictedUserAgents) {
           this.restrictedUserAgents = restrictedUserAgents;
       }
   
  @@ -1157,7 +1157,7 @@
               if(userAgentValueMB != null) {
                   String userAgentValue = userAgentValueMB.toString();
                   for (int i = 0; i < restrictedUserAgents.length; i++) {
  -                    if (restrictedUserAgents[i].match(userAgentValue)) {
  +                    if (restrictedUserAgents[i].matcher(userAgentValue).matches()) {
                           http11 = false;
                           keepAlive = false;
                           break;
  @@ -1383,7 +1383,7 @@
   
                   // If one Regexp rule match, disable compression
                   for (int i = 0; i < noCompressionUserAgents.length; i++)
  -                    if (noCompressionUserAgents[i].match(userAgentValue))
  +                    if 
(noCompressionUserAgents[i].matcher(userAgentValue).matches())
                           return false;
               }
           }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to