<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.13"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>mbed TLS v2.7.8: ssl_cookie.h File Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">mbed TLS v2.7.8 </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.13 --> <script type="text/javascript" src="menudata.js"></script> <script type="text/javascript" src="menu.js"></script> <script type="text/javascript"> $(function() { initMenu('',false,false,'search.php','Search'); }); </script> <div id="main-nav"></div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_b4d146e9a6d8dd56ed4afb2480a97fd3.html">mbedtls</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#nested-classes">Data Structures</a> | <a href="#func-members">Functions</a> | <a href="#var-members">Variables</a> </div> <div class="headertitle"> <div class="title">ssl_cookie.h File Reference</div> </div> </div><!--header--> <div class="contents"> <p>DTLS cookie callbacks implementation. <a href="#details">More...</a></p> <div class="textblock"><code>#include "<a class="el" href="ssl_8h_source.html">ssl.h</a>"</code><br /> <code>#include "<a class="el" href="threading_8h_source.html">threading.h</a>"</code><br /> </div><div class="textblock"><div class="dynheader"> Include dependency graph for ssl_cookie.h:</div> <div class="dyncontent"> <div class="center"><img src="ssl__cookie_8h__incl.png" border="0" usemap="#ssl__cookie_8h" alt=""/></div> <map name="ssl__cookie_8h" id="ssl__cookie_8h"> <area shape="rect" id="node2" href="ssl_8h.html" title="SSL/TLS functions. " alt="" coords="537,80,609,107"/> <area shape="rect" id="node15" href="threading_8h.html" title="Threading abstraction layer. " alt="" coords="921,528,1053,555"/> <area shape="rect" id="node3" href="config_8h.html" title="Configuration options (set of defines) " alt="" coords="679,677,782,704"/> <area shape="rect" id="node6" href="bignum_8h.html" title="Multi-precision integer library. " alt="" coords="158,603,261,629"/> <area shape="rect" id="node10" href="ecp_8h.html" title="Elliptic curves over GF(p) " alt="" coords="81,528,153,555"/> <area shape="rect" id="node11" href="ssl__ciphersuites_8h.html" title="SSL Ciphersuites for mbed TLS. " alt="" coords="401,304,604,331"/> <area shape="rect" id="node20" href="x509__crt_8h.html" title="X.509 certificate parsing and writing. " alt="" coords="673,155,796,181"/> <area shape="rect" id="node23" href="x509__crl_8h.html" title="X.509 certificate revocation list parsing. " alt="" coords="624,229,747,256"/> <area shape="rect" id="node24" href="dhm_8h.html" title="Diffie-Hellman-Merkle key exchange. " alt="" coords="177,528,249,555"/> <area shape="rect" id="node25" href="ecdh_8h.html" title="The Elliptic Curve Diffie-Hellman (ECDH) protocol APIs. " alt="" coords="93,379,176,405"/> <area shape="rect" id="node26" href="platform__time_8h.html" title="mbed TLS Platform time abstraction " alt="" coords="1027,155,1199,181"/> <area shape="rect" id="node4" href="check__config_8h.html" title="Consistency checks for configuration options. " alt="" coords="649,752,812,779"/> <area shape="rect" id="node12" href="pk_8h.html" title="Public Key abstraction layer. " alt="" coords="521,379,583,405"/> <area shape="rect" id="node13" href="md_8h.html" title="The generic message-digest wrapper. " alt="" coords="422,528,485,555"/> <area shape="rect" id="node19" href="cipher_8h.html" title="The generic cipher wrapper. " alt="" coords="337,603,439,629"/> <area shape="rect" id="node14" href="rsa_8h.html" title="The RSA public-key cryptosystem. " alt="" coords="621,453,693,480"/> <area shape="rect" id="node18" href="ecdsa_8h.html" title="The Elliptic Curve Digital Signature Algorithm (ECDSA). " alt="" coords="353,453,445,480"/> <area shape="rect" id="node21" href="x509_8h.html" title="X.509 generic defines and structures. " alt="" coords="732,304,815,331"/> <area shape="rect" id="node22" href="asn1_8h.html" title="Generic ASN.1 parsing. " alt="" coords="560,528,643,555"/> </map> </div> </div> <p><a href="ssl__cookie_8h_source.html">Go to the source code of this file.</a></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> Data Structures</h2></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structmbedtls__ssl__cookie__ctx.html">mbedtls_ssl_cookie_ctx</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Context for the default cookie functions. <a href="structmbedtls__ssl__cookie__ctx.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> Macros</h2></td></tr> <tr><td colspan="2"><div class="groupHeader">SECTION: Module settings</div></td></tr> <tr><td colspan="2"><div class="groupText"><p>The configuration options you can set for this module are in this section. Either change them in <a class="el" href="config_8h.html" title="Configuration options (set of defines) ">config.h</a> or define them on the compiler command line. </p> </div></td></tr> <tr class="memitem:ae8066a424d7e37be9243c96dac2fc18a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ssl__cookie_8h.html#ae8066a424d7e37be9243c96dac2fc18a">MBEDTLS_SSL_COOKIE_TIMEOUT</a>   60</td></tr> <tr class="separator:ae8066a424d7e37be9243c96dac2fc18a"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:affed42a7313e08576aad621f25d5c4f3"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="ssl__cookie_8h.html#affed42a7313e08576aad621f25d5c4f3">mbedtls_ssl_cookie_init</a> (<a class="el" href="structmbedtls__ssl__cookie__ctx.html">mbedtls_ssl_cookie_ctx</a> *ctx)</td></tr> <tr class="memdesc:affed42a7313e08576aad621f25d5c4f3"><td class="mdescLeft"> </td><td class="mdescRight">Initialize cookie context. <a href="#affed42a7313e08576aad621f25d5c4f3">More...</a><br /></td></tr> <tr class="separator:affed42a7313e08576aad621f25d5c4f3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac81843a6bd31b31765639b65329d6b69"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="ssl__cookie_8h.html#ac81843a6bd31b31765639b65329d6b69">mbedtls_ssl_cookie_setup</a> (<a class="el" href="structmbedtls__ssl__cookie__ctx.html">mbedtls_ssl_cookie_ctx</a> *ctx, int(*f_rng)(void *, unsigned char *, size_t), void *p_rng)</td></tr> <tr class="memdesc:ac81843a6bd31b31765639b65329d6b69"><td class="mdescLeft"> </td><td class="mdescRight">Setup cookie context (generate keys) <a href="#ac81843a6bd31b31765639b65329d6b69">More...</a><br /></td></tr> <tr class="separator:ac81843a6bd31b31765639b65329d6b69"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5ae5d375a80fbe6f6f1b219c1b1dc8bb"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="ssl__cookie_8h.html#a5ae5d375a80fbe6f6f1b219c1b1dc8bb">mbedtls_ssl_cookie_set_timeout</a> (<a class="el" href="structmbedtls__ssl__cookie__ctx.html">mbedtls_ssl_cookie_ctx</a> *ctx, unsigned long delay)</td></tr> <tr class="memdesc:a5ae5d375a80fbe6f6f1b219c1b1dc8bb"><td class="mdescLeft"> </td><td class="mdescRight">Set expiration delay for cookies (Default MBEDTLS_SSL_COOKIE_TIMEOUT) <a href="#a5ae5d375a80fbe6f6f1b219c1b1dc8bb">More...</a><br /></td></tr> <tr class="separator:a5ae5d375a80fbe6f6f1b219c1b1dc8bb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a77d57052186940783e056f5ca95bda03"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="ssl__cookie_8h.html#a77d57052186940783e056f5ca95bda03">mbedtls_ssl_cookie_free</a> (<a class="el" href="structmbedtls__ssl__cookie__ctx.html">mbedtls_ssl_cookie_ctx</a> *ctx)</td></tr> <tr class="memdesc:a77d57052186940783e056f5ca95bda03"><td class="mdescLeft"> </td><td class="mdescRight">Free cookie context. <a href="#a77d57052186940783e056f5ca95bda03">More...</a><br /></td></tr> <tr class="separator:a77d57052186940783e056f5ca95bda03"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a> Variables</h2></td></tr> <tr class="memitem:a132e60f12cd3465264d283042cabe6d2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ssl_8h.html#a536f8b89936f26732150b00639a47ff0">mbedtls_ssl_cookie_write_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="ssl__cookie_8h.html#a132e60f12cd3465264d283042cabe6d2">mbedtls_ssl_cookie_write</a></td></tr> <tr class="memdesc:a132e60f12cd3465264d283042cabe6d2"><td class="mdescLeft"> </td><td class="mdescRight">Generate cookie, see <code>mbedtls_ssl_cookie_write_t</code>. <a href="#a132e60f12cd3465264d283042cabe6d2">More...</a><br /></td></tr> <tr class="separator:a132e60f12cd3465264d283042cabe6d2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac83489027c04984e12f89b1b29eac27b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ssl_8h.html#a9cfda5aee70d6c2c19a8dfb5af900d80">mbedtls_ssl_cookie_check_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="ssl__cookie_8h.html#ac83489027c04984e12f89b1b29eac27b">mbedtls_ssl_cookie_check</a></td></tr> <tr class="memdesc:ac83489027c04984e12f89b1b29eac27b"><td class="mdescLeft"> </td><td class="mdescRight">Verify cookie, see <code>mbedtls_ssl_cookie_write_t</code>. <a href="#ac83489027c04984e12f89b1b29eac27b">More...</a><br /></td></tr> <tr class="separator:ac83489027c04984e12f89b1b29eac27b"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>DTLS cookie callbacks implementation. </p> <p class="definition">Definition in file <a class="el" href="ssl__cookie_8h_source.html">ssl_cookie.h</a>.</p> </div><h2 class="groupheader">Macro Definition Documentation</h2> <a id="ae8066a424d7e37be9243c96dac2fc18a"></a> <h2 class="memtitle"><span class="permalink"><a href="#ae8066a424d7e37be9243c96dac2fc18a">◆ </a></span>MBEDTLS_SSL_COOKIE_TIMEOUT</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MBEDTLS_SSL_COOKIE_TIMEOUT   60</td> </tr> </table> </div><div class="memdoc"> <p>Default expiration delay of DTLS cookies, in seconds if HAVE_TIME, or in number of cookies issued </p> <p class="definition">Definition at line <a class="el" href="ssl__cookie_8h_source.html#l00041">41</a> of file <a class="el" href="ssl__cookie_8h_source.html">ssl_cookie.h</a>.</p> </div> </div> <h2 class="groupheader">Function Documentation</h2> <a id="a77d57052186940783e056f5ca95bda03"></a> <h2 class="memtitle"><span class="permalink"><a href="#a77d57052186940783e056f5ca95bda03">◆ </a></span>mbedtls_ssl_cookie_free()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void mbedtls_ssl_cookie_free </td> <td>(</td> <td class="paramtype"><a class="el" href="structmbedtls__ssl__cookie__ctx.html">mbedtls_ssl_cookie_ctx</a> * </td> <td class="paramname"><em>ctx</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Free cookie context. </p> </div> </div> <a id="affed42a7313e08576aad621f25d5c4f3"></a> <h2 class="memtitle"><span class="permalink"><a href="#affed42a7313e08576aad621f25d5c4f3">◆ </a></span>mbedtls_ssl_cookie_init()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void mbedtls_ssl_cookie_init </td> <td>(</td> <td class="paramtype"><a class="el" href="structmbedtls__ssl__cookie__ctx.html">mbedtls_ssl_cookie_ctx</a> * </td> <td class="paramname"><em>ctx</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Initialize cookie context. </p> </div> </div> <a id="a5ae5d375a80fbe6f6f1b219c1b1dc8bb"></a> <h2 class="memtitle"><span class="permalink"><a href="#a5ae5d375a80fbe6f6f1b219c1b1dc8bb">◆ </a></span>mbedtls_ssl_cookie_set_timeout()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void mbedtls_ssl_cookie_set_timeout </td> <td>(</td> <td class="paramtype"><a class="el" href="structmbedtls__ssl__cookie__ctx.html">mbedtls_ssl_cookie_ctx</a> * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned long </td> <td class="paramname"><em>delay</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Set expiration delay for cookies (Default MBEDTLS_SSL_COOKIE_TIMEOUT) </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">ctx</td><td>Cookie contex </td></tr> <tr><td class="paramname">delay</td><td>Delay, in seconds if HAVE_TIME, or in number of cookies issued in the meantime. 0 to disable expiration (NOT recommended) </td></tr> </table> </dd> </dl> </div> </div> <a id="ac81843a6bd31b31765639b65329d6b69"></a> <h2 class="memtitle"><span class="permalink"><a href="#ac81843a6bd31b31765639b65329d6b69">◆ </a></span>mbedtls_ssl_cookie_setup()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int mbedtls_ssl_cookie_setup </td> <td>(</td> <td class="paramtype"><a class="el" href="structmbedtls__ssl__cookie__ctx.html">mbedtls_ssl_cookie_ctx</a> * </td> <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int(*)(void *, unsigned char *, size_t) </td> <td class="paramname"><em>f_rng</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>p_rng</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Setup cookie context (generate keys) </p> </div> </div> <h2 class="groupheader">Variable Documentation</h2> <a id="ac83489027c04984e12f89b1b29eac27b"></a> <h2 class="memtitle"><span class="permalink"><a href="#ac83489027c04984e12f89b1b29eac27b">◆ </a></span>mbedtls_ssl_cookie_check</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="ssl_8h.html#a9cfda5aee70d6c2c19a8dfb5af900d80">mbedtls_ssl_cookie_check_t</a> mbedtls_ssl_cookie_check</td> </tr> </table> </div><div class="memdoc"> <p>Verify cookie, see <code>mbedtls_ssl_cookie_write_t</code>. </p> <p class="definition">Definition at line <a class="el" href="ssl__cookie_8h_source.html#l00103">103</a> of file <a class="el" href="ssl__cookie_8h_source.html">ssl_cookie.h</a>.</p> </div> </div> <a id="a132e60f12cd3465264d283042cabe6d2"></a> <h2 class="memtitle"><span class="permalink"><a href="#a132e60f12cd3465264d283042cabe6d2">◆ </a></span>mbedtls_ssl_cookie_write</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="ssl_8h.html#a536f8b89936f26732150b00639a47ff0">mbedtls_ssl_cookie_write_t</a> mbedtls_ssl_cookie_write</td> </tr> </table> </div><div class="memdoc"> <p>Generate cookie, see <code>mbedtls_ssl_cookie_write_t</code>. </p> <p class="definition">Definition at line <a class="el" href="ssl__cookie_8h_source.html#l00098">98</a> of file <a class="el" href="ssl__cookie_8h_source.html">ssl_cookie.h</a>.</p> </div> </div> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Tue Jan 1 2019 18:27:18 for mbed TLS v2.7.8 by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.13 </small></address> </body> </html>