]> ruderich.org/simon Gitweb - config/dotfiles.git/commitdiff
mutt/crypto-autoencrypt.pl: Minor cleanup.
authorSimon Ruderich <simon@ruderich.org>
Tue, 27 Aug 2013 17:03:34 +0000 (19:03 +0200)
committerSimon Ruderich <simon@ruderich.org>
Fri, 6 Sep 2013 02:40:49 +0000 (04:40 +0200)
Also add a comment describing why invalid UIDs aren't skipped. Thanks to
Simon Schuster for inspiring me to think about this issue.

mutt/crypto-autoencrypt.pl

index 6895dcc47b74dc06dac4ee7702efa211c93d1d92..c0a49ea76f3b6d70a2d5989046108fe47b8cbbf5 100755 (executable)
@@ -3,7 +3,7 @@
 # Helper script for mutt to create a list of send-hooks which enable
 # crypt_autoencrypt for known GnuPG keys.
 
-# Copyright (C) 2009-2012  Simon Ruderich
+# Copyright (C) 2009-2013  Simon Ruderich
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -24,7 +24,14 @@ use warnings;
 
 open my $gpg, '-|', 'gpg --list-keys --with-colons --fixed-list-mode' or die $!;
 while (<$gpg>) {
-    next unless /<(.+?@.+?)>/;
+    next if not /^uid:/;
+
+    # We don't skip invalid, deleted, revoked, expired and not-trusted UIDs to
+    # prevent sending an unencrypted mail when e.g. a key is revoked or
+    # expired. If you want to skip those UIDs, uncomment the next line.
+    #next if /^uid:[idren]:/;
+
+    next if not /<(.+?@.+?)>:/;
     print "send-hook '~t .*$1.*' 'set crypt_autoencrypt=yes'\n";
 }
 close $gpg or die $!;