[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

subversion issue: ignore server invaild certificate in linux

From: yuan lixin <woodsp_at_126.com>
Date: Fri, 21 Oct 2016 13:45:57 +0800 (CST)

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

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.