* It's licensed under the GNU General Public License,
* please see the file GPL in the top level source directory.
*/
-#if HAVE_CONFIG_H
-#include "config.h"
-#endif
-#include <lib-lib/mem.h>
-#include <lib-lib/macros.h>
+#include <lib-lib/lib-lib.h>
-#include "mutt.h"
-#include "ascii.h"
-#include "enter.h"
+#include <lib-ui/enter.h>
+#include <lib-ui/curses.h>
-#include "lib/str.h"
+#include "mutt.h"
+#include "mutt_libesmtp.h"
#if defined (USE_SSL) || (defined (USE_GNUTLS) && defined (HAVE_GNUTLS_OPENSSL_H))
#include <openssl/ssl.h>
#endif
-#include <errno.h>
-
#include <auth-client.h>
#include <libesmtp.h>
* Very similar to sendlib.c::add_args
*/
static int
-_mutt_libesmtp_add_recipients (smtp_message_t message, ADDRESS * addr)
+_mutt_libesmtp_add_recipients (smtp_message_t message, address_t * addr)
{
int ret = 0;
static int
_mutt_libesmtp_auth_interact (auth_client_request_t request,
- char **result, int fields, void *arg)
+ char **result, int fields,
+ void *arg __attribute__ ((unused)))
{
int i;
int octets;
if (*buf == NULL)
- *buf = malloc (BUFLEN);
+ *buf = xmalloc(BUFLEN);
if (len == NULL) {
rewind ((FILE *) arg);
char *p = strchr (*buf, '\0');
if (p[-1] == '\n' && p[-2] != '\r') {
- strcpy (p - 1, "\r\n");
+ m_strcpy(p - 1, (char *) *buf + BUFLEN - p + 1, "\r\n");
p++;
}
octets = p - (char *) *buf;
return 1; /* Accept the problem */
}
-static void event_cb (smtp_session_t session, int event_no, void *arg,...)
+static void event_cb (smtp_session_t session __attribute__ ((unused)),
+ int event_no, void *arg,...)
{
va_list alist;
int *ok;
int flags = Notify_NOTSET;
smtp_recipient_t self = NULL;
- if (!DsnNotify || !*DsnNotify || !message || !from || !*from ||
+ if (m_strisempty(DsnNotify) || !message || m_strisempty(from) ||
strstr (DsnNotify, "never") != NULL)
return;
}
static void do_dsn_ret (smtp_message_t message) {
- if (!DsnReturn || !*DsnReturn || !message)
+ if (m_strisempty(DsnReturn) || !message)
return;
if (ascii_strncasecmp (DsnReturn, "hdrs", 4) == 0)
smtp_dsn_set_ret (message, Ret_HDRS);
int mutt_libesmtp_check_usetls (const char* option, unsigned long p,
char* errbuf, size_t errlen) {
char* val = (char*) p;
- if (!val || !*val)
+ if (m_strisempty(val))
return (1);
- if (str_ncmp (val, "enabled", 7) != 0 &&
- str_ncmp (val, "required", 8) != 0) {
+ if (m_strncmp(val, "enabled", 7) != 0 &&
+ m_strncmp(val, "required", 8) != 0) {
if (errbuf)
snprintf (errbuf, errlen, _("'%s' is invalid for %s"), val, option);
return (0);
* Returns 0 upon success, -1 upon failure (and prints an error
* message).
*/
-int mutt_libesmtp_invoke (ADDRESS * from, /* the sender */
- ADDRESS * to, ADDRESS * cc, ADDRESS * bcc, /* recips */
+int mutt_libesmtp_invoke (address_t * from, /* the sender */
+ address_t * to, address_t * cc, address_t * bcc, /* recips */
const char *msg, /* file containing message */
int eightbit)
{ /* message contains 8bit chars */
/* Create hostname:port string and tell libesmtp */
/* len = SmtpHost len + colon + max port (65536 => 5 chars) + terminator */
- hostportlen = str_len (SmtpHost) + 7;
+ hostportlen = m_strlen(SmtpHost) + 7;
hostportstr = p_new(char, hostportlen);
snprintf (hostportstr, hostportlen, "%s:%d", SmtpHost, SmtpPort);
if (!smtp_set_server (session, hostportstr))
SMTPFAIL ("smtp_add_message");
/* Initialize envelope sender */
- if (option (OPTENVFROM) && EnvFrom)
- envfrom = EnvFrom->mailbox;
+ if (MTransport.use_envelope_fromoption && MTransport.envelope_from_address)
+ envfrom = MTransport.envelope_from_address->mailbox;
if (!smtp_set_reverse_path (message, envfrom))
SMTPFAIL ("smtp_set_reverse_path");
do_dsn_ret (message);
/* set up 8bitmime flag */
- if (eightbit && option (OPTUSE8BITMIME))
+ if (eightbit && MTransport.use_8bitmime)
smtp_8bitmime_set_body (message, E8bitmime_8BITMIME);
if ((fp = fopen (msg, "r")) == NULL)
}
Done:
- if (fp != NULL)
- fclose (fp);
+ m_fclose(&fp);
if (hostportstr != NULL)
p_delete(&hostportstr);
if (session != NULL)