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: [EMAIL PROTECTED] (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 );
                }
            }
            
  
  
  

Reply via email to