Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 582758
Collapse All | Expand All

(-)src/idevice.c (-2 / +15 lines)
Lines 626-632 Link Here
626
/**
626
/**
627
 * Internally used gnutls callback function that gets called during handshake.
627
 * Internally used gnutls callback function that gets called during handshake.
628
 */
628
 */
629
#if GNUTLS_VERSION_NUMBER >= 0x020b07
630
static int internal_cert_callback(gnutls_session_t session, const gnutls_datum_t * req_ca_rdn, int nreqs, const gnutls_pk_algorithm_t * sign_algos, int sign_algos_length, gnutls_retr2_st * st)
631
#else
629
static int internal_cert_callback(gnutls_session_t session, const gnutls_datum_t * req_ca_rdn, int nreqs, const gnutls_pk_algorithm_t * sign_algos, int sign_algos_length, gnutls_retr_st * st)
632
static int internal_cert_callback(gnutls_session_t session, const gnutls_datum_t * req_ca_rdn, int nreqs, const gnutls_pk_algorithm_t * sign_algos, int sign_algos_length, gnutls_retr_st * st)
633
#endif
630
{
634
{
631
	int res = -1;
635
	int res = -1;
632
	gnutls_certificate_type_t type = gnutls_certificate_type_get(session);
636
	gnutls_certificate_type_t type = gnutls_certificate_type_get(session);
Lines 634-641 Link Here
634
		ssl_data_t ssl_data = (ssl_data_t)gnutls_session_get_ptr(session);
638
		ssl_data_t ssl_data = (ssl_data_t)gnutls_session_get_ptr(session);
635
		if (ssl_data && ssl_data->host_privkey && ssl_data->host_cert) {
639
		if (ssl_data && ssl_data->host_privkey && ssl_data->host_cert) {
636
			debug_info("Passing certificate");
640
			debug_info("Passing certificate");
641
#if GNUTLS_VERSION_NUMBER >= 0x020b07
642
			st->cert_type = type;
643
			st->key_type = GNUTLS_PRIVKEY_X509;
644
#else
637
			st->type = type;
645
			st->type = type;
638
			st->ncerts = 1;
646
#endif
647
                        st->ncerts = 1;
639
			st->cert.x509 = &ssl_data->host_cert;
648
			st->cert.x509 = &ssl_data->host_cert;
640
			st->key.x509 = ssl_data->host_privkey;
649
			st->key.x509 = ssl_data->host_privkey;
641
			st->deinit_all = 0;
650
			st->deinit_all = 0;
Lines 743-749 Link Here
743
	debug_info("enabling SSL mode");
752
	debug_info("enabling SSL mode");
744
	errno = 0;
753
	errno = 0;
745
	gnutls_certificate_allocate_credentials(&ssl_data_loc->certificate);
754
	gnutls_certificate_allocate_credentials(&ssl_data_loc->certificate);
746
	gnutls_certificate_client_set_retrieve_function(ssl_data_loc->certificate, internal_cert_callback);
755
#if GNUTLS_VERSION_NUMBER >= 0x020b07
756
	gnutls_certificate_set_retrieve_function(ssl_data_loc->certificate, internal_cert_callback);
757
#else
758
 	gnutls_certificate_client_set_retrieve_function(ssl_data_loc->certificate, internal_cert_callback);
759
#endif
747
	gnutls_init(&ssl_data_loc->session, GNUTLS_CLIENT);
760
	gnutls_init(&ssl_data_loc->session, GNUTLS_CLIENT);
748
	gnutls_priority_set_direct(ssl_data_loc->session, "NONE:+VERS-SSL3.0:+ANON-DH:+RSA:+AES-128-CBC:+AES-256-CBC:+SHA1:+MD5:+COMP-NULL", NULL);
761
	gnutls_priority_set_direct(ssl_data_loc->session, "NONE:+VERS-SSL3.0:+ANON-DH:+RSA:+AES-128-CBC:+AES-256-CBC:+SHA1:+MD5:+COMP-NULL", NULL);
749
	gnutls_credentials_set(ssl_data_loc->session, GNUTLS_CRD_CERTIFICATE, ssl_data_loc->certificate);
762
	gnutls_credentials_set(ssl_data_loc->session, GNUTLS_CRD_CERTIFICATE, ssl_data_loc->certificate);

Return to bug 582758