Provided by: gnutls-doc_3.5.18-1ubuntu1.6_all bug

NAME

       gnutls_dtls_cookie_send - API function

SYNOPSIS

       #include <gnutls/dtls.h>

       int   gnutls_dtls_cookie_send(gnutls_datum_t   *   key,   void   *   client_data,   size_t
       client_data_size,  gnutls_dtls_prestate_st   *   prestate,   gnutls_transport_ptr_t   ptr,
       gnutls_push_func push_func);

ARGUMENTS

       gnutls_datum_t * key
                   is a random key to be used at cookie generation

       void * client_data
                   contains data identifying the client (i.e. address)

       size_t client_data_size
                   The size of client's data

       gnutls_dtls_prestate_st * prestate
                   The previous cookie returned by gnutls_dtls_cookie_verify()

       gnutls_transport_ptr_t ptr
                   A transport pointer to be used by  push_func

       gnutls_push_func push_func
                   A function that will be used to reply

DESCRIPTION

       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. 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 gnutls_dtls_cookie_verify().

RETURNS

       the number of bytes sent, or a negative error code.

SINCE

       3.0

REPORTING BUGS

       Report bugs to <bugs@gnutls.org>.
       Home page: http://www.gnutls.org

COPYRIGHT

       Copyright © 2001-2022 Free Software Foundation, Inc., and others.
       Copying  and distribution of this file, with or without modification, are permitted in any
       medium without royalty provided the copyright notice and this notice are preserved.

SEE ALSO

       The  full  documentation  for  gnutls  is  maintained  as  a  Texinfo  manual.    If   the
       /usr/share/doc/gnutls/ directory does not contain the HTML form visit

       http://www.gnutls.org/manual/