X-Git-Url: https://defaria.com/gitweb/?a=blobdiff_plain;f=maps%2Fbin%2FMAPSDeliver;h=ab6a2ff685906e6a04a6ebae31ca9148318e3811;hb=37489534599748bb39434caf2eb59a1211c651fe;hp=e58126c99b9424c5966d07e89a883938f9914c43;hpb=8dc4fbdb6ca710c7667dda9f6b7b1acac663bbfc;p=clearscm.git diff --git a/maps/bin/MAPSDeliver b/maps/bin/MAPSDeliver index e58126c..ab6a2ff 100755 --- a/maps/bin/MAPSDeliver +++ b/maps/bin/MAPSDeliver @@ -2,11 +2,11 @@ ################################################################################ # # File: $RCSfile: MAPSDeliver,v $ -# Revision: $Revision: 1.1 $ +# Revision: $Revision: 1.1 $ # Description: This script simply delivers the mail. It is separated out so -# it can be the only portion that is setgid to the group mail -# for the purposes of being able to deliver the mail to the users -# maildrop +# it can be the only portion that is setgid to the group mail +# for the purposes of being able to deliver the mail to the users +# maildrop # Author: Andrew@DeFaria.com # Created: Fri Nov 29 14:17:21 2002 # Modified: $Date: 2013/06/12 14:05:47 $ @@ -18,35 +18,17 @@ use strict; use warnings; -use English; use FindBin; -# Untaint $FindBin::Bin -my $lib; - -BEGIN { - if ($FindBin::Bin =~ /^(.*)$/) { - $lib = $1; - } # if -} # BEGIN - -use lib $lib; +use lib "$FindBin::Bin/../lib"; use MAPSFile; -use MAPSDB; +use MAPS; use MAPSLog; -sub DeliverMail ($$) { +sub DeliverMail($$) { my ($userid, $msgfileName) = @_; - # Switch to group mail - $EGID = getgrnam "mail"; - - # Untaint $userid - if ($userid =~ /^([-\@\w.]+)$/) { - $userid = $1; - } # if - # Open maildrop file open my $maildrop, '>>', "/var/mail/$userid" or return "Unable to open maildrop file (/var/mail/$userid): $!"; @@ -59,9 +41,8 @@ sub DeliverMail ($$) { Lock $maildrop; # Write msgfile -> $maildrop - print $maildrop "\n"; - print $maildrop $_ - while (<$msgfile>); + print $maildrop "\n\n"; + print $maildrop $_ while (<$msgfile>); # Unlock the file Unlock $maildrop; @@ -74,21 +55,21 @@ sub DeliverMail ($$) { } # DeliverMail # Main -die 'User id not specified' unless $ARGV [0]; -die 'Msgfile not specified' unless $ARGV [1]; +my ($userid, $msgfile) = @ARGV; -my $userid = shift @ARGV; -my $msgfile = shift @ARGV; +die 'User id not specified' unless $userid; +die 'Msgfile not specified' unless $msgfile; -my $err = DeliverMail $userid, $msgfile; +my $err = DeliverMail($userid, $msgfile); if ($err) { - OpenDB 'mapsadmin', 'mapsadmin'; + OpenDB('maps', 'spam'); + + SetContext($userid); - MAPSDB::SetContext $userid; + Error($err); - Error $err; + exit 1; } # if -exit 1 if $err; exit 0;