X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=sendlib.c;h=a5ba72cf3580dbc499d83d6aeb4dfa92bf150b74;hp=1762394bad211aae168e7a293a25959728da0363;hb=10e80e482eff3762b0b8d41b0c7795b76704479c;hpb=83532821ae9fab034d0d630b78330c9ea4ff4cf3 diff --git a/sendlib.c b/sendlib.c index 1762394..a5ba72c 100644 --- a/sendlib.c +++ b/sendlib.c @@ -13,38 +13,41 @@ # include "config.h" #endif +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + #include #include #include #include #include +#include + +#include +#include #include +#include + #include "mutt.h" #include "handler.h" #include "recvattach.h" -#include "mutt_curses.h" #include "mx.h" #include "copy.h" #include "pager.h" #include "charset.h" -#include "mutt_crypt.h" +#include #include "mutt_idna.h" -#include "lib/debug.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - #ifdef USE_LIBESMTP # include "mutt_libesmtp.h" #endif /* USE_LIBESMTP */ @@ -363,9 +366,7 @@ int mutt_write_mime_header (BODY * a, FILE * f) return (ferror (f) ? -1 : 0); } -# define write_as_text_part(a) (mutt_is_text_part(a) \ - || ((WithCrypto & APPLICATION_PGP)\ - && mutt_is_application_pgp(a))) +# define write_as_text_part(a) (mutt_is_text_part(a) || mutt_is_application_pgp(a)) int mutt_write_mime_body (BODY * a, FILE * f) { @@ -398,9 +399,7 @@ int mutt_write_mime_body (BODY * a, FILE * f) } /* This is pretty gross, but it's the best solution for now... */ - if ((WithCrypto & APPLICATION_PGP) - && a->type == TYPEAPPLICATION - && m_strcmp(a->subtype, "pgp-encrypted") == 0) { + if (a->type == TYPEAPPLICATION && !m_strcmp(a->subtype, "pgp-encrypted")) { fputs ("Version: 1\n", f); return 0; } @@ -744,7 +743,7 @@ static size_t convert_file_from_to (FILE * file, for (c = tocodes, i = 0; c; c = c1 ? c1 + 1 : 0, i++) { if ((c1 = strchr (c, ':')) == c) continue; - tcode[i] = str_substrdup (c, c1); + tcode[i] = m_substrdup(c, c1); } ret = (size_t) (-1); @@ -753,7 +752,7 @@ static size_t convert_file_from_to (FILE * file, for (c = fromcodes; c; c = c1 ? c1 + 1 : 0) { if ((c1 = strchr (c, ':')) == c) continue; - fcode = str_substrdup (c, c1); + fcode = m_substrdup(c, c1); ret = convert_file_to (file, fcode, ncodes, (const char **) tcode, &cn, info); @@ -891,7 +890,7 @@ int mutt_lookup_mime_type (BODY * att, const char *path) snprintf (buf, sizeof (buf), "%s/.mime.types", NONULL (Homedir)); break; case 1: - m_strcpy(buf, sizeof(buf), SYSCONFDIR "/muttng-mime.types"); + m_strcpy(buf, sizeof(buf), SYSCONFDIR "/madmutt-mime.types"); break; case 2: m_strcpy(buf, sizeof(buf), PKGDATADIR "/mime.types"); @@ -937,7 +936,7 @@ int mutt_lookup_mime_type (BODY * att, const char *path) for (q = p; *q && !ISSPACE (*q); q++); - str_substrcpy (subtype, p, q, sizeof (subtype)); + m_strncpy(subtype, sizeof(subtype), p, q - p); if ((type = mutt_check_mime_type (ct)) == TYPEOTHER) m_strcpy(xtype, sizeof(xtype), ct); @@ -1180,14 +1179,12 @@ BODY *mutt_make_message_attach (CONTEXT * ctx, HEADER * hdr, int attach_msg) BODY *body; FILE *fp; int cmflags, chflags; - int pgp = WithCrypto ? hdr->security : 0; + int pgp = hdr->security; - if (WithCrypto) { - if ((option (OPTMIMEFORWDECODE) || option (OPTFORWDECRYPT)) && - (hdr->security & ENCRYPT)) { - if (!crypt_valid_passphrase (hdr->security)) - return (NULL); - } + if ((option (OPTMIMEFORWDECODE) || option (OPTFORWDECRYPT)) && + (hdr->security & ENCRYPT)) { + if (!crypt_valid_passphrase (hdr->security)) + return (NULL); } mutt_mktemp (buffer); @@ -1212,26 +1209,20 @@ BODY *mutt_make_message_attach (CONTEXT * ctx, HEADER * hdr, int attach_msg) if (!attach_msg && option (OPTMIMEFORWDECODE)) { chflags |= CH_MIME | CH_TXTPLAIN; cmflags = M_CM_DECODE | M_CM_CHARCONV; - if ((WithCrypto & APPLICATION_PGP)) - pgp &= ~PGPENCRYPT; - if ((WithCrypto & APPLICATION_SMIME)) - pgp &= ~SMIMEENCRYPT; + pgp &= ~(PGPENCRYPT|SMIMEENCRYPT); } - else if (WithCrypto && option (OPTFORWDECRYPT) && (hdr->security & ENCRYPT)) { - if ((WithCrypto & APPLICATION_PGP) - && mutt_is_multipart_encrypted (hdr->content)) { + else if (option (OPTFORWDECRYPT) && (hdr->security & ENCRYPT)) { + if (mutt_is_multipart_encrypted (hdr->content)) { chflags |= CH_MIME | CH_NONEWLINE; cmflags = M_CM_DECODE_PGP; pgp &= ~PGPENCRYPT; } - else if ((WithCrypto & APPLICATION_PGP) - && (mutt_is_application_pgp (hdr->content) & PGPENCRYPT)) { + else if (mutt_is_application_pgp (hdr->content) & PGPENCRYPT) { chflags |= CH_MIME | CH_TXTPLAIN; cmflags = M_CM_DECODE | M_CM_CHARCONV; pgp &= ~PGPENCRYPT; } - else if ((WithCrypto & APPLICATION_SMIME) - && mutt_is_application_smime (hdr->content) & SMIMEENCRYPT) { + else if (mutt_is_application_smime (hdr->content) & SMIMEENCRYPT) { chflags |= CH_MIME | CH_TXTPLAIN; cmflags = M_CM_DECODE | M_CM_CHARCONV; pgp &= ~SMIMEENCRYPT; @@ -1243,12 +1234,11 @@ BODY *mutt_make_message_attach (CONTEXT * ctx, HEADER * hdr, int attach_msg) fflush (fp); rewind (fp); - body->hdr = mutt_new_header (); + body->hdr = header_new(); body->hdr->offset = 0; /* we don't need the user headers here */ body->hdr->env = mutt_read_rfc822_header (fp, body->hdr, 0, 0); - if (WithCrypto) - body->hdr->security = pgp; + body->hdr->security = pgp; mutt_update_encoding (body); body->parts = body->hdr->content; @@ -1416,9 +1406,9 @@ void mutt_write_address_list (address_t * adr, FILE * fp, int linelen, /* need to write the list in reverse because they are stored in reverse order * when parsed to speed up threading */ -void mutt_write_references (LIST * r, FILE * f) +void mutt_write_references (string_list_t * r, FILE * f) { - LIST **ref = NULL; + string_list_t **ref = NULL; int refcnt = 0, refmax = 0; for (; (TrimRef == 0 || refcnt < TrimRef) && r; r = r->next) { @@ -1456,7 +1446,7 @@ int mutt_write_rfc822_header (FILE * fp, ENVELOPE * env, BODY * attach, { char buffer[LONG_STRING]; char *p; - LIST *tmp = env->userhdrs; + string_list_t *tmp = env->userhdrs; int has_agent = 0; /* user defined user-agent header field exists */ list2_t* hdrs = list_from_str (EditorHeaders, " "); @@ -1612,7 +1602,7 @@ int mutt_write_rfc822_header (FILE * fp, ENVELOPE * env, BODY * attach, return (ferror (fp) == 0 ? 0 : -1); } -static void encode_headers (LIST * h) +static void encode_headers (string_list_t * h) { char *tmp; char *p; @@ -2037,11 +2027,8 @@ static int mutt_invoke_sendmail (address_t * from, /* the sender */ if ((i = send_msg (path, args, msg, &childout)) != (EX_OK & 0xff)) { if (i != S_BKG) { - const char *e = mutt_strsysexit (i); - - e = mutt_strsysexit (i); mutt_error (_("Error sending message, child exited %d (%s)."), i, - NONULL (e)); + m_strsysexit(i)); if (childout) { struct stat st; @@ -2184,12 +2171,12 @@ void mutt_prepare_envelope (ENVELOPE * env, int final) void mutt_unprepare_envelope (ENVELOPE * env) { - LIST *item; + string_list_t *item; for (item = env->userhdrs; item; item = item->next) rfc2047_decode (&item->data); - address_delete (&env->mail_followup_to); + address_list_wipe(&env->mail_followup_to); /* back conversions */ rfc2047_decode_adrlist (env->to); @@ -2281,7 +2268,7 @@ int mutt_bounce_message (FILE * fp, HEADER * h, address_t * to) ret = _mutt_bounce_message (fp, h, to, resent_from, from); - address_delete (&from); + address_list_wipe(&from); return ret; } @@ -2310,7 +2297,7 @@ address_t *mutt_remove_duplicates (address_t * addr) *last = addr->next; addr->next = NULL; - address_delete (&addr); + address_list_wipe(&addr); addr = *last; } @@ -2397,8 +2384,7 @@ int mutt_write_fcc (const char *path, HEADER * hdr, const char *msgid, /* (postponment) if the mail is to be signed or encrypted, save this info */ - if ((WithCrypto & APPLICATION_PGP) - && post && (hdr->security & APPLICATION_PGP)) { + if (post && (hdr->security & APPLICATION_PGP)) { fputs ("X-Mutt-PGP: ", msg->fp); if (hdr->security & ENCRYPT) fputc ('E', msg->fp); @@ -2413,8 +2399,7 @@ int mutt_write_fcc (const char *path, HEADER * hdr, const char *msgid, } /* (postponment) if the mail is to be signed or encrypted, save this info */ - if ((WithCrypto & APPLICATION_SMIME) - && post && (hdr->security & APPLICATION_SMIME)) { + if (post && (hdr->security & APPLICATION_SMIME)) { fputs ("X-Mutt-SMIME: ", msg->fp); if (hdr->security & ENCRYPT) { fputc ('E', msg->fp); @@ -2437,7 +2422,7 @@ int mutt_write_fcc (const char *path, HEADER * hdr, const char *msgid, */ if (post && hdr->chain && hdr->chain) { - LIST *p; + string_list_t *p; fputs ("X-Mutt-Mix:", msg->fp); for (p = hdr->chain; p; p = p->next)