????

Your IP : 18.225.56.233


Current Path : /proc/322176/root/scripts/
Upload File :
Current File : //proc/322176/root/scripts/activesync-invite-reply

#!/usr/local/cpanel/3rdparty/bin/perl
# cpanel - scripts/activesync-invite-reply         Copyright 2022 cPanel, L.L.C.
#                                                           All rights reserved.
# copyright@cpanel.net                                         http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited

package scripts::activesync_invite_reply;

use strict;
use warnings;
use parent 'Cpanel::HelpfulScript';

use Cpanel::ActiveSync::InviteReply ();

use constant _OPTIONS => ();

unless ( caller() ) {
    __PACKAGE__->new(@ARGV)->process() or exit 1;
}

=head1 NAME

activesync-invite-reply

=head1 USAGE

    activesync-invite-reply [--help]

=head1 DESCRIPTION

Process an ActiveSync invite reply.

This utility is not meant to be run directly.

=cut

sub process {
    alarm 60;

    Cpanel::ActiveSync::InviteReply::logmsg('Processing an invite reply …');

    my $message = do {
        local $/;
        readline STDIN;
    };

    if ( !$message ) {
        Cpanel::ActiveSync::InviteReply::logmsg('Nothing came through on stdin');
        return 1;
    }

    my $user      = $ENV{REMOTE_USER}        || die 'REMOTE_USER is not set';
    my $http_auth = $ENV{HTTP_AUTHORIZATION} || die 'HTTP_AUTHORIZATION is not set';

    if ( $message !~ /method=.?REPLY/i ) {
        Cpanel::ActiveSync::InviteReply::logmsg('This does not appear to be an invite reply. You should pre-screen messages before launching this utility.');
        return 1;
    }

    my $ok = eval { Cpanel::ActiveSync::InviteReply::process( $user, $http_auth, $message ) };
    if ( my $exception = $@ ) {
        Cpanel::ActiveSync::InviteReply::logmsg($exception);
    }

    return $ok;
}

1;