]> granicus.if.org Git - mutt/commitdiff
Fix process_gossip_headers() to look at the right envelope.
authorKevin McCarthy <kevin@8t8.us>
Thu, 25 Jul 2019 01:59:07 +0000 (18:59 -0700)
committerKevin McCarthy <kevin@8t8.us>
Sat, 3 Aug 2019 21:08:09 +0000 (14:08 -0700)
autocrypt/autocrypt.c
autocrypt/autocrypt.h
commands.c

index 7ac2bd5f706d7083f602b80d0ac7923fcbfc5dba..d56d70eac78612278a7ff548c3fd23c94c2a9be2 100644 (file)
@@ -305,8 +305,9 @@ cleanup:
   return rv;
 }
 
-int mutt_autocrypt_process_gossip_header (HEADER *hdr, ENVELOPE *env)
+int mutt_autocrypt_process_gossip_header (HEADER *hdr, ENVELOPE *prot_headers)
 {
+  ENVELOPE *env;
   AUTOCRYPTHDR *ac_hdr;
   struct timeval now;
   AUTOCRYPT_PEER *peer = NULL;
@@ -322,9 +323,11 @@ int mutt_autocrypt_process_gossip_header (HEADER *hdr, ENVELOPE *env)
   if (mutt_autocrypt_init (0))
     return -1;
 
-  if (!hdr || !hdr->content || !env)
+  if (!hdr || !hdr->env || !prot_headers)
     return 0;
 
+  env = hdr->env;
+
   if (!env->from)
     return 0;
 
@@ -342,7 +345,7 @@ int mutt_autocrypt_process_gossip_header (HEADER *hdr, ENVELOPE *env)
   rfc822_append (last ? &last : &recips, env->reply_to, 0);
   mutt_autocrypt_db_normalize_addrlist (recips);
 
-  for (ac_hdr = env->autocrypt_gossip; ac_hdr; ac_hdr = ac_hdr->next)
+  for (ac_hdr = prot_headers->autocrypt_gossip; ac_hdr; ac_hdr = ac_hdr->next)
   {
     if (ac_hdr->invalid)
       continue;
index 83c5f7c8ff40899d8ed944327bd54cb57700afef..787797778937a4cbec81648b5f2184ea9d90f299 100644 (file)
@@ -74,7 +74,7 @@ typedef enum
 int mutt_autocrypt_init (int);
 void mutt_autocrypt_cleanup (void);
 int mutt_autocrypt_process_autocrypt_header (HEADER *hdr, ENVELOPE *env);
-int mutt_autocrypt_process_gossip_header (HEADER *hdr, ENVELOPE *env);
+int mutt_autocrypt_process_gossip_header (HEADER *hdr, ENVELOPE *prot_headers);
 autocrypt_rec_t mutt_autocrypt_ui_recommendation (HEADER *hdr, char **keylist);
 int mutt_autocrypt_set_sign_as_default_key (HEADER *hdr);
 int mutt_autocrypt_write_autocrypt_header (ENVELOPE *env, FILE *fp);
index 902e3f2ab635b6216037524b1b9ac3e7ada09c3c..7e503a293032d48a7c7dd9223edb806012b30145 100644 (file)
@@ -147,7 +147,7 @@ static void process_protected_headers (HEADER *cur)
       prot_headers &&
       prot_headers->autocrypt_gossip)
   {
-    mutt_autocrypt_process_gossip_header (cur, cur->env);
+    mutt_autocrypt_process_gossip_header (cur, prot_headers);
   }
 #endif
 }