ed_username_t { /** Username */ const char *username; /** Indicates if the credentials may be saved (to disk). For example, a * GUI prompt implementation with a remember username checkbox shall set * @a may_save to TRUE if the checkbox is checked. */ svn_boolean_t may_save; } svn_auth_cred_username_t; /** SSL client certificate credential type. * * The following auth parameters are available to the providers: * * - @c SVN_AUTH_PARAM_CONFIG_CATEGORY_SERVERS (@c svn_config_t*) * - @c SVN_AUTH_PARAM_SERVER_GROUP (@c char*) * * The following optional auth parameters are relevant to the providers: * * - @c SVN_AUTH_PARAM_NO_AUTH_CACHE (@c void*) */ #define SVN_AUTH_CRED_SSL_CLIENT_CERT "svn.ssl.client-cert" /** @c SVN_AUTH_CRED_SSL_CLIENT_CERT credentials. */ typedef struct svn_auth_cred_ssl_client_cert_t { /** Absolute path to the certificate file */ const char *cert_file; /** Indicates if the credentials may be saved (to disk). For example, a * GUI prompt implementation with a remember certificate checkbox shall * set @a may_save to TRUE if the checkbox is checked. */ svn_boolean_t may_save; } svn_auth_cred_ssl_client_cert_t; /** A function returning an SSL client certificate passphrase provider. */ typedef void (*svn_auth_ssl_client_cert_pw_provider_func_t)( svn_auth_provider_object_t **provider, apr_pool_t *pool); /** SSL client certificate passphrase credential type. * * @note The realmstring used with this credential type must be a name that * makes it possible for the user to identify the certificate. * * The following auth parameters are available to the providers: * * - @c SVN_AUTH_PARAM_CONFIG_CATEGORY_CONFIG (@c svn_config_t*) * - @c SVN_AUTH_PARAM_CONFIG_CATEGORY_SERVERS (@c svn_config_t*) * - @c SVN_AUTH_PARAM_SERVER_GROUP (@c char*) * * The following optional auth parameters are relevant to the providers: * * - @c SVN_AUTH_PARAM_NO_AUTH_CACHE (@c void*) */ #define SVN_AUTH_CRED_SSL_CLIENT_CERT_PW "svn.ssl.client-passphrase" /** @c SVN_AUTH_CRED_SSL_CLIENT_CERT_PW credentials. */ typedef struct svn_auth_cred_ssl_client_cert_pw_t { /** Certificate password */ const char *password; /** Indicates if the credentials may be saved (to disk). For example, a * GUI prompt implementation with a remember password checkbox shall set * @a may_save to TRUE if the checkbox is checked. */ svn_boolean_t may_save; } svn_auth_cred_ssl_client_cert_pw_t; /** SSL server verification credential type. * * The following auth parameters are available to the providers: * * - @c SVN_AUTH_PARAM_CONFIG_CATEGORY_SERVERS (@c svn_config_t*) * - @c SVN_AUTH_PARAM_SERVER_GROUP (@c char*) * - @c SVN_AUTH_PARAM_SSL_SERVER_FAILURES (@c apr_uint32_t*) * - @c SVN_AUTH_PARAM_SSL_SERVER_CERT_INFO * (@c svn_auth_ssl_server_cert_info_t*) * * The following optional auth parameters are relevant to the providers: * * - @c SVN_AUTH_PARAM_NO_AUTH_CACHE (@c void*) */ #define SVN_AUTH_CRED_SSL_SERVER_TRUST "svn.ssl.server" /** SSL server certificate information used by @c * SVN_AUTH_CRED_SSL_SERVER_TRUST providers. */ typedef struct svn_auth_ssl_server_cert_info_t { /** Primary CN */ const char *hostname; /** ASCII fingerprint */ const char *fingerprint; /** ASCII date from which the certificate is valid */ const char *valid_from; /** ASCII date until which the certificate is valid */ const char *valid_until; /** DN of the certificate issuer */ const char *issuer_dname; /** Base-64 encoded DER certificate representation */ const char *ascii_cert; } svn_auth_ssl_server_cert_info_t; /** * Return a deep copy of @a info, allocated in @a pool. * * @since New in 1.3. */ 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); /** @c SVN_AUTH_CRED_SSL_SERVER_TRUST credentials. */ typedef struct svn_auth_cred_ssl_server_trust_t { /** Indicates if the credentials may be saved (to disk). For example, a * GUI prompt implementation with a checkbox to accept the certificate * permanently shall set @a may_save to TRUE if the checkbox is checked. */ svn_boolean_t may_save; /** Bit mask of the accepted failures */ apr_uint32_t accepted_failures; } svn_auth_cred_ssl_server_trust_t;