#include "internal.h"#include "connection.h"#include "memorypool.h"#include "response.h"#include "reason_phrase.h"#include "gnutls_int.h"#include "gnutls_record.h"#include "gnutls_errors.h"Include dependency graph for connection_https.c:

Go to the source code of this file.
Functions | |
| MHD_ConnectionInfo * | MHD_get_connection_info (struct MHD_Connection *connection, enum MHD_ConnectionInfoType infoType,...) |
| static void | MHD_tls_connection_close (struct MHD_Connection *connection, enum MHD_RequestTerminationCode termination_code) |
| static int | MHD_tls_connection_handle_idle (struct MHD_Connection *connection) |
| static int | MHD_tls_connection_handle_read (struct MHD_Connection *connection) |
| static int | MHD_tls_connection_handle_write (struct MHD_Connection *connection) |
| void | MHD_set_https_calbacks (struct MHD_Connection *connection) |
| union MHD_ConnectionInfo* MHD_get_connection_info | ( | struct MHD_Connection * | connection, | |
| enum MHD_ConnectionInfoType | infoType, | |||
| ... | ||||
| ) |
Obtain information about the given connection.
| connection | what connection to get information about | |
| infoType | what information is desired? | |
| ... | depends on infoType |
Definition at line 52 of file connection_https.c.
References MHD_CONNECTION_INFO_CERT_TYPE, MHD_CONNECTION_INFO_CIPHER_ALGO, MHD_CONNECTION_INFO_COMPRESSION_METHOD, MHD_CONNECTION_INFO_CREDENTIALS_TYPE, MHD_CONNECTION_INFO_KX_ALGO, MHD_CONNECTION_INFO_MAC_ALGO, MHD_CONNECTION_INFO_PROTOCOL, and MHD_Connection::version.
| void MHD_set_https_calbacks | ( | struct MHD_Connection * | connection | ) |
Set connection callback function to be used through out the processing of this secure connection.
Definition at line 348 of file connection_https.c.
References MHD_Connection::idle_handler, MHD_tls_connection_handle_idle(), MHD_tls_connection_handle_read(), MHD_tls_connection_handle_write(), MHD_Connection::read_handler, and MHD_Connection::write_handler.
Referenced by MHD_accept_connection().
Here is the call graph for this function:

Here is the caller graph for this function:

| static void MHD_tls_connection_close | ( | struct MHD_Connection * | connection, | |
| enum MHD_RequestTerminationCode | termination_code | |||
| ) | [static] |
This function is called once a secure connection has been marked for closure.
NOTE: Some code duplication with connection_close_error in connection.c
| connection,: | the connection to close | |
| termination_code,: | the termination code with which the notify completed callback function is called. |
Definition at line 98 of file connection_https.c.
References GNUTLS_SHUT_WR, MHD__gnutls_bye(), and MHD_connection_close().
Referenced by MHD_tls_connection_handle_idle(), and MHD_tls_connection_handle_read().
Here is the call graph for this function:

Here is the caller graph for this function:

| static int MHD_tls_connection_handle_idle | ( | struct MHD_Connection * | connection | ) | [static] |
This function was created to handle per-connection processing that has to happen even if the socket cannot be read or written to. All implementations (multithreaded, external select, internal select) call this function.
| connection | being handled |
Definition at line 118 of file connection_https.c.
References MHD_Daemon::connection_timeout, MHD_Connection::daemon, MHD_Connection::last_activity, MHD_CONNECTION_CLOSED, MHD_connection_handle_idle(), MHD_NO, MHD_REQUEST_TERMINATED_COMPLETED_OK, MHD_REQUEST_TERMINATED_TIMEOUT_REACHED, MHD_REQUEST_TERMINATED_WITH_ERROR, MHD_tls_connection_close(), MHD_TLS_CONNECTION_INIT, MHD_TLS_HANDSHAKE_FAILED, MHD_YES, MHD_Connection::socket_fd, and MHD_Connection::state.
Referenced by MHD_set_https_calbacks().
Here is the call graph for this function:

Here is the caller graph for this function:

| static int MHD_tls_connection_handle_read | ( | struct MHD_Connection * | connection | ) | [static] |
This function handles a particular SSL/TLS connection when it has been determined that there is data to be read off a socket. Message processing is done by message type which is determined by peeking into the first message type byte of the stream.
Error message handling: all fatal level messages cause the connection to be terminated.
Application data is forwarded to the underlying daemon for processing.
| connection | : the source connection |
Definition at line 174 of file connection_https.c.
References MHD_Connection::daemon, GNUTLS_A_CLOSE_NOTIFY, GNUTLS_AL_FATAL, GNUTLS_ALERT, GNUTLS_APPLICATION_DATA, GNUTLS_CHANGE_CIPHER_SPEC, GNUTLS_HANDSHAKE, GNUTLS_HANDSHAKE_FINISHED, GNUTLS_INNER_APPLICATION, MHD_Connection::last_activity, MHD__gnutls_alert_get_name(), MHD__gnutls_handshake(), MHD_CONNECTION_CLOSED, MHD_connection_handle_read(), MHD_CONNECTION_INIT, MHD_gtls_recv_int(), MHD_NO, MHD_REQUEST_TERMINATED_WITH_ERROR, MHD_tls_connection_close(), MHD_TLS_CONNECTION_INIT, MHD_TLS_HANDSHAKE_FAILED, MHD_TLS_HELLO_REQUEST, MHD_YES, RECV, MHD_Connection::socket_fd, and MHD_Connection::state.
Referenced by MHD_set_https_calbacks().
Here is the call graph for this function:

Here is the caller graph for this function:

| static int MHD_tls_connection_handle_write | ( | struct MHD_Connection * | connection | ) | [static] |
This function was created to handle writes to sockets when it has been determined that the socket can be written to. This function will forward all write requests to the underlying daemon unless the connection has been marked for closing.
Definition at line 322 of file connection_https.c.
References MHD_Connection::daemon, MHD_Connection::last_activity, MHD_CONNECTION_CLOSED, MHD_connection_handle_write(), MHD_NO, MHD_TLS_HANDSHAKE_FAILED, and MHD_Connection::state.
Referenced by MHD_set_https_calbacks().
Here is the call graph for this function:

Here is the caller graph for this function:

1.5.1