X-Git-Url: https://defaria.com/gitweb/?a=blobdiff_plain;f=maps%2Fbin%2FMAPSDeliver;h=38596c0796f41f6f0bfef69b35126f10eca3cf57;hb=c8340526ed9b2d0f13a96015090c921ebad114ea;hp=954847b612b5f514a9ed7466b7bbd3587ce721df;hpb=020a4a5ea2be725b155cae3a2cadc9aba3911b9b;p=clearscm.git diff --git a/maps/bin/MAPSDeliver b/maps/bin/MAPSDeliver index 954847b..38596c0 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,18 @@ 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 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 +42,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 +56,24 @@ sub DeliverMail ($$) { } # DeliverMail # Main -die 'User id not specified' unless $ARGV [0]; -die 'Msgfile not specified' unless $ARGV [1]; +my ($userid, $msgfile) = @ARGV; + +die 'User id not specified' unless $userid; +die 'Msgfile not specified' unless $msgfile; -my $userid = shift @ARGV; -my $msgfile = shift @ARGV; +my $errmsg = DeliverMail($userid, $msgfile); -my $err = DeliverMail $userid, $msgfile; +if ($errmsg) { + #OpenDB('maps', 'spam'); -if ($err) { - OpenDB 'mapsadmin', 'mapsadmin'; + SetContext($userid); - MAPSDB::SetContext $userid; + Error( + userid => $userid, + message => $errmsg, + ); - Error $err; + exit 1; } # if -exit 1 if $err; exit 0;