X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=sendlib.c;h=91318ed271078a07221697dcea1d7310e3f77e09;hp=0889c8942364e3534ea30a9bdbb1d9f8991bf1df;hb=00f34116b32751764d42f81159c292d850c74bac;hpb=4f8cd7c03aba20081ae3403ee194ce7e54f224fd diff --git a/sendlib.c b/sendlib.c index 0889c89..91318ed 100644 --- a/sendlib.c +++ b/sendlib.c @@ -16,7 +16,7 @@ #include #include #include -#include +#include #include #include "mutt.h" @@ -28,10 +28,6 @@ #include "charset.h" #include "mutt_idna.h" -#ifdef USE_NNTP -#include -#endif - #ifdef HAVE_SYSEXITS_H #include #else /* Make sure EX_OK is defined */ @@ -1248,17 +1244,13 @@ BODY *mutt_remove_multipart (BODY * b) char *mutt_make_date (char *s, ssize_t len) { - time_t t = time (NULL); - struct tm *l = localtime (&t); - time_t tz = mutt_local_tz (t); - - tz /= 60; + time_t t = time(NULL); + const char *loc; - snprintf (s, len, "Date: %s, %d %s %d %02d:%02d:%02d %+03d%02d\n", - Weekdays[l->tm_wday], l->tm_mday, Months[l->tm_mon], - l->tm_year + 1900, l->tm_hour, l->tm_min, l->tm_sec, - (int) tz / 60, (int) abs (tz) % 60); - return (s); + loc = setlocale(LC_TIME, "C"); + strftime(s, len, "Date: %a, %d %b %Y %T %z\n", localtime(&t)); + setlocale(LC_TIME, loc); + return s; } /* wrapper around mutt_write_address() so we can handle very large @@ -1342,30 +1334,22 @@ static int edit_header(int mode, const char *s) * mode == 1 => "lite" mode (used for edit_hdrs) * mode == 0 => normal mode. write full header + MIME headers * mode == -1 => write just the envelope info (used for postponing messages) - * - * privacy != 0 => will omit any headers which may identify the user. - * Output generated is suitable for being sent through - * anonymous remailer chains. - * */ int mutt_write_rfc822_header (FILE * fp, ENVELOPE * env, BODY * attach, - int mode, int privacy) + int mode) { char buffer[LONG_STRING]; char *p; string_list_t *tmp = env->userhdrs; int has_agent = 0; /* user defined user-agent header field exists */ -#ifdef USE_NNTP - if (!option (OPTNEWSSEND)) -#endif - if (mode == 0 && !privacy) - fputs (mutt_make_date (buffer, sizeof (buffer)), fp); + if (mode == 0) + fputs (mutt_make_date (buffer, sizeof (buffer)), fp); /* OPTUSEFROM is not consulted here so that we can still write a From: * field if the user sets it with the `my_hdr' command */ - if (env->from && !privacy) { + if (env->from) { buffer[0] = 0; rfc822_addrcat(buffer, sizeof(buffer), env->from, 0); fprintf (fp, "From: %s\n", buffer); @@ -1376,22 +1360,16 @@ int mutt_write_rfc822_header (FILE * fp, ENVELOPE * env, BODY * attach, mutt_write_address_list (env->to, fp, 4, 0); } else if (mode > 0) -#ifdef USE_NNTP - if (!option (OPTNEWSSEND)) -#endif - if (edit_header(mode, "To:")) - fputs ("To:\n", fp); + if (edit_header(mode, "To:")) + fputs ("To:\n", fp); if (env->cc) { fputs ("Cc: ", fp); mutt_write_address_list (env->cc, fp, 4, 0); } else if (mode > 0) -#ifdef USE_NNTP - if (!option (OPTNEWSSEND)) -#endif - if (edit_header(mode, "Cc:")) - fputs ("Cc:\n", fp); + if (edit_header(mode, "Cc:")) + fputs ("Cc:\n", fp); if (env->bcc) { if (mode != 0 || option (OPTWRITEBCC)) { @@ -1400,23 +1378,8 @@ int mutt_write_rfc822_header (FILE * fp, ENVELOPE * env, BODY * attach, } } else if (mode > 0) -#ifdef USE_NNTP - if (!option (OPTNEWSSEND)) -#endif - if (edit_header(mode, "Bcc:")) - fputs ("Bcc:\n", fp); - -#ifdef USE_NNTP - if (env->newsgroups) - fprintf (fp, "Newsgroups: %s\n", env->newsgroups); - else if (mode == 1 && option (OPTNEWSSEND) && edit_header(mode, "Newsgroups:")) - fputs ("Newsgroups:\n", fp); - - if (env->followup_to) - fprintf (fp, "Followup-To: %s\n", env->followup_to); - else if (mode == 1 && option (OPTNEWSSEND) && edit_header(mode, "Followup-To:")) - fputs ("Followup-To:\n", fp); -#endif + if (edit_header(mode, "Bcc:")) + fputs ("Bcc:\n", fp); if (env->subject) fprintf (fp, "Subject: %s\n", env->subject); @@ -1424,7 +1387,7 @@ int mutt_write_rfc822_header (FILE * fp, ENVELOPE * env, BODY * attach, fputs ("Subject:\n", fp); /* save message id if the user has set it */ - if (env->message_id && !privacy) + if (env->message_id) fprintf (fp, "Message-ID: %s\n", env->message_id); if (env->reply_to) { @@ -1434,14 +1397,10 @@ int mutt_write_rfc822_header (FILE * fp, ENVELOPE * env, BODY * attach, else if (mode > 0 && edit_header(mode, "Reply-To:")) fputs ("Reply-To:\n", fp); - if (env->mail_followup_to) -#ifdef USE_NNTP - if (!option (OPTNEWSSEND)) -#endif - { - fputs ("Mail-Followup-To: ", fp); - mutt_write_address_list (env->mail_followup_to, fp, 18, 0); - } + if (env->mail_followup_to) { + fputs ("Mail-Followup-To: ", fp); + mutt_write_address_list (env->mail_followup_to, fp, 18, 0); + } if (mode <= 0) { if (env->references) { @@ -1471,8 +1430,6 @@ int mutt_write_rfc822_header (FILE * fp, ENVELOPE * env, BODY * attach, /* check to see if the user has overridden the user-agent field */ if (!ascii_strncasecmp ("user-agent", tmp->data, 10)) { has_agent = 1; - if (privacy) - continue; } fputs (tmp->data, fp); @@ -1480,7 +1437,7 @@ int mutt_write_rfc822_header (FILE * fp, ENVELOPE * env, BODY * attach, } } - if (mode == 0 && !privacy && option (OPTXMAILER) && !has_agent) { + if (mode == 0 && option (OPTXMAILER) && !has_agent) { if (mod_core.operating_system) { fprintf(fp, "User-Agent: %s (%s)\n", mutt_make_version(), mod_core.operating_system); @@ -1816,19 +1773,7 @@ int mutt_invoke_mta(address_t *from, address_t *to, address_t *cc, ssize_t argslen = 0, argsmax = 0; int i; -#ifdef USE_NNTP - if (option (OPTNEWSSEND)) { - m_strformat(cmd, sizeof(cmd), 0, Inews, nntp_format_str, 0, 0); - if (m_strisempty(cmd)) { - i = nntp_post (msg); - unlink (msg); - return i; - } - } else -#endif - { - m_strcpy(cmd, sizeof(cmd), MTransport.sendmail); - } + m_strcpy(cmd, sizeof(cmd), MTransport.sendmail); ps = cmd; i = 0; @@ -1851,36 +1796,30 @@ int mutt_invoke_mta(address_t *from, address_t *to, address_t *cc, i++; } -#ifdef USE_NNTP - if (!option (OPTNEWSSEND)) { -#endif - if (eightbit && MTransport.use_8bitmime) - args = add_option(args, &argslen, &argsmax, "-B8BITMIME"); - - if (MTransport.use_envelope_from) { - address_t *f = MTransport.envelope_from_address; - if (!f && from && !from->next) - f = from; - if (f) { - args = add_option (args, &argslen, &argsmax, "-f"); - args = add_args (args, &argslen, &argsmax, f); - } - } - if (MTransport.dsn_notify) { - args = add_option (args, &argslen, &argsmax, "-N"); - args = add_option (args, &argslen, &argsmax, MTransport.dsn_notify); - } - if (MTransport.dsn_return) { - args = add_option (args, &argslen, &argsmax, "-R"); - args = add_option (args, &argslen, &argsmax, MTransport.dsn_return); + if (eightbit && MTransport.use_8bitmime) + args = add_option(args, &argslen, &argsmax, "-B8BITMIME"); + + if (MTransport.use_envelope_from) { + address_t *f = MTransport.envelope_from_address; + if (!f && from && !from->next) + f = from; + if (f) { + args = add_option (args, &argslen, &argsmax, "-f"); + args = add_args (args, &argslen, &argsmax, f); } - args = add_option (args, &argslen, &argsmax, "--"); - args = add_args (args, &argslen, &argsmax, to); - args = add_args (args, &argslen, &argsmax, cc); - args = add_args (args, &argslen, &argsmax, bcc); -#ifdef USE_NNTP } -#endif + if (MTransport.dsn_notify) { + args = add_option (args, &argslen, &argsmax, "-N"); + args = add_option (args, &argslen, &argsmax, MTransport.dsn_notify); + } + if (MTransport.dsn_return) { + args = add_option (args, &argslen, &argsmax, "-R"); + args = add_option (args, &argslen, &argsmax, MTransport.dsn_return); + } + args = add_option (args, &argslen, &argsmax, "--"); + args = add_args (args, &argslen, &argsmax, to); + args = add_args (args, &argslen, &argsmax, cc); + args = add_args (args, &argslen, &argsmax, bcc); if (argslen >= argsmax) p_realloc(&args, ++argsmax); @@ -2039,15 +1978,8 @@ int mutt_bounce_message (FILE * fp, HEADER * h, address_t * to) return -1; } rfc822_addrcat(resent_from, sizeof(resent_from), from, 0); - -#ifdef USE_NNTP - unset_option (OPTNEWSSEND); -#endif - ret = _mutt_bounce_message (fp, h, to, resent_from, from); - address_list_wipe(&from); - return ret; } @@ -2099,7 +2031,7 @@ int mutt_write_fcc (const char *path, HEADER * hdr, const char *msgid, /* post == 1 => postpone message. Set mode = -1 in mutt_write_rfc822_header() * post == 0 => Normal mode. Set mode = 0 in mutt_write_rfc822_header() * */ - mutt_write_rfc822_header(msg->fp, hdr->env, hdr->content, -post, 0); + mutt_write_rfc822_header(msg->fp, hdr->env, hdr->content, -post); /* (postponment) if this was a reply of some sort, contians the * Message-ID: of message replied to. Save it using a special X-Mutt- @@ -2150,19 +2082,6 @@ int mutt_write_fcc (const char *path, HEADER * hdr, const char *msgid, fputc ('\n', msg->fp); } - /* (postponement) if the mail is to be sent through a mixmaster - * chain, save that information - */ - if (post && hdr->chain && hdr->chain) { - string_list_t *p; - - fputs ("X-Mutt-Mix:", msg->fp); - for (p = hdr->chain; p; p = p->next) - fprintf (msg->fp, " %s", (char *) p->data); - - fputc ('\n', msg->fp); - } - if (tempfp) { char sasha[LONG_STRING]; int lines = 0;