X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=crypt.cpkg;h=1387f54463546564fd91c0ebfcd8057fdad5b093;hp=b140ddf304dca8939175440ad656befd088b0e84;hb=3187ee0f1c5d5661eec8aa7c663aaaf42bcd5f9c;hpb=c50162101b316e88b95dc4259d45a259b38a972e diff --git a/crypt.cpkg b/crypt.cpkg index b140ddf..1387f54 100644 --- a/crypt.cpkg +++ b/crypt.cpkg @@ -4042,4 +4042,44 @@ int mutt_signed_handler(BODY *a, STATE *s) return (rc); } +static int _mutt_check_traditional_pgp (HEADER * h, int *redraw) +{ + MESSAGE *msg; + int rv = 0; + + h->security |= PGP_TRADITIONAL_CHECKED; + + mutt_parse_mime_message (Context, h); + if ((msg = mx_open_message (Context, h->msgno)) == NULL) + return 0; + if (crypt_pgp_check_traditional (msg->fp, h->content, 0)) { + h->security = crypt_query (h->content); + *redraw |= REDRAW_FULL; + rv = 1; + } + + h->security |= PGP_TRADITIONAL_CHECKED; + mx_close_message (&msg); + return rv; +} + +int mutt_check_traditional_pgp (HEADER * h, int *redraw) +{ + int i; + int rv = 0; + + if (h && !(h->security & PGP_TRADITIONAL_CHECKED)) + rv = _mutt_check_traditional_pgp (h, redraw); + else { + for (i = 0; i < Context->vcount; i++) + if (Context->hdrs[Context->v2r[i]]->tagged && + !(Context->hdrs[Context->v2r[i]]-> + security & PGP_TRADITIONAL_CHECKED)) + rv = + _mutt_check_traditional_pgp (Context->hdrs[Context->v2r[i]], redraw) + || rv; + } + return rv; +} + /* vim:set ft=c: */