#!/usr/bin/perl

BEGIN {
   push(@INC,"/scripts");
   push(@INC,"/usr/local/cpanel");
}
use SafeFile;
require "regsrep.pl";

eval {
    require use Cpanel::Config;
    if ( defined &Cpanel::Config::is_ea3 ) {
        if ( Cpanel::Config::is_ea3() ) {
            print "This module is now managed via easyapache.\n";
            print "To keep this message from appearing: ";
            print "Remove its entry from /var/cpanel/addonmodules\n";
            exit;
        }
    }
};

print "<b>Uninstalling mod_security<b>\n";
system("rm","-f","/usr/local/apache/conf/modsec.conf");
system("rm","-f","/usr/local/apache/conf/modsec.user.conf");
system("rm","-f","/usr/local/apache/conf/modsec.user.conf.default");
system("rm","-f","/usr/local/apache/libexec/mod_security.so");
system("rm","-f","/etc/cron.hourly/modsecparse.pl");
system("rm","-f","/usr/local/cpanel/whostmgr/docroot/cgi/addon_modsec.cgi");
system("rm","-f","/var/cpanel/apachemod/modsecurit.apache");
system("rm","-rf","/usr/src/mod_security-1.8.4");
delinclude();
regsrep("/usr/local/apache/conf/httpd.conf","LoadModule[\\s]*security_module[\\s]*libexec/mod_security.so","#LoadModule security_module        libexec/mod_security.so");
regsrep("/usr/local/apache/conf/httpd.conf","AddModule[\\s]*mod_security.c","#AddModule mod_security.c");
system("rm","-f","/var/cpanel/cpmodsec");
system("mysql < uninstall.sql");
system("/scripts/restartsrv_httpd");
print "<b>Done</b>\n";

sub delinclude {
   my $conflock = SafeFile::safeopen(\*HC,"+<","/usr/local/apache/conf/httpd.conf");
   my $addmodule = 0;
   my (@HC);
   while(<HC>) {
      next if (/Include/ && /modsec\.conf/);
      push(@HC,$_);
   }
   seek(HC,0,0);
   print HC join("",@HC);
   truncate(HC,tell(HC));
   SafeFile::safeclose(\*HC,$conflock);
}

