X-Git-Url: https://defaria.com/gitweb/?a=blobdiff_plain;f=maps%2Fbin%2FMAPSDeliver;h=ab6a2ff685906e6a04a6ebae31ca9148318e3811;hb=d58045351725edca8fcb05a78c4b80865d7c3cf3;hp=954847b612b5f514a9ed7466b7bbd3587ce721df;hpb=020a4a5ea2be725b155cae3a2cadc9aba3911b9b;p=clearscm.git diff --git a/maps/bin/MAPSDeliver b/maps/bin/MAPSDeliver index 954847b..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,8 +41,8 @@ sub DeliverMail ($$) { Lock $maildrop; # Write msgfile -> $maildrop - print $maildrop $_ - while (<$msgfile>); + print $maildrop "\n\n"; + print $maildrop $_ while (<$msgfile>); # Unlock the file Unlock $maildrop; @@ -73,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;