Alien-SVN
view release on metacpan or search on metacpan
src/subversion/subversion/include/svn_auth.h view on Meta::CPAN
void *prompt_baton,
int retry_limit,
apr_pool_t *pool);
/** Set @a *provider to an authentication provider of type @c
* svn_auth_cred_simple_t that gets/sets information from the user's
* ~/.subversion configuration directory.
*
* If the provider is going to save the password unencrypted, it calls @a
* plaintext_prompt_func, passing @a prompt_baton, before saving the
* password.
*
* If @a plaintext_prompt_func is NULL it is not called and the answer is
* assumed to be TRUE. This matches the deprecated behaviour of storing
* unencrypted passwords by default, and is only done this way for backward
* compatibility reasons.
* Client developers are highly encouraged to provide this callback
* to ensure their users are made aware of the fact that their password
* is going to be stored unencrypted. In the future, providers may
* default to not storing the password unencrypted if this callback is NULL.
*
* Clients can however set the callback to NULL and set
* SVN_AUTH_PARAM_STORE_PLAINTEXT_PASSWORDS to SVN_CONFIG_FALSE or
* SVN_CONFIG_TRUE to enforce a certain behaviour.
*
* Allocate @a *provider in @a pool.
*
* If a default username or password is available, @a *provider will
* honor them as well, and return them when
* svn_auth_first_credentials() is called. (see @c
* SVN_AUTH_PARAM_DEFAULT_USERNAME and @c
* SVN_AUTH_PARAM_DEFAULT_PASSWORD).
*
* @since New in 1.6.
*/
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);
/** Like svn_auth_get_simple_provider2, but without the ability to
* call the svn_auth_plaintext_prompt_func_t callback, and the provider
* always assumes that it is allowed to store the password in plaintext.
*
* @deprecated Provided for backwards compatibility with the 1.5 API.
* @since New in 1.4.
*/
SVN_DEPRECATED
void
svn_auth_get_simple_provider(svn_auth_provider_object_t **provider,
apr_pool_t *pool);
/** Set @a *provider to an authentication provider of type @c
* svn_auth_provider_object_t, or return @c NULL if the provider is not
* available for the requested platform or the requested provider is unknown.
*
* Valid @a provider_name values are: "gnome_keyring", "keychain", "kwallet",
* "gpg_agent", and "windows".
*
* Valid @a provider_type values are: "simple", "ssl_client_cert_pw" and
* "ssl_server_trust".
*
* Allocate @a *provider in @a pool.
*
* What actually happens is we invoke the appropriate provider function to
* supply the @a provider, like so:
*
* svn_auth_get_<name>_<type>_provider(@a provider, @a pool);
*
* @since New in 1.6.
*/
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 @a *providers to an array of <tt>svn_auth_provider_object_t *</tt>
* objects.
* Only client authentication providers available for the current platform are
* returned. Order of the platform-specific authentication providers is
* determined by the 'password-stores' configuration option which is retrieved
* from @a config. @a config can be NULL.
*
* Create and allocate @a *providers in @a pool.
*
* Default order of the platform-specific authentication providers:
* 1. gnome-keyring
* 2. kwallet
* 3. keychain
* 4. gpg-agent
* 5. windows-cryptoapi
*
* @since New in 1.6.
*/
svn_error_t *
svn_auth_get_platform_specific_client_providers(
apr_array_header_t **providers,
svn_config_t *config,
apr_pool_t *pool);
#if (defined(WIN32) && !defined(__MINGW32__)) || defined(DOXYGEN)
/**
* Set @a *provider to an authentication provider of type @c
* svn_auth_cred_simple_t that gets/sets information from the user's
* ~/.subversion configuration directory. Allocate @a *provider in
* @a pool.
*
* This is like svn_auth_get_simple_provider(), except that, when
* running on Window 2000 or newer (or any other Windows version that
* includes the CryptoAPI), the provider encrypts the password before
* storing it to disk. On earlier versions of Windows, the provider
* does nothing.
*
* @since New in 1.4.
* @note This function is only available on Windows.
*
* @note An administrative password reset may invalidate the account's
* secret key. This function will detect that situation and behave as
* if the password were not cached at all.
*/
void
svn_auth_get_windows_simple_provider(svn_auth_provider_object_t **provider,
apr_pool_t *pool);
/**
* Set @a *provider to an authentication provider of type @c
* svn_auth_cred_ssl_client_cert_pw_t that gets/sets information from the
* user's ~/.subversion configuration directory. Allocate @a *provider in
* @a pool.
*
* This is like svn_auth_get_ssl_client_cert_pw_file_provider(), except that
* when running on Window 2000 or newer, the provider encrypts the password
* before storing it to disk. On earlier versions of Windows, the provider
* does nothing.
*
* @since New in 1.6
* @note This function is only available on Windows.
*
* @note An administrative password reset may invalidate the account's
* secret key. This function will detect that situation and behave as
* if the password were not cached at all.
*/
void
svn_auth_get_windows_ssl_client_cert_pw_provider(
svn_auth_provider_object_t **provider,
apr_pool_t *pool);
/**
* Set @a *provider to an authentication provider of type @c
* svn_auth_cred_ssl_server_trust_t, allocated in @a pool.
src/subversion/subversion/include/svn_auth.h view on Meta::CPAN
*/
void
svn_auth_get_gnome_keyring_ssl_client_cert_pw_provider(
svn_auth_provider_object_t **provider,
apr_pool_t *pool);
/**
* Get libsvn_auth_kwallet version information.
*
* @since New in 1.6
*/
const svn_version_t *
svn_auth_kwallet_version(void);
/**
* Set @a *provider to an authentication provider of type @c
* svn_auth_cred_simple_t that gets/sets information from the user's
* ~/.subversion configuration directory. Allocate @a *provider in
* @a pool.
*
* This is like svn_client_get_simple_provider(), except that the
* password is stored in KWallet.
*
* @since New in 1.6
* @note This function actually works only on systems with libsvn_auth_kwallet
* and KWallet installed.
*/
void
svn_auth_get_kwallet_simple_provider(svn_auth_provider_object_t **provider,
apr_pool_t *pool);
/**
* Set @a *provider to an authentication provider of type @c
* svn_auth_cred_ssl_client_cert_pw_t that gets/sets information from the
* user's ~/.subversion configuration directory. Allocate @a *provider in
* @a pool.
*
* This is like svn_client_get_ssl_client_cert_pw_file_provider(), except
* that the password is stored in KWallet.
*
* @since New in 1.6
* @note This function actually works only on systems with libsvn_auth_kwallet
* and KWallet installed.
*/
void
svn_auth_get_kwallet_ssl_client_cert_pw_provider(
svn_auth_provider_object_t **provider,
apr_pool_t *pool);
#endif /* (!DARWIN && !WIN32) || DOXYGEN */
#if !defined(WIN32) || defined(DOXYGEN)
/**
* Set @a *provider to an authentication provider of type @c
* svn_auth_cred_simple_t that gets/sets information from the user's
* ~/.subversion configuration directory.
*
* This is like svn_client_get_simple_provider(), except that the
* password is obtained from gpg_agent, which will keep it in
* a memory cache.
*
* Allocate @a *provider in @a pool.
*
* @since New in 1.8
* @note This function actually works only on systems with
* GNU Privacy Guard installed.
*/
void
svn_auth_get_gpg_agent_simple_provider
(svn_auth_provider_object_t **provider,
apr_pool_t *pool);
#endif /* !defined(WIN32) || defined(DOXYGEN) */
/** Set @a *provider to an authentication provider of type @c
* svn_auth_cred_username_t that gets/sets information from a user's
* ~/.subversion configuration directory. Allocate @a *provider in
* @a pool.
*
* If a default username is available, @a *provider will honor it,
* and return it when svn_auth_first_credentials() is called. (See
* @c SVN_AUTH_PARAM_DEFAULT_USERNAME.)
*
* @since New in 1.4.
*/
void
svn_auth_get_username_provider(svn_auth_provider_object_t **provider,
apr_pool_t *pool);
/** Set @a *provider to an authentication provider of type @c
* svn_auth_cred_ssl_server_trust_t, allocated in @a pool.
*
* @a *provider retrieves its credentials from the configuration
* mechanism. The returned credential is used to override SSL
* security on an error.
*
* @since New in 1.4.
*/
void
svn_auth_get_ssl_server_trust_file_provider(
svn_auth_provider_object_t **provider,
apr_pool_t *pool);
/** Set @a *provider to an authentication provider of type @c
* svn_auth_cred_ssl_client_cert_t, allocated in @a pool.
*
* @a *provider retrieves its credentials from the configuration
* mechanism. The returned credential is used to load the appropriate
* client certificate for authentication when requested by a server.
*
* @since New in 1.4.
*/
void
svn_auth_get_ssl_client_cert_file_provider(
svn_auth_provider_object_t **provider,
apr_pool_t *pool);
/** Set @a *provider to an authentication provider of type @c
* svn_auth_cred_ssl_client_cert_pw_t that gets/sets information from the user's
* ~/.subversion configuration directory.
*
* If the provider is going to save the passphrase unencrypted,
* it calls @a plaintext_passphrase_prompt_func, passing @a
* prompt_baton, before saving the passphrase.
*
* If @a plaintext_passphrase_prompt_func is NULL it is not called
* and the passphrase is not stored in plaintext.
( run in 0.681 second using v1.01-cache-2.11-cpan-df04353d9ac )