X-Git-Url: http://git.madism.org/?a=blobdiff_plain;f=lib-crypt%2Fpgpmicalg.c;h=0edbfeaa4c6ce5619cddb63907e1c64719a05420;hb=8f75834aeadb902879602a82a259f4d3bf9c569c;hp=959ac3641e661994b9e67212d4a9bb4d1c198527;hpb=05a3bbbe420e4afc76e0eea24ce32f859405dc4a;p=apps%2Fmadmutt.git diff --git a/lib-crypt/pgpmicalg.c b/lib-crypt/pgpmicalg.c index 959ac36..0edbfea 100644 --- a/lib-crypt/pgpmicalg.c +++ b/lib-crypt/pgpmicalg.c @@ -11,25 +11,16 @@ * algorithm. */ -#if HAVE_CONFIG_H -# include "config.h" -#endif +#include + +#include +#include -#include "mutt.h" #include "handler.h" #include "pgp.h" #include "pgppacket.h" #include "charset.h" -#include -#include -#include -#include - -#include -#include - -#include static struct { short id; @@ -74,11 +65,10 @@ static void pgp_dearmor (FILE * in, FILE * out) /* find the beginning of ASCII armor */ while ((r = fgets (line, sizeof (line), in)) != NULL) { - if (!strncmp (line, "-----BEGIN", 10)) + if (!m_strncmp (line, "-----BEGIN", 10)) break; } if (r == NULL) { - debug_print (1, ("Can't find begin of ASCII armor.\n")); return; } @@ -90,7 +80,6 @@ static void pgp_dearmor (FILE * in, FILE * out) break; } if (r == NULL) { - debug_print (1, ("Armor header doesn't end.\n")); return; } @@ -100,32 +89,28 @@ static void pgp_dearmor (FILE * in, FILE * out) /* find the checksum */ while ((r = fgets (line, sizeof (line), in)) != NULL) { - if (*line == '=' || !strncmp (line, "-----END", 8)) + if (*line == '=' || !m_strncmp (line, "-----END", 8)) break; } if (r == NULL) { - debug_print (1, ("Can't find end of ASCII armor.\n")); return; } if ((end = ftello (in) - m_strlen(line)) < start) { - debug_print (1, ("end < start???\n")); return; } if (fseeko (in, start, SEEK_SET) == -1) { - debug_print (1, ("Can't seekto start.\n")); return; } - mutt_decode_base64 (&state, end - start, 0, (iconv_t) - 1); + mutt_decode_base64 (&state, end - start, 0, MUTT_ICONV_ERROR); } static short pgp_mic_from_packet (unsigned char *p, size_t len) { /* is signature? */ if ((p[0] & 0x3f) != PT_SIG) { - debug_print (1, ("tag = %d, want %d.\n", p[0] & 0x3f, PT_SIG)); return -1; } @@ -136,7 +121,6 @@ static short pgp_mic_from_packet (unsigned char *p, size_t len) /* version 4 signature */ return (short) p[4]; else { - debug_print (1, ("Bad signature packet.\n")); return -1; } } @@ -153,15 +137,15 @@ static short pgp_find_hash (const char *fname) short rv = -1; - mutt_mktemp (tempfile); - if ((out = safe_fopen (tempfile, "w+")) == NULL) { - mutt_perror (tempfile); + out = m_tempfile (tempfile, sizeof(tempfile), NONULL(MCore.tmpdir), NULL); + if (!out) { + mutt_perror (_("Can't create temporary file")); goto bye; } unlink (tempfile); if ((in = fopen (fname, "r")) == NULL) { - mutt_perror (fname); + mutt_perror (_("Can't create temporary file")); goto bye; } @@ -171,14 +155,11 @@ static short pgp_find_hash (const char *fname) if ((p = pgp_read_packet (out, &l)) != NULL) { rv = pgp_mic_from_packet (p, l); } - else { - debug_print (1, ("No packet.\n")); - } bye: - safe_fclose (&in); - safe_fclose (&out); + m_fclose(&in); + m_fclose(&out); pgp_release_packet (); return rv; }