Current File : //usr/share/doc/dbus/api/group__DBusAuthInternals.html
<!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"/>
<title>D-Bus: Authentication implementation details</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />



</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">D-Bus
   &#160;<span id="projectnumber">1.8.20</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.6.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Defines</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a>  </div>
  <div class="headertitle">
<div class="title">Authentication implementation details</div>  </div>
<div class="ingroups"><a class="el" href="group__DBusInternals.html">D-Bus secret internal implementation details</a></div></div><!--header-->
<div class="contents">

<p><a class="el" href="structDBusAuth.html" title="Internal members of DBusAuth.">DBusAuth</a> implementation details.  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDBusAuthMechanismHandler.html">DBusAuthMechanismHandler</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Virtual table representing a particular auth mechanism.  <a href="structDBusAuthMechanismHandler.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDBusAuthStateData.html">DBusAuthStateData</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Information about a auth state.  <a href="structDBusAuthStateData.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDBusAuth.html">DBusAuth</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal members of <a class="el" href="structDBusAuth.html" title="Internal members of DBusAuth.">DBusAuth</a>.  <a href="structDBusAuth.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDBusAuthClient.html">DBusAuthClient</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">"Subclass" of <a class="el" href="structDBusAuth.html" title="Internal members of DBusAuth.">DBusAuth</a> for client side  <a href="structDBusAuthClient.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDBusAuthServer.html">DBusAuthServer</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">"Subclass" of <a class="el" href="structDBusAuth.html" title="Internal members of DBusAuth.">DBusAuth</a> for server side.  <a href="structDBusAuthServer.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDBusAuthCommandName.html">DBusAuthCommandName</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Mapping from command name to enum.  <a href="structDBusAuthCommandName.html#details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusAuthInternals.html#ga4211a12320d0b32bb2fbf0b56d6752a1">DBUS_AUTH_IS_SERVER</a>(auth)&#160;&#160;&#160;((auth)-&gt;side == auth_side_server)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusAuthInternals.html#ga74120265335a7f6a84041541c19074c9">DBUS_AUTH_IS_CLIENT</a>(auth)&#160;&#160;&#160;((auth)-&gt;side == auth_side_client)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusAuthInternals.html#ga6c2966c96fefbc8b40106d6b5235c854">DBUS_AUTH_CLIENT</a>(auth)&#160;&#160;&#160;((<a class="el" href="structDBusAuthClient.html">DBusAuthClient</a>*)(auth))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusAuthInternals.html#ga3d476942b91b7b5825a914c2ae743717">DBUS_AUTH_SERVER</a>(auth)&#160;&#160;&#160;((<a class="el" href="structDBusAuthServer.html">DBusAuthServer</a>*)(auth))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusAuthInternals.html#ga533f0d915e592df54a97401b597441b8">DBUS_AUTH_NAME</a>(auth)&#160;&#160;&#160;((auth)-&gt;side)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The name of the auth ("client" or "server")  <a href="#ga533f0d915e592df54a97401b597441b8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusAuthInternals.html#gae379752f3a8ebb11e727e75d87a35554">N_CHALLENGE_BYTES</a>&#160;&#160;&#160;(128/8)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><a href="http://www.ietf.org/rfc/rfc2831.txt">http://www.ietf.org/rfc/rfc2831.txt</a> suggests at least 64 bits of entropy, we use 128.  <a href="#gae379752f3a8ebb11e727e75d87a35554"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga08e4d15c4946cb0a89c4a472679103ec"></a><!-- doxytag: member="DBusAuthInternals::DBusInitialResponseFunction" ref="ga08e4d15c4946cb0a89c4a472679103ec" args=")(DBusAuth *auth, DBusString *response)" -->
typedef <a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusAuthInternals.html#ga08e4d15c4946cb0a89c4a472679103ec">DBusInitialResponseFunction</a> )(<a class="el" href="structDBusAuth.html">DBusAuth</a> *auth, <a class="el" href="structDBusString.html">DBusString</a> *response)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This function appends an initial client response to the given string. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusAuthInternals.html#gac1c31ba2ab9dc696b68b1c23bd0a6e6d">DBusAuthDataFunction</a> )(<a class="el" href="structDBusAuth.html">DBusAuth</a> *auth, const <a class="el" href="structDBusString.html">DBusString</a> *data)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This function processes a block of data received from the peer.  <a href="#gac1c31ba2ab9dc696b68b1c23bd0a6e6d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad45cc5010eaba8388010b29e9fc1351d"></a><!-- doxytag: member="DBusAuthInternals::DBusAuthEncodeFunction" ref="gad45cc5010eaba8388010b29e9fc1351d" args=")(DBusAuth *auth, const DBusString *data, DBusString *encoded)" -->
typedef <a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusAuthInternals.html#gad45cc5010eaba8388010b29e9fc1351d">DBusAuthEncodeFunction</a> )(<a class="el" href="structDBusAuth.html">DBusAuth</a> *auth, const <a class="el" href="structDBusString.html">DBusString</a> *data, <a class="el" href="structDBusString.html">DBusString</a> *encoded)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This function encodes a block of data from the peer. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2aff28af19854c387ea8800f4b78a51a"></a><!-- doxytag: member="DBusAuthInternals::DBusAuthDecodeFunction" ref="ga2aff28af19854c387ea8800f4b78a51a" args=")(DBusAuth *auth, const DBusString *data, DBusString *decoded)" -->
typedef <a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusAuthInternals.html#ga2aff28af19854c387ea8800f4b78a51a">DBusAuthDecodeFunction</a> )(<a class="el" href="structDBusAuth.html">DBusAuth</a> *auth, const <a class="el" href="structDBusString.html">DBusString</a> *data, <a class="el" href="structDBusString.html">DBusString</a> *decoded)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This function decodes a block of data from the peer. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga025a64340f118c0bd291228c98baf0ed"></a><!-- doxytag: member="DBusAuthInternals::DBusAuthShutdownFunction" ref="ga025a64340f118c0bd291228c98baf0ed" args=")(DBusAuth *auth)" -->
typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusAuthInternals.html#ga025a64340f118c0bd291228c98baf0ed">DBusAuthShutdownFunction</a> )(<a class="el" href="structDBusAuth.html">DBusAuth</a> *auth)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is called when the mechanism is abandoned. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusAuthInternals.html#ga6dfbfa4f85db0ba63dbce208b27489ad">DBusAuthStateFunction</a> )(<a class="el" href="structDBusAuth.html">DBusAuth</a> *auth, <a class="el" href="group__DBusAuthInternals.html#gabb6518f15bcdde0584166353ba8dca3b">DBusAuthCommand</a> command, const <a class="el" href="structDBusString.html">DBusString</a> *args)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Auth state function, determines the reaction to incoming events for a particular state.  <a href="#ga6dfbfa4f85db0ba63dbce208b27489ad"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusAuthInternals.html#gabb6518f15bcdde0584166353ba8dca3b">DBusAuthCommand</a> { <br/>
&#160;&#160;<b>DBUS_AUTH_COMMAND_AUTH</b>, 
<b>DBUS_AUTH_COMMAND_CANCEL</b>, 
<b>DBUS_AUTH_COMMAND_DATA</b>, 
<b>DBUS_AUTH_COMMAND_BEGIN</b>, 
<br/>
&#160;&#160;<b>DBUS_AUTH_COMMAND_REJECTED</b>, 
<b>DBUS_AUTH_COMMAND_OK</b>, 
<b>DBUS_AUTH_COMMAND_ERROR</b>, 
<b>DBUS_AUTH_COMMAND_UNKNOWN</b>, 
<br/>
&#160;&#160;<b>DBUS_AUTH_COMMAND_NEGOTIATE_UNIX_FD</b>, 
<b>DBUS_AUTH_COMMAND_AGREE_UNIX_FD</b>
<br/>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration for the known authentication commands. <br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<p><a class="el" href="structDBusAuth.html" title="Internal members of DBusAuth.">DBusAuth</a> implementation details. </p>
<p>Private details of authentication code. </p>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="ga6c2966c96fefbc8b40106d6b5235c854"></a><!-- doxytag: member="dbus&#45;auth.c::DBUS_AUTH_CLIENT" ref="ga6c2966c96fefbc8b40106d6b5235c854" args="(auth)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="group__DBusAuthInternals.html#ga6c2966c96fefbc8b40106d6b5235c854">DBUS_AUTH_CLIENT</a></td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">auth</td><td>)</td>
          <td>&#160;&#160;&#160;((<a class="el" href="structDBusAuthClient.html">DBusAuthClient</a>*)(auth))</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">auth</td><td>the auth conversation </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>auth cast to <a class="el" href="structDBusAuthClient.html" title="&quot;Subclass&quot; of DBusAuth for client side">DBusAuthClient</a> </dd></dl>

<p>Definition at line <a class="el" href="dbus-auth_8c_source.html#l00323">323</a> of file <a class="el" href="dbus-auth_8c_source.html">dbus-auth.c</a>.</p>

<p>Referenced by <a class="el" href="dbus-auth_8c_source.html#l02293">_dbus_auth_client_new()</a>, <a class="el" href="dbus-auth_8c_source.html#l02755">_dbus_auth_get_guid_from_server()</a>, and <a class="el" href="dbus-auth_8c_source.html#l02346">_dbus_auth_unref()</a>.</p>

</div>
</div>
<a class="anchor" id="ga74120265335a7f6a84041541c19074c9"></a><!-- doxytag: member="dbus&#45;auth.c::DBUS_AUTH_IS_CLIENT" ref="ga74120265335a7f6a84041541c19074c9" args="(auth)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="group__DBusAuthInternals.html#ga74120265335a7f6a84041541c19074c9">DBUS_AUTH_IS_CLIENT</a></td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">auth</td><td>)</td>
          <td>&#160;&#160;&#160;((auth)-&gt;side == auth_side_client)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">auth</td><td>the auth conversation </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#gaa8cecfc5c5c054d2875c03e77b7be15d" title="Expands to &quot;1&quot;.">TRUE</a> if the conversation is the client side </dd></dl>

<p>Definition at line <a class="el" href="dbus-auth_8c_source.html#l00318">318</a> of file <a class="el" href="dbus-auth_8c_source.html">dbus-auth.c</a>.</p>

<p>Referenced by <a class="el" href="dbus-auth_8c_source.html#l02681">_dbus_auth_decode_data()</a>, <a class="el" href="dbus-auth_8c_source.html#l02618">_dbus_auth_encode_data()</a>, <a class="el" href="dbus-auth_8c_source.html#l02755">_dbus_auth_get_guid_from_server()</a>, <a class="el" href="dbus-auth_8c_source.html#l02650">_dbus_auth_needs_decoding()</a>, <a class="el" href="dbus-auth_8c_source.html#l02591">_dbus_auth_needs_encoding()</a>, and <a class="el" href="dbus-auth_8c_source.html#l02346">_dbus_auth_unref()</a>.</p>

</div>
</div>
<a class="anchor" id="ga4211a12320d0b32bb2fbf0b56d6752a1"></a><!-- doxytag: member="dbus&#45;auth.c::DBUS_AUTH_IS_SERVER" ref="ga4211a12320d0b32bb2fbf0b56d6752a1" args="(auth)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="group__DBusAuthInternals.html#ga4211a12320d0b32bb2fbf0b56d6752a1">DBUS_AUTH_IS_SERVER</a></td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">auth</td><td>)</td>
          <td>&#160;&#160;&#160;((auth)-&gt;side == auth_side_server)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">auth</td><td>the auth conversation </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#gaa8cecfc5c5c054d2875c03e77b7be15d" title="Expands to &quot;1&quot;.">TRUE</a> if the conversation is the server side </dd></dl>

<p>Definition at line <a class="el" href="dbus-auth_8c_source.html#l00313">313</a> of file <a class="el" href="dbus-auth_8c_source.html">dbus-auth.c</a>.</p>

<p>Referenced by <a class="el" href="dbus-auth_8c_source.html#l02346">_dbus_auth_unref()</a>.</p>

</div>
</div>
<a class="anchor" id="ga533f0d915e592df54a97401b597441b8"></a><!-- doxytag: member="dbus&#45;auth.c::DBUS_AUTH_NAME" ref="ga533f0d915e592df54a97401b597441b8" args="(auth)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="group__DBusAuthInternals.html#ga533f0d915e592df54a97401b597441b8">DBUS_AUTH_NAME</a></td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">auth</td><td>)</td>
          <td>&#160;&#160;&#160;((auth)-&gt;side)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The name of the auth ("client" or "server") </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">auth</td><td>the auth conversation </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a string </dd></dl>

<p>Definition at line <a class="el" href="dbus-auth_8c_source.html#l00335">335</a> of file <a class="el" href="dbus-auth_8c_source.html">dbus-auth.c</a>.</p>

<p>Referenced by <a class="el" href="dbus-auth_8c_source.html#l02500">_dbus_auth_bytes_sent()</a>, and <a class="el" href="dbus-auth_8c_source.html#l02431">_dbus_auth_do_work()</a>.</p>

</div>
</div>
<a class="anchor" id="ga3d476942b91b7b5825a914c2ae743717"></a><!-- doxytag: member="dbus&#45;auth.c::DBUS_AUTH_SERVER" ref="ga3d476942b91b7b5825a914c2ae743717" args="(auth)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="group__DBusAuthInternals.html#ga3d476942b91b7b5825a914c2ae743717">DBUS_AUTH_SERVER</a></td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">auth</td><td>)</td>
          <td>&#160;&#160;&#160;((<a class="el" href="structDBusAuthServer.html">DBusAuthServer</a>*)(auth))</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">auth</td><td>the auth conversation </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>auth cast to <a class="el" href="structDBusAuthServer.html" title="&quot;Subclass&quot; of DBusAuth for server side.">DBusAuthServer</a> </dd></dl>

<p>Definition at line <a class="el" href="dbus-auth_8c_source.html#l00328">328</a> of file <a class="el" href="dbus-auth_8c_source.html">dbus-auth.c</a>.</p>

<p>Referenced by <a class="el" href="dbus-auth_8c_source.html#l02247">_dbus_auth_server_new()</a>, and <a class="el" href="dbus-auth_8c_source.html#l02346">_dbus_auth_unref()</a>.</p>

</div>
</div>
<a class="anchor" id="gae379752f3a8ebb11e727e75d87a35554"></a><!-- doxytag: member="dbus&#45;auth.c::N_CHALLENGE_BYTES" ref="gae379752f3a8ebb11e727e75d87a35554" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="group__DBusAuthInternals.html#gae379752f3a8ebb11e727e75d87a35554">N_CHALLENGE_BYTES</a>&#160;&#160;&#160;(128/8)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p><a href="http://www.ietf.org/rfc/rfc2831.txt">http://www.ietf.org/rfc/rfc2831.txt</a> suggests at least 64 bits of entropy, we use 128. </p>
<p>This is the number of bytes in the random challenge. </p>

<p>Definition at line <a class="el" href="dbus-auth_8c_source.html#l00516">516</a> of file <a class="el" href="dbus-auth_8c_source.html">dbus-auth.c</a>.</p>

</div>
</div>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="gac1c31ba2ab9dc696b68b1c23bd0a6e6d"></a><!-- doxytag: member="dbus&#45;auth.c::DBusAuthDataFunction" ref="gac1c31ba2ab9dc696b68b1c23bd0a6e6d" args=")(DBusAuth *auth, const DBusString *data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>(*  <a class="el" href="group__DBusAuthInternals.html#gac1c31ba2ab9dc696b68b1c23bd0a6e6d">DBusAuthDataFunction</a>)(<a class="el" href="structDBusAuth.html">DBusAuth</a> *auth, const <a class="el" href="structDBusString.html">DBusString</a> *data)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>This function processes a block of data received from the peer. </p>
<p>i.e. handles a DATA command. </p>

<p>Definition at line <a class="el" href="dbus-auth_8c_source.html#l00077">77</a> of file <a class="el" href="dbus-auth_8c_source.html">dbus-auth.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga6dfbfa4f85db0ba63dbce208b27489ad"></a><!-- doxytag: member="dbus&#45;auth.c::DBusAuthStateFunction" ref="ga6dfbfa4f85db0ba63dbce208b27489ad" args=")(DBusAuth *auth, DBusAuthCommand command, const DBusString *args)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>(*  <a class="el" href="group__DBusAuthInternals.html#ga6dfbfa4f85db0ba63dbce208b27489ad">DBusAuthStateFunction</a>)(<a class="el" href="structDBusAuth.html">DBusAuth</a> *auth, <a class="el" href="group__DBusAuthInternals.html#gabb6518f15bcdde0584166353ba8dca3b">DBusAuthCommand</a> command, const <a class="el" href="structDBusString.html">DBusString</a> *args)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Auth state function, determines the reaction to incoming events for a particular state. </p>
<p>Returns whether we had enough memory to complete the operation. </p>

<p>Definition at line <a class="el" href="dbus-auth_8c_source.html#l00137">137</a> of file <a class="el" href="dbus-auth_8c_source.html">dbus-auth.c</a>.</p>

</div>
</div>
</div><!-- contents -->


<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 3 2016 17:50:32 for D-Bus by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>

</body>
</html>