and even less cruft.
[apps/madmutt.git] / lib-crypt / crypt.c
index 99728dc..730c455 100644 (file)
@@ -30,7 +30,6 @@
 #include "handler.h"
 #include "copy.h"
 #include "crypt.h"
-#include "pgp.h"
 
 /* print the current time to avoid spoofing of the signature output */
 void crypt_current_time (STATE * s, const char *app_name)
@@ -52,84 +51,12 @@ void crypt_current_time (STATE * s, const char *app_name)
   state_attach_puts (tmp, s);
 }
 
-
-
-void crypt_forget_passphrase (void)
-{
-    crypt_pgp_void_passphrase ();
-    crypt_smime_void_passphrase ();
-    mutt_message _("Passphrase(s) forgotten.");
-}
-
-
-#if defined(HAVE_SETRLIMIT)
-
-static void disable_coredumps (void)
-{
-  struct rlimit rl = { 0, 0 };
-  static short done = 0;
-
-  if (!done) {
-    setrlimit (RLIMIT_CORE, &rl);
-    done = 1;
-  }
-}
-
-#endif /* HAVE_SETRLIMIT */
-
-
-int crypt_valid_passphrase (int flags)
-{
-  int ret = 0;
-
-# if defined(HAVE_SETRLIMIT)
-  disable_coredumps ();
-# endif
-
-  if (flags & APPLICATION_PGP)
-    ret = crypt_pgp_valid_passphrase ();
-
-  if (flags & APPLICATION_SMIME)
-    ret = crypt_smime_valid_passphrase ();
-
-  return ret;
-}
-
-
-
 int mutt_protect (HEADER * msg, char *keylist)
 {
   BODY *pbody = NULL, *tmp_pbody = NULL;
   BODY *tmp_smime_pbody = NULL;
   BODY *tmp_pgp_pbody = NULL;
   int flags = msg->security;
-  int i;
-
-  if ((msg->security & SIGN) && !crypt_valid_passphrase (msg->security))
-    return (-1);
-
-  if ((msg->security & PGPINLINE) == PGPINLINE) {
-    /* they really want to send it inline... go for it */
-    if (!isendwin ())
-      mutt_endwin _("Invoking PGP...");
-
-    pbody = crypt_pgp_traditional_encryptsign (msg->content, flags, keylist);
-    if (pbody) {
-      msg->content = pbody;
-      return 0;
-    }
-
-    /* otherwise inline won't work...ask for revert */
-    if ((i = query_quadoption(OPT_PGPMIMEAUTO,
-        _("Message can't be sent inline.  Revert to using PGP/MIME?")))
-        != M_YES) {
-      mutt_error _("Mail not sent.");
-
-      return -1;
-    }
-
-    /* go ahead with PGP/MIME */
-  }
 
   if (!isendwin ())
     mutt_endwin (NULL);
@@ -299,9 +226,9 @@ void convert_to_7bit (BODY * a)
       if (a->encoding != ENC7BIT) {
         a->encoding = ENC7BIT;
         convert_to_7bit (a->parts);
-      }
-      else if (option (OPTPGPSTRICTENC))
+      } else {
         convert_to_7bit (a->parts);
+      }
     }
     else if (a->type == TYPEMESSAGE &&
              m_strcasecmp(a->subtype, "delivery-status")) {
@@ -313,8 +240,7 @@ void convert_to_7bit (BODY * a)
     else if (a->encoding == ENCBINARY)
       a->encoding = ENCBASE64;
     else if (a->content && a->encoding != ENCBASE64 &&
-             (a->content->from || (a->content->space &&
-                                   option (OPTPGPSTRICTENC))))
+             (a->content->from || a->content->space))
       a->encoding = ENCQUOTEDPRINTABLE;
     a = a->next;
   }
@@ -324,7 +250,7 @@ void convert_to_7bit (BODY * a)
 void crypt_extract_keys_from_messages (HEADER * h)
 {
   int i;
-  char tempfname[_POSIX_PATH_MAX], *mbox;
+  char tempfname[_POSIX_PATH_MAX];
   address_t *tmp = NULL;
   FILE *fpout;
 
@@ -340,13 +266,6 @@ void crypt_extract_keys_from_messages (HEADER * h)
     for (i = 0; i < Context->vcount; i++) {
       if (Context->hdrs[Context->v2r[i]]->tagged) {
         mutt_parse_mime_message (Context, Context->hdrs[Context->v2r[i]]);
-        if (Context->hdrs[Context->v2r[i]]->security & ENCRYPT &&
-            !crypt_valid_passphrase (Context->hdrs[Context->v2r[i]]->
-                                     security)) {
-          m_fclose(&fpout);
-          break;
-        }
-
         if (Context->hdrs[Context->v2r[i]]->security & APPLICATION_PGP) {
           mutt_copy_message (fpout, Context, Context->hdrs[Context->v2r[i]],
                              M_CM_DECODE | M_CM_CHARCONV, 0);
@@ -371,12 +290,9 @@ void crypt_extract_keys_from_messages (HEADER * h)
           else if (Context->hdrs[Context->v2r[i]]->env->sender)
             tmp = mutt_expand_aliases (Context->hdrs[Context->v2r[i]]
                                        ->env->sender);
-          mbox = tmp ? tmp->mailbox : NULL;
-          if (mbox) {
-            mutt_endwin (_("Trying to extract S/MIME certificates...\n"));
-            crypt_smime_invoke_import (tempfname, mbox);
-            tmp = NULL;
-          }
+          mutt_endwin (_("Trying to extract S/MIME certificates...\n"));
+          crypt_smime_invoke_import(tempfname);
+          tmp = NULL;
         }
 
         rewind (fpout);
@@ -385,32 +301,27 @@ void crypt_extract_keys_from_messages (HEADER * h)
   }
   else {
     mutt_parse_mime_message (Context, h);
-    if (!(h->security & ENCRYPT && !crypt_valid_passphrase (h->security))) {
-      if (h->security & APPLICATION_PGP) {
-        mutt_copy_message (fpout, Context, h, M_CM_DECODE | M_CM_CHARCONV, 0);
-        fflush (fpout);
-        mutt_endwin (_("Trying to extract PGP keys...\n"));
-        crypt_pgp_invoke_import (tempfname);
-      }
+    if (h->security & APPLICATION_PGP) {
+      mutt_copy_message (fpout, Context, h, M_CM_DECODE | M_CM_CHARCONV, 0);
+      fflush (fpout);
+      mutt_endwin (_("Trying to extract PGP keys...\n"));
+      crypt_pgp_invoke_import (tempfname);
+    }
 
-      if (h->security & APPLICATION_SMIME) {
-        if (h->security & ENCRYPT)
-          mutt_copy_message (fpout, Context, h, M_CM_NOHEADER
-                             | M_CM_DECODE_CRYPT | M_CM_DECODE_SMIME, 0);
-        else
-          mutt_copy_message (fpout, Context, h, 0, 0);
-
-        fflush (fpout);
-        if (h->env->from)
-          tmp = mutt_expand_aliases (h->env->from);
-        else if (h->env->sender)
-          tmp = mutt_expand_aliases (h->env->sender);
-        mbox = tmp ? tmp->mailbox : NULL;
-        if (mbox) {             /* else ? */
-          mutt_message (_("Trying to extract S/MIME certificates...\n"));
-          crypt_smime_invoke_import (tempfname, mbox);
-        }
-      }
+    if (h->security & APPLICATION_SMIME) {
+      if (h->security & ENCRYPT)
+        mutt_copy_message (fpout, Context, h, M_CM_NOHEADER
+                           | M_CM_DECODE_CRYPT | M_CM_DECODE_SMIME, 0);
+      else
+        mutt_copy_message (fpout, Context, h, 0, 0);
+
+      fflush (fpout);
+      if (h->env->from)
+        tmp = mutt_expand_aliases (h->env->from);
+      else if (h->env->sender)
+        tmp = mutt_expand_aliases (h->env->sender);
+      mutt_message (_("Trying to extract S/MIME certificates...\n"));
+      crypt_smime_invoke_import(tempfname);
     }
   }