#endif
#include "mutt.h"
+#include "ascii.h"
+#include "handler.h"
#include "mutt_curses.h"
#include "mime.h"
#include "copy.h"
return -1;
}
- fseek (s->fpin, a->hdr_offset, 0);
+ fseeko (s->fpin, a->hdr_offset, 0);
bytes = a->length + a->offset - a->hdr_offset;
hadcr = 0;
while (bytes > 0) {
* This routine verifies a "multipart/signed" body.
*/
-void mutt_signed_handler (BODY * a, STATE * s)
+int mutt_signed_handler (BODY * a, STATE * s)
{
char tempfile[_POSIX_PATH_MAX];
char *protocol;
int sigcnt = 0;
int i;
short goodsig = 1;
+ int rc = 0;
if (!WithCrypto)
- return;
+ return (-1);
protocol = mutt_get_parameter ("protocol", a->parameter);
a = a->parts;
state_attach_puts (_("[-- Error: "
"Inconsistent multipart/signed structure! --]\n\n"),
s);
- mutt_body_handler (a, s);
- return;
+ return mutt_body_handler (a, s);
}
state_printf (s, _("[-- Error: "
"Unknown multipart/signed protocol %s! --]\n\n"),
protocol);
- mutt_body_handler (a, s);
- return;
+ return mutt_body_handler (a, s);
}
if (s->flags & M_DISPLAY) {
s);
}
- mutt_body_handler (a, s);
+ rc = mutt_body_handler (a, s);
if (s->flags & M_DISPLAY && sigcnt)
state_attach_puts (_("\n[-- End of signed data --]\n"), s);
+
+ return (rc);
}