# include "config.h"
#endif
+#ifdef USE_SSL
+
#include <openssl/ssl.h>
#include <openssl/x509.h>
#include <openssl/err.h>
#include <openssl/rand.h>
-#undef _
-
#include <string.h>
+#include <lib-lib/mem.h>
+#include <lib-lib/str.h>
+#include <lib-lib/macros.h>
+
#include "mutt.h"
#include "mutt_socket.h"
#include "mutt_menu.h"
#include "mutt_curses.h"
#include "mutt_ssl.h"
-#include "lib/mem.h"
-#include "lib/intl.h"
-#include "lib/str.h"
#include "lib/debug.h"
#if OPENSSL_VERSION_NUMBER >= 0x00904000L
} sslsockdata;
/* local prototypes */
-int ssl_init (void);
+static int ssl_init (void);
static int add_entropy (const char *file);
static int ssl_socket_read (CONNECTION * conn, char *buf, size_t len);
static int ssl_socket_write (CONNECTION * conn, const char *buf, size_t len);
if (ssl_init ())
goto bail;
- ssldata = (sslsockdata *) safe_calloc (1, sizeof (sslsockdata));
+ ssldata = p_new(sslsockdata, 1);
/* the ssl_use_xxx protocol options don't apply. We must use TLS in TLS. */
if (!(ssldata->ctx = SSL_CTX_new (TLSv1_client_method ()))) {
debug_print (1, ("Error allocating SSL_CTX\n"));
return 0;
bail_ssl:
- FREE (&ssldata->ssl);
+ p_delete(&ssldata->ssl);
bail_ctx:
- FREE (&ssldata->ctx);
+ p_delete(&ssldata->ctx);
bail_ssldata:
- FREE (&ssldata);
+ p_delete(&ssldata);
bail:
return -1;
}
* versions also. (That's the reason for the ugly #ifdefs and macros,
* otherwise I could have simply #ifdef'd the whole ssl_init funcion)
*/
-int ssl_init (void)
+static int ssl_init (void)
{
char path[_POSIX_PATH_MAX];
static unsigned char init_complete = 0;
}
-int ssl_socket_setup (CONNECTION * conn)
+int mutt_ssl_socket_setup (CONNECTION * conn)
{
if (ssl_init () < 0) {
conn->conn_open = ssl_socket_open_err;
if (raw_socket_open (conn) < 0)
return -1;
- data = (sslsockdata *) safe_calloc (1, sizeof (sslsockdata));
+ data = p_new(sslsockdata, 1);
conn->sockdata = data;
data->ctx = SSL_CTX_new (SSLv23_client_method ());
#endif
SSL_free (data->ssl);
SSL_CTX_free (data->ctx);
- FREE (&conn->sockdata);
+ p_delete(&conn->sockdata);
}
return raw_socket_close (conn);
c = strstr (line, ndx);
if (c) {
- c += str_len (ndx);
+ c += m_strlen(ndx);
c2 = strchr (c, '/');
if (c2)
*c2 = '\0';
/* interactive check from user */
menu = mutt_new_menu ();
menu->max = 19;
- menu->dialog = (char **) safe_calloc (1, menu->max * sizeof (char *));
+ menu->dialog = p_new(char *, menu->max);
for (i = 0; i < menu->max; i++)
- menu->dialog[i] = (char *) safe_calloc (1, SHORT_STRING * sizeof (char));
+ menu->dialog[i] = p_new(char, SHORT_STRING);
row = 0;
strfcpy (menu->dialog[row], _("This certificate belongs to:"),
return snprintf (buf, size, "%s", account->pass);
}
+
+#endif /* USE_SSL */