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

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

marcsaeg    01/03/20 14:21:28

  Modified:    src/share/org/apache/tomcat/service Tag: tomcat_32
                        PoolTcpEndpoint.java
  Log:
  Set the SO_TIMEOUT value on the accepted socket.  This prevents a DOS
  attacked by clients opening connections and never sending any data.
  
  The default timeout was also increased from 1 second to 5 minutes (which
  is the default value used by Apache httpd).
  
  PR:  1006
  Submitted by:	tal@zapta.com (Tal Dayan)
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.8.2.4   +9 -6      jakarta-tomcat/src/share/org/apache/tomcat/service/Attic/PoolTcpEndpoint.java
  
  Index: PoolTcpEndpoint.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/service/Attic/PoolTcpEndpoint.java,v
  retrieving revision 1.8.2.3
  retrieving revision 1.8.2.4
  diff -u -r1.8.2.3 -r1.8.2.4
  --- PoolTcpEndpoint.java	2000/11/17 23:19:55	1.8.2.3
  +++ PoolTcpEndpoint.java	2001/03/20 22:21:25	1.8.2.4
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/service/Attic/PoolTcpEndpoint.java,v 1.8.2.3 2000/11/17 23:19:55 craigmcc Exp $
  - * $Revision: 1.8.2.3 $
  - * $Date: 2000/11/17 23:19:55 $
  + * $Header: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/service/Attic/PoolTcpEndpoint.java,v 1.8.2.4 2001/03/20 22:21:25 marcsaeg Exp $
  + * $Revision: 1.8.2.4 $
  + * $Date: 2001/03/20 22:21:25 $
    *
    * ====================================================================
    *
  @@ -98,7 +98,7 @@
       private static StringManager sm = StringManager.getManager("org.apache.tomcat.service");
   
       private static final int BACKLOG = 100;
  -    private static final int TIMEOUT = 1000;
  +    private static final int TIMEOUT = 300000;  // 5 minutes
   
       private boolean isPool = true;
   
  @@ -290,8 +290,11 @@
           		            accepted = null;
           		        }
       		        }
  -			if( factory != null && accepted != null)
  -			    factory.initSocket( accepted );
  +
  +                    if(accepted != null)
  +                        accepted.setSoTimeout(timeout);
  +            if( factory != null && accepted != null)
  +                factory.initSocket( accepted );
       	        }
       	    }