gnutls_dtls_cookie_send — API function


#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);


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


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


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




Report bugs to <>.

General guidelines for reporting bugs:

GnuTLS home page:


The full documentation for gnutls is maintained as a Texinfo manual. If the info and gnutls programs are properly installed at your site, the command

info gnutls

should give you access to the complete manual. As an alternative you may obtain the manual from:


Copyright © 2001-2013 Free Software Foundation, Inc..

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.