31 #include <apr_pools.h> 33 #include <apr_tables.h> 112 void *provider_baton,
113 apr_hash_t *parameters,
114 const char *realmstring,
130 void *provider_baton,
131 apr_hash_t *parameters,
132 const char *realmstring,
148 void *provider_baton,
149 apr_hash_t *parameters,
150 const char *realmstring,
160 const svn_auth_provider_t *vtable;
161 void *provider_baton;
186 #define SVN_AUTH_CRED_SIMPLE "svn.simple" 210 #define SVN_AUTH_CRED_USERNAME "svn.username" 236 #define SVN_AUTH_CRED_SSL_CLIENT_CERT "svn.ssl.client-cert" 271 #define SVN_AUTH_CRED_SSL_CLIENT_CERT_PW "svn.ssl.client-passphrase" 300 #define SVN_AUTH_CRED_SSL_SERVER_TRUST "svn.ssl.server" 380 const char *username,
412 #define SVN_AUTH_SSL_NOTYETVALID 0x00000001 414 #define SVN_AUTH_SSL_EXPIRED 0x00000002 416 #define SVN_AUTH_SSL_CNMISMATCH 0x00000004 418 #define SVN_AUTH_SSL_UNKNOWNCA 0x00000008 421 #define SVN_AUTH_SSL_OTHER 0x40000000 443 apr_uint32_t failures,
477 typedef svn_error_t *(*svn_auth_ssl_client_cert_pw_prompt_func_t)(
499 const char *realmstring,
516 typedef svn_error_t *(*svn_auth_plaintext_passphrase_prompt_func_t)(
518 const char *realmstring,
535 const apr_array_header_t *providers,
568 #define SVN_AUTH_PARAM_PREFIX "svn:auth:" 575 #define SVN_AUTH_PARAM_DEFAULT_USERNAME SVN_AUTH_PARAM_PREFIX "username" 577 #define SVN_AUTH_PARAM_DEFAULT_PASSWORD SVN_AUTH_PARAM_PREFIX "password" 583 #define SVN_AUTH_PARAM_NON_INTERACTIVE SVN_AUTH_PARAM_PREFIX "non-interactive" 588 #define SVN_AUTH_PARAM_DONT_STORE_PASSWORDS SVN_AUTH_PARAM_PREFIX \ 589 "dont-store-passwords" 596 #define SVN_AUTH_PARAM_STORE_PLAINTEXT_PASSWORDS SVN_AUTH_PARAM_PREFIX \ 597 "store-plaintext-passwords" 604 #define SVN_AUTH_PARAM_DONT_STORE_SSL_CLIENT_CERT_PP \ 605 SVN_AUTH_PARAM_PREFIX "dont-store-ssl-client-cert-pp" 612 #define SVN_AUTH_PARAM_STORE_SSL_CLIENT_CERT_PP_PLAINTEXT \ 613 SVN_AUTH_PARAM_PREFIX "store-ssl-client-cert-pp-plaintext" 618 #define SVN_AUTH_PARAM_NO_AUTH_CACHE SVN_AUTH_PARAM_PREFIX "no-auth-cache" 623 #define SVN_AUTH_PARAM_SSL_SERVER_FAILURES SVN_AUTH_PARAM_PREFIX \ 628 #define SVN_AUTH_PARAM_SSL_SERVER_CERT_INFO SVN_AUTH_PARAM_PREFIX \ 633 #define SVN_AUTH_PARAM_CONFIG_CATEGORY_CONFIG SVN_AUTH_PARAM_PREFIX \ 634 "config-category-config" 638 #define SVN_AUTH_PARAM_CONFIG_CATEGORY_SERVERS SVN_AUTH_PARAM_PREFIX \ 639 "config-category-servers" 642 #define SVN_AUTH_PARAM_CONFIG SVN_AUTH_PARAM_CONFIG_CATEGORY_SERVERS 645 #define SVN_AUTH_PARAM_SERVER_GROUP SVN_AUTH_PARAM_PREFIX "server-group" 649 #define SVN_AUTH_PARAM_CONFIG_DIR SVN_AUTH_PARAM_PREFIX "config-dir" 667 const char *realmstring,
717 const char *realmstring,
840 const char *provider_name,
841 const char *provider_type,
864 apr_array_header_t **providers,
868 #if (defined(WIN32) && !defined(__MINGW32__)) || defined(DOXYGEN) 946 #if defined(DARWIN) || defined(DOXYGEN) 1005 char **keyring_password,
1006 const char *keyring_name,
1017 #define SVN_AUTH_PARAM_GNOME_KEYRING_UNLOCK_PROMPT_FUNC "gnome-keyring-unlock-prompt-func" 1022 #define SVN_AUTH_PARAM_GNOME_KEYRING_UNLOCK_PROMPT_BATON "gnome-keyring-unlock-prompt-baton" 1024 #if (!defined(DARWIN) && !defined(WIN32)) || defined(DOXYGEN) 1150 #if !defined(WIN32) || defined(DOXYGEN) 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.
svn_boolean_t may_save
Indicates if the credentials may be saved (to disk).
const char * password
Password.
svn_error_t * svn_auth_get_platform_specific_client_providers(apr_array_header_t **providers, svn_config_t *config, apr_pool_t *pool)
Set *providers to an array of svn_auth_provider_object_t * objects.
void svn_auth_get_windows_ssl_client_cert_pw_provider(svn_auth_provider_object_t **provider, apr_pool_t *pool)
Set *provider to an authentication provider of type svn_auth_cred_ssl_client_cert_pw_t that gets/sets...
void svn_auth_get_gnome_keyring_ssl_client_cert_pw_provider(svn_auth_provider_object_t **provider, apr_pool_t *pool)
Set *provider to an authentication provider of type svn_auth_cred_ssl_client_cert_pw_t that gets/sets...
const char * valid_until
ASCII date until which the certificate is valid.
The main authentication "provider" vtable.
A provider object, ready to be put into an array and given to svn_auth_open().
SSL server certificate information used by SVN_AUTH_CRED_SSL_SERVER_TRUST providers.
void svn_auth_get_keychain_ssl_client_cert_pw_provider(svn_auth_provider_object_t **provider, apr_pool_t *pool)
Set *provider to an authentication provider of type svn_auth_cred_ssl_client_cert_pw_t that gets/sets...
void(* svn_auth_simple_provider_func_t)(svn_auth_provider_object_t **provider, apr_pool_t *pool)
The type of function returning authentication provider.
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.
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.
const char * cert_file
Absolute path to the certificate file.
void(* svn_auth_ssl_client_cert_pw_provider_func_t)(svn_auth_provider_object_t **provider, apr_pool_t *pool)
A function returning an SSL client certificate passphrase provider.
const char * cred_kind
The kind of credentials this provider knows how to retrieve.
svn_error_t *(* svn_auth_plaintext_passphrase_prompt_func_t)(svn_boolean_t *may_save_plaintext, const char *realmstring, void *baton, apr_pool_t *pool)
A type of callback function for asking whether storing a passphrase to disk in plaintext is allowed...
const char * password
Certificate password.
void svn_auth_get_username_provider(svn_auth_provider_object_t **provider, apr_pool_t *pool)
Set *provider to an authentication provider of type svn_auth_cred_username_t that gets/sets informati...
const svn_version_t * svn_auth_gnome_keyring_version(void)
Get libsvn_auth_gnome_keyring version information.
svn_boolean_t may_save
Indicates if the credentials may be saved (to disk).
void svn_auth_get_simple_prompt_provider(svn_auth_provider_object_t **provider, svn_auth_simple_prompt_func_t prompt_func, void *prompt_baton, int retry_limit, apr_pool_t *pool)
Set *provider to an authentication provider of type svn_auth_cred_simple_t that gets information by p...
SVN_AUTH_CRED_SSL_CLIENT_CERT credentials.
struct svn_auth_cred_ssl_client_cert_t svn_auth_cred_ssl_client_cert_t
SVN_AUTH_CRED_SSL_CLIENT_CERT credentials.
void svn_auth_get_ssl_client_cert_file_provider(svn_auth_provider_object_t **provider, apr_pool_t *pool)
Set *provider to an authentication provider of type svn_auth_cred_ssl_client_cert_t, allocated in pool.
void svn_auth_get_gnome_keyring_simple_provider(svn_auth_provider_object_t **provider, apr_pool_t *pool)
Set *provider to an authentication provider of type svn_auth_cred_simple_t that gets/sets information...
svn_error_t *(* svn_auth_plaintext_prompt_func_t)(svn_boolean_t *may_save_plaintext, const char *realmstring, void *baton, apr_pool_t *pool)
A type of callback function for asking whether storing a password to disk in plaintext is allowed...
const char * valid_from
ASCII date from which the certificate is valid.
void svn_auth_get_keychain_simple_provider(svn_auth_provider_object_t **provider, apr_pool_t *pool)
Set *provider to an authentication provider of type svn_auth_cred_simple_t that gets/sets information...
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.
struct svn_auth_cred_ssl_client_cert_pw_t svn_auth_cred_ssl_client_cert_pw_t
SVN_AUTH_CRED_SSL_CLIENT_CERT_PW credentials.
SVN_AUTH_CRED_SSL_SERVER_TRUST credentials.
struct svn_auth_iterstate_t svn_auth_iterstate_t
The type of a Subversion authentication-iteration object.
const char * issuer_dname
DN of the certificate issuer.
void svn_auth_get_kwallet_ssl_client_cert_pw_provider(svn_auth_provider_object_t **provider, apr_pool_t *pool)
Set *provider to an authentication provider of type svn_auth_cred_ssl_client_cert_pw_t that gets/sets...
void svn_auth_get_gpg_agent_simple_provider(svn_auth_provider_object_t **provider, apr_pool_t *pool)
Set *provider to an authentication provider of type svn_auth_cred_simple_t that gets/sets information...
const char * hostname
Primary CN.
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.
struct svn_config_t svn_config_t
Opaque structure describing a set of configuration options.
svn_error_t * svn_auth_forget_credentials(svn_auth_baton_t *auth_baton, const char *cred_kind, const char *realmstring, apr_pool_t *pool)
Forget a set (or all) memory-cached credentials.
SVN_AUTH_CRED_SSL_CLIENT_CERT_PW credentials.
struct 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.
void svn_auth_get_ssl_server_trust_prompt_provider(svn_auth_provider_object_t **provider, svn_auth_ssl_server_trust_prompt_func_t prompt_func, void *prompt_baton, apr_pool_t *pool)
Set *provider to an authentication provider of type svn_auth_cred_ssl_server_trust_t, allocated in pool.
svn_error_t * svn_auth_save_credentials(svn_auth_iterstate_t *state, apr_pool_t *pool)
Save a set of credentials.
void svn_auth_get_ssl_client_cert_pw_file_provider(svn_auth_provider_object_t **provider, apr_pool_t *pool)
Like svn_auth_get_ssl_client_cert_pw_file_provider2, but without the ability to call the svn_auth_pla...
void svn_auth_get_ssl_server_trust_file_provider(svn_auth_provider_object_t **provider, apr_pool_t *pool)
Set *provider to an authentication provider of type svn_auth_cred_ssl_server_trust_t, allocated in pool.
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)
Credential-constructing prompt functions.
void svn_auth_get_ssl_client_cert_prompt_provider(svn_auth_provider_object_t **provider, svn_auth_ssl_client_cert_prompt_func_t prompt_func, void *prompt_baton, int retry_limit, apr_pool_t *pool)
Set *provider to an authentication provider of type svn_auth_cred_ssl_client_cert_t, allocated in pool.
SVN_AUTH_CRED_SIMPLE credentials.
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.
struct 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().
Subversion's data types.
void svn_auth_set_parameter(svn_auth_baton_t *auth_baton, const char *name, const void *value)
Set an authentication run-time parameter.
struct svn_auth_baton_t svn_auth_baton_t
The type of a Subversion authentication object.
void svn_auth_get_ssl_client_cert_pw_prompt_provider(svn_auth_provider_object_t **provider, svn_auth_ssl_client_cert_pw_prompt_func_t prompt_func, void *prompt_baton, int retry_limit, apr_pool_t *pool)
Set *provider to an authentication provider of type svn_auth_cred_ssl_client_cert_pw_t, allocated in pool.
const char * fingerprint
ASCII fingerprint.
struct svn_auth_cred_simple_t svn_auth_cred_simple_t
SVN_AUTH_CRED_SIMPLE credentials.
void svn_auth_open(svn_auth_baton_t **auth_baton, const apr_array_header_t *providers, apr_pool_t *pool)
Initialize an authentication system.
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.
#define SVN_DEPRECATED
Macro used to mark deprecated functions.
void svn_auth_get_username_prompt_provider(svn_auth_provider_object_t **provider, svn_auth_username_prompt_func_t prompt_func, void *prompt_baton, int retry_limit, apr_pool_t *pool)
Set *provider to an authentication provider of type svn_auth_cred_username_t that gets information by...
apr_uint32_t accepted_failures
Bit mask of the accepted failures.
const char * username
Username.
void svn_auth_get_simple_provider(svn_auth_provider_object_t **provider, apr_pool_t *pool)
Like svn_auth_get_simple_provider2, but without the ability to call the svn_auth_plaintext_prompt_fun...
const void * svn_auth_get_parameter(svn_auth_baton_t *auth_baton, const char *name)
Get an authentication run-time parameter.
struct svn_auth_cred_username_t svn_auth_cred_username_t
SVN_AUTH_CRED_USERNAME credentials.
void svn_auth_get_windows_ssl_server_trust_provider(svn_auth_provider_object_t **provider, apr_pool_t *pool)
Set *provider to an authentication provider of type svn_auth_cred_ssl_server_trust_t, allocated in pool.
const svn_version_t * svn_auth_kwallet_version(void)
Get libsvn_auth_kwallet version information.
svn_boolean_t may_save
Indicates if the credentials may be saved (to disk).
void svn_auth_get_ssl_client_cert_pw_file_provider2(svn_auth_provider_object_t **provider, svn_auth_plaintext_passphrase_prompt_func_t plaintext_passphrase_prompt_func, void *prompt_baton, apr_pool_t *pool)
Set *provider to an authentication provider of type svn_auth_cred_ssl_client_cert_pw_t that gets/sets...
Accessing SVN configuration files.
void svn_auth_get_windows_simple_provider(svn_auth_provider_object_t **provider, apr_pool_t *pool)
Set *provider to an authentication provider of type svn_auth_cred_simple_t that gets/sets information...
const char * username
Username.
struct svn_auth_provider_t svn_auth_provider_t
The main authentication "provider" vtable.
int svn_boolean_t
YABT: Yet Another Boolean Type.
svn_boolean_t may_save
Indicates if the credentials may be saved (to disk).
const char * ascii_cert
Base-64 encoded DER certificate representation.
struct svn_auth_cred_ssl_server_trust_t svn_auth_cred_ssl_server_trust_t
SVN_AUTH_CRED_SSL_SERVER_TRUST credentials.
SVN_AUTH_CRED_USERNAME credentials.
svn_error_t * svn_auth_get_platform_specific_provider(svn_auth_provider_object_t **provider, const char *provider_name, const char *provider_type, apr_pool_t *pool)
Set *provider to an authentication provider of type svn_auth_provider_object_t, or return NULL if the...
void svn_auth_get_simple_provider2(svn_auth_provider_object_t **provider, svn_auth_plaintext_prompt_func_t plaintext_prompt_func, void *prompt_baton, apr_pool_t *pool)
Set *provider to an authentication provider of type svn_auth_cred_simple_t that gets/sets information...
void svn_auth_get_kwallet_simple_provider(svn_auth_provider_object_t **provider, apr_pool_t *pool)
Set *provider to an authentication provider of type svn_auth_cred_simple_t that gets/sets information...
svn_boolean_t may_save
Indicates if the credentials may be saved (to disk).