]> sjero.net Git - linphone/blobdiff - coreapi/sal_eXosip2.c
fix TLS support under linphonec and gtk (problem not occuring with mobile versions)
[linphone] / coreapi / sal_eXosip2.c
index 4a04d0b0e5869e7f6f58b14c748f4acb82e7a0b6..dc8ba97323065d3d59329a8ae500427e62a2967c 100644 (file)
@@ -282,6 +282,7 @@ Sal * sal_init(){
        sal->use_101=TRUE;
        sal->reuse_authorization=FALSE;
        sal->rootCa = 0;
+       sal->verify_server_certs=TRUE;
        return sal;
 }
 
@@ -374,6 +375,7 @@ int sal_listen_port(Sal *ctx, const char *addr, int port, SalTransport tr, int i
                        snprintf(tlsCtx.root_ca_cert, sizeof(tlsCtx.client.cert), "%s", ctx->rootCa);
                        eXosip_set_tls_ctx(&tlsCtx);
                }
+               eXosip_tls_verify_certificate(ctx->verify_server_certs);
                break;
        default:
                ms_warning("unexpected proto, using datagram");
@@ -440,12 +442,17 @@ void sal_use_101(Sal *ctx, bool_t use_101){
        ctx->use_101=use_101;
 }
 
-void sal_root_ca(Sal* ctx, const char* rootCa) {
+void sal_set_root_ca(Sal* ctx, const char* rootCa) {
        if (ctx->rootCa)
                ms_free(ctx->rootCa);
        ctx->rootCa = ms_strdup(rootCa);
 }
 
+void sal_verify_server_certificates(Sal *ctx, bool_t verify){
+       ctx->verify_server_certs=verify;
+       eXosip_tls_verify_certificate(verify);
+}
+
 static int extract_received_rport(osip_message_t *msg, const char **received, int *rportval,SalTransport* transport){
        osip_via_t *via=NULL;
        osip_generic_param_t *param=NULL;