#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>
char *tstr;
tstr = p_dupstr(buf, len);
- mutt_convert_string(&tstr, "utf-8", MCharset.charset, M_ICONV_HOOK_FROM);
+ mutt_convert_string(&tstr, "utf-8", mod_cset.charset, M_ICONV_HOOK_FROM);
fputs(tstr, fp);
p_delete(&tstr);
}
FILE *fp;
ssize_t nread = 0;
- fp = m_tempfile(tempfile, sizeof(tempfile), NONULL(MCore.tmpdir), NULL);
+ fp = m_tempfile(tempfile, sizeof(tempfile), NONULL(mod_core.tmpdir), NULL);
if (!fp) {
mutt_perror (_("Can't create temporary file"));
return 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 (tagged_only && !b->tagged)
return 0;
- tempfd = m_tempfd(tempfile, sizeof(tempfile), NONULL(MCore.tmpdir), NULL);
+ tempfd = m_tempfd(tempfile, sizeof(tempfile), NONULL(mod_core.tmpdir), NULL);
if (mutt_decode_save_attachment (fp, b, tempfd, 0) != 0) {
unlink (tempfile);
return 0;
unlink (fname);
p_delete(&fname);
- fc = fgetconv_open (fp, charset, MCharset.charset, M_ICONV_HOOK_FROM);
+ fc = fgetconv_open (fp, charset, mod_cset.charset, M_ICONV_HOOK_FROM);
for (complete = 1, armor_header = 1;
fgetconvs (buf, sizeof (buf), fc) != NULL;
int c;
rewind (pgpout);
- fc = fgetconv_open (pgpout, "utf-8", MCharset.charset, 0);
+ fc = fgetconv_open (pgpout, "utf-8", mod_cset.charset, 0);
while ((c = fgetconv (fc)) != EOF) {
state_putc (c, s);
if (c == '\n' && s->prefix)
/* Move forward to the application/pgp-encrypted body. */
a = a->next;
- fpout = m_tempfile(tempfile, sizeof(tempfile), NONULL(MCore.tmpdir), NULL);
+ fpout = m_tempfile(tempfile, sizeof(tempfile), NONULL(mod_core.tmpdir), NULL);
if (!fpout) {
if (s->flags & M_DISPLAY)
state_attach_puts (_("[-- Error: could not create temporary file! "
int rc = 0;
a->warnsig = 0;
- fpout = m_tempfile(tempfile, sizeof(tempfile), NONULL(MCore.tmpdir), NULL);
+ fpout = m_tempfile(tempfile, sizeof(tempfile), NONULL(mod_core.tmpdir), NULL);
if (!fpout) {
if (s->flags & M_DISPLAY)
state_attach_puts (_("[-- Error: could not create temporary file! "
entry.key = cryptkey_table[num];
entry.num = num + 1;
- m_strformat(s, l, COLS - SW, mod_crypt.pgp_entry_format, crypt_entry_fmt,
- &entry, option(OPTARROWCURSOR) ? M_FORMAT_ARROWCURSOR : 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. */
gpgme_key_t k = NULL;
int maxdepth = 100;
- fp = m_tempfile (tempfile, sizeof(tempfile), NONULL(MCore.tmpdir), NULL);
+ fp = m_tempfile (tempfile, sizeof(tempfile), NONULL(mod_core.tmpdir), NULL);
if (!fp) {
mutt_perror (_("Can't create temporary file"));
return;
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;
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->help = helpstr;
menu->data = cryptkey_table;
{
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: */