Blame doc/functions/gnutls_dtls_cookie_send

Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
@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})
Packit Service 4684c1
@var{key}: is a random key to be used at cookie generation
Packit Service 4684c1
Packit Service 4684c1
@var{client_data}: contains data identifying the client (i.e. address)
Packit Service 4684c1
Packit Service 4684c1
@var{client_data_size}: The size of client's data
Packit Service 4684c1
Packit Service 4684c1
@var{prestate}: The previous cookie returned by @code{gnutls_dtls_cookie_verify()} 
Packit Service 4684c1
Packit Service 4684c1
@var{ptr}: A transport pointer to be used by  @code{push_func} 
Packit Service 4684c1
Packit Service 4684c1
@var{push_func}: A function that will be used to reply
Packit Service 4684c1
Packit Service 4684c1
This function can be used to prevent denial of service
Packit Service 4684c1
attacks to a DTLS server by requiring the client to
Packit Service 4684c1
reply using a cookie sent by this function. That way
Packit Service 4684c1
it can be ensured that a client we allocated resources
Packit Service 4684c1
for (i.e. @code{gnutls_session_t} ) is the one that the 
Packit Service 4684c1
original incoming packet was originated from.
Packit Service 4684c1
Packit Service 4684c1
This function must be called at the first incoming packet,
Packit Service 4684c1
prior to allocating any resources and must be succeeded
Packit Service 4684c1
by @code{gnutls_dtls_cookie_verify()} .
Packit Service 4684c1
Packit Service 4684c1
@strong{Returns:} the number of bytes sent, or a negative error code.  
Packit Service 4684c1
Packit Service 4684c1
@strong{Since:} 3.0
Packit Service 4684c1
@end deftypefun