svn_auth.h File Reference

Subversion's authentication system. More...

#include <apr_pools.h>
#include "svn_types.h"

Go to the source code of this file.

Data Structures

struct  svn_auth_provider_t
 The main authentication "provider" vtable. More...
struct  svn_auth_provider_object_t
 A provider object, ready to be put into an array and given to svn_auth_open(). More...
struct  svn_auth_cred_simple_t
 SVN_AUTH_CRED_SIMPLE credentials. More...
struct  svn_auth_cred_username_t
 SVN_AUTH_CRED_USERNAME credentials. More...
struct  svn_auth_cred_ssl_client_cert_t
 SVN_AUTH_CRED_SSL_CLIENT_CERT credentials. More...
struct  svn_auth_cred_ssl_client_cert_pw_t
 SVN_AUTH_CRED_SSL_CLIENT_CERT_PW credentials. More...
struct  svn_auth_ssl_server_cert_info_t
 SSL server certificate information used by SVN_AUTH_CRED_SSL_SERVER_TRUST providers. More...
struct  svn_auth_cred_ssl_server_trust_t
 SVN_AUTH_CRED_SSL_SERVER_TRUST credentials. More...

SSL server certificate failure bits

Note:
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.


#define SVN_AUTH_SSL_NOTYETVALID   0x00000001
 Certificate is not yet valid.
#define SVN_AUTH_SSL_EXPIRED   0x00000002
 Certificate has expired.
#define SVN_AUTH_SSL_CNMISMATCH   0x00000004
 Certificate's CN (hostname) does not match the remote hostname.
#define SVN_AUTH_SSL_UNKNOWNCA   0x00000008
 Certificate authority is unknown (i.e.
#define SVN_AUTH_SSL_OTHER   0x40000000
 Other failure.

Default credentials defines

Any 'default' credentials that came in through the application itself, (e.g. --username and --password options). Property values are const char *.

#define SVN_AUTH_PARAM_DEFAULT_USERNAME   SVN_AUTH_PARAM_PREFIX "username"
#define SVN_AUTH_PARAM_DEFAULT_PASSWORD   SVN_AUTH_PARAM_PREFIX "password"

Defines

#define SVN_AUTH_CRED_SIMPLE   "svn.simple"
 Simple username/password pair credential kind.
#define SVN_AUTH_CRED_USERNAME   "svn.username"
 Username credential kind.
#define SVN_AUTH_CRED_SSL_CLIENT_CERT   "svn.ssl.client-cert"
 SSL client certificate credential type.
#define SVN_AUTH_CRED_SSL_CLIENT_CERT_PW   "svn.ssl.client-passphrase"
 SSL client certificate passphrase credential type.
#define SVN_AUTH_CRED_SSL_SERVER_TRUST   "svn.ssl.server"
 SSL server verification credential type.
#define SVN_AUTH_PARAM_PREFIX   "svn:auth:"
 The auth-hash prefix indicating that the parameter is global.
#define SVN_AUTH_PARAM_NON_INTERACTIVE   SVN_AUTH_PARAM_PREFIX "non-interactive"
 The application doesn't want any providers to prompt users.
#define SVN_AUTH_PARAM_DONT_STORE_PASSWORDS
 The application doesn't want any providers to save passwords to disk.
#define SVN_AUTH_PARAM_NO_AUTH_CACHE   SVN_AUTH_PARAM_PREFIX "no-auth-cache"
 The application doesn't want any providers to save credentials to disk.
#define SVN_AUTH_PARAM_SSL_SERVER_FAILURES
 The following property is for SSL server cert providers.
#define SVN_AUTH_PARAM_SSL_SERVER_CERT_INFO
 The following property is for SSL server cert providers.
#define SVN_AUTH_PARAM_CONFIG   SVN_AUTH_PARAM_PREFIX "config"
 Some providers need access to the svn_config_t configuration.
#define SVN_AUTH_PARAM_SERVER_GROUP   SVN_AUTH_PARAM_PREFIX "server-group"
 The current server group.
#define SVN_AUTH_PARAM_CONFIG_DIR   SVN_AUTH_PARAM_PREFIX "config-dir"
 A configuration directory that overrides the default ~/.subversion.

Typedefs

typedef svn_auth_baton_t svn_auth_baton_t
 The type of a Subversion authentication object.
typedef svn_auth_iterstate_t svn_auth_iterstate_t
 The type of a Subversion authentication-iteration object.
typedef svn_error_t *(*) svn_auth_simple_prompt_func_t (svn_auth_cred_simple_t **cred, void *baton, const char *realm, const char *username, svn_boolean_t may_save, apr_pool_t *pool)
 Set *cred by prompting the user, allocating *cred in pool.
typedef svn_error_t *(*) svn_auth_username_prompt_func_t (svn_auth_cred_username_t **cred, void *baton, const char *realm, svn_boolean_t may_save, apr_pool_t *pool)
 Set *cred by prompting the user, allocating *cred in pool.
typedef svn_error_t *(*) svn_auth_ssl_server_trust_prompt_func_t (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)
 Set *cred by prompting the user, allocating *cred in pool.
typedef svn_error_t *(*) svn_auth_ssl_client_cert_prompt_func_t (svn_auth_cred_ssl_client_cert_t **cred, void *baton, const char *realm, svn_boolean_t may_save, apr_pool_t *pool)
 Set *cred by prompting the user, allocating *cred in pool.
typedef svn_error_t *(*) svn_auth_ssl_client_cert_pw_prompt_func_t (svn_auth_cred_ssl_client_cert_pw_t **cred, void *baton, const char *realm, svn_boolean_t may_save, apr_pool_t *pool)
 Set *cred by prompting the user, allocating *cred in pool.

Functions

svn_auth_ssl_server_cert_info_tsvn_auth_ssl_server_cert_info_dup (const svn_auth_ssl_server_cert_info_t *info, apr_pool_t *pool)
 Return a deep copy of info, allocated in pool.
void svn_auth_open (svn_auth_baton_t **auth_baton, apr_array_header_t *providers, apr_pool_t *pool)
 Initialize an authentication system.
void svn_auth_set_parameter (svn_auth_baton_t *auth_baton, const char *name, const void *value)
 Set an authentication run-time parameter.
const void * svn_auth_get_parameter (svn_auth_baton_t *auth_baton, const char *name)
 Get an authentication run-time parameter.
svn_error_tsvn_auth_first_credentials (void **credentials, svn_auth_iterstate_t **state, const char *cred_kind, const char *realmstring, svn_auth_baton_t *auth_baton, apr_pool_t *pool)
 Get an initial set of credentials.
svn_error_tsvn_auth_next_credentials (void **credentials, svn_auth_iterstate_t *state, apr_pool_t *pool)
 Get another set of credentials, assuming previous ones failed to authenticate.
svn_error_tsvn_auth_save_credentials (svn_auth_iterstate_t *state, apr_pool_t *pool)
 Save a set of credentials.


Detailed Description

Subversion's authentication system.

Definition in file svn_auth.h.


Generated on Tue Dec 12 19:20:14 2006 for Subversion by  doxygen 1.4.7