#!/usr/bin/perl
# cpanel - enable_signature_validation
#                                                 Copyright(c) 2015 cPanel, Inc.
#                                                           All rights Reserved.
# copyright@cpanel.net                                         http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited

BEGIN { unshift @INC, '/usr/local/cpanel'; }

use strict;

use Cpanel::SafeRun;

sub is_os_affected {

    # Deal with very old versions of cPanel & WHM.
    eval { require Cpanel::GenSysInfo; } or return;
    my $version = Cpanel::GenSysInfo::get_rpm_distro_version();
    return $version == 5;
}

sub is_local_lib_affected {
    my $output = Cpanel::SafeRun::saferunallerrors( '/usr/bin/perl', '-mlocal::lib', '-eprint $local::lib::VERSION;' );

    return $output eq '2.000017';
}

sub fix {
    system( '/usr/local/cpanel/scripts/perlinstaller', 'local::lib' );
    return !is_local_lib_affected();
}

sub script {
    return 0 unless is_os_affected();
    return 0 unless is_local_lib_affected();

    my $is_fixed = fix();
    print "local::lib upgrade was " . ( $is_fixed ? "successful" : "unsuccessful" ), "\n";
    return !$is_fixed;
}

exit script() unless caller;
