You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by la...@apache.org on 2001/05/18 21:20:25 UTC

cvs commit: jakarta-tomcat/src/share/org/apache/tomcat/util/net PoolTcpEndpoint.java

larryi      01/05/18 12:20:24

  Modified:    src/etc  server.xml
               src/share/org/apache/tomcat/modules/server
                        Ajp12Interceptor.java
               src/share/org/apache/tomcat/util IntrospectionUtils.java
               src/share/org/apache/tomcat/util/net PoolTcpEndpoint.java
  Log:
  Improve security by providing default bindings for Ajp connectors.
  
  Submitted by: Andrey Kartashov
  
  Revision  Changes    Path
  1.75      +6 -0      jakarta-tomcat/src/etc/server.xml
  
  Index: server.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat/src/etc/server.xml,v
  retrieving revision 1.74
  retrieving revision 1.75
  diff -u -r1.74 -r1.75
  --- server.xml	2001/04/21 19:33:10	1.74
  +++ server.xml	2001/05/18 19:20:10	1.75
  @@ -189,15 +189,21 @@
            -->
   
           <!-- Apache AJP12 support. This is also used to shut down tomcat.
  +             Parameter "address" defines network interface this Interceptor
  +             "binds" to. Delete it if you want to "bind" to all interfaces.
             -->
           <RequestInterceptor 
            className="org.apache.tomcat.modules.server.Ajp12Interceptor"
  +         address="127.0.0.1"
            port="8007" />
   
           <!-- Apache AJP13 support (mod_jk)
  +             Parameter "address" defines network interface this Interceptor
  +             "binds" to. Delete it if you want to "bind" to all interfaces.
             -->
           <RequestInterceptor 
            className="org.apache.tomcat.modules.server.Ajp13Interceptor"
  +         address="127.0.0.1"
            port="8009" />
   
         <!-- 
  
  
  
  1.14      +1 -1      jakarta-tomcat/src/share/org/apache/tomcat/modules/server/Ajp12Interceptor.java
  
  Index: Ajp12Interceptor.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/modules/server/Ajp12Interceptor.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- Ajp12Interceptor.java	2001/03/15 07:33:18	1.13
  +++ Ajp12Interceptor.java	2001/05/18 19:20:14	1.14
  @@ -119,7 +119,7 @@
   	    if( address==null )
   		stopF.println( "" );
   	    else
  -		stopF.println( address.toString() );
  +		stopF.println( address.getHostAddress() );
   	    if( secret !=null )
   		stopF.println( secret );
   	    else
  
  
  
  1.9       +16 -0     jakarta-tomcat/src/share/org/apache/tomcat/util/IntrospectionUtils.java
  
  Index: IntrospectionUtils.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/util/IntrospectionUtils.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- IntrospectionUtils.java	2001/03/31 21:45:30	1.8
  +++ IntrospectionUtils.java	2001/05/18 19:20:18	1.9
  @@ -252,15 +252,31 @@
   		    // match - find the type and invoke it
   		    Class paramType=methods[i].getParameterTypes()[0];
   		    Object params[]=new Object[1];
  +
  +		    // Try a setFoo ( int )
   		    if ("java.lang.Integer".equals( paramType.getName()) ||
   			"int".equals( paramType.getName())) {
   			try {
   			    params[0]=new Integer(value);
   			} catch( NumberFormatException ex ) {ok=false;}
  +
  +		    // Try a setFoo ( boolean )
   		    } else if ("java.lang.Boolean".
   			       equals( paramType.getName()) ||
   			"boolean".equals( paramType.getName())) {
   			params[0]=new Boolean(value);
  +
  +		    // Try a setFoo ( InetAddress )
  +		    } else if ("java.net.InetAddress".
  +				equals( paramType.getName())){
  +			try{
  + 			    params[0]= InetAddress.getByName(value);
  + 			}catch(UnknownHostException exc) {
  + 			    d("Unable to resolve host name:" + value);
  + 			    ok=false;
  + 			}
  + 
  + 		    // Unknown type
   		    } else {
   			d("Unknown type " + paramType.getName() );
   		    }
  
  
  
  1.11      +9 -4      jakarta-tomcat/src/share/org/apache/tomcat/util/net/PoolTcpEndpoint.java
  
  Index: PoolTcpEndpoint.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/util/net/PoolTcpEndpoint.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- PoolTcpEndpoint.java	2001/04/21 18:12:19	1.10
  +++ PoolTcpEndpoint.java	2001/05/18 19:20:22	1.11
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/util/net/PoolTcpEndpoint.java,v 1.10 2001/04/21 18:12:19 costin Exp $
  - * $Revision: 1.10 $
  - * $Date: 2001/04/21 18:12:19 $
  + * $Header: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/util/net/PoolTcpEndpoint.java,v 1.11 2001/05/18 19:20:22 larryi Exp $
  + * $Revision: 1.11 $
  + * $Date: 2001/05/18 19:20:22 $
    *
    * ====================================================================
    *
  @@ -264,7 +264,12 @@
   	    running = false;
   	    try {
   		// Need to create a connection to unlock the accept();
  -		Socket s=new Socket("127.0.0.1", port );
  +		Socket s;
  +		if (inet == null) {
  +		    s=new Socket("127.0.0.1", port );
  +		}else{
  +		    s=new Socket(inet, port );
  +		}
   		s.close();
   		//		System.out.println("Closing socket " + port );
   		serverSocket.close(); // XXX?