X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=commands.c;h=cf56023a22a374fbdfbbfb0e373942b827c37ebf;hp=d8a10d7f886ecfba667c8221e324f916cf196dec;hb=73359dc55ff8f4da32149f7270f7ceaccd658256;hpb=9ed7a487e3a922f2cbb222961c2c9710c3a65f91 diff --git a/commands.c b/commands.c index d8a10d7..cf56023 100644 --- a/commands.c +++ b/commands.c @@ -16,6 +16,7 @@ #include #include +#include #include #include #include @@ -27,7 +28,7 @@ #include "sort.h" #include "copy.h" #include "pager.h" -#include +#include "crypt.h" #include "mutt_idna.h" #include #include @@ -55,7 +56,7 @@ int mutt_display_message (HEADER * cur) mutt_parse_mime_message (Context, cur); mutt_message_hook (Context, cur, M_MESSAGEHOOK); - fpout = m_tempfile(tempfile, sizeof(tempfile), NONULL(Tempdir), NULL); + fpout = m_tempfile(tempfile, sizeof(tempfile), NONULL(MCore.tmpdir), NULL); if (!fpout) { mutt_error _("Could not create temporary file!"); return 0; @@ -90,11 +91,6 @@ int mutt_display_message (HEADER * cur) /* see if crytpo is needed for this message. if so, we should exit curses */ if (cur->security) { if (cur->security & ENCRYPT) { - if (cur->security & APPLICATION_SMIME) - crypt_smime_getkeys (cur->env); - if (!crypt_valid_passphrase (cur->security)) - return 0; - cmflags |= M_CM_VERIFY; } else if (cur->security & SIGN) { @@ -107,15 +103,7 @@ int mutt_display_message (HEADER * cur) } if (cmflags & M_CM_VERIFY || cur->security & ENCRYPT) { - if (cur->security & APPLICATION_PGP) { - if (cur->env->from) - crypt_pgp_invoke_getkeys (cur->env->from); - - crypt_invoke_message (APPLICATION_PGP); - } - - if (cur->security & APPLICATION_SMIME) - crypt_invoke_message (APPLICATION_SMIME); + crypt_invoke_message(cur->security); } res = _mutt_copy_message (fpout, msg->fp, cur, cur->content, cmflags, @@ -134,16 +122,6 @@ int mutt_display_message (HEADER * cur) mutt_wait_filter (filterpid); m_fclose(&fpfilterout); } -#if 0 - /* this is maybe just plain wrong but it makes the pager display - * what we have; i.e. for the crypto stuff we only get - * 'Could not copy message' for invalid passphrases, no PGP output - * not nothing; so just display what we have... - * - pdmef - */ - mutt_unlink (tempfile); - return 0; -#endif } if (fpfilterout != NULL && mutt_wait_filter (filterpid) != 0) @@ -217,7 +195,7 @@ int mutt_display_message (HEADER * cur) void ci_bounce_message (HEADER * h, int *redraw) { - char prompt[SHORT_STRING]; + char prompt[STRING]; char buf[HUGE_STRING] = { 0 }; address_t *adr = NULL; char *err = NULL; @@ -254,14 +232,14 @@ void ci_bounce_message (HEADER * h, int *redraw) } buf[0] = 0; - rfc822_write_address (buf, sizeof (buf), adr, 1); + rfc822_addrcat(buf, sizeof (buf), adr, 1); #define extra_space (15 + 7 + 2) snprintf (prompt, sizeof (prompt), (h ? _("Bounce message to %s") : _("Bounce messages to %s")), buf); - if (mutt_strwidth (prompt) > COLS - extra_space) { + if (m_strwidth(prompt) > COLS - extra_space) { mutt_format_string(prompt, sizeof(prompt), 0, COLS - extra_space, 0, 0, prompt, sizeof(prompt), 0); m_strcat(prompt, sizeof(prompt), "...?"); @@ -310,8 +288,6 @@ static void pipe_msg (HEADER * h, FILE * fp, int decode, int print) pipe_set_flags (decode, print, &cmflags, &chflags); if (decode && h->security & ENCRYPT) { - if (!crypt_valid_passphrase (h->security)) - return; endwin (); } @@ -344,8 +320,6 @@ static int _mutt_pipe_message(HEADER * h, char *cmd, int decode, int print, if (decode) { mutt_parse_mime_message (Context, h); - if (h->security & ENCRYPT && !crypt_valid_passphrase (h->security)) - return 1; } mutt_endwin (NULL); @@ -367,10 +341,6 @@ static int _mutt_pipe_message(HEADER * h, char *cmd, int decode, int print, mutt_message_hook (Context, Context->hdrs[Context->v2r[i]], M_MESSAGEHOOK); mutt_parse_mime_message (Context, Context->hdrs[Context->v2r[i]]); - if (Context->hdrs[Context->v2r[i]]->security & ENCRYPT && - !crypt_valid_passphrase (Context->hdrs[Context->v2r[i]]-> - security)) - return 1; } } @@ -441,7 +411,7 @@ void mutt_pipe_message (HEADER * h) void mutt_print_message (HEADER * h) { - if (quadoption (OPT_PRINT) && (!PrintCmd || !*PrintCmd)) { + if (quadoption (OPT_PRINT) && m_strisempty(PrintCmd)) { mutt_message (_("No printing command has been defined.")); return; } @@ -528,8 +498,8 @@ void mutt_shell_escape (void) buf[0] = 0; if (mutt_get_field (_("Shell command: "), buf, sizeof (buf), M_CMD) == 0) { - if (!buf[0] && Shell) - m_strcpy(buf, sizeof(buf), Shell); + if (!buf[0]) + m_strcpy(buf, sizeof(buf), MCore.shell); if (buf[0]) { CLEARLINE (LINES - 1); mutt_endwin (NULL); @@ -544,7 +514,7 @@ void mutt_shell_escape (void) void mutt_enter_command (void) { BUFFER err, token; - char buffer[LONG_STRING], errbuf[SHORT_STRING]; + char buffer[LONG_STRING], errbuf[STRING]; int r; buffer[0] = 0; @@ -570,7 +540,7 @@ void mutt_enter_command (void) void mutt_display_address (ENVELOPE * env) { const char *pfx = NULL; - char buf[SHORT_STRING]; + char buf[STRING]; address_t *adr = NULL; adr = mutt_get_address(env, &pfx); @@ -586,7 +556,7 @@ void mutt_display_address (ENVELOPE * env) */ buf[0] = 0; - rfc822_write_address (buf, sizeof (buf), adr, 0); + rfc822_addrcat(buf, sizeof (buf), adr, 0); mutt_message ("%s: %s", pfx, buf); } @@ -651,7 +621,7 @@ int mutt_save_message (HEADER * h, int delete, int decode, int decrypt, int *redraw) { int i, need_buffy_cleanup; int need_passphrase = 0, app = 0; - char prompt[SHORT_STRING], buf[_POSIX_PATH_MAX]; + char prompt[STRING], buf[_POSIX_PATH_MAX]; CONTEXT ctx; struct stat st; struct utimbuf ut; @@ -722,10 +692,6 @@ int mutt_save_message (HEADER * h, int delete, if (mutt_save_confirm (buf, &st) != 0) return -1; - if (need_passphrase && (decode || decrypt) - && !crypt_valid_passphrase (app)) - return -1; - mutt_message (_("Copying to %s..."), buf); if (Context->magic == M_IMAP && !(decode || decrypt) && mx_get_magic (buf) == M_IMAP) { @@ -787,7 +753,7 @@ int mutt_save_message (HEADER * h, int delete, void mutt_version (void) { - mutt_message (mutt_make_version (1)); + mutt_message (mutt_make_version()); } void mutt_edit_content_type (HEADER * h, BODY * b, FILE * fp) @@ -863,12 +829,12 @@ void mutt_edit_content_type (HEADER * h, BODY * b, FILE * fp) if (!is_multipart(b) && b->parts) body_list_wipe(&b->parts); - if (!mutt_is_message_type (b->type, b->subtype) && b->hdr) { + if (!mutt_is_message_type(b) && b->hdr) { b->hdr->content = NULL; header_delete(&b->hdr); } - if (fp && (is_multipart(b) || mutt_is_message_type(b->type, b->subtype))) + if (fp && (is_multipart(b) || mutt_is_message_type(b))) mutt_parse_part (fp, b); if (h) {