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

Reply via email to