Skip to content
  • Anthony Léonard's avatar
    tls: set errno with gnutls function on Windows · 4a773328
    Anthony Léonard authored and Guillaume Roguez's avatar Guillaume Roguez committed
    
    
    On some platforms, such as Windows, the errno variable is not a
    reliable way to send an error code to GnuTLS. A function called
    gnutls_transport_set_errno is provided as a better way for push/pull
    callbacks to return those error codes to GnuTLS.
    
    We now use it in the push callback which prevent cases where a TLS
    session could be terminated due to a misreading of errno by GnuTLS
    (especially if an EAGAIN error code is to be returned).
    
    Moreover, as the SIP session MTU is queried during media session setup,
    we ensure that the session is still alive at this moment. If not, we
    throw a runtime error as it is a nonsense to establish a media
    communication if SIP is dead.
    
    Change-Id: Id9220f1b3c7feea72e6ad18481fc039b4b5a2f4e
    Reviewed-by: default avatarGuillaume Roguez <guillaume.roguez@savoirfairelinux.com>
    4a773328