static int tls_socket_open (CONNECTION* conn) { if (raw_socket_open (conn) < 0) return -1; if (tls_negotiate (conn) < 0) { tls_socket_close (conn); return -1; } return 0; }
/** * tls_socket_open - Open a TLS socket - Implements Connection::conn_open() */ static int tls_socket_open(struct Connection *conn) { if (raw_socket_open(conn) < 0) return -1; if (tls_negotiate(conn) < 0) { tls_socket_close(conn); return -1; } return 0; }
int mutt_ssl_starttls (CONNECTION* conn) { if (tls_init() < 0) return -1; if (tls_negotiate (conn) < 0) return -1; conn->conn_read = tls_socket_read; conn->conn_write = tls_socket_write; conn->conn_close = tls_starttls_close; return 0; }
/** * mutt_ssl_starttls - Set up TLS multiplexor * @param conn Connection to a server * @retval 0 Success * @retval -1 Error */ int mutt_ssl_starttls(struct Connection *conn) { if (tls_init() < 0) return -1; if (tls_negotiate(conn) < 0) return -1; conn->conn_read = tls_socket_read; conn->conn_write = tls_socket_write; conn->conn_close = tls_starttls_close; return 0; }