- p_session = malloc( sizeof (struct tls_session_t) );
- if( p_session == NULL )
- {
- gnutls_deinit( session );
- return NULL;
- }
-
- p_session->p_sys = (tls_session_sys_t *)malloc( sizeof(struct tls_session_sys_t) );
- if( p_session->p_sys == NULL )
- {
- gnutls_deinit( session );
- free( p_session );
- return NULL;
- }
-
- ((tls_session_sys_t *)p_session->p_sys)->session = session;
-
- p_session->p_tls = p_server->p_tls;
- p_session->p_server = p_server;
- p_session->sock.p_sys = p_session;
- p_session->sock.pf_send = gnutls_Send;
- p_session->sock.pf_recv = gnutls_Recv;
- p_session->pf_handshake = gnutls_SessionHandshake;
- p_session->pf_handshake2 = gnutls_SessionContinueHandshake;
- p_session->pf_close = gnutls_SessionClose;
-