Skip to content
  • Ondřej Surý's avatar
    Fix TCPDNS and TLSDNS timers · caa5b654
    Ondřej Surý authored
    After the TCPDNS refactoring the initial and idle timers were broken and
    only the tcp-initial-timeout was always applied on the whole TCP
    connection.
    
    This broke any TCP connection that took longer than tcp-initial-timeout,
    most often this would affect large zone AXFRs.
    
    This commit changes the timeout logic in this way:
    
      * On TCP connection accept the tcp-initial-timeout is applied
        and the timer is started
      * When we are processing and/or sending any DNS message the timer is
        stopped
      * When we stop processing all DNS messages, the tcp-idle-timeout
        is applied and the timer is started again
    caa5b654