#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 | |
| |
#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_auth_provider_t | svn_auth_provider_t |
The main authentication "provider" vtable. | |
typedef svn_auth_provider_object_t | svn_auth_provider_object_t |
A provider object, ready to be put into an array and given to svn_auth_open(). | |
typedef svn_auth_cred_simple_t | svn_auth_cred_simple_t |
SVN_AUTH_CRED_SIMPLE credentials. | |
typedef svn_auth_cred_username_t | svn_auth_cred_username_t |
SVN_AUTH_CRED_USERNAME credentials. | |
typedef svn_auth_cred_ssl_client_cert_t | svn_auth_cred_ssl_client_cert_t |
SVN_AUTH_CRED_SSL_CLIENT_CERT credentials. | |
typedef svn_auth_cred_ssl_client_cert_pw_t | svn_auth_cred_ssl_client_cert_pw_t |
SVN_AUTH_CRED_SSL_CLIENT_CERT_PW credentials. | |
typedef svn_auth_ssl_server_cert_info_t | svn_auth_ssl_server_cert_info_t |
SSL server certificate information used by SVN_AUTH_CRED_SSL_SERVER_TRUST providers. | |
typedef svn_auth_cred_ssl_server_trust_t | svn_auth_cred_ssl_server_trust_t |
SVN_AUTH_CRED_SSL_SERVER_TRUST credentials. | |
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_t * | svn_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_t * | svn_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_t * | svn_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_t * | svn_auth_save_credentials (svn_auth_iterstate_t *state, apr_pool_t *pool) |
Save a set of credentials. |
Definition in file svn_auth.h.
|
Value: SVN_AUTH_PARAM_PREFIX \ "dont-store-passwords" Property value is irrelevant; only property's existence matters. Definition at line 523 of file svn_auth.h. |
|
The application doesn't want any providers to save credentials to disk. Property value is irrelevant; only property's existence matters. Definition at line 529 of file svn_auth.h. |
|
The application doesn't want any providers to prompt users. Property value is irrelevant; only property's existence matters. Definition at line 518 of file svn_auth.h. |
|
Value: SVN_AUTH_PARAM_PREFIX \ "ssl:cert-info" This provides the cert info (svn_auth_ssl_server_cert_info_t). Definition at line 539 of file svn_auth.h. |
|
Value: SVN_AUTH_PARAM_PREFIX \ "ssl:failures"
This provides a pointer to an Definition at line 534 of file svn_auth.h. |
|
Other failure. This can happen if neon has introduced a new failure bit that we do not handle yet. Definition at line 396 of file svn_auth.h. |
|
Certificate authority is unknown (i.e. not trusted) Definition at line 393 of file svn_auth.h. |
|
Set *cred by prompting the user, allocating *cred in pool. baton is an implementation-specific closure. realm is a string that can be used in the prompt string. If may_save 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 may_save is FALSE. For example, a GUI client with a remember certificate checkbox would grey out the checkbox if may_save is FALSE. Definition at line 434 of file svn_auth.h. |
|
Set *cred by prompting the user, allocating *cred in pool. baton is an implementation-specific closure. realm is a string identifying the certificate, and can be used in the prompt string. If may_save 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 may_save is FALSE. For example, a GUI client with a remember password checkbox would grey out the checkbox if may_save is FALSE. Definition at line 452 of file svn_auth.h. |
|
Set *cred by prompting the user, allocating *cred in pool. baton is an implementation-specific closure.
cert_info is a structure describing the server cert that was presented to the client, and failures is a bitmask that describes exactly why the cert could not be automatically validated, composed from the constants SVN_AUTH_SSL_* ( If may_save 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 may_save is FALSE. For example, a GUI client with a trust permanently checkbox would grey out the checkbox if may_save is FALSE. Definition at line 414 of file svn_auth.h. |
|
Get an initial set of credentials. Ask auth_baton to set *credentials to a set of credentials defined by cred_kind and valid within realmstring, or NULL if no credentials are available. Otherwise, return an iteration state in *state, so that the caller can call svn_auth_next_credentials(), in case the first set of credentials fails to authenticate. Use pool to allocate *state, and for temporary allocation. Note that *credentials will be allocated in auth_baton's pool. |
|
Get an authentication run-time parameter. Return a value for run-time parameter name from auth_baton. Return NULL if the parameter doesn't exist. |
|
Get another set of credentials, assuming previous ones failed to authenticate. Use state to fetch a different set of *credentials, as a follow-up to svn_auth_first_credentials() or svn_auth_next_credentials(). If no more credentials are available, set *credentials to NULL.
Note that *credentials will be allocated in |
|
Initialize an authentication system.
Return an authentication object in *auth_baton (allocated in pool) that represents a particular instance of the svn authentication system. providers is an array of |
|
Save a set of credentials. Ask state to store the most recently returned credentials, presumably because they successfully authenticated. Use pool for temporary allocation. If no credentials were ever returned, do nothing. |
|
Set an authentication run-time parameter. Store name / value pair as a run-time parameter in auth_baton, making the data accessible to all providers. name and value will be NOT be duplicated into the auth_baton's pool. To delete a run-time parameter, pass NULL for value. |