push username, homedir and tmpdir in lua too.
[apps/madmutt.git] / lib-crypt / crypt-gpgme.c
index 0f0b00f..c0d4b7f 100644 (file)
@@ -348,7 +348,7 @@ static gpgme_data_t body_to_data_object (BODY * a, int convert)
   int err = 0;
   gpgme_data_t data;
 
-  fptmp = m_tempfile(tempfile, sizeof(tempfile), NONULL(Tempdir), NULL);
+  fptmp = m_tempfile(tempfile, sizeof(tempfile), NONULL(MCore.tmpdir), NULL);
   if (!fptmp) {
     mutt_perror (_("Can't create temporary file"));
     return NULL;
@@ -454,7 +454,7 @@ static char *data_object_to_tempfile (gpgme_data_t data, FILE ** ret_fp)
   FILE *fp;
   ssize_t nread = 0;
 
-  fp = m_tempfile(tempfile, sizeof(tempfile), NONULL(Tempdir), NULL);
+  fp = m_tempfile(tempfile, sizeof(tempfile), NONULL(MCore.tmpdir), NULL);
   if (!fp) {
     mutt_perror (_("Can't create temporary file"));
     return NULL;
@@ -1012,7 +1012,7 @@ static void show_fingerprint (gpgme_key_t key, STATE * state)
   is_pgp = (key->protocol == GPGME_PROTOCOL_OpenPGP);
 
   bufsize = m_strlen(prefix) + m_strlen(s) * 4 + 2;
-  buf = xmalloc(bufsize);
+  buf = p_new(char, bufsize);
   m_strcpy(buf, bufsize, prefix);
   p = buf + m_strlen(buf);
   if (is_pgp && m_strlen(s) == 40) {     /* PGP v4 style formatted. */
@@ -1467,7 +1467,7 @@ int pgp_gpgme_decrypt_mime (FILE * fpin, FILE ** fpout, BODY * b, BODY ** cur)
 
   p_clear(&s, 1);
   s.fpin = fpin;
-  *fpout = m_tempfile(tempfile, sizeof(tempfile), NONULL(Tempdir), NULL);
+  *fpout = m_tempfile(tempfile, sizeof(tempfile), NONULL(MCore.tmpdir), NULL);
   if (!*fpout) {
     mutt_perror (_("Can't create temporary file"));
     return -1;
@@ -1512,7 +1512,7 @@ int smime_gpgme_decrypt_mime (FILE * fpin, FILE ** fpout, BODY * b,
   p_clear(&s, 1);
   s.fpin = fpin;
   fseeko (s.fpin, b->offset, 0);
-  tmpfp = m_tempfile (tempfile, sizeof(tempfile), NONULL(Tempdir), NULL);
+  tmpfp = m_tempfile (tempfile, sizeof(tempfile), NONULL(MCore.tmpdir), NULL);
   if (!tmpfp) {
     mutt_perror (_("Can't create temporary file"));
     return -1;
@@ -1529,7 +1529,7 @@ int smime_gpgme_decrypt_mime (FILE * fpin, FILE ** fpout, BODY * b,
   p_clear(&s, 1);
   s.fpin = tmpfp;
   s.fpout = 0;
-  *fpout = m_tempfile(tempfile, sizeof(tempfile), NONULL(Tempdir), NULL);
+  *fpout = m_tempfile(tempfile, sizeof(tempfile), NONULL(MCore.tmpdir), NULL);
   if (!*fpout) {
     mutt_perror (_("Can't create temporary file"));
     return -1;
@@ -1564,7 +1564,7 @@ int smime_gpgme_decrypt_mime (FILE * fpin, FILE ** fpout, BODY * b,
     p_clear(&s, 1);
     s.fpin = *fpout;
     fseeko (s.fpin, bb->offset, 0);
-    tmpfp = m_tempfile (tempfile, sizeof(tempfile), NONULL(Tempdir), NULL);
+    tmpfp = m_tempfile (tempfile, sizeof(tempfile), NONULL(MCore.tmpdir), NULL);
     if (!tmpfp) {
       mutt_perror (_("Can't create temporary file"));
       return -1;
@@ -1582,7 +1582,7 @@ int smime_gpgme_decrypt_mime (FILE * fpin, FILE ** fpout, BODY * b,
     p_clear(&s, 1);
     s.fpin = tmpfp;
     s.fpout = 0;
-    *fpout = m_tempfile(tempfile, sizeof(tempfile), NONULL(Tempdir), NULL);
+    *fpout = m_tempfile(tempfile, sizeof(tempfile), NONULL(MCore.tmpdir), NULL);
     if (!*fpout) {
       mutt_perror (_("Can't create temporary file"));
       return -1;
@@ -1614,6 +1614,7 @@ static int pgp_check_traditional_one_body (FILE * fp, BODY * b,
   char tempfile[_POSIX_PATH_MAX];
   char buf[HUGE_STRING];
   FILE *tfp;
+  int tempfd;
 
   short sgn = 0;
   short enc = 0;
@@ -1624,13 +1625,13 @@ static int pgp_check_traditional_one_body (FILE * fp, BODY * b,
   if (tagged_only && !b->tagged)
     return 0;
 
-  mutt_mktemp (tempfile);
-  if (mutt_decode_save_attachment (fp, b, tempfile, 0, 0) != 0) {
+  tempfd = m_tempfd(tempfile, sizeof(tempfile), NONULL(MCore.tmpdir), NULL);
+  if (mutt_decode_save_attachment (fp, b, tempfd, 0) != 0) {
     unlink (tempfile);
     return 0;
   }
 
-  if ((tfp = fopen (tempfile, "r")) == NULL) {
+  if ((tfp = fopen(tempfile, "r")) == NULL) {
     unlink (tempfile);
     return 0;
   }
@@ -1993,7 +1994,7 @@ int pgp_gpgme_encrypted_handler (BODY * a, STATE * s)
   /* Move forward to the application/pgp-encrypted body. */
   a = a->next;
 
-  fpout = m_tempfile(tempfile, sizeof(tempfile), NONULL(Tempdir), NULL);
+  fpout = m_tempfile(tempfile, sizeof(tempfile), NONULL(MCore.tmpdir), NULL);
   if (!fpout) {
     if (s->flags & M_DISPLAY)
       state_attach_puts (_("[-- Error: could not create temporary file! "
@@ -2053,7 +2054,7 @@ int smime_gpgme_application_handler (BODY * a, STATE * s)
   int rc = 0;
 
   a->warnsig = 0;
-  fpout = m_tempfile(tempfile, sizeof(tempfile), NONULL(Tempdir), NULL);
+  fpout = m_tempfile(tempfile, sizeof(tempfile), NONULL(MCore.tmpdir), NULL);
   if (!fpout) {
     if (s->flags & M_DISPLAY)
       state_attach_puts (_("[-- Error: could not create temporary file! "
@@ -2516,7 +2517,7 @@ static const unsigned char *parse_dn_part (struct dn_array_s *array,
     if (!n || (n & 1))
       return NULL;              /* empty or odd number of digits */
     n /= 2;
-    p = xmalloc(n + 1);
+    p = p_new(unsigned char, n + 1);
     array->value = (char *) p;
     for (s1 = string; n; s1 += 2, n--)
       *p++ = xtoi_2 (s1);
@@ -2546,7 +2547,7 @@ static const unsigned char *parse_dn_part (struct dn_array_s *array,
         n++;
     }
 
-    p = xmalloc(n + 1);
+    p = p_new(unsigned char, n + 1);
     array->value = (char *) p;
     for (s = string; n; s++, n--) {
       if (*s == '\\') {
@@ -2924,7 +2925,7 @@ static void verify_key (crypt_key_t * key)
   gpgme_key_t k = NULL;
   int maxdepth = 100;
 
-  fp = m_tempfile (tempfile, sizeof(tempfile), NONULL(Tempdir), NULL);
+  fp = m_tempfile (tempfile, sizeof(tempfile), NONULL(MCore.tmpdir), NULL);
   if (!fp) {
     mutt_perror (_("Can't create temporary file"));
     return;