core: replace deprecated gnutls function "gnutls_certificate_client_set_retrieve_function" by new function "gnutls_certificate_set_retrieve_function" (gnutls >= 2.11.0)
This commit is contained in:
parent
88c58cb1b7
commit
47ac88b3f5
@ -7,6 +7,9 @@ v0.3.6-dev, 2011-08-26
|
||||
Version 0.3.6 (under dev!)
|
||||
--------------------------
|
||||
|
||||
* core: replace deprecated gnutls function
|
||||
"gnutls_certificate_client_set_retrieve_function" by new function
|
||||
"gnutls_certificate_set_retrieve_function" (gnutls >= 2.11.0)
|
||||
* core: use dynamic buffer size for calls to vsnprintf
|
||||
* core: fix memory leak in unhook of hook_connect
|
||||
* core: fix memory leak in display of empty bar items
|
||||
|
@ -1776,7 +1776,11 @@ hook_connect_gnutls_set_certificates (gnutls_session_t tls_session,
|
||||
const gnutls_datum_t *req_ca, int nreq,
|
||||
const gnutls_pk_algorithm_t *pk_algos,
|
||||
int pk_algos_len,
|
||||
#if LIBGNUTLS_VERSION_NUMBER >= 0x020b00
|
||||
gnutls_retr2_st *answer)
|
||||
#else
|
||||
gnutls_retr_st *answer)
|
||||
#endif
|
||||
{
|
||||
struct t_hook *ptr_hook;
|
||||
int rc;
|
||||
|
@ -213,7 +213,12 @@ typedef int (t_hook_callback_connect)(void *data, int status,
|
||||
typedef int (gnutls_callback_t)(void *data, gnutls_session_t tls_session,
|
||||
const gnutls_datum_t *req_ca, int nreq,
|
||||
const gnutls_pk_algorithm_t *pk_algos,
|
||||
int pk_algos_len, gnutls_retr_st *answer,
|
||||
int pk_algos_len,
|
||||
#if LIBGNUTLS_VERSION_NUMBER >= 0x020b00
|
||||
gnutls_retr2_st *answer,
|
||||
#else
|
||||
gnutls_retr_st *answer,
|
||||
#endif
|
||||
int action);
|
||||
#endif
|
||||
|
||||
@ -450,8 +455,12 @@ extern int hook_connect_gnutls_set_certificates (gnutls_session_t tls_session,
|
||||
const gnutls_datum_t *req_ca, int nreq,
|
||||
const gnutls_pk_algorithm_t *pk_algos,
|
||||
int pk_algos_len,
|
||||
#if LIBGNUTLS_VERSION_NUMBER >= 0x020b00
|
||||
gnutls_retr2_st *answer);
|
||||
#else
|
||||
gnutls_retr_st *answer);
|
||||
#endif
|
||||
#endif
|
||||
extern struct t_hook *hook_print (struct t_weechat_plugin *plugin,
|
||||
struct t_gui_buffer *buffer,
|
||||
const char *tags, const char *message,
|
||||
|
@ -100,12 +100,20 @@ network_init ()
|
||||
|
||||
network_set_gnutls_ca_file ();
|
||||
#if LIBGNUTLS_VERSION_NUMBER >= 0x02090a
|
||||
/* for gnutls >= 2.9.10 */
|
||||
gnutls_certificate_set_verify_function (gnutls_xcred,
|
||||
&hook_connect_gnutls_verify_certificates);
|
||||
#endif
|
||||
#if LIBGNUTLS_VERSION_NUMBER >= 0x020b00
|
||||
/* for gnutls >= 2.11.0 */
|
||||
gnutls_certificate_set_retrieve_function (gnutls_xcred,
|
||||
&hook_connect_gnutls_set_certificates);
|
||||
#else
|
||||
/* for gnutls < 2.11.0 */
|
||||
gnutls_certificate_client_set_retrieve_function (gnutls_xcred,
|
||||
&hook_connect_gnutls_set_certificates);
|
||||
#endif
|
||||
#endif
|
||||
#ifdef HAVE_GCRYPT
|
||||
gcry_check_version (GCRYPT_VERSION);
|
||||
gcry_control (GCRYCTL_DISABLE_SECMEM, 0);
|
||||
|
@ -2948,11 +2948,20 @@ int
|
||||
irc_server_gnutls_callback (void *data, gnutls_session_t tls_session,
|
||||
const gnutls_datum_t *req_ca, int nreq,
|
||||
const gnutls_pk_algorithm_t *pk_algos,
|
||||
int pk_algos_len, gnutls_retr_st *answer,
|
||||
int pk_algos_len,
|
||||
#if LIBGNUTLS_VERSION_NUMBER >= 0x020b00
|
||||
gnutls_retr2_st *answer,
|
||||
#else
|
||||
gnutls_retr_st *answer,
|
||||
#endif
|
||||
int action)
|
||||
{
|
||||
struct t_irc_server *server;
|
||||
#if LIBGNUTLS_VERSION_NUMBER >= 0x020b00
|
||||
gnutls_retr2_st tls_struct;
|
||||
#else
|
||||
gnutls_retr_st tls_struct;
|
||||
#endif
|
||||
gnutls_x509_crt_t cert_temp;
|
||||
const gnutls_datum_t *cert_list;
|
||||
gnutls_datum_t filedatum;
|
||||
@ -3145,7 +3154,12 @@ irc_server_gnutls_callback (void *data, gnutls_session_t tls_session,
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
#if LIBGNUTLS_VERSION_NUMBER >= 0x020b00
|
||||
tls_struct.cert_type = GNUTLS_CRT_X509;
|
||||
#else
|
||||
tls_struct.type = GNUTLS_CRT_X509;
|
||||
#endif
|
||||
tls_struct.ncerts = 1;
|
||||
tls_struct.deinit_all = 0;
|
||||
tls_struct.cert.x509 = &server->tls_cert;
|
||||
@ -3170,7 +3184,7 @@ irc_server_gnutls_callback (void *data, gnutls_session_t tls_session,
|
||||
gnutls_free (cinfo.data);
|
||||
}
|
||||
#endif
|
||||
memcpy (answer, &tls_struct, sizeof (gnutls_retr_st));
|
||||
memcpy (answer, &tls_struct, sizeof (tls_struct));
|
||||
free (cert_str);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user