# include "config.h"
#endif
+#include <lib-lib/mem.h>
+#include <lib-lib/macros.h>
+
#include "mutt.h"
#include "ascii.h"
#include "handler.h"
#include "mutt_crypt.h"
#include "pgp.h"
-#include "lib/mem.h"
-#include "lib/intl.h"
#include "lib/str.h"
#include <sys/wait.h>
/* print the current time to avoid spoofing of the signature output */
-void crypt_current_time (STATE * s, char *app_name)
+void crypt_current_time (STATE * s, const char *app_name)
{
time_t t;
char p[STRING], tmp[STRING];
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) {
-static void crypt_fetch_signatures (BODY *** signatures, BODY * a, int *n)
+static void crypt_fetch_signatures (BODY ***signatures, BODY * a, int *n)
{
if (!WithCrypto)
return;
crypt_fetch_signatures (signatures, a->parts, n);
else {
if ((*n % 5) == 0)
- mem_realloc (signatures, (*n + 6) * sizeof (BODY **));
+ p_realloc(signatures, *n + 6);
(*signatures)[(*n)++] = a;
}
* 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) {
state_attach_puts (_("[-- The following data is signed --]\n\n"), s);
- mem_free (&signatures);
+ p_delete(&signatures);
}
else
state_attach_puts (_("[-- Warning: Can't find any signatures. --]\n\n"),
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);
}