35 #include <gnutls/gnutls.h> 57 res = gnutls_record_recv (connection->tls_session,
60 if ( (GNUTLS_E_AGAIN == res) ||
61 (GNUTLS_E_INTERRUPTED == res) )
64 if (GNUTLS_E_AGAIN == res)
68 connection->tls_read_ready =
false;
75 connection->tls_read_ready =
false;
86 connection->tls_read_ready = ( ((size_t)res == i) &&
87 (0 != gnutls_record_check_pending (connection->tls_session)) );
111 res = gnutls_record_send (connection->tls_session,
114 if ( (GNUTLS_E_AGAIN == res) ||
115 (GNUTLS_E_INTERRUPTED == res) )
118 if (GNUTLS_E_AGAIN == res)
155 ret = gnutls_handshake (connection->tls_session);
156 if (ret == GNUTLS_E_SUCCESS)
163 if ( (GNUTLS_E_AGAIN == ret) ||
164 (GNUTLS_E_INTERRUPTED == ret) )
173 MHD_DLOG (connection->
daemon,
174 _(
"Error: received handshake message out of context\n"));
210 gnutls_bye(connection->tls_session, GNUTLS_SHUT_WR);
211 if (GNUTLS_E_SUCCESS == res)
216 if ((GNUTLS_E_AGAIN == res) ||
217 (GNUTLS_E_INTERRUPTED == res))
Methods for managing connections.
static ssize_t recv_tls_adapter(struct MHD_Connection *connection, void *other, size_t i)
void MHD_connection_close_(struct MHD_Connection *connection, enum MHD_RequestTerminationCode termination_code)
Methods for managing response objects.
void MHD_update_last_activity_(struct MHD_Connection *connection)
struct MHD_Daemon * daemon
void MHD_set_https_callbacks(struct MHD_Connection *connection)
Methods for managing connections.
internal shared structures
internal monotonic clock functions implementations
bool MHD_run_tls_handshake_(struct MHD_Connection *connection)
static ssize_t send_tls_adapter(struct MHD_Connection *connection, const void *other, size_t i)
TransmitCallback send_cls
bool MHD_tls_connection_shutdown(struct MHD_Connection *connection)
memory pool; mostly used for efficient (de)allocation for each connection and bounding memory use for...