# $Id: version.pl,v 1.1 1999/11/15 06:40:46 rra Exp $ # Copyright (c)1998 G.J. Andruk # version.pl - The version control message. # Parameters: params sender reply-to token site action[=log] approved sub control_version { my $artfh; my @params = split(/\s+/,shift); my $sender = shift; my $replyto = shift; my $token = shift; my $site = shift; my ($action, $logging) = split(/=/, shift); my $approved = shift; my $VERSION = $inn::version; $VERSION = "(unknown version)" if (not $VERSION); my $groupname = $params[0]; my $pid = $$; my $tempfile = "$inn::tmpdir/version.$pid"; my ($errmsg, $status, $nc, @component, @oldgroup, $locktry, $ngname, $ngdesc, $modcmd, $kid); if ($action eq "mail") { # open(TEMPFILE, ">$tempfile"); print TEMPFILE ("$sender has requested information about your\n", "news software version.\n\n", "If this is acceptable, type:\n", " echo \"InterNetNews\ $VERSION\" | ", "$inn::mailcmd -s \"version reply from ", "$inn::pathhost\" $replyto\n\n", "The control message follows:\n\n"); $artfh = open_article($token); next if (!defined($artfh)); *ARTICLE = $artfh; print TEMPFILE $_ while
; close(ARTICLE); close(TEMPFILE); logger($tempfile, "mail", "version $sender\n"); unlink($tempfile); } elsif ($action eq "log") { if (!$logging) { logmsg ('notice', 'version %s', $sender); } else { logger($token, $logging, "version $sender"); } } elsif ($action =~ /^(doit|doifarg)$/) { if (($action eq "doifarg") && ($params[0] ne $inn::pathhost)) { logmsg ('notice', 'skipped version %s', $sender); } else { $kid = open2 (\*R, \*MAIL, $inn::mailcmd, "-s", "version reply from $inn::pathhost", $replyto); print MAIL "InterNetNews $VERSION\n"; close R; close MAIL; waitpid($kid, 0); # Now, log what we did. if ($logging) { $errmsg = "version $sender to $replyto"; logger($token, $logging, $errmsg); } } } }