Perl Check - Need Help
Jerry Benton
jerry.benton at mailborder.com
Sat Apr 8 05:46:38 UTC 2017
I have it working under both FIFO and UNIX, so I guess I did it right. Final code for record keeper’s sake:
use IO::Socket::UNIX;
sub KickMessage {
my($queue2ids, $sendmail2) = @_;
my($queue);
# Do a kick for every queue that contains some message ids
foreach $queue (keys %$queue2ids) {
next unless $queue2ids->{$queue};
my $pf_connection = '/var/spool/postfix/public/qmgr';
if(-S $pf_connection){
# UNIX
my $fh = IO::Socket::UNIX->new(
Type => SOCK_STREAM,
Peer => $pf_connection,
) or
MailScanner::Log::WarnLog("KickMessage coould not write to UNIX > $pf_connection");
print $fh "I";
close $fh;
}elsif(-p $pf_connection){
# FIFO
my $fh = new FileHandle;
open(my $fh, '>', $pf_connection) or
MailScanner::Log::WarnLog("KickMessage coould not write to FIFO > $pf_connection");
print $fh "I";
close $fh;
}else{
MailScanner::Log::WarnLog("Unable to determine socket type (FIFO/UNIX) > $pf_connection");
}
}
return 0;
}
-
Jerry Benton
www.mailborder.com
+1 - 844-436-6245
> On Apr 7, 2017, at 6:58 PM, Jerry Benton <jerry.benton at mailborder.com> wrote:
>
> I am trying to update some Perl code that checks if a socket is FIFO or UNIX and then executes appropriately. I am not entirely sure about the UNIX socket I am creating here. Can any Perl gurus chime in?
>
> use IO::Socket::UNIX;
>
>
> my $pf_connection = '/var/spool/postfix/public/qmgr';
> if(-p $pf_connection){
> # FIFO
> my $fh = new FileHandle;
> $fh->open($pf_connection) or
> MailScanner::Log::WarnLog("KickMessage coould not write to FIFO " .
> "%s, %s", "$public/qmgr", $!);
> print $fh "I";
> $fh->close;
> }elsif(-S $pf_connection){
> # UNIX
> my $fh = IO::Socket::UNIX->new(
> Type => SOCK_STREAM,
> Peer => $pf_connection,
> ) or
> MailScanner::Log::WarnLog("KickMessage coould not write to UNIX " .
> "%s, %s", "$public/qmgr", $!);
> print $fh "I";
> $fh->close;
> }else{
> MailScanner::Log::WarnLog("Unable to determine socket type (FIFO/UNIX) " .
> "%s, %s", "$public/qmgr", $!);
> }
>
>
>
> -
> Jerry Benton
> www.mailborder.com
> +1 - 844-436-6245
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mailscanner.info/pipermail/mailscanner/attachments/20170408/f2471708/attachment.html>
More information about the MailScanner
mailing list