User: olegnitz
  Date: 02/04/02 14:38:55

  Modified:    jetty/src/main/org/mortbay/http/handler
                        ContentEncodingHandler.java DumpHandler.java
                        NotFoundHandler.java NullHandler.java
                        ProxyHandler.java ResourceHandler.java
                        SecurityHandler.java
  Added:       jetty/src/main/org/mortbay/http/handler IPAccessHandler.java
  Log:
  Jetty 4.0.0
  
  Revision  Changes    Path
  1.2       +0 -0      
contrib/jetty/src/main/org/mortbay/http/handler/ContentEncodingHandler.java
  
  Index: ContentEncodingHandler.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/contrib/jetty/src/main/org/mortbay/http/handler/ContentEncodingHandler.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ContentEncodingHandler.java       11 Mar 2002 12:17:44 -0000      1.1
  +++ ContentEncodingHandler.java       2 Apr 2002 22:38:54 -0000       1.2
  @@ -1,6 +1,6 @@
   // ========================================================================
   // Copyright (c) 1999 Mort Bay Consulting (Australia) Pty. Ltd.
  -// $Id: ContentEncodingHandler.java,v 1.1 2002/03/11 12:17:44 janb Exp $
  +// $Id: ContentEncodingHandler.java,v 1.2 2002/04/02 22:38:54 olegnitz Exp $
   // ========================================================================
   
   package org.mortbay.http.handler;
  @@ -50,7 +50,7 @@
    * It is far more efficient to use this handler than compression
    * filters within webapplications.
    * 
  - * @version $Id: ContentEncodingHandler.java,v 1.1 2002/03/11 12:17:44 janb Exp $
  + * @version $Id: ContentEncodingHandler.java,v 1.2 2002/04/02 22:38:54 olegnitz Exp 
$
    * @author Greg Wilkins (gregw)
    */
   public class ContentEncodingHandler
  
  
  
  1.7       +0 -0      contrib/jetty/src/main/org/mortbay/http/handler/DumpHandler.java
  
  Index: DumpHandler.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/contrib/jetty/src/main/org/mortbay/http/handler/DumpHandler.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- DumpHandler.java  11 Mar 2002 05:28:59 -0000      1.6
  +++ DumpHandler.java  2 Apr 2002 22:38:54 -0000       1.7
  @@ -1,6 +1,6 @@
   // ========================================================================
   // Copyright (c) 1999 Mort Bay Consulting (Australia) Pty. Ltd.
  -// $Id: DumpHandler.java,v 1.6 2002/03/11 05:28:59 janb Exp $
  +// $Id: DumpHandler.java,v 1.7 2002/04/02 22:38:54 olegnitz Exp $
   // ========================================================================
   
   package org.mortbay.http.handler;
  @@ -32,7 +32,7 @@
    * Dumps GET and POST requests.
    * Useful for testing and debugging.
    * 
  - * @version $Id: DumpHandler.java,v 1.6 2002/03/11 05:28:59 janb Exp $
  + * @version $Id: DumpHandler.java,v 1.7 2002/04/02 22:38:54 olegnitz Exp $
    * @author Greg Wilkins (gregw)
    */
   public class DumpHandler extends NullHandler
  
  
  
  1.7       +0 -0      
contrib/jetty/src/main/org/mortbay/http/handler/NotFoundHandler.java
  
  Index: NotFoundHandler.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/contrib/jetty/src/main/org/mortbay/http/handler/NotFoundHandler.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- NotFoundHandler.java      11 Mar 2002 05:28:59 -0000      1.6
  +++ NotFoundHandler.java      2 Apr 2002 22:38:54 -0000       1.7
  @@ -1,6 +1,6 @@
   // ========================================================================
   // Copyright (c) 1999 Mort Bay Consulting (Australia) Pty. Ltd.
  -// $Id: NotFoundHandler.java,v 1.6 2002/03/11 05:28:59 janb Exp $
  +// $Id: NotFoundHandler.java,v 1.7 2002/04/02 22:38:54 olegnitz Exp $
   // ========================================================================
   
   package org.mortbay.http.handler;
  @@ -22,7 +22,7 @@
   /** Handler for resources that were not found.
    * Implements OPTIONS and TRACE methods for the server.
    * 
  - * @version $Id: NotFoundHandler.java,v 1.6 2002/03/11 05:28:59 janb Exp $
  + * @version $Id: NotFoundHandler.java,v 1.7 2002/04/02 22:38:54 olegnitz Exp $
    * @author Greg Wilkins (gregw)
    */
   public class NotFoundHandler extends NullHandler
  
  
  
  1.7       +0 -0      contrib/jetty/src/main/org/mortbay/http/handler/NullHandler.java
  
  Index: NullHandler.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/contrib/jetty/src/main/org/mortbay/http/handler/NullHandler.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- NullHandler.java  11 Mar 2002 05:28:59 -0000      1.6
  +++ NullHandler.java  2 Apr 2002 22:38:54 -0000       1.7
  @@ -1,6 +1,6 @@
   // ========================================================================
   // Copyright (c) 1999 Mort Bay Consulting (Australia) Pty. Ltd.
  -// $Id: NullHandler.java,v 1.6 2002/03/11 05:28:59 janb Exp $
  +// $Id: NullHandler.java,v 1.7 2002/04/02 22:38:54 olegnitz Exp $
   // ========================================================================
   
   package org.mortbay.http.handler;
  @@ -25,7 +25,7 @@
   /** Base HTTP Handler.
    * This No-op handler is a good base for other handlers
    *
  - * @version $Id: NullHandler.java,v 1.6 2002/03/11 05:28:59 janb Exp $
  + * @version $Id: NullHandler.java,v 1.7 2002/04/02 22:38:54 olegnitz Exp $
    * @author Greg Wilkins (gregw)
    */
   abstract public class NullHandler implements HttpHandler
  
  
  
  1.7       +0 -0      
contrib/jetty/src/main/org/mortbay/http/handler/ProxyHandler.java
  
  Index: ProxyHandler.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/contrib/jetty/src/main/org/mortbay/http/handler/ProxyHandler.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- ProxyHandler.java 11 Mar 2002 05:28:59 -0000      1.6
  +++ ProxyHandler.java 2 Apr 2002 22:38:54 -0000       1.7
  @@ -1,6 +1,6 @@
   // ========================================================================
   // Copyright (c) 1999 Mort Bay Consulting (Australia) Pty. Ltd.
  -// $Id: ProxyHandler.java,v 1.6 2002/03/11 05:28:59 janb Exp $
  +// $Id: ProxyHandler.java,v 1.7 2002/04/02 22:38:54 olegnitz Exp $
   // ========================================================================
   
   package org.mortbay.http.handler;
  @@ -29,7 +29,7 @@
    * Dumps GET and POST requests.
    * Useful for testing and debugging.
    * 
  - * @version $Id: ProxyHandler.java,v 1.6 2002/03/11 05:28:59 janb Exp $
  + * @version $Id: ProxyHandler.java,v 1.7 2002/04/02 22:38:54 olegnitz Exp $
    * @author Greg Wilkins (gregw)
    */
   public class ProxyHandler extends NullHandler
  
  
  
  1.7       +0 -0      
contrib/jetty/src/main/org/mortbay/http/handler/ResourceHandler.java
  
  Index: ResourceHandler.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/contrib/jetty/src/main/org/mortbay/http/handler/ResourceHandler.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- ResourceHandler.java      11 Mar 2002 05:28:59 -0000      1.6
  +++ ResourceHandler.java      2 Apr 2002 22:38:54 -0000       1.7
  @@ -1,6 +1,6 @@
   // ===========================================================================
   // Copyright (c) 1996 Mort Bay Consulting Pty. Ltd. All rights reserved.
  -// $Id: ResourceHandler.java,v 1.6 2002/03/11 05:28:59 janb Exp $
  +// $Id: ResourceHandler.java,v 1.7 2002/04/02 22:38:54 olegnitz Exp $
   // ---------------------------------------------------------------------------
   
   package org.mortbay.http.handler;
  @@ -43,7 +43,7 @@
    * A simple memory cache is also provided to reduce file I/O.
    * HTTP/1.1 ranges are supported.
    * 
  - * @version $Id: ResourceHandler.java,v 1.6 2002/03/11 05:28:59 janb Exp $
  + * @version $Id: ResourceHandler.java,v 1.7 2002/04/02 22:38:54 olegnitz Exp $
    * @author Nuno Preguiça 
    * @author Greg Wilkins
    */
  
  
  
  1.7       +4 -3      
contrib/jetty/src/main/org/mortbay/http/handler/SecurityHandler.java
  
  Index: SecurityHandler.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/contrib/jetty/src/main/org/mortbay/http/handler/SecurityHandler.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- SecurityHandler.java      11 Mar 2002 05:28:59 -0000      1.6
  +++ SecurityHandler.java      2 Apr 2002 22:38:54 -0000       1.7
  @@ -1,6 +1,6 @@
   // ========================================================================
   // Copyright (c) 1999 Mort Bay Consulting (Australia) Pty. Ltd.
  -// $Id: SecurityHandler.java,v 1.6 2002/03/11 05:28:59 janb Exp $
  +// $Id: SecurityHandler.java,v 1.7 2002/04/02 22:38:54 olegnitz Exp $
   // ========================================================================
   
   package org.mortbay.http.handler;
  @@ -33,7 +33,7 @@
   /* ------------------------------------------------------------ */
   /** Handler to enforce SecurityConstraints.
    *
  - * @version $Id: SecurityHandler.java,v 1.6 2002/03/11 05:28:59 janb Exp $
  + * @version $Id: SecurityHandler.java,v 1.7 2002/04/02 22:38:54 olegnitz Exp $
    * @author Greg Wilkins (gregw)
    */
   public class SecurityHandler extends NullHandler
  @@ -254,7 +254,8 @@
           if (scss!=null)
           {          
               Code.debug("Security Constraint on ",pathInContext," against ",scss);
  -  
  +
  +            
               // for each path match
           matches:
               for (int m=0;m<scss.size();m++)
  
  
  
  1.1                  
contrib/jetty/src/main/org/mortbay/http/handler/IPAccessHandler.java
  
  Index: IPAccessHandler.java
  ===================================================================
  // ========================================================================
  // Author : Gosta Jonasson
  // Copyright (c) 2002 Gösta Jonasson [EMAIL PROTECTED] All rights reserved.
  // Permission to use, copy, modify and distribute this software
  // for non-commercial or commercial purposes and without fee is
  // hereby granted provided that this copyright notice appears in
  // all copies.
  // ========================================================================
  
  package org.mortbay.http.handler;
  
  import java.io.IOException;
  import java.util.Hashtable;
  import org.mortbay.http.HttpException;
  import org.mortbay.http.HttpMessage;
  import org.mortbay.http.HttpRequest;
  import org.mortbay.http.HttpResponse;
  
  /** 
   *  Handler to authenticate access from certain IP-addresses. <br>
   *  <br>
   *  A server configuration-XML-file can look something like this: <br>
   *  &lt;Configure class="org.mortbay.jetty.Server"&gt; <br>
   *    ... <br>
   *    &lt;Call name="addContext"&gt; <br>
   *      ... <br>
   *      &lt;Call name="addHandler"&gt; <br>
   *        &lt;Arg&gt; <br>
   *          &lt;New class="IPAccessHandler"&gt; <br>
   *            &lt;Set name="Standard"&gt;deny&lt;/Set&gt; <br>
   *                  &lt;Set name="AllowIP"&gt;192.168.0.103&lt;/Set&gt; <br>
   *                  &lt;Set name="AllowIP"&gt;192.168.0.100&lt;/Set&gt; <br>
   *          &lt;/New&gt; <br>
   *        &lt;/Arg&gt; <br>
   *     &lt;/Call&gt; <br>
   *     ... <br>
   *  <br>
   *  This would deny access for everyone except the requests from the IPs
   *  192.168.0.100 and 192.168.0.103.
   *
   * @version v0.1 2002/03/20
   * @author Gösta Jonasson <a href="mailto:[EMAIL PROTECTED]";>[EMAIL PROTECTED]</a>
   */
  public class IPAccessHandler extends NullHandler {
  
        /** The standard way to deal with not configured IPs (true=allowed) */
        boolean standard = false;
  
        /** Hashtable where the configured IPs are kept */
        Hashtable ips;
   
        /**
         * Constructor for the class
         */
        public IPAccessHandler() {
                super();
                ips = new Hashtable();
        }
  
        /**
         * Checks if the given ipstring (x.x.x.x) is authorized or not
         *
       * @param ipstring        The ip-address as a String
       * @return True if the IP is allowed access, otherwise false.
         */
        public boolean checkIP(String ipstring) {
                Boolean ipconstrain = (Boolean)ips.get(ipstring);
                if (ipconstrain != null)        {
                        return ipconstrain.booleanValue();
                } else {
                        return standard;
                }
        }
        
        /**
         * Handles the incoming request
         *
       * @param pathInContext   
       * @param pathParams      
       * @param request The incoming HTTP-request
       * @param response        The outgoing HTTP-response
         */
        public void handle(String pathInContext,
                         String pathParams,
                         HttpRequest request,
                         HttpResponse response)
          throws HttpException, IOException {
  
                try     {
                        
                        String ip = request.getRemoteAddr();
                        boolean authorized = checkIP(ip);
                
                        if (!authorized) {
                                // The IP is NOT allowed
                                response.sendError(HttpResponse.__403_Forbidden);
                                request.setHandled(true);
                                return; 
                        } else {
                                // The IP is allowed
                                return;
                        }
                } catch (Exception ex) {
              System.out.println(ex);
              response.sendError(HttpResponse.__500_Internal_Server_Error);
              request.setHandled(true);
          }
      }
  
        /**
         * Allow the given ip-address access
         *
       * @param ipstring        The ip-address as a String on the format "x.x.x.x"
         */
        public void setAllowIP(String ipstring) {
                ips.put(ipstring,new Boolean(true));
        }
  
        /**
         * Deny the given ip-address access
         *
       * @param ipstring        The ip-address as a String on the format "x.x.x.x"
         */
        public void setDenyIP(String ipstring) {
                ips.put(ipstring,new Boolean(false));
        }
  
        /**
         * Set the standard action beeing taken when not registred
         * IPs wants access
         *
         * @param s The standard-string (either 'allow' or 'deny')
         */
        public void setStandard(String s) {
                s = s.toLowerCase();
                if (s.indexOf("allow") > -1) {
                        standard = true;
                } else {
                        standard = false;
                }
        }
  
  
        /** 
         *  Main method for testing & debugging.
         *
         */
        private static void main(String[] args) {
                IPAccessHandler ipah = new IPAccessHandler();
                ipah.setStandard("deny");
                ipah.setAllowIP("217.215.71.167");
                ipah.setDenyIP("217.215.71.149");
                System.out.println(ipah.checkIP("217.215.71.245")+" = false");
                System.out.println(ipah.checkIP("217.215.71.167")+" = true");
                System.out.println(ipah.checkIP("217.215.71.149")+" = false");
                System.out.println(ipah.checkIP("0.0.0.0")+" = false");
  
                IPAccessHandler ipah2 = new IPAccessHandler();
                ipah2.setStandard("allow");
                ipah2.setAllowIP("217.215.71.167");
                ipah2.setDenyIP("217.215.71.149");
                System.out.println(ipah2.checkIP("217.215.71.245")+" = true");
                System.out.println(ipah2.checkIP("217.215.71.167")+" = true");
                System.out.println(ipah2.checkIP("217.215.71.149")+" = false");
                System.out.println(ipah2.checkIP("0.0.0.0")+" = true");
        }
  }
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to