streamline headers
[apps/madmutt.git] / crypt.cpkg
index b140ddf..7047775 100644 (file)
@@ -16,7 +16,7 @@
 #include <gpgme.h>
 
 #include <lib-mime/mime.h>
 #include <gpgme.h>
 
 #include <lib-mime/mime.h>
-#include <lib-ui/curses.h>
+#include <lib-ui/lib-ui.h>
 #include <lib-ui/enter.h>
 #include <lib-ui/menu.h>
 #include <lib-mx/mx.h>
 #include <lib-ui/enter.h>
 #include <lib-ui/menu.h>
 #include <lib-mx/mx.h>
@@ -1217,7 +1217,6 @@ static int crypt_verify_one(BODY *sigbdy, STATE *s, FILE *fp, int is_smime)
   state_attach_puts (_("[-- Begin signature information --]\n"), s);
 
   err = gpgme_op_verify (ctx, signature, message, NULL);
   state_attach_puts (_("[-- Begin signature information --]\n"), s);
 
   err = gpgme_op_verify (ctx, signature, message, NULL);
-  mutt_need_hard_redraw ();
   if (err) {
     char buf[200];
 
   if (err) {
     char buf[200];
 
@@ -2269,8 +2268,8 @@ static void crypt_entry (char *s, ssize_t l, MUTTMENU * menu, int num)
   entry.key = cryptkey_table[num];
   entry.num = num + 1;
 
   entry.key = cryptkey_table[num];
   entry.num = num + 1;
 
-  m_strformat(s, l, COLS - SW, mod_crypt.pgp_entry_format, crypt_entry_fmt,
-              &entry, 0);
+  m_strformat(s, l, getmaxx(main_w), mod_crypt.pgp_entry_format,
+              crypt_entry_fmt, &entry, 0);
 }
 
 /* Compare two addresses and the keyid to be used for sorting. */
 }
 
 /* Compare two addresses and the keyid to be used for sorting. */
@@ -3036,7 +3035,7 @@ static cryptkey_t *crypt_select_key (cryptkey_t * keys,
   cryptkey_t **cryptkey_table;
   MUTTMENU *menu;
   int i, done = 0;
   cryptkey_t **cryptkey_table;
   MUTTMENU *menu;
   int i, done = 0;
-  char helpstr[STRING], buf[LONG_STRING];
+  char buf[LONG_STRING];
   cryptkey_t *k;
   int (*f) (const void *, const void *);
   int menu_to_use = 0;
   cryptkey_t *k;
   int (*f) (const void *, const void *);
   int menu_to_use = 0;
@@ -3090,23 +3089,10 @@ static cryptkey_t *crypt_select_key (cryptkey_t * keys,
   else if (app & APPLICATION_SMIME)
       menu_to_use = MENU_KEY_SELECT_SMIME;
 
   else if (app & APPLICATION_SMIME)
       menu_to_use = MENU_KEY_SELECT_SMIME;
 
-  helpstr[0] = 0;
-  mutt_make_help (buf, sizeof (buf), _("Exit  "), menu_to_use, OP_EXIT);
-  m_strcat(helpstr, sizeof(helpstr), buf);
-  mutt_make_help (buf, sizeof (buf), _("Select  "), menu_to_use,
-                  OP_GENERIC_SELECT_ENTRY);
-  m_strcat(helpstr, sizeof(helpstr), buf);
-  mutt_make_help (buf, sizeof (buf), _("Check key  "),
-                  menu_to_use, OP_VERIFY_KEY);
-  m_strcat(helpstr, sizeof(helpstr), buf);
-  mutt_make_help (buf, sizeof (buf), _("Help"), menu_to_use, OP_HELP);
-  m_strcat(helpstr, sizeof(helpstr), buf);
-
   menu = mutt_new_menu ();
   menu->max = i;
   menu->make_entry = crypt_entry;
   menu->menu = menu_to_use;
   menu = mutt_new_menu ();
   menu->max = i;
   menu->make_entry = crypt_entry;
   menu->menu = menu_to_use;
-  menu->help = helpstr;
   menu->data = cryptkey_table;
 
   {
   menu->data = cryptkey_table;
 
   {
@@ -4042,4 +4028,44 @@ int mutt_signed_handler(BODY *a, STATE *s)
   return (rc);
 }
 
   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: */
 /* vim:set ft=c: */