#!/usr/bin/perl -w
-
#
# onak-mail.pl - Mail processing interface for onak, an OpenPGP Keyserver.
#
# Copyright 2002 Project Purple
# Released under the GPL.
#
-# $Id: onak-mail.pl,v 1.7 2003/09/28 17:25:40 noodles Exp $
+# $Id: onak-mail.pl,v 1.8 2003/10/11 22:17:17 noodles Exp $
#
use strict;
print MERGEIN @data;
close MERGEIN;
@mergedata = <MERGEOUT>;
+ close MERGEOUT;
@errors = <MERGEERR>;
+ close MERGEERR;
return @mergedata;
}
push @body, $_;
}
}
+if (! defined($replyto)) {
+ $replyto = $from;
+}
# HELP, ADD, INCREMENTAL, VERBOSE INDEX <keyid>, INDEX <keyid>, GET <keyid>,
# LAST <days>
print MAIL "MIME-Version: 1.0\n";
print MAIL "Content-Type: application/pgp-keys\n";
print MAIL "\n";
- print @newupdate;
+ print MAIL @newupdate;
close MAIL;
}
+} elsif ($subject =~ /^(VERBOSE )?INDEX (.*)$/i) {
+ my (@indexdata, $command);
+
+ $command = "index";
+ if (defined($1)) {
+ $command = "vindex";
+ }
+
+ open3(\*INDEXIN, \*INDEXOUT, \*INDEXERR,
+ $config{'pks_bin_dir'}."/onak", $command, "$2");
+ close INDEXIN;
+ @indexdata = <INDEXOUT>;
+ close INDEXOUT;
+ close INDEXERR;
+
+ open(MAIL, "|$config{mta}");
+ print MAIL "From: $config{adminemail}\n";
+ print MAIL "To: $replyto\n";
+ print MAIL "Subject: Reply to INDEX $2\n";
+ print MAIL "Precedence: list\n";
+ print MAIL "MIME-Version: 1.0\n";
+ print MAIL "Content-Type: text/plain\n";
+ print MAIL "\n";
+ print MAIL "Below follows the reply to your recent keyserver query:\n";
+ print MAIL "\n";
+ print MAIL @indexdata;
+ close MAIL;
}