Skip to content
  • Olivier SOLDANO's avatar
    fix infinite loop in PMTUD · 5ebe2918
    Olivier SOLDANO authored and Guillaume Roguez's avatar Guillaume Roguez committed
    
    
    When the TLS session was closed during path mtu discovery,
    the EINTR signal was captured by the retry loop, causing
    it to loop indefinitelly as the state of the session was
    TlsSessionState::SHUTDOWN ; each retry triggering another EINTR
    from TlsSessionImpl::waitForRawData, making gnutls_heartbeat_ping
    to return GNUTLS_E_INTERRUPTED on the pong wait).
    the guard to this loop was modified to take into account the state
    of the session on GNUTLS_E_ITERRUPTED.
    
    Another do/while loop was guarded by the same condition in
    TlsSessionImpl::send, the same countermeasures have been
    put in place.
    
    Change-Id: Ib2ab8975c8044d9bac0abdcace94d79b5eeb75b9
    Reviewed-by: default avatarPhilippe Gorley <philippe.gorley@savoirfairelinux.com>
    5ebe2918