gpointer lowconn;
};
-static struct ssl_data *
-ssl_data_new (void)
+static void
+ssl_client_session_new (gnutls_session_t *session)
{
- struct ssl_data *ssl;
int kx_prio[] = {GNUTLS_KX_RSA, 0};
gnutls_certificate_credentials cred;
gnutls_certificate_allocate_credentials (&cred);
+ gnutls_init (session, GNUTLS_CLIENT);
+ gnutls_set_default_priority (*session);
+ gnutls_kx_set_priority (*session, kx_prio);
+ gnutls_credentials_set (*session, GNUTLS_CRD_CERTIFICATE, cred);
+}
+
+static struct ssl_data *
+ssl_data_new (void)
+{
+ struct ssl_data *ssl;
ssl = g_slice_new (struct ssl_data);
- gnutls_init (&ssl->session, GNUTLS_CLIENT);
- gnutls_set_default_priority (ssl->session);
- gnutls_kx_set_priority (ssl->session, kx_prio);
- gnutls_credentials_set (ssl->session, GNUTLS_CRD_CERTIFICATE, cred);
+ ssl_client_session_new (&ssl->session);
ssl->buffer = g_string_sized_new (4096);
ssl->handshaking = FALSE;
return ssl;