* This is required for PKCS#11 database stuff.
* Get rid of deprecated function use
* Compatible with gnutls 3.0.x
https://bugzilla.gnome.org/show_bug.cgi?id=656903
dnl *****************************
dnl *** Checks for GNUTLS ***
dnl *****************************
+
+GNUTLS_MIN_REQUIRED=2.11.0
+
AC_ARG_WITH(gnutls,
[AC_HELP_STRING([--with-gnutls],
[support for GNUTLS @<:@default=yes@:>@])],
[],
[with_gnutls=yes])
AS_IF([test "x$with_gnutls" != "xno"],
- [PKG_CHECK_MODULES(GNUTLS, [gnutls >= 2.1.7],
+ [PKG_CHECK_MODULES(GNUTLS, [gnutls >= $GNUTLS_MIN_REQUIRED],
[with_gnutls=yes
tls_support=gnutls
AM_PATH_LIBGCRYPT([])],
int nreqs,
const gnutls_pk_algorithm_t *pk_algos,
int pk_algos_length,
- gnutls_retr_st *st);
+ gnutls_retr2_st *st);
G_DEFINE_TYPE_WITH_CODE (GTlsClientConnectionGnutls, g_tls_client_connection_gnutls, G_TYPE_TLS_CONNECTION_GNUTLS,
G_IMPLEMENT_INTERFACE (G_TYPE_TLS_CLIENT_CONNECTION,
gnutls->priv = G_TYPE_INSTANCE_GET_PRIVATE (gnutls, G_TYPE_TLS_CLIENT_CONNECTION_GNUTLS, GTlsClientConnectionGnutlsPrivate);
creds = g_tls_connection_gnutls_get_credentials (G_TLS_CONNECTION_GNUTLS (gnutls));
- gnutls_certificate_client_set_retrieve_function (creds, g_tls_client_connection_gnutls_retrieve_function);
+ gnutls_certificate_set_retrieve_function (creds, g_tls_client_connection_gnutls_retrieve_function);
}
static const gchar *
int nreqs,
const gnutls_pk_algorithm_t *pk_algos,
int pk_algos_length,
- gnutls_retr_st *st)
+ gnutls_retr2_st *st)
{
GTlsClientConnectionGnutls *gnutls = gnutls_transport_get_ptr (session);
GPtrArray *accepted_cas;
void
g_tls_connection_gnutls_get_certificate (GTlsConnectionGnutls *gnutls,
- gnutls_retr_st *st)
+ gnutls_retr2_st *st)
{
GTlsCertificate *cert;
cert = g_tls_connection_get_certificate (G_TLS_CONNECTION (gnutls));
- st->type = GNUTLS_CRT_X509;
+ st->cert_type = GNUTLS_CRT_X509;
if (cert)
{
GTlsCertificateGnutls *gnutlscert = G_TLS_CERTIFICATE_GNUTLS (cert);
gnutls_certificate_credentials g_tls_connection_gnutls_get_credentials (GTlsConnectionGnutls *connection);
gnutls_session g_tls_connection_gnutls_get_session (GTlsConnectionGnutls *connection);
void g_tls_connection_gnutls_get_certificate (GTlsConnectionGnutls *gnutls,
- gnutls_retr_st *st);
+ gnutls_retr2_st *st);
gssize g_tls_connection_gnutls_read (GTlsConnectionGnutls *gnutls,
void *buffer,
static void g_tls_server_connection_gnutls_server_connection_interface_init (GTlsServerConnectionInterface *iface);
-static int g_tls_server_connection_gnutls_retrieve_function (gnutls_session_t session,
- gnutls_retr_st *st);
+static int g_tls_server_connection_gnutls_retrieve_function (gnutls_session_t session,
+ const gnutls_datum_t *req_ca_rdn,
+ int nreqs,
+ const gnutls_pk_algorithm_t *pk_algos,
+ int pk_algos_length,
+ gnutls_retr2_st *st);
G_DEFINE_TYPE_WITH_CODE (GTlsServerConnectionGnutls, g_tls_server_connection_gnutls, G_TYPE_TLS_CONNECTION_GNUTLS,
G_IMPLEMENT_INTERFACE (G_TYPE_TLS_SERVER_CONNECTION,
gnutls->priv = G_TYPE_INSTANCE_GET_PRIVATE (gnutls, G_TYPE_TLS_SERVER_CONNECTION_GNUTLS, GTlsServerConnectionGnutlsPrivate);
creds = g_tls_connection_gnutls_get_credentials (G_TLS_CONNECTION_GNUTLS (gnutls));
- gnutls_certificate_server_set_retrieve_function (creds, g_tls_server_connection_gnutls_retrieve_function);
+ gnutls_certificate_set_retrieve_function (creds, g_tls_server_connection_gnutls_retrieve_function);
}
static void
}
static int
-g_tls_server_connection_gnutls_retrieve_function (gnutls_session_t session,
- gnutls_retr_st *st)
+g_tls_server_connection_gnutls_retrieve_function (gnutls_session_t session,
+ const gnutls_datum_t *req_ca_rdn,
+ int nreqs,
+ const gnutls_pk_algorithm_t *pk_algos,
+ int pk_algos_length,
+ gnutls_retr2_st *st)
{
g_tls_connection_gnutls_get_certificate (gnutls_transport_get_ptr (session), st);
return 0;