• Michael Catanzaro's avatar
    gnutls: don't call failed() when rehandshaking · f53ae599
    Michael Catanzaro authored
    A rehandshake is not a real failure and should not result in the session
    being removed from the session cache. This is causing the client to fail
    to resume the session, causing the server to request the client cert
    again for rehandshakes, which is undesirable.
    
    When refactoring this code, I wasn't sure exactly where failed() should
    be called. I noticed it was not being called in many places where it
    really should have been, and overcorrected.
    
    Note that this also moves failed() to be a vfunc of GTlsConnectionGnutls
    instead of GTlsConnectionBase, since it's no longer called from Base and
    OpenSSL doesn't implement it anywhere.
    
    Fixes #84
    f53ae599
gtlsserverconnection-gnutls.c 11.8 KB