This function will set a callback to be called after the client hello
has been received (callback valid in server side only). This allows
the server to adjust settings based on received extensions.
Those settings could be ciphersuites, requesting certificate, or
anything else except for version negotiation (this is done before the
hello message is parsed).
This callback must return 0 on success or a gnutls error code to
terminate the handshake.
Since GnuTLS 3.3.5 the callback is allowed to return GNUTLS_E_AGAIN
or GNUTLS_E_INTERRUPTED to put the handshake on hold. In that case
gnutls_handshake() will return GNUTLS_E_INTERRUPTED and can be
resumed when needed.
You should not use this function to terminate the handshake based on
client input unless you know what you are doing. Before the handshake
is finished there is no way to know if there is a man-in-the-middle
attack being performed.
This page is part of the GnuTLS (GnuTLS Transport Layer Security
Library) project. Information about the project can be found at
⟨http://www.gnutls.org/⟩. If you have a bug report for this manual
page, send it to email@example.com.. This page was obtained from the
tarball gnutls-3.5.9.tar.xz fetched from
⟨http://www.gnutls.org/download.html⟩ on 2017-03-13. If you discover
any rendering problems in this HTML version of the page, or you
believe there is a better or more up-to-date source for the page, or
you have corrections or improvements to the information in this
COLOPHON (which is not part of the original manual page), send a mail