belle_http_provider_t *belle_http_provider_new(belle_sip_stack_t *s, const char *bind_ip){ belle_http_provider_t *p=belle_sip_object_new(belle_http_provider_t); p->stack=s; p->bind_ip=belle_sip_strdup(bind_ip); p->ai_family=strchr(p->bind_ip,':') ? AF_INET6 : AF_INET; p->verify_ctx=belle_tls_verify_policy_new(); return p; }
static int http_init(void){ stack=belle_sip_stack_new(NULL); prov=belle_sip_stack_create_http_provider(stack,"0.0.0.0"); if (root_ca_path != NULL) { belle_tls_verify_policy_t *policy=belle_tls_verify_policy_new(); belle_tls_verify_policy_set_root_ca(policy,root_ca_path); belle_http_provider_set_tls_verify_policy(prov,policy); } return 0; }
static void https_client_cert_connection(void){ belle_tls_verify_policy_t *policy=belle_tls_verify_policy_new(); http_counters_t counters={0}; belle_tls_verify_policy_set_exceptions(policy,BELLE_TLS_VERIFY_ANY_REASON);/*ignore the server verification because we don't have a true certificate*/ belle_http_provider_set_tls_verify_policy(prov,policy); one_get("https://sip2.linphone.org:5063",&counters); CU_ASSERT_EQUAL(counters.two_hundred,1); belle_tls_verify_policy_set_exceptions(policy,0); belle_sip_object_unref(policy); }