diff options
Diffstat (limited to 'doc/functions/gnutls_dtls_cookie_send')
-rw-r--r-- | doc/functions/gnutls_dtls_cookie_send | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/doc/functions/gnutls_dtls_cookie_send b/doc/functions/gnutls_dtls_cookie_send new file mode 100644 index 0000000..22630f0 --- /dev/null +++ b/doc/functions/gnutls_dtls_cookie_send @@ -0,0 +1,31 @@ + + + +@deftypefun {int} {gnutls_dtls_cookie_send} (gnutls_datum_t * @var{key}, void * @var{client_data}, size_t @var{client_data_size}, gnutls_dtls_prestate_st * @var{prestate}, gnutls_transport_ptr_t @var{ptr}, gnutls_push_func @var{push_func}) +@var{key}: is a random key to be used at cookie generation + +@var{client_data}: contains data identifying the client (i.e. address) + +@var{client_data_size}: The size of client's data + +@var{prestate}: The previous cookie returned by @code{gnutls_dtls_cookie_verify()} + +@var{ptr}: A transport pointer to be used by @code{push_func} + +@var{push_func}: A function that will be used to reply + +This function can be used to prevent denial of service +attacks to a DTLS server by requiring the client to +reply using a cookie sent by this function. That way +it can be ensured that a client we allocated resources +for (i.e. @code{gnutls_session_t} ) is the one that the +original incoming packet was originated from. + +This function must be called at the first incoming packet, +prior to allocating any resources and must be succeeded +by @code{gnutls_dtls_cookie_verify()} . + +@strong{Returns:} the number of bytes sent, or a negative error code. + +@strong{Since:} 3.0 +@end deftypefun |