From 4e7482e666440c81639de77b316718c4d94da16c Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Tue, 15 Feb 2011 17:47:53 -0500 Subject: [PATCH] add gpgedit --- gpgedit | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100755 gpgedit diff --git a/gpgedit b/gpgedit new file mode 100755 index 0000000..21f9ba9 --- /dev/null +++ b/gpgedit @@ -0,0 +1,39 @@ +#!/usr/bin/perl + +use strict; +use warnings; + +sub usage +{ + print STDERR "Usage: $0 \n"; + exit(42); +} + +usage() unless ($#ARGV >= 0); +my $fname = shift(@ARGV); +my $dfname = $fname; +$dfname =~ s/\.gpg$//i; + +my $result = system('gpg', '--decrypt', '--output', $dfname, $fname); +if ($result != 0) +{ + print STDERR "Error decrypting: exiting.\n"; + exit(1); +} + +my $editor = $ENV{'EDITOR'}; +$editor = 'vim' if ($editor =~ /^\s*$/); + +system($editor, $dfname); + +my $recipient = $ENV{'GPGEDIT_RECIPIENT'}; +my @cmd = ('gpg', '--encrypt'); +if ($recipient !~ /^\s*$/) +{ + push(@cmd, '--recipient', $recipient); +} +push(@cmd, $dfname); + +system('mv', $fname, "$fname~"); +system(@cmd); +unlink($dfname);