libpurple/plugins/ssl/ssl-gnutls.c

branch
soc.2013.gobjectification.plugins
changeset 36539
c73aa762b3e5
parent 36505
60c161851325
parent 34290
91614b18b992
child 36540
10eb918682fc
equal deleted inserted replaced
36538:1dc9bf239c58 36539:c73aa762b3e5
384 384
385 static void 385 static void
386 ssl_gnutls_connect(PurpleSslConnection *gsc) 386 ssl_gnutls_connect(PurpleSslConnection *gsc)
387 { 387 {
388 PurpleSslGnutlsData *gnutls_data; 388 PurpleSslGnutlsData *gnutls_data;
389 static const int cert_type_priority[2] = { GNUTLS_CRT_X509, 0 };
390 389
391 gnutls_data = g_new0(PurpleSslGnutlsData, 1); 390 gnutls_data = g_new0(PurpleSslGnutlsData, 1);
392 gsc->private_data = gnutls_data; 391 gsc->private_data = gnutls_data;
393 392
394 gnutls_init(&gnutls_data->session, GNUTLS_CLIENT); 393 gnutls_init(&gnutls_data->session, GNUTLS_CLIENT);
411 } 410 }
412 #else 411 #else
413 gnutls_set_default_priority(gnutls_data->session); 412 gnutls_set_default_priority(gnutls_data->session);
414 #endif 413 #endif
415 414
416 gnutls_certificate_type_set_priority(gnutls_data->session, 415 gnutls_server_name_set(gnutls_data->session, GNUTLS_NAME_DNS, gsc->host,
417 cert_type_priority); 416 strlen(gsc->host));
418 417
419 gnutls_credentials_set(gnutls_data->session, GNUTLS_CRD_CERTIFICATE, 418 gnutls_credentials_set(gnutls_data->session, GNUTLS_CRD_CERTIFICATE,
420 xcred); 419 xcred);
421 420
422 gnutls_transport_set_ptr(gnutls_data->session, GINT_TO_POINTER(gsc->fd)); 421 gnutls_transport_set_ptr(gnutls_data->session, GINT_TO_POINTER(gsc->fd));

mercurial