Teaching an old dog new tricks
No Matches
ssl.h File Reference

Handling of SSL encryption. More...

#include "config.h"
#include <stdbool.h>
#include "mutt/lib.h"
+ Include dependency graph for ssl.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  CertMenuData
 Certificate data to use in the Menu. More...


 ARRAY_HEAD (CertArray, const char *)
 Array of text making up a Certificate.
void cert_array_clear (struct CertArray *carr)
 Free all memory of a CertArray.
int mutt_ssl_socket_setup (struct Connection *conn)
 Set up SSL socket mulitplexor.
int dlg_certificate (const char *title, struct CertArray *carr, bool allow_always, bool allow_skip)
 Ask the user to validate the certificate -.

Detailed Description

Handling of SSL encryption.

  • Tommi Komulainen

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see

Definition in file ssl.h.

Function Documentation


ARRAY_HEAD ( CertArray  ,
const char *   

Array of text making up a Certificate.

◆ cert_array_clear()

void cert_array_clear ( struct CertArray *  carr)

Free all memory of a CertArray.

carrArray of text to clear
Array is emptied, but not freed

Definition at line 154 of file dlg_verifycert.c.

156 const char **line = NULL;
157 ARRAY_FOREACH(line, carr)
158 {
159 FREE(line);
160 }
#define ARRAY_FOREACH(elem, head)
Iterate over all elements of the array.
Definition: array.h:211
#define FREE(x)
Definition: memory.h:45
+ Here is the caller graph for this function:

◆ mutt_ssl_socket_setup()

int mutt_ssl_socket_setup ( struct Connection conn)

Set up SSL socket mulitplexor.

connConnection to a server
Return values

Definition at line 1124 of file gnutls.c.

1126 if (tls_init() < 0)
1127 return -1;
1129 conn->open = tls_socket_open;
1130 conn->read = tls_socket_read;
1131 conn->write = tls_socket_write;
1132 conn->close = tls_socket_close;
1133 conn->poll = tls_socket_poll;
1135 return 0;
static int tls_init(void)
Set up Gnu TLS.
Definition: gnutls.c:92
static int tls_socket_close(struct Connection *conn)
Close a TLS socket - Implements Connection::close() -.
Definition: gnutls.c:1002
static int tls_socket_open(struct Connection *conn)
Open a TLS socket - Implements Connection::open() -.
Definition: gnutls.c:1027
static int tls_socket_poll(struct Connection *conn, time_t wait_secs)
Check whether a socket read would block - Implements Connection::poll() -.
Definition: gnutls.c:987
static int tls_socket_read(struct Connection *conn, char *buf, size_t count)
Read data from a TLS socket - Implements Connection::read() -.
Definition: gnutls.c:1044
static int tls_socket_write(struct Connection *conn, const char *buf, size_t count)
Write data to a TLS socket - Implements Connection::write() -.
Definition: gnutls.c:1071
int(* poll)(struct Connection *conn, time_t wait_secs)
Definition: connection.h:106
int(* write)(struct Connection *conn, const char *buf, size_t count)
Definition: connection.h:93
int(* close)(struct Connection *conn)
Definition: connection.h:117
int(* open)(struct Connection *conn)
Definition: connection.h:67
int(* read)(struct Connection *conn, char *buf, size_t count)
Definition: connection.h:80
+ Here is the call graph for this function:
+ Here is the caller graph for this function: