Dear All,
My program call the api "svn_auth_ssl_server_trust_prompt_func_t" in windows to ignore server invaild certificate,
Code like :
svn_client_get_ssl_server_trust_prompt_provider(
&provider, onSslServerTrustPrompt, this, pool);
*(svn_auth_provider_object_t **)apr_array_push(providers) = provider;
But in linux can't run normal,and change the API :
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);
This could connect the server by "https". I write a commit on github, but the API is release, can not change it.
My last way is this :
change code file:"\src-trunk\subversion\libsvn_subr\ssl_server_trust_providers.c"
...
*failures = 0; //wj add
/* If all failures are cleared now, we return the creds */
if (! *failures)
{
svn_auth_cred_ssl_server_trust_t *creds =
apr_pcalloc(pool, sizeof(*creds));
creds->may_save = FALSE; /* No need to save it again... */
*credentials = creds;
}
This way was deny by my leader for do not change the code of subversion, please help me!
Thank you
--woodsp
Received on 2016-10-21 07:57:18 CEST