956 lines
64 KiB
HTML
956 lines
64 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
|
|
<title>Subversion: Authentication functions</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.6 -->
|
|
<div class="navigation" id="top">
|
|
<div class="tabs">
|
|
<ul>
|
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
|
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
|
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
|
<li><a href="files.html"><span>Files</span></a></li>
|
|
<li>
|
|
<form action="search.php" method="get">
|
|
<table cellspacing="0" cellpadding="0" border="0">
|
|
<tr>
|
|
<td><label> <u>S</u>earch for </label></td>
|
|
<td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
|
|
</tr>
|
|
</table>
|
|
</form>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<div class="contents">
|
|
<h1>Authentication functions</h1>Overview of the svn authentication system.
|
|
<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
|
|
<tr><td></td></tr>
|
|
<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structsvn__auth__provider__t.html">svn_auth_provider_t</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">The main authentication "provider" vtable. <a href="structsvn__auth__provider__t.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structsvn__auth__provider__object__t.html">svn_auth_provider_object_t</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">A provider object, ready to be put into an array and given to <a class="el" href="group__auth__fns.html#g1655da31ec67dd89d074ffa6a4ebf14b" title="Initialize an authentication system.">svn_auth_open()</a>. <a href="structsvn__auth__provider__object__t.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structsvn__auth__cred__simple__t.html">svn_auth_cred_simple_t</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight"><code>SVN_AUTH_CRED_SIMPLE</code> credentials. <a href="structsvn__auth__cred__simple__t.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structsvn__auth__cred__username__t.html">svn_auth_cred_username_t</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight"><code>SVN_AUTH_CRED_USERNAME</code> credentials. <a href="structsvn__auth__cred__username__t.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structsvn__auth__cred__ssl__client__cert__t.html">svn_auth_cred_ssl_client_cert_t</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight"><code>SVN_AUTH_CRED_SSL_CLIENT_CERT</code> credentials. <a href="structsvn__auth__cred__ssl__client__cert__t.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structsvn__auth__cred__ssl__client__cert__pw__t.html">svn_auth_cred_ssl_client_cert_pw_t</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight"><code>SVN_AUTH_CRED_SSL_CLIENT_CERT_PW</code> credentials. <a href="structsvn__auth__cred__ssl__client__cert__pw__t.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structsvn__auth__ssl__server__cert__info__t.html">svn_auth_ssl_server_cert_info_t</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">SSL server certificate information used by <code>SVN_AUTH_CRED_SSL_SERVER_TRUST</code> providers. <a href="structsvn__auth__ssl__server__cert__info__t.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structsvn__auth__cred__ssl__server__trust__t.html">svn_auth_cred_ssl_server_trust_t</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight"><code>SVN_AUTH_CRED_SSL_SERVER_TRUST</code> credentials. <a href="structsvn__auth__cred__ssl__server__trust__t.html#_details">More...</a><br></td></tr>
|
|
<tr><td colspan="2"><br><h2>SSL server certificate failure bits</h2></td></tr>
|
|
<tr><td colspan="2"><dl class="note" compact><dt><b>Note:</b></dt><dd>These values are stored in the on disk auth cache by the SSL server certificate auth provider, so the meaning of these bits must not be changed. </dd></dl>
|
|
<br><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__auth__fns.html#g241ceaea2fee42793d5ec05e80f460dd">SVN_AUTH_SSL_NOTYETVALID</a> 0x00000001</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Certificate is not yet valid. <a href="#g241ceaea2fee42793d5ec05e80f460dd"></a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__auth__fns.html#gae0127e8e012387291902cb0cf44c150">SVN_AUTH_SSL_EXPIRED</a> 0x00000002</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Certificate has expired. <a href="#gae0127e8e012387291902cb0cf44c150"></a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__auth__fns.html#g9c57755aef85ef30017e78b26d9c1b27">SVN_AUTH_SSL_CNMISMATCH</a> 0x00000004</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Certificate's CN (hostname) does not match the remote hostname. <a href="#g9c57755aef85ef30017e78b26d9c1b27"></a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__auth__fns.html#g9672897802eba02cd5d2418f57120742">SVN_AUTH_SSL_UNKNOWNCA</a> 0x00000008</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Certificate authority is unknown (i.e. <a href="#g9672897802eba02cd5d2418f57120742"></a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__auth__fns.html#gae23f698dc7c9dd280f46c3fb3267dc2">SVN_AUTH_SSL_OTHER</a> 0x40000000</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Other failure. <a href="#gae23f698dc7c9dd280f46c3fb3267dc2"></a><br></td></tr>
|
|
<tr><td colspan="2"><br><h2>Default credentials defines</h2></td></tr>
|
|
<tr><td colspan="2">Any 'default' credentials that came in through the application itself, (e.g.<p>
|
|
--username and --password options). Property values are const char *. <br><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g1479a16508589f534d1216471da6bde6"></a><!-- doxytag: member="auth_fns::SVN_AUTH_PARAM_DEFAULT_USERNAME" ref="g1479a16508589f534d1216471da6bde6" args="" -->
|
|
#define </td><td class="memItemRight" valign="bottom"><b>SVN_AUTH_PARAM_DEFAULT_USERNAME</b> SVN_AUTH_PARAM_PREFIX "username"</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gfbff53d2e2a6ce8044a1885ada2b3175"></a><!-- doxytag: member="auth_fns::SVN_AUTH_PARAM_DEFAULT_PASSWORD" ref="gfbff53d2e2a6ce8044a1885ada2b3175" args="" -->
|
|
#define </td><td class="memItemRight" valign="bottom"><b>SVN_AUTH_PARAM_DEFAULT_PASSWORD</b> SVN_AUTH_PARAM_PREFIX "password"</td></tr>
|
|
|
|
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__auth__fns.html#g32d8f21dd9e0e36dca43bd5961d95ec1">SVN_AUTH_CRED_SIMPLE</a> "svn.simple"</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Specific types of credentials. <a href="#g32d8f21dd9e0e36dca43bd5961d95ec1"></a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__auth__fns.html#g12378bbc34a66b2acc68e9cad5e8354e">SVN_AUTH_CRED_USERNAME</a> "svn.username"</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Username credential kind. <a href="#g12378bbc34a66b2acc68e9cad5e8354e"></a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__auth__fns.html#gbf9f622d1575beede8fe83ae220865cc">SVN_AUTH_CRED_SSL_CLIENT_CERT</a> "svn.ssl.client-cert"</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">SSL client certificate credential type. <a href="#gbf9f622d1575beede8fe83ae220865cc"></a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__auth__fns.html#g6b0c78d76560ac103bb431026d2c80ba">SVN_AUTH_CRED_SSL_CLIENT_CERT_PW</a> "svn.ssl.client-passphrase"</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">SSL client certificate passphrase credential type. <a href="#g6b0c78d76560ac103bb431026d2c80ba"></a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__auth__fns.html#g86bda1cf1af50c7ac5d65cda286686e2">SVN_AUTH_CRED_SSL_SERVER_TRUST</a> "svn.ssl.server"</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">SSL server verification credential type. <a href="#g86bda1cf1af50c7ac5d65cda286686e2"></a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__auth__fns.html#g6d89f869ad547640121d4dd48beb1d1b">SVN_AUTH_PARAM_PREFIX</a> "svn:auth:"</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Universal run-time parameters, made available to all providers. <a href="#g6d89f869ad547640121d4dd48beb1d1b"></a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__auth__fns.html#gc66c329d52a1a0ad4c65a0c8fd0f8324">SVN_AUTH_PARAM_NON_INTERACTIVE</a> SVN_AUTH_PARAM_PREFIX "non-interactive"</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">The application doesn't want any providers to prompt users. <a href="#gc66c329d52a1a0ad4c65a0c8fd0f8324"></a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__auth__fns.html#gc88743299a96916291545a7ab08f62b1">SVN_AUTH_PARAM_DONT_STORE_PASSWORDS</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">The application doesn't want any providers to save passwords to disk. <a href="#gc88743299a96916291545a7ab08f62b1"></a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__auth__fns.html#g96ffebffb3f20cc37f15f96ee08fa789">SVN_AUTH_PARAM_NO_AUTH_CACHE</a> SVN_AUTH_PARAM_PREFIX "no-auth-cache"</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">The application doesn't want any providers to save credentials to disk. <a href="#g96ffebffb3f20cc37f15f96ee08fa789"></a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__auth__fns.html#gaaaecf652e2ec7f5c947e22e69eb938c">SVN_AUTH_PARAM_SSL_SERVER_FAILURES</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">The following property is for SSL server cert providers. <a href="#gaaaecf652e2ec7f5c947e22e69eb938c"></a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__auth__fns.html#g95fc50b793dbb019a9026f783ddcf05b">SVN_AUTH_PARAM_SSL_SERVER_CERT_INFO</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">The following property is for SSL server cert providers. <a href="#g95fc50b793dbb019a9026f783ddcf05b"></a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__auth__fns.html#g1c41c986707991899ab975ec63538491">SVN_AUTH_PARAM_CONFIG</a> SVN_AUTH_PARAM_PREFIX "config"</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Some providers need access to the <code>svn_config_t</code> configuration. <a href="#g1c41c986707991899ab975ec63538491"></a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__auth__fns.html#g1c4d18b6b88ea56cb450be5e0c8745a1">SVN_AUTH_PARAM_SERVER_GROUP</a> SVN_AUTH_PARAM_PREFIX "server-group"</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">The current server group. <a href="#g1c4d18b6b88ea56cb450be5e0c8745a1"></a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__auth__fns.html#g58e759823cfe5c9d5fb7d6fc1e20446e">SVN_AUTH_PARAM_CONFIG_DIR</a> SVN_AUTH_PARAM_PREFIX "config-dir"</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">A configuration directory that overrides the default ~/.subversion. <a href="#g58e759823cfe5c9d5fb7d6fc1e20446e"></a><br></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="ga77a422f326606f52366fb2fb0a43f8d"></a><!-- doxytag: member="auth_fns::svn_auth_baton_t" ref="ga77a422f326606f52366fb2fb0a43f8d" args="" -->
|
|
typedef struct <a class="el" href="group__auth__fns.html#ga77a422f326606f52366fb2fb0a43f8d">svn_auth_baton_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__auth__fns.html#ga77a422f326606f52366fb2fb0a43f8d">svn_auth_baton_t</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">The type of a Subversion authentication object. <br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g1ac4eb8d42d56257c6ba607f976b2979"></a><!-- doxytag: member="auth_fns::svn_auth_iterstate_t" ref="g1ac4eb8d42d56257c6ba607f976b2979" args="" -->
|
|
typedef struct <a class="el" href="group__auth__fns.html#g1ac4eb8d42d56257c6ba607f976b2979">svn_auth_iterstate_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__auth__fns.html#g1ac4eb8d42d56257c6ba607f976b2979">svn_auth_iterstate_t</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">The type of a Subversion authentication-iteration object. <br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structsvn__error__t.html">svn_error_t</a> *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group__auth__fns.html#gb3e889e27559677e7e1a13a9142a381d">svn_auth_simple_prompt_func_t</a> )(<a class="el" href="structsvn__auth__cred__simple__t.html">svn_auth_cred_simple_t</a> **cred, void *baton, const char *realm, const char *username, <a class="el" href="svn__types_8h.html#22b35baddc4213c688d1bb12feea1024">svn_boolean_t</a> may_save, apr_pool_t *pool)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Credential-constructing prompt functions. <a href="#gb3e889e27559677e7e1a13a9142a381d"></a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structsvn__error__t.html">svn_error_t</a> *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group__auth__fns.html#gf05167cb101739421c2e9542e27d5a88">svn_auth_username_prompt_func_t</a> )(<a class="el" href="structsvn__auth__cred__username__t.html">svn_auth_cred_username_t</a> **cred, void *baton, const char *realm, <a class="el" href="svn__types_8h.html#22b35baddc4213c688d1bb12feea1024">svn_boolean_t</a> may_save, apr_pool_t *pool)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Set <em>*cred</em> by prompting the user, allocating <em>*cred</em> in <em>pool</em>. <a href="#gf05167cb101739421c2e9542e27d5a88"></a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structsvn__error__t.html">svn_error_t</a> *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group__auth__fns.html#gc5805f633a96271f97b919297e9908a3">svn_auth_ssl_server_trust_prompt_func_t</a> )(<a class="el" href="structsvn__auth__cred__ssl__server__trust__t.html">svn_auth_cred_ssl_server_trust_t</a> **cred, void *baton, const char *realm, apr_uint32_t failures, const <a class="el" href="structsvn__auth__ssl__server__cert__info__t.html">svn_auth_ssl_server_cert_info_t</a> *cert_info, <a class="el" href="svn__types_8h.html#22b35baddc4213c688d1bb12feea1024">svn_boolean_t</a> may_save, apr_pool_t *pool)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Set <em>*cred</em> by prompting the user, allocating <em>*cred</em> in <em>pool</em>. <a href="#gc5805f633a96271f97b919297e9908a3"></a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structsvn__error__t.html">svn_error_t</a> *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group__auth__fns.html#g5afb52c44e95354a2ec52f6fe030c5d2">svn_auth_ssl_client_cert_prompt_func_t</a> )(<a class="el" href="structsvn__auth__cred__ssl__client__cert__t.html">svn_auth_cred_ssl_client_cert_t</a> **cred, void *baton, const char *realm, <a class="el" href="svn__types_8h.html#22b35baddc4213c688d1bb12feea1024">svn_boolean_t</a> may_save, apr_pool_t *pool)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Set <em>*cred</em> by prompting the user, allocating <em>*cred</em> in <em>pool</em>. <a href="#g5afb52c44e95354a2ec52f6fe030c5d2"></a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structsvn__error__t.html">svn_error_t</a> *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group__auth__fns.html#gfeb529b5bafaed2e3f423e4186d60f06">svn_auth_ssl_client_cert_pw_prompt_func_t</a> )(<a class="el" href="structsvn__auth__cred__ssl__client__cert__pw__t.html">svn_auth_cred_ssl_client_cert_pw_t</a> **cred, void *baton, const char *realm, <a class="el" href="svn__types_8h.html#22b35baddc4213c688d1bb12feea1024">svn_boolean_t</a> may_save, apr_pool_t *pool)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Set <em>*cred</em> by prompting the user, allocating <em>*cred</em> in <em>pool</em>. <a href="#gfeb529b5bafaed2e3f423e4186d60f06"></a><br></td></tr>
|
|
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structsvn__auth__ssl__server__cert__info__t.html">svn_auth_ssl_server_cert_info_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__auth__fns.html#ge9bbd41b063adf3212e6bc2d10079089">svn_auth_ssl_server_cert_info_dup</a> (const <a class="el" href="structsvn__auth__ssl__server__cert__info__t.html">svn_auth_ssl_server_cert_info_t</a> *info, apr_pool_t *pool)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Return a deep copy of <em>info</em>, allocated in <em>pool</em>. <a href="#ge9bbd41b063adf3212e6bc2d10079089"></a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__auth__fns.html#g1655da31ec67dd89d074ffa6a4ebf14b">svn_auth_open</a> (<a class="el" href="group__auth__fns.html#ga77a422f326606f52366fb2fb0a43f8d">svn_auth_baton_t</a> **auth_baton, apr_array_header_t *providers, apr_pool_t *pool)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Initialize an authentication system. <a href="#g1655da31ec67dd89d074ffa6a4ebf14b"></a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__auth__fns.html#g44ffb6371ee22a42e8755b56394ca688">svn_auth_set_parameter</a> (<a class="el" href="group__auth__fns.html#ga77a422f326606f52366fb2fb0a43f8d">svn_auth_baton_t</a> *auth_baton, const char *name, const void *value)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Set an authentication run-time parameter. <a href="#g44ffb6371ee22a42e8755b56394ca688"></a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">const void * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__auth__fns.html#g45fd5c7dd123c9c1d7d3733fb4b3f3fa">svn_auth_get_parameter</a> (<a class="el" href="group__auth__fns.html#ga77a422f326606f52366fb2fb0a43f8d">svn_auth_baton_t</a> *auth_baton, const char *name)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Get an authentication run-time parameter. <a href="#g45fd5c7dd123c9c1d7d3733fb4b3f3fa"></a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structsvn__error__t.html">svn_error_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__auth__fns.html#ge830b04d8a93c8b60f802d6809425665">svn_auth_first_credentials</a> (void **credentials, <a class="el" href="group__auth__fns.html#g1ac4eb8d42d56257c6ba607f976b2979">svn_auth_iterstate_t</a> **state, const char *cred_kind, const char *realmstring, <a class="el" href="group__auth__fns.html#ga77a422f326606f52366fb2fb0a43f8d">svn_auth_baton_t</a> *auth_baton, apr_pool_t *pool)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Get an initial set of credentials. <a href="#ge830b04d8a93c8b60f802d6809425665"></a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structsvn__error__t.html">svn_error_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__auth__fns.html#gb18c2431ea55881ef52b647815600cd3">svn_auth_next_credentials</a> (void **credentials, <a class="el" href="group__auth__fns.html#g1ac4eb8d42d56257c6ba607f976b2979">svn_auth_iterstate_t</a> *state, apr_pool_t *pool)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Get another set of credentials, assuming previous ones failed to authenticate. <a href="#gb18c2431ea55881ef52b647815600cd3"></a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structsvn__error__t.html">svn_error_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__auth__fns.html#ge4a43aa4ab0d4a9baf603bf7f96ec919">svn_auth_save_credentials</a> (<a class="el" href="group__auth__fns.html#g1ac4eb8d42d56257c6ba607f976b2979">svn_auth_iterstate_t</a> *state, apr_pool_t *pool)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Save a set of credentials. <a href="#ge4a43aa4ab0d4a9baf603bf7f96ec919"></a><br></td></tr>
|
|
</table>
|
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
|
Overview of the svn authentication system.
|
|
<p>
|
|
We define an authentication "provider" as a module that is able to return a specific set of credentials. (e.g. username/password, certificate, etc.) Each provider implements a vtable that<p>
|
|
<ul>
|
|
<li>can fetch initial credentials</li><li>can retry the fetch (or try to fetch something different)</li><li>can store the credentials for future use</li></ul>
|
|
<p>
|
|
For any given type of credentials, there can exist any number of separate providers -- each provider has a different method of fetching. (i.e. from a disk store, by prompting the user, etc.)<p>
|
|
The application begins by creating an auth baton object, and "registers" some number of providers with the auth baton, in a specific order. (For example, it may first register a username/password provider that looks in disk store, then register a username/password provider that prompts the user.)<p>
|
|
Later on, when any svn library is challenged, it asks the auth baton for the specific credentials. If the initial credentials fail to authenticate, the caller keeps requesting new credentials. Under the hood, libsvn_auth effectively "walks" over each provider (in order of registry), one at a time, until all the providers have exhausted all their retry options.<p>
|
|
This system allows an application to flexibly define authentication behaviors (by changing registration order), and very easily write new authentication providers.<p>
|
|
An auth_baton also contains an internal hashtable of run-time parameters; any provider or library layer can set these run-time parameters at any time, so that the provider has access to the data. (For example, certain run-time data may not be available until an authentication challenge is made.) Each credential type must document the run-time parameters that are made available to its providers. <hr><h2>Define Documentation</h2>
|
|
<a class="anchor" name="g32d8f21dd9e0e36dca43bd5961d95ec1"></a><!-- doxytag: member="svn_auth.h::SVN_AUTH_CRED_SIMPLE" ref="g32d8f21dd9e0e36dca43bd5961d95ec1" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define SVN_AUTH_CRED_SIMPLE "svn.simple" </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
Specific types of credentials.
|
|
<p>
|
|
Simple username/password pair credential kind.<p>
|
|
The following auth parameters may be available to the providers:<p>
|
|
<ul>
|
|
<li><code>SVN_AUTH_PARAM_NO_AUTH_CACHE</code> (<code>void*</code>)</li><li><code>SVN_AUTH_PARAM_DEFAULT_USERNAME</code> (<code>char*</code>)</li><li><code>SVN_AUTH_PARAM_DEFAULT_PASSWORD</code> (<code>char*</code>) </li></ul>
|
|
|
|
<p>Definition at line <a class="el" href="svn__auth_8h-source.html#l00168">168</a> of file <a class="el" href="svn__auth_8h-source.html">svn_auth.h</a>.</p>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="gbf9f622d1575beede8fe83ae220865cc"></a><!-- doxytag: member="svn_auth.h::SVN_AUTH_CRED_SSL_CLIENT_CERT" ref="gbf9f622d1575beede8fe83ae220865cc" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define SVN_AUTH_CRED_SSL_CLIENT_CERT "svn.ssl.client-cert" </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
SSL client certificate credential type.
|
|
<p>
|
|
The following auth parameters are available to the providers:<p>
|
|
<ul>
|
|
<li><code>SVN_AUTH_PARAM_CONFIG</code> (<code>svn_config_t*</code>)</li><li><code>SVN_AUTH_PARAM_SERVER_GROUP</code> (<code>char*</code>)</li></ul>
|
|
<p>
|
|
The following optional auth parameters are relevant to the providers:<p>
|
|
<ul>
|
|
<li><code>SVN_AUTH_PARAM_NO_AUTH_CACHE</code> (<code>void*</code>) </li></ul>
|
|
|
|
<p>Definition at line <a class="el" href="svn__auth_8h-source.html#l00218">218</a> of file <a class="el" href="svn__auth_8h-source.html">svn_auth.h</a>.</p>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="g6b0c78d76560ac103bb431026d2c80ba"></a><!-- doxytag: member="svn_auth.h::SVN_AUTH_CRED_SSL_CLIENT_CERT_PW" ref="g6b0c78d76560ac103bb431026d2c80ba" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define SVN_AUTH_CRED_SSL_CLIENT_CERT_PW "svn.ssl.client-passphrase" </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
SSL client certificate passphrase credential type.
|
|
<p>
|
|
<dl class="note" compact><dt><b>Note:</b></dt><dd>The realmstring used with this credential type must be a name that makes it possible for the user to identify the certificate.</dd></dl>
|
|
The following auth parameters are available to the providers:<p>
|
|
<ul>
|
|
<li><code>SVN_AUTH_PARAM_CONFIG</code> (<code>svn_config_t*</code>)</li><li><code>SVN_AUTH_PARAM_SERVER_GROUP</code> (<code>char*</code>)</li></ul>
|
|
<p>
|
|
The following optional auth parameters are relevant to the providers:<p>
|
|
<ul>
|
|
<li><code>SVN_AUTH_PARAM_NO_AUTH_CACHE</code> (<code>void*</code>) </li></ul>
|
|
|
|
<p>Definition at line <a class="el" href="svn__auth_8h-source.html#l00247">247</a> of file <a class="el" href="svn__auth_8h-source.html">svn_auth.h</a>.</p>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="g86bda1cf1af50c7ac5d65cda286686e2"></a><!-- doxytag: member="svn_auth.h::SVN_AUTH_CRED_SSL_SERVER_TRUST" ref="g86bda1cf1af50c7ac5d65cda286686e2" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define SVN_AUTH_CRED_SSL_SERVER_TRUST "svn.ssl.server" </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
SSL server verification credential type.
|
|
<p>
|
|
The following auth parameters are available to the providers:<p>
|
|
<ul>
|
|
<li><code>SVN_AUTH_PARAM_CONFIG</code> (<code>svn_config_t*</code>)</li><li><code>SVN_AUTH_PARAM_SERVER_GROUP</code> (<code>char*</code>)</li><li><code>SVN_AUTH_PARAM_SSL_SERVER_FAILURES</code> (<code>apr_uint32_t*</code>)</li><li><code>SVN_AUTH_PARAM_SSL_SERVER_CERT_INFO</code> (<code>svn_auth_ssl_server_cert_info_t*</code>)</li></ul>
|
|
<p>
|
|
The following optional auth parameters are relevant to the providers:<p>
|
|
<ul>
|
|
<li><code>SVN_AUTH_PARAM_NO_AUTH_CACHE</code> (<code>void*</code>) </li></ul>
|
|
|
|
<p>Definition at line <a class="el" href="svn__auth_8h-source.html#l00276">276</a> of file <a class="el" href="svn__auth_8h-source.html">svn_auth.h</a>.</p>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="g12378bbc34a66b2acc68e9cad5e8354e"></a><!-- doxytag: member="svn_auth.h::SVN_AUTH_CRED_USERNAME" ref="g12378bbc34a66b2acc68e9cad5e8354e" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define SVN_AUTH_CRED_USERNAME "svn.username" </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
Username credential kind.
|
|
<p>
|
|
The following optional auth parameters are relevant to the providers:<p>
|
|
<ul>
|
|
<li><code>SVN_AUTH_PARAM_NO_AUTH_CACHE</code> (<code>void*</code>)</li><li><code>SVN_AUTH_PARAM_DEFAULT_USERNAME</code> (<code>char*</code>) </li></ul>
|
|
|
|
<p>Definition at line <a class="el" href="svn__auth_8h-source.html#l00192">192</a> of file <a class="el" href="svn__auth_8h-source.html">svn_auth.h</a>.</p>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="g1c41c986707991899ab975ec63538491"></a><!-- doxytag: member="svn_auth.h::SVN_AUTH_PARAM_CONFIG" ref="g1c41c986707991899ab975ec63538491" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define SVN_AUTH_PARAM_CONFIG SVN_AUTH_PARAM_PREFIX "config" </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
Some providers need access to the <code>svn_config_t</code> configuration.
|
|
<p>
|
|
|
|
<p>Definition at line <a class="el" href="svn__auth_8h-source.html#l00544">544</a> of file <a class="el" href="svn__auth_8h-source.html">svn_auth.h</a>.</p>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="g58e759823cfe5c9d5fb7d6fc1e20446e"></a><!-- doxytag: member="svn_auth.h::SVN_AUTH_PARAM_CONFIG_DIR" ref="g58e759823cfe5c9d5fb7d6fc1e20446e" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define SVN_AUTH_PARAM_CONFIG_DIR SVN_AUTH_PARAM_PREFIX "config-dir" </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
A configuration directory that overrides the default ~/.subversion.
|
|
<p>
|
|
|
|
<p>Definition at line <a class="el" href="svn__auth_8h-source.html#l00551">551</a> of file <a class="el" href="svn__auth_8h-source.html">svn_auth.h</a>.</p>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="gc88743299a96916291545a7ab08f62b1"></a><!-- doxytag: member="svn_auth.h::SVN_AUTH_PARAM_DONT_STORE_PASSWORDS" ref="gc88743299a96916291545a7ab08f62b1" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define SVN_AUTH_PARAM_DONT_STORE_PASSWORDS </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
<b>Value:</b><div class="fragment"><pre class="fragment"><a class="code" href="group__auth__fns.html#g6d89f869ad547640121d4dd48beb1d1b" title="Universal run-time parameters, made available to all providers.">SVN_AUTH_PARAM_PREFIX</a> \
|
|
<span class="stringliteral">"dont-store-passwords"</span>
|
|
</pre></div>The application doesn't want any providers to save passwords to disk.
|
|
<p>
|
|
Property value is irrelevant; only property's existence matters.
|
|
<p>Definition at line <a class="el" href="svn__auth_8h-source.html#l00524">524</a> of file <a class="el" href="svn__auth_8h-source.html">svn_auth.h</a>.</p>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="g96ffebffb3f20cc37f15f96ee08fa789"></a><!-- doxytag: member="svn_auth.h::SVN_AUTH_PARAM_NO_AUTH_CACHE" ref="g96ffebffb3f20cc37f15f96ee08fa789" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define SVN_AUTH_PARAM_NO_AUTH_CACHE SVN_AUTH_PARAM_PREFIX "no-auth-cache" </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
The application doesn't want any providers to save credentials to disk.
|
|
<p>
|
|
Property value is irrelevant; only property's existence matters.
|
|
<p>Definition at line <a class="el" href="svn__auth_8h-source.html#l00530">530</a> of file <a class="el" href="svn__auth_8h-source.html">svn_auth.h</a>.</p>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="gc66c329d52a1a0ad4c65a0c8fd0f8324"></a><!-- doxytag: member="svn_auth.h::SVN_AUTH_PARAM_NON_INTERACTIVE" ref="gc66c329d52a1a0ad4c65a0c8fd0f8324" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define SVN_AUTH_PARAM_NON_INTERACTIVE SVN_AUTH_PARAM_PREFIX "non-interactive" </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
The application doesn't want any providers to prompt users.
|
|
<p>
|
|
Property value is irrelevant; only property's existence matters.
|
|
<p>Definition at line <a class="el" href="svn__auth_8h-source.html#l00519">519</a> of file <a class="el" href="svn__auth_8h-source.html">svn_auth.h</a>.</p>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="g6d89f869ad547640121d4dd48beb1d1b"></a><!-- doxytag: member="svn_auth.h::SVN_AUTH_PARAM_PREFIX" ref="g6d89f869ad547640121d4dd48beb1d1b" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define SVN_AUTH_PARAM_PREFIX "svn:auth:" </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
Universal run-time parameters, made available to all providers.
|
|
<p>
|
|
If you are writing a new provider, then to be a "good citizen", you should notice these global parameters! Note that these run-time params should be treated as read-only by providers; the application is responsible for placing them into the auth_baton hash. The auth-hash prefix indicating that the parameter is global.
|
|
<p>Definition at line <a class="el" href="svn__auth_8h-source.html#l00504">504</a> of file <a class="el" href="svn__auth_8h-source.html">svn_auth.h</a>.</p>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="g1c4d18b6b88ea56cb450be5e0c8745a1"></a><!-- doxytag: member="svn_auth.h::SVN_AUTH_PARAM_SERVER_GROUP" ref="g1c4d18b6b88ea56cb450be5e0c8745a1" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define SVN_AUTH_PARAM_SERVER_GROUP SVN_AUTH_PARAM_PREFIX "server-group" </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
The current server group.
|
|
<p>
|
|
|
|
<p>Definition at line <a class="el" href="svn__auth_8h-source.html#l00547">547</a> of file <a class="el" href="svn__auth_8h-source.html">svn_auth.h</a>.</p>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="g95fc50b793dbb019a9026f783ddcf05b"></a><!-- doxytag: member="svn_auth.h::SVN_AUTH_PARAM_SSL_SERVER_CERT_INFO" ref="g95fc50b793dbb019a9026f783ddcf05b" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define SVN_AUTH_PARAM_SSL_SERVER_CERT_INFO </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
<b>Value:</b><div class="fragment"><pre class="fragment"><a class="code" href="group__auth__fns.html#g6d89f869ad547640121d4dd48beb1d1b" title="Universal run-time parameters, made available to all providers.">SVN_AUTH_PARAM_PREFIX</a> \
|
|
<span class="stringliteral">"ssl:cert-info"</span>
|
|
</pre></div>The following property is for SSL server cert providers.
|
|
<p>
|
|
This provides the cert info (<a class="el" href="structsvn__auth__ssl__server__cert__info__t.html" title="SSL server certificate information used by SVN_AUTH_CRED_SSL_SERVER_TRUST providers...">svn_auth_ssl_server_cert_info_t</a>).
|
|
<p>Definition at line <a class="el" href="svn__auth_8h-source.html#l00540">540</a> of file <a class="el" href="svn__auth_8h-source.html">svn_auth.h</a>.</p>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="gaaaecf652e2ec7f5c947e22e69eb938c"></a><!-- doxytag: member="svn_auth.h::SVN_AUTH_PARAM_SSL_SERVER_FAILURES" ref="gaaaecf652e2ec7f5c947e22e69eb938c" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define SVN_AUTH_PARAM_SSL_SERVER_FAILURES </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
<b>Value:</b><div class="fragment"><pre class="fragment"><a class="code" href="group__auth__fns.html#g6d89f869ad547640121d4dd48beb1d1b" title="Universal run-time parameters, made available to all providers.">SVN_AUTH_PARAM_PREFIX</a> \
|
|
<span class="stringliteral">"ssl:failures"</span>
|
|
</pre></div>The following property is for SSL server cert providers.
|
|
<p>
|
|
This provides a pointer to an <code>apr_uint32_t</code> containing the failures detected by the certificate validator.
|
|
<p>Definition at line <a class="el" href="svn__auth_8h-source.html#l00535">535</a> of file <a class="el" href="svn__auth_8h-source.html">svn_auth.h</a>.</p>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="g9c57755aef85ef30017e78b26d9c1b27"></a><!-- doxytag: member="svn_auth.h::SVN_AUTH_SSL_CNMISMATCH" ref="g9c57755aef85ef30017e78b26d9c1b27" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define SVN_AUTH_SSL_CNMISMATCH 0x00000004 </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
Certificate's CN (hostname) does not match the remote hostname.
|
|
<p>
|
|
|
|
<p>Definition at line <a class="el" href="svn__auth_8h-source.html#l00392">392</a> of file <a class="el" href="svn__auth_8h-source.html">svn_auth.h</a>.</p>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="gae0127e8e012387291902cb0cf44c150"></a><!-- doxytag: member="svn_auth.h::SVN_AUTH_SSL_EXPIRED" ref="gae0127e8e012387291902cb0cf44c150" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define SVN_AUTH_SSL_EXPIRED 0x00000002 </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
Certificate has expired.
|
|
<p>
|
|
|
|
<p>Definition at line <a class="el" href="svn__auth_8h-source.html#l00390">390</a> of file <a class="el" href="svn__auth_8h-source.html">svn_auth.h</a>.</p>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="g241ceaea2fee42793d5ec05e80f460dd"></a><!-- doxytag: member="svn_auth.h::SVN_AUTH_SSL_NOTYETVALID" ref="g241ceaea2fee42793d5ec05e80f460dd" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define SVN_AUTH_SSL_NOTYETVALID 0x00000001 </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
Certificate is not yet valid.
|
|
<p>
|
|
|
|
<p>Definition at line <a class="el" href="svn__auth_8h-source.html#l00388">388</a> of file <a class="el" href="svn__auth_8h-source.html">svn_auth.h</a>.</p>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="gae23f698dc7c9dd280f46c3fb3267dc2"></a><!-- doxytag: member="svn_auth.h::SVN_AUTH_SSL_OTHER" ref="gae23f698dc7c9dd280f46c3fb3267dc2" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define SVN_AUTH_SSL_OTHER 0x40000000 </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
Other failure.
|
|
<p>
|
|
This can happen if neon has introduced a new failure bit that we do not handle yet.
|
|
<p>Definition at line <a class="el" href="svn__auth_8h-source.html#l00397">397</a> of file <a class="el" href="svn__auth_8h-source.html">svn_auth.h</a>.</p>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="g9672897802eba02cd5d2418f57120742"></a><!-- doxytag: member="svn_auth.h::SVN_AUTH_SSL_UNKNOWNCA" ref="g9672897802eba02cd5d2418f57120742" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define SVN_AUTH_SSL_UNKNOWNCA 0x00000008 </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
Certificate authority is unknown (i.e.
|
|
<p>
|
|
not trusted)
|
|
<p>Definition at line <a class="el" href="svn__auth_8h-source.html#l00394">394</a> of file <a class="el" href="svn__auth_8h-source.html">svn_auth.h</a>.</p>
|
|
|
|
</div>
|
|
</div><p>
|
|
<hr><h2>Typedef Documentation</h2>
|
|
<a class="anchor" name="gb3e889e27559677e7e1a13a9142a381d"></a><!-- doxytag: member="svn_auth.h::svn_auth_simple_prompt_func_t" ref="gb3e889e27559677e7e1a13a9142a381d" args=")(svn_auth_cred_simple_t **cred, void *baton, const char *realm, const char *username, svn_boolean_t may_save, apr_pool_t *pool)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">typedef <a class="el" href="structsvn__error__t.html">svn_error_t</a>*(* <a class="el" href="group__auth__fns.html#gb3e889e27559677e7e1a13a9142a381d">svn_auth_simple_prompt_func_t</a>)(<a class="el" href="structsvn__auth__cred__simple__t.html">svn_auth_cred_simple_t</a> **cred, void *baton, const char *realm, const char *username, <a class="el" href="svn__types_8h.html#22b35baddc4213c688d1bb12feea1024">svn_boolean_t</a> may_save, apr_pool_t *pool) </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
Credential-constructing prompt functions.
|
|
<p>
|
|
These exist so that different client applications can use different prompt mechanisms to supply the same credentials. For example, if authentication requires a username and password, a command-line client's prompting function might prompt first for the username and then for the password, whereas a GUI client's would present a single dialog box asking for both, and a telepathic client's would read all the information directly from the user's mind. All these prompting functions return the same type of credential, but the information used to construct the credential is gathered in an interface-specific way in each case. Set <em>*cred</em> by prompting the user, allocating <em>*cred</em> in <em>pool</em>. <em>baton</em> is an implementation-specific closure.<p>
|
|
If <em>realm</em> is non-NULL, maybe use it in the prompt string.<p>
|
|
If <em>username</em> is non-NULL, then the user might be prompted only for a password, but <em>*cred</em> would still be filled with both username and password. For example, a typical usage would be to pass <em>username</em> on the first call, but then leave it NULL for subsequent calls, on the theory that if credentials failed, it's as likely to be due to incorrect username as incorrect password.<p>
|
|
If <em>may_save</em> is FALSE, the auth system does not allow the credentials to be saved (to disk). A prompt function shall not ask the user if the credentials shall be saved if <em>may_save</em> is FALSE. For example, a GUI client with a remember password checkbox would grey out the checkbox if <em>may_save</em> is FALSE.
|
|
<p>Definition at line <a class="el" href="svn__auth_8h-source.html#l00353">353</a> of file <a class="el" href="svn__auth_8h-source.html">svn_auth.h</a>.</p>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="g5afb52c44e95354a2ec52f6fe030c5d2"></a><!-- doxytag: member="svn_auth.h::svn_auth_ssl_client_cert_prompt_func_t" ref="g5afb52c44e95354a2ec52f6fe030c5d2" args=")(svn_auth_cred_ssl_client_cert_t **cred, void *baton, const char *realm, svn_boolean_t may_save, apr_pool_t *pool)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">typedef <a class="el" href="structsvn__error__t.html">svn_error_t</a>*(* <a class="el" href="group__auth__fns.html#g5afb52c44e95354a2ec52f6fe030c5d2">svn_auth_ssl_client_cert_prompt_func_t</a>)(<a class="el" href="structsvn__auth__cred__ssl__client__cert__t.html">svn_auth_cred_ssl_client_cert_t</a> **cred, void *baton, const char *realm, <a class="el" href="svn__types_8h.html#22b35baddc4213c688d1bb12feea1024">svn_boolean_t</a> may_save, apr_pool_t *pool) </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
Set <em>*cred</em> by prompting the user, allocating <em>*cred</em> in <em>pool</em>.
|
|
<p>
|
|
<em>baton</em> is an implementation-specific closure. <em>realm</em> is a string that can be used in the prompt string.<p>
|
|
If <em>may_save</em> is FALSE, the auth system does not allow the credentials to be saved (to disk). A prompt function shall not ask the user if the credentials shall be saved if <em>may_save</em> is FALSE. For example, a GUI client with a remember certificate checkbox would grey out the checkbox if <em>may_save</em> is FALSE.
|
|
<p>Definition at line <a class="el" href="svn__auth_8h-source.html#l00436">436</a> of file <a class="el" href="svn__auth_8h-source.html">svn_auth.h</a>.</p>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="gfeb529b5bafaed2e3f423e4186d60f06"></a><!-- doxytag: member="svn_auth.h::svn_auth_ssl_client_cert_pw_prompt_func_t" ref="gfeb529b5bafaed2e3f423e4186d60f06" args=")(svn_auth_cred_ssl_client_cert_pw_t **cred, void *baton, const char *realm, svn_boolean_t may_save, apr_pool_t *pool)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">typedef <a class="el" href="structsvn__error__t.html">svn_error_t</a>*(* <a class="el" href="group__auth__fns.html#gfeb529b5bafaed2e3f423e4186d60f06">svn_auth_ssl_client_cert_pw_prompt_func_t</a>)(<a class="el" href="structsvn__auth__cred__ssl__client__cert__pw__t.html">svn_auth_cred_ssl_client_cert_pw_t</a> **cred, void *baton, const char *realm, <a class="el" href="svn__types_8h.html#22b35baddc4213c688d1bb12feea1024">svn_boolean_t</a> may_save, apr_pool_t *pool) </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
Set <em>*cred</em> by prompting the user, allocating <em>*cred</em> in <em>pool</em>.
|
|
<p>
|
|
<em>baton</em> is an implementation-specific closure. <em>realm</em> is a string identifying the certificate, and can be used in the prompt string.<p>
|
|
If <em>may_save</em> is FALSE, the auth system does not allow the credentials to be saved (to disk). A prompt function shall not ask the user if the credentials shall be saved if <em>may_save</em> is FALSE. For example, a GUI client with a remember password checkbox would grey out the checkbox if <em>may_save</em> is FALSE.
|
|
<p>Definition at line <a class="el" href="svn__auth_8h-source.html#l00454">454</a> of file <a class="el" href="svn__auth_8h-source.html">svn_auth.h</a>.</p>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="gc5805f633a96271f97b919297e9908a3"></a><!-- doxytag: member="svn_auth.h::svn_auth_ssl_server_trust_prompt_func_t" ref="gc5805f633a96271f97b919297e9908a3" args=")(svn_auth_cred_ssl_server_trust_t **cred, void *baton, const char *realm, apr_uint32_t failures, const svn_auth_ssl_server_cert_info_t *cert_info, svn_boolean_t may_save, apr_pool_t *pool)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">typedef <a class="el" href="structsvn__error__t.html">svn_error_t</a>*(* <a class="el" href="group__auth__fns.html#gc5805f633a96271f97b919297e9908a3">svn_auth_ssl_server_trust_prompt_func_t</a>)(<a class="el" href="structsvn__auth__cred__ssl__server__trust__t.html">svn_auth_cred_ssl_server_trust_t</a> **cred, void *baton, const char *realm, apr_uint32_t failures, const <a class="el" href="structsvn__auth__ssl__server__cert__info__t.html">svn_auth_ssl_server_cert_info_t</a> *cert_info, <a class="el" href="svn__types_8h.html#22b35baddc4213c688d1bb12feea1024">svn_boolean_t</a> may_save, apr_pool_t *pool) </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
Set <em>*cred</em> by prompting the user, allocating <em>*cred</em> in <em>pool</em>.
|
|
<p>
|
|
<em>baton</em> is an implementation-specific closure.<p>
|
|
<em>cert_info</em> is a structure describing the server cert that was presented to the client, and <em>failures</em> is a bitmask that describes exactly why the cert could not be automatically validated, composed from the constants SVN_AUTH_SSL_* (<code>SVN_AUTH_SSL_NOTYETVALID</code> etc.). <em>realm</em> is a string that can be used in the prompt string.<p>
|
|
If <em>may_save</em> is FALSE, the auth system does not allow the credentials to be saved (to disk). A prompt function shall not ask the user if the credentials shall be saved if <em>may_save</em> is FALSE. For example, a GUI client with a trust permanently checkbox would grey out the checkbox if <em>may_save</em> is FALSE.
|
|
<p>Definition at line <a class="el" href="svn__auth_8h-source.html#l00416">416</a> of file <a class="el" href="svn__auth_8h-source.html">svn_auth.h</a>.</p>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="gf05167cb101739421c2e9542e27d5a88"></a><!-- doxytag: member="svn_auth.h::svn_auth_username_prompt_func_t" ref="gf05167cb101739421c2e9542e27d5a88" args=")(svn_auth_cred_username_t **cred, void *baton, const char *realm, svn_boolean_t may_save, apr_pool_t *pool)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">typedef <a class="el" href="structsvn__error__t.html">svn_error_t</a>*(* <a class="el" href="group__auth__fns.html#gf05167cb101739421c2e9542e27d5a88">svn_auth_username_prompt_func_t</a>)(<a class="el" href="structsvn__auth__cred__username__t.html">svn_auth_cred_username_t</a> **cred, void *baton, const char *realm, <a class="el" href="svn__types_8h.html#22b35baddc4213c688d1bb12feea1024">svn_boolean_t</a> may_save, apr_pool_t *pool) </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
Set <em>*cred</em> by prompting the user, allocating <em>*cred</em> in <em>pool</em>.
|
|
<p>
|
|
<em>baton</em> is an implementation-specific closure.<p>
|
|
If <em>realm</em> is non-NULL, maybe use it in the prompt string.<p>
|
|
If <em>may_save</em> is FALSE, the auth system does not allow the credentials to be saved (to disk). A prompt function shall not ask the user if the credentials shall be saved if <em>may_save</em> is FALSE. For example, a GUI client with a remember username checkbox would grey out the checkbox if <em>may_save</em> is FALSE.
|
|
<p>Definition at line <a class="el" href="svn__auth_8h-source.html#l00373">373</a> of file <a class="el" href="svn__auth_8h-source.html">svn_auth.h</a>.</p>
|
|
|
|
</div>
|
|
</div><p>
|
|
<hr><h2>Function Documentation</h2>
|
|
<a class="anchor" name="ge830b04d8a93c8b60f802d6809425665"></a><!-- doxytag: member="svn_auth.h::svn_auth_first_credentials" ref="ge830b04d8a93c8b60f802d6809425665" args="(void **credentials, svn_auth_iterstate_t **state, const char *cred_kind, const char *realmstring, svn_auth_baton_t *auth_baton, apr_pool_t *pool)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="structsvn__error__t.html">svn_error_t</a>* svn_auth_first_credentials </td>
|
|
<td>(</td>
|
|
<td class="paramtype">void ** </td>
|
|
<td class="paramname"> <em>credentials</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="group__auth__fns.html#g1ac4eb8d42d56257c6ba607f976b2979">svn_auth_iterstate_t</a> ** </td>
|
|
<td class="paramname"> <em>state</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const char * </td>
|
|
<td class="paramname"> <em>cred_kind</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const char * </td>
|
|
<td class="paramname"> <em>realmstring</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="group__auth__fns.html#ga77a422f326606f52366fb2fb0a43f8d">svn_auth_baton_t</a> * </td>
|
|
<td class="paramname"> <em>auth_baton</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">apr_pool_t * </td>
|
|
<td class="paramname"> <em>pool</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
Get an initial set of credentials.
|
|
<p>
|
|
Ask <em>auth_baton</em> to set <em>*credentials</em> to a set of credentials defined by <em>cred_kind</em> and valid within <em>realmstring</em>, or NULL if no credentials are available. Otherwise, return an iteration state in <em>*state</em>, so that the caller can call <a class="el" href="group__auth__fns.html#gb18c2431ea55881ef52b647815600cd3" title="Get another set of credentials, assuming previous ones failed to authenticate.">svn_auth_next_credentials()</a>, in case the first set of credentials fails to authenticate.<p>
|
|
Use <em>pool</em> to allocate <em>*state</em>, and for temporary allocation. Note that <em>*credentials</em> will be allocated in <em>auth_baton's</em> pool.
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="g45fd5c7dd123c9c1d7d3733fb4b3f3fa"></a><!-- doxytag: member="svn_auth.h::svn_auth_get_parameter" ref="g45fd5c7dd123c9c1d7d3733fb4b3f3fa" args="(svn_auth_baton_t *auth_baton, const char *name)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const void* svn_auth_get_parameter </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__auth__fns.html#ga77a422f326606f52366fb2fb0a43f8d">svn_auth_baton_t</a> * </td>
|
|
<td class="paramname"> <em>auth_baton</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const char * </td>
|
|
<td class="paramname"> <em>name</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
Get an authentication run-time parameter.
|
|
<p>
|
|
Return a value for run-time parameter <em>name</em> from <em>auth_baton</em>. Return NULL if the parameter doesn't exist.
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="gb18c2431ea55881ef52b647815600cd3"></a><!-- doxytag: member="svn_auth.h::svn_auth_next_credentials" ref="gb18c2431ea55881ef52b647815600cd3" args="(void **credentials, svn_auth_iterstate_t *state, apr_pool_t *pool)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="structsvn__error__t.html">svn_error_t</a>* svn_auth_next_credentials </td>
|
|
<td>(</td>
|
|
<td class="paramtype">void ** </td>
|
|
<td class="paramname"> <em>credentials</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="group__auth__fns.html#g1ac4eb8d42d56257c6ba607f976b2979">svn_auth_iterstate_t</a> * </td>
|
|
<td class="paramname"> <em>state</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">apr_pool_t * </td>
|
|
<td class="paramname"> <em>pool</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
Get another set of credentials, assuming previous ones failed to authenticate.
|
|
<p>
|
|
Use <em>state</em> to fetch a different set of <em>*credentials</em>, as a follow-up to <a class="el" href="group__auth__fns.html#ge830b04d8a93c8b60f802d6809425665" title="Get an initial set of credentials.">svn_auth_first_credentials()</a> or <a class="el" href="group__auth__fns.html#gb18c2431ea55881ef52b647815600cd3" title="Get another set of credentials, assuming previous ones failed to authenticate.">svn_auth_next_credentials()</a>. If no more credentials are available, set <em>*credentials</em> to NULL.<p>
|
|
Note that <em>*credentials</em> will be allocated in <code>auth_baton's</code> pool.
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="g1655da31ec67dd89d074ffa6a4ebf14b"></a><!-- doxytag: member="svn_auth.h::svn_auth_open" ref="g1655da31ec67dd89d074ffa6a4ebf14b" args="(svn_auth_baton_t **auth_baton, apr_array_header_t *providers, apr_pool_t *pool)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void svn_auth_open </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__auth__fns.html#ga77a422f326606f52366fb2fb0a43f8d">svn_auth_baton_t</a> ** </td>
|
|
<td class="paramname"> <em>auth_baton</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">apr_array_header_t * </td>
|
|
<td class="paramname"> <em>providers</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">apr_pool_t * </td>
|
|
<td class="paramname"> <em>pool</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
Initialize an authentication system.
|
|
<p>
|
|
Return an authentication object in <em>*auth_baton</em> (allocated in <em>pool</em>) that represents a particular instance of the svn authentication system. <em>providers</em> is an array of <code><a class="el" href="structsvn__auth__provider__object__t.html" title="A provider object, ready to be put into an array and given to svn_auth_open().">svn_auth_provider_object_t</a></code> pointers, already allocated in <em>pool</em> and intentionally ordered. These pointers will be stored within <em>*auth_baton</em>, grouped by credential type, and searched in this exact order.
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="ge4a43aa4ab0d4a9baf603bf7f96ec919"></a><!-- doxytag: member="svn_auth.h::svn_auth_save_credentials" ref="ge4a43aa4ab0d4a9baf603bf7f96ec919" args="(svn_auth_iterstate_t *state, apr_pool_t *pool)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="structsvn__error__t.html">svn_error_t</a>* svn_auth_save_credentials </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__auth__fns.html#g1ac4eb8d42d56257c6ba607f976b2979">svn_auth_iterstate_t</a> * </td>
|
|
<td class="paramname"> <em>state</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">apr_pool_t * </td>
|
|
<td class="paramname"> <em>pool</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
Save a set of credentials.
|
|
<p>
|
|
Ask <em>state</em> to store the most recently returned credentials, presumably because they successfully authenticated. Use <em>pool</em> for temporary allocation. If no credentials were ever returned, do nothing.
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="g44ffb6371ee22a42e8755b56394ca688"></a><!-- doxytag: member="svn_auth.h::svn_auth_set_parameter" ref="g44ffb6371ee22a42e8755b56394ca688" args="(svn_auth_baton_t *auth_baton, const char *name, const void *value)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void svn_auth_set_parameter </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__auth__fns.html#ga77a422f326606f52366fb2fb0a43f8d">svn_auth_baton_t</a> * </td>
|
|
<td class="paramname"> <em>auth_baton</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const char * </td>
|
|
<td class="paramname"> <em>name</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const void * </td>
|
|
<td class="paramname"> <em>value</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
Set an authentication run-time parameter.
|
|
<p>
|
|
Store <em>name</em> / <em>value</em> pair as a run-time parameter in <em>auth_baton</em>, making the data accessible to all providers. <em>name</em> and <em>value</em> will NOT be duplicated into the auth_baton's pool. To delete a run-time parameter, pass NULL for <em>value</em>.
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="ge9bbd41b063adf3212e6bc2d10079089"></a><!-- doxytag: member="svn_auth.h::svn_auth_ssl_server_cert_info_dup" ref="ge9bbd41b063adf3212e6bc2d10079089" args="(const svn_auth_ssl_server_cert_info_t *info, apr_pool_t *pool)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="structsvn__auth__ssl__server__cert__info__t.html">svn_auth_ssl_server_cert_info_t</a>* svn_auth_ssl_server_cert_info_dup </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="structsvn__auth__ssl__server__cert__info__t.html">svn_auth_ssl_server_cert_info_t</a> * </td>
|
|
<td class="paramname"> <em>info</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">apr_pool_t * </td>
|
|
<td class="paramname"> <em>pool</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
Return a deep copy of <em>info</em>, allocated in <em>pool</em>.
|
|
<p>
|
|
<dl class="since" compact><dt><b>Since:</b></dt><dd>New in 1.3. </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
</div>
|
|
<hr size="1"><address style="text-align: right;"><small>Generated on Fri Oct 24 16:18:29 2008 for Subversion by
|
|
<a href="http://www.doxygen.org/index.html">
|
|
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
|
|
</body>
|
|
</html>
|