#!/usr/bin/perl



# written by jason steiner, jsteiner@anwsun.phya.utoledo.edu, Jan 1993

#

# if you use or make improvements to this program i would appreciate

# copies of your modifications & your PGP public key.



($visual = $ENV{'VISUAL'}) || ($visual = '/usr/ucb/vi');

system($visual,@ARGV);

while (!$q) {

        print "Sign this message? [Y]: ";

        $q = <STDIN>;

	$q =~ s/[ \t\n]//g;

	$q = substr ($q, 0, 1);

        if (($q eq 'Y') || ($q eq 'y') || ($q eq '')) {

                push(@opts,'-st','+clearsig=on');

                $q = "y";

        } elsif (($q ne 'N') && ($q ne 'n')) {

                $q = '';

        }

}

if (@opts) {

        $name = $ARGV[$#ARGV];

	umask(077);

        open(INPUT,$name);

        open(HEAD,">${name}.head");

        open(BODY,">${name}.body");

        while (<INPUT>) {

                if (1 .. /^$/) {

                        print HEAD;

			if (m/^From: / || m/^To: / || m/^Date: /) {

				print BODY;

			}

                } else {

                        print BODY;

                }

        }

        close(HEAD);

        close(BODY);

        system('pgp','-a',@opts,"${name}.body");

	if ($? == 0) {

        	unlink($name);

        	system "cat ${name}.head ${name}.body.asc > $name";

	}

        unlink("${name}.head");

        unlink("${name}.body");

        unlink("${name}.body.asc");

}



