Hello,

I'm trying to figure out how to perform a clean shutdown of a TLS
session, and how the API communicates that back to the application.

>From what I understand so far, if either end of the connection wishes to
close the session, it would call gnutls_bye() with GNUTLS_SHUT_RDWR.
Assuming the other end of the session is waiting for input with
gnutls_record_recv(), it will detect this shutdown request with _recv()
returning 0 (EOF).

What should the receiving end do in such a case? If it calls close() on
the underlying socket, will the gnutls_bye() fail with an error on the
other end?  Should it call gnutls_bye() itself for that to succeed?

Related to the above, is my understanding correct that when either end
closes the underlying socket without initiating a gnutls_bye(), the
gnutls_record_recv() on the other end will fail with an error?

Any clarification on this subjects is appreciated.

Yoran.

_______________________________________________
Gnutls-help mailing list
[email protected]
http://lists.gnupg.org/mailman/listinfo/gnutls-help

Reply via email to