sup

A curses threads-with-tags style email client

sup.git

git clone https://supmua.dev/git/sup/
commit 0e1f5e56dc7063104c52f1b2d03a3fd85573bc47
parent 9b1721cce09fc18bd9975d9b24918c8c314aaabe
Author: Hamish Downer <dmishd@gmail.com>
Date:   Wed,  2 Feb 2011 21:02:05 +0000

signature summary now states "untrusted" if the signing key is not trusted

Diffstat:
M lib/sup/crypto.rb | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/lib/sup/crypto.rb b/lib/sup/crypto.rb
@@ -153,16 +153,18 @@ EOS
       end
     end
 
+    summary_line = simplify_sig_line(verify_result.signatures[0].to_s, all_trusted)
+
     if all_output_lines.length == 0
       Chunk::CryptoNotice.new :valid, "Encrypted message wasn't signed", all_output_lines
     elsif valid
       if all_trusted
-        Chunk::CryptoNotice.new(:valid, simplify_sig_line(verify_result.signatures[0].to_s), all_output_lines)
+        Chunk::CryptoNotice.new(:valid, summary_line, all_output_lines)
       else
-        Chunk::CryptoNotice.new(:valid_untrusted, simplify_sig_line(verify_result.signatures[0].to_s), all_output_lines)
+        Chunk::CryptoNotice.new(:valid_untrusted, summary_line, all_output_lines)
       end
     elsif !unknown
-      Chunk::CryptoNotice.new(:invalid, simplify_sig_line(verify_result.signatures[0].to_s), all_output_lines)
+      Chunk::CryptoNotice.new(:invalid, summary_line, all_output_lines)
     else
       unknown_status all_output_lines
     end
@@ -274,8 +276,12 @@ private
   end
 
   # remove the hex key_id and info in ()
-  def simplify_sig_line sig_line
-    sig_line.sub(/from [0-9A-F]{16} /, "from ")
+  def simplify_sig_line sig_line, trusted
+    sig_line.sub!(/from [0-9A-F]{16} /, "from ")
+    if !trusted
+      sig_line.sub!(/Good signature/, "Good (untrusted) signature")
+    end
+    sig_line
   end
 
   def sig_output_lines signature