mutt: Autoencrypt ohne Gnade

  1. Ziel: Jede Email per Default verschlüsseln!
  2. Problem: Welche PGP Schlüssel habe ich überhaupt?

Die muttrc kann man grundsätzlich wie folgt erweitern:

send-hook . unset crypt_autoencrypt
group -group pgp-users -addr aaa@bbb.de
group -group pgp-users -addr www@xxx.de
send-hook "%C pgp-users" set crypt_autoencrypt

Ein bisschen Perl holt sich die möglichen Ziele direkt bei GnuPG ab. Am besten den Output in eine eigene Datei stecken und anschließend in die muttrc einbinden.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#!/usr/bin/perl -w
use strict;

sub load( $ ) {
	my $pgpcmd = shift;
	my $public = 0;
	my @group;

	open PIPE, "$pgpcmd |" or die;
	while( <PIPE> ) {
		s/\n//;

		if( $_ =~ m/^pub/ ) {
			my @pub = split /:/, $_;

			# Public key with encryption capability
			if( $pub[11] =~ m/E/ ) {
				$public = 1;
			} else {
				$public = 0;
			}
		}

		next if( $public == 0 );

		if( $_ =~ m/^uid/ ) {
			my @uid = split /:/, $_;
			my $mail = $uid[9];

			if( $mail =~ m/\S+\@\S+/ ) {
				$mail =~ s/.*<(\S+\@\S+)>.*/$1/;
				push @group, $mail;
			}
		}
	}
	close PIPE or die;

	return \@group;
}

sub result( $ ) {
	my $group = shift;

	foreach my $mail ( sort @{ $group } ) {
		print "group -group pgp-users -addr $mail\n";
	}

	print <<EOF

send-hook . unset crypt_autoencrypt
send-hook "%C pgp-users" set crypt_autoencrypt
EOF
;
}

sub main() {
	my $pgpgroup = load( "gpg2 --batch --with-colons --list-keys" );
	result( $pgpgroup );
}

main();

Demnächst kriege ich wohl Rückmeldungen über verlorene Schlüssel oder auf dem Telefon unlesbare Mails. Aber hey, wer seinen Key veröffentlicht, der will das so. :)




Kürbiszeit

Kürbiszeit




ERROR: The database format changed between beta 2 and 3

PostgreSQL Update unter Debian/SID:

$ aptitude upgrade
[...]
ERROR: The database format changed between beta 2 and 3. Please dump your 9.4 clusters first and remove them before upgrading the package.
[...]

Wie? Keine Ahnung. Trial&Error:

$ su - postgres
$ pg_dumpall > backup_today.sql # User/DB access
$ pg_dropcluster --stop 9.4 main
$ exit

$ aptitude upgrade

$ su - postgres
$ pg_createcluster --locale en_US.UTF-8 9.4 main
$ exit

$ /etc/init.d/postgresql start

$ su - postgres
$ psql -f backup_today.sql postgres # User/DB access
$ exit

(Beim nächsten Mal vorher noch /etc/postgresql sichern…)




Cursed

Ich habe jetzt fast alles einmal ausprobiert und doch kehre ich immer wieder zu den ncurses Applikationen zurück. Die uneinheitlichen Tasten Combos mag man vielleicht als Nachteil sehen. Aber hey, dafür braucht man keine Maus. Und nahezu alles steht in einfachen Text Dateien, die man mit dem besten Editor der Welt - vim - bearbeiten und mit Git prima über mehrere Computer verteilen kann.

Email: mutt

Hompage

RSS Reader: newsbeuter

Homepage

XMPP: mcabber

Homepage

IRC: irssi

Homepage

Kontakte: abook

Homepage

Kalender: calcurse

Homepage




Drachenfest 2014

Drachenfest 2014