<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Rampart/C: Authentication Provider</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.5 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>Authentication Provider</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>rampart_authn_provider_ops</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>rampart_authn_provider</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct <br>
rampart_authn_provider_ops&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__authn__provider.html#gd01a5e82d4fc7a30fdb1a6e86f96ad65">rampart_authn_provider_ops_t</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gc7def42c19062fbaed4b8620083804a3"></a><!-- doxytag: member="rampart_authn_provider::rampart_authn_provider_t" ref="gc7def42c19062fbaed4b8620083804a3" args="" -->
typedef struct <br>
rampart_authn_provider&nbsp;</td><td class="memItemRight" valign="bottom"><b>rampart_authn_provider_t</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g8df70658e444dd9a5ba3ce050481e2c6"></a><!-- doxytag: member="rampart_authn_provider::RAMPART_AUTHN_PROVIDER_FREE" ref="g8df70658e444dd9a5ba3ce050481e2c6" args="(authn_provider, env)" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>RAMPART_AUTHN_PROVIDER_FREE</b>(authn_provider, env)&nbsp;&nbsp;&nbsp;((authn_provider)-&gt;ops-&gt;free (authn_provider, env))</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>RAMPART_AUTHN_PROVIDER_CHECK_PASSWORD</b>(authn_provider, env, msg_ctx, username, password)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>RAMPART_AUTHN_PROVIDER_CHECK_PASSWORD_DIGEST</b>(authn_provider, env, msg_ctx, username, nonce, nonce_length, digest)</td></tr>

<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g6cd4b0a0eb28d93249b3ea26d871dace"></a><!-- doxytag: member="rampart_authn_provider::rampart_authn_provider_status_t" ref="g6cd4b0a0eb28d93249b3ea26d871dace" args="" -->
typedef enum <br>
rampart_authn_provider_status&nbsp;</td><td class="memItemRight" valign="bottom"><b>rampart_authn_provider_status_t</b></td></tr>

<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><b>rampart_authn_provider_status</b> { <br>
&nbsp;&nbsp;<b>RAMPART_AUTHN_PROVIDER_DENIED</b> =  0, 
<b>RAMPART_AUTHN_PROVIDER_GRANTED</b>, 
<b>RAMPART_AUTHN_PROVIDER_FOUND</b>, 
<b>RAMPART_AUTHN_PROVIDER_USER_FOUND</b>, 
<br>
&nbsp;&nbsp;<b>RAMPART_AUTHN_PROVIDER_USER_NOT_FOUND</b>, 
<b>RAMPART_AUTHN_PROVIDER_GENERAL_ERROR</b>
<br>
 }</td></tr>

<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">rampart_authn_provider_status_t(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__authn__provider.html#gf526c570ee9ccb00a86cfa994dd360ac">rampart_authn_provider_ops::rampart_authn_provider_check_password_digest</a> )(rampart_authn_provider_t *authn_provider, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx, const axis2_char_t *username, const axis2_char_t *nonce, const axis2_char_t *created, const char *digest)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">axis2_status_t(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__rampart__authn__provider.html#gbd5a137e34e020b31dced693c9a387bc">rampart_authn_provider_ops::free</a> )(rampart_authn_provider_t *authn_provider, const axutil_env_t *env)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g43eddea36c81fb2aef2b4ca26be9ef25"></a><!-- doxytag: member="rampart_authn_provider::param" ref="g43eddea36c81fb2aef2b4ca26be9ef25" args="" -->
axutil_param_t *&nbsp;</td><td class="memItemRight" valign="bottom"><b>rampart_authn_provider::param</b></td></tr>

</table>
<hr><h2>Define Documentation</h2>
<a class="anchor" name="gba9275906a55b9f5c575da79fbbf5998"></a><!-- doxytag: member="rampart_authn_provider.h::RAMPART_AUTHN_PROVIDER_CHECK_PASSWORD" ref="gba9275906a55b9f5c575da79fbbf5998" args="(authn_provider, env, msg_ctx, username, password)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define RAMPART_AUTHN_PROVIDER_CHECK_PASSWORD          </td>
          <td>(</td>
          <td class="paramtype">authn_provider,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">env,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">msg_ctx,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">username,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">password&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<b>Value:</b><div class="fragment"><pre class="fragment">((authn_provider)-&gt;ops-&gt;rampart_authn_provider_check_password( \
            authn_provider, env, msg_ctx, username, password))
</pre></div>
</div>
</div><p>
<a class="anchor" name="gb0e97f389cfca51f65cd8778a468bc55"></a><!-- doxytag: member="rampart_authn_provider.h::RAMPART_AUTHN_PROVIDER_CHECK_PASSWORD_DIGEST" ref="gb0e97f389cfca51f65cd8778a468bc55" args="(authn_provider, env, msg_ctx, username, nonce, nonce_length, digest)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define RAMPART_AUTHN_PROVIDER_CHECK_PASSWORD_DIGEST          </td>
          <td>(</td>
          <td class="paramtype">authn_provider,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">env,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">msg_ctx,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">username,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">nonce,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">nonce_length,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">digest&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<b>Value:</b><div class="fragment"><pre class="fragment">((authn_provider)-&gt;ops-&gt;rampart_authn_provider_check_password_digest( \
            authn_provider, env, msg_ctx, username, nonce, nonce_length, digest))
</pre></div>
</div>
</div><p>
<hr><h2>Typedef Documentation</h2>
<a class="anchor" name="gd01a5e82d4fc7a30fdb1a6e86f96ad65"></a><!-- doxytag: member="rampart_authn_provider.h::rampart_authn_provider_ops_t" ref="gd01a5e82d4fc7a30fdb1a6e86f96ad65" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct rampart_authn_provider_ops <a class="el" href="group__rampart__authn__provider.html#gd01a5e82d4fc7a30fdb1a6e86f96ad65">rampart_authn_provider_ops_t</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Struct to authenticate username/password pair 
</div>
</div><p>
<hr><h2>Variable Documentation</h2>
<a class="anchor" name="gbd5a137e34e020b31dced693c9a387bc"></a><!-- doxytag: member="rampart_authn_provider_ops::free" ref="gbd5a137e34e020b31dced693c9a387bc" args=")(rampart_authn_provider_t *authn_provider, const axutil_env_t *env)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">axis2_status_t( *  rampart_authn_provider_ops::free)(rampart_authn_provider_t *authn_provider, const axutil_env_t *env)<code> [inherited]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The free function to free all resources allocated <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>authn_provider</em>&nbsp;</td><td>the authentication provider struct </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>AXIS2_SUCCESS on success. AXIS2_FAILURE otherwise. </dd></dl>

</div>
</div><p>
<a class="anchor" name="gf526c570ee9ccb00a86cfa994dd360ac"></a><!-- doxytag: member="rampart_authn_provider_ops::rampart_authn_provider_check_password_digest" ref="gf526c570ee9ccb00a86cfa994dd360ac" args=")(rampart_authn_provider_t *authn_provider, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx, const axis2_char_t *username, const axis2_char_t *nonce, const axis2_char_t *created, const char *digest)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">rampart_authn_provider_status_t( *  rampart_authn_provider_ops::rampart_authn_provider_check_password_digest)(rampart_authn_provider_t *authn_provider, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx, const axis2_char_t *username, const axis2_char_t *nonce, const axis2_char_t *created, const char *digest)<code> [inherited]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check digested passwords. If the UseranmeToken is in password digest form this function will be called. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>authn_provider</em>&nbsp;</td><td>the authentication provider struct </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>pointer to environment struct </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>msg_ctx</em>&nbsp;</td><td>message context </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>username</em>&nbsp;</td><td>the username </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>nonce</em>&nbsp;</td><td>the nonce or the random value of the username token </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>created</em>&nbsp;</td><td>the created value of the username token </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>digest</em>&nbsp;</td><td>the digest value of the SHA-1(password+created+nonce) </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the status of the check </dd></dl>

</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Wed May 13 10:52:55 2009 for Rampart/C by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
</body>
</html>
