From 43d4d203a1b021c1e35069143d171dd568e56a2f Mon Sep 17 00:00:00 2001 From: bms8197 Date: Sat, 24 Jun 2023 11:25:47 +0300 Subject: [PATCH] daily autocommit --- .etckeeper | 123 +- amavisd/amavisd.conf.rpmnew | 828 - bashrc.rpmnew | 96 - chrony.conf.rpmnew | 38 - clamd.conf.rpmnew | 791 - clamd.conf.rpmsave | 452 - clamd.d/scan.conf.rpmnew | 762 - clamd.d/scan.conf.rpmsave | 674 - cloud/cloud.cfg.rpmsave | 69 - csf/csf.deny | 6 +- csf/csf.ignore | 1 + cxs/changelog.txt | 2437 - cxs/cpanelsuspend.example.pl | 50 - cxs/csfajaxtail.js | 129 - cxs/cxs.data | Bin 9488 -> 0 bytes cxs/cxs.default | 1 - cxs/cxs.defaults.example | 1 - cxs/cxs.fp | Bin 120054 -> 0 bytes cxs/cxs.ignore | 85 - cxs/cxs.ignore.example | 61 - cxs/cxs.monitor.example | 39 - cxs/cxs.pl | 1933 - cxs/cxs.pod | 1558 - cxs/cxs.sec | 0 cxs/cxs.sver | Bin 4864 -> 0 bytes cxs/cxs.template.example | 11 - cxs/cxs.xtra | 33 - cxs/cxs.xtra.example | 33 - cxs/cxs/images/cxs_small.png | Bin 4962 -> 0 bytes cxs/cxs/images/icon.gif | Bin 811 -> 0 bytes cxs/cxs/index.cgi | 50 - cxs/cxs/module.info | 3 - cxs/cxscgi.sh | 20 - cxs/cxschroot.sh | 54 - cxs/cxscron.txt | 28 - cxs/cxsdaily.sh | 17 - cxs/cxsftp.sh | 18 - cxs/cxsui.pl | 24 - cxs/cxswatch.sh | 19 - cxs/cxswebmin.tgz | Bin 6839 -> 0 bytes cxs/htaccessdisable.example.pl | 55 - cxs/install.txt | 151 - cxs/license.txt | 223 - cxs/new.fp | Bin 2865 -> 0 bytes cxs/reference.txt | 134 - cxs/servers | 1 - cxs/symlinkdisable.pl | 95 - cxs/test/testexploit.php | 1 - cxs/uninstall.sh | 58 - dnf/vars/infra.rpmsave | 1 - dovecot/conf.d/10-auth.conf.rpmnew | 127 - dovecot/conf.d/10-logging.conf.rpmnew | 105 - dovecot/conf.d/10-mail.conf.rpmnew | 416 - dovecot/conf.d/10-ssl.conf.rpmnew | 85 - dovecot/conf.d/15-mailboxes.conf.rpmnew | 86 - dovecot/conf.d/20-imap.conf.rpmnew | 99 - dovecot/conf.d/20-lmtp.conf.rpmnew | 40 - dovecot/conf.d/90-quota.conf.rpmnew | 83 - dovecot/conf.d/90-sieve.conf.rpmnew | 214 - dovecot/dovecot.conf.rpmnew | 101 - etckeeper/etckeeper.conf.rpmnew | 45 - fail2ban/action.d/badips.py.rpmnew | 391 - fail2ban/action.d/badips.py.rpmsave | 377 - .../action.d/iptables-common.conf.rpmsave | 93 - fail2ban/action.d/iptables-ipset.conf.rpmnew | 90 - fail2ban/action.d/mail.conf.rpmsave | 62 - fail2ban/action.d/smtp.py.rpmnew | 230 - fail2ban/action.d/smtp.py.rpmsave | 225 - fail2ban/fail2ban.conf.rpmsave | 69 - fail2ban/filter.d/dovecot.conf.rpmnew | 47 - fail2ban/filter.d/dovecot.conf.rpmsave | 26 - .../apache-fakegooglebot.rpmsave | 38 - fail2ban/filter.d/named-refused.conf.rpmnew | 50 - fail2ban/filter.d/named-refused.conf.rpmsave | 52 - .../filter.d/nginx-botsearch.conf.rpmsave | 23 - fail2ban/filter.d/recidive.conf.rpmsave | 39 - fail2ban/jail.conf.rpmsave | 132 - freshclam.conf.rpmnew | 204 - freshclam.conf.rpmsave | 211 - httpd/conf.d/awstats.conf.rpmsave | 42 - httpd/conf.d/perl.conf.rpmnew | 46 - httpd/conf.d/welcome.conf.rpmnew | 19 - httpd/conf.modules.d/15-php.conf.rpmnew | 12 - .../common-proxies.conf.rpmsave | 1239 - imunify360-webshield/country_ips.conf.rpmsave | 678346 --------------- .../splashscreen-antibot.conf.rpmsave | 1 - issue.net.rpmsave | 13 - issue.rpmnew | 3 - issue.rpmsave | 13 - logrotate.d/fail2ban.rpmsave | 17 - mail/spamassassin/init.pre.rpmnew | 25 - nagios/nrpe.cfg.rpmnew | 371 - nginx/conf.d/default.conf.rpmnew | 44 - postfix/access.rpmnew | 484 - postfix/canonical.rpmnew | 307 - postfix/main.cf.rpmnew | 738 - postfix/master.cf.rpmnew | 133 - postfix/transport.rpmnew | 317 - postfix/virtual.rpmnew | 324 - ppp/options.pptp.rpmnew | 59 - samba/smb.conf.rpmsave | 38 - ssh/sshd_config.rpmnew | 145 - .../imunify360/imunify360.config.rpmsave | 25 - sysconfig/iptables.rpmsave | 262 - systemd/logind.conf.rpmnew | 38 - .../CentOS-Linux-PowerTools.repo.rpmsave | 17 - 106 files changed, 6 insertions(+), 697995 deletions(-) delete mode 100644 amavisd/amavisd.conf.rpmnew delete mode 100644 bashrc.rpmnew delete mode 100644 chrony.conf.rpmnew delete mode 100644 clamd.conf.rpmnew delete mode 100644 clamd.conf.rpmsave delete mode 100644 clamd.d/scan.conf.rpmnew delete mode 100644 clamd.d/scan.conf.rpmsave delete mode 100644 cloud/cloud.cfg.rpmsave delete mode 100644 cxs/changelog.txt delete mode 100755 cxs/cpanelsuspend.example.pl delete mode 100644 cxs/csfajaxtail.js delete mode 100644 cxs/cxs.data delete mode 100644 cxs/cxs.default delete mode 100644 cxs/cxs.defaults.example delete mode 100644 cxs/cxs.fp delete mode 100644 cxs/cxs.ignore delete mode 100644 cxs/cxs.ignore.example delete mode 100644 cxs/cxs.monitor.example delete mode 100755 cxs/cxs.pl delete mode 100644 cxs/cxs.pod delete mode 100644 cxs/cxs.sec delete mode 100644 cxs/cxs.sver delete mode 100644 cxs/cxs.template.example delete mode 100644 cxs/cxs.xtra delete mode 100644 cxs/cxs.xtra.example delete mode 100644 cxs/cxs/images/cxs_small.png delete mode 100644 cxs/cxs/images/icon.gif delete mode 100644 cxs/cxs/index.cgi delete mode 100644 cxs/cxs/module.info delete mode 100755 cxs/cxscgi.sh delete mode 100755 cxs/cxschroot.sh delete mode 100644 cxs/cxscron.txt delete mode 100755 cxs/cxsdaily.sh delete mode 100755 cxs/cxsftp.sh delete mode 100755 cxs/cxsui.pl delete mode 100755 cxs/cxswatch.sh delete mode 100644 cxs/cxswebmin.tgz delete mode 100755 cxs/htaccessdisable.example.pl delete mode 100644 cxs/install.txt delete mode 100644 cxs/license.txt delete mode 100644 cxs/new.fp delete mode 100644 cxs/reference.txt delete mode 100644 cxs/servers delete mode 100644 cxs/symlinkdisable.pl delete mode 100644 cxs/test/testexploit.php delete mode 100755 cxs/uninstall.sh delete mode 100644 dnf/vars/infra.rpmsave delete mode 100644 dovecot/conf.d/10-auth.conf.rpmnew delete mode 100644 dovecot/conf.d/10-logging.conf.rpmnew delete mode 100644 dovecot/conf.d/10-mail.conf.rpmnew delete mode 100644 dovecot/conf.d/10-ssl.conf.rpmnew delete mode 100644 dovecot/conf.d/15-mailboxes.conf.rpmnew delete mode 100644 dovecot/conf.d/20-imap.conf.rpmnew delete mode 100644 dovecot/conf.d/20-lmtp.conf.rpmnew delete mode 100644 dovecot/conf.d/90-quota.conf.rpmnew delete mode 100644 dovecot/conf.d/90-sieve.conf.rpmnew delete mode 100644 dovecot/dovecot.conf.rpmnew delete mode 100644 etckeeper/etckeeper.conf.rpmnew delete mode 100644 fail2ban/action.d/badips.py.rpmnew delete mode 100644 fail2ban/action.d/badips.py.rpmsave delete mode 100644 fail2ban/action.d/iptables-common.conf.rpmsave delete mode 100644 fail2ban/action.d/iptables-ipset.conf.rpmnew delete mode 100644 fail2ban/action.d/mail.conf.rpmsave delete mode 100644 fail2ban/action.d/smtp.py.rpmnew delete mode 100644 fail2ban/action.d/smtp.py.rpmsave delete mode 100644 fail2ban/fail2ban.conf.rpmsave delete mode 100644 fail2ban/filter.d/dovecot.conf.rpmnew delete mode 100644 fail2ban/filter.d/dovecot.conf.rpmsave delete mode 100755 fail2ban/filter.d/ignorecommands/apache-fakegooglebot.rpmsave delete mode 100644 fail2ban/filter.d/named-refused.conf.rpmnew delete mode 100644 fail2ban/filter.d/named-refused.conf.rpmsave delete mode 100644 fail2ban/filter.d/nginx-botsearch.conf.rpmsave delete mode 100644 fail2ban/filter.d/recidive.conf.rpmsave delete mode 100644 fail2ban/jail.conf.rpmsave delete mode 100644 freshclam.conf.rpmnew delete mode 100644 freshclam.conf.rpmsave delete mode 100644 httpd/conf.d/awstats.conf.rpmsave delete mode 100644 httpd/conf.d/perl.conf.rpmnew delete mode 100644 httpd/conf.d/welcome.conf.rpmnew delete mode 100644 httpd/conf.modules.d/15-php.conf.rpmnew delete mode 100644 imunify360-webshield/common-proxies.conf.rpmsave delete mode 100644 imunify360-webshield/country_ips.conf.rpmsave delete mode 100644 imunify360-webshield/splashscreen-antibot.conf.rpmsave delete mode 100644 issue.net.rpmsave delete mode 100644 issue.rpmnew delete mode 100644 issue.rpmsave delete mode 100644 logrotate.d/fail2ban.rpmsave delete mode 100644 mail/spamassassin/init.pre.rpmnew delete mode 100644 nagios/nrpe.cfg.rpmnew delete mode 100644 nginx/conf.d/default.conf.rpmnew delete mode 100644 postfix/access.rpmnew delete mode 100644 postfix/canonical.rpmnew delete mode 100644 postfix/main.cf.rpmnew delete mode 100644 postfix/master.cf.rpmnew delete mode 100644 postfix/transport.rpmnew delete mode 100644 postfix/virtual.rpmnew delete mode 100644 ppp/options.pptp.rpmnew delete mode 100644 samba/smb.conf.rpmsave delete mode 100644 ssh/sshd_config.rpmnew delete mode 100644 sysconfig/imunify360/imunify360.config.rpmsave delete mode 100644 sysconfig/iptables.rpmsave delete mode 100644 systemd/logind.conf.rpmnew delete mode 100644 yum.repos.d/CentOS-Linux-PowerTools.repo.rpmsave diff --git a/.etckeeper b/.etckeeper index 444f591..a59e190 100755 --- a/.etckeeper +++ b/.etckeeper @@ -18,11 +18,11 @@ mkdir -p './cagefs/conf.d' mkdir -p './cagefs/exclude' mkdir -p './chkconfig.d' mkdir -p './cl.selector/php.extensions.d' +mkdir -p './cloud' mkdir -p './cron.weekly' mkdir -p './crypto-policies/policies/modules' mkdir -p './cups/ppd' mkdir -p './cups/ssl' -mkdir -p './cxs/newusers' mkdir -p './dbus-1/session.d' mkdir -p './dconf/db/local.d/locks' mkdir -p './dconf/db/site.d/locks' @@ -96,6 +96,7 @@ mkdir -p './rhsm/ca' mkdir -p './rhsm/facts' mkdir -p './rhsm/pluginconf.d' mkdir -p './rspamd/override.d' +mkdir -p './samba' mkdir -p './scl/modulefiles' mkdir -p './security/console.perms.d' mkdir -p './security/namespace.d' @@ -175,7 +176,6 @@ maybe chmod 0644 'almalinux-release-upstream' maybe chmod 0755 'alternatives' maybe chmod 0755 'amavisd' maybe chmod 0644 'amavisd/amavisd.conf' -maybe chmod 0644 'amavisd/amavisd.conf.rpmnew' maybe chmod 0644 'amavisd/whitelist' maybe chmod 0644 'anacrontab' maybe chmod 0755 'ansible' @@ -270,7 +270,6 @@ maybe chmod 0644 'bash_completion.d/redefine_filedir' maybe chmod 0644 'bash_completion.d/scl' maybe chmod 0644 'bash_completion.d/torsocks' maybe chmod 0644 'bashrc' -maybe chmod 0644 'bashrc.rpmnew' maybe chmod 0644 'bindresvport.blacklist' maybe chmod 0755 'binfmt.d' maybe chmod 0755 'cagefs' @@ -279,7 +278,6 @@ maybe chmod 0755 'cagefs/exclude' maybe chmod 0644 'cczerc' maybe chmod 0755 'chkconfig.d' maybe chmod 0644 'chrony.conf' -maybe chmod 0644 'chrony.conf.rpmnew' maybe chgrp 'chrony' 'chrony.keys' maybe chmod 0640 'chrony.keys' maybe chmod 0755 'cifs-utils' @@ -301,12 +299,6 @@ maybe chmod 0644 'clamav-unofficial-sigs/user.conf' maybe chown 'amavis' 'clamd.conf' maybe chgrp 'amavis' 'clamd.conf' maybe chmod 0640 'clamd.conf' -maybe chown 'amavis' 'clamd.conf.rpmnew' -maybe chgrp 'amavis' 'clamd.conf.rpmnew' -maybe chmod 0644 'clamd.conf.rpmnew' -maybe chown 'amavis' 'clamd.conf.rpmsave' -maybe chgrp 'amavis' 'clamd.conf.rpmsave' -maybe chmod 0644 'clamd.conf.rpmsave' maybe chown 'amavis' 'clamd.d' maybe chgrp 'amavis' 'clamd.d' maybe chmod 0755 'clamd.d' @@ -316,14 +308,7 @@ maybe chmod 0644 'clamd.d/amavisd.conf' maybe chown 'amavis' 'clamd.d/scan.conf' maybe chgrp 'amavis' 'clamd.d/scan.conf' maybe chmod 0644 'clamd.d/scan.conf' -maybe chown 'amavis' 'clamd.d/scan.conf.rpmnew' -maybe chgrp 'amavis' 'clamd.d/scan.conf.rpmnew' -maybe chmod 0644 'clamd.d/scan.conf.rpmnew' -maybe chown 'amavis' 'clamd.d/scan.conf.rpmsave' -maybe chgrp 'amavis' 'clamd.d/scan.conf.rpmsave' -maybe chmod 0644 'clamd.d/scan.conf.rpmsave' maybe chmod 0755 'cloud' -maybe chmod 0644 'cloud/cloud.cfg.rpmsave' maybe chmod 0755 'cockpit' maybe chmod 0755 'cockpit/ws-certs.d' maybe chmod 0644 'cockpit/ws-certs.d/0-self-signed-ca.pem' @@ -592,49 +577,6 @@ maybe chgrp 'lp' 'cups/snmp.conf.default' maybe chmod 0640 'cups/snmp.conf.default' maybe chgrp 'lp' 'cups/ssl' maybe chmod 0700 'cups/ssl' -maybe chmod 0611 'cxs' -maybe chmod 0600 'cxs/changelog.txt' -maybe chmod 0700 'cxs/cpanelsuspend.example.pl' -maybe chmod 0600 'cxs/csfajaxtail.js' -maybe chmod 0755 'cxs/cxs' -maybe chmod 0644 'cxs/cxs.data' -maybe chmod 0644 'cxs/cxs.default' -maybe chmod 0644 'cxs/cxs.defaults.example' -maybe chmod 0644 'cxs/cxs.fp' -maybe chmod 0644 'cxs/cxs.ignore' -maybe chmod 0644 'cxs/cxs.ignore.example' -maybe chmod 0644 'cxs/cxs.monitor.example' -maybe chmod 0755 'cxs/cxs.pl' -maybe chmod 0644 'cxs/cxs.pod' -maybe chmod 0600 'cxs/cxs.sec' -maybe chmod 0600 'cxs/cxs.sver' -maybe chmod 0644 'cxs/cxs.template.example' -maybe chmod 0644 'cxs/cxs.xtra' -maybe chmod 0644 'cxs/cxs.xtra.example' -maybe chmod 0755 'cxs/cxs/images' -maybe chmod 0644 'cxs/cxs/images/cxs_small.png' -maybe chmod 0644 'cxs/cxs/images/icon.gif' -maybe chmod 0644 'cxs/cxs/index.cgi' -maybe chmod 0644 'cxs/cxs/module.info' -maybe chmod 0755 'cxs/cxscgi.sh' -maybe chmod 0700 'cxs/cxschroot.sh' -maybe chmod 0600 'cxs/cxscron.txt' -maybe chmod 0700 'cxs/cxsdaily.sh' -maybe chmod 0700 'cxs/cxsftp.sh' -maybe chmod 0700 'cxs/cxsui.pl' -maybe chmod 0700 'cxs/cxswatch.sh' -maybe chmod 0644 'cxs/cxswebmin.tgz' -maybe chmod 0755 'cxs/htaccessdisable.example.pl' -maybe chmod 0600 'cxs/install.txt' -maybe chmod 0644 'cxs/license.txt' -maybe chmod 0644 'cxs/new.fp' -maybe chmod 0755 'cxs/newusers' -maybe chmod 0600 'cxs/reference.txt' -maybe chmod 0600 'cxs/servers' -maybe chmod 0644 'cxs/symlinkdisable.pl' -maybe chmod 0600 'cxs/test' -maybe chmod 0600 'cxs/test/testexploit.php' -maybe chmod 0700 'cxs/uninstall.sh' maybe chmod 0755 'dbus-1' maybe chmod 0644 'dbus-1/session.conf' maybe chmod 0755 'dbus-1/session.d' @@ -729,7 +671,6 @@ maybe chmod 0644 'dnf/protected.d/yum.conf' maybe chmod 0755 'dnf/vars' maybe chmod 0644 'dnf/vars/contentdir' maybe chmod 0644 'dnf/vars/infra' -maybe chmod 0644 'dnf/vars/infra.rpmsave' maybe chmod 0644 'dnf/vars/stream' maybe chmod 0755 'docker' maybe chmod 0640 'docker/daemon.json' @@ -737,23 +678,16 @@ maybe chmod 0600 'docker/key.json' maybe chmod 0755 'dovecot' maybe chmod 0755 'dovecot/conf.d' maybe chmod 0644 'dovecot/conf.d/10-auth.conf' -maybe chmod 0644 'dovecot/conf.d/10-auth.conf.rpmnew' maybe chmod 0644 'dovecot/conf.d/10-director.conf' maybe chmod 0644 'dovecot/conf.d/10-logging.conf' -maybe chmod 0644 'dovecot/conf.d/10-logging.conf.rpmnew' maybe chmod 0644 'dovecot/conf.d/10-mail.conf' -maybe chmod 0644 'dovecot/conf.d/10-mail.conf.rpmnew' maybe chmod 0644 'dovecot/conf.d/10-master.conf' maybe chmod 0644 'dovecot/conf.d/10-metrics.conf' maybe chmod 0644 'dovecot/conf.d/10-ssl.conf' -maybe chmod 0644 'dovecot/conf.d/10-ssl.conf.rpmnew' maybe chmod 0644 'dovecot/conf.d/15-lda.conf' maybe chmod 0644 'dovecot/conf.d/15-mailboxes.conf' -maybe chmod 0644 'dovecot/conf.d/15-mailboxes.conf.rpmnew' maybe chmod 0644 'dovecot/conf.d/20-imap.conf' -maybe chmod 0644 'dovecot/conf.d/20-imap.conf.rpmnew' maybe chmod 0644 'dovecot/conf.d/20-lmtp.conf' -maybe chmod 0644 'dovecot/conf.d/20-lmtp.conf.rpmnew' maybe chmod 0644 'dovecot/conf.d/20-managesieve.conf' maybe chmod 0644 'dovecot/conf.d/20-pop3.conf' maybe chmod 0644 'dovecot/conf.d/20-submission.conf' @@ -763,10 +697,8 @@ maybe chgrp 'dovecot' 'dovecot/conf.d/90-imapsieve.conf' maybe chmod 0640 'dovecot/conf.d/90-imapsieve.conf' maybe chmod 0644 'dovecot/conf.d/90-plugin.conf' maybe chmod 0644 'dovecot/conf.d/90-quota.conf' -maybe chmod 0644 'dovecot/conf.d/90-quota.conf.rpmnew' maybe chmod 0644 'dovecot/conf.d/90-sieve-extprograms.conf' maybe chmod 0644 'dovecot/conf.d/90-sieve.conf' -maybe chmod 0644 'dovecot/conf.d/90-sieve.conf.rpmnew' maybe chmod 0644 'dovecot/conf.d/auth-checkpassword.conf.ext' maybe chmod 0644 'dovecot/conf.d/auth-deny.conf.ext' maybe chmod 0644 'dovecot/conf.d/auth-dict.conf.ext' @@ -789,7 +721,6 @@ maybe chown 'vmail' 'dovecot/dovecot-mysql.conf' maybe chgrp 'dovecot' 'dovecot/dovecot-mysql.conf' maybe chmod 0640 'dovecot/dovecot-mysql.conf' maybe chmod 0644 'dovecot/dovecot.conf' -maybe chmod 0644 'dovecot/dovecot.conf.rpmnew' maybe chown 'vmail' 'dovecot/quota-warning.sh' maybe chgrp 'dovecot' 'dovecot/quota-warning.sh' maybe chmod 0750 'dovecot/quota-warning.sh' @@ -839,7 +770,6 @@ maybe chmod 0755 'etckeeper/commit.d/99push' maybe chmod 0644 'etckeeper/commit.d/README' maybe chmod 0755 'etckeeper/daily' maybe chmod 0644 'etckeeper/etckeeper.conf' -maybe chmod 0644 'etckeeper/etckeeper.conf.rpmnew' maybe chmod 0755 'etckeeper/init.d' maybe chmod 0755 'etckeeper/init.d/10restore-metadata' maybe chmod 0755 'etckeeper/init.d/20restore-etckeeper' @@ -884,8 +814,6 @@ maybe chmod 0755 'fail2ban/action.d' maybe chmod 0644 'fail2ban/action.d/abuseipdb.conf' maybe chmod 0644 'fail2ban/action.d/apf.conf' maybe chmod 0644 'fail2ban/action.d/apprise.conf' -maybe chmod 0644 'fail2ban/action.d/badips.py.rpmnew' -maybe chmod 0640 'fail2ban/action.d/badips.py.rpmsave' maybe chmod 0644 'fail2ban/action.d/blocklist_de.conf' maybe chmod 0644 'fail2ban/action.d/cloudflare-token.conf' maybe chmod 0644 'fail2ban/action.d/cloudflare.conf' @@ -900,12 +828,10 @@ maybe chmod 0644 'fail2ban/action.d/firewallcmd-rich-logging.conf' maybe chmod 0644 'fail2ban/action.d/firewallcmd-rich-rules.conf' maybe chmod 0644 'fail2ban/action.d/helpers-common.conf' maybe chmod 0644 'fail2ban/action.d/iptables-allports.conf' -maybe chmod 0640 'fail2ban/action.d/iptables-common.conf.rpmsave' maybe chmod 0644 'fail2ban/action.d/iptables-ipset-proto4.conf' maybe chmod 0644 'fail2ban/action.d/iptables-ipset-proto6-allports.conf' maybe chmod 0644 'fail2ban/action.d/iptables-ipset-proto6.conf' maybe chmod 0640 'fail2ban/action.d/iptables-ipset.conf' -maybe chmod 0644 'fail2ban/action.d/iptables-ipset.conf.rpmnew' maybe chmod 0644 'fail2ban/action.d/iptables-multiport-log.conf' maybe chmod 0644 'fail2ban/action.d/iptables-multiport.conf' maybe chmod 0644 'fail2ban/action.d/iptables-new.conf' @@ -913,7 +839,6 @@ maybe chmod 0644 'fail2ban/action.d/iptables-xt_recent-echo.conf' maybe chmod 0644 'fail2ban/action.d/iptables.conf' maybe chmod 0644 'fail2ban/action.d/ipthreat.conf' maybe chmod 0644 'fail2ban/action.d/mail-whois-common.conf' -maybe chmod 0644 'fail2ban/action.d/mail.conf.rpmsave' maybe chmod 0644 'fail2ban/action.d/mynetwatchman.conf' maybe chmod 0644 'fail2ban/action.d/netscaler.conf' maybe chmod 0644 'fail2ban/action.d/nftables-allports.conf' @@ -934,12 +859,9 @@ maybe chmod 0644 'fail2ban/action.d/sendmail-whois.conf' maybe chmod 0644 'fail2ban/action.d/sendmail.conf' maybe chmod 0644 'fail2ban/action.d/shorewall-ipset-proto6.conf' maybe chmod 0644 'fail2ban/action.d/smtp.py' -maybe chmod 0644 'fail2ban/action.d/smtp.py.rpmnew' -maybe chmod 0640 'fail2ban/action.d/smtp.py.rpmsave' maybe chmod 0644 'fail2ban/action.d/symbiosis-blacklist-allports.conf' maybe chmod 0644 'fail2ban/action.d/xarf-login-attack.conf' maybe chmod 0644 'fail2ban/fail2ban.conf' -maybe chmod 0640 'fail2ban/fail2ban.conf.rpmsave' maybe chmod 0755 'fail2ban/fail2ban.d' maybe chmod 0755 'fail2ban/filter.d' maybe chmod 0644 'fail2ban/filter.d/3proxy.conf' @@ -968,8 +890,6 @@ maybe chmod 0644 'fail2ban/filter.d/cyrus-imap.conf' maybe chmod 0644 'fail2ban/filter.d/directadmin.conf' maybe chmod 0644 'fail2ban/filter.d/domino-smtp.conf' maybe chmod 0644 'fail2ban/filter.d/dovecot.conf' -maybe chmod 0644 'fail2ban/filter.d/dovecot.conf.rpmnew' -maybe chmod 0640 'fail2ban/filter.d/dovecot.conf.rpmsave' maybe chmod 0644 'fail2ban/filter.d/dropbear.conf' maybe chmod 0644 'fail2ban/filter.d/drupal-auth.conf' maybe chmod 0644 'fail2ban/filter.d/ejabberd-auth.conf' @@ -987,7 +907,6 @@ maybe chmod 0644 'fail2ban/filter.d/haproxy-http-auth.conf' maybe chmod 0644 'fail2ban/filter.d/horde.conf' maybe chmod 0755 'fail2ban/filter.d/ignorecommands' maybe chmod 0755 'fail2ban/filter.d/ignorecommands/apache-fakegooglebot' -maybe chmod 0750 'fail2ban/filter.d/ignorecommands/apache-fakegooglebot.rpmsave' maybe chmod 0644 'fail2ban/filter.d/kerio.conf' maybe chmod 0644 'fail2ban/filter.d/lighttpd-auth.conf' maybe chmod 0644 'fail2ban/filter.d/mongodb-auth.conf' @@ -998,11 +917,8 @@ maybe chmod 0644 'fail2ban/filter.d/murmur.conf' maybe chmod 0644 'fail2ban/filter.d/mysqld-auth.conf' maybe chmod 0644 'fail2ban/filter.d/nagios.conf' maybe chmod 0644 'fail2ban/filter.d/named-refused.conf' -maybe chmod 0644 'fail2ban/filter.d/named-refused.conf.rpmnew' -maybe chmod 0640 'fail2ban/filter.d/named-refused.conf.rpmsave' maybe chmod 0644 'fail2ban/filter.d/nginx-bad-request.conf' maybe chmod 0644 'fail2ban/filter.d/nginx-botsearch.conf' -maybe chmod 0640 'fail2ban/filter.d/nginx-botsearch.conf.rpmsave' maybe chmod 0640 'fail2ban/filter.d/nginx-forbidden.conf' maybe chmod 0644 'fail2ban/filter.d/nginx-http-auth.conf' maybe chmod 0644 'fail2ban/filter.d/nginx-limit-req.conf' @@ -1025,7 +941,6 @@ maybe chmod 0644 'fail2ban/filter.d/proftpd.conf' maybe chmod 0644 'fail2ban/filter.d/pure-ftpd.conf' maybe chmod 0644 'fail2ban/filter.d/qmail.conf' maybe chmod 0644 'fail2ban/filter.d/recidive.conf' -maybe chmod 0640 'fail2ban/filter.d/recidive.conf.rpmsave' maybe chmod 0644 'fail2ban/filter.d/roundcube-auth.conf' maybe chmod 0644 'fail2ban/filter.d/scanlogd.conf' maybe chmod 0644 'fail2ban/filter.d/screensharingd.conf' @@ -1053,7 +968,6 @@ maybe chmod 0644 'fail2ban/filter.d/xinetd-fail.conf' maybe chmod 0644 'fail2ban/filter.d/znc-adminlog.conf' maybe chmod 0644 'fail2ban/filter.d/zoneminder.conf' maybe chmod 0644 'fail2ban/jail.conf' -maybe chmod 0640 'fail2ban/jail.conf.rpmsave' maybe chmod 0755 'fail2ban/jail.d' maybe chmod 0644 'fail2ban/jail.d/00-firewalld.conf' maybe chmod 0640 'fail2ban/jail.d/default.conf' @@ -1083,10 +997,6 @@ maybe chmod 0644 'freeipmi/freeipmi_interpret_sensor.conf' maybe chmod 0600 'freeipmi/ipmidetect.conf' maybe chmod 0600 'freeipmi/libipmiconsole.conf' maybe chmod 0600 'freshclam.conf' -maybe chmod 0600 'freshclam.conf.rpmnew' -maybe chown 'amavis' 'freshclam.conf.rpmsave' -maybe chgrp 'amavis' 'freshclam.conf.rpmsave' -maybe chmod 0600 'freshclam.conf.rpmsave' maybe chmod 0644 'fstab' maybe chmod 0644 'fuse.conf' maybe chmod 0755 'gcrypt' @@ -1143,18 +1053,15 @@ maybe chmod 0755 'httpd/conf.d' maybe chmod 0644 'httpd/conf.d/README' maybe chmod 0644 'httpd/conf.d/acme.conf' maybe chmod 0644 'httpd/conf.d/autoindex.conf' -maybe chmod 0644 'httpd/conf.d/awstats.conf.rpmsave' maybe chmod 0644 'httpd/conf.d/mailgraph.conf' maybe chmod 0640 'httpd/conf.d/mod_deflate.conf' maybe chmod 0644 'httpd/conf.d/perl.conf' -maybe chmod 0644 'httpd/conf.d/perl.conf.rpmnew' maybe chmod 0644 'httpd/conf.d/php.conf' maybe chmod 0644 'httpd/conf.d/phpmyadmin.conf' maybe chmod 0644 'httpd/conf.d/squid.conf' maybe chmod 0644 'httpd/conf.d/ssl.conf_disabled' maybe chmod 0644 'httpd/conf.d/userdir.conf' maybe chmod 0644 'httpd/conf.d/welcome.conf' -maybe chmod 0644 'httpd/conf.d/welcome.conf.rpmnew' maybe chmod 0755 'httpd/conf.modules.d' maybe chmod 0644 'httpd/conf.modules.d/00-base.conf' maybe chmod 0644 'httpd/conf.modules.d/00-dav.conf' @@ -1169,7 +1076,6 @@ maybe chmod 0644 'httpd/conf.modules.d/02-perl.conf' maybe chmod 0644 'httpd/conf.modules.d/10-h2.conf' maybe chmod 0644 'httpd/conf.modules.d/10-proxy_h2.conf' maybe chmod 0644 'httpd/conf.modules.d/15-php.conf' -maybe chmod 0644 'httpd/conf.modules.d/15-php.conf.rpmnew' maybe chmod 0644 'httpd/conf.modules.d/README' maybe chmod 0644 'httpd/conf/httpd.conf' maybe chmod 0644 'httpd/conf/magic' @@ -1178,11 +1084,8 @@ maybe chmod 0755 'imunify360' maybe chmod 0755 'imunify360-webshield' maybe chmod 0755 'imunify360-webshield/captcha' maybe chmod 0644 'imunify360-webshield/captcha/lang.conf' -maybe chmod 0660 'imunify360-webshield/common-proxies.conf.rpmsave' -maybe chmod 0660 'imunify360-webshield/country_ips.conf.rpmsave' maybe chmod 0644 'imunify360-webshield/ports.conf' maybe chmod 0755 'imunify360-webshield/splashscreen' -maybe chmod 0644 'imunify360-webshield/splashscreen-antibot.conf.rpmsave' maybe chmod 0644 'imunify360-webshield/splashscreen/lang.conf' maybe chmod 0755 'imunify360-webshield/ssl_certs' maybe chmod 0644 'imunify360-webshield/ssl_ports.conf' @@ -1297,9 +1200,6 @@ maybe chmod 0644 'iproute2/rt_tables' maybe chmod 0640 'issue' maybe chmod 0755 'issue.d' maybe chmod 0640 'issue.net' -maybe chmod 0644 'issue.net.rpmsave' -maybe chmod 0644 'issue.rpmnew' -maybe chmod 0644 'issue.rpmsave' maybe chmod 0755 'java' maybe chmod 0755 'java/java-1.8.0-openjdk' maybe chmod 0755 'java/java-1.8.0-openjdk/java-1.8.0-openjdk-1.8.0.372.b07-4.el8.x86_64' @@ -3426,7 +3326,6 @@ maybe chmod 0644 'logrotate.d/clamav-unofficial-sigs' maybe chmod 0644 'logrotate.d/cups' maybe chmod 0644 'logrotate.d/dnf' maybe chmod 0644 'logrotate.d/fail2ban' -maybe chmod 0640 'logrotate.d/fail2ban.rpmsave' maybe chmod 0644 'logrotate.d/firewalld' maybe chmod 0644 'logrotate.d/httpd' maybe chmod 0644 'logrotate.d/iptraf-ng' @@ -3514,7 +3413,6 @@ maybe chmod 0644 'mail/spamassassin/channel.d/spamassassin-official.conf' maybe chmod 0644 'mail/spamassassin/dnswlh.cf.disabled' maybe chmod 0644 'mail/spamassassin/iXhash.pm' maybe chmod 0644 'mail/spamassassin/init.pre' -maybe chmod 0644 'mail/spamassassin/init.pre.rpmnew' maybe chmod 0644 'mail/spamassassin/learn_spam.sh' maybe chmod 0755 'mail/spamassassin/lib' maybe chmod 0755 'mail/spamassassin/lib/python' @@ -4348,7 +4246,6 @@ maybe chmod 0644 'my.cnf.d/server.cnf' maybe chmod 0644 'my.cnf.d/spider.cnf' maybe chmod 0775 'nagios' maybe chmod 0644 'nagios/nrpe.cfg' -maybe chmod 0644 'nagios/nrpe.cfg.rpmnew' maybe chgrp 'named' 'named' maybe chmod 0750 'named' maybe chgrp 'named' 'named.conf' @@ -4414,9 +4311,6 @@ maybe chmod 0640 'nginx/conf.d/club3d.ro.conf' maybe chown 'nginx' 'nginx/conf.d/default.conf' maybe chgrp 'nginx' 'nginx/conf.d/default.conf' maybe chmod 0640 'nginx/conf.d/default.conf' -maybe chown 'nginx' 'nginx/conf.d/default.conf.rpmnew' -maybe chgrp 'nginx' 'nginx/conf.d/default.conf.rpmnew' -maybe chmod 0640 'nginx/conf.d/default.conf.rpmnew' maybe chown 'nginx' 'nginx/conf.d/files.898.ro.conf' maybe chgrp 'nginx' 'nginx/conf.d/files.898.ro.conf' maybe chmod 0640 'nginx/conf.d/files.898.ro.conf' @@ -5340,7 +5234,6 @@ maybe chmod 0640 'postfix/_sql/mysql_virtual_mailbox_maps.cf' maybe chmod 0644 'postfix/access' maybe chgrp 'postfix' 'postfix/access.db' maybe chmod 0640 'postfix/access.db' -maybe chmod 0644 'postfix/access.rpmnew' maybe chgrp 'postfix' 'postfix/blacklist' maybe chmod 0640 'postfix/blacklist' maybe chgrp 'postfix' 'postfix/blacklist.db' @@ -5351,7 +5244,6 @@ maybe chgrp 'postfix' 'postfix/body_checks.db' maybe chmod 0640 'postfix/body_checks.db' maybe chmod 0640 'postfix/ca-certificates-2019.2.32-76.el7_7.noarch.rpm' maybe chmod 0644 'postfix/canonical' -maybe chmod 0644 'postfix/canonical.rpmnew' maybe chgrp 'postfix' 'postfix/check_client_access' maybe chmod 0640 'postfix/check_client_access' maybe chgrp 'postfix' 'postfix/check_client_access.db' @@ -5383,11 +5275,9 @@ maybe chgrp 'postfix' 'postfix/helo_access.pcre.db' maybe chmod 0640 'postfix/helo_access.pcre.db' maybe chmod 0644 'postfix/main.cf' maybe chmod 0644 'postfix/main.cf.proto' -maybe chmod 0644 'postfix/main.cf.rpmnew' maybe chmod 0644 'postfix/master.cf' maybe chmod 0644 'postfix/master.cf.bkp' maybe chmod 0644 'postfix/master.cf.proto' -maybe chmod 0644 'postfix/master.cf.rpmnew' maybe chgrp 'postfix' 'postfix/mime_header_checks' maybe chmod 0640 'postfix/mime_header_checks' maybe chgrp 'postfix' 'postfix/mynetworks' @@ -5471,11 +5361,9 @@ maybe chmod 0640 'postfix/submission_header_cleanup' maybe chmod 0644 'postfix/transport' maybe chgrp 'postfix' 'postfix/transport.db' maybe chmod 0640 'postfix/transport.db' -maybe chmod 0644 'postfix/transport.rpmnew' maybe chmod 0644 'postfix/virtual' maybe chgrp 'postfix' 'postfix/virtual.db' maybe chmod 0640 'postfix/virtual.db' -maybe chmod 0644 'postfix/virtual.rpmnew' maybe chgrp 'postfix' 'postfix/virtual_regexp' maybe chmod 0640 'postfix/virtual_regexp' maybe chmod 0755 'ppp' @@ -5493,7 +5381,6 @@ maybe chmod 0755 'ppp/ipv6-down' maybe chmod 0755 'ppp/ipv6-up' maybe chmod 0644 'ppp/options' maybe chmod 0644 'ppp/options.pptp' -maybe chmod 0644 'ppp/options.pptp.rpmnew' maybe chmod 0644 'ppp/options.pptpd' maybe chmod 0600 'ppp/pap-secrets' maybe chmod 0755 'ppp/peers' @@ -5799,7 +5686,6 @@ maybe chmod 0644 'rwtab.d/logrotate' maybe chmod 0644 'rwtab.d/named' maybe chmod 0644 'rwtab.d/sssd' maybe chmod 0755 'samba' -maybe chmod 0644 'samba/smb.conf.rpmsave' maybe chmod 0755 'sasl2' maybe chmod 0644 'sasl2/smtpd.conf' maybe chmod 0755 'scl' @@ -5986,7 +5872,6 @@ maybe chmod 0640 'ssh/ssh_host_rsa_key' maybe chmod 0644 'ssh/ssh_host_rsa_key.pub' maybe chmod 0600 'ssh/sshd_config' maybe chmod 0600 'ssh/sshd_config.orig' -maybe chmod 0600 'ssh/sshd_config.rpmnew' maybe chmod 0755 'ssh/sshrc' maybe chmod 0755 'ssl' maybe chmod 0644 'sslh.cfg' @@ -6031,14 +5916,12 @@ maybe chmod 0660 'sysconfig/imunify360/.imunify360.backup_config' maybe chmod 0755 'sysconfig/imunify360/generic' maybe chmod 0660 'sysconfig/imunify360/generic/modsec.conf' maybe chmod 0700 'sysconfig/imunify360/imunify360.config.d' -maybe chmod 0600 'sysconfig/imunify360/imunify360.config.rpmsave' maybe chmod 0640 'sysconfig/imunify360/integration.conf' maybe chmod 0755 'sysconfig/imunify360/malware-filters-admin-conf' maybe chmod 0660 'sysconfig/imunify360/panel-name.txt' maybe chmod 0600 'sysconfig/ip6tables-config' maybe chmod 0600 'sysconfig/iptables-config' maybe chmod 0644 'sysconfig/iptables.old-2020-10-20-17_37_02' -maybe chmod 0600 'sysconfig/iptables.rpmsave' maybe chmod 0644 'sysconfig/irqbalance' maybe chmod 0644 'sysconfig/kernel' maybe chmod 0644 'sysconfig/maldet' @@ -6117,7 +6000,6 @@ maybe chmod 0755 'systemd' maybe chmod 0644 'systemd/coredump.conf' maybe chmod 0644 'systemd/journald.conf' maybe chmod 0644 'systemd/logind.conf' -maybe chmod 0644 'systemd/logind.conf.rpmnew' maybe chmod 0644 'systemd/pstore.conf' maybe chmod 0644 'systemd/resolved.conf' maybe chmod 0755 'systemd/system' @@ -6256,7 +6138,6 @@ maybe chmod 0755 'xml' maybe chmod 0644 'xml/catalog' maybe chmod 0755 'yum' maybe chmod 0755 'yum.repos.d' -maybe chmod 0640 'yum.repos.d/CentOS-Linux-PowerTools.repo.rpmsave' maybe chmod 0644 'yum.repos.d/_copr:copr.fedorainfracloud.org:jdoss:wireguard.repo' maybe chmod 0644 'yum.repos.d/almalinux-ha.repo' maybe chmod 0644 'yum.repos.d/almalinux-nfv.repo' diff --git a/amavisd/amavisd.conf.rpmnew b/amavisd/amavisd.conf.rpmnew deleted file mode 100644 index 615a75a..0000000 --- a/amavisd/amavisd.conf.rpmnew +++ /dev/null @@ -1,828 +0,0 @@ -use strict; - -# a minimalistic configuration file for amavisd-new with all necessary settings -# -# see amavisd.conf-default for a list of all variables with their defaults; -# for more details see documentation in INSTALL, README_FILES/* -# and at http://www.ijs.si/software/amavisd/amavisd-new-docs.html - - -# COMMONLY ADJUSTED SETTINGS: - -# @bypass_virus_checks_maps = (1); # controls running of anti-virus code -# @bypass_spam_checks_maps = (1); # controls running of anti-spam code -# $bypass_decode_parts = 1; # controls running of decoders&dearchivers - -# $myprogram_name = $0; # set to 'amavisd' or similar to avoid process name - # truncation in /proc//stat and ps -e output - -$max_servers = 2; # num of pre-forked children (2..30 is common), -m -$daemon_user = 'amavis'; # (no default; customary: vscan or amavis), -u -$daemon_group = 'amavis'; # (no default; customary: vscan or amavis), -g - -$mydomain = 'example.com'; # a convenient default for other settings - -$MYHOME = '/var/spool/amavisd'; # a convenient default for other settings, -H -$TEMPBASE = "$MYHOME/tmp"; # working directory, needs to exist, -T -$ENV{TMPDIR} = $TEMPBASE; # environment variable TMPDIR, used by SA, etc. -$QUARANTINEDIR = undef; # -Q -# $quarantine_subdir_levels = 1; # add level of subdirs to disperse quarantine -# $release_format = 'resend'; # 'attach', 'plain', 'resend' -# $report_format = 'arf'; # 'attach', 'plain', 'resend', 'arf' - -# $daemon_chroot_dir = $MYHOME; # chroot directory or undef, -R - -$db_home = "$MYHOME/db"; # dir for bdb nanny/cache/snmp databases, -D -# $helpers_home = "$MYHOME/var"; # working directory for SpamAssassin, -S -$lock_file = "/run/amavisd/amavisd.lock"; # -L -$pid_file = "/run/amavisd/amavisd.pid"; # -P -#NOTE: create directories $MYHOME/tmp, $MYHOME/var, $MYHOME/db manually - -$log_level = 0; # verbosity 0..5, -d -$log_recip_templ = undef; # disable by-recipient level-0 log entries -$do_syslog = 1; # log via syslogd (preferred) -$syslog_facility = 'mail'; # Syslog facility as a string - # e.g.: mail, daemon, user, local0, ... local7 - -$enable_db = 1; # enable use of BerkeleyDB/libdb (SNMP and nanny) -# $enable_zmq = 1; # enable use of ZeroMQ (SNMP and nanny) -$nanny_details_level = 2; # nanny verbosity: 1: traditional, 2: detailed -$enable_dkim_verification = 1; # enable DKIM signatures verification -$enable_dkim_signing = 1; # load DKIM signing code, keys defined by dkim_key - -@local_domains_maps = ( [".$mydomain"] ); # list of all local domains - -@mynetworks = qw( 127.0.0.0/8 [::1] [FE80::]/10 [FEC0::]/10 - 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 ); - -$unix_socketname = "/run/amavisd/amavisd.sock"; # amavisd-release or amavis-milter - # option(s) -p overrides $inet_socket_port and $unix_socketname - -# The default receiving port in the Fedora and RHEL SELinux policy is 10024. -# To allow additional ports you need to label them as 'amavisd_recv_port_t' -# For example: semanage port -a -t amavisd_recv_port_t -p tcp 10022 -$inet_socket_port = 10024; # listen on this local TCP port(s) -# $inet_socket_port = [10022,10024]; # listen on multiple TCP ports - -$policy_bank{'MYNETS'} = { # mail originating from @mynetworks - originating => 1, # is true in MYNETS by default, but let's make it explicit - os_fingerprint_method => undef, # don't query p0f for internal clients -}; - -# it is up to MTA to re-route mail from authenticated roaming users or -# from internal hosts to a dedicated TCP port (such as 10022) for filtering -$interface_policy{'10022'} = 'ORIGINATING'; - -$policy_bank{'ORIGINATING'} = { # mail supposedly originating from our users - originating => 1, # declare that mail was submitted by our smtp client - allow_disclaimers => 1, # enables disclaimer insertion if available - # notify administrator of locally originating malware - virus_admin_maps => ["virusalert\@$mydomain"], - spam_admin_maps => ["virusalert\@$mydomain"], - warnbadhsender => 1, - # forward to a smtpd service providing DKIM signing service - forward_method => 'smtp:[127.0.0.1]:10025', - # force MTA conversion to 7-bit (e.g. before DKIM signing) - smtpd_discard_ehlo_keywords => ['8BITMIME'], - bypass_banned_checks_maps => [1], # allow sending any file names and types - terminate_dsn_on_notify_success => 0, # don't remove NOTIFY=SUCCESS option -}; - -$interface_policy{'SOCK'} = 'AM.PDP-SOCK'; # only applies with $unix_socketname - -# Use with amavis-release over a socket or with Petr Rehor's amavis-milter.c -# (with amavis-milter.c from this package or old amavis.c client use 'AM.CL'): -$policy_bank{'AM.PDP-SOCK'} = { - protocol => 'AM.PDP', - auth_required_release => 0, # do not require secret_id for amavisd-release -}; - -$sa_tag_level_deflt = 2.0; # add spam info headers if at, or above that level -$sa_tag2_level_deflt = 6.2; # add 'spam detected' headers at that level -$sa_kill_level_deflt = 6.9; # triggers spam evasive actions (e.g. blocks mail) -$sa_dsn_cutoff_level = 10; # spam level beyond which a DSN is suppressed -$sa_crediblefrom_dsn_cutoff_level = 18; # likewise, but for a likely valid From -# $sa_quarantine_cutoff_level = 25; # spam level beyond which quarantine is off -$penpals_bonus_score = 8; # (no effect without a @storage_sql_dsn database) -$penpals_threshold_high = $sa_kill_level_deflt; # don't waste time on hi spam -$bounce_killer_score = 100; # spam score points to add for joe-jobbed bounces - -$sa_mail_body_size_limit = 400*1024; # don't waste time on SA if mail is larger -$sa_local_tests_only = 0; # only tests which do not require internet access? - -# @lookup_sql_dsn = -# ( ['DBI:mysql:database=mail;host=127.0.0.1;port=3306', 'user1', 'passwd1'], -# ['DBI:mysql:database=mail;host=host2', 'username2', 'password2'], -# ["DBI:SQLite:dbname=$MYHOME/sql/mail_prefs.sqlite", '', ''] ); -# @storage_sql_dsn = @lookup_sql_dsn; # none, same, or separate database -# @storage_redis_dsn = ( {server=>'127.0.0.1:6379', db_id=>1} ); -# $redis_logging_key = 'amavis-log'; -# $redis_logging_queue_size_limit = 300000; # about 250 MB / 100000 - -# $timestamp_fmt_mysql = 1; # if using MySQL *and* msgs.time_iso is TIMESTAMP; -# defaults to 0, which is good for non-MySQL or if msgs.time_iso is CHAR(16) - -$virus_admin = undef; # notifications recip. - -$mailfrom_notify_admin = undef; # notifications sender -$mailfrom_notify_recip = undef; # notifications sender -$mailfrom_notify_spamadmin = undef; # notifications sender -$mailfrom_to_quarantine = ''; # null return path; uses original sender if undef - -@addr_extension_virus_maps = ('virus'); -@addr_extension_banned_maps = ('banned'); -@addr_extension_spam_maps = ('spam'); -@addr_extension_bad_header_maps = ('badh'); -# $recipient_delimiter = '+'; # undef disables address extensions altogether -# when enabling addr extensions do also Postfix/main.cf: recipient_delimiter=+ - -$path = '/usr/local/sbin:/usr/local/bin:/usr/sbin:/sbin:/usr/bin:/bin'; -# $dspam = 'dspam'; - -$MAXLEVELS = 14; -$MAXFILES = 3000; -$MIN_EXPANSION_QUOTA = 100*1024; # bytes (default undef, not enforced) -$MAX_EXPANSION_QUOTA = 500*1024*1024; # bytes (default undef, not enforced) - -$sa_spam_subject_tag = '***Spam*** '; -$defang_virus = 1; # MIME-wrap passed infected mail -$defang_banned = 1; # MIME-wrap passed mail containing banned name -# for defanging bad headers only turn on certain minor contents categories: -$defang_by_ccat{CC_BADH.",3"} = 1; # NUL or CR character in header -$defang_by_ccat{CC_BADH.",5"} = 1; # header line longer than 998 characters -$defang_by_ccat{CC_BADH.",6"} = 1; # header field syntax error - - -# OTHER MORE COMMON SETTINGS (defaults may suffice): - -# $myhostname = 'host.example.com'; # must be a fully-qualified domain name! - -# The default forwarding port in the Fedora and RHEL SELinux policy is 10025. -# To allow additional ports you need to label them as 'amavisd_send_port_t'. -# For example: semanage port -a -t amavisd_send_port_t -p tcp 10023 -# $notify_method = 'smtp:[127.0.0.1]:10023'; -# $forward_method = 'smtp:[127.0.0.1]:10023'; # set to undef with milter! - -$final_virus_destiny = D_DISCARD; -$final_banned_destiny = D_BOUNCE; -$final_spam_destiny = D_DISCARD; #!!! D_DISCARD / D_REJECT -$final_bad_header_destiny = D_BOUNCE; -# $bad_header_quarantine_method = undef; - -# $os_fingerprint_method = 'p0f:*:2345'; # to query p0f-analyzer.pl - -## hierarchy by which a final setting is chosen: -## policy bank (based on port or IP address) -> *_by_ccat -## *_by_ccat (based on mail contents) -> *_maps -## *_maps (based on recipient address) -> final configuration value - - -# SOME OTHER VARIABLES WORTH CONSIDERING (see amavisd.conf-default for all) - -# $warnbadhsender, -# $warnvirusrecip, $warnbannedrecip, $warnbadhrecip, (or @warn*recip_maps) -# -# @bypass_virus_checks_maps, @bypass_spam_checks_maps, -# @bypass_banned_checks_maps, @bypass_header_checks_maps, -# -# @virus_lovers_maps, @spam_lovers_maps, -# @banned_files_lovers_maps, @bad_header_lovers_maps, -# -# @blacklist_sender_maps, @score_sender_maps, -# -# $clean_quarantine_method, $virus_quarantine_to, $banned_quarantine_to, -# $bad_header_quarantine_to, $spam_quarantine_to, -# -# $defang_bad_header, $defang_undecipherable, $defang_spam - - -# REMAINING IMPORTANT VARIABLES ARE LISTED HERE BECAUSE OF LONGER ASSIGNMENTS - -@keep_decoded_original_maps = (new_RE( - qr'^MAIL$', # let virus scanner see full original message - qr'^MAIL-UNDECIPHERABLE$', # same as ^MAIL$ if mail is undecipherable - qr'^(ASCII(?! cpio)|text|uuencoded|xxencoded|binhex)'i, -# qr'^Zip archive data', # don't trust Archive::Zip -)); - - -$banned_filename_re = new_RE( - -### BLOCKED ANYWHERE -# qr'^UNDECIPHERABLE$', # is or contains any undecipherable components - qr'^\.(exe-ms|dll)$', # banned file(1) types, rudimentary -# qr'^\.(exe|lha|cab|dll)$', # banned file(1) types - -### BLOCK THE FOLLOWING, EXCEPT WITHIN UNIX ARCHIVES: -# [ qr'^\.(gz|bz2)$' => 0 ], # allow any in gzip or bzip2 - [ qr'^\.(rpm|cpio|tar)$' => 0 ], # allow any in Unix-type archives - - qr'.\.(pif|scr)$'i, # banned extensions - rudimentary -# qr'^\.zip$', # block zip type - -### BLOCK THE FOLLOWING, EXCEPT WITHIN ARCHIVES: -# [ qr'^\.(zip|rar|arc|arj|zoo)$'=> 0 ], # allow any within these archives - - qr'^application/x-msdownload$'i, # block these MIME types - qr'^application/x-msdos-program$'i, - qr'^application/hta$'i, - -# qr'^message/partial$'i, # rfc2046 MIME type -# qr'^message/external-body$'i, # rfc2046 MIME type - -# qr'^(application/x-msmetafile|image/x-wmf)$'i, # Windows Metafile MIME type -# qr'^\.wmf$', # Windows Metafile file(1) type - - # block certain double extensions in filenames - qr'^(?!cid:).*\.[^./]*[A-Za-z][^./]*\.\s*(exe|vbs|pif|scr|bat|cmd|com|cpl|dll)[.\s]*$'i, - -# qr'\{[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}\}?'i, # Class ID CLSID, strict -# qr'\{[0-9a-z]{4,}(-[0-9a-z]{4,}){0,7}\}?'i, # Class ID extension CLSID, loose - - qr'.\.(exe|vbs|pif|scr|cpl)$'i, # banned extension - basic -# qr'.\.(exe|vbs|pif|scr|cpl|bat|cmd|com)$'i, # banned extension - basic+cmd -# qr'.\.(ade|adp|app|bas|bat|chm|cmd|com|cpl|crt|emf|exe|fxp|grp|hlp|hta| -# inf|ini|ins|isp|js|jse|lib|lnk|mda|mdb|mde|mdt|mdw|mdz|msc|msi| -# msp|mst|ocx|ops|pcd|pif|prg|reg|scr|sct|shb|shs|sys|vb|vbe|vbs|vxd| -# wmf|wsc|wsf|wsh)$'ix, # banned extensions - long -# qr'.\.(asd|asf|asx|url|vcs|wmd|wmz)$'i, # consider also -# qr'.\.(ani|cur|ico)$'i, # banned cursors and icons filename -# qr'^\.ani$', # banned animated cursor file(1) type -# qr'.\.(mim|b64|bhx|hqx|xxe|uu|uue)$'i, # banned extension - WinZip vulnerab. -); -# See http://support.microsoft.com/default.aspx?scid=kb;EN-US;q262631 -# and http://www.cknow.com/vtutor/vtextensions.htm - - -# ENVELOPE SENDER SOFT-WHITELISTING / SOFT-BLACKLISTING - -@score_sender_maps = ({ # a by-recipient hash lookup table, - # results from all matching recipient tables are summed - -# ## per-recipient personal tables (NOTE: positive: black, negative: white) -# 'user1@example.com' => [{'bla-mobile.press@example.com' => 10.0}], -# 'user3@example.com' => [{'.ebay.com' => -3.0}], -# 'user4@example.com' => [{'cleargreen@cleargreen.com' => -7.0, -# '.cleargreen.com' => -5.0}], - - ## site-wide opinions about senders (the '.' matches any recipient) - '.' => [ # the _first_ matching sender determines the score boost - - new_RE( # regexp-type lookup table, just happens to be all soft-blacklist - [qr'^(bulkmail|offers|cheapbenefits|earnmoney|foryou)@'i => 5.0], - [qr'^(greatcasino|investments|lose_weight_today|market\.alert)@'i=> 5.0], - [qr'^(money2you|MyGreenCard|new\.tld\.registry|opt-out|opt-in)@'i=> 5.0], - [qr'^(optin|saveonlsmoking2002k|specialoffer|specialoffers)@'i => 5.0], - [qr'^(stockalert|stopsnoring|wantsome|workathome|yesitsfree)@'i => 5.0], - [qr'^(your_friend|greatoffers)@'i => 5.0], - [qr'^(inkjetplanet|marketopt|MakeMoney)\d*@'i => 5.0], - ), - -# read_hash("/var/amavis/sender_scores_sitewide"), - - { # a hash-type lookup table (associative array) - 'nobody@cert.org' => -3.0, - 'cert-advisory@us-cert.gov' => -3.0, - 'owner-alert@iss.net' => -3.0, - 'slashdot@slashdot.org' => -3.0, - 'securityfocus.com' => -3.0, - 'ntbugtraq@listserv.ntbugtraq.com' => -3.0, - 'security-alerts@linuxsecurity.com' => -3.0, - 'mailman-announce-admin@python.org' => -3.0, - 'amavis-user-admin@lists.sourceforge.net'=> -3.0, - 'amavis-user-bounces@lists.sourceforge.net' => -3.0, - 'spamassassin.apache.org' => -3.0, - 'notification-return@lists.sophos.com' => -3.0, - 'owner-postfix-users@postfix.org' => -3.0, - 'owner-postfix-announce@postfix.org' => -3.0, - 'owner-sendmail-announce@lists.sendmail.org' => -3.0, - 'sendmail-announce-request@lists.sendmail.org' => -3.0, - 'donotreply@sendmail.org' => -3.0, - 'ca+envelope@sendmail.org' => -3.0, - 'noreply@freshmeat.net' => -3.0, - 'owner-technews@postel.acm.org' => -3.0, - 'ietf-123-owner@loki.ietf.org' => -3.0, - 'cvs-commits-list-admin@gnome.org' => -3.0, - 'rt-users-admin@lists.fsck.com' => -3.0, - 'clp-request@comp.nus.edu.sg' => -3.0, - 'surveys-errors@lists.nua.ie' => -3.0, - 'emailnews@genomeweb.com' => -5.0, - 'yahoo-dev-null@yahoo-inc.com' => -3.0, - 'returns.groups.yahoo.com' => -3.0, - 'clusternews@linuxnetworx.com' => -3.0, - lc('lvs-users-admin@LinuxVirtualServer.org') => -3.0, - lc('owner-textbreakingnews@CNNIMAIL12.CNN.COM') => -5.0, - - # soft-blacklisting (positive score) - 'sender@example.net' => 3.0, - '.example.net' => 1.0, - - }, - ], # end of site-wide tables -}); - - -@decoders = ( - ['mail', \&do_mime_decode], -# [[qw(asc uue hqx ync)], \&do_ascii], # not safe - ['F', \&do_uncompress, ['unfreeze', 'freeze -d', 'melt', 'fcat'] ], - ['Z', \&do_uncompress, ['uncompress', 'gzip -d', 'zcat'] ], - ['gz', \&do_uncompress, 'gzip -d'], - ['gz', \&do_gunzip], - ['bz2', \&do_uncompress, 'bzip2 -d'], - ['xz', \&do_uncompress, - ['xzdec', 'xz -dc', 'unxz -c', 'xzcat'] ], - ['lzma', \&do_uncompress, - ['lzmadec', 'xz -dc --format=lzma', - 'lzma -dc', 'unlzma -c', 'lzcat', 'lzmadec'] ], -# ['lrz', \&do_uncompress, -# ['lrzip -q -k -d -o -', 'lrzcat -q -k'] ], - ['lzo', \&do_uncompress, 'lzop -d'], - ['lz4', \&do_uncompress, ['lz4c -d'] ], - ['rpm', \&do_uncompress, ['rpm2cpio.pl', 'rpm2cpio'] ], - [['cpio','tar'], \&do_pax_cpio, ['pax', 'gcpio', 'cpio'] ], - # ['/usr/local/heirloom/usr/5bin/pax', 'pax', 'gcpio', 'cpio'] - ['deb', \&do_ar, 'ar'], -# ['a', \&do_ar, 'ar'], # unpacking .a seems an overkill - ['rar', \&do_unrar, ['unrar', 'rar'] ], - ['arj', \&do_unarj, ['unarj', 'arj'] ], - ['arc', \&do_arc, ['nomarch', 'arc'] ], - ['zoo', \&do_zoo, ['zoo', 'unzoo'] ], -# ['doc', \&do_ole, 'ripole'], # no ripole package so far - ['cab', \&do_cabextract, 'cabextract'], -# ['tnef', \&do_tnef_ext, 'tnef'], # use internal do_tnef() instead - ['tnef', \&do_tnef], -# ['lha', \&do_lha, 'lha'], # not safe, use 7z instead -# ['sit', \&do_unstuff, 'unstuff'], # not safe - [['zip','kmz'], \&do_7zip, ['7za', '7z'] ], - [['zip','kmz'], \&do_unzip], - ['7z', \&do_7zip, ['7zr', '7za', '7z'] ], - [[qw(gz bz2 Z tar)], - \&do_7zip, ['7za', '7z'] ], - [[qw(xz lzma jar cpio arj rar swf lha iso cab deb rpm)], - \&do_7zip, '7z' ], - ['exe', \&do_executable, ['unrar','rar'], 'lha', ['unarj','arj'] ], -); - - -@av_scanners = ( - -# ### http://www.sophos.com/ -# ['Sophos-SSSP', # SAV Dynamic Interface -# \&ask_daemon, ["{}", 'sssp:/run/savdi/sssp.sock'], -# # or: ["{}", 'sssp:[127.0.0.1]:4010'], -# qr/^DONE OK\b/m, qr/^VIRUS\b/m, qr/^VIRUS\s*(\S*)/m ], - -# ### http://www.clanfield.info/sophie/ (http://www.vanja.com/tools/sophie/) -# ['Sophie', -# \&ask_daemon, ["{}/\n", 'sophie:/run/sophie'], -# qr/(?x)^ 0+ ( : | [\000\r\n]* $)/, qr/(?x)^ 1 ( : | [\000\r\n]* $)/, -# qr/(?x)^ [-+]? \d+ : (.*?) [\000\r\n]* $/m ], - -# ### http://www.csupomona.edu/~henson/www/projects/SAVI-Perl/ -# ['Sophos SAVI', \&ask_daemon, ['{}','savi-perl:'] ], - -# ['Avira SAVAPI', -# \&ask_daemon, ["*", 'savapi:/var/tmp/.savapi3', 'product-id'], -# qr/^(200|210)/m, qr/^(310|420|319)/m, -# qr/^(?:310|420)[,\s]*(?:.* <<< )?(.+?)(?: ; |$)/m ], -# settings for the SAVAPI3.conf: ArchiveScan=1, HeurLevel=2, MailboxScan=1 - - ### http://www.clamav.net/ - ['ClamAV-clamd', - \&ask_daemon, ["CONTSCAN {}\n", "/run/clamd.amavisd/clamd.sock"], - qr/\bOK$/m, qr/\bFOUND$/m, - qr/^.*?: (?!Infected Archive)(.*) FOUND$/m ], - # NOTE: run clamd under the same user as amavisd - or run it under its own - # uid such as clamav, add user clamav to the amavis group, and then add - # AllowSupplementaryGroups to clamd.conf; - # NOTE: match socket name (LocalSocket) in clamav.conf to the socket name in - # this entry; when running chrooted one may prefer a socket under $MYHOME. - -# ### http://www.clamav.net/ and CPAN (memory-hungry! clamd is preferred) -# # note that Mail::ClamAV requires perl to be build with threading! -# ['Mail::ClamAV', \&ask_daemon, ['{}','clamav-perl:'], -# [0], [1], qr/^INFECTED: (.+)/m], - -# ### http://www.openantivirus.org/ -# ['OpenAntiVirus ScannerDaemon (OAV)', -# \&ask_daemon, ["SCAN {}\n", '127.0.0.1:8127'], -# qr/^OK/m, qr/^FOUND: /m, qr/^FOUND: (.+)/m ], - -# ### http://www.vanja.com/tools/trophie/ -# ['Trophie', -# \&ask_daemon, ["{}/\n", 'trophie:/run/trophie'], -# qr/(?x)^ 0+ ( : | [\000\r\n]* $)/m, qr/(?x)^ 1 ( : | [\000\r\n]* $)/m, -# qr/(?x)^ [-+]? \d+ : (.*?) [\000\r\n]* $/m ], - -# ### http://www.grisoft.com/ -# ['AVG Anti-Virus', -# \&ask_daemon, ["SCAN {}\n", '127.0.0.1:55555'], -# qr/^200/m, qr/^403/m, qr/^403[- ].*: ([^\r\n]+)/m ], - -# ### http://www.f-prot.com/ -# ['F-Prot fpscand', # F-PROT Antivirus for BSD/Linux/Solaris, version 6 -# \&ask_daemon, -# ["SCAN FILE {}/*\n", '127.0.0.1:10200'], -# qr/^(0|8|64) /m, -# qr/^([1235679]|1[01345]) |<[^>:]*(?i)(infected|suspicious|unwanted)/m, -# qr/(?i)<[^>:]*(?:infected|suspicious|unwanted)[^>:]*: ([^>]*)>/m ], - -# ### http://www.f-prot.com/ -# ['F-Prot f-protd', # old version -# \&ask_daemon, -# ["GET {}/*?-dumb%20-archive%20-packed HTTP/1.0\r\n\r\n", -# ['127.0.0.1:10200', '127.0.0.1:10201', '127.0.0.1:10202', -# '127.0.0.1:10203', '127.0.0.1:10204'] ], -# qr/(?i)]*>clean<\/summary>/m, -# qr/(?i)]*>infected<\/summary>/m, -# qr/(?i)(.+)<\/name>/m ], - -# ### http://www.sald.com/, http://www.dials.ru/english/, http://www.drweb.ru/ -# ['DrWebD', \&ask_daemon, # DrWebD 4.31 or later -# [pack('N',1). # DRWEBD_SCAN_CMD -# pack('N',0x00280001). # DONT_CHANGEMAIL, IS_MAIL, RETURN_VIRUSES -# pack('N', # path length -# length("$TEMPBASE/amavis-yyyymmddTHHMMSS-xxxxx/parts/pxxx")). -# '{}/*'. # path -# pack('N',0). # content size -# pack('N',0), -# '/var/drweb/run/drwebd.sock', -# # '/var/amavis/run/drwebd.sock', # suitable for chroot -# # '/usr/local/drweb/run/drwebd.sock', # FreeBSD drweb ports default -# # '127.0.0.1:3000', # or over an inet socket -# ], -# qr/\A\x00[\x10\x11][\x00\x10]\x00/sm, # IS_CLEAN,EVAL_KEY; SKIPPED -# qr/\A\x00[\x00\x01][\x00\x10][\x20\x40\x80]/sm,# KNOWN_V,UNKNOWN_V,V._MODIF -# qr/\A.{12}(?:infected with )?([^\x00]+)\x00/sm, -# ], -# # NOTE: If using amavis-milter, change length to: -# # length("$TEMPBASE/amavis-milter-xxxxxxxxxxxxxx/parts/pxxx"). - - ### http://www.kaspersky.com/ (kav4mailservers) - ['KasperskyLab AVP - aveclient', - ['/usr/local/kav/bin/aveclient','/usr/local/share/kav/bin/aveclient', - '/opt/kav/5.5/kav4mailservers/bin/aveclient','aveclient'], - '-p /run/aveserver -s {}/*', - [0,3,6,8], qr/\b(INFECTED|SUSPICION|SUSPICIOUS)\b/m, - qr/(?:INFECTED|WARNING|SUSPICION|SUSPICIOUS) (.+)/m, - ], - # NOTE: one may prefer [0],[2,3,4,5], depending on how suspicious, - # currupted or protected archives are to be handled - - ### http://www.kaspersky.com/ - ['KasperskyLab AntiViral Toolkit Pro (AVP)', ['avp'], - '-* -P -B -Y -O- {}', [0,3,6,8], [2,4], # any use for -A -K ? - qr/infected: (.+)/m, - sub {chdir('/opt/AVP') or die "Can't chdir to AVP: $!"}, - sub {chdir($TEMPBASE) or die "Can't chdir back to $TEMPBASE $!"}, - ], - - ### The kavdaemon and AVPDaemonClient have been removed from Kasperky - ### products and replaced by aveserver and aveclient - ['KasperskyLab AVPDaemonClient', - [ '/opt/AVP/kavdaemon', 'kavdaemon', - '/opt/AVP/AvpDaemonClient', 'AvpDaemonClient', - '/opt/AVP/AvpTeamDream', 'AvpTeamDream', - '/opt/AVP/avpdc', 'avpdc' ], - "-f=$TEMPBASE {}", [0,8], [3,4,5,6], qr/infected: ([^\r\n]+)/m ], - # change the startup-script in /etc/init.d/kavd to: - # DPARMS="-* -Y -dl -f=/var/amavis /var/amavis" - # (or perhaps: DPARMS="-I0 -Y -* /var/amavis" ) - # adjusting /var/amavis above to match your $TEMPBASE. - # The '-f=/var/amavis' is needed if not running it as root, so it - # can find, read, and write its pid file, etc., see 'man kavdaemon'. - # defUnix.prf: there must be an entry "*/var/amavis" (or whatever - # directory $TEMPBASE specifies) in the 'Names=' section. - # cd /opt/AVP/DaemonClients; configure; cd Sample; make - # cp AvpDaemonClient /opt/AVP/ - # su - vscan -c "${PREFIX}/kavdaemon ${DPARMS}" - - ### http://www.centralcommand.com/ - ['CentralCommand Vexira (new) vascan', - ['vascan','/usr/lib/Vexira/vascan'], - "-a s --timeout=60 --temp=$TEMPBASE -y $QUARANTINEDIR ". - "--log=/var/log/vascan.log {}", - [0,3], [1,2,5], - qr/(?x)^\s* (?:virus|iworm|macro|mutant|sequence|trojan)\ found:\ ( [^\]\s']+ )\ \.\.\.\ /m ], - # Adjust the path of the binary and the virus database as needed. - # 'vascan' does not allow to have the temp directory to be the same as - # the quarantine directory, and the quarantine option can not be disabled. - # If $QUARANTINEDIR is not used, then another directory must be specified - # to appease 'vascan'. Move status 3 to the second list if password - # protected files are to be considered infected. - - ### http://www.avira.com/ - ### old Avira AntiVir 2.x (ex H+BEDV) or old CentralCommand Vexira Antivirus - ['Avira AntiVir', ['antivir','vexira'], - '--allfiles -noboot -nombr -rs -s -z {}', [0], qr/ALERT:|VIRUS:/m, - qr/(?x)^\s* (?: ALERT: \s* (?: \[ | [^']* ' ) | - (?i) VIRUS:\ .*?\ virus\ '?) ( [^\]\s']+ )/m ], - # NOTE: if you only have a demo version, remove -z and add 214, as in: - # '--allfiles -noboot -nombr -rs -s {}', [0,214], qr/ALERT:|VIRUS:/, - - ### http://www.avira.com/ - ### Avira for UNIX 3.x - ['Avira AntiVir', ['avscan'], - '-s --batch --alert-action=none {}', [0,4], qr/(?:ALERT|FUND):/m, - qr/(?:ALERT|FUND): (?:.* <<< )?(.+?)(?: ; |$)/m ], - - ### http://www.commandsoftware.com/ - ['Command AntiVirus for Linux', 'csav', - '-all -archive -packed {}', [50], [51,52,53], - qr/Infection: (.+)/m ], - - ### http://www.symantec.com/ - ['Symantec CarrierScan via Symantec CommandLineScanner', - 'cscmdline', '-a scan -i 1 -v -s 127.0.0.1:7777 {}', - qr/^Files Infected:\s+0$/m, qr/^Infected\b/m, - qr/^(?:Info|Virus Name):\s+(.+)/m ], - - ### http://www.symantec.com/ - ['Symantec AntiVirus Scan Engine', - 'savsecls', '-server 127.0.0.1:7777 -mode scanrepair -details -verbose {}', - [0], qr/^Infected\b/m, - qr/^(?:Info|Virus Name):\s+(.+)/m ], - # NOTE: check options and patterns to see which entry better applies - -# ### http://www.f-secure.com/products/anti-virus/ version 5.52 -# ['F-Secure Antivirus for Linux servers', -# ['/opt/f-secure/fsav/bin/fsav', 'fsav'], -# '--virus-action1=report --archive=yes --auto=yes '. -# '--dumb=yes --list=no --mime=yes {}', [0], [3,4,6,8], -# qr/(?:infection|Infected|Suspected|Riskware): (.+)/m ], -# # NOTE: internal archive handling may be switched off by '--archive=no' -# # to prevent fsav from exiting with status 9 on broken archives - - ### http://www.f-secure.com/ version 9.14 - ['F-Secure Linux Security', - ['/opt/f-secure/fsav/bin/fsav', 'fsav'], - '--virus-action1=report --archive=yes --auto=yes '. - '--list=no --nomimeerr {}', [0], [3,4,6,8], - qr/(?:infection|Infected|Suspected|Riskware): (.+)/m ], - # NOTE: internal archive handling may be switched off by '--archive=no' - # to prevent fsav from exiting with status 9 on broken archives - -# ### http://www.avast.com/ -# ['avast! Antivirus daemon', -# \&ask_daemon, # greets with 220, terminate with QUIT -# ["SCAN {}\015\012QUIT\015\012", '/run/avast4/mailscanner.sock'], -# qr/\t\[\+\]/m, qr/\t\[L\]\t/m, qr/\t\[L\]\t[0-9]+\s+([^[ \t\015\012]+)/m ], - -# ### http://www.avast.com/ -# ['avast! Antivirus - Client/Server Version', 'avastlite', -# '-a /run/avast4/mailscanner.sock -n {}', [0], [1], -# qr/\t\[L\]\t([^[ \t\015\012]+)/m ], - - ['CAI InoculateIT', 'inocucmd', # retired product - '-sec -nex {}', [0], [100], - qr/was infected by virus (.+)/m ], - # see: http://www.flatmtn.com/computer/Linux-Antivirus_CAI.html - - ### http://www3.ca.com/Solutions/Product.asp?ID=156 (ex InoculateIT) - ['CAI eTrust Antivirus', 'etrust-wrapper', - '-arc -nex -spm h {}', [0], [101], - qr/is infected by virus: (.+)/m ], - # NOTE: requires suid wrapper around inocmd32; consider flag: -mod reviewer - # see http://marc.theaimsgroup.com/?l=amavis-user&m=109229779912783 - - ### http://mks.com.pl/english.html - ['MkS_Vir for Linux (beta)', ['mks32','mks'], - '-s {}/*', [0], [1,2], - qr/--[ \t]*(.+)/m ], - - ### http://mks.com.pl/english.html - ['MkS_Vir daemon', 'mksscan', - '-s -q {}', [0], [1..7], - qr/^... (\S+)/m ], - -# ### http://www.nod32.com/, version v2.52 (old) -# ['ESET NOD32 for Linux Mail servers', -# ['/opt/eset/nod32/bin/nod32cli', 'nod32cli'], -# '--subdir --files -z --sfx --rtp --adware --unsafe --pattern --heur '. -# '-w -a --action-on-infected=accept --action-on-uncleanable=accept '. -# '--action-on-notscanned=accept {}', -# [0,3], [1,2], qr/virus="([^"]+)"/m ], - -# ### http://www.eset.com/, version v2.7 (old) -# ['ESET NOD32 Linux Mail Server - command line interface', -# ['/usr/bin/nod32cli', '/opt/eset/nod32/bin/nod32cli', 'nod32cli'], -# '--subdir {}', [0,3], [1,2], qr/virus="([^"]+)"/m ], - -# ### http://www.eset.com/, version 2.71.12 -# ['ESET Software ESETS Command Line Interface', -# ['/usr/bin/esets_cli', 'esets_cli'], -# '--subdir {}', [0], [1,2,3], qr/virus="([^"]+)"/m ], - - ### http://www.eset.com/, version 3.0 - ['ESET Software ESETS Command Line Interface', - ['/usr/bin/esets_cli', 'esets_cli'], - '--subdir {}', [0], [1,2,3], - qr/:\s*action="(?!accepted)[^"]*"\n.*:\s*virus="([^"]*)"/m ], - - ## http://www.nod32.com/, NOD32LFS version 2.5 and above - ['ESET NOD32 for Linux File servers', - ['/opt/eset/nod32/sbin/nod32','nod32'], - '--files -z --mail --sfx --rtp --adware --unsafe --pattern --heur '. - '-w -a --action=1 -b {}', - [0], [1,10], qr/^object=.*, virus="(.*?)",/m ], - -# Experimental, based on posting from Rado Dibarbora (Dibo) on 2002-05-31 -# ['ESET Software NOD32 Client/Server (NOD32SS)', -# \&ask_daemon2, # greets with 200, persistent, terminate with QUIT -# ["SCAN {}/*\r\n", '127.0.0.1:8448' ], -# qr/^200 File OK/m, qr/^201 /m, qr/^201 (.+)/m ], - - ### http://www.norman.com/products_nvc.shtml - ['Norman Virus Control v5 / Linux', 'nvcc', - '-c -l:0 -s -u -temp:$TEMPBASE {}', [0,10,11], [1,2,14], - qr/(?i).* virus in .* -> \'(.+)\'/m ], - - ### http://www.pandasoftware.com/ - ['Panda CommandLineSecure 9 for Linux', - ['/opt/pavcl/usr/bin/pavcl','pavcl'], - '-auto -aex -heu -cmp -nbr -nor -nos -eng -nob {}', - qr/Number of files infected[ .]*: 0+(?!\d)/m, - qr/Number of files infected[ .]*: 0*[1-9]/m, - qr/Found virus :\s*(\S+)/m ], - # NOTE: for efficiency, start the Panda in resident mode with 'pavcl -tsr' - # before starting amavisd - the bases are then loaded only once at startup. - # To reload bases in a signature update script: - # /opt/pavcl/usr/bin/pavcl -tsr -ulr; /opt/pavcl/usr/bin/pavcl -tsr - # Please review other options of pavcl, for example: - # -nomalw, -nojoke, -nodial, -nohackt, -nospyw, -nocookies - -# ### http://www.pandasoftware.com/ -# ['Panda Antivirus for Linux', ['pavcl'], -# '-TSR -aut -aex -heu -cmp -nbr -nor -nso -eng {}', -# [0], [0x10, 0x30, 0x50, 0x70, 0x90, 0xB0, 0xD0, 0xF0], -# qr/Found virus :\s*(\S+)/m ], - -# GeCAD AV technology is acquired by Microsoft; RAV has been discontinued. -# Check your RAV license terms before fiddling with the following two lines! -# ['GeCAD RAV AntiVirus 8', 'ravav', -# '--all --archive --mail {}', [1], [2,3,4,5], qr/Infected: (.+)/m ], -# # NOTE: the command line switches changed with scan engine 8.5 ! -# # (btw, assigning stdin to /dev/null causes RAV to fail) - - ### http://www.nai.com/ - ['NAI McAfee AntiVirus (uvscan)', 'uvscan', - '--secure -rv --mime --summary --noboot - {}', [0], [13], - qr/(?x) Found (?: - \ the\ (.+)\ (?:virus|trojan) | - \ (?:virus|trojan)\ or\ variant\ ([^ ]+) | - :\ (.+)\ NOT\ a\ virus)/m, - # sub {$ENV{LD_PRELOAD}='/lib/libc.so.6'}, - # sub {delete $ENV{LD_PRELOAD}}, - ], - # NOTE1: with RH9: force the dynamic linker to look at /lib/libc.so.6 before - # anything else by setting environment variable LD_PRELOAD=/lib/libc.so.6 - # and then clear it when finished to avoid confusing anything else. - # NOTE2: to treat encrypted files as viruses replace the [13] with: - # qr/^\s{5,}(Found|is password-protected|.*(virus|trojan))/ - - ### http://www.virusbuster.hu/en/ - ['VirusBuster', ['vbuster', 'vbengcl'], - "{} -ss -i '*' -log=$MYHOME/vbuster.log", [0], [1], - qr/: '(.*)' - Virus/m ], - # VirusBuster Ltd. does not support the daemon version for the workstation - # engine (vbuster-eng-1.12-linux-i386-libc6.tgz) any longer. The names of - # binaries, some parameters AND return codes have changed (from 3 to 1). - # See also the new Vexira entry 'vascan' which is possibly related. - -# ### http://www.virusbuster.hu/en/ -# ['VirusBuster (Client + Daemon)', 'vbengd', -# '-f -log scandir {}', [0], [3], -# qr/Virus found = (.*);/m ], -# # HINT: for an infected file it always returns 3, -# # although the man-page tells a different story - - ### http://www.cyber.com/ - ['CyberSoft VFind', 'vfind', - '--vexit {}/*', [0], [23], qr/##==>>>> VIRUS ID: CVDL (.+)/m, - # sub {$ENV{VSTK_HOME}='/usr/lib/vstk'}, - ], - -# ### http://www.avast.com/ (old) -# ['avast! Antivirus', ['/usr/bin/avastcmd','avastcmd'], -# '-a -i -n -t=A {}', [0], [1], qr/\binfected by:\s+([^ \t\n\[\]]+)/m ], - -# ### http://www.avast.com/ -# ['avast! Antivirus', '/bin/scan', '{}', [0], [1], qr/\t(.+)/m ], - - ### http://www.ikarus-software.com/ - ['Ikarus AntiVirus for Linux', 'ikarus', - '{}', [0], [40], qr/Signature (.+) found/m ], - - ### http://www.bitdefender.com/ - ['BitDefender', 'bdscan', # new version - '--action=ignore --no-list {}', qr/^Infected files\s*:\s*0+(?!\d)/m, - qr/^(?:Infected files|Identified viruses|Suspect files)\s*:\s*0*[1-9]/m, - qr/(?:suspected|infected)\s*:\s*(.*)(?:\033|$)/m ], - - ### http://www.bitdefender.com/ - ['BitDefender', 'bdc', # old version - '--arc --mail {}', qr/^Infected files *:0+(?!\d)/m, - qr/^(?:Infected files|Identified viruses|Suspect files) *:0*[1-9]/m, - qr/(?:suspected|infected): (.*)(?:\033|$)/m ], - # consider also: --all --nowarn --alev=15 --flev=15. The --all argument may - # not apply to your version of bdc, check documentation and see 'bdc --help' - - ### ArcaVir for Linux and Unix http://www.arcabit.pl/ - ['ArcaVir for Linux', ['arcacmd','arcacmd.static'], - '-v 1 -summary 0 -s {}', [0], [1,2], - qr/(?:VIR|WIR):[ \t]*(.+)/m ], - -# ### a generic SMTP-client interface to a SMTP-based virus scanner -# ['av_smtp', \&ask_av_smtp, -# ['{}', 'smtp:[127.0.0.1]:5525', 'dummy@localhost'], -# qr/^2/, qr/^5/, qr/^\s*(.*?)\s*$/m ], - -# ['File::Scan', sub {Amavis::AV::ask_av(sub{ -# use File::Scan; my($fn)=@_; -# my($f)=File::Scan->new(max_txt_size=>0, max_bin_size=>0); -# my($vname) = $f->scan($fn); -# $f->error ? (2,"Error: ".$f->error) -# : ($vname ne '') ? (1,"$vname FOUND") : (0,"Clean")}, @_) }, -# ["{}/*"], [0], [1], qr/^(.*) FOUND$/m ], - -# ### fully-fledged checker for JPEG marker segments of invalid length -# ['check-jpeg', -# sub { use JpegTester (); Amavis::AV::ask_av(\&JpegTester::test_jpeg, @_) }, -# ["{}/*"], undef, [1], qr/^(bad jpeg: .*)$/m ], -# # NOTE: place file JpegTester.pm somewhere where Perl can find it, -# # for example in /usr/local/lib/perl5/site_perl - -); - - -@av_scanners_backup = ( - - ### http://www.clamav.net/ - backs up clamd or Mail::ClamAV - ['ClamAV-clamscan', 'clamscan', - "--stdout --no-summary -r --tempdir=$TEMPBASE {}", - [0], qr/:.*\sFOUND$/m, qr/^.*?: (?!Infected Archive)(.*) FOUND$/m ], - -# ### http://www.clamav.net/ - using remote clamd scanner as a backup -# ['ClamAV-clamdscan', 'clamdscan', -# "--stdout --no-summary --config-file=/etc/clamd-client.conf {}", -# [0], qr/:.*\sFOUND$/m, qr/^.*?: (?!Infected Archive)(.*) FOUND$/m ], - -# ['ClamAV-clamd-stream', -# \&ask_daemon, ["*", 'clamd:/run/clamav/clamd.sock'], -# qr/\bOK$/m, qr/\bFOUND$/m, -# qr/^.*?: (?!Infected Archive)(.*) FOUND$/m ], - - ### http://www.f-prot.com/ - backs up F-Prot Daemon, V6 - ['F-PROT Antivirus for UNIX', ['fpscan'], - '--report --mount --adware {}', # consider: --applications -s 4 -u 3 -z 10 - [0,8,64], [1,2,3, 4+1,4+2,4+3, 8+1,8+2,8+3, 12+1,12+2,12+3], - qr/^\[Found\s+[^\]]*\]\s+<([^ \t(>]*)/m ], - - ### http://www.f-prot.com/ - backs up F-Prot Daemon (old) - ['FRISK F-Prot Antivirus', ['f-prot','f-prot.sh'], - '-dumb -archive -packed {}', [0,8], [3,6], # or: [0], [3,6,8], - qr/(?:Infection:|security risk named) (.+)|\s+contains\s+(.+)$/m ], - - ### http://www.trendmicro.com/ - backs up Trophie - ['Trend Micro FileScanner', ['/etc/iscan/vscan','vscan'], - '-za -a {}', [0], qr/Found virus/m, qr/Found virus (.+) in/m ], - - ### http://www.sald.com/, http://drweb.imshop.de/ - backs up DrWebD - ['drweb - DrWeb Antivirus', # security LHA hole in Dr.Web 4.33 and earlier - ['/usr/local/drweb/drweb', '/opt/drweb/drweb', 'drweb'], - '-path={} -al -go -ot -cn -upn -ok-', - [0,32], [1,9,33], qr' infected (?:with|by)(?: virus)? (.*)$'m ], - - ### http://www.kaspersky.com/ - ['Kaspersky Antivirus v5.5', - ['/opt/kaspersky/kav4fs/bin/kav4fs-kavscanner', - '/opt/kav/5.5/kav4unix/bin/kavscanner', - '/opt/kav/5.5/kav4mailservers/bin/kavscanner', 'kavscanner'], - '-i0 -xn -xp -mn -R -ePASBME {}/*', [0,10,15], [5,20,21,25], - qr/(?:INFECTED|WARNING|SUSPICION|SUSPICIOUS) (.*)/m, -# sub {chdir('/opt/kav/bin') or die "Can't chdir to kav: $!"}, -# sub {chdir($TEMPBASE) or die "Can't chdir back to $TEMPBASE $!"}, - ], - - ### http://www.sophos.com/ - ['Sophos Anti Virus (savscan)', # formerly known as 'sweep' - ['/opt/sophos-av/bin/savscan', 'savscan'], # 'sweep' - '-nb -f -all -rec -ss -sc -archive -cab -mime -oe -tnef '. - '--no-reset-atime {}', - [0,2], qr/Virus .*? found/m, - qr/^>>> Virus(?: fragment)? '?(.*?)'? found/m, - ], - # other options to consider: -idedir=/usr/local/sav - # A name 'sweep' clashes with a name of an audio editor (Debian and FreeBSD). - # Make sure the correct 'sweep' is found in the path if using the old name. - -# Always succeeds and considers mail clean. -# Potentially useful when all other scanners fail and it is desirable -# to let mail continue to flow with no virus checking (when uncommented). -# ['always-clean', sub {0}], - -); - - -1; # insure a defined return value diff --git a/bashrc.rpmnew b/bashrc.rpmnew deleted file mode 100644 index d462ac7..0000000 --- a/bashrc.rpmnew +++ /dev/null @@ -1,96 +0,0 @@ -# /etc/bashrc - -# System wide functions and aliases -# Environment stuff goes in /etc/profile - -# It's NOT a good idea to change this file unless you know what you -# are doing. It's much better to create a custom.sh shell script in -# /etc/profile.d/ to make custom changes to your environment, as this -# will prevent the need for merging in future updates. - -# Prevent doublesourcing -if [ -z "$BASHRCSOURCED" ]; then - BASHRCSOURCED="Y" - - # are we an interactive shell? - if [ "$PS1" ]; then - if [ -z "$PROMPT_COMMAND" ]; then - case $TERM in - xterm*|vte*) - if [ -e /etc/sysconfig/bash-prompt-xterm ]; then - PROMPT_COMMAND=/etc/sysconfig/bash-prompt-xterm - else - PROMPT_COMMAND='printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"' - fi - ;; - screen*) - if [ -e /etc/sysconfig/bash-prompt-screen ]; then - PROMPT_COMMAND=/etc/sysconfig/bash-prompt-screen - else - PROMPT_COMMAND='printf "\033k%s@%s:%s\033\\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"' - fi - ;; - *) - [ -e /etc/sysconfig/bash-prompt-default ] && PROMPT_COMMAND=/etc/sysconfig/bash-prompt-default - ;; - esac - fi - # Turn on parallel history - shopt -s histappend - history -a - # Turn on checkwinsize - shopt -s checkwinsize - [ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ " - # You might want to have e.g. tty in prompt (e.g. more virtual machines) - # and console windows - # If you want to do so, just add e.g. - # if [ "$PS1" ]; then - # PS1="[\u@\h:\l \W]\\$ " - # fi - # to your custom modification shell script in /etc/profile.d/ directory - fi - - if ! shopt -q login_shell ; then # We're not a login shell - # Need to redefine pathmunge, it gets undefined at the end of /etc/profile - pathmunge () { - case ":${PATH}:" in - *:"$1":*) - ;; - *) - if [ "$2" = "after" ] ; then - PATH=$PATH:$1 - else - PATH=$1:$PATH - fi - esac - } - - # By default, we want umask to get set. This sets it for non-login shell. - # Current threshold for system reserved uid/gids is 200 - # You could check uidgid reservation validity in - # /usr/share/doc/setup-*/uidgid file - if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then - umask 002 - else - umask 022 - fi - - SHELL=/bin/bash - # Only display echos from profile.d scripts if we are no login shell - # and interactive - otherwise just process them to set envvars - for i in /etc/profile.d/*.sh; do - if [ -r "$i" ]; then - if [ "$PS1" ]; then - . "$i" - else - . "$i" >/dev/null - fi - fi - done - - unset i - unset -f pathmunge - fi - -fi -# vim:ts=4:sw=4 diff --git a/chrony.conf.rpmnew b/chrony.conf.rpmnew deleted file mode 100644 index 9d0f700..0000000 --- a/chrony.conf.rpmnew +++ /dev/null @@ -1,38 +0,0 @@ -# Use public servers from the pool.ntp.org project. -# Please consider joining the pool (http://www.pool.ntp.org/join.html). -pool 2.almalinux.pool.ntp.org iburst - -# Record the rate at which the system clock gains/losses time. -driftfile /var/lib/chrony/drift - -# Allow the system clock to be stepped in the first three updates -# if its offset is larger than 1 second. -makestep 1.0 3 - -# Enable kernel synchronization of the real-time clock (RTC). -rtcsync - -# Enable hardware timestamping on all interfaces that support it. -#hwtimestamp * - -# Increase the minimum number of selectable sources required to adjust -# the system clock. -#minsources 2 - -# Allow NTP client access from local network. -#allow 192.168.0.0/16 - -# Serve time even if not synchronized to a time source. -#local stratum 10 - -# Specify file containing keys for NTP authentication. -keyfile /etc/chrony.keys - -# Get TAI-UTC offset and leap seconds from the system tz database. -leapsectz right/UTC - -# Specify directory for log files. -logdir /var/log/chrony - -# Select which information is logged. -#log measurements statistics tracking diff --git a/clamd.conf.rpmnew b/clamd.conf.rpmnew deleted file mode 100644 index a1ca9ec..0000000 --- a/clamd.conf.rpmnew +++ /dev/null @@ -1,791 +0,0 @@ -## -## Example config file for the Clam AV daemon -## Please read the clamd.conf(5) manual before editing this file. -## - - -# Comment or remove the line below. -Example - -# Uncomment this option to enable logging. -# LogFile must be writable for the user running daemon. -# A full path is required. -# Default: disabled -#LogFile /tmp/clamd.log - -# By default the log file is locked for writing - the lock protects against -# running clamd multiple times (if want to run another clamd, please -# copy the configuration file, change the LogFile variable, and run -# the daemon with --config-file option). -# This option disables log file locking. -# Default: no -#LogFileUnlock yes - -# Maximum size of the log file. -# Value of 0 disables the limit. -# You may use 'M' or 'm' for megabytes (1M = 1m = 1048576 bytes) -# and 'K' or 'k' for kilobytes (1K = 1k = 1024 bytes). To specify the size -# in bytes just don't use modifiers. If LogFileMaxSize is enabled, log -# rotation (the LogRotate option) will always be enabled. -# Default: 1M -#LogFileMaxSize 2M - -# Log time with each message. -# Default: no -#LogTime yes - -# Also log clean files. Useful in debugging but drastically increases the -# log size. -# Default: no -#LogClean yes - -# Use system logger (can work together with LogFile). -# Default: no -#LogSyslog yes - -# Specify the type of syslog messages - please refer to 'man syslog' -# for facility names. -# Default: LOG_LOCAL6 -#LogFacility LOG_MAIL - -# Enable verbose logging. -# Default: no -#LogVerbose yes - -# Enable log rotation. Always enabled when LogFileMaxSize is enabled. -# Default: no -#LogRotate yes - -# Enable Prelude output. -# Default: no -#PreludeEnable yes -# -# Set the name of the analyzer used by prelude-admin. -# Default: ClamAV -#PreludeAnalyzerName ClamAV - -# Log additional information about the infected file, such as its -# size and hash, together with the virus name. -#ExtendedDetectionInfo yes - -# This option allows you to save a process identifier of the listening -# daemon (main thread). -# This file will be owned by root, as long as clamd was started by root. -# It is recommended that the directory where this file is stored is -# also owned by root to keep other users from tampering with it. -# Default: disabled -#PidFile /var/run/clamd.pid - -# Optional path to the global temporary directory. -# Default: system specific (usually /tmp or /var/tmp). -#TemporaryDirectory /var/tmp - -# Path to the database directory. -# Default: hardcoded (depends on installation options) -#DatabaseDirectory /var/lib/clamav - -# Only load the official signatures published by the ClamAV project. -# Default: no -#OfficialDatabaseOnly no - -# The daemon can work in local mode, network mode or both. -# Due to security reasons we recommend the local mode. - -# Path to a local socket file the daemon will listen on. -# Default: disabled (must be specified by a user) -#LocalSocket /tmp/clamd.socket - -# Sets the group ownership on the unix socket. -# Default: disabled (the primary group of the user running clamd) -#LocalSocketGroup virusgroup - -# Sets the permissions on the unix socket to the specified mode. -# Default: disabled (socket is world accessible) -#LocalSocketMode 660 - -# Remove stale socket after unclean shutdown. -# Default: yes -#FixStaleSocket yes - -# TCP port address. -# Default: no -#TCPSocket 3310 - -# TCP address. -# By default we bind to INADDR_ANY, probably not wise. -# Enable the following to provide some degree of protection -# from the outside world. This option can be specified multiple -# times if you want to listen on multiple IPs. IPv6 is now supported. -# Default: no -#TCPAddr 127.0.0.1 - -# Maximum length the queue of pending connections may grow to. -# Default: 200 -#MaxConnectionQueueLength 30 - -# Clamd uses FTP-like protocol to receive data from remote clients. -# If you are using clamav-milter to balance load between remote clamd daemons -# on firewall servers you may need to tune the options below. - -# Close the connection when the data size limit is exceeded. -# The value should match your MTA's limit for a maximum attachment size. -# Default: 25M -#StreamMaxLength 10M - -# Limit port range. -# Default: 1024 -#StreamMinPort 30000 -# Default: 2048 -#StreamMaxPort 32000 - -# Maximum number of threads running at the same time. -# Default: 10 -#MaxThreads 20 - -# Waiting for data from a client socket will timeout after this time (seconds). -# Default: 120 -#ReadTimeout 300 - -# This option specifies the time (in seconds) after which clamd should -# timeout if a client doesn't provide any initial command after connecting. -# Default: 30 -#CommandReadTimeout 30 - -# This option specifies how long to wait (in milliseconds) if the send buffer -# is full. -# Keep this value low to prevent clamd hanging. -# -# Default: 500 -#SendBufTimeout 200 - -# Maximum number of queued items (including those being processed by -# MaxThreads threads). -# It is recommended to have this value at least twice MaxThreads if possible. -# WARNING: you shouldn't increase this too much to avoid running out of file -# descriptors, the following condition should hold: -# MaxThreads*MaxRecursion + (MaxQueue - MaxThreads) + 6< RLIMIT_NOFILE (usual -# max is 1024). -# -# Default: 100 -#MaxQueue 200 - -# Waiting for a new job will timeout after this time (seconds). -# Default: 30 -#IdleTimeout 60 - -# Don't scan files and directories matching regex -# This directive can be used multiple times -# Default: scan all -#ExcludePath ^/proc/ -#ExcludePath ^/sys/ - -# Maximum depth directories are scanned at. -# Default: 15 -#MaxDirectoryRecursion 20 - -# Follow directory symlinks. -# Default: no -#FollowDirectorySymlinks yes - -# Follow regular file symlinks. -# Default: no -#FollowFileSymlinks yes - -# Scan files and directories on other filesystems. -# Default: yes -#CrossFilesystems yes - -# Perform a database check. -# Default: 600 (10 min) -#SelfCheck 600 - -# Enable non-blocking (multi-threaded/concurrent) database reloads. -# This feature will temporarily load a second scanning engine while scanning -# continues using the first engine. Once loaded, the new engine takes over. -# The old engine is removed as soon as all scans using the old engine have -# completed. -# This feature requires more RAM, so this option is provided in case users are -# willing to block scans during reload in exchange for lower RAM requirements. -# Default: yes -#ConcurrentDatabaseReload no - -# Execute a command when virus is found. In the command string %v will -# be replaced with the virus name. -# Default: no -#VirusEvent /usr/local/bin/send_sms 123456789 "VIRUS ALERT: %v" - -# Run as another user (clamd must be started by root for this option to work) -# Default: don't drop privileges -#User clamav - -# Stop daemon when libclamav reports out of memory condition. -#ExitOnOOM yes - -# Don't fork into background. -# Default: no -#Foreground yes - -# Enable debug messages in libclamav. -# Default: no -#Debug yes - -# Do not remove temporary files (for debug purposes). -# Default: no -#LeaveTemporaryFiles yes - -# Permit use of the ALLMATCHSCAN command. If set to no, clamd will reject -# any ALLMATCHSCAN command as invalid. -# Default: yes -#AllowAllMatchScan no - -# Detect Possibly Unwanted Applications. -# Default: no -#DetectPUA yes - -# Exclude a specific PUA category. This directive can be used multiple times. -# See https://github.com/vrtadmin/clamav-faq/blob/master/faq/faq-pua.md for -# the complete list of PUA categories. -# Default: Load all categories (if DetectPUA is activated) -#ExcludePUA NetTool -#ExcludePUA PWTool - -# Only include a specific PUA category. This directive can be used multiple -# times. -# Default: Load all categories (if DetectPUA is activated) -#IncludePUA Spy -#IncludePUA Scanner -#IncludePUA RAT - -# This option causes memory or nested map scans to dump the content to disk. -# If you turn on this option, more data is written to disk and is available -# when the LeaveTemporaryFiles option is enabled. -#ForceToDisk yes - -# This option allows you to disable the caching feature of the engine. By -# default, the engine will store an MD5 in a cache of any files that are -# not flagged as virus or that hit limits checks. Disabling the cache will -# have a negative performance impact on large scans. -# Default: no -#DisableCache yes - -# In some cases (eg. complex malware, exploits in graphic files, and others), -# ClamAV uses special algorithms to detect abnormal patterns and behaviors that -# may be malicious. This option enables alerting on such heuristically -# detected potential threats. -# Default: yes -#HeuristicAlerts yes - -# Allow heuristic alerts to take precedence. -# When enabled, if a heuristic scan (such as phishingScan) detects -# a possible virus/phish it will stop scan immediately. Recommended, saves CPU -# scan-time. -# When disabled, virus/phish detected by heuristic scans will be reported only -# at the end of a scan. If an archive contains both a heuristically detected -# virus/phish, and a real malware, the real malware will be reported -# -# Keep this disabled if you intend to handle "*.Heuristics.*" viruses -# differently from "real" malware. -# If a non-heuristically-detected virus (signature-based) is found first, -# the scan is interrupted immediately, regardless of this config option. -# -# Default: no -#HeuristicScanPrecedence yes - - -## -## Heuristic Alerts -## - -# With this option clamav will try to detect broken executables (both PE and -# ELF) and alert on them with the Broken.Executable heuristic signature. -# Default: no -#AlertBrokenExecutables yes - -# With this option clamav will try to detect broken media file (JPEG, -# TIFF, PNG, GIF) and alert on them with a Broken.Media heuristic signature. -# Default: no -#AlertBrokenMedia yes - -# Alert on encrypted archives _and_ documents with heuristic signature -# (encrypted .zip, .7zip, .rar, .pdf). -# Default: no -#AlertEncrypted yes - -# Alert on encrypted archives with heuristic signature (encrypted .zip, .7zip, -# .rar). -# Default: no -#AlertEncryptedArchive yes - -# Alert on encrypted archives with heuristic signature (encrypted .pdf). -# Default: no -#AlertEncryptedDoc yes - -# With this option enabled OLE2 files containing VBA macros, which were not -# detected by signatures will be marked as "Heuristics.OLE2.ContainsMacros". -# Default: no -#AlertOLE2Macros yes - -# Alert on SSL mismatches in URLs, even if the URL isn't in the database. -# This can lead to false positives. -# Default: no -#AlertPhishingSSLMismatch yes - -# Alert on cloaked URLs, even if URL isn't in database. -# This can lead to false positives. -# Default: no -#AlertPhishingCloak yes - -# Alert on raw DMG image files containing partition intersections -# Default: no -#AlertPartitionIntersection yes - - -## -## Executable files -## - -# PE stands for Portable Executable - it's an executable file format used -# in all 32 and 64-bit versions of Windows operating systems. This option -# allows ClamAV to perform a deeper analysis of executable files and it's also -# required for decompression of popular executable packers such as UPX, FSG, -# and Petite. If you turn off this option, the original files will still be -# scanned, but without additional processing. -# Default: yes -#ScanPE yes - -# Certain PE files contain an authenticode signature. By default, we check -# the signature chain in the PE file against a database of trusted and -# revoked certificates if the file being scanned is marked as a virus. -# If any certificate in the chain validates against any trusted root, but -# does not match any revoked certificate, the file is marked as whitelisted. -# If the file does match a revoked certificate, the file is marked as virus. -# The following setting completely turns off authenticode verification. -# Default: no -#DisableCertCheck yes - -# Executable and Linking Format is a standard format for UN*X executables. -# This option allows you to control the scanning of ELF files. -# If you turn off this option, the original files will still be scanned, but -# without additional processing. -# Default: yes -#ScanELF yes - - -## -## Documents -## - -# This option enables scanning of OLE2 files, such as Microsoft Office -# documents and .msi files. -# If you turn off this option, the original files will still be scanned, but -# without additional processing. -# Default: yes -#ScanOLE2 yes - -# This option enables scanning within PDF files. -# If you turn off this option, the original files will still be scanned, but -# without decoding and additional processing. -# Default: yes -#ScanPDF yes - -# This option enables scanning within SWF files. -# If you turn off this option, the original files will still be scanned, but -# without decoding and additional processing. -# Default: yes -#ScanSWF yes - -# This option enables scanning xml-based document files supported by libclamav. -# If you turn off this option, the original files will still be scanned, but -# without additional processing. -# Default: yes -#ScanXMLDOCS yes - -# This option enables scanning of HWP3 files. -# If you turn off this option, the original files will still be scanned, but -# without additional processing. -# Default: yes -#ScanHWP3 yes - - -## -## Mail files -## - -# Enable internal e-mail scanner. -# If you turn off this option, the original files will still be scanned, but -# without parsing individual messages/attachments. -# Default: yes -#ScanMail yes - -# Scan RFC1341 messages split over many emails. -# You will need to periodically clean up $TemporaryDirectory/clamav-partial -# directory. -# WARNING: This option may open your system to a DoS attack. -# Never use it on loaded servers. -# Default: no -#ScanPartialMessages yes - -# With this option enabled ClamAV will try to detect phishing attempts by using -# HTML.Phishing and Email.Phishing NDB signatures. -# Default: yes -#PhishingSignatures no - -# With this option enabled ClamAV will try to detect phishing attempts by -# analyzing URLs found in emails using WDB and PDB signature databases. -# Default: yes -#PhishingScanURLs no - - -## -## Data Loss Prevention (DLP) -## - -# Enable the DLP module -# Default: No -#StructuredDataDetection yes - -# This option sets the lowest number of Credit Card numbers found in a file -# to generate a detect. -# Default: 3 -#StructuredMinCreditCardCount 5 - -# With this option enabled the DLP module will search for valid Credit Card -# numbers only. Debit and Private Label cards will not be searched. -# Default: no -#StructuredCCOnly yes - -# This option sets the lowest number of Social Security Numbers found -# in a file to generate a detect. -# Default: 3 -#StructuredMinSSNCount 5 - -# With this option enabled the DLP module will search for valid -# SSNs formatted as xxx-yy-zzzz -# Default: yes -#StructuredSSNFormatNormal yes - -# With this option enabled the DLP module will search for valid -# SSNs formatted as xxxyyzzzz -# Default: no -#StructuredSSNFormatStripped yes - - -## -## HTML -## - -# Perform HTML normalisation and decryption of MS Script Encoder code. -# Default: yes -# If you turn off this option, the original files will still be scanned, but -# without additional processing. -#ScanHTML yes - - -## -## Archives -## - -# ClamAV can scan within archives and compressed files. -# If you turn off this option, the original files will still be scanned, but -# without unpacking and additional processing. -# Default: yes -#ScanArchive yes - - -## -## Limits -## - -# The options below protect your system against Denial of Service attacks -# using archive bombs. - -# This option sets the maximum amount of time to a scan may take. -# In this version, this field only affects the scan time of ZIP archives. -# Value of 0 disables the limit. -# Note: disabling this limit or setting it too high may result allow scanning -# of certain files to lock up the scanning process/threads resulting in a -# Denial of Service. -# Time is in milliseconds. -# Default: 120000 -#MaxScanTime 300000 - -# This option sets the maximum amount of data to be scanned for each input -# file. Archives and other containers are recursively extracted and scanned -# up to this value. -# Value of 0 disables the limit -# Note: disabling this limit or setting it too high may result in severe damage -# to the system. -# Default: 100M -#MaxScanSize 150M - -# Files larger than this limit won't be scanned. Affects the input file itself -# as well as files contained inside it (when the input file is an archive, a -# document or some other kind of container). -# Value of 0 disables the limit. -# Note: disabling this limit or setting it too high may result in severe damage -# to the system. -# Default: 25M -#MaxFileSize 30M - -# Nested archives are scanned recursively, e.g. if a Zip archive contains a RAR -# file, all files within it will also be scanned. This options specifies how -# deeply the process should be continued. -# Note: setting this limit too high may result in severe damage to the system. -# Default: 16 -#MaxRecursion 10 - -# Number of files to be scanned within an archive, a document, or any other -# container file. -# Value of 0 disables the limit. -# Note: disabling this limit or setting it too high may result in severe damage -# to the system. -# Default: 10000 -#MaxFiles 15000 - -# Maximum size of a file to check for embedded PE. Files larger than this value -# will skip the additional analysis step. -# Note: disabling this limit or setting it too high may result in severe damage -# to the system. -# Default: 10M -#MaxEmbeddedPE 10M - -# Maximum size of a HTML file to normalize. HTML files larger than this value -# will not be normalized or scanned. -# Note: disabling this limit or setting it too high may result in severe damage -# to the system. -# Default: 10M -#MaxHTMLNormalize 10M - -# Maximum size of a normalized HTML file to scan. HTML files larger than this -# value after normalization will not be scanned. -# Note: disabling this limit or setting it too high may result in severe damage -# to the system. -# Default: 2M -#MaxHTMLNoTags 2M - -# Maximum size of a script file to normalize. Script content larger than this -# value will not be normalized or scanned. -# Note: disabling this limit or setting it too high may result in severe damage -# to the system. -# Default: 5M -#MaxScriptNormalize 5M - -# Maximum size of a ZIP file to reanalyze type recognition. ZIP files larger -# than this value will skip the step to potentially reanalyze as PE. -# Note: disabling this limit or setting it too high may result in severe damage -# to the system. -# Default: 1M -#MaxZipTypeRcg 1M - -# This option sets the maximum number of partitions of a raw disk image to be -# scanned. -# Raw disk images with more partitions than this value will have up to -# the value number partitions scanned. Negative values are not allowed. -# Note: setting this limit too high may result in severe damage or impact -# performance. -# Default: 50 -#MaxPartitions 128 - -# This option sets the maximum number of icons within a PE to be scanned. -# PE files with more icons than this value will have up to the value number -# icons scanned. -# Negative values are not allowed. -# WARNING: setting this limit too high may result in severe damage or impact -# performance. -# Default: 100 -#MaxIconsPE 200 - -# This option sets the maximum recursive calls for HWP3 parsing during -# scanning. HWP3 files using more than this limit will be terminated and -# alert the user. -# Scans will be unable to scan any HWP3 attachments if the recursive limit -# is reached. -# Negative values are not allowed. -# WARNING: setting this limit too high may result in severe damage or impact -# performance. -# Default: 16 -#MaxRecHWP3 16 - -# This option sets the maximum calls to the PCRE match function during -# an instance of regex matching. -# Instances using more than this limit will be terminated and alert the user -# but the scan will continue. -# For more information on match_limit, see the PCRE documentation. -# Negative values are not allowed. -# WARNING: setting this limit too high may severely impact performance. -# Default: 100000 -#PCREMatchLimit 20000 - -# This option sets the maximum recursive calls to the PCRE match function -# during an instance of regex matching. -# Instances using more than this limit will be terminated and alert the user -# but the scan will continue. -# For more information on match_limit_recursion, see the PCRE documentation. -# Negative values are not allowed and values > PCREMatchLimit are superfluous. -# WARNING: setting this limit too high may severely impact performance. -# Default: 2000 -#PCRERecMatchLimit 10000 - -# This option sets the maximum filesize for which PCRE subsigs will be -# executed. Files exceeding this limit will not have PCRE subsigs executed -# unless a subsig is encompassed to a smaller buffer. -# Negative values are not allowed. -# Setting this value to zero disables the limit. -# WARNING: setting this limit too high or disabling it may severely impact -# performance. -# Default: 25M -#PCREMaxFileSize 100M - -# When AlertExceedsMax is set, files exceeding the MaxFileSize, MaxScanSize, or -# MaxRecursion limit will be flagged with the virus -# "Heuristics.Limits.Exceeded". -# Default: no -#AlertExceedsMax yes - -## -## On-access Scan Settings -## - -# Don't scan files larger than OnAccessMaxFileSize -# Value of 0 disables the limit. -# Default: 5M -#OnAccessMaxFileSize 10M - -# Max number of scanning threads to allocate to the OnAccess thread pool at -# startup. These threads are the ones responsible for creating a connection -# with the daemon and kicking off scanning after an event has been processed. -# To prevent clamonacc from consuming all clamd's resources keep this lower -# than clamd's max threads. -# Default: 5 -#OnAccessMaxThreads 10 - -# Max amount of time (in milliseconds) that the OnAccess client should spend -# for every connect, send, and recieve attempt when communicating with clamd -# via curl. -# Default: 5000 (5 seconds) -# OnAccessCurlTimeout 10000 - -# Toggles dynamic directory determination. Allows for recursively watching -# include paths. -# Default: no -#OnAccessDisableDDD yes - -# Set the include paths (all files inside them will be scanned). You can have -# multiple OnAccessIncludePath directives but each directory must be added -# in a separate line. -# Default: disabled -#OnAccessIncludePath /home -#OnAccessIncludePath /students - -# Set the exclude paths. All subdirectories are also excluded. -# Default: disabled -#OnAccessExcludePath /home/user - -# Modifies fanotify blocking behaviour when handling permission events. -# If off, fanotify will only notify if the file scanned is a virus, -# and not perform any blocking. -# Default: no -#OnAccessPrevention yes - -# When using prevention, if this option is turned on, any errors that occur -# during scanning will result in the event attempt being denied. This could -# potentially lead to unwanted system behaviour with certain configurations, -# so the client defaults this to off and prefers allowing access events in -# case of scan or connection error. -# Default: no -#OnAccessDenyOnError yes - -# Toggles extra scanning and notifications when a file or directory is -# created or moved. -# Requires the DDD system to kick-off extra scans. -# Default: no -#OnAccessExtraScanning yes - -# Set the mount point to be scanned. The mount point specified, or the mount -# point containing the specified directory will be watched. If any directories -# are specified, this option will preempt (disable and ignore all options -# related to) the DDD system. This option will result in verdicts only. -# Note that prevention is explicitly disallowed to prevent common, fatal -# misconfigurations. (e.g. watching "/" with prevention on and no exclusions -# made on vital system directories) -# It can be used multiple times. -# Default: disabled -#OnAccessMountPath / -#OnAccessMountPath /home/user - -# With this option you can whitelist the root UID (0). Processes run under -# root with be able to access all files without triggering scans or -# permission denied events. -# Note that if clamd cannot check the uid of the process that generated an -# on-access scan event (e.g., because OnAccessPrevention was not enabled, and -# the process already exited), clamd will perform a scan. Thus, setting -# OnAccessExcludeRootUID is not *guaranteed* to prevent every access by the -# root user from triggering a scan (unless OnAccessPrevention is enabled). -# Default: no -#OnAccessExcludeRootUID no - -# With this option you can whitelist specific UIDs. Processes with these UIDs -# will be able to access all files without triggering scans or permission -# denied events. -# This option can be used multiple times (one per line). -# Using a value of 0 on any line will disable this option entirely. -# To whitelist the root UID (0) please enable the OnAccessExcludeRootUID -# option. -# Also note that if clamd cannot check the uid of the process that generated an -# on-access scan event (e.g., because OnAccessPrevention was not enabled, and -# the process already exited), clamd will perform a scan. Thus, setting -# OnAccessExcludeUID is not *guaranteed* to prevent every access by the -# specified uid from triggering a scan (unless OnAccessPrevention is enabled). -# Default: disabled -#OnAccessExcludeUID -1 - -# This option allows exclusions via user names when using the on-access -# scanning client. It can be used multiple times. -# It has the same potential race condition limitations of the -# OnAccessExcludeUID option. -# Default: disabled -#OnAccessExcludeUname clamav - -# Number of times the OnAccess client will retry a failed scan due to -# connection problems (or other issues). -# Default: 0 -#OnAccessRetryAttempts 3 - -## -## Bytecode -## - -# With this option enabled ClamAV will load bytecode from the database. -# It is highly recommended you keep this option on, otherwise you'll miss -# detections for many new viruses. -# Default: yes -#Bytecode yes - -# Set bytecode security level. -# Possible values: -# None - No security at all, meant for debugging. -# DO NOT USE THIS ON PRODUCTION SYSTEMS. -# This value is only available if clamav was built -# with --enable-debug! -# TrustSigned - Trust bytecode loaded from signed .c[lv]d files, insert -# runtime safety checks for bytecode loaded from other sources. -# Paranoid - Don't trust any bytecode, insert runtime checks for all. -# Recommended: TrustSigned, because bytecode in .cvd files already has these -# checks. -# Note that by default only signed bytecode is loaded, currently you can only -# load unsigned bytecode in --enable-debug mode. -# -# Default: TrustSigned -#BytecodeSecurity TrustSigned - -# Allow loading bytecode from outside digitally signed .c[lv]d files. -# **Caution**: You should NEVER run bytecode signatures from untrusted sources. -# Doing so may result in arbitrary code execution. -# Default: no -#BytecodeUnsigned yes - -# Set bytecode timeout in milliseconds. -# -# Default: 5000 -# BytecodeTimeout 1000 - diff --git a/clamd.conf.rpmsave b/clamd.conf.rpmsave deleted file mode 100644 index d3d6e17..0000000 --- a/clamd.conf.rpmsave +++ /dev/null @@ -1,452 +0,0 @@ -## -## Example config file for the Clam AV daemon -## Please read the clamd.conf(5) manual before editing this file. -## - - -# Comment or remove the line below. -#Example - -# Uncomment this option to enable logging. -# LogFile must be writable for the user running daemon. -# A full path is required. -# Default: disabled -LogFile /var/log/clamav/clamd.log - -# By default the log file is locked for writing - the lock protects against -# running clamd multiple times (if want to run another clamd, please -# copy the configuration file, change the LogFile variable, and run -# the daemon with --config-file option). -# This option disables log file locking. -# Default: no -#LogFileUnlock yes - -# Maximum size of the log file. -# Value of 0 disables the limit. -# You may use 'M' or 'm' for megabytes (1M = 1m = 1048576 bytes) -# and 'K' or 'k' for kilobytes (1K = 1k = 1024 bytes). To specify the size -# in bytes just don't use modifiers. -# Default: 1M -LogFileMaxSize 0 - -# Log time with each message. -# Default: no -LogTime yes - -# Also log clean files. Useful in debugging but drastically increases the -# log size. -# Default: no -LogClean no - -# Use system logger (can work together with LogFile). -# Default: no -LogSyslog yes - -# Specify the type of syslog messages - please refer to 'man syslog' -# for facility names. -# Default: LOG_LOCAL6 -LogFacility LOG_MAIL - -# Enable verbose logging. -# Default: no -LogVerbose yes - -# Log additional information about the infected file, such as its -# size and hash, together with the virus name. -ExtendedDetectionInfo yes - -# This option allows you to save a process identifier of the listening -# daemon (main thread). -# Default: disabled -PidFile /var/run/clamav/clamd.pid - -# Optional path to the global temporary directory. -# Default: system specific (usually /tmp or /var/tmp). -TemporaryDirectory /var/tmp - -# Path to the database directory. -# Default: hardcoded (depends on installation options) -DatabaseDirectory /var/lib/clamav - -# Only load the official signatures published by the ClamAV project. -# Default: no -#OfficialDatabaseOnly no - -# The daemon can work in local mode, network mode or both. -# Due to security reasons we recommend the local mode. - -# Path to a local socket file the daemon will listen on. -# Default: disabled (must be specified by a user) -LocalSocket /var/run/clamav/clamd.sock - -# Sets the group ownership on the unix socket. -# Default: disabled (the primary group of the user running clamd) -#LocalSocketGroup virusgroup - -# Sets the permissions on the unix socket to the specified mode. -# Default: disabled (socket is world accessible) -#LocalSocketMode 660 - -# Remove stale socket after unclean shutdown. -# Default: yes -FixStaleSocket yes - -# TCP port address. -# Default: no -TCPSocket 3310 - -# TCP address. -# By default we bind to INADDR_ANY, probably not wise. -# Enable the following to provide some degree of protection -# from the outside world. -# Default: no -TCPAddr 127.0.0.1 - -# Maximum length the queue of pending connections may grow to. -# Default: 200 -MaxConnectionQueueLength 30 - -# Clamd uses FTP-like protocol to receive data from remote clients. -# If you are using clamav-milter to balance load between remote clamd daemons -# on firewall servers you may need to tune the options below. - -# Close the connection when the data size limit is exceeded. -# The value should match your MTA's limit for a maximum attachment size. -# Default: 25M -StreamMaxLength 10M - -# Limit port range. -# Default: 1024 -#StreamMinPort 30000 -# Default: 2048 -#StreamMaxPort 32000 - -# Maximum number of threads running at the same time. -# Default: 10 -MaxThreads 5 - -# Waiting for data from a client socket will timeout after this time (seconds). -# Default: 120 -ReadTimeout 120 - -# This option specifies the time (in seconds) after which clamd should -# timeout if a client doesn't provide any initial command after connecting. -# Default: 5 -CommandReadTimeout 5 - -# This option specifies how long to wait (in miliseconds) if the send buffer is full. -# Keep this value low to prevent clamd hanging -# -# Default: 500 -SendBufTimeout 200 - -# Maximum number of queued items (including those being processed by MaxThreads threads) -# It is recommended to have this value at least twice MaxThreads if possible. -# WARNING: you shouldn't increase this too much to avoid running out of file descriptors, -# the following condition should hold: -# MaxThreads*MaxRecursion + (MaxQueue - MaxThreads) + 6< RLIMIT_NOFILE (usual max is 1024) -# -# Default: 100 -MaxQueue 50 - -# Waiting for a new job will timeout after this time (seconds). -# Default: 30 -IdleTimeout 10 - -# Don't scan files and directories matching regex -# This directive can be used multiple times -# Default: scan all -#ExcludePath ^/proc/ -#ExcludePath ^/sys/ - -# Maximum depth directories are scanned at. -# Default: 15 -#MaxDirectoryRecursion 20 - -# Follow directory symlinks. -# Default: no -#FollowDirectorySymlinks yes - -# Follow regular file symlinks. -# Default: no -#FollowFileSymlinks yes - -# Scan files and directories on other filesystems. -# Default: yes -CrossFilesystems yes - -# Perform a database check. -# Default: 600 (10 min) -SelfCheck 43200 - -# Execute a command when virus is found. In the command string %v will -# be replaced with the virus name. -# Default: no -#VirusEvent /usr/local/bin/send_sms 123456789 "VIRUS ALERT: %v" - -# Run as another user (clamd must be started by root for this option to work) -# Default: don't drop privileges -User amavis - -# Initialize supplementary group access (clamd must be started by root). -# Default: no -#AllowSupplementaryGroups yes - -# Stop daemon when libclamav reports out of memory condition. -ExitOnOOM yes - -# Don't fork into background. -# Default: no -#Foreground yes - -# Enable debug messages in libclamav. -# Default: no -#Debug yes - -# Do not remove temporary files (for debug purposes). -# Default: no -LeaveTemporaryFiles no - -# Detect Possibly Unwanted Applications. -# Default: no -DetectPUA yes - -# Exclude a specific PUA category. This directive can be used multiple times. -# See http://www.clamav.net/support/pua for the complete list of PUA -# categories. -# Default: Load all categories (if DetectPUA is activated) -#ExcludePUA NetTool -#ExcludePUA PWTool - -# Only include a specific PUA category. This directive can be used multiple -# times. -# Default: Load all categories (if DetectPUA is activated) -IncludePUA Spy -IncludePUA Scanner -IncludePUA RAT -IncludePUA Packed -IncludePUA PwTool -IncludePUA NetTool -IncludePUA P2P -IncludePUA IRC -IncludePUA Tool -IncludePUA Server -IncludePUA Script - -# In some cases (eg. complex malware, exploits in graphic files, and others), -# ClamAV uses special algorithms to provide accurate detection. This option -# controls the algorithmic detection. -# Default: yes -AlgorithmicDetection yes - - -## -## Executable files -## - -# PE stands for Portable Executable - it's an executable file format used -# in all 32 and 64-bit versions of Windows operating systems. This option allows -# ClamAV to perform a deeper analysis of executable files and it's also -# required for decompression of popular executable packers such as UPX, FSG, -# and Petite. -# Default: yes -ScanPE yes - -# Executable and Linking Format is a standard format for UN*X executables. -# This option allows you to control the scanning of ELF files. -# Default: yes -ScanELF yes - -# With this option clamav will try to detect broken executables (both PE and -# ELF) and mark them as Broken.Executable. -# Default: no -#DetectBrokenExecutables yes - - -## -## Documents -## - -# This option enables scanning of OLE2 files, such as Microsoft Office -# documents and .msi files. -# Default: yes -ScanOLE2 yes - - -# With this option enabled OLE2 files with VBA macros, which were not -# detected by signatures will be marked as "Heuristics.OLE2.ContainsMacros". -# Default: no -OLE2BlockMacros yes - -# This option enables scanning within PDF files. -# Default: yes -ScanPDF yes - - -## -## Mail files -## - -# Enable internal e-mail scanner. -# Default: yes -ScanMail yes - -# Scan RFC1341 messages split over many emails. -# You will need to periodically clean up $TemporaryDirectory/clamav-partial directory. -# WARNING: This option may open your system to a DoS attack. -# Never use it on loaded servers. -# Default: no -ScanPartialMessages no - - -# With this option enabled ClamAV will try to detect phishing attempts by using -# signatures. -# Default: yes -PhishingSignatures yes - -# Scan URLs found in mails for phishing attempts using heuristics. -# Default: yes -PhishingScanURLs yes - -# Always block SSL mismatches in URLs, even if the URL isn't in the database. -# This can lead to false positives. -# -# Default: no -PhishingAlwaysBlockSSLMismatch no - -# Always block cloaked URLs, even if URL isn't in database. -# This can lead to false positives. -# -# Default: no -PhishingAlwaysBlockCloak no - -# Allow heuristic match to take precedence. -# When enabled, if a heuristic scan (such as phishingScan) detects -# a possible virus/phish it will stop scan immediately. Recommended, saves CPU -# scan-time. -# When disabled, virus/phish detected by heuristic scans will be reported only at -# the end of a scan. If an archive contains both a heuristically detected -# virus/phish, and a real malware, the real malware will be reported -# -# Keep this disabled if you intend to handle "*.Heuristics.*" viruses -# differently from "real" malware. -# If a non-heuristically-detected virus (signature-based) is found first, -# the scan is interrupted immediately, regardless of this config option. -# -# Default: no -HeuristicScanPrecedence no - -## -## Data Loss Prevention (DLP) -## - -# Enable the DLP module -# Default: No -StructuredDataDetection no - -# This option sets the lowest number of Credit Card numbers found in a file -# to generate a detect. -# Default: 3 -#StructuredMinCreditCardCount 5 - -# This option sets the lowest number of Social Security Numbers found -# in a file to generate a detect. -# Default: 3 -#StructuredMinSSNCount 5 - -# With this option enabled the DLP module will search for valid -# SSNs formatted as xxx-yy-zzzz -# Default: yes -StructuredSSNFormatNormal no - -# With this option enabled the DLP module will search for valid -# SSNs formatted as xxxyyzzzz -# Default: no -StructuredSSNFormatStripped no - - -## -## HTML -## - -# Perform HTML normalisation and decryption of MS Script Encoder code. -# Default: yes -ScanHTML yes - - -## -## Archives -## - -# ClamAV can scan within archives and compressed files. -# Default: yes -ScanArchive yes - -# Mark encrypted archives as viruses (Encrypted.Zip, Encrypted.RAR). -# Default: no -ArchiveBlockEncrypted no - - -## -## Limits -## - -# The options below protect your system against Denial of Service attacks -# using archive bombs. - -# This option sets the maximum amount of data to be scanned for each input file. -# Archives and other containers are recursively extracted and scanned up to this -# value. -# Value of 0 disables the limit -# Note: disabling this limit or setting it too high may result in severe damage -# to the system. -# Default: 100M -MaxScanSize 50M - -# Files larger than this limit won't be scanned. Affects the input file itself -# as well as files contained inside it (when the input file is an archive, a -# document or some other kind of container). -# Value of 0 disables the limit. -# Note: disabling this limit or setting it too high may result in severe damage -# to the system. -# Default: 25M -MaxFileSize 30M - -# Nested archives are scanned recursively, e.g. if a Zip archive contains a RAR -# file, all files within it will also be scanned. This options specifies how -# deeply the process should be continued. -# Note: setting this limit too high may result in severe damage to the system. -# Default: 16 -MaxRecursion 10 - -# Number of files to be scanned within an archive, a document, or any other -# container file. -# Value of 0 disables the limit. -# Note: disabling this limit or setting it too high may result in severe damage -# to the system. -# Default: 10000 -#MaxFiles 15000 - -# With this option enabled ClamAV will load bytecode from the database. -# It is highly recommended you keep this option on, otherwise you'll miss detections for many new viruses. -# Default: yes -Bytecode yes - -# Set bytecode security level. -# Possible values: -# None - no security at all, meant for debugging. DO NOT USE THIS ON PRODUCTION SYSTEMS -# This value is only available if clamav was built with --enable-debug! -# TrustSigned - trust bytecode loaded from signed .c[lv]d files, -# insert runtime safety checks for bytecode loaded from other sources -# Paranoid - don't trust any bytecode, insert runtime checks for all -# Recommended: TrustSigned, because bytecode in .cvd files already has these checks -# Note that by default only signed bytecode is loaded, currently you can only -# load unsigned bytecode in --enable-debug mode. -# -# Default: TrustSigned -BytecodeSecurity TrustSigned - -# Set bytecode timeout in miliseconds. -# -# Default: 5000 -BytecodeTimeout 3000 diff --git a/clamd.d/scan.conf.rpmnew b/clamd.d/scan.conf.rpmnew deleted file mode 100644 index 468788c..0000000 --- a/clamd.d/scan.conf.rpmnew +++ /dev/null @@ -1,762 +0,0 @@ -## -## Example config file for the Clam AV daemon -## Please read the clamd.conf(5) manual before editing this file. -## - - -# Comment or remove the line below. -#Example - -# Uncomment this option to enable logging. -# LogFile must be writable for the user running daemon. -# A full path is required. -# Default: disabled -#LogFile /var/log/clamd.scan - -# By default the log file is locked for writing - the lock protects against -# running clamd multiple times (if want to run another clamd, please -# copy the configuration file, change the LogFile variable, and run -# the daemon with --config-file option). -# This option disables log file locking. -# Default: no -#LogFileUnlock yes - -# Maximum size of the log file. -# Value of 0 disables the limit. -# You may use 'M' or 'm' for megabytes (1M = 1m = 1048576 bytes) -# and 'K' or 'k' for kilobytes (1K = 1k = 1024 bytes). To specify the size -# in bytes just don't use modifiers. If LogFileMaxSize is enabled, log -# rotation (the LogRotate option) will always be enabled. -# Default: 1M -#LogFileMaxSize 2M - -# Log time with each message. -# Default: no -#LogTime yes - -# Also log clean files. Useful in debugging but drastically increases the -# log size. -# Default: no -#LogClean yes - -# Use system logger (can work together with LogFile). -# Default: no -LogSyslog yes - -# Specify the type of syslog messages - please refer to 'man syslog' -# for facility names. -# Default: LOG_LOCAL6 -#LogFacility LOG_MAIL - -# Enable verbose logging. -# Default: no -#LogVerbose yes - -# Enable log rotation. Always enabled when LogFileMaxSize is enabled. -# Default: no -#LogRotate yes - -# Enable Prelude output. -# Default: no -#PreludeEnable yes -# -# Set the name of the analyzer used by prelude-admin. -# Default: ClamAV -#PreludeAnalyzerName ClamAV - -# Log additional information about the infected file, such as its -# size and hash, together with the virus name. -#ExtendedDetectionInfo yes - -# This option allows you to save a process identifier of the listening -# daemon (main thread). -# Default: disabled -#PidFile /run/clamd.scan/clamd.pid - -# Optional path to the global temporary directory. -# Default: system specific (usually /tmp or /var/tmp). -#TemporaryDirectory /var/tmp - -# Path to the database directory. -# Default: hardcoded (depends on installation options) -#DatabaseDirectory /var/lib/clamav - -# Only load the official signatures published by the ClamAV project. -# Default: no -#OfficialDatabaseOnly no - -# The daemon can work in local mode, network mode or both. -# Due to security reasons we recommend the local mode. - -# Path to a local socket file the daemon will listen on. -# Default: disabled (must be specified by a user) -#LocalSocket /run/clamd.scan/clamd.sock - -# Sets the group ownership on the unix socket. -# Default: disabled (the primary group of the user running clamd) -#LocalSocketGroup virusgroup - -# Sets the permissions on the unix socket to the specified mode. -# Default: disabled (socket is world accessible) -#LocalSocketMode 660 - -# Remove stale socket after unclean shutdown. -# Default: yes -#FixStaleSocket yes - -# TCP port address. -# Default: no -#TCPSocket 3310 - -# TCP address. -# By default we bind to INADDR_ANY, probably not wise. -# Enable the following to provide some degree of protection -# from the outside world. This option can be specified multiple -# times if you want to listen on multiple IPs. IPv6 is now supported. -# Default: no -#TCPAddr 127.0.0.1 - -# Maximum length the queue of pending connections may grow to. -# Default: 200 -#MaxConnectionQueueLength 30 - -# Clamd uses FTP-like protocol to receive data from remote clients. -# If you are using clamav-milter to balance load between remote clamd daemons -# on firewall servers you may need to tune the options below. - -# Close the connection when the data size limit is exceeded. -# The value should match your MTA's limit for a maximum attachment size. -# Default: 25M -#StreamMaxLength 10M - -# Limit port range. -# Default: 1024 -#StreamMinPort 30000 -# Default: 2048 -#StreamMaxPort 32000 - -# Maximum number of threads running at the same time. -# Default: 10 -#MaxThreads 20 - -# Waiting for data from a client socket will timeout after this time (seconds). -# Default: 120 -#ReadTimeout 300 - -# This option specifies the time (in seconds) after which clamd should -# timeout if a client doesn't provide any initial command after connecting. -# Default: 30 -#CommandReadTimeout 30 - -# This option specifies how long to wait (in milliseconds) if the send buffer -# is full. -# Keep this value low to prevent clamd hanging. -# -# Default: 500 -#SendBufTimeout 200 - -# Maximum number of queued items (including those being processed by -# MaxThreads threads). -# It is recommended to have this value at least twice MaxThreads if possible. -# WARNING: you shouldn't increase this too much to avoid running out of file -# descriptors, the following condition should hold: -# MaxThreads*MaxRecursion + (MaxQueue - MaxThreads) + 6< RLIMIT_NOFILE (usual -# max is 1024). -# -# Default: 100 -#MaxQueue 200 - -# Waiting for a new job will timeout after this time (seconds). -# Default: 30 -#IdleTimeout 60 - -# Don't scan files and directories matching regex -# This directive can be used multiple times -# Default: scan all -#ExcludePath ^/proc/ -#ExcludePath ^/sys/ - -# Maximum depth directories are scanned at. -# Default: 15 -#MaxDirectoryRecursion 20 - -# Follow directory symlinks. -# Default: no -#FollowDirectorySymlinks yes - -# Follow regular file symlinks. -# Default: no -#FollowFileSymlinks yes - -# Scan files and directories on other filesystems. -# Default: yes -#CrossFilesystems yes - -# Perform a database check. -# Default: 600 (10 min) -#SelfCheck 600 - -# Execute a command when virus is found. In the command string %v will -# be replaced with the virus name. -# Default: no -#VirusEvent /usr/local/bin/send_sms 123456789 "VIRUS ALERT: %v" - -# Run as another user (clamd must be started by root for this option to work) -# Default: don't drop privileges -User clamscan - -# Stop daemon when libclamav reports out of memory condition. -#ExitOnOOM yes - -# Don't fork into background. -# Default: no -#Foreground yes - -# Enable debug messages in libclamav. -# Default: no -#Debug yes - -# Do not remove temporary files (for debug purposes). -# Default: no -#LeaveTemporaryFiles yes - -# Permit use of the ALLMATCHSCAN command. If set to no, clamd will reject -# any ALLMATCHSCAN command as invalid. -# Default: yes -#AllowAllMatchScan no - -# Detect Possibly Unwanted Applications. -# Default: no -#DetectPUA yes - -# Exclude a specific PUA category. This directive can be used multiple times. -# See https://github.com/vrtadmin/clamav-faq/blob/master/faq/faq-pua.md for -# the complete list of PUA categories. -# Default: Load all categories (if DetectPUA is activated) -#ExcludePUA NetTool -#ExcludePUA PWTool - -# Only include a specific PUA category. This directive can be used multiple -# times. -# Default: Load all categories (if DetectPUA is activated) -#IncludePUA Spy -#IncludePUA Scanner -#IncludePUA RAT - -# This option causes memory or nested map scans to dump the content to disk. -# If you turn on this option, more data is written to disk and is available -# when the LeaveTemporaryFiles option is enabled. -#ForceToDisk yes - -# This option allows you to disable the caching feature of the engine. By -# default, the engine will store an MD5 in a cache of any files that are -# not flagged as virus or that hit limits checks. Disabling the cache will -# have a negative performance impact on large scans. -# Default: no -#DisableCache yes - -# In some cases (eg. complex malware, exploits in graphic files, and others), -# ClamAV uses special algorithms to detect abnormal patterns and behaviors that -# may be malicious. This option enables alerting on such heuristically -# detected potential threats. -# Default: yes -#HeuristicAlerts yes - -# Allow heuristic alerts to take precedence. -# When enabled, if a heuristic scan (such as phishingScan) detects -# a possible virus/phish it will stop scan immediately. Recommended, saves CPU -# scan-time. -# When disabled, virus/phish detected by heuristic scans will be reported only -# at the end of a scan. If an archive contains both a heuristically detected -# virus/phish, and a real malware, the real malware will be reported -# -# Keep this disabled if you intend to handle "*.Heuristics.*" viruses -# differently from "real" malware. -# If a non-heuristically-detected virus (signature-based) is found first, -# the scan is interrupted immediately, regardless of this config option. -# -# Default: no -#HeuristicScanPrecedence yes - - -## -## Heuristic Alerts -## - -# With this option clamav will try to detect broken executables (both PE and -# ELF) and alert on them with the Broken.Executable heuristic signature. -# Default: no -#AlertBrokenExecutables yes - -# Alert on encrypted archives _and_ documents with heuristic signature -# (encrypted .zip, .7zip, .rar, .pdf). -# Default: no -#AlertEncrypted yes - -# Alert on encrypted archives with heuristic signature (encrypted .zip, .7zip, -# .rar). -# Default: no -#AlertEncryptedArchive yes - -# Alert on encrypted archives with heuristic signature (encrypted .pdf). -# Default: no -#AlertEncryptedDoc yes - -# With this option enabled OLE2 files containing VBA macros, which were not -# detected by signatures will be marked as "Heuristics.OLE2.ContainsMacros". -# Default: no -#AlertOLE2Macros yes - -# Alert on SSL mismatches in URLs, even if the URL isn't in the database. -# This can lead to false positives. -# Default: no -#AlertPhishingSSLMismatch yes - -# Alert on cloaked URLs, even if URL isn't in database. -# This can lead to false positives. -# Default: no -#AlertPhishingCloak yes - -# Alert on raw DMG image files containing partition intersections -# Default: no -#AlertPartitionIntersection yes - - -## -## Executable files -## - -# PE stands for Portable Executable - it's an executable file format used -# in all 32 and 64-bit versions of Windows operating systems. This option -# allows ClamAV to perform a deeper analysis of executable files and it's also -# required for decompression of popular executable packers such as UPX, FSG, -# and Petite. If you turn off this option, the original files will still be -# scanned, but without additional processing. -# Default: yes -#ScanPE yes - -# Certain PE files contain an authenticode signature. By default, we check -# the signature chain in the PE file against a database of trusted and -# revoked certificates if the file being scanned is marked as a virus. -# If any certificate in the chain validates against any trusted root, but -# does not match any revoked certificate, the file is marked as whitelisted. -# If the file does match a revoked certificate, the file is marked as virus. -# The following setting completely turns off authenticode verification. -# Default: no -#DisableCertCheck yes - -# Executable and Linking Format is a standard format for UN*X executables. -# This option allows you to control the scanning of ELF files. -# If you turn off this option, the original files will still be scanned, but -# without additional processing. -# Default: yes -#ScanELF yes - - -## -## Documents -## - -# This option enables scanning of OLE2 files, such as Microsoft Office -# documents and .msi files. -# If you turn off this option, the original files will still be scanned, but -# without additional processing. -# Default: yes -#ScanOLE2 yes - -# This option enables scanning within PDF files. -# If you turn off this option, the original files will still be scanned, but -# without decoding and additional processing. -# Default: yes -#ScanPDF yes - -# This option enables scanning within SWF files. -# If you turn off this option, the original files will still be scanned, but -# without decoding and additional processing. -# Default: yes -#ScanSWF yes - -# This option enables scanning xml-based document files supported by libclamav. -# If you turn off this option, the original files will still be scanned, but -# without additional processing. -# Default: yes -#ScanXMLDOCS yes - -# This option enables scanning of HWP3 files. -# If you turn off this option, the original files will still be scanned, but -# without additional processing. -# Default: yes -#ScanHWP3 yes - - -## -## Mail files -## - -# Enable internal e-mail scanner. -# If you turn off this option, the original files will still be scanned, but -# without parsing individual messages/attachments. -# Default: yes -#ScanMail yes - -# Scan RFC1341 messages split over many emails. -# You will need to periodically clean up $TemporaryDirectory/clamav-partial -# directory. -# WARNING: This option may open your system to a DoS attack. -# Never use it on loaded servers. -# Default: no -#ScanPartialMessages yes - -# With this option enabled ClamAV will try to detect phishing attempts by using -# HTML.Phishing and Email.Phishing NDB signatures. -# Default: yes -#PhishingSignatures no - -# With this option enabled ClamAV will try to detect phishing attempts by -# analyzing URLs found in emails using WDB and PDB signature databases. -# Default: yes -#PhishingScanURLs no - - -## -## Data Loss Prevention (DLP) -## - -# Enable the DLP module -# Default: No -#StructuredDataDetection yes - -# This option sets the lowest number of Credit Card numbers found in a file -# to generate a detect. -# Default: 3 -#StructuredMinCreditCardCount 5 - -# This option sets the lowest number of Social Security Numbers found -# in a file to generate a detect. -# Default: 3 -#StructuredMinSSNCount 5 - -# With this option enabled the DLP module will search for valid -# SSNs formatted as xxx-yy-zzzz -# Default: yes -#StructuredSSNFormatNormal yes - -# With this option enabled the DLP module will search for valid -# SSNs formatted as xxxyyzzzz -# Default: no -#StructuredSSNFormatStripped yes - - -## -## HTML -## - -# Perform HTML normalisation and decryption of MS Script Encoder code. -# Default: yes -# If you turn off this option, the original files will still be scanned, but -# without additional processing. -#ScanHTML yes - - -## -## Archives -## - -# ClamAV can scan within archives and compressed files. -# If you turn off this option, the original files will still be scanned, but -# without unpacking and additional processing. -# Default: yes -#ScanArchive yes - - -## -## Limits -## - -# The options below protect your system against Denial of Service attacks -# using archive bombs. - -# This option sets the maximum amount of time to a scan may take. -# In this version, this field only affects the scan time of ZIP archives. -# Value of 0 disables the limit. -# Note: disabling this limit or setting it too high may result allow scanning -# of certain files to lock up the scanning process/threads resulting in a -# Denial of Service. -# Time is in milliseconds. -# Default: 120000 -#MaxScanTime 300000 - -# This option sets the maximum amount of data to be scanned for each input -# file. Archives and other containers are recursively extracted and scanned -# up to this value. -# Value of 0 disables the limit -# Note: disabling this limit or setting it too high may result in severe damage -# to the system. -# Default: 100M -#MaxScanSize 150M - -# Files larger than this limit won't be scanned. Affects the input file itself -# as well as files contained inside it (when the input file is an archive, a -# document or some other kind of container). -# Value of 0 disables the limit. -# Note: disabling this limit or setting it too high may result in severe damage -# to the system. -# Default: 25M -#MaxFileSize 30M - -# Nested archives are scanned recursively, e.g. if a Zip archive contains a RAR -# file, all files within it will also be scanned. This options specifies how -# deeply the process should be continued. -# Note: setting this limit too high may result in severe damage to the system. -# Default: 16 -#MaxRecursion 10 - -# Number of files to be scanned within an archive, a document, or any other -# container file. -# Value of 0 disables the limit. -# Note: disabling this limit or setting it too high may result in severe damage -# to the system. -# Default: 10000 -#MaxFiles 15000 - -# Maximum size of a file to check for embedded PE. Files larger than this value -# will skip the additional analysis step. -# Note: disabling this limit or setting it too high may result in severe damage -# to the system. -# Default: 10M -#MaxEmbeddedPE 10M - -# Maximum size of a HTML file to normalize. HTML files larger than this value -# will not be normalized or scanned. -# Note: disabling this limit or setting it too high may result in severe damage -# to the system. -# Default: 10M -#MaxHTMLNormalize 10M - -# Maximum size of a normalized HTML file to scan. HTML files larger than this -# value after normalization will not be scanned. -# Note: disabling this limit or setting it too high may result in severe damage -# to the system. -# Default: 2M -#MaxHTMLNoTags 2M - -# Maximum size of a script file to normalize. Script content larger than this -# value will not be normalized or scanned. -# Note: disabling this limit or setting it too high may result in severe damage -# to the system. -# Default: 5M -#MaxScriptNormalize 5M - -# Maximum size of a ZIP file to reanalyze type recognition. ZIP files larger -# than this value will skip the step to potentially reanalyze as PE. -# Note: disabling this limit or setting it too high may result in severe damage -# to the system. -# Default: 1M -#MaxZipTypeRcg 1M - -# This option sets the maximum number of partitions of a raw disk image to be -# scanned. -# Raw disk images with more partitions than this value will have up to -# the value number partitions scanned. Negative values are not allowed. -# Note: setting this limit too high may result in severe damage or impact -# performance. -# Default: 50 -#MaxPartitions 128 - -# This option sets the maximum number of icons within a PE to be scanned. -# PE files with more icons than this value will have up to the value number -# icons scanned. -# Negative values are not allowed. -# WARNING: setting this limit too high may result in severe damage or impact -# performance. -# Default: 100 -#MaxIconsPE 200 - -# This option sets the maximum recursive calls for HWP3 parsing during -# scanning. HWP3 files using more than this limit will be terminated and -# alert the user. -# Scans will be unable to scan any HWP3 attachments if the recursive limit -# is reached. -# Negative values are not allowed. -# WARNING: setting this limit too high may result in severe damage or impact -# performance. -# Default: 16 -#MaxRecHWP3 16 - -# This option sets the maximum calls to the PCRE match function during -# an instance of regex matching. -# Instances using more than this limit will be terminated and alert the user -# but the scan will continue. -# For more information on match_limit, see the PCRE documentation. -# Negative values are not allowed. -# WARNING: setting this limit too high may severely impact performance. -# Default: 100000 -#PCREMatchLimit 20000 - -# This option sets the maximum recursive calls to the PCRE match function -# during an instance of regex matching. -# Instances using more than this limit will be terminated and alert the user -# but the scan will continue. -# For more information on match_limit_recursion, see the PCRE documentation. -# Negative values are not allowed and values > PCREMatchLimit are superfluous. -# WARNING: setting this limit too high may severely impact performance. -# Default: 2000 -#PCRERecMatchLimit 10000 - -# This option sets the maximum filesize for which PCRE subsigs will be -# executed. Files exceeding this limit will not have PCRE subsigs executed -# unless a subsig is encompassed to a smaller buffer. -# Negative values are not allowed. -# Setting this value to zero disables the limit. -# WARNING: setting this limit too high or disabling it may severely impact -# performance. -# Default: 25M -#PCREMaxFileSize 100M - -# When AlertExceedsMax is set, files exceeding the MaxFileSize, MaxScanSize, or -# MaxRecursion limit will be flagged with the virus -# "Heuristics.Limits.Exceeded". -# Default: no -#AlertExceedsMax yes - -## -## On-access Scan Settings -## - -# Don't scan files larger than OnAccessMaxFileSize -# Value of 0 disables the limit. -# Default: 5M -#OnAccessMaxFileSize 10M - -# Max number of scanning threads to allocate to the OnAccess thread pool at -# startup. These threads are the ones responsible for creating a connection -# with the daemon and kicking off scanning after an event has been processed. -# To prevent clamonacc from consuming all clamd's resources keep this lower -# than clamd's max threads. -# Default: 5 -#OnAccessMaxThreads 10 - -# Max amount of time (in milliseconds) that the OnAccess client should spend -# for every connect, send, and recieve attempt when communicating with clamd -# via curl. -# Default: 5000 (5 seconds) -# OnAccessCurlTimeout 10000 - -# Toggles dynamic directory determination. Allows for recursively watching -# include paths. -# Default: no -#OnAccessDisableDDD yes - -# Set the include paths (all files inside them will be scanned). You can have -# multiple OnAccessIncludePath directives but each directory must be added -# in a separate line. -# Default: disabled -#OnAccessIncludePath /home -#OnAccessIncludePath /students - -# Set the exclude paths. All subdirectories are also excluded. -# Default: disabled -#OnAccessExcludePath /home/user - -# Modifies fanotify blocking behaviour when handling permission events. -# If off, fanotify will only notify if the file scanned is a virus, -# and not perform any blocking. -# Default: no -#OnAccessPrevention yes - -# When using prevention, if this option is turned on, any errors that occur -# during scanning will result in the event attempt being denied. This could -# potentially lead to unwanted system behaviour with certain configurations, -# so the client defaults this to off and prefers allowing access events in -# case of scan or connection error. -# Default: no -#OnAccessDenyOnError yes - -# Toggles extra scanning and notifications when a file or directory is -# created or moved. -# Requires the DDD system to kick-off extra scans. -# Default: no -#OnAccessExtraScanning yes - -# Set the mount point to be scanned. The mount point specified, or the mount -# point containing the specified directory will be watched. If any directories -# are specified, this option will preempt (disable and ignore all options -# related to) the DDD system. This option will result in verdicts only. -# Note that prevention is explicitly disallowed to prevent common, fatal -# misconfigurations. (e.g. watching "/" with prevention on and no exclusions -# made on vital system directories) -# It can be used multiple times. -# Default: disabled -#OnAccessMountPath / -#OnAccessMountPath /home/user - -# With this option you can whitelist the root UID (0). Processes run under -# root with be able to access all files without triggering scans or -# permission denied events. -# Note that if clamd cannot check the uid of the process that generated an -# on-access scan event (e.g., because OnAccessPrevention was not enabled, and -# the process already exited), clamd will perform a scan. Thus, setting -# OnAccessExcludeRootUID is not *guaranteed* to prevent every access by the -# root user from triggering a scan (unless OnAccessPrevention is enabled). -# Default: no -#OnAccessExcludeRootUID no - -# With this option you can whitelist specific UIDs. Processes with these UIDs -# will be able to access all files without triggering scans or permission -# denied events. -# This option can be used multiple times (one per line). -# Using a value of 0 on any line will disable this option entirely. -# To whitelist the root UID (0) please enable the OnAccessExcludeRootUID -# option. -# Also note that if clamd cannot check the uid of the process that generated an -# on-access scan event (e.g., because OnAccessPrevention was not enabled, and -# the process already exited), clamd will perform a scan. Thus, setting -# OnAccessExcludeUID is not *guaranteed* to prevent every access by the -# specified uid from triggering a scan (unless OnAccessPrevention is enabled). -# Default: disabled -#OnAccessExcludeUID -1 - -# This option allows exclusions via user names when using the on-access -# scanning client. It can be used multiple times. -# It has the same potential race condition limitations of the -# OnAccessExcludeUID option. -# Default: disabled -#OnAccessExcludeUname clamav - -# Number of times the OnAccess client will retry a failed scan due to -# connection problems (or other issues). -# Default: 0 -#OnAccessRetryAttempts 3 - -## -## Bytecode -## - -# With this option enabled ClamAV will load bytecode from the database. -# It is highly recommended you keep this option on, otherwise you'll miss -# detections for many new viruses. -# Default: yes -#Bytecode yes - -# Set bytecode security level. -# Possible values: -# None - No security at all, meant for debugging. -# DO NOT USE THIS ON PRODUCTION SYSTEMS. -# This value is only available if clamav was built -# with --enable-debug! -# TrustSigned - Trust bytecode loaded from signed .c[lv]d files, insert -# runtime safety checks for bytecode loaded from other sources. -# Paranoid - Don't trust any bytecode, insert runtime checks for all. -# Recommended: TrustSigned, because bytecode in .cvd files already has these -# checks. -# Note that by default only signed bytecode is loaded, currently you can only -# load unsigned bytecode in --enable-debug mode. -# -# Default: TrustSigned -#BytecodeSecurity TrustSigned - -# Set bytecode timeout in milliseconds. -# -# Default: 5000 -# BytecodeTimeout 1000 - diff --git a/clamd.d/scan.conf.rpmsave b/clamd.d/scan.conf.rpmsave deleted file mode 100644 index 3d2bab0..0000000 --- a/clamd.d/scan.conf.rpmsave +++ /dev/null @@ -1,674 +0,0 @@ -## -## Example config file for the Clam AV daemon -## Please read the clamd.conf(5) manual before editing this file. -## - - -# Comment or remove the line below. -#Example - -# Uncomment this option to enable logging. -# LogFile must be writable for the user running daemon. -# A full path is required. -# Default: disabled -LogFile /var/log/clamd.scan - -# By default the log file is locked for writing - the lock protects against -# running clamd multiple times (if want to run another clamd, please -# copy the configuration file, change the LogFile variable, and run -# the daemon with --config-file option). -# This option disables log file locking. -# Default: no -#LogFileUnlock yes - -# Maximum size of the log file. -# Value of 0 disables the limit. -# You may use 'M' or 'm' for megabytes (1M = 1m = 1048576 bytes) -# and 'K' or 'k' for kilobytes (1K = 1k = 1024 bytes). To specify the size -# in bytes just don't use modifiers. If LogFileMaxSize is enabled, log -# rotation (the LogRotate option) will always be enabled. -# Default: 1M -#LogFileMaxSize 2M - -# Log time with each message. -# Default: no -LogTime yes - -# Also log clean files. Useful in debugging but drastically increases the -# log size. -# Default: no -#LogClean yes - -# Use system logger (can work together with LogFile). -# Default: no -LogSyslog yes - -# Specify the type of syslog messages - please refer to 'man syslog' -# for facility names. -# Default: LOG_LOCAL6 -#LogFacility LOG_MAIL - -# Enable verbose logging. -# Default: no -#LogVerbose yes - -# Enable log rotation. Always enabled when LogFileMaxSize is enabled. -# Default: no -LogRotate yes - -# Log additional information about the infected file, such as its -# size and hash, together with the virus name. -ExtendedDetectionInfo yes - -# This option allows you to save a process identifier of the listening -# daemon (main thread). -# Default: disabled -PidFile /var/run/clamd.scan/clamd.pid - -# Optional path to the global temporary directory. -# Default: system specific (usually /tmp or /var/tmp). -TemporaryDirectory /var/tmp - -# Path to the database directory. -# Default: hardcoded (depends on installation options) -DatabaseDirectory /var/clamav - -# Only load the official signatures published by the ClamAV project. -# Default: no -#OfficialDatabaseOnly no - -# The daemon can work in local mode, network mode or both. -# Due to security reasons we recommend the local mode. - -# Path to a local socket file the daemon will listen on. -# Default: disabled (must be specified by a user) -LocalSocket /var/run/clamav/clamd.sock - -# Sets the group ownership on the unix socket. -# Default: disabled (the primary group of the user running clamd) -#LocalSocketGroup virusgroup - -# Sets the permissions on the unix socket to the specified mode. -# Default: disabled (socket is world accessible) -#LocalSocketMode 660 - -# Remove stale socket after unclean shutdown. -# Default: yes -#FixStaleSocket yes - -# TCP port address. -# Default: no -#TCPSocket 3310 - -# TCP address. -# By default we bind to INADDR_ANY, probably not wise. -# Enable the following to provide some degree of protection -# from the outside world. This option can be specified multiple -# times if you want to listen on multiple IPs. IPv6 is now supported. -# Default: no -#TCPAddr 127.0.0.1 - -# Maximum length the queue of pending connections may grow to. -# Default: 200 -#MaxConnectionQueueLength 30 - -# Clamd uses FTP-like protocol to receive data from remote clients. -# If you are using clamav-milter to balance load between remote clamd daemons -# on firewall servers you may need to tune the options below. - -# Close the connection when the data size limit is exceeded. -# The value should match your MTA's limit for a maximum attachment size. -# Default: 25M -#StreamMaxLength 10M - -# Limit port range. -# Default: 1024 -#StreamMinPort 30000 -# Default: 2048 -#StreamMaxPort 32000 - -# Maximum number of threads running at the same time. -# Default: 10 -#MaxThreads 20 - -# Waiting for data from a client socket will timeout after this time (seconds). -# Default: 120 -#ReadTimeout 300 - -# This option specifies the time (in seconds) after which clamd should -# timeout if a client doesn't provide any initial command after connecting. -# Default: 5 -#CommandReadTimeout 5 - -# This option specifies how long to wait (in miliseconds) if the send buffer is full. -# Keep this value low to prevent clamd hanging -# -# Default: 500 -#SendBufTimeout 200 - -# Maximum number of queued items (including those being processed by MaxThreads threads) -# It is recommended to have this value at least twice MaxThreads if possible. -# WARNING: you shouldn't increase this too much to avoid running out of file descriptors, -# the following condition should hold: -# MaxThreads*MaxRecursion + (MaxQueue - MaxThreads) + 6< RLIMIT_NOFILE (usual max is 1024) -# -# Default: 100 -#MaxQueue 200 - -# Waiting for a new job will timeout after this time (seconds). -# Default: 30 -#IdleTimeout 60 - -# Don't scan files and directories matching regex -# This directive can be used multiple times -# Default: scan all -#ExcludePath ^/proc/ -#ExcludePath ^/sys/ - -# Maximum depth directories are scanned at. -# Default: 15 -#MaxDirectoryRecursion 20 - -# Follow directory symlinks. -# Default: no -#FollowDirectorySymlinks yes - -# Follow regular file symlinks. -# Default: no -#FollowFileSymlinks yes - -# Scan files and directories on other filesystems. -# Default: yes -#CrossFilesystems yes - -# Perform a database check. -# Default: 600 (10 min) -#SelfCheck 600 - -# Execute a command when virus is found. In the command string %v will -# be replaced with the virus name. -# Default: no -#VirusEvent /usr/local/bin/send_sms 123456789 "VIRUS ALERT: %v" - -# Run as another user (clamd must be started by root for this option to work) -# Default: don't drop privileges -User amavis - -# Initialize supplementary group access (clamd must be started by root). -# Default: no -AllowSupplementaryGroups yes - -# Stop daemon when libclamav reports out of memory condition. -#ExitOnOOM yes - -# Don't fork into background. -# Default: no -#Foreground yes - -# Enable debug messages in libclamav. -# Default: no -#Debug yes - -# Do not remove temporary files (for debug purposes). -# Default: no -#LeaveTemporaryFiles yes - -# Permit use of the ALLMATCHSCAN command. If set to no, clamd will reject -# any ALLMATCHSCAN command as invalid. -# Default: yes -#AllowAllMatchScan no - -# Detect Possibly Unwanted Applications. -# Default: no -#DetectPUA yes - -# Exclude a specific PUA category. This directive can be used multiple times. -# See https://github.com/vrtadmin/clamav-faq/blob/master/faq/faq-pua.md for -# the complete list of PUA categories. -# Default: Load all categories (if DetectPUA is activated) -#ExcludePUA NetTool -#ExcludePUA PWTool - -# Only include a specific PUA category. This directive can be used multiple -# times. -# Default: Load all categories (if DetectPUA is activated) -#IncludePUA Spy -#IncludePUA Scanner -#IncludePUA RAT - -# In some cases (eg. complex malware, exploits in graphic files, and others), -# ClamAV uses special algorithms to provide accurate detection. This option -# controls the algorithmic detection. -# Default: yes -#AlgorithmicDetection yes - -# This option causes memory or nested map scans to dump the content to disk. -# If you turn on this option, more data is written to disk and is available -# when the LeaveTemporaryFiles option is enabled. -#ForceToDisk yes - -# This option allows you to disable the caching feature of the engine. By -# default, the engine will store an MD5 in a cache of any files that are -# not flagged as virus or that hit limits checks. Disabling the cache will -# have a negative performance impact on large scans. -# Default: no -#DisableCache yes - -## -## Executable files -## - -# PE stands for Portable Executable - it's an executable file format used -# in all 32 and 64-bit versions of Windows operating systems. This option allows -# ClamAV to perform a deeper analysis of executable files and it's also -# required for decompression of popular executable packers such as UPX, FSG, -# and Petite. If you turn off this option, the original files will still be -# scanned, but without additional processing. -# Default: yes -#ScanPE yes - -# Certain PE files contain an authenticode signature. By default, we check -# the signature chain in the PE file against a database of trusted and -# revoked certificates if the file being scanned is marked as a virus. -# If any certificate in the chain validates against any trusted root, but -# does not match any revoked certificate, the file is marked as whitelisted. -# If the file does match a revoked certificate, the file is marked as virus. -# The following setting completely turns off authenticode verification. -# Default: no -#DisableCertCheck yes - -# Executable and Linking Format is a standard format for UN*X executables. -# This option allows you to control the scanning of ELF files. -# If you turn off this option, the original files will still be scanned, but -# without additional processing. -# Default: yes -#ScanELF yes - -# With this option clamav will try to detect broken executables (both PE and -# ELF) and mark them as Broken.Executable. -# Default: no -#DetectBrokenExecutables yes - - -## -## Documents -## - -# This option enables scanning of OLE2 files, such as Microsoft Office -# documents and .msi files. -# If you turn off this option, the original files will still be scanned, but -# without additional processing. -# Default: yes -#ScanOLE2 yes - -# With this option enabled OLE2 files with VBA macros, which were not -# detected by signatures will be marked as "Heuristics.OLE2.ContainsMacros". -# Default: no -#OLE2BlockMacros no - -# This option enables scanning within PDF files. -# If you turn off this option, the original files will still be scanned, but -# without decoding and additional processing. -# Default: yes -#ScanPDF yes - -# This option enables scanning within SWF files. -# If you turn off this option, the original files will still be scanned, but -# without decoding and additional processing. -# Default: yes -#ScanSWF yes - -# This option enables scanning xml-based document files supported by libclamav. -# If you turn off this option, the original files will still be scanned, but -# without additional processing. -# Default: yes -#ScanXMLDOCS yes - -# This option enables scanning of HWP3 files. -# If you turn off this option, the original files will still be scanned, but -# without additional processing. -# Default: yes -#ScanHWP3 yes - - -## -## Mail files -## - -# Enable internal e-mail scanner. -# If you turn off this option, the original files will still be scanned, but -# without parsing individual messages/attachments. -# Default: yes -#ScanMail yes - -# Scan RFC1341 messages split over many emails. -# You will need to periodically clean up $TemporaryDirectory/clamav-partial directory. -# WARNING: This option may open your system to a DoS attack. -# Never use it on loaded servers. -# Default: no -#ScanPartialMessages yes - -# With this option enabled ClamAV will try to detect phishing attempts by using -# signatures. -# Default: yes -#PhishingSignatures yes - -# Scan URLs found in mails for phishing attempts using heuristics. -# Default: yes -#PhishingScanURLs yes - -# Always block SSL mismatches in URLs, even if the URL isn't in the database. -# This can lead to false positives. -# -# Default: no -#PhishingAlwaysBlockSSLMismatch no - -# Always block cloaked URLs, even if URL isn't in database. -# This can lead to false positives. -# -# Default: no -#PhishingAlwaysBlockCloak no - -# Detect partition intersections in raw disk images using heuristics. -# Default: no -#PartitionIntersection no - -# Allow heuristic match to take precedence. -# When enabled, if a heuristic scan (such as phishingScan) detects -# a possible virus/phish it will stop scan immediately. Recommended, saves CPU -# scan-time. -# When disabled, virus/phish detected by heuristic scans will be reported only at -# the end of a scan. If an archive contains both a heuristically detected -# virus/phish, and a real malware, the real malware will be reported -# -# Keep this disabled if you intend to handle "*.Heuristics.*" viruses -# differently from "real" malware. -# If a non-heuristically-detected virus (signature-based) is found first, -# the scan is interrupted immediately, regardless of this config option. -# -# Default: no -#HeuristicScanPrecedence yes - - -## -## Data Loss Prevention (DLP) -## - -# Enable the DLP module -# Default: No -#StructuredDataDetection yes - -# This option sets the lowest number of Credit Card numbers found in a file -# to generate a detect. -# Default: 3 -#StructuredMinCreditCardCount 5 - -# This option sets the lowest number of Social Security Numbers found -# in a file to generate a detect. -# Default: 3 -#StructuredMinSSNCount 5 - -# With this option enabled the DLP module will search for valid -# SSNs formatted as xxx-yy-zzzz -# Default: yes -#StructuredSSNFormatNormal yes - -# With this option enabled the DLP module will search for valid -# SSNs formatted as xxxyyzzzz -# Default: no -#StructuredSSNFormatStripped yes - - -## -## HTML -## - -# Perform HTML normalisation and decryption of MS Script Encoder code. -# Default: yes -# If you turn off this option, the original files will still be scanned, but -# without additional processing. -#ScanHTML yes - - -## -## Archives -## - -# ClamAV can scan within archives and compressed files. -# If you turn off this option, the original files will still be scanned, but -# without unpacking and additional processing. -# Default: yes -#ScanArchive yes - -# Mark encrypted archives as viruses (Encrypted.Zip, Encrypted.RAR). -# Default: no -#ArchiveBlockEncrypted no - - -## -## Limits -## - -# The options below protect your system against Denial of Service attacks -# using archive bombs. - -# This option sets the maximum amount of data to be scanned for each input file. -# Archives and other containers are recursively extracted and scanned up to this -# value. -# Value of 0 disables the limit -# Note: disabling this limit or setting it too high may result in severe damage -# to the system. -# Default: 100M -#MaxScanSize 150M - -# Files larger than this limit won't be scanned. Affects the input file itself -# as well as files contained inside it (when the input file is an archive, a -# document or some other kind of container). -# Value of 0 disables the limit. -# Note: disabling this limit or setting it too high may result in severe damage -# to the system. -# Default: 25M -#MaxFileSize 30M - -# Nested archives are scanned recursively, e.g. if a Zip archive contains a RAR -# file, all files within it will also be scanned. This options specifies how -# deeply the process should be continued. -# Note: setting this limit too high may result in severe damage to the system. -# Default: 16 -#MaxRecursion 10 - -# Number of files to be scanned within an archive, a document, or any other -# container file. -# Value of 0 disables the limit. -# Note: disabling this limit or setting it too high may result in severe damage -# to the system. -# Default: 10000 -#MaxFiles 15000 - -# Maximum size of a file to check for embedded PE. Files larger than this value -# will skip the additional analysis step. -# Note: disabling this limit or setting it too high may result in severe damage -# to the system. -# Default: 10M -#MaxEmbeddedPE 10M - -# Maximum size of a HTML file to normalize. HTML files larger than this value -# will not be normalized or scanned. -# Note: disabling this limit or setting it too high may result in severe damage -# to the system. -# Default: 10M -#MaxHTMLNormalize 10M - -# Maximum size of a normalized HTML file to scan. HTML files larger than this -# value after normalization will not be scanned. -# Note: disabling this limit or setting it too high may result in severe damage -# to the system. -# Default: 2M -#MaxHTMLNoTags 2M - -# Maximum size of a script file to normalize. Script content larger than this -# value will not be normalized or scanned. -# Note: disabling this limit or setting it too high may result in severe damage -# to the system. -# Default: 5M -#MaxScriptNormalize 5M - -# Maximum size of a ZIP file to reanalyze type recognition. ZIP files larger -# than this value will skip the step to potentially reanalyze as PE. -# Note: disabling this limit or setting it too high may result in severe damage -# to the system. -# Default: 1M -#MaxZipTypeRcg 1M - -# This option sets the maximum number of partitions of a raw disk image to be scanned. -# Raw disk images with more partitions than this value will have up to the value number -# partitions scanned. Negative values are not allowed. -# Note: setting this limit too high may result in severe damage or impact performance. -# Default: 50 -#MaxPartitions 128 - -# This option sets the maximum number of icons within a PE to be scanned. -# PE files with more icons than this value will have up to the value number icons scanned. -# Negative values are not allowed. -# WARNING: setting this limit too high may result in severe damage or impact performance. -# Default: 100 -#MaxIconsPE 200 - -# This option sets the maximum recursive calls for HWP3 parsing during scanning. -# HWP3 files using more than this limit will be terminated and alert the user. -# Scans will be unable to scan any HWP3 attachments if the recursive limit is reached. -# Negative values are not allowed. -# WARNING: setting this limit too high may result in severe damage or impact performance. -# Default: 16 -#MaxRecHWP3 16 - -# This option sets the maximum calls to the PCRE match function during an instance of regex matching. -# Instances using more than this limit will be terminated and alert the user but the scan will continue. -# For more information on match_limit, see the PCRE documentation. -# Negative values are not allowed. -# WARNING: setting this limit too high may severely impact performance. -# Default: 10000 -#PCREMatchLimit 20000 - -# This option sets the maximum recursive calls to the PCRE match function during an instance of regex matching. -# Instances using more than this limit will be terminated and alert the user but the scan will continue. -# For more information on match_limit_recursion, see the PCRE documentation. -# Negative values are not allowed and values > PCREMatchLimit are superfluous. -# WARNING: setting this limit too high may severely impact performance. -# Default: 5000 -#PCRERecMatchLimit 10000 - -# This option sets the maximum filesize for which PCRE subsigs will be executed. -# Files exceeding this limit will not have PCRE subsigs executed unless a subsig is encompassed to a smaller buffer. -# Negative values are not allowed. -# Setting this value to zero disables the limit. -# WARNING: setting this limit too high or disabling it may severely impact performance. -# Default: 25M -#PCREMaxFileSize 100M - - -## -## On-access Scan Settings -## - -# Enable on-access scanning. Currently, this is supported via fanotify. -# Clamuko/Dazuko support has been deprecated. -# Default: no -#ScanOnAccess yes - -# Set the mount point to be scanned. The mount point specified, or the mount point -# containing the specified directory will be watched. If any directories are specified, -# this option will preempt the DDD system. This will notify only. It can be used multiple times. -# (On-access scan only) -# Default: disabled -#OnAccessMountPath / -#OnAccessMountPath /home/user - -# Don't scan files larger than OnAccessMaxFileSize -# Value of 0 disables the limit. -# Default: 5M -#OnAccessMaxFileSize 10M - -# Set the include paths (all files inside them will be scanned). You can have -# multiple OnAccessIncludePath directives but each directory must be added -# in a separate line. (On-access scan only) -# Default: disabled -#OnAccessIncludePath /home -#OnAccessIncludePath /students - -# Set the exclude paths. All subdirectories are also excluded. -# (On-access scan only) -# Default: disabled -#OnAccessExcludePath /home/bofh - -# With this option you can whitelist specific UIDs. Processes with these UIDs -# will be able to access all files. -# This option can be used multiple times (one per line). -# Default: disabled -#OnAccessExcludeUID 0 - -# Toggles dynamic directory determination. Allows for recursively watching include paths. -# (On-access scan only) -# Default: no -#OnAccessDisableDDD yes - -# Modifies fanotify blocking behaviour when handling permission events. -# If off, fanotify will only notify if the file scanned is a virus, -# and not perform any blocking. -# (On-access scan only) -# Default: no -#OnAccessPrevention yes - -# Toggles extra scanning and notifications when a file or directory is created or moved. -# Requires the DDD system to kick-off extra scans. -# (On-access scan only) -# Default: no -#OnAccessExtraScanning yes - -## -## Bytecode -## - -# With this option enabled ClamAV will load bytecode from the database. -# It is highly recommended you keep this option on, otherwise you'll miss detections for many new viruses. -# Default: yes -#Bytecode yes - -# Set bytecode security level. -# Possible values: -# None - no security at all, meant for debugging. DO NOT USE THIS ON PRODUCTION SYSTEMS -# This value is only available if clamav was built with --enable-debug! -# TrustSigned - trust bytecode loaded from signed .c[lv]d files, -# insert runtime safety checks for bytecode loaded from other sources -# Paranoid - don't trust any bytecode, insert runtime checks for all -# Recommended: TrustSigned, because bytecode in .cvd files already has these checks -# Note that by default only signed bytecode is loaded, currently you can only -# load unsigned bytecode in --enable-debug mode. -# -# Default: TrustSigned -#BytecodeSecurity TrustSigned - -# Set bytecode timeout in miliseconds. -# -# Default: 5000 -# BytecodeTimeout 1000 - -## -## Statistics gathering and submitting -## - -# Enable statistical reporting. -# Default: no -#StatsEnabled yes - -# Disable submission of individual PE sections for files flagged as malware. -# Default: no -#StatsPEDisabled yes - -# HostID in the form of an UUID to use when submitting statistical information. -# Default: auto -#StatsHostID auto - -# Time in seconds to wait for the stats server to come back with a response -# Default: 10 -#StatsTimeout 10 diff --git a/cloud/cloud.cfg.rpmsave b/cloud/cloud.cfg.rpmsave deleted file mode 100644 index 20689ce..0000000 --- a/cloud/cloud.cfg.rpmsave +++ /dev/null @@ -1,69 +0,0 @@ -users: - - default - -disable_root: 1 -ssh_pwauth: 0 - -mount_default_fields: [~, ~, 'auto', 'defaults,nofail,x-systemd.requires=cloud-init.service', '0', '2'] -resize_rootfs_tmp: /dev -ssh_deletekeys: 0 -ssh_genkeytypes: ~ -syslog_fix_perms: ~ -disable_vmware_customization: false - -cloud_init_modules: - - disk_setup - - migrator - - bootcmd - - write-files - - growpart - - resizefs - - set_hostname - - update_hostname - - update_etc_hosts - - rsyslog - - users-groups - - ssh - -cloud_config_modules: - - mounts - - locale - - set-passwords - - rh_subscription - - yum-add-repo - - package-update-upgrade-install - - timezone - - puppet - - chef - - salt-minion - - mcollective - - disable-ec2-metadata - - runcmd - -cloud_final_modules: - - rightscale_userdata - - scripts-per-once - - scripts-per-boot - - scripts-per-instance - - scripts-user - - ssh-authkey-fingerprints - - keys-to-console - - phone-home - - final-message - - power-state-change - -system_info: - default_user: - name: centos - lock_passwd: true - gecos: Cloud User - groups: [adm, systemd-journal] - sudo: ["ALL=(ALL) NOPASSWD:ALL"] - shell: /bin/bash - distro: rhel - paths: - cloud_dir: /var/lib/cloud - templates_dir: /etc/cloud/templates - ssh_svcname: sshd - -# vim:syntax=yaml diff --git a/csf/csf.deny b/csf/csf.deny index c42efd0..22a46c4 100644 --- a/csf/csf.deny +++ b/csf/csf.deny @@ -15,9 +15,6 @@ # tcp/udp|in/out|s/d=port,port,...|s/d=ip # # See readme.txt for more information regarding advanced port filtering -157.230.254.228 # lfd: (PERMBLOCK) 157.230.254.228 (SG/Singapore/-/-/-) has had more than 2 temp blocks in the last 86400 secs - Mon Apr 3 18:53:06 2023 -187.200.204.33 # lfd: (PERMBLOCK) 187.200.204.33 (MX/Mexico/México/Toluca/dsl-187-200-204-33-dyn.prod-infinitum.com.mx) has had more than 2 temp blocks in the last 86400 secs - Mon Apr 3 18:57:41 2023 -125.143.128.117 # lfd: (PERMBLOCK) 125.143.128.117 (KR/South Korea/Seoul/Seoul/-) has had more than 2 temp blocks in the last 86400 secs - Mon Apr 3 19:17:38 2023 186.127.72.32 # lfd: (PERMBLOCK) 186.127.72.32 (AR/Argentina/Buenos Aires/La Plata/host32.186-127-72.telecom.net.ar) has had more than 2 temp blocks in the last 86400 secs - Mon Apr 3 19:19:03 2023 185.228.135.38 # lfd: (PERMBLOCK) 185.228.135.38 (RU/Russia/Krasnodar Krai/Krasnodar/-) has had more than 2 temp blocks in the last 86400 secs - Mon Apr 3 22:49:46 2023 5.135.179.178 # lfd: (PERMBLOCK) 5.135.179.178 (FR/France/Oise/Fosseuse/ns3287787.ip-5-135-179.eu) has had more than 2 temp blocks in the last 86400 secs - Mon Apr 3 22:54:51 2023 @@ -1014,3 +1011,6 @@ 93.219.101.120 # lfd: (PERMBLOCK) 93.219.101.120 (DE/Germany/Baden-Wurttemberg/Geislingen an der Steige/-) has had more than 2 temp blocks in the last 86400 secs - Thu Jun 15 03:10:34 2023 fe80::18b5:110b:55f:2940 # lfd: (PERMBLOCK) fe80::18b5:110b:55f:2940 (Unknown) has had more than 2 temp blocks in the last 86400 secs - Fri Jun 16 00:40:54 2023 fe80::45e:3b4d:3a8f:184a # lfd: (PERMBLOCK) fe80::45e:3b4d:3a8f:184a (Unknown) has had more than 2 temp blocks in the last 86400 secs - Fri Jun 16 04:44:10 2023 +fe80::1c34:5012:f183:9da # lfd: (PERMBLOCK) fe80::1c34:5012:f183:9da (Unknown) has had more than 2 temp blocks in the last 86400 secs - Mon Jun 19 07:45:25 2023 +fe80::817:8a6a:f69d:36ab # lfd: (PERMBLOCK) fe80::817:8a6a:f69d:36ab (Unknown) has had more than 2 temp blocks in the last 86400 secs - Wed Jun 21 07:48:49 2023 +fe80::8e6:3998:39c:ed5e # lfd: (PERMBLOCK) fe80::8e6:3998:39c:ed5e (Unknown) has had more than 2 temp blocks in the last 86400 secs - Fri Jun 23 03:07:14 2023 diff --git a/csf/csf.ignore b/csf/csf.ignore index 553b23c..ff31dd1 100644 --- a/csf/csf.ignore +++ b/csf/csf.ignore @@ -46,3 +46,4 @@ 188.25.145.26 5.12.16.177 +5.12.35.96 diff --git a/cxs/changelog.txt b/cxs/changelog.txt deleted file mode 100644 index 4aaae04..0000000 --- a/cxs/changelog.txt +++ /dev/null @@ -1,2437 +0,0 @@ -ChangeLog: - -6.14 - Modified ModSecurity integration Install/Remove options in cxs UI for - EA4 as cPanel has moved files to a different directory - -6.13 - Fixed some incorrect file locks - - Removed Bareword file handles - -6.11 - Ensure all file opens are properly flocked - - Switch to using require instead of eval/use to load runtime modules - where possible - - Code review - started addressing perl critic suggestions in all - scripts and modules - - Fixed incorrect --summary when subdomains outside of public_html while - using --www - - Memory and CPU optimisations - - PHP script decoding up to 15% faster - - PHP fingerprint regex matching up to 50% faster - - postftpup converted to a cPanel Hook - - Exploit fingerprint definitions database additions - -6.10 - On cPanel servers, ensure all document roots are scanned when using - --www not just ~/public_html/ (i.e. domains, SSL, addons, subdomains) - - Fix pure-uploadscript init script to exit with appropriate status code - - Exploit fingerprint definitions database additions - -6.09 - Fixed quarantine store of file group ownership used for display - purposes only. The problem manifests when a users uid != gid and the - incorrect group is used for display purposes - - Fixed Wmonitor display of file group ownership. The problem manifests - when a the users uid != gid and the incorrect group is used for - display purposes - -6.08 - Replace /etc/cxs/test/ files with a single non-threatening script that - will test trigger cxs and can be used to check the cxs ModSecurity - rule is working. See /etc/cxs/install.txt for details - - Modified ModSecurity integration Install/Remove options in cxs UI for - EA4 - - Exploit fingerprint definitions database additions - -6.07 - Added text field in UI for PureFTPd/ModSecurity to indicate whether - the options is currently enabled or disabled - -6.06 - Fixed crond restart in UI on RHEL/CentOS/CloudLinux v7 which left - pages blank - - Exploit fingerprint definitions database additions - -6.05 - Added version detection for Drupal v8 - - Added PureFTPd integration Enable/Disable/Restart options to cxs UI - - Added ModSecurity integration Install/Remove options to cxs UI - - Mute perl lc UTF-16 warnings where necessary - - New --options [U]. This option will match PHP scripts that allow - uploading files to the server via the HTTP POST method. This option - requires that --options [m] is also specified - - Added --options [U] to the Restricted Mode UI options - - UI updates and improvements - - Exploit fingerprint definitions database additions - -6.04 - Ensure CallUploadScript is disabled in /etc/pure-ftpd.conf on cPanel - servers on uninstall - - Exploit fingerprint definitions database additions - -6.03 - Fixed UI issue where --soptions [as] were not being set - - Exploit fingerprint definitions database additions - -6.02 - Fixed issues with DA UI quarantine restore - - Improved DA UI POD display - -6.01 - Added unsupported option --YSKIPUNCLAM. See POD for more information - - Exploit fingerprint definitions database additions - -6.00 - Added new major feature for cxs Watch: --Wmonitor [file] - This option allows you to monitor and report on changes to a list of - resources in [file]. See cxs POD for more information - - Added option --Wmonignore [file] to use instead of --ignore [file] for - use with --Wmonitor [file] - - Added IO::Select as a required perl module (a core perl module so - should always be present) - - Improvements to php file detection - - Improvements to deobfuscation routines - - Fixed bug in display of atime for some quarantined files - - Fix BCC header replacement field in email reports - - Exploit fingerprint definitions database additions - -5.33 - POD corrections and additions - - Exploit fingerprint definitions database additions - -5.32 - Force email Date: field incase the MTA fails to add one - - Modified all report timestamps to use the same format - - Exploit fingerprint definitions database additions - -5.31 - Ensure only root can attempt to download the bayes corpus - - Fixed POD reference to --bforget - - Fixed POD formatting of long example commands - - Updated Software Version Checking - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -5.30 - Modify cPanel install.txt to add the ConfigServer ModSecurity Vendor - option - - Added new advanced PHP decoders - - Exploit fingerprint definitions database additions - -5.29 - Modified documentation to address changes in ModSecurity v2.9 that - requires the following is set as part of the ModSecurity config: - SecUploadKeepFiles RelevantOnly - - Exploit fingerprint definitions database additions - -5.28 - Added new option --[no]ssl. When enabled (the default) all cxs URL - functions, such as updating, bayes corpus retrieval and license - checking will be done over an SSL connection to ConfigServer servers - - Added /var/run/clamd.scan/clamd.sock as another default clamd socket - location for --clamdsock [socket] - - Added unsupported option --YSKIPCGI. See POD for more information - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -5.27 - Fixed call for the now removed cxswatch.pm from --Wstop - -5.26 - Added /scripts/postftpup to restart pure-uploadscript after an ftp - server upgrade - -5.25 - Trigger pure-uploadscript restart - -5.24 - Added new advanced PHP decoders - - Exploit fingerprint definitions database additions - -5.23 - Added the ability to use positive --options [+][], i.e. the default - list of options is used in addition to those listed when prefixed with - a plus - - Improvements to --decode ([D]) - - Added atime, ctime and mtime to newly quarantined file descriptions - viewable from the UI and the CLI via --qview [file].restore4 - - Ensure /var/log/cxswatch.log ownership and permissions are set on each - update in case of rotation - - File md5sum added to cgi and ftp alert email - -5.22 - Ensure timestamp and cxs command are prepended to --report [file] - - Fix cxs Watch Timestamp in report emails - - When using --options W ensure that resource is a directory and not a - symlink or socket - -5.21 - Fixed issue in cxs Watch when --www is used and a new account is - created through restore on cPanel servers - - cxs Watch now tracks the parent directories for all users when - --allusers is used and will add them back if they disappear and are - recreated - -5.20 - Fixed systemd cxs watch UI commands - - Exploit fingerprint definitions database additions - -5.19 - Re-added POSIX Locale after changes in v5.16 - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -5.18 - Added white-space pre-wrapping to HTML emails - - UI HTML updates and fixes - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -5.17 - Fixed --qcreate POD text - - Added systemd support for pure-uploadscript - -5.16 - WARNING: The report format has changed in this version. If you are - parsing cxs reports, they now show the filename and then all hits - reported against that file before reporting the next file. Previously - each reported hit was shown separately with the filename following - - Renamed cxs cron job in /etc/cron.d/ from cxs.cron to cxs-cron to - cater for non-LSB compliant Linux cron managers - - New option --[no]html. With --[no]html enabled (default), emails will - be sent in both plain-text and HTML formats. The option does not apply - if --template [file] is used - - Fixed cxs Watch to remove rateignore data for a file if it is deleted - - Fixed rateignore hash array lookup and unneccessary rateignore removal - causing files to be skipped - - Added unsupported option --YRATEIGN. See POD for more information - - Improvement to PHP script detection - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -5.15 - Fix for POD cron jobs RECOMMENDATIONS text - -5.14 - Modified --Wrateignore [secs] so that ignored resources are rescanned - once [sec] expires - - Modified cxs watch so that resource attribute changes only trigger an - inotify event if --options [w] or [W] are used - - cxswatch.sh now disables the world writable directory check options - on new installations (--options -wW) - - Removed options --Wsymlink [script], --Wsymlinkmax [num] and - --Wsymlinksec [secs]. These options provided ineffective control of - such exploits and caused performance isses with cxs Watch. The options - will no longer function, but cxs commands will not fail if they are - used - - Updated cxs RECOMMENDATIONS section - -5.13 - Ensure --Wrateignore [secs] has default values set in cxs Watch if - --Wsleep [num] is set to 0 - - Added unsupported options --YRATECNT [num] and YRATESEC [secs]. See - POD for more information - - Exploit fingerprint definitions database additions - -5.12 - Implemented native systemd support for startup and shutdown of cxs - Watch - - Added version detection for Fancybox for Wordpress - - Exploit fingerprint definitions database additions - -5.11 - Updated license servers - - Exploit fingerprint definitions database additions - -5.10 - Disable --xtra [file] when using --wttw [file] - - Display error on license retrieval failure - - Added check for perl modules LWP::Protocol::https and Linux::Inotify2 - on installation and upgrade - - Added new advanced PHP decoders - - Exploit fingerprint definitions database additions - -5.09 - Fix for issues where license file became corrupted after update to - v5.08 - -5.08 - Fixed a rare potential issue with fingerprint processing in - --xtra [file] - - Added new advanced PHP decoders - - Updated scripts to use https://download.configserver.com - - Revert to using LWP::UserAgent instead of HTTP::Tiny for SSL support - - Exploit fingerprint definitions database additions - -5.07 - Modified new installs to better initially update to the latest - fingerprints - - Ignore and Xtra files can now use an Include statement to include - additional files. If cxswatch is running then it will also watch the - included files for changes and reload if necessary - - Added new quarantine option --qignore [method] which used when - restoring a file using --qrestore [file] will create an entry in - --ignore [file] before restoring the file. See POD for more info - - Optimised fingerprint database to remove duplicates and old entries of - no value reducing the size without reducing effectiveness - - Exploit fingerprint definitions database additions - -5.06 - HTTP::Tiny upgraded to v0.050 - - Modified use of BSD::Resource to be silent on failure - - Exploit fingerprint definitions database additions - -5.05 - Updated installer to fix generic installs on some Redhat/CentOS setups - - Fixed issue with fingerprint database and a corrupt regex - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -5.04 - Improvements to .htaccess fingerprint P0216 -> P0767 - - Modify installer to always perform an update on installation to ensure - the latest definitions are always available - - cxswatch will now scan a directories permissions if any of its - attributes are changed and --options [w] and/or --options [W] is - enabled - - Updated scripts to use download.configserver.com - - Exploit fingerprint definitions database additions - -5.03 - Removed a false-postitive fingerprint definition - - Exploit fingerprint definitions database additions - -5.02 - Ensure --ignore [file] is always loaded last - - Allow ignoring of Fingerprints - - New master bayes corpus generated - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -5.01 - Raised bayes low/medium/high thresholds - - New master bayes corpus generated - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -5.00 - New feature --[no]bayes taken out of BETA and is the basis of v5 - - Added --[no]bayes to the UI - - New master bayes corpus generated - - Added warning in UI for --[no]fallback option regarding potential - performance impact - - Exploit fingerprint definitions database additions - -4.28 - Fixed cxs Watch loading the bayes database whether --bayes was in use - or not - -4.27 - Modified cxs Watch so that watches are updated/created if the - alternative configuration file reload method is used - - Exploit fingerprint definitions database additions - - BETA: Added a local bayes corpus so that learning and forgetting can - be implemented locally - - BETA: Added new option --blearn [X|C] so that new files can be added - to the local corpus as either an exploit (X) or as a clean file (C) - - BETA: Added new option --bforget [X|C] so that new files can be - removed from the local corpus as either an exploit (X) or as a clean - file (C). Only files previously learned should be forgotten - - BETA: Modified cxs Watch to reload the master bayes corpus on change - - BETA: Modified cxs Watch to reload the local bayes corpus, if one - exists, on change - - BETA: When cxs is upgraded and the master bayes corpus exists, the - latest master corpus will be automatically downloaded - - BETA: New master bayes corpus generated - - BETA: Raised bayes low/medium/high thresholds - -4.26 - A situation where Fingerprint P0452 persists was missed and is now - removed - -4.25 - Fingerprint P0452 removed as it appears some legitimate scripts are - using the same obfuscation technique commonly used in exploits - - BETA: Bayes corpus size decreased by a further 28% but with increased - accuracy - - Exploit fingerprint definitions database additions - -4.24 - BETA: Bayes corpus format improved - if you are using this feature, - download the new corpus using "cxs --bget" - - BETA: Bayes corpus memory footprint decreased by a further 20% - - BETA: Bayes corpus loading speed improvements - -4.23 - Improvements to the main decoder regex - - Improvements to decoder string extraction - - Fixed formatting of --qlocal documentation - - BETA: New Bayes corpus generated - if you are using this feature, - download the new corpus using "cxs --bget" - - BETA: Bayes corpus size decreased by 25% but with increased accuracy - - Exploit fingerprint definitions database additions - -4.22 - Added option --qlocal which provides quarantine support when using - mod_ruid2 by storing quarantined files within a users account. See - documentation for more information and caveats - - BETA: Bayes learning improvements (speed, memory) - - BETA: Bayes reporting improvements (speed, memory) - - BETA: New Bayes corpus generated - if you are using this feature, - download the new corpus using "cxs --bget" - - Improvements to PHP decoded script scanning efficiency - -4.21 - BETA: Bayes corpus loading speed improved by 100% - - BETA: Bayes corpus memory footprint decreased by 20% - - BETA: Increased minimum score size for Bayes reporting to help reduce - false-positives - -4.20 - New option --[no]bayes (currently in BETA). Naive Bayesian - probabability scanning of script files. This option uses an enhanced - Naive Bayes algorithm to report a probability that a scanned script is - an exploit. This is achieved through a trained corpus (database). See - the cxs documentation for more details. - - Additions to main decoder regex - - Exploit fingerprint definitions database additions - -4.19 - Additions to main decoder regex - - Modified option --template [file]. You can now use this to email the - end user when performing --allusers and --user [user] scans. See the - cxs Documentation for --template [file] for more information - - Output improvements to --qview [file] and more information provided in - the POD - - Exploit fingerprint definitions database additions - -4.18 - HTTP::Tiny reverted to v0.041 as it breaks on some installations - -4.17 - Unsupported option --YSKIPWMAIL added. Using this, If --options [W] or - --options [wW] is triggered, then the directory will be chmod as - normal but no email will be sent. If any other option is triggered for - the same scan, the email will still be sent. This option only applies - to cxs Watch - - Added full pseudo-breadcrumbs to cPanel UI - - HTTP::Tiny upgraded to v0.042 - - On cPanel servers, use cPanel provided perldoc binary in UI if present - - Exploit fingerprint definitions database additions - -4.16 - Updated POD to reflect --[no]fallback being disabled by default - - Changed default value of --Wsymlinkmax to 1000 - - Changed default value of --Wsymlinksec to 10 - - Added performance note about using --Wsymlink [script] to POD - - Modified cxswatch restart routine to run /etc/cxs/cxswatch.sh directly - - Modified cxswatch to more quickly detect restart requests on busy - systems - - Exploit fingerprint definitions database additions - -4.15 - Memory usage improvements and general speedups - - Added the ability to use negative --options [-][], i.e. the default - list of options is used apart from those listed when prefixed with a - minus - - --[no]fallback now defaults to --nofallback due to performance - concerns which should be noted before enabling the option - - Exploit fingerprint definitions database additions - -4.14 - Force cxs into a detached process if running --upgrade as a CRON job - to fix upgrade hanging issue - -4.13 - Significant speedups in regex (up to 300% faster) and FP matching - - Exploit fingerprint definitions database additions - -4.12 - Code regression to prevent overloading update server during upgrades - -4.11 - New feature: --[no]fallback. If clamd produces an error or is - unavailable after a scan starts, this option will attempt to use - clamscan to scan files until clamd is available again. This option is - enabled by default - - Additional minor updates to the POD documentation - - Modify cxsdaily.sh to fork jobs to prevent hanging on new installs - - Added timeout (5 mins) to cxs upgrade routine - - Improvements to --wttw [file] - -4.10 - Check file size against --sizemax [size] when using --wttw to ensure - ignored files are not being submitted incorrectly - - Exploit fingerprint definitions database additions - -4.09 - UI Fixes and updates - - Fixed issue with default perl binary on non-cPanel servers - - Use raw UI plugin on DA servers when generating cxs commands/scans to - overcome buffering issues - - Exploit fingerprint definitions database additions - -4.08 - Removed redundant v3 quarantine code - - Removed displaying "i" during scan if file ignored as it is not - particularly helpful - - Updates to Piwik and ownCloud version detection - - Form design elements added - - Change to --sizemax [bytes] behaviour. In the past a file > [bytes] in - size was ignored, now the file will be scanned but only the initial - [bytes] of the file will be scanned - - Added decoding of octal as well as hex encoded characters for PHP - scripts - - Exploit fingerprint definitions database additions - -4.07 - Display "i" during scan if file ignored due to sizemax [bytes] being - exceeded - - HTTP::Tiny upgraded to v0.039 - - Translate ampersand for HTML output - - Fixed cxs UI not adding files to the ignore file after using the - Ignore link - - Additional checks for ignore, xtra and new detections updates for cxs - watch daemon to reload the relevant files if necessary - - Exploit fingerprint definitions database additions - -4.06 - Parameterise all calls to system() and Open3() - - Only list viewable files in UI "Other Files" option - - Fixed issue with ignoring user: and puser: with web scanning - - Added new --ignore [file] option ip: - ignore IP address for web and - ftp uploads. This may or may not have any impact on performance with - ftp uploads as the IP address will need to be established from the - message log for each file - - Removed DNS lookup on FTP IP addresses to improve performance - - Exploit fingerprint definitions database additions - -4.05 - Fixed POD display in UI - -4.04 - Fixed issue with cxs Watch not reporting running state correctly - -4.03 - Fixed issue with reporting boolean CLI options - -4.02 - Fixed issue with creation of new quarantine directory for new installs - - Improved quarantine directory detection for conversion on upgrade to - v4 - -4.01 - Introducing a new Quarantine system. This new version creates a more - secure method of quarantining suspicious files in cxs. It removes the - need for a directory with 1777 permissions. It also makes the layout - and maintenance of the quarantine directory much simpler - - Automatically rename old quarantine directory to [dir].(timestamp) - and create new quarantine structure. An email is sent to root with a - reminder to remove the old directory - - Any pre v4 old quarantine directory can still be viewed and restored - from through the UI if required, though this functionality (for old - quarantine directories) will be removed in the future - - New option --qcreate. This option is used to create a new quarantine - directory structure. It will rename any pre-existing directory to - [name].(timestamp) - - New option --qclean [days]. This option is used to clean a quarantine - directory specificed with --quarantine [dir], retaining the last - [days] worth of files - - New option --qrestore [file]. This option is used to restore a - quarantine file via the CLI to the original file location (v4 - quarantined files only) - - New option --qview [file]. This option is used to view a quarantined - file via the CLI - - Modified cxs UI to cater for new quarantine layout and provide some - additional information on quarantined files - - Added new file /etc/cxs/cxsdaily.sh as an example file to symlink - from /etc/cron.daily/ to perform daily tasks and added to - RECOMMENDATIONS in the docs - - Modified cxs Watch scanning to automatically scan newly created - directories for exploits to help overcome an issue where files are - created before a new directory is watched - - Support for running cxs through suhosin has been removed - - Fixed issue with --defapache [user] - - Modified recommendations on file ownership and permissions when using - --logfile [file] - - HTTP::Tiny upgraded to v0.037 - - POD documentation tidy - - Exploit fingerprint definitions database additions - -3.27 - NOTE: Support for using suhosin is deprecated and will be removed in - the near future - use ModSecurity instead. If you are unable to use - ModSecurity, you will have to rely on either cxs Watch or manual scans - - New option added: --defapache [user]. This is the default account - under which apache runs. This will be set to "apache" by default - except on cPanel servers where it is set to "nobody" by default - - Make cxs watch restart reason more verbose - - Improved file type detection for files within archives - - Improvements to the main decoder regex - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -3.26 - Fixed issue with cxs process termination due to scanning timeouts - - Prevent regex hangs due to some exploit tactics - - Fixed quarantine UI not restoring file permissions correctly - -3.25 - Extended fingerprint checks for alternative linefeeds in scripts - - Fixed functionality of the included test.cgi upload test script - - Enforce stricter permissions on /var/log/cxswatch.log - - Disable option to upgrade cxs in DA UI and instruct to use CLI - - Added use of --force to --upgrade to redo upgrade to latest version if - required - - Additional checks to terminate php child process if timeout occurs - - Exploit fingerprint definitions database additions - -3.24 - Added the following to Script Version Scanning: - Joomla XCloner Ext, WP XCloner Ext - - Added new advanced PHP decoders - - Exploit fingerprint definitions database additions - -3.23 - Added the following to Script Version Scanning: - CubeCart - - Fixed cxs Watch in DA where new account creation was not automatically - detected - - HTTP::Tiny upgraded to v0.036 - -3.22 - Added the following to Script Version Scanning: - AbanteCart, AEF, b2evolution, CMS Made Simple, CodeIgnitor, Concrete5, - Dotclear, e107, Elgg, Feng Office, HESK, Jcow CE, MODX Evolution, - MODX Revolution, Noahs Classifieds, OSClass, ownCloud, Oxwall, Piwigo, - Piwik, Seo Panel, Serendipity, StatusNet, TomatoCart, Xoops, ZenPhoto, - Zikula - - Added the following popular Wordpress extensions to Script Version - Scanning: - WP Sociable - WP Share This - WP WP Super Cache - WP All In One WP Security & Firewall - WP BulletProof Security - WP FD Feedburner - WP Google Adsense Plugin - WP WordPress Simple Paypal Shopping Cart - WP WordPress eShop - WP WordPress s2Member - WP UpdraftPlus - WP BackUpWordPress - - Added the following popular Joomnla extensions to Script Version - Scanning: - Joomla Akeeba - Joomla AllVideos - Joomla CDN for Joomla - Joomla Community Builder - Joomla JEvents - Joomla Jomsocial - Joomla K2 - Joomla Kunena - Joomla Phoca Gallery - Joomla sh404SEF - Joomla Simple Image Gallery - Joomla Xmap - - Exploit fingerprint definitions database additions - -3.21 - Disable Script Version Scanning for web script scanning (cxscgi.sh) as - it does not apply - - Perl module Storable added to the required list - - Added ten of the most popular Wordpress extensions to Script Version - Scanning: - WP Akismet Ext v2 - WP Better WP Security Ext v3 - WP Contact Form 7 Ext v3 - WP Facebook Ext - WP Google XML Sitemaps Ext v3 - WP Jetpack Ext v2 - WP NextGEN Gallery Ext v2 - WP Seo Ext - WP W3 Total Cache Ext - WP WooCommerce Ext v2 - - Added ten of the most popular Joomla extensions to Script Version - Scanning: - Joomla Advanced Module Manager Ext v4 - Joomla JCE Ext v2 - Joomla RAntiSpam Ext v3 - Joomla Joomla LiveHelpNow Chat Ext v2 - Joomla Rapid Contact Ext - Joomla Asynchronous Google Analytics Ext v2 - Joomla Google Maps Ext v3 - Joomla Sourcerer Ext v4 - Joomla Tabs Ext v3 - Joomla Modules Anywhere Ext v3 - - Added the following to Script Version Scanning: - OpenCart, Nucleus CMS, Open Classifieds, LimeSurvey, ClipBucket, - WHMCS, Coppermine Photo Gallery - - Exploit fingerprint definitions database additions - -3.20 - Changed --options [s] to be --[no]sversionscan (Script Version - Scanning) to make it independent of --[no]exploitscan, allowing a fast - scan for old script installs. This option is enabled by default. Use - --nosversionscan to disable - - Added the following to Script Version Scanning: - Typo3, Invision Power Board, WebCalendar, MyBB, Dolphin, SMF, OpenX - Source, SugarCRM Community Edition, Contao CMS, PrestaShop, - PHP-Fusion, phpPgAdmin, SquirrelMail, Roundcube, Kayako, osTicket - - Added new --soptions [a] for --[no]sversionscan to report all versions - of found scripts, not just old versions - - Added new --soptions [d] for --[no]sversionscan to report the - directory containing the script, not the trigger file - - Exploit fingerprint definitions database additions - -3.13 - UI button style modifications - - Added phpList, Moodle, Magento Community Edition and MediaWiki version - checking to --options [s] - - Modified POD to screen wrap HTML code more effectively - -3.12 - Fixed cxs uninstaller removing csf UI files on cPanel installs - - Added phpBB, phpMyAdmin, Zen Cart, osCommerce and VirtueMart version - checking to --options [s] - -3.11 - Added to RECOMMENDATIONS to still run a regular scan without --ctime - [hours] to ensure new scan techniques and exploit signatures are used - to check all existing files - - Fixed directory creation on installation for unofficial DA plugin - - Improved performance of file slurping and therefore scanning - - Added new --options [s] that will search for a few common web script - installations and report if older than the latest version on record. - See documentation for more information - - Exploit fingerprint definitions database additions - -3.10 - Changed --throttle [num] to prevent throttling triggering a - --timemax [secs] timeout - - Added detection for some PHP JPEG and TIFF EXIF exploits - - Improvements to image and zip file type detection - - Exploit fingerprint definitions database additions - -3.09 - Improvements to Virtuozzo/OpenVZ system detection where - /proc/vz/veinfo does not exist - - Added TimeStamp to the top of the scan report - - If /etc/csuibuttondisable exists then the UI buttons will revert for - those that cannot cope with the themed ones - -3.08 - Implemented new cxswatch log tail code - - UI display changes - - Exploit fingerprint definitions database additions - -3.07 - Allow (limited) scans via UI in restricted mode - - Added Change Time (--ctime [hours]) option to UI - - If --quarantine has been disabled, ensure all reports contain a - warning message with explanation - -3.06 - Fixed bug with broken --cgi option (cxscgi.sh) from v3.05 - - Fixed UI configurable lines display for cxswatch.log - - Remove immutable and append-only flags from files when moving files to - quarantine or deleting - - Fixed supplied test/test.php for newer PHP versions - -3.05 - Added /etc, /sys and /proc to directories requiring --force to be used - when scanning - - Added additional checks that any specified quarantine directory is - valid - - Added new option --ctime [hours]. If you run regular full system scans - then you can use --ctime [hours] to only scan files changed in the - intervening hours. This can speed up scan times dramatically - - Apply hfile:, hdir: and hsym: ignores to FTP upload scanning - - Exploit fingerprint definitions database additions - -3.04 - Fixed file view from quarantine - reported by Rack911 - - Further improved UI form data sanitisation - - Bolstered the UI warning with regard to disabling Restricted Mode - -3.03 - Fixed broken UI items - - Improvements to the ignore logic - - Improved UI form data sanitisation - - Exploit fingerprint definitions database additions - -3.02 - Security - Added UI Restricted Mode which is enabled by default. This - disables features in the UI that could allow abritrary commands to be - run as root and system files to be overwritten. To enable unrestricted - access to the UI remove /etc/cxs/cxs.restricted - - Added UI option to completely disable the UI by creating the file - /etc/cxs/cxs.disableui - -3.01 - Implement slurp routine for configuration files to cater for incorrect - linefeeds - - Improvements to forced quarantine feature within --xtra [file] and - updated instructions provided in cxs.xtra.example - - Security - Quarantine improvements - - Exploit fingerprint definitions database additions - -3.00 - Implemented hfile ignoring for ratelimiting in cxs Watch - - Implemented ignore caching in cxs Watch for ratelimited files - - HTTP::Tiny upgraded to v0.033 - - Exploit fingerprint definitions database additions - -2.99 - Fix --wttw [file] successful submission text - -2.98 - Added check for clamd when using --wttw [file] - - Added check for script files when using --wttw [file] - - HTTP::Tiny upgraded to v0.031 - - Removed a false-postitive fingerprint definition - - Exploit fingerprint definitions database additions - -2.97 - Added support for cPanel v11.38.1+ AppConfig addon registration - - NOTE: In accordance with the new conventions for v11.38.1+ AppConfig - the url to the cxs WHM plugin will change from /cgi/addon_cxs.cgi to - /cgi/configserver/cxs.cgi. This will only happen with cxs v2.97+ and - cPanel v11.38.1+. Older version of cxs will continue to use the old - URL. This has no particular relevance to users accessing through WHM, - but will affect direct URL access by users or third party - applications - - Added new option --comment "text" which can be used to add a short - comment to files submitted using --wttw [file] - - Modified --wttw [file] to ensure that it is not already detected as a - Virus or Fingerprint (now requires --force to report a false-positive) - - Fixed packed hex advanced decoder regex - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -2.96 - Fixed --xtra [file] detection for regfile: and file: entries - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -2.95 - Internal version - -2.94 - Removed a false-postitive fingerprint definition - -2.93 - New features: --prenice [num], --pionice [num]. These options allow - you to control the nice and ionice priorities of the running process. - This can, for example, help even out the load on heavy IO servers or - increase the speed of the scan on busy servers - - Exploit fingerprint definitions database additions - -2.92 - Improvements to the main decoder regex - - Improvements to error reporting on UI restore - - Fixed typo in documentation regarding cxs.xtra :quarantine feature - - Added IP, where available, to --script [script] parameters passed to - external script - - Exploit fingerprint definitions database additions - -2.91 - Ensure cxswatch is stopped, disabled and removed on cxs uninstall - - Added cleaned script code scanning to text match and decoder regex - detection to improve exploit script detection - - Modified --help to use the POD paginated viewer - - Exploit fingerprint definitions database additions - -2.90 - Added alternative php binary locations for generic installations - - Improvements to --decode ([D]) - - Added new advanced PHP decoder - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -2.89 - Improvements to --decode ([D]) - - Repurposed --options [u] to specifically highlight scripts only within - directories deemed suspicious, rather than general directories such as - /image/ or /upload(s)/. This should make the option more useful and - help avoid false-positives - - Exploit fingerprint definitions database additions - -2.88 - Include gzdecode() detection for PHP scripts - - Switched from using LWP to HTTP::Tiny to reduce memory footprint and - reliance on the LWP perl module. The HTTP::Tiny module is included in - the distribution, so no further action is necessary - - Modified cxs watch daemon to use POSIX::setsid() - - Modified cxs quarantine routine to reduce memory footprint - - Modified loading of Pod::Usage only if necessary to reduce memory - footprint - - Modified cxs watch to not fail startup if new watch resource - disappears before completion - - Exploit fingerprint definitions database additions - -2.87 - Improvements to the main decoder regex - - Reverted to using temporary files during PHP file decoding due to a - major bug in PHP v5.4.* which produces "Ran out of opcode space!" in - interactive mode - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -2.86 - Improvements to installer on initial fresh cPanel v11.36 installations - - Added a 20 second timeout for running --Wsymlink [script] and switched - from using system call to open3 - - Added a 20 second timeout for running --script [script] and improve - output printing from [script] - - Modified --options [u] to include more suspicious locations - - Exploit fingerprint definitions database additions - -2.85 - Moved suspicious script location detection to its own option within: - --options [u], --doptions [u], --voptions [u] and --qoptions [u] - The option is included in the default setting for --options [options]. - If you specify a list in any of these options and want to include this - in them, then you need to add [u] to the list of options - - Separate dangerous quarantine options in the UI - -2.84 - New feature: cxs watch daemon Symlink attack detection. This option - will try and detect a symlink attack against the server. If - --Wsymlinkmax [num] symlinks are created with one directory within - --Wsymlinksec [secs] seconds then --Wsymlink [script] will be run. An - example is provided for this script in - /etc/cxs/symlinkdisable.example.pl - - Enable --Wsymlink /etc/cxs/symlinkdisable.example.pl on new installs - in /etc/cxs/cxswatch.sh for email notifications - - Detect as suspicious, scripts found within /images/ and /upload(s)/ - directories - - Fixed --Wadd [file] not working correctly in cxs watch - - Fixed --www not being adhered to for new users while cxs watch running - - Modified --www location on DA servers to the domains/ subdirectory of - users account for cxs watch daemon and single user scans - - Improvements to file ownership detection in cxs watch. If a file is - owned by "nobody" cxs will compare user home directories in - /etc/passwd to the file location to try and determine a unique owner - - Fixed UI saving default "smtp" setting incorrectly (again) - -2.83 - Updated to use the new cPanel 11.36+ integrated perl binary if exists - - Fixed UI saving default "smtp" setting incorrectly - - Modified --www location on DA servers to the domains/ subdirectory of - users account as public_html/ is ignored as it is a symlink - -2.82 - Added new advanced PHP decoder - - Impovements to detection of PHP script file type - - Added new functionality to --xtra [file] to force quarantine of a file - with a matching regex if using --quarantine[dir]. See documentation or - the latest /etc/cxs/cxs.xtra.example for information - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -2.81 - Fixed a false-positive with the main .htaccess regex - - Fixed UI not correctly saving --MD5 to cxs.defaults if set - - Fixed issue with temp file cleanup not reinitialising between scans - -2.80 - Add scan type to Quarantine output for each entry - - Added timezone offset to cxs --mail emails - - Improvements to the main decoder regex - - Improvements to advanced PHP decoders to --decode ([D]) - - Exploit fingerprint definitions database additions - -2.79 - Improved settings initialisation when scanning multiple files - - Added xtra supplied md5sum values to the report to help with match - identification - - Removed the instructions for installing unofficial ClamAV databases as - we don't support them - -2.78 - Improvements to various advanced PHP decoders - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -2.77 - Ensure htaccess fingerprints only apply to .htaccess files - - On cPanel servers hide the Support icon introduced by cPanel in v11.34 - - Added unsupported feature --YSKIPFPREGEX to ignore inbuilt fingerprint - regular expression matching when using --options [M], --xtra [file] - contents will still match - - Added scanning for jsp scripts - - Added scanning for asp and aspx scripts - - Added scanning for java scripts - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -2.76 - Update to one of the main decoder regexes - -2.75 - Added multiple new advanced PHP decoders - - Improvements to the main decoder regex - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -2.74 - Improvements to the daily update mechanism - - Fixed a false-positive with the main .htaccess regex - -2.73 - Fixed a problem where compressed file depth was not being reset - between files causing subsequent compressed files to be skipped from - scanning - - Fixed problem where multi-depth compressed files were not being - identified by their original filename correctly - - Added compressed file depth to output when matches found - -2.72 - Added PNG and JPEG filetypes for hidden script scanning - - Fixed an issue where cxs was sometimes leaving temporary files in /tmp - after compressed file expansion - -2.71 - cxs will now treat .htaccess files as script files and fingerprints - have been added for common exploits - - Added more information about existing csf anf cxs integration options - (i.e. UI, ModSecurity, pure-ftpd) - - Added information that restores from quarantine must be done through - the UI - - Exploit fingerprint definitions database additions - -2.70 - Improvements to cxs Watch daemon ignore/xtra and new update reloading - without restart - - Switched to using Sys::Hostname in cxs Watch daemon - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -2.69 - Switched to using Sys::Hostname to determine hostname as CloudLinux - restricts access to /proc/sys/kernel/hostname for some reason - -2.68 - Modified POD and UI to show full rather than abbreviated commands - - Added new option --template [file]. When using --mail [email] a - standard email format is used. To customise this format an email - template file can be used instead. You can now use this to email the - Linux owner of the affected script under certain circumstances. See - the cxs Documentation for more information - - Added new advanced PHP decoder for --decode ([D]) - - Improvements to advanced PHP decoders to --decode ([D]) - - Fixed PHP decoder issue that could restrict decoder depth under - certain circumstances - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -2.67 - NOTE: If you are using the cxs ModSecurity hook and ModSecurity v2.6, - you must now specify the ModSecurity configuration setting SecTmpDir. - If you have not set SecTmpDir in your ModSecurity configuration, then - you need to add the following on its own line before or after the - ModSecurity cxs line: "SecTmpDir /tmp" and then restart httpd. The - file you need to add this to, if not already present, on a cPanel - server is: /usr/local/apache/conf/modsec2.user.conf - - Unless specified, --qoptions now defaults to [Mv] when - --quarantine [dir] is used. Any existing installations using - --quarantine [dir] will now have --qoptions [Mv] enabled, unless - otherwise specified on the command line or in cxs.defaults - - Added unsupported feature --YSKIPREG to ignore inbuilt regex matching - when using --options [m], --xtra [file] contents will still match - - Added unsupported feature --YSKIPMD5 to ignore inbuilt fingerprint - matching when using --options [M], --xtra [file] contents will still - match - - Added a new option, --doptions [mMfSGchexTEv]. This defaults to [Mv] - when --delete is used. Any existing installations using --delete will - now have --doptions [Mv] enabled, unless otherwise specified on the - command line or in cxs.defaults - - Fixed an issue where, under certain circumstances, files contained - within an archive were ignored for scanning - -2.66 - Improvements to string detection in --decode ([D]) - - Added new advanced PHP decoder for --decode ([D]) - - Removed a false-positive fingerprint detection - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -2.65 - Added new advanced PHP decoder for --decode ([D]) - - Improvements made to md5sum ignore procedure - - Fixed problem when using md5sum ignore within archives - -2.64 - Improvements to --decode ([D]) variable detection - - Added new advanced PHP decoder for --decode ([D]) - - Exploit fingerprint definitions database additions - -2.63 - Additional reasons for scan skipping added for --debug output - - Reload ignore file in cxs watch parent as well as children for rate - limit warning - - New feature added --Wrateignore [secs]. To help prevent excessive - resource usage, cxs Watch will ignore files for [secs] seconds if the - rate limit warning is issued. Scanning will then resume. Set this to 0 - to disable the ignore feature. This option is set to 300 (i.e. 5 mins) - for new installations - -2.62 - Removed extraneous / in the cgi email notification for the "Web upload - script URL" - - Added cxs Watch logging for Inotify IN_Q_OVERFLOW events with a - recommendation to increase /proc/sys/fs/inotify/max_queued_events if - this occurs - - Added file check before invoking Inotify to confirm it exists to avoid - spurious errors on VPS servers - - Allow files as well as directories in --Wadd [file] - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -2.61 - Improvements to hidden script file detection - - Added formatting to cgi and ftp email reports - - Added new fields to the cgi email report - - Change POD Examples section to use full command line options - - Improvements to ignoring any files based on md5sum (including those - identified as exectuables, viruses, etc) - - Remove extraneous spaces from ignore and xtra md5sum entries - - Improvements to --MD5 so that all reported files displays the md5sum - - Changed the way md5sum values are displayed if --MD5 is used - - Improvements to the main decoder regex - - Exploit fingerprint definitions database additions - -2.60 - Ensure that an account name is only passed to --script [script] when - performing a manual scan using --user or --all - - Ignore adobe-xap-filters when detecting hidden script files - - Exploit fingerprint definitions database additions - -2.59 - Improvements to quarantine procedure - -2.58 - Fixed a problem in the UI where the selections for --options were - applied from /etc/cxs/cxs.defaults, if set, rather than the selections - in the UI if all the standard selections were ticked - - UI improvements - - Change file name check behaviour so that it still detects with empty - files - - Include all item sizes in --summary report - - Include all ignored files in --summary report - - Improvements to hidden script file detection - - Exploit fingerprint definitions database additions - -2.57 - Fixed problem with quarantine move failing - introduced in v2.56 - - Implement ignores for rate limit warnings in cxs Watch daemon - - Allow a value of 0 for --filemax [num] which disables the feature - - Set --filemax [num] to 0 in cxswatch.sh for new installs - -2.56 - Improvements to quarantine move failure message - - Implement ignores in compressed files - - Added a rate limit warning to cxs Watch daemon. If a file is scanned - more then (2 * Wsleep) times in (10 * Wsleep) seconds then a warning - is logged. This is to help identify frequently scanned files that you - might want to ignore (e.g. if they are very frequently updated log - files) - - Improved installation procedure for checking required perl modules - - Exploit fingerprint definitions database additions - -2.55 - Changes to htaccessdisable.pl example script - - Increased default value for --filemax [num] in cxswatch.sh for new - installs - - If necessary, log license error to cxs Watch daemon log - -2.54 - Added logrotate configuration for cxswatch - - Include an example perl script that will disable directory access with - a .htaccess file if a match is found using the --script [script] - option: /etc/cxs/htaccessdisable.pl - - Modifications to cxs Watch daemon so that it no longer needs to - completely restart when new daily detections are downloaded - - Always log if skipping directories in cxs Watch daemon due to - --filemax [num] - - Fixed a problem with a false-positive in the php interpreter timeout - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v2.53 - Timeout added for php interpreter during --decode ([D]) - - Do not disable --viruscan if clamd not running in cxs Watch - - Exploit fingerprint definitions database additions - -v2.52 - cxs Watch will now fail to start or will terminate on VPS servers if - /proc/sys/fs/inotify/max_user_watches is set too low - - Added error reporting if clamd fails to respond, but stop reporting - clamd errors if too many consecutive errors occur - - Updated POD regarding the new csf option: LF_CXS - -v2.51 - Improved temporary file cleanup - - Change cxs UI to use /sbin/pidof to determine if the Watch daemon is - stopped, starting or running. If /sbin/pidof does not exist, no - status is shown - - Modification to prevent scan failure if FTP is down and --options [P] - used - - Exploit fingerprint definitions database additions - -v2.50 - Improvements to the Fingerprint Matching system - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v2.49 - Use temporary files when performing a virus scan during --decode ([D]) - - Change all clamd STREAM to SCAN scanning - - Use a robust routine for creating random temporary files during - --options [Z] (scanning within archives) - - Exploit fingerprint definitions database additions - -v2.48 - Allow a value of 0 for --Wrefresh which disables the functionality in - the cxs Watch daemon - - Added new advanced PHP decoder for --decode ([D]) - - Stop cxs Watch from following symlinks - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v2.47 - Added new advanced PHP decoders for --decode ([D]) - - Change main cxs Watch process name during startup while still starting - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v2.46 - Added two new advanced PHP decoders for --decode ([D]) - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v2.45 - Modification to quarantine to ensure unique filenames - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v2.44 - Added new --ignore [file] option pscript: - regex of web script to - ignore - - Set --options [P] ftp timeout to 10 seconds - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v2.43 - SECURITY FIX. Anyone running cxs on a DirectAdmin server should - upgrade to this release immediately - - Add check for successful open of admin.list on DA servers to avoid a - segfault, which could lead to a buffer overflow - -v2.42 - Fixed problem where dir: ignores where not being fully implemented in - single file scans - - Fixed problem where dir: and hdir: ignores where not being fully - implemented by the cxs Watch daemon when auto-reloading an ignore file - - Exploit fingerprint definitions database additions - -v2.41 - Developed another new advanced PHP decoder for --decode ([D]) - - Fixed advanced decoder output formatting when using --decode [file] - - Exploit regex definitions database additions - -v2.40 - Modifications to cxs Watch daemon so that it no longer needs to - completely restart if changes to --xtra [file] are detected - - Added detection and decoding of Hex encoding to advanced PHP decoders - - Exploit fingerprint definitions database additions - -v2.39 - Memory management and speedup improvements for cxs Watch Daemon - - Improvements to advanced PHP decoders to --decode ([D]) - - Corrected cxs POD to read --upgrade instead of --update - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v2.38 - Added more advanced PHP decoders to --decode ([D]) - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v2.37 - cxs Watch - report error if unable to increase - /proc/sys/fs/inotify/max_user_watches - - Further improvements to --timemax [secs] reports - - Further improvements to error reporting during scans - - Exploit fingerprint definitions database additions - -v2.36 - cxs Watch will now restart if a change to a specific --xtra [file] is - made. This triggers a full restart of cxs Watch - - Improvements to --timemax [secs] - - Improvements to error reporting during scans - - Added more advanced PHP decoders to --decode ([D]) - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v2.35 - Added new option --timemax [secs]. Scan timeout per file in seconds to - prevent looping. Default is 30 seconds - - Additional logging on cxs watch startup to show the progress of user - account inotify setup - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v2.34 - Modifications to the UI - - Updates to the failure detection of the quarantine procedure - - New option --force. If --force is not used then cxs will refuse to - scan within restricted directories: /usr /var /bin /lib /lib64 /boot - - Modified daily update check to only restart cxs Watch if updates are - actually new - - Modified cxs Watch to no longer require a /scripts/postwwwacct entry - (which is now ignored) as it now monitors /var/cpanel/users/ for new - users on cPanel servers - - Exploit fingerprint definitions database additions - -v2.33 - Redesigned cxs UI, included functions for controlling cxs Watch - - Added TERM logging to the cxs Watch daemon to signify termination - -v2.32 - Added init script for cxswatch daemon on cPanel servers. This is - instead of using /etc/rc.local to start the daemon and can also be - used to stop/start/restart/status the daemon. See the cxs - documentation for more information - - Added entry to chkserv.d on cPanel servers so that cPanel will monitor - the cxswatch daemon using tailwatchd. See the cxs documentation for - more information - -v2.31 - Fixed issue with tarball and zip file contents checking - - Further improvements to the Fingerprint matching system - - Exploit fingerprint definitions database additions - -v2.30 - Significant speedups for pattern matching - - Improvements to the Fingerprint matching system which includes - speedups and additional identification methods - - Fixed error message for scanning an non-existent file - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v2.29 - Fixed problem with quarantine file naming convention causing duplicate - file names under certain circumstances and failing to quarantine the - second instance - - Fixed spurious Cpanel::Version::gettree() warning in cPanel error log - - Exploit regex definitions database additions - -v2.28 - Fixed problem with cxs Watch daemon restart introduced in v2.2.27. You - will have to manually restart any running cxs Watch daemon after this - upgrade - - If BSD::Resource perl module is installed, double the configured - process stack size to help avoid Segmentation Faults - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v2.27 - New --options [P]. This option will search standard web application - configuration files for MySQL database passwords. It will then attempt - to login via FTP on localhost with the username of the account being - processed and the detected password (it will attempt up to two - password hits per configuration file). If the login is successful, the - option will trigger a match. See CLI documentation for more info - - Separated and highlighted advanced Exploit Scan options in the UI that - can affect user data and/or produce false-positives in the vain hope - it will stop some people just ticking everything and then wondering - where their files have gone - - Added Net::FTP to the perl module requirements (this is a core perl - module so should already be installed) - - New options --uidmin [uid] and --uidmax [uid] for the GENERIC install - when used with --allusers. These have no effect on cPanel and DA - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v2.26 - Added new option for --xtra [file]: regfile: which is a regular - expression match for a file or directory name - - Added new CLI option --smtp. This will send emails generated by --mail - [email] via localhost SMTP instead of sendmail - - Added MIME::Base64 and Net::SMTP to the perl module requirements (both - are core perl modules so should already be installed) - -v2.25 - Fix for UI version processing issue - -v2.24 - Allow binary submissions via --wttw - - Improvements to --decode ([D]) option - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v2.23 - Improved cxs Watch daemon scanning to include moved files to detect - files uploaded by the cPanel File Manager - - Fixed bug where --cleanlog [file] was not logging the filename for - cxsftp.sh scanning - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v2.22 - Exploit regex definitions database correction - -v2.21 - Speedups to --decode ([D]) option - - Improvements to decode regex - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v2.20 - Fixed issue with MD5 setting via UI when saving to defaults - - Improvements to regex validation to any specified --ignore or --xtra - files - - Improvements to decode regex - - Improvements to --decode ([D]) option - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v2.19 - Added regex validation to any specified --ignore or --xtra files - - Added quarantine failure reason to messages - - Improvements to --decode ([D]) option to no longer use temporary files - - If [Fingerprint Match] found also perform a Virus Scan - - Automatically ignore --quarantine [dir] during scans - - Improvements to fingerprint matching - - Added new option --MD5 to display a matched file md5sum. See docs for - more information - - Added new option md5sum: to --ignore [file]. See docs for more - information - - Added new option md5sum: to --xtra [file]. See docs for more - information - - Added new option "Ignore MD5" to cxs Quarantine UI for ftp, web and - scan entries - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v2.18 - Further improvements to Filetype detection - -v2.17 - Added hdir:/quarantine_clamavconnector to the csf.ignore.example file - - Improvements to php script detection where extension is not .php - - Filetype detection speedups - - Filetype differentiation between MS-DOS and MS Windows executables - - Added new option --Wrefresh. To keep the cxs Watch daemon up to date, - it will restart every 7 days by default. To change this interval, you - can set B<--Wrefresh [days]> - - Improvements to the decode regex - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v2.16 - Further improvements to the check for PHP code hidden in GIF image - files for "hidden script file", regex matching and decode scanning - -v2.14 - Improvements to the check for PHP code hidden in GIF image files for - "hidden script file", regex matching and decode scanning - - Add link to the Changelog when cxs is upgraded - - If an ignore file us used with cxs Watch daemon and the ignore file is - modified, cxs Watch will reload the ignore file and restart the child - processes. However, after making a large number of changes to the - ignore file or if adding puser: or user: to the ignore file, the cxs - Watch daemon should be manually restarted - - Improved cxs Watch logging when suspicious file found and --Wloglevel - set to 0 - - Exploit fingerprint definitions database additions - -v2.13 - During cxs Watch startup default to the POSIX locale to avoid error - message ambiguity for intotify from the kernel - - Improvements to --decode ([D]) option - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v2.12 - Improvements to --decode ([D]) option - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v2.11 - Further SECURITY improvements to Quarantine functionality - - All cxs users should upgrade to this release immediately - -v2.10 - Fixed a SECURITY BUG in Quarantine file restore which could result in - root privilege escalation. The destination restore file must not now - exist before restoring will work. Our thanks to Jeff Petersen for - reporting this issue - - All cxs users should upgrade to this release immediately - -v2.09 - New --options [R]. It will trigger a match for the inbuilt regex used - by --options [D] when decoding PHP encoded (base64, etc) scripts - - Improvements to --decode ([D]) option so that both the last and the - penultimate decode level are both scanned - - Added improved code for dropping privileges to the "nobody" user while - running the interactive php interpreter as root - - Ensure Quarantine only works on files - - Updated UI text for options - - Removed duplicated regex definitions from the database now that - --options [R] has been added. Be sure to add R to your --options lists - if you specify them if you still want to trap these. - -v2.08 - Removed code that dropped privileges to the "nobody" user while - running the interactive php interpreter as it broke subsequent - scanning at depth - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v2.07 - Improvements to --decode ([D]) option - - New Feature - Added daily check for new Exploit Fingerprints. If cxs - is scheduled to check for a new version daily, an additional check for - new Exploit Fingerprints released since the last cxs version is - performed. These will be downloaded and used on subsequent scans - - Exploit fingerprint definitions database additions - -v2.06 - Fixed bug in application type detection introduced in v2.04 which - restricted script specific regex detection from working correctly - - Exploit fingerprint definitions database additions - -v2.04 - Added Quarantine UI option to block FTP IP addresses in csf - - Fixed Quarantine UI display problems - - Added option --tscripts [list] which is a comma separated list of - scripts that --options [T] will detect if you want to restrict which - types are checked - - Exploit fingerprint definitions database additions - -v2.03 - Improvements to --decode [file] - don't process ignore file - - Speedups for --options [D] - - Speedups for cxs Watch daemon startup - - Fixes to cxs Watch daemon when processing new and --Wadd [file] - directories where --ignore [file] and --filemax [num] were not - applied - - Improvements to hdir, hfile and hsym processing for --ignore [file] - - Adjustments to --Wloglevel [num] - - Improvements to FTP IP detection - -v2.02 - Fixed bugs in --decode [file] output report and improved content of - the report - - Exploit fingerprint definitions database additions - -v2.01 - Modified --decode [file] and --options [D] to drop privileges to the - "nobody" user while running the interactive php interpreter and - on the ownership of the decoded file while processing it - -v2.00 - Added new scanning option: cxs Watch. This is an alternative to ftp - and web script upload scanning. The cxs Watch daemon uses a separate - process to watch entire user accounts for new and modified files and - scans them immediately. The scanning children use up significantly - fewer resources than the ftp and web script upload scanning methods. - This new feature requires: - Redhat/CentOS v5+ (i.e. a kernel that supports inotify) - Linux::Inotify2 Perl module - Systems that do not meet these requirements can continue to use the - ftp and web script upload scanning methods. See the documentation for - more information about this new option under --Wstart - - --options [D] now enabled by default to improve exploit detection - rates (default options:mMOLfSGchexdnwZD) - - Updated POD documentation, including a new RECOMMENDATIONS section - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v1.56 - Reinstated the Scan Report header for the --all option lost in v1.55 - - Added new option --www to only scan within the public_html/ directory - when using --allusers or --user [user] - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v1.55 - Modified FTP IP Address lookup code to only read the last 64K of the - relevant log file, improving lookup speed and resource usage - - Made /etc/init.d/pure-uploadscript LSB compliant - - Exploit fingerprint definitions database additions - -v1.54 - Added a note to the CGI alert email for ModSecurity false-positives - where the request body is inspected before Apache has a chance to - determine whether the called script exists (i.e. a 404) - - Added new option --wttw [file] which is available for submitting text - exploits (i.e. PHP, Perl, Shell) to ConfigServer if cxs fails to - detect it. The file is sent as an attachment via email. Please be sure - to read the documentation before using this option - - Exploit fingerprint definitions database additions - -v1.53 - Sort File::Find directory traversal/files alphabetically - - Multiple scanning performance and resource usage improvements - - --voptions [M] removed as it serves no function - - Added text for --options [M] (Known exploit) where we have it - - Improvements to relative path file/directory scanning - - Exploit fingerprint definitions database additions - -v1.52 - Ignore SIGPIPE when using --decode (--options [D]) while running - interactive php interpreter, which caused scans to abort - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v1.51 - Sort Quarantine UI users - - If --quarantine or --delete fails (e.g. an immutable file), report - failure to do so. Failure to quarantine will no longer attempt removal - of the original file - - Only "View" quarantine files in UI if they are text files - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v1.50 - Fixed a problem with the use of File::Copy and the quarantine system - where files that are moved across file systems do not retain the - correct permissions - -v1.49 - Display complete cxs command options at the top of reports, not just - the CLI command (i.e. include defaults and cxs.default entries) - - Added a "View Quarantine" button at the bottom of the "View Quarantine - User" UI page to return to the quarantine view - - Added default clamd rpm and apt-get socket location detection - (/var/run/clamav/clamd.sock and /var/run/clamav/clamd.ctl) - - DirectAdmin development work (not currently supported) - (RedHat Enterprise v3+/CentOS v3+/Debian v5+) - - Added code for future multiple license servers - - Fixed a problem with the use of File::Copy and the quarantine system - where files that are moved across file systems do not retain the - correct ownership - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v1.48 - Modified FTP scanning to honour hfile: ignore file entries - - Fixed problem with --qoptions [] sending all scan result matches to - quarantine after a single legitimate match was found, regardless of - the --qoptions [] specified - -v1.47 - Fixed problem with UI upgrade sleeping before upgrading (as introduced - for cron jobs). Upgrading to this version will still sleep through the - UI, but subsequent versions should be fine. Instead of using the UI, - using the CLI will avoid this problem for this upgrade, i.e.: cxs -U - -v1.46 - Restore from quarantine in UI now preserves file ownership of the - restored file - - Prefill UI Quarantine directory if set in cxs.defaults - - Added new option to Quarantine UI to bulk Restore files in the same - way as bulk Delete works - - Exploit fingerprint definitions database additions - -v1.45 - Added new option --qoptions [mMOLfSGchexdnwTEv]. By default - --quarantine [dir]> will move all file matches. If --qoptions [] is - also used then only the selected file types will be moved - - Added --qoptions [mMOLfSGchexdnwTEv] to UI - - Improvements to --decode ([D]) option - - Added --upgrade timer to sleep for up to 1800 seconds when running as - a cron job to avoid overloading the license server - - Added the the --jumpfrom [user] and --jumpto [user] options to the UI - - Exploit fingerprint definitions database additions - -v1.44 - Added Quarantine option to UI - - Modified the --jumpfrom [user], --jumpto [user] options so a special - value can be used for the from and to [user] using a single letter - then a plus sign to scan those users whose name begins with the letter - specified (not case sensitive). Again, this is inclusive. For example, - to scan all accounts beginning with k through to g use: - --jumpfrom k+ --jumpto g+ - - Improvements to --decode ([D]) option - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v1.43 - Improvements to --decode ([D]) option. If the final decode depth - results in a php Parse error, the previous depth is scanned instead. - This improves the likelihood of a successful decode and scan - - Improvements to --decode ([D]) option. Decode PHP scripts in memory - using the interactive php interpreter instead of using temporary files - - Improvements to --decode ([D]) option. Add timeout to php interpreter - to avoid decoding hangs - - Exploit fingerprint definitions database additions - -v1.42 - Suppress error output from Archive::Zip - -v1.41 - Enabled option --options [Z] by default for scanning within compressed - archives - - Suppress error output from Archive::Tar - - Exploit fingerprint definitions database additions - -v1.40 - Improved detection of ruby and c exploits - - Added the ability to use --quarantine and --delete when performing a - manual or scheduled scan. However, since the likelihood of a - false-positive is relatively high, this is not recommended without - care and understanding of the implications - - Added test for existence of --quarantine [dir]. If it does not exist - an error will be shown and the scan will continue with the quarantine - directive disabled - - New --options [Z]. This option decompresses archives (i.e. zip, tar, - tar.gz and tar.bz2 files) and scans each file within the archive - using the same options provided to the original scan - - Added --options [Z] to WHM UI - - Updated perl modules requirements to now include: Archive::Zip and - Archive::Tar - - Cater for single quotes in cron jobs in the WHM UI - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v1.39 - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v1.38 - Improvements to --decode ([D]) option - - Added [D] option to WHM UI - - Fixed typo in WHM UI - - More detailed message for when --filemax reached in a directory - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v1.37 - Fixed bug in --options [D] when running under a non-root account - - Modified --script [script] execution to prevent stray output from - [script] when --quiet used - - Added retry timeout in WHM UI for checking www.configserver.com for - new version information (to avoid repeated hangs when unreachable) - - Included additional instructions in install.txt to install additional - unofficial ClamAV databases from Sanesecurity - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v1.36 - Significant Improvements to --decode ([D]) option - - Added verbose switch to example cPanel Account Suspend perl script - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v1.35 - Optimised fingerprint definitions database - - Removed fingerprint definitions database false-positive - -v1.34 - Fixed licensing issue with v1.33 - -v1.33 - Updated example cPanel Account Suspend perl script to be verbose - - cxs startup speedups - - Add support to --script to pass the username when using --user [user] - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v1.32 - Include an example cPanel Account Suspend perl script for use with - --script /etc/cxs/cpanelsuspend.pl - - Exploit fingerprint definitions database additions - -v1.31 - Always exit if ftp/cgi user is listed in a specified ignore file - - Disable pure-uploadscript if /etc/cxs/ftpddisable exists (in addition - to /etc/ftpddisable) - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v1.30 - Added new option --script [script] which runs an external script - whenever a match is detected against a file. See documentation for - more information - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v1.29 - Significant improvements to --decode [file] - - Increased LWP timeout to cater for servers with slow connections to - the license server - - Added total Viruses and Fingerprint Matches to the --mail Subject - - Added total Fingerprint Matches to the --summary - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v1.28 - If ftp is disabled in cPanel do not start pure-uploadscript - - New --options [E]. This option will match scripts that send out email - using sendmail, exim or via SMTP. This option requires that --options - [m] is also specified - - Improvement to --decode [file] variable detection - - Improvements to various eval() regex matches - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v1.27 - Fixed issue introduced in v1.26 that prevented ignoring of hdir and - hfile options in an ignore file - -v1.26 - Allow the use of --background (-B) in cxsftp.sh - - Skip processing a home directory of / when using --all - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v1.25 - Improved handling of --decode failures - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v1.24 - Improvements to --decode [file] - - Add the cxs command line to a report even if the scan report is empty - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v1.23 - Fixed a false-positive detection of c/c++ source files - - Added filename legend to View option UI in Other Files - - For single or multiple user scans, Symlinks within the homedir will - now be ignored - - Removed [\;\|\`\\] regex checks from the [f] and [d] --options, as it - appears to be of little value (you could always add back such a check - using a similar regex entry in an xtra file) - - Modified hidden text in image file check to only report if the text is - script code - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v1.22 - Fixed --options [D] output not going to a --report [file] - - Improvement to --decode [file] variable detection - - Exploit fingerprint definitions database additions - -v1.21 - Added UID check to ensure updates are only performed by root (UID=0) - - New --options [D]. This is an experimental option that puts any PHP - scripts containing an eval() function that decodes base64 and rot13 - data through the (experimental) --decode [file] option during a scan. - This will then highlight the decoded result if it hits any regex, - fingerprint or virus scan matches - - Added eval(str_rot13 to --decode [file] - - Fixed --decode [file] not scanning final decoded result with regex - definitions and fingerprints - - Improvements to --decode [file] detection and processing - - Modified pure-uploadscript init file to cope with multiple pure-ftpd - pids on restart and to stop pure-ftpd more cleanly - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v1.20 - Improvements to regex definitions database - - Added new ignore options for sym:, psym: and hsym: to allow ignoring - of symlinks - - Modified --generate to add sym: for symlinks to ignore file - - All UI user selections modified to be dropdown lists - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v1.19 - Fixed bug preventing csf from blocking FTP IP addresses when --block - used - - Added failure message from csf to FTP email if deny fails - - Added new exploit scanning option W to be used with --option (must be - explicitly added to the options list - the same way as the C option). - The W option will chmod all world writable directories found to 755. - Use this option with care as it could prevent web scripts from - functioning on non-suPHP or non-SUEXEC enabled systems - -v1.18 - Scanning speedup when using --voptions - - Improvements to --decode performance and effectiveness - - New optimised fingerprint database. This new database, though with - fewer entries, is better targetted at detecting relevant exploits that - ClamAV misses (the majority!) - - Changed "Match for fingerprint of an exploit" to - "Known exploit = [Fingerprint Match]" - - Changed "Match for regular expression (regex)" to - "Regular expression match = [regex]" - -v1.17 - Fixed email " (Hits:nn)" not totalling all accounts hits - -v1.16 - Removed spurious "set to skip" message text - - Added " (Hits:nn)" to the Subject line of email reports - - Added new option --ulist [file] for use with the --all option to - perform scans of only those users listed in [file] - - Regex scanning improvements - - Disable default deep scanning on FTP and web script uploads to help - avoid false-positives. If you want to continue deep scanning add - --deep to cxsftp.sh and/or cxscgi.sh - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v1.15 - Added breakout if --decode [file] depth is > 250 to prevent looping - - Fixed problem with quarantine UI to cope with a trailing slash on the - --quarantine [dir] statement - - Improved detection of the quarantine directory in UI - - Added DNS lookups on FTP IP address reports - - Allow the use of floating point numbers with --throttle [num] - - Added "Ignore" option for FTP quarantines files to Quarantine UI to - add a file: ignore statement to a relevant ignore file if configured - - Added new options --jumpfrom [user] and --jumpto [user] for use with - the --all option to perform scans of only those user between the two - points, both of which are inclusive - - Added jumpfrom and jumpto to UI resource choice - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v1.14 - Added new experimental options --decode [file] and --depth [num]. See - the perldoc documentation for more information - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v1.13 - Modified FrontPage extensions check to be case-insensitive - - Use of --all --mail [email] and --nosummary will now only report - suspicious accounts instead of all accounts. --report [file] will - still contain the full report - - Updated cxs perldoc help - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v1.12 - New option (-X, --xtra [file]) to allow custom regular expression - matches and filenames that cxs will additionally scan for - - Exploit fingerprint definitions database additions - -v1.11 - Modified hidden image text file to exclude most FrontPage extensions - files - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v1.10 - Added new check to suspicious file routine to detect text files hiding - as image files - - Made file extension checks case-insensitive - - Exploit fingerprint definitions database additions - -v1.09 - Improved licensing code tolerance on network failure for web and ftp - scanning on servers that are behind NAT - - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - - Ftp and web scanning speedups - -v1.08 - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v1.07 - Exploit regex definitions database additions - - Exploit fingerprint definitions database additions - -v1.06 - Fixed issue with pure-uploadscript restart on cron job cxs upgrade - - Exploit fingerprint definitions database additions - -v1.05 - Improved UI detection of the quarantine directory in cxsftp.sh and - cxscgi.sh if used - -v1.04 - Fixed duplicate virus scan on script files with regex matches - - Exploit fingerprint definitions database additions - -v1.03 - Added quotes around the $1 parameter in cxscgi.sh and cxsftp.sh to - cope with files with spaces in their names. Existing scripts will be - fixed on upgrade - -v1.02 - Added initial FreeBSD (v7.2) support - currently no UI cron job - support has been implemented, jobs will have to be added to - /etc/crontab manually on FreeBSD - - Fixed UI quarantine restore to always use correct uid and gid - - Exploit fingerprint definitions database additions - - Added some more examples to the POD and reference the examples in - cxsftp.sh and cxscgi.sh - -v1.01 - Added new exploit scanning option M to be used with --option (enabled - by default) and --voption. The M option scans a fingerprint lookup - table of over 4500 known exploit scripts. If you cron jobs or have - modified cxsftp.sh or cxscgi.sh that use an --options list, you might - want to add M to the list to use this new feature - - Digest::MD5 added to required perl modules - - Added extra check in UI where alternative clamdsock is ticked but none - entered in the textbox - - Exploit regex definitions database additions - - Don't show user in quarantine UI if empty - -v1.00 - Initial release diff --git a/cxs/cpanelsuspend.example.pl b/cxs/cpanelsuspend.example.pl deleted file mode 100755 index 64c5105..0000000 --- a/cxs/cpanelsuspend.example.pl +++ /dev/null @@ -1,50 +0,0 @@ -#!/usr/local/cpanel/3rdparty/bin/perl -#****************************************************************************** -# Copyright 2009-2016, Way to the Web Limited -# URL: http://www.waytotheweb.com -# Email: sales@waytotheweb.com -#****************************************************************************** -# Example cPanel Account Suspend Script when using --all -# -# NOTE: If you intend to use this script, copy it to a different filename as -# this file will be overwritten when cxs upgrades -use strict; - -# Set to 1 to have more verbose output -my $verbose = 0; - -# Check we have all arguments -if (@ARGV < 4) {print "\ncpanelsuspend.pl: Not enough Args to suspend: @ARGV\n"; exit} - -# Check we are running as root -if ($< != 0) {print "\ncpanelsuspend.pl: Not root ($<)\n"; exit} - -# Assign arguments to variables -my $filename = $ARGV[0]; -my $option = $ARGV[1]; -my $message = $ARGV[2]; -my $account = $ARGV[3]; - -# If option is a Virus or Known Exploit -if ($option =~ /v|M$/) { - - # if this is definitely a cPanel account - if (-e "/var/cpanel/users/$account") { - - # If this account is not already suspended - unless (-e "/var/cpanel/suspended/$account") { - - print "\n\ncpanelsuspend.pl: Suspending Account $account...\n"; - - # Suspend the account - system("/scripts/suspendacct","$account"); - - print "\n"; - - } else {if ($verbose) {print "\ncpanelsuspend.pl: Already Suspended\n"}} - - } else {if ($verbose) {print "\ncpanelsuspend.pl: Not a cPanel account ($account)\n"}} - -} else {if ($verbose) {print "\ncpanelsuspend.pl: Not a suspend option ($option)\n"}} - -exit; diff --git a/cxs/csfajaxtail.js b/cxs/csfajaxtail.js deleted file mode 100644 index 08add40..0000000 --- a/cxs/csfajaxtail.js +++ /dev/null @@ -1,129 +0,0 @@ -//############################################################################# -//# Copyright 2006-2016, Way to the Web Limited -//# URL: http://www.configserver.com -//# Email: sales@waytotheweb.com -//############################################################################# - -var CSFscript = ''; -var CSFcountval = 6; -var CSFlineval = 100; -var CSFcounter; -var CSFcount = 1; -var CSFpause = 0; -var CSFfrombot = 120; -var CSFfromright = 10; -var CSFsettimer = 1; -var CSFheight = 0; -var CSFwidth = 0; -var CSFajaxHTTP = CSFcreateRequestObject(); - -function CSFcreateRequestObject() { - var CSFajaxRequest; - if (window.XMLHttpRequest) { - CSFajaxRequest = new XMLHttpRequest(); - } - else if (window.ActiveXObject) { - CSFajaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); - } - else { - alert('There was a problem creating the XMLHttpRequest object in your browser'); - CSFajaxRequest = ''; - } - return CSFajaxRequest; -} - -function CSFsendRequest(url) { - var now = new Date(); - CSFajaxHTTP.open('get', url + '&nocache=' + now.getTime()); - CSFajaxHTTP.onreadystatechange = CSFhandleResponse; - CSFajaxHTTP.send(); - document.getElementById("CSFrefreshing").style.display = "inline"; -} - -function CSFhandleResponse() { - if(CSFajaxHTTP.readyState == 4 && CSFajaxHTTP.status == 200){ - var response = CSFajaxHTTP.responseText; - if(response) { - var CSFobj = document.getElementById("CSFajax"); - CSFobj.innerHTML = CSFajaxHTTP.responseText; - windowSize(); - if (CSFheight > 0) {CSFobj.style.height = (CSFheight - CSFobj.offsetTop - CSFfrombot) + "px";} - if (CSFwidth > 0) {CSFobj.style.width = (CSFwidth - CSFobj.offsetLeft - CSFfromright) + "px";} - CSFobj.scrollTop = CSFobj.scrollHeight; - document.getElementById("CSFrefreshing").style.display = "none"; - if (CSFsettimer) {CSFcounter = setInterval(CSFtimer, 1000);} - } - } -} - -function CSFgrep() { - var CSFlogobj = document.getElementById("CSFlognum"); - var CSFlognum; - if (CSFlogobj) {CSFlognum = '&lognum=' + CSFlogobj.options[CSFlogobj.selectedIndex].value} - else {CSFlognum = ""} - if (document.getElementById("CSFgrep_i").checked) {CSFlognum = CSFlognum + "&grepi=1"} - if (document.getElementById("CSFgrep_E").checked) {CSFlognum = CSFlognum + "&grepE=1"} - var CSFurl = CSFscript + '&grep=' + document.getElementById("CSFgrep").value + CSFlognum; - if (document.getElementById("CSFgrep_D").checked) { - window.open(CSFurl); - } else { - CSFsendRequest(CSFurl); - } -} - -function CSFtimer() { - if (CSFpause) {return} - CSFcount = CSFcount - 1; - document.getElementById("CSFtimer").innerHTML = CSFcount; - if (CSFcount <= 0) { - clearInterval(CSFcounter); - var CSFlogobj = document.getElementById("CSFlognum"); - var CSFlognum; - if (CSFlogobj) {CSFlognum = '&lognum=' + CSFlogobj.options[CSFlogobj.selectedIndex].value} - else {CSFlognum = ""} - CSFsendRequest(CSFscript + '&lines=' + document.getElementById("CSFlines").value + CSFlognum); - CSFcount = CSFcountval; - return; - } -} - -function CSFpausetimer() { - if (CSFpause) { - CSFpause = 0; - document.getElementById("CSFpauseID").innerHTML = "Pause"; - } - else { - CSFpause = 1; - document.getElementById("CSFpauseID").innerHTML = "Continue"; - } -} - -function CSFrefreshtimer() { - var pause = CSFpause; - CSFcount = 1; - CSFpause = 0; - CSFtimer(); - CSFpause = pause; - CSFcount = CSFcountval - 1; - document.getElementById("CSFtimer").innerHTML = CSFcount; -} - -function windowSize() { - if( typeof( window.innerHeight ) == 'number' ) { - CSFheight = window.innerHeight; - CSFwidth = window.innerWidth; - } - else if (document.documentElement && (document.documentElement.clientHeight)) { - CSFheight = document.documentElement.clientHeight; - CSFwidth = document.documentElement.clientWidth; - } - else if (document.body && (document.body.clientHeight)) { - CSFheight = document.body.clientHeight; - CSFwidth = document.body.clientWidth; - } -} -//############################################################################# -//# Copyright 2006-2016, Way to the Web Limited -//# URL: http://www.configserver.com -//# Email: sales@waytotheweb.com -//############################################################################# diff --git a/cxs/cxs.data b/cxs/cxs.data deleted file mode 100644 index cf7743961fbaa7db97d8772f2ce7fd554b1f3a17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9488 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 diff --git a/cxs/cxs.default b/cxs/cxs.default deleted file mode 100644 index fb989fe..0000000 --- a/cxs/cxs.default +++ /dev/null @@ -1 +0,0 @@ -ignore=/etc/cxs/cxs.ignore diff --git a/cxs/cxs.defaults.example b/cxs/cxs.defaults.example deleted file mode 100644 index fb989fe..0000000 --- a/cxs/cxs.defaults.example +++ /dev/null @@ -1 +0,0 @@ -ignore=/etc/cxs/cxs.ignore diff --git a/cxs/cxs.fp b/cxs/cxs.fp deleted file mode 100644 index 0118254c1b5830d183c9ea17a81704fc2122fb30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120054 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

glxdyv4v} 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\x0D\x0A?|[\x0A-\x0C\x85\x{2028}\x{2029}])/;$cleanreg = qr/(\r)|(\n)|(^\s+)|(\s+$)/;%CADGP33N3EFBE869GNQ2N2GNW4OSIZF0CXE9LHLPWUPVGSRFXMM = ("\x{61}\x{6c}\x{6c}\x{75}\x{73}\x{65}\x{72}\x{73}" => 1,"\x{62}\x{61}\x{63}\x{6b}\x{67}\x{72}\x{6f}\x{75}\x{6e}\x{64}" => 1,"\x{62}\x{61}\x{79}\x{65}\x{73}" => 1,"\x{62}\x{67}\x{65}\x{74}" => 1,"\x{62}\x{6c}\x{6f}\x{63}\x{6b}" => 1,"\x{63}\x{67}\x{69}" => 1,"\x{63}\x{6c}\x{65}\x{61}\x{6e}\x{6c}\x{6f}\x{67}" => 1,"\x{64}\x{65}\x{62}\x{75}\x{67}" => 1,"\x{64}\x{65}\x{63}\x{6f}\x{64}\x{65}" => 1,"\x{64}\x{65}\x{65}\x{70}" => 1,"\x{64}\x{65}\x{6c}\x{65}\x{74}\x{65}" => 1,"\x{65}\x{78}\x{70}\x{6c}\x{6f}\x{69}\x{74}\x{73}\x{63}\x{61}\x{6e}" => 1,"\x{66}\x{61}\x{6c}\x{6c}\x{62}\x{61}\x{63}\x{6b}" => 1,"\x{66}\x{6f}\x{72}\x{63}\x{65}" => 1,"\x{66}\x{74}\x{70}" => 1,"\x{67}\x{65}\x{6e}\x{65}\x{72}\x{61}\x{74}\x{65}" => 1,"\x{68}\x{65}\x{6c}\x{70}" => 1,"\x{68}\x{74}\x{6d}\x{6c}" => 1,"\x{4d}\x{44}\x{35}" => 1,"\x{71}\x{63}\x{68}\x{65}\x{63}\x{6b}" => 1,"\x{71}\x{63}\x{72}\x{65}\x{61}\x{74}\x{65}" => 1,"\x{71}\x{6c}\x{6f}\x{63}\x{61}\x{6c}" => 1,"\x{71}\x{72}\x{65}\x{73}\x{74}\x{6f}\x{72}\x{65}" => 1,"\x{71}\x{75}\x{69}\x{65}\x{74}" => 1,"\x{71}\x{76}\x{69}\x{65}\x{77}" => 1,"\x{73}\x{6d}\x{74}\x{70}" => 1,"\x{73}\x{73}\x{6c}" => 1,"\x{73}\x{75}\x{6d}\x{6d}\x{61}\x{72}\x{79}" => 1,"\x{73}\x{76}\x{65}\x{72}\x{73}\x{69}\x{6f}\x{6e}\x{73}\x{63}\x{61}\x{6e}" => 1,"\x{74}\x{65}\x{72}\x{6d}\x{73}" => 1,"\x{75}\x{70}\x{67}\x{72}\x{61}\x{64}\x{65}" => 1,"\x{76}\x{65}\x{72}\x{73}\x{69}\x{6f}\x{6e}" => 1,"\x{76}\x{69}\x{72}\x{75}\x{73}\x{73}\x{63}\x{61}\x{6e}" => 1,"\x{77}\x{65}\x{62}" => 1,"\x{57}\x{73}\x{74}\x{61}\x{72}\x{74}" => 1,"\x{77}\x{77}\x{77}" => 1,"\x{59}\x{62}\x{6d}\x{61}\x{73}\x{74}\x{65}\x{72}" => 1,"\x{59}\x{43}\x{4d}\x{44}" => 1,"\x{59}\x{52}\x{41}\x{54}\x{45}\x{49}\x{47}\x{4e}" => 1,"\x{59}\x{53}\x{4b}\x{49}\x{50}\x{43}\x{47}\x{49}" => 1,"\x{59}\x{53}\x{4b}\x{49}\x{50}\x{46}\x{50}\x{52}\x{45}\x{47}\x{45}\x{58}" => 1,"\x{59}\x{53}\x{4b}\x{49}\x{50}\x{4d}\x{44}\x{35}" => 1,"\x{59}\x{53}\x{4b}\x{49}\x{50}\x{52}\x{45}\x{47}" => 1,"\x{59}\x{53}\x{4b}\x{49}\x{50}\x{55}\x{4e}\x{43}\x{4c}\x{41}\x{4d}" => 1,"\x{59}\x{53}\x{4b}\x{49}\x{50}\x{57}\x{4d}\x{41}\x{49}\x{4c}" => 1,"\x{59}\x{53}\x{56}\x{45}\x{52}\x{53}\x{49}\x{4f}\x{4e}\x{53}" => 1,'YTIDY',"\x{79}" => 1);%C50SFUHQ8EGUZGF8A7LUAM3OPQ2TDG4YLJ4DH6QYPB1DYPF1S5Y = ("\x{65}\x{78}\x{70}\x{6c}\x{6f}\x{69}\x{74}\x{73}\x{63}\x{61}\x{6e}" => 1,"\x{62}\x{61}\x{79}\x{65}\x{73}" => 1,"\x{66}\x{61}\x{6c}\x{6c}\x{62}\x{61}\x{63}\x{6b}" => 1,"\x{68}\x{74}\x{6d}\x{6c}" => 1,"\x{73}\x{73}\x{6c}" => 1,"\x{73}\x{75}\x{6d}\x{6d}\x{61}\x{72}\x{79}" => 1,"\x{73}\x{76}\x{65}\x{72}\x{73}\x{69}\x{6f}\x{6e}\x{73}\x{63}\x{61}\x{6e}" => 1,"\x{76}\x{69}\x{72}\x{75}\x{73}\x{73}\x{63}\x{61}\x{6e}" => 1);if (-e "\x{2f}\x{74}\x{6d}\x{70}\x{2f}\x{63}\x{6c}\x{61}\x{6d}\x{64}") {$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{clamdsock} = '/tmp/clamd'}elsif (-e "\x{2f}\x{76}\x{61}\x{72}\x{2f}\x{63}\x{6c}\x{61}\x{6d}\x{64}") {$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{clamdsock} = '/var/clamd'}elsif (-e "\x{2f}\x{76}\x{61}\x{72}\x{2f}\x{72}\x{75}\x{6e}\x{2f}\x{63}\x{6c}\x{61}\x{6d}\x{61}\x{76}\x{2f}\x{63}\x{6c}\x{61}\x{6d}\x{64}\x{2e}\x{73}\x{6f}\x{63}\x{6b}") {$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{clamdsock} = '/var/run/clamav/clamd.sock'}elsif (-e "\x{2f}\x{76}\x{61}\x{72}\x{2f}\x{72}\x{75}\x{6e}\x{2f}\x{63}\x{6c}\x{61}\x{6d}\x{64}\x{2e}\x{73}\x{63}\x{61}\x{6e}\x{2f}\x{63}\x{6c}\x{61}\x{6d}\x{64}\x{2e}\x{73}\x{6f}\x{63}\x{6b}") {$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{clamdsock} = '/var/run/clamd.scan/clamd.sock'}elsif (-e "\x{2f}\x{76}\x{61}\x{72}\x{2f}\x{72}\x{75}\x{6e}\x{2f}\x{63}\x{6c}\x{61}\x{6d}\x{61}\x{76}\x{2f}\x{63}\x{6c}\x{61}\x{6d}\x{64}\x{2e}\x{63}\x{74}\x{6c}") {$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{clamdsock} = '/var/run/clamav/clamd.ctl'}if (-e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{64}\x{65}\x{66}\x{61}\x{75}\x{6c}\x{74}\x{73}") {foreach my $CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT (slurp("\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{64}\x{65}\x{66}\x{61}\x{75}\x{6c}\x{74}\x{73}")) {$CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT =~ s/$cleanreg//g;if ($CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT =~ /^\#/) {next}if ($CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT !~ /=/) {next}my ($CKKZMS09V4F0T5027AGUWKY84T4OMSX374JELEWD0MDK3Q4V7KU,$CWMPZDGOXWNR17XA0D2T69OZ9Z335BKQTGB0JERXZTHDIT06WH8) = split(/\=/,$CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT);$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{$CKKZMS09V4F0T5027AGUWKY84T4OMSX374JELEWD0MDK3Q4V7KU} = $CWMPZDGOXWNR17XA0D2T69OZ9Z335BKQTGB0JERXZTHDIT06WH8;}}my $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU = GetOptions (\%CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC,'allusers','background|B','baction=s','bayes!','bforget=s','bget','blearn=s','block','breport=s','cgi','chroot=s','chtest','chuser=s','clamdsock|C=s','cleanlog|N','comment=s','ctime=i','debug','decode','deep|E','defapache=s','delete|D','depth=i','doptions=s','exploitscan!','fallback!','filemax|F=i','force','ftp','generate','help|?','html!','ignore|I=s','jumpfrom=s','jumpto=s','logfile=s','mail=s','MD5','options=s','pionice=i','prenice=i','qcheck','qclean=i','qcreate','qignore=s','qlocal','qoptions=s','qrestore','quarantine|Q=s','quiet|Z','qview','report=s','script=s','sizemax|S=i','skipover|K=s','smtp','soptions=s','ssl!','summary!','sversionscan!','template=s','terms','throttle|T=f','timemax|H=i','tscripts=s','uidmax=i','uidmin=i','ulist=s','upgrade|U','user=s','version|V','virusscan!','voptions=s','Wadd=s','web','Wloglevel=i','Wmaxchild=i','Wmonignore=s','Wmonitor=s','Wrateignore=i','Wrefresh=i','Wsleep=i','Wstart','Wstop','Wsymlink=s','Wsymlinkmax=i','Wsymlinksec=i','wttw','www','xtra|X=s','Ybmaster','YCLAMSCAN=s','YCMD','YCONREP=s','YWTTWREP','YPHP','Yqencrypt','Yqkeygen','YRATECNT=i','YRATEIGN','YRATESEC=i','YSKIPCGI','YSKIPFPREGEX','YSKIPMD5','YSKIPREG','YSKIPUNCLAM','YSKIPWMAIL','YSVERSIONS','YTIDY','y');unless ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{cgi} or $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ftp}) {print "1\n"}undef %CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC;undef @ARGV;}$COK0Z2RPLC8X0P8V833ZB8TK4QCJ3YB1EKH5HARC8P1HNQQPPFI = (getpwnam($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{defapache}))[2];if ($COK0Z2RPLC8X0P8V833ZB8TK4QCJ3YB1EKH5HARC8P1HNQQPPFI < 1 and $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{defapache} ne "\x{6e}\x{6f}\x{62}\x{6f}\x{64}\x{79}") {$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{defapache} = "\x{6e}\x{6f}\x{62}\x{6f}\x{64}\x{79}";$COK0Z2RPLC8X0P8V833ZB8TK4QCJ3YB1EKH5HARC8P1HNQQPPFI = (getpwnam($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{defapache}))[2];}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{smtp}) {require Net::SMTP;import Net::SMTP;}if ($< != 0) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ftp}) {print "1\n";print "Permission denied\n";exit;}if ($< != $COK0Z2RPLC8X0P8V833ZB8TK4QCJ3YB1EKH5HARC8P1HNQQPPFI and !$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{qlocal}) {print "1\n";print "Permission denied [only root or $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{defapache} allowed]\n";exit;}if (-f $ARGV[0]) {stat($ARGV[0]);if ($st_uid != $<) {print "1\n";print "Permission denied\n";exit;}$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet} = 1;$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{cgi} = 1;delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ftp};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{user};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{allusers};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ulist};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{decode};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{y};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{background};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{generate};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{upgrade};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{throttle};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{report};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YCONREP};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{wttw};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wstart};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wstop};$CNMA1Y6EDV3GZMK7YUVJYOO9NI4QGFKVYMW8O2MKUNWIMIISXYY = getpwuid($<);if (-f $ENV{SCRIPT_FILENAME}) {stat $ENV{SCRIPT_FILENAME};$C5QH9EIKUJ4VZ33VSB5WJT6XVF3KXFJWX5BOIKHMHIP2GA45QQW = $st_uid;$C6P4WRF4UD6FGQHAPO5Y193SS3HUWQSMZJR9U2M2KWBT7P40ILB = getpwuid($C5QH9EIKUJ4VZ33VSB5WJT6XVF3KXFJWX5BOIKHMHIP2GA45QQW);}} else {print "1\n";print "Permission denied\n";exit;}}elsif ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{qlocal}) {undef $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{qlocal}}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ftp}) {stat($ARGV[0]);if (($st_uid != $ENV{UPLOAD_UID}) or ($ENV{UPLOAD_UID} == 0) or ($ENV{UPLOAD_USER} eq "\x{72}\x{6f}\x{6f}\x{74}")) {print "Permission denied\n";exit;}unless (-f $ARGV[0]) {print "Permission denied\n";exit;}$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet} = 1;delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{cgi};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{user};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{allusers};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ulist};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{generate};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{upgrade};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{throttle};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{report};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YCONREP};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{decode};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{y};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{wttw};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wstart};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wstop};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{sversionscan};$CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB = ( getpwuid($ENV{UPLOAD_UID}) )[7];}$CFI51DU3PIZ28R8CKGCOO6N24U9P4W63X3CUUB64VYAOODLCAFC = "\x{47}\x{45}\x{4e}\x{45}\x{52}\x{49}\x{43}";$C53SJ1WKS2IW85U0JPEFSDNPT6FGHHQ84QWHPJ70J6EGDPM7NSS = pack("H*","\x{33}\x{31}\x{30}\x{61}\x{34}\x{63}\x{36}\x{39}\x{36}\x{33}\x{36}\x{35}\x{36}\x{65}\x{37}\x{33}\x{36}\x{35}\x{32}\x{30}\x{36}\x{35}\x{37}\x{32}\x{37}\x{32}\x{36}\x{66}\x{37}\x{32}\x{30}\x{61}");$C1HRL32E4OKJUURY1TUA3B8BLDQ1HLJIFNZM6HLNCCD8VRG4U3P = pack("H*","\x{32}\x{66}\x{36}\x{35}\x{37}\x{34}\x{36}\x{33}\x{32}\x{66}\x{36}\x{33}\x{37}\x{38}\x{37}\x{33}\x{32}\x{66}\x{36}\x{33}\x{37}\x{38}\x{37}\x{33}\x{32}\x{65}\x{36}\x{34}\x{36}\x{31}\x{37}\x{34}\x{36}\x{31}");if (-e "\x{2f}\x{75}\x{73}\x{72}\x{2f}\x{6c}\x{6f}\x{63}\x{61}\x{6c}\x{2f}\x{63}\x{70}\x{61}\x{6e}\x{65}\x{6c}\x{2f}\x{76}\x{65}\x{72}\x{73}\x{69}\x{6f}\x{6e}") {$CFI51DU3PIZ28R8CKGCOO6N24U9P4W63X3CUUB64VYAOODLCAFC = "CPANEL"}elsif (-e "\x{2f}\x{75}\x{73}\x{72}\x{2f}\x{6c}\x{6f}\x{63}\x{61}\x{6c}\x{2f}\x{64}\x{69}\x{72}\x{65}\x{63}\x{74}\x{61}\x{64}\x{6d}\x{69}\x{6e}\x{2f}\x{64}\x{69}\x{72}\x{65}\x{63}\x{74}\x{61}\x{64}\x{6d}\x{69}\x{6e}") {$CFI51DU3PIZ28R8CKGCOO6N24U9P4W63X3CUUB64VYAOODLCAFC = "DA"}if ($CFI51DU3PIZ28R8CKGCOO6N24U9P4W63X3CUUB64VYAOODLCAFC eq "\x{47}\x{45}\x{4e}\x{45}\x{52}\x{49}\x{43}" and $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{allusers}) {unless (defined $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{uidmin}) {$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{uidmin} = 1000}unless (defined $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{uidmax}) {$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{uidmax} = 65535}} else {delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{uidmin};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{uidmax};}if (-e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{64}\x{65}\x{62}\x{75}\x{67}") {unlink "/etc/cxs/cxs.debug"}if (-e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{73}\x{6b}\x{69}\x{70}") {unlink "/etc/cxs/cxs.skip"}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{timemax} < 20) {$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{timemax} = 20}unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{cgi} or $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ftp}) {delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{cleanlog};}local $| = 1;$CA0V9VLS7TMONLE6E2ULF4EXHBDMTT2O0DX1SJ2MSCLN4580DC4 = strftime("\%z", localtime);stat($C1HRL32E4OKJUURY1TUA3B8BLDQ1HLJIFNZM6HLNCCD8VRG4U3P);if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{help} and ($< == 0)) {require Pod::Usage;import Pod::Usage;pod2usage(-verbose => 2);exit;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{version} and ($< == 0)) {print "cxs: v$CADC3W32X3A72A2CZ0YM8J5GGBDTPBVVLRI6BMYB17J99BB0EFV\n";exit;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{qclean} and ($< == 0)) {&CIXYS0JBT8TTC0O8972Z8FIHOLR11WBFUTU9U10ZICDY83RUEPS;exit;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{qcreate} and ($< == 0)) {my $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU = &CJ2LN4OA7PNGC35C8NV1UM6BFMXPEWMK1OV518L86Y5X5IMPMXI;if ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU ne "") {print $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU}exit;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine}) {$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine} =~ s/\/$//;if (-d $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine}) {unless (-d $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine}."\x{2f}\x{63}\x{78}\x{73}\x{63}\x{67}\x{69}") {if ($< == 0) {my $C8D2CLIRVWLBZO81RMGHWFOB4306NHX0BPI0IZW0HL9FZY9T4R9 = $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine}."\x{2e}".time;my $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU = rename($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine},$C8D2CLIRVWLBZO81RMGHWFOB4306NHX0BPI0IZW0HL9FZY9T4R9);chmod (0755, $C8D2CLIRVWLBZO81RMGHWFOB4306NHX0BPI0IZW0HL9FZY9T4R9);if ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU) {$CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU = "Old quarantine renamed to $C8D2CLIRVWLBZO81RMGHWFOB4306NHX0BPI0IZW0HL9FZY9T4R9. You should remove this directory once the files are no longer needed.\n";$CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU .= &CJ2LN4OA7PNGC35C8NV1UM6BFMXPEWMK1OV518L86Y5X5IMPMXI;if (-d $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine}."\x{2f}\x{63}\x{78}\x{73}\x{63}\x{67}\x{69}") {my $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR = "From: root\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "To: root\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "Subject: cxs Quarantine directory upgraded to v4\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "$CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU\n";open (my $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, "|-", "/usr/sbin/sendmail -t");print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR;close ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI);} else {$CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU .= "\nWARNING: Quarantine disabled\n";delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine};}} else {$CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU = "Quarantine rename failed: $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU\n";$CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU .= "\nWARNING: Quarantine disabled\n";delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine};}print $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU;} else {delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine};}}stat($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine});my $CL3PAH1NX1MYPX2VAYO9KZIUV1DUEY3MZ63TLDAKZPJIRZOVJ92 = sprintf("%04o",$st_mode & oct("\x{30}\x{37}\x{37}\x{37}\x{37}"));my $CMDEXDPMSJ70KYZ0DAZS8X5QNW1T4VOBWIQ19QLQX6AIA96LPHL = $st_uid;if (-d "$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine}" and $CMDEXDPMSJ70KYZ0DAZS8X5QNW1T4VOBWIQ19QLQX6AIA96LPHL != 0) {$CAY7281IWNFUBA31W86GLDL6ZL7T4F4T68MTIV0MX7DP8OSJ1GE = "WARNING: Quarantine disabled - Directory [$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine}] has incorrect owner [$CMDEXDPMSJ70KYZ0DAZS8X5QNW1T4VOBWIQ19QLQX6AIA96LPHL instead of 0(root)], run cxs --qcreate --quarantine $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine}\n"}if (! -d "$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine}/cxscgi") {$CAY7281IWNFUBA31W86GLDL6ZL7T4F4T68MTIV0MX7DP8OSJ1GE .= "WARNING: Quarantine disabled - Directory [$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine}/cxscgi] missing, run cxs --qcreate --quarantine $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine}\n"}if (! -d "$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine}/cxsuser") {$CAY7281IWNFUBA31W86GLDL6ZL7T4F4T68MTIV0MX7DP8OSJ1GE .= "WARNING: Quarantine disabled - Directory [$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine}/cxsuser] missing, run cxs --qcreate --quarantine $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine}\n"}if ($CL3PAH1NX1MYPX2VAYO9KZIUV1DUEY3MZ63TLDAKZPJIRZOVJ92 ne "\x{30}\x{37}\x{35}\x{35}") {$CAY7281IWNFUBA31W86GLDL6ZL7T4F4T68MTIV0MX7DP8OSJ1GE .= "WARNING: Quarantine disabled - Directory [$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine}] has incorrect permissions [$CL3PAH1NX1MYPX2VAYO9KZIUV1DUEY3MZ63TLDAKZPJIRZOVJ92 instead of 0755], run cxs --qcreate --quarantine $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine}\n"}} else {$CAY7281IWNFUBA31W86GLDL6ZL7T4F4T68MTIV0MX7DP8OSJ1GE = "WARNING: Quarantine disabled - Directory [$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine}] does not exist\n"}if ($CAY7281IWNFUBA31W86GLDL6ZL7T4F4T68MTIV0MX7DP8OSJ1GE ne "") {unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{cgi} or $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ftp}) {print "$CAY7281IWNFUBA31W86GLDL6ZL7T4F4T68MTIV0MX7DP8OSJ1GE\n";}delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine};} else {$CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{dir}{$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine}} = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{qcreate}) {exit}}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{qcheck}) {exit}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{bget}) {&CE2XXCMYUIGVW35R09CHOFPO6SS3PECVXM6BAIA312H5HLXB3GV; exit}if (defined $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{blearn} or defined $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{bforget}) {delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{deep};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{mail};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{report};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{summary};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{script};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{logfile};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{voptions};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{qoptions};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{soptions};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{doptions};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{sversionscan};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{virusscan};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{bayes};$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{options} = "\x{6d}\x{44}\x{52}";$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{exploitscan} = 1;&C7PKO0FK9WK252FSHM47FQSDL44ACG6RHFJOI67MJ13CPDIIBD0;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{bayes}) {unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wstart}) {unless (-e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{62}\x{61}\x{79}\x{65}\x{73}") {&CE2XXCMYUIGVW35R09CHOFPO6SS3PECVXM6BAIA312H5HLXB3GV}my $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU = &C7PKO0FK9WK252FSHM47FQSDL44ACG6RHFJOI67MJ13CPDIIBD0;if ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU) {print "$CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU\n"}}unless (defined $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{breport}) {$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{breport} = "\x{6d}\x{65}\x{64}\x{69}\x{75}\x{6d}"}$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{breport} = lc($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{breport});if ("\x{68}\x{69}\x{67}\x{68}" =~ /^$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{breport}/) {$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{breport} = "high"}elsif ("\x{6d}\x{65}\x{64}\x{69}\x{75}\x{6d}" =~ /^$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{breport}/) {$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{breport} = "medium"}elsif ("\x{6c}\x{6f}\x{77}" =~ /^$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{breport}/) {$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{breport} = "low"}else {$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{breport} = "\x{6d}\x{65}\x{64}\x{69}\x{75}\x{6d}"}unless (defined $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{baction}) {$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{baction} = "\x{68}\x{69}\x{67}\x{68}"}$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{baction} = lc($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{baction});if ("\x{68}\x{69}\x{67}\x{68}" =~ /^$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{baction}/) {$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{baction} = "high"}elsif ("\x{6d}\x{65}\x{64}\x{69}\x{75}\x{6d}" =~ /^$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{baction}/) {$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{baction} = "medium"}elsif ("\x{6c}\x{6f}\x{77}" =~ /^$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{baction}/) {$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{baction} = "low"}else {$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{baction} = "\x{68}\x{69}\x{67}\x{68}"}}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Yqkeygen} and ($< == 0)) {local $| = 1;if (-e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{2e}\x{73}\x{65}\x{63}\x{6b}\x{65}\x{79}\x{2f}\x{63}\x{78}\x{73}\x{70}\x{72}\x{69}\x{76}\x{61}\x{74}\x{65}\x{2e}\x{70}\x{65}\x{6d}" and !$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{force}) {print "A private ket (/etc/cxs/.seckey/cxsprivate.pem) already exists. Use --force to generate a new key. Any quarantine files encrypted with the old key will no longer be readable to restorable.\n";} else {print "Generating cxs quarantine key pairs...\n\n";mkdir ("\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{2e}\x{73}\x{65}\x{63}\x{6b}\x{65}\x{79}\x{2f}",0600);system("\x{6f}\x{70}\x{65}\x{6e}\x{73}\x{73}\x{6c}","req","-x509","-nodes","-days","100000","-newkey","rsa:2048","-keyout","/etc/cxs/.seckey/cxsprivate.pem","-out","/etc/cxs/cxspublic.pem","-subj","/");if (-e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{2e}\x{73}\x{65}\x{63}\x{6b}\x{65}\x{79}\x{2f}\x{63}\x{78}\x{73}\x{70}\x{72}\x{69}\x{76}\x{61}\x{74}\x{65}\x{2e}\x{70}\x{65}\x{6d}" and -e "/etc/cxs/cxspublic.pem") {chmod (0600, "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{2e}\x{73}\x{65}\x{63}\x{6b}\x{65}\x{79}\x{2f}\x{63}\x{78}\x{73}\x{70}\x{72}\x{69}\x{76}\x{61}\x{74}\x{65}\x{2e}\x{70}\x{65}\x{6d}");print "\nKey generation completed. You should keep an offline copy of /etc/cxs/.seckey/cxsprivate.pem as quarantine files can only be decrypted with this key. If it is lost or changed, then files in quarantine cannot be read or restored.\n";} else {print "Key generation failed.\n";}}exit;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{qrestore} and ($< == 0)) {&C7KTPDKQGRW7ETBDUQ2GHQ6RM2GQAWL4FHS57E0F3KO104SUPVY($ARGV[0]);exit;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{qview} and ($< == 0)) {&CKRSG4MKAAG3U90R53A7X5P7Y8R6D52LFN61BNDR70DA0UR5KGD($ARGV[0]);exit;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{prenice}) {my $CV809KPQXAKCNX586VN53L0VY21F7U7OOBTT5U0RNNR4PMTU1BH = '/usr/bin/renice';my $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU = "";if (-e $CV809KPQXAKCNX586VN53L0VY21F7U7OOBTT5U0RNNR4PMTU1BH) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{prenice} < -20 or $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{prenice} > 20) {$CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU = "prenice must be between -20 and 20!";} else {my ($CZUJNXI26LZ9P859WCCK3ZYF4V1G2N358OC0Z6L3KST6IB3ATYD, $CM799TTG1N1ZQINHFEE7ZAJ136255094X6E9O750ZN5UK2146UZ);my $C4L95A529FUX95761W7KRDG64WEHROJV4W90WBG1XPZ0YO34EVU = open3($CZUJNXI26LZ9P859WCCK3ZYF4V1G2N358OC0Z6L3KST6IB3ATYD, $CM799TTG1N1ZQINHFEE7ZAJ136255094X6E9O750ZN5UK2146UZ, $CM799TTG1N1ZQINHFEE7ZAJ136255094X6E9O750ZN5UK2146UZ, $CV809KPQXAKCNX586VN53L0VY21F7U7OOBTT5U0RNNR4PMTU1BH,"-n",$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{prenice},"-p",$$);my @CBAYB6D05PFFGM3AF806FSRA8NPL82RU815IQWT6B08B1QKCFZA = <$CM799TTG1N1ZQINHFEE7ZAJ136255094X6E9O750ZN5UK2146UZ>;waitpid ($C4L95A529FUX95761W7KRDG64WEHROJV4W90WBG1XPZ0YO34EVU, 0);if ($CBAYB6D05PFFGM3AF806FSRA8NPL82RU815IQWT6B08B1QKCFZA[0] =~ /^\D/) {$CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU = $CBAYB6D05PFFGM3AF806FSRA8NPL82RU815IQWT6B08B1QKCFZA[0]}}} else {$CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU = "$CV809KPQXAKCNX586VN53L0VY21F7U7OOBTT5U0RNNR4PMTU1BH not found!";}if ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU) {print "Error: $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU\n";exit;}}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{pionice}) {my $CWHDE0KQBWMTTVMMXK6KQQW6T1FQUODF2WSLENXVMAHEIC9KV9C = '/usr/bin/ionice';my $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU = "";if (-e $CWHDE0KQBWMTTVMMXK6KQQW6T1FQUODF2WSLENXVMAHEIC9KV9C) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{pionice} < 0 or $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{pionice} > 7) {$CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU = "ionice must be between 0 and 7!";} else {my ($CZUJNXI26LZ9P859WCCK3ZYF4V1G2N358OC0Z6L3KST6IB3ATYD, $CM799TTG1N1ZQINHFEE7ZAJ136255094X6E9O750ZN5UK2146UZ);my $C4L95A529FUX95761W7KRDG64WEHROJV4W90WBG1XPZ0YO34EVU = open3($CZUJNXI26LZ9P859WCCK3ZYF4V1G2N358OC0Z6L3KST6IB3ATYD, $CM799TTG1N1ZQINHFEE7ZAJ136255094X6E9O750ZN5UK2146UZ, $CM799TTG1N1ZQINHFEE7ZAJ136255094X6E9O750ZN5UK2146UZ, $CWHDE0KQBWMTTVMMXK6KQQW6T1FQUODF2WSLENXVMAHEIC9KV9C,"-c","\x{32}","-n",$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{pionice},"-p",$$);my @CCS62BE083QME7KNWJ5TLZGB4BK8EFO97RPY0H2Q6ASVMEJIQHO = <$CM799TTG1N1ZQINHFEE7ZAJ136255094X6E9O750ZN5UK2146UZ>;waitpid ($C4L95A529FUX95761W7KRDG64WEHROJV4W90WBG1XPZ0YO34EVU, 0);if (@CCS62BE083QME7KNWJ5TLZGB4BK8EFO97RPY0H2Q6ASVMEJIQHO) {$CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU = $CCS62BE083QME7KNWJ5TLZGB4BK8EFO97RPY0H2Q6ASVMEJIQHO[0]}}} else {$CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU = "$CWHDE0KQBWMTTVMMXK6KQQW6T1FQUODF2WSLENXVMAHEIC9KV9C not found!";}if ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU) {print "Error: $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU\n";exit;}}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{chtest}) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{chuser} eq "") {$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{chuser} = "nobody"}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{chroot} ne "" and -d $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{chroot} and $> == 0) {my (undef,undef,$C7P57C93IPGHLOVKVS86GSGJKRU8B7YCNE3KO9D7I8SNSGWAXUQ,$CGXVRKZ1IHN17LM3LWYHJ1GQ38QIQ0F57GPJLAV26CUNQPJUTWB) = getpwnam($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{chuser});if ($C7P57C93IPGHLOVKVS86GSGJKRU8B7YCNE3KO9D7I8SNSGWAXUQ < 1) {$C7P57C93IPGHLOVKVS86GSGJKRU8B7YCNE3KO9D7I8SNSGWAXUQ = 99}if ($CGXVRKZ1IHN17LM3LWYHJ1GQ38QIQ0F57GPJLAV26CUNQPJUTWB < 1) {$CGXVRKZ1IHN17LM3LWYHJ1GQ38QIQ0F57GPJLAV26CUNQPJUTWB = 99}print "cxs: Entering chroot environment as user [$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{chuser} ($C7P57C93IPGHLOVKVS86GSGJKRU8B7YCNE3KO9D7I8SNSGWAXUQ:$CGXVRKZ1IHN17LM3LWYHJ1GQ38QIQ0F57GPJLAV26CUNQPJUTWB)]\n";print "cxs: The limited environment can be tested by running: 'php -i' as well as 'id'\n\n";chdir($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{chroot});chroot($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{chroot});chdir("\x{2f}");if ($> == 0) {local $( = $CGXVRKZ1IHN17LM3LWYHJ1GQ38QIQ0F57GPJLAV26CUNQPJUTWB;local $) = "$CGXVRKZ1IHN17LM3LWYHJ1GQ38QIQ0F57GPJLAV26CUNQPJUTWB $CGXVRKZ1IHN17LM3LWYHJ1GQ38QIQ0F57GPJLAV26CUNQPJUTWB";local $> = local $< = $C7P57C93IPGHLOVKVS86GSGJKRU8B7YCNE3KO9D7I8SNSGWAXUQ;if (($) != $CGXVRKZ1IHN17LM3LWYHJ1GQ38QIQ0F57GPJLAV26CUNQPJUTWB) or ($> != $C7P57C93IPGHLOVKVS86GSGJKRU8B7YCNE3KO9D7I8SNSGWAXUQ) or ($( != $CGXVRKZ1IHN17LM3LWYHJ1GQ38QIQ0F57GPJLAV26CUNQPJUTWB) or ($< != $C7P57C93IPGHLOVKVS86GSGJKRU8B7YCNE3KO9D7I8SNSGWAXUQ)) {die "Failed to drop privileges to user [$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{chuser}]($C7P57C93IPGHLOVKVS86GSGJKRU8B7YCNE3KO9D7I8SNSGWAXUQ:$CGXVRKZ1IHN17LM3LWYHJ1GQ38QIQ0F57GPJLAV26CUNQPJUTWB)\n";}exec("\x{2f}\x{62}\x{69}\x{6e}\x{2f}\x{62}\x{61}\x{73}\x{68}");} else {exec("\x{2f}\x{62}\x{69}\x{6e}\x{2f}\x{62}\x{61}\x{73}\x{68}");}}exit;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wstop} and ($< == 0)) {my $C8IU81IJWTT793ZWCQ4CG2GM28RIAFE9YB7Y18DUCCW91L5TS9S = 0;opendir (PROC,"\x{2f}\x{70}\x{72}\x{6f}\x{63}");while (my $C4L95A529FUX95761W7KRDG64WEHROJV4W90WBG1XPZ0YO34EVU = readdir(PROC)) {if ($C4L95A529FUX95761W7KRDG64WEHROJV4W90WBG1XPZ0YO34EVU =~ /^\.|\.\.$/) {next}open (my $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI,"\x{3c}","/proc/$C4L95A529FUX95761W7KRDG64WEHROJV4W90WBG1XPZ0YO34EVU/cmdline");flock ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, LOCK_SH);my $CWFKVIKQAQZBDY9751SMUYHZ3VK94MYJ3T0AYK8OYYBY4A0543S = <$C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI>;close ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI);chomp $CWFKVIKQAQZBDY9751SMUYHZ3VK94MYJ3T0AYK8OYYBY4A0543S;if ($CWFKVIKQAQZBDY9751SMUYHZ3VK94MYJ3T0AYK8OYYBY4A0543S eq "\x{63}\x{78}\x{73}\x{77}\x{61}\x{74}\x{63}\x{68}") {kill (9, $C4L95A529FUX95761W7KRDG64WEHROJV4W90WBG1XPZ0YO34EVU);print "cxswatch [$C4L95A529FUX95761W7KRDG64WEHROJV4W90WBG1XPZ0YO34EVU] stopped\n";&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("cxswatch [$C4L95A529FUX95761W7KRDG64WEHROJV4W90WBG1XPZ0YO34EVU] stopped");$C8IU81IJWTT793ZWCQ4CG2GM28RIAFE9YB7Y18DUCCW91L5TS9S = 1;last;}}closedir (PROC);unless ($C8IU81IJWTT793ZWCQ4CG2GM28RIAFE9YB7Y18DUCCW91L5TS9S) {print "cxswatch process not found\n"}exit;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{generate} and $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ignore} and $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{report} and (-f $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{report}) and ($< == 0)) {my %C3AJIN26PKS4RA2S8PTWIF7NT7ZY5YY4MCCJTCFDPAOPLDK9RFU;print "Processing $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{report}...\n";open (my $CM5BI5GT1O9TC7BHGF98ENNCSP2VKF7WCF3I8W60WVOXTNSTFKY, "\x{3c}", $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{report}) or die $!;flock ($CM5BI5GT1O9TC7BHGF98ENNCSP2VKF7WCF3I8W60WVOXTNSTFKY, LOCK_SH);my @CKL9NZ7LK85W7MUHFNSAQZO9KXO9JS4E9U4012JJV8FFHIOAH0N = <$CM5BI5GT1O9TC7BHGF98ENNCSP2VKF7WCF3I8W60WVOXTNSTFKY>;close ($CM5BI5GT1O9TC7BHGF98ENNCSP2VKF7WCF3I8W60WVOXTNSTFKY);chomp @CKL9NZ7LK85W7MUHFNSAQZO9KXO9JS4E9U4012JJV8FFHIOAH0N;open (my $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, "\x{3e}\x{3e}", $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ignore}) or die $!;flock ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, LOCK_EX);foreach my $CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT (@CKL9NZ7LK85W7MUHFNSAQZO9KXO9JS4E9U4012JJV8FFHIOAH0N) {if ($CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT =~ /^\'(.*)\'$/) {my $CYHKNW67BSJXDO9P0SCW5TFP8K0633RS4UITCGE57IFB5JDZIO7 = $1;if ($C3AJIN26PKS4RA2S8PTWIF7NT7ZY5YY4MCCJTCFDPAOPLDK9RFU{$CYHKNW67BSJXDO9P0SCW5TFP8K0633RS4UITCGE57IFB5JDZIO7}) {next}$C3AJIN26PKS4RA2S8PTWIF7NT7ZY5YY4MCCJTCFDPAOPLDK9RFU{$CYHKNW67BSJXDO9P0SCW5TFP8K0633RS4UITCGE57IFB5JDZIO7} = 1;$CYHKNW67BSJXDO9P0SCW5TFP8K0633RS4UITCGE57IFB5JDZIO7 =~ s/\'\\\'\'/\'/g;if (-e $CYHKNW67BSJXDO9P0SCW5TFP8K0633RS4UITCGE57IFB5JDZIO7) {if (-l $CYHKNW67BSJXDO9P0SCW5TFP8K0633RS4UITCGE57IFB5JDZIO7) {print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "sym:$CYHKNW67BSJXDO9P0SCW5TFP8K0633RS4UITCGE57IFB5JDZIO7\n";}elsif (-d $CYHKNW67BSJXDO9P0SCW5TFP8K0633RS4UITCGE57IFB5JDZIO7) {print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "dir:$CYHKNW67BSJXDO9P0SCW5TFP8K0633RS4UITCGE57IFB5JDZIO7\n";}else {print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "file:$CYHKNW67BSJXDO9P0SCW5TFP8K0633RS4UITCGE57IFB5JDZIO7\n";}}}}close ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI);print "Appended entries to $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ignore}\n";exit;}unless (-e $C1HRL32E4OKJUURY1TUA3B8BLDQ1HLJIFNZM6HLNCCD8VRG4U3P) {&CVP7A1YYX4PKDOQ008QWTKO3LBP9X4ZGIJBO3G2SKUO7WUD6WSB}unless (-e $C1HRL32E4OKJUURY1TUA3B8BLDQ1HLJIFNZM6HLNCCD8VRG4U3P) {print $C53SJ1WKS2IW85U0JPEFSDNPT6FGHHQ84QWHPJ70J6EGDPM7NSS;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wstart}) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ($C53SJ1WKS2IW85U0JPEFSDNPT6FGHHQ84QWHPJ70J6EGDPM7NSS)}exit;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{upgrade} and ($< == 0)) {unless ((-t STDOUT) or ($ENV{SERVER_NAME})) {&C6GBP91D85ZKQFVCLF8EDM8EF3RT9U2QD0JG7KO186N2104M9FD;my $C8LZ4RQYFCPYX7XQ16UTT1ZVARA30K9ZHAMIPQ0CSK70WTTVRHD = int(rand(1800))+10;local $0 = "cxs upgrade sleeping for $C8LZ4RQYFCPYX7XQ16UTT1ZVARA30K9ZHAMIPQ0CSK70WTTVRHD seconds";sleep $C8LZ4RQYFCPYX7XQ16UTT1ZVARA30K9ZHAMIPQ0CSK70WTTVRHD;local $0 = "\x{63}\x{78}\x{73}\x{20}\x{75}\x{70}\x{67}\x{72}\x{61}\x{64}\x{65}\x{20}\x{63}\x{68}\x{65}\x{63}\x{6b}";}&CTH1GXS0RFTIRQ2UWXVZUXBYNDCQRMNOVPGA7H87SH7RROP2SQI;my ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU, $C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4) = &urlget(decode_base64("\x{61}\x{48}\x{52}\x{30}\x{63}\x{44}\x{6f}\x{76}\x{4c}\x{32}\x{52}\x{76}\x{64}\x{32}\x{35}\x{73}\x{62}\x{32}\x{46}\x{6b}\x{4c}\x{6d}\x{4e}\x{76}\x{62}\x{6d}\x{5a}\x{70}\x{5a}\x{33}\x{4e}\x{6c}\x{63}\x{6e}\x{5a}\x{6c}\x{63}\x{69}\x{35}\x{6a}\x{62}\x{32}\x{30}\x{76}\x{59}\x{33}\x{68}\x{7a}\x{4c}\x{33}\x{5a}\x{6c}\x{63}\x{6e}\x{4e}\x{70}\x{62}\x{32}\x{34}\x{75}\x{64}\x{48}\x{68}\x{30}"));if ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU) {print "Failed: $C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4\n"; exit;}my $C0LHF2CKIW5I72K4MAMTUT66UVALK26NJQCSSXCIFCSQ1G59SKY = $C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4;if (($C0LHF2CKIW5I72K4MAMTUT66UVALK26NJQCSSXCIFCSQ1G59SKY ne "") and ($C0LHF2CKIW5I72K4MAMTUT66UVALK26NJQCSSXCIFCSQ1G59SKY =~ /^[\d\.]*$/)) {if ($C0LHF2CKIW5I72K4MAMTUT66UVALK26NJQCSSXCIFCSQ1G59SKY > $CADC3W32X3A72A2CZ0YM8J5GGBDTPBVVLRI6BMYB17J99BB0EFV or $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{force}) {unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "Upgrading cxs from v$CADC3W32X3A72A2CZ0YM8J5GGBDTPBVVLRI6BMYB17J99BB0EFV to $C0LHF2CKIW5I72K4MAMTUT66UVALK26NJQCSSXCIFCSQ1G59SKY...\n"}if (-e decode_base64("\x{4c}\x{33}\x{56}\x{7a}\x{63}\x{69}\x{39}\x{7a}\x{63}\x{6d}\x{4d}\x{76}\x{59}\x{33}\x{68}\x{7a}\x{61}\x{57}\x{35}\x{7a}\x{64}\x{47}\x{46}\x{73}\x{62}\x{47}\x{56}\x{79}\x{4c}\x{6e}\x{52}\x{6e}\x{65}\x{67}\x{3d}\x{3d}")) {unlink (decode_base64("L3Vzci9zcmMvY3hzaW5zdGFsbGVyLnRneg==")) or die $!}unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "Retrieving new cxs installer...\n"}my ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU, $C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4) = &urlget(decode_base64("\x{61}\x{48}\x{52}\x{30}\x{63}\x{44}\x{6f}\x{76}\x{4c}\x{32}\x{52}\x{76}\x{64}\x{32}\x{35}\x{73}\x{62}\x{32}\x{46}\x{6b}\x{4c}\x{6d}\x{4e}\x{76}\x{62}\x{6d}\x{5a}\x{70}\x{5a}\x{33}\x{4e}\x{6c}\x{63}\x{6e}\x{5a}\x{6c}\x{63}\x{69}\x{35}\x{6a}\x{62}\x{32}\x{30}\x{76}\x{59}\x{33}\x{68}\x{7a}\x{61}\x{57}\x{35}\x{7a}\x{64}\x{47}\x{46}\x{73}\x{62}\x{47}\x{56}\x{79}\x{4c}\x{6e}\x{52}\x{6e}\x{65}\x{67}\x{3d}\x{3d}"),decode_base64("L3Vzci9zcmMvY3hzaW5zdGFsbGVyLnRneg=="));if ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU) {unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "Oops: $C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4\n"} ; exit;}if (! -z decode_base64("\x{4c}\x{33}\x{56}\x{7a}\x{63}\x{69}\x{39}\x{7a}\x{63}\x{6d}\x{4d}\x{76}\x{59}\x{33}\x{68}\x{7a}\x{61}\x{57}\x{35}\x{7a}\x{64}\x{47}\x{46}\x{73}\x{62}\x{47}\x{56}\x{79}\x{4c}\x{6e}\x{52}\x{6e}\x{65}\x{67}\x{3d}\x{3d}")) {system ("cd /usr/src ; tar -xzf cxsinstaller.tgz ; perl cxsinstaller.pl");system ("rm -Rfv /usr/src/cxs*");}open (my $C74NXCH2XAG8S9WF6D14OX0N2SUIYEEWHOP1ZJ4UY4P6JJFV7KV, "\x{3e}", "/etc/cxs/newusers/cxswatchrestart");flock ($C74NXCH2XAG8S9WF6D14OX0N2SUIYEEWHOP1ZJ4UY4P6JJFV7KV, LOCK_EX);close ($C74NXCH2XAG8S9WF6D14OX0N2SUIYEEWHOP1ZJ4UY4P6JJFV7KV);unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "Restarting cxs Watch daemon, if it is running\n\nChangelog: https://download.configserver.com/cxs/changelog.txt\n"}} else {unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "cxs is already at the latest version: v$CADC3W32X3A72A2CZ0YM8J5GGBDTPBVVLRI6BMYB17J99BB0EFV\n"}stat("\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{6e}\x{65}\x{77}\x{2e}\x{66}\x{70}");if ((! -e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{6e}\x{65}\x{77}\x{2e}\x{66}\x{70}") or (time - $st_mtime > 3600)) {open (my $CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY, "\x{3c}", "/etc/cxs/servers");flock ($CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY, LOCK_SH);my @CJQ85LGGU3W52QP1Q97UPIDXXBN2C5LQXY2RX6VRK8T04DW17BH = <$CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY>;close ($CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY);chomp @CJQ85LGGU3W52QP1Q97UPIDXXBN2C5LQXY2RX6VRK8T04DW17BH;for (my $CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO = @CJQ85LGGU3W52QP1Q97UPIDXXBN2C5LQXY2RX6VRK8T04DW17BH; --$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO;) {my $CRAI4YX5HCJWEPUQIP06CMC7C1M5G45JP2KDSWGQ6HJHSUTR6Z0 = int(rand($CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO+1));if ($CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO == $CRAI4YX5HCJWEPUQIP06CMC7C1M5G45JP2KDSWGQ6HJHSUTR6Z0) {next}@CJQ85LGGU3W52QP1Q97UPIDXXBN2C5LQXY2RX6VRK8T04DW17BH[$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO,$CRAI4YX5HCJWEPUQIP06CMC7C1M5G45JP2KDSWGQ6HJHSUTR6Z0] = @CJQ85LGGU3W52QP1Q97UPIDXXBN2C5LQXY2RX6VRK8T04DW17BH[$CRAI4YX5HCJWEPUQIP06CMC7C1M5G45JP2KDSWGQ6HJHSUTR6Z0,$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO];}foreach my $CYIZ6KLO6MPFWIDIK9ID30L9M7VS6K99VBJW75TREUNDH96BEBA (@CJQ85LGGU3W52QP1Q97UPIDXXBN2C5LQXY2RX6VRK8T04DW17BH) {$CYIZ6KLO6MPFWIDIK9ID30L9M7VS6K99VBJW75TREUNDH96BEBA = decode_base64($CYIZ6KLO6MPFWIDIK9ID30L9M7VS6K99VBJW75TREUNDH96BEBA);my ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU, $C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4) = &urlget("$CYIZ6KLO6MPFWIDIK9ID30L9M7VS6K99VBJW75TREUNDH96BEBA/cgi-bin/cxs/updates.cgi","\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{6e}\x{65}\x{77}\x{2e}\x{66}\x{70}\x{2e}\x{6e}\x{65}\x{77}",1);unless ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU) {open (my $CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL, "\x{3c}", "/etc/cxs/new.fp");flock ($CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL, LOCK_SH);my $C9W8T22S31REMF4SBW4BH61KJU1N7VI02ZEBC9V51NODPW9HNCW = do {local $/; <$CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL>};close ($CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL);open (my $CSR0UK5LUSZMPAGBKSB4SYK62E42070B7D9EE6WWROT6BC9X0KI, "\x{3c}", "/etc/cxs/new.fp.new");flock ($CSR0UK5LUSZMPAGBKSB4SYK62E42070B7D9EE6WWROT6BC9X0KI, LOCK_SH);my $CPJK6VRYY8VNZ92FF56AY01ECDLZK55RH9WGNV8GKB9CZKI3TR0 = do {local $/; <$CSR0UK5LUSZMPAGBKSB4SYK62E42070B7D9EE6WWROT6BC9X0KI>};close ($CSR0UK5LUSZMPAGBKSB4SYK62E42070B7D9EE6WWROT6BC9X0KI);if ($C9W8T22S31REMF4SBW4BH61KJU1N7VI02ZEBC9V51NODPW9HNCW ne $CPJK6VRYY8VNZ92FF56AY01ECDLZK55RH9WGNV8GKB9CZKI3TR0) {open (my $CSR0UK5LUSZMPAGBKSB4SYK62E42070B7D9EE6WWROT6BC9X0KI,"\x{3e}","/etc/cxs/new.fp");flock ($CSR0UK5LUSZMPAGBKSB4SYK62E42070B7D9EE6WWROT6BC9X0KI, LOCK_EX);print $CSR0UK5LUSZMPAGBKSB4SYK62E42070B7D9EE6WWROT6BC9X0KI $CPJK6VRYY8VNZ92FF56AY01ECDLZK55RH9WGNV8GKB9CZKI3TR0;close ($CSR0UK5LUSZMPAGBKSB4SYK62E42070B7D9EE6WWROT6BC9X0KI);unlink "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{6e}\x{65}\x{77}\x{2e}\x{66}\x{70}\x{2e}\x{6e}\x{65}\x{77}";chmod (0644 ,"\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{6e}\x{65}\x{77}\x{2e}\x{66}\x{70}");unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "Updated daily fingerprint database\n"}last;} else {unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "cxs daily fingerprint database up to date\n"}}}}} else {unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "cxs daily fingerprint database up to date\n"}}}} else {unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "Unable to verify the latest version of cxs at this time\n"}}exit;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{y} and ($< == 0)) {&CVP7A1YYX4PKDOQ008QWTKO3LBP9X4ZGIJBO3G2SKUO7WUD6WSB;exit}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{options} =~ /^\-/) {my $CXO92TCKAPEZH8N7G4SWC901PR29JLGWEWA86KT2DTMBS2LG5WD = $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{options};$CXO92TCKAPEZH8N7G4SWC901PR29JLGWEWA86KT2DTMBS2LG5WD =~ s/\-//g;$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{options} = $CDBBIEWPHHGPFTJ3WRX2MLN8AQR7PXJKHGG49LOFRVM69SQ3NRR;foreach (split(//,$CXO92TCKAPEZH8N7G4SWC901PR29JLGWEWA86KT2DTMBS2LG5WD)) {$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{options} =~ s/$_//}}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{options} =~ /^\+/) {$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{options} =~ s/\+//g;$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{options} .= $CDBBIEWPHHGPFTJ3WRX2MLN8AQR7PXJKHGG49LOFRVM69SQ3NRR;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{options} =~ /m/) {$CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{content} = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{options} =~ /M/) {$CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{md5} = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{options} =~ /O/) {$CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{socket} = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{options} =~ /L/) {$CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{symlink} = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{options} =~ /f/) {$CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{filename} = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{options} =~ /u/) {$CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{suspdir} = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{options} =~ /S/) {$CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{SUID} = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{options} =~ /G/) {$CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{GUID} = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{options} =~ /c/) {$CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{core} = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{options} =~ /C/) {$CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{coredel} = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{options} =~ /h/) {$CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{exploit} = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{options} =~ /e/) {$CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{binary} = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{options} =~ /x/) {$CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{winbinary} = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{options} =~ /d/) {$CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{directory} = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{options} =~ /s/) {$CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{sversion} = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{options} =~ /n/) {$CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{nobody} = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{options} =~ /w/) {$CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{world} = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{options} =~ /W/) {$CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{worldchmod} = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{options} =~ /T/) {$CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{script} = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{options} =~ /D/) {$CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{decode} = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{options} =~ /R/) {$CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{decoderegex} = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{options} =~ /E/) {$CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{email} = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{options} =~ /U/) {$CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{upload} = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{options} =~ /Z/) {$CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{zip} = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{options} =~ /P/) {require Net::FTP;import Net::FTP;unless ($@) {$CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{passtest} = 1}}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{soptions} =~ /a/) {$CJAJB6B8Q7MN82BLZLN7O68W7DGAD4N2JSGYUF58XPY9TIAKN5B{all} = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{soptions} =~ /d/) {$CJAJB6B8Q7MN82BLZLN7O68W7DGAD4N2JSGYUF58XPY9TIAKN5B{dir} = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{voptions} =~ /m/) {$CJ6LOEDL9CG8CQ27VLCEKMOROTTVAGZ2V2L9TXYZZQ93PMKIPHO{content} = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{voptions} =~ /f/) {$CJ6LOEDL9CG8CQ27VLCEKMOROTTVAGZ2V2L9TXYZZQ93PMKIPHO{filename} = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{voptions} =~ /u/) {$CJ6LOEDL9CG8CQ27VLCEKMOROTTVAGZ2V2L9TXYZZQ93PMKIPHO{suspdir} = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{voptions} =~ /h/) {$CJ6LOEDL9CG8CQ27VLCEKMOROTTVAGZ2V2L9TXYZZQ93PMKIPHO{exploit} = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{voptions} =~ /e/) {$CJ6LOEDL9CG8CQ27VLCEKMOROTTVAGZ2V2L9TXYZZQ93PMKIPHO{binary} = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{voptions} =~ /x/) {$CJ6LOEDL9CG8CQ27VLCEKMOROTTVAGZ2V2L9TXYZZQ93PMKIPHO{winbinary} = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{voptions} =~ /T/) {$CJ6LOEDL9CG8CQ27VLCEKMOROTTVAGZ2V2L9TXYZZQ93PMKIPHO{script} = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{voptions}) {$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{virusscan} = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{virusscan} and !$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wstart}) {unless (&CZ3N3LKJCGS7BW8JZ2LH5ED0CAVFFITLPVYLRDNLYG9W5MD554T('PING') eq 'PONG') {$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{virusscan} = 0;unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{cgi} or $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ftp}) {print "Unable to connect to clamd, virus scanning disabled\n\n";}}}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{tscripts} =~ /php/) {$CPMWG583ZWUBPJVGSTZ3G7P65IP6S5J0MWX8NRYSTJBBF0C85PC{php} = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{tscripts} =~ /perl/) {$CPMWG583ZWUBPJVGSTZ3G7P65IP6S5J0MWX8NRYSTJBBF0C85PC{perl} = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{tscripts} =~ /c/) {$CPMWG583ZWUBPJVGSTZ3G7P65IP6S5J0MWX8NRYSTJBBF0C85PC{c} = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{tscripts} =~ /python/) {$CPMWG583ZWUBPJVGSTZ3G7P65IP6S5J0MWX8NRYSTJBBF0C85PC{python} = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{tscripts} =~ /ruby/) {$CPMWG583ZWUBPJVGSTZ3G7P65IP6S5J0MWX8NRYSTJBBF0C85PC{ruby} = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{tscripts} =~ /jsp/) {$CPMWG583ZWUBPJVGSTZ3G7P65IP6S5J0MWX8NRYSTJBBF0C85PC{jsp} = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{tscripts} =~ /asp/) {$CPMWG583ZWUBPJVGSTZ3G7P65IP6S5J0MWX8NRYSTJBBF0C85PC{asp} = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{tscripts} =~ /java/) {$CPMWG583ZWUBPJVGSTZ3G7P65IP6S5J0MWX8NRYSTJBBF0C85PC{java} = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{tscripts} =~ /other/) {$CPMWG583ZWUBPJVGSTZ3G7P65IP6S5J0MWX8NRYSTJBBF0C85PC{script} = 1}$C2RUXHVWTBRM1TJNHYR4GU2X91UXCLS6M4K6UPZNAMHJ94RWEGE = hostname;if ($C2RUXHVWTBRM1TJNHYR4GU2X91UXCLS6M4K6UPZNAMHJ94RWEGE eq "") {$C2RUXHVWTBRM1TJNHYR4GU2X91UXCLS6M4K6UPZNAMHJ94RWEGE = "localhost"}$CQAVQMI527C1D9CSUZTERZ6POZ64SGIT3WX1PO4RFYUGE4HW721 = (split(/\./,$C2RUXHVWTBRM1TJNHYR4GU2X91UXCLS6M4K6UPZNAMHJ94RWEGE))[0];$CPUQVAXJ46KJEPTH02X1I4SSSEBPMWXJOWJC6N0B2E2VCYPIGJW = time;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YWTTWREP}) {$CJVP6LCFG68WH718LFSSHL25C4CQU6XS20O277ADWWIWL0MNTK2 = 1;delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YWTTWREP};}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{report}) {my ($CAWEAD3HN3PIIR8LE4B1G5ZDBX91IBQQAIZL4QI8E8NSV55C0VX, $COW32CBBFK7UOZD80D4768FWCOC7WN38P0FJBE8VCTXFZNWU4MZ) = fileparse($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{report});if ($COW32CBBFK7UOZD80D4768FWCOC7WN38P0FJBE8VCTXFZNWU4MZ eq './') {$COW32CBBFK7UOZD80D4768FWCOC7WN38P0FJBE8VCTXFZNWU4MZ = getcwd();$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{report} = "$COW32CBBFK7UOZD80D4768FWCOC7WN38P0FJBE8VCTXFZNWU4MZ/$CAWEAD3HN3PIIR8LE4B1G5ZDBX91IBQQAIZL4QI8E8NSV55C0VX";}if (-e $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{report}) {unlink $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{report}}}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YCONREP}) {my ($CAWEAD3HN3PIIR8LE4B1G5ZDBX91IBQQAIZL4QI8E8NSV55C0VX, $COW32CBBFK7UOZD80D4768FWCOC7WN38P0FJBE8VCTXFZNWU4MZ) = fileparse($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YCONREP});if ($COW32CBBFK7UOZD80D4768FWCOC7WN38P0FJBE8VCTXFZNWU4MZ eq './') {$COW32CBBFK7UOZD80D4768FWCOC7WN38P0FJBE8VCTXFZNWU4MZ = getcwd();$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YCONREP} = "$COW32CBBFK7UOZD80D4768FWCOC7WN38P0FJBE8VCTXFZNWU4MZ/$CAWEAD3HN3PIIR8LE4B1G5ZDBX91IBQQAIZL4QI8E8NSV55C0VX";}if (-e $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YCONREP}) {unlink $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YCONREP}}if ($CJVP6LCFG68WH718LFSSHL25C4CQU6XS20O277ADWWIWL0MNTK2 and -e "\x{2f}\x{72}\x{6f}\x{6f}\x{74}\x{2f}\x{77}\x{74}\x{74}\x{77}\x{2e}\x{6c}\x{6f}\x{67}") {unlink "/root/wttw.log"}}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{logfile}) {my ($CAWEAD3HN3PIIR8LE4B1G5ZDBX91IBQQAIZL4QI8E8NSV55C0VX, $COW32CBBFK7UOZD80D4768FWCOC7WN38P0FJBE8VCTXFZNWU4MZ) = fileparse($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{logfile});if ($COW32CBBFK7UOZD80D4768FWCOC7WN38P0FJBE8VCTXFZNWU4MZ eq './') {$COW32CBBFK7UOZD80D4768FWCOC7WN38P0FJBE8VCTXFZNWU4MZ = getcwd();$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{logfile} = "$COW32CBBFK7UOZD80D4768FWCOC7WN38P0FJBE8VCTXFZNWU4MZ/$CAWEAD3HN3PIIR8LE4B1G5ZDBX91IBQQAIZL4QI8E8NSV55C0VX";}}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{cgi}) {my $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS = $CNMA1Y6EDV3GZMK7YUVJYOO9NI4QGFKVYMW8O2MKUNWIMIISXYY;if ($C6P4WRF4UD6FGQHAPO5Y193SS3HUWQSMZJR9U2M2KWBT7P40ILB and $C6P4WRF4UD6FGQHAPO5Y193SS3HUWQSMZJR9U2M2KWBT7P40ILB ne 'root') {$C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS = $C6P4WRF4UD6FGQHAPO5Y193SS3HUWQSMZJR9U2M2KWBT7P40ILB}if ($CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{user}{$C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS} or $CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{ip}{$ENV{REMOTE_ADDR}}) {print "1\n";exit;}foreach my $CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ (keys %{$CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{puser}}) {if ($C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS =~ /$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ/) {print "1\n";exit;}}}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ftp}) {if ($CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{user}{$ENV{UPLOAD_VUSER}}) {exit}if ($CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{user}{$ENV{UPLOAD_USER}}) {exit}foreach my $CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ (keys %{$CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{puser}}) {if ($ENV{UPLOAD_VUSER} =~ /$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ/) {exit}if ($ENV{UPLOAD_USER} =~ /$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ/) {exit}}if ((keys %{$CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{ip}}) > 0) {unless ($ENV{UPLOAD_IP}) {&CQO99WW73ZXVM5GJB6YIAOINB037Y0M4S4QNKTYANK02D6A4WIT}if ($CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{ip}{$ENV{UPLOAD_IP}}) {exit}}}my @CAOQUH6EYUZJY26NWPJ2ORNE2EFW7Y7J4CDK7FNRGNH8BR58TLN = data();eval ('local $SIG{__DIE__} = undef; use BSD::Resource; my $CE234IK6AHBP98W43JMQL389NOIR77Z0RAUMREWHMB2QS3QECWZ = getrlimit("\x{52}\x{4c}\x{49}\x{4d}\x{49}\x{54}\x{5f}\x{53}\x{54}\x{41}\x{43}\x{4b}"); setrlimit("\x{52}\x{4c}\x{49}\x{4d}\x{49}\x{54}\x{5f}\x{53}\x{54}\x{41}\x{43}\x{4b}", $CE234IK6AHBP98W43JMQL389NOIR77Z0RAUMREWHMB2QS3QECWZ * 2, $CE234IK6AHBP98W43JMQL389NOIR77Z0RAUMREWHMB2QS3QECWZ * 2);');unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YSKIPREG}) {@C39PEREHNI6LFHYNPSREGMHRY34M3WH6EL7BBNLEZOV3WRSYJ3C = (split(/\,/, $CAOQUH6EYUZJY26NWPJ2ORNE2EFW7Y7J4CDK7FNRGNH8BR58TLN[0]));@CX36MJ5NBQVEKIY3FX2YBAH2XRO6O1TZL7Z8RK3ENA99DV09S8R = (split(/\,/, $CAOQUH6EYUZJY26NWPJ2ORNE2EFW7Y7J4CDK7FNRGNH8BR58TLN[1]));@C52SVAJTWVNWDZ0ZU2C64ASHUU1YFQD460RKOYBPUZGW6W3T7FA = (split(/\,/, $CAOQUH6EYUZJY26NWPJ2ORNE2EFW7Y7J4CDK7FNRGNH8BR58TLN[2]));}my @CW4VU73CNUZF1AENCVA9OPN2S5ICLS88O2FONIU0BDCD8Q8I3B0 = (split(/\,/, $CAOQUH6EYUZJY26NWPJ2ORNE2EFW7Y7J4CDK7FNRGNH8BR58TLN[3]));@CJG9L8LAYHUSRBRIULSNFTOY7OYRZYMC5MOM7KBAGSEKXGF9S8L = (split(/\,/, $CAOQUH6EYUZJY26NWPJ2ORNE2EFW7Y7J4CDK7FNRGNH8BR58TLN[5]));my @CS7842GTVS9W9CZEFWOPE496JKFMDJV4BV9H0EC96IPK81DN74W = (split(/\,/, $CAOQUH6EYUZJY26NWPJ2ORNE2EFW7Y7J4CDK7FNRGNH8BR58TLN[6]));for (7..@CAOQUH6EYUZJY26NWPJ2ORNE2EFW7Y7J4CDK7FNRGNH8BR58TLN) {if ($CAOQUH6EYUZJY26NWPJ2ORNE2EFW7Y7J4CDK7FNRGNH8BR58TLN[$_] =~ /^__DATAEND__/) {last}push (@CKZRNHPGHU140HNC536FWEK2DB3RXLWS5J6PC1DRAHBOYFXGG71, qr/$CAOQUH6EYUZJY26NWPJ2ORNE2EFW7Y7J4CDK7FNRGNH8BR58TLN[$_]/s);}$CV40DX77X816XJAKKAG4PGJXRLMQGGROW6I5ZKYAMCS3AOCHNYN = $CKZRNHPGHU140HNC536FWEK2DB3RXLWS5J6PC1DRAHBOYFXGG71[0];foreach my $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK (@CW4VU73CNUZF1AENCVA9OPN2S5ICLS88O2FONIU0BDCD8Q8I3B0) {$CA99NDVSCJF53OUOB6PNJXTJ83N16DBDCHIUCRKKTFDZFKLW0UW{$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK} = 1}foreach my $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK (@CS7842GTVS9W9CZEFWOPE496JKFMDJV4BV9H0EC96IPK81DN74W) {$CFC1PHPMQLUWZ9G0GZA3GNCFOJLOL34NWTK9Q0E0HVF4II8QCSZ{$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK} = 1}@CNI8O1D3IJZI72QLI2VCJ9WLIRRT1SGJ4SG8W5STOQ42CG4NENC = @C39PEREHNI6LFHYNPSREGMHRY34M3WH6EL7BBNLEZOV3WRSYJ3C;@CTJFAA3UFVRTP3DIIL11HZR6VXYU5LTMX6Y58AZ45WAZ1CA09U9 = @CX36MJ5NBQVEKIY3FX2YBAH2XRO6O1TZL7Z8RK3ENA99DV09S8R;@CJ4MSXUNNNMS58JLMQFEYFETILBNU3NNTFVN3HINAJLVY0FLBSR = @C52SVAJTWVNWDZ0ZU2C64ASHUU1YFQD460RKOYBPUZGW6W3T7FA;%CIB6O5CMRV40DRLZMISHMT1FXSHCOZBNG8VHOXASFLYXH753NZA = %CB6CENXVQ42628ZHISY1558D07RNO4EWRZ0BS7NZZ99XB3CRTDC;%CDX8ICQIPJZB99T5L9X4SUB5DOFAN4DU235T7W8DZQBCKQEMGYR = %CA99NDVSCJF53OUOB6PNJXTJ83N16DBDCHIUCRKKTFDZFKLW0UW;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{exploitscan} or $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{sversionscan}) {&C8FY9P4M3SRG74LKLZ4HLH6JS28ZMYPTOKKE96SCRLI5CE676RV}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{sversionscan}) {&C1E6HR8Y9NLSO3119DMZFVUI46A21BK2Q46OUFJ5V590457PI5R}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ignore} and (-e $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ignore})) {&COWW8X8AON0EQKLPTVX3BFPFX805KJM546E5RP6ZU0J3CS8SXFP}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{terms}) {print "$C2V39MGE9X5BFLJ10MS88BSDUAO8PYAIU6H35Z9C42A9IWQ33O5\n";exit;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{decode} and ($< == 0)) {my $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK = abs_path($ARGV[0]);unless (-f $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK) {print "[$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK] is not a file or does not exist\n";exit;}open (my $CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL, "\x{3c}", $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK);flock ($CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL, LOCK_SH);my $C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4 = do {local $/; <$CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL>};close ($CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL);eval {local $SIG{__DIE__} = undef;local $SIG{'ALRM'} = sub {die "alarm\n"};alarm($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{timemax});&CNLXAJDCMGI9X4QQJEX4RSQJILEWXXCX6FR2UOMOOKB7E9NW6Q3($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK,$C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4);alarm(0);};alarm(0);if ($@) {my $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR;if ($@ eq "alarm\n") {$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR = "Scan Timeout ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{timemax} secs) while processing";}elsif ($@ eq "php\n") {$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR = "\x{70}\x{68}\x{70}\x{20}\x{49}\x{6e}\x{74}\x{65}\x{72}\x{70}\x{72}\x{65}\x{74}\x{65}\x{72}\x{20}\x{54}\x{69}\x{6d}\x{65}\x{6f}\x{75}\x{74}\x{20}\x{77}\x{68}\x{69}\x{6c}\x{65}\x{20}\x{70}\x{72}\x{6f}\x{63}\x{65}\x{73}\x{73}\x{69}\x{6e}\x{67}";} else {$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR = "Scan Error [$@] while processing";}&CBDBHF4FTMDO66Z6OHTIGZRMCHIXQCE8MWC6LBOOLOJ2C737D0P;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{report}) {open (my $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, "\x{3e}\x{3e}", $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{report});flock ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, LOCK_EX);print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "\# $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR:\n'$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK'\n";close ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI);}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YCONREP}) {open (my $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, "\x{3e}\x{3e}", $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YCONREP});flock ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, LOCK_EX);print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "\# $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR:\n'$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK'\n";close ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI);}unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "\# $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR:\n'$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK'\n"}}exit;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{wttw} and ($< == 0)) {if (-f $ARGV[0]) {my ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK, undef) = fileparse($ARGV[0]);unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{force}) {unless (&CZ3N3LKJCGS7BW8JZ2LH5ED0CAVFFITLPVYLRDNLYG9W5MD554T('PING') eq 'PONG') {print "Error: Unable to connect to clamd.\n\n";print "You must have a working ClamAV configuration to submit files.\n";exit;}unless (&CL864EBGPXXYXPVXUSAFV45RQLQLJE183PCIO9CLTP6C07RKZJQ($ARGV[0]) =~ /^application\/(x-script|x-c|x-perl|x-python|x-java|x-ruby|x-asp|x-jsp|x-php|x-phpimage)/) {print "Error: File is not a script.\n\n";print "You can only submit script exploit files, not binaries or defacements or injected html files, etc.\n";exit;}print "Checking file...\n";$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{exploitscan} = 1;$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{virusscan} = 1;$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet} = 1;$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{options} = $CDBBIEWPHHGPFTJ3WRX2MLN8AQR7PXJKHGG49LOFRVM69SQ3NRR;$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{sizemax} = 999999999;delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{deep};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{mail};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{report};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YSKIPREG};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YSKIPMD5};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YSKIPFPREGEX};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YCONREP};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{summary};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{script};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{logfile};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ignore};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{voptions};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{qoptions};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{soptions};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{doptions};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{sversionscan};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{xtra};&C8FY9P4M3SRG74LKLZ4HLH6JS28ZMYPTOKKE96SCRLI5CE676RV;&CFQQVI40WWJQD80SV9R841550LE2UYB5L6T7HEAPFCJINMTHB6C(abs_path($ARGV[0]));}if ($C94ICU8JH5SUI65ZVEHJ1HVY0DW0W4JRY3N9FKA98MZ716ZUCS2 or $CFEIT2IDGHWUSQVPWT5ELK518FZHCXWD6G84E7F0TRH1JL8OFZ7) {print "Error: [$ARGV[0]] is already detected as a virus or fingerprint:\n\n$CSI9RDCS7TJCBWV5UTINKTJ7E45E3KF0VNKJXO9GGTWPUZQ64N3\n";print "File not submitted.\n";} else {my (undef,$C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4) = split(/\n/,&CTH1GXS0RFTIRQ2UWXVZUXBYNDCQRMNOVPGA7H87SH7RROP2SQI);$C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4 =~ s/|<\/b>//g;my $C2VRA18CIOEA936V16QMC7DMG1AO6TDUWAX3J6Z6I9G0KF5ZPCU = "\x{63}\x{78}\x{73}".time;open (my $CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL, "\x{3c}", $ARGV[0]);flock ($CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL, LOCK_SH);my $CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T = do {local $/; <$CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL>};close ($CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL);my $CUALPWEP3OIYZCXIFOVKE9739LR7DIA8CRWPZUQK49T89S5IL3D = Digest::MD5->new;$CUALPWEP3OIYZCXIFOVKE9739LR7DIA8CRWPZUQK49T89S5IL3D->add($CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T);my $CP7JNZF537EGQ2GPI81ZTQEMEVF7LWSMSUADNEGLNUXZN2HAZVR = $CUALPWEP3OIYZCXIFOVKE9739LR7DIA8CRWPZUQK49T89S5IL3D->hexdigest;$CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T = encode_base64($CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T);if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{force}) {$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{comment} .= " (forced)"}my $CDM8YAKE7FY186Y1VOAE853UF3QWMQ4J4E686UOZ70DGTS4NGYZ = localtime();$CDM8YAKE7FY186Y1VOAE853UF3QWMQ4J4E686UOZ70DGTS4NGYZ =~ s/^(\w+)\s+(\w+)\s+(\d+)\s+(\d+:\d+:\d+)\s+(\d+)$/$1, $3 $2 $5 $4/;open (my $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, "|-", "/usr/sbin/sendmail -t");print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "From: root\n";print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "To: cxs\@configserver.com\n";print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "MIME-Version: 1.0\n";print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "Content-Type: multipart/mixed; boundary=\"------------$C2VRA18CIOEA936V16QMC7DMG1AO6TDUWAX3J6Z6I9G0KF5ZPCU\"\n";print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "Subject: Exploit Submission\n\n";print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "Date: $CDM8YAKE7FY186Y1VOAE853UF3QWMQ4J4E686UOZ70DGTS4NGYZ $CA0V9VLS7TMONLE6E2ULF4EXHBDMTT2O0DX1SJ2MSCLN4580DC4";print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "This is a multi-part message in MIME format.\n\n";print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "--------------$C2VRA18CIOEA936V16QMC7DMG1AO6TDUWAX3J6Z6I9G0KF5ZPCU\n";print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "Content-Type: text/plain;\n";print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "Content-Transfer-Encoding: 7bit\n\n";print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "Reported by: $C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4\n";print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "MD5: $CP7JNZF537EGQ2GPI81ZTQEMEVF7LWSMSUADNEGLNUXZN2HAZVR\n";print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "Comment: $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{comment}\n\n";print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "--------------$C2VRA18CIOEA936V16QMC7DMG1AO6TDUWAX3J6Z6I9G0KF5ZPCU\n";print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "Content-Type: text/plain;\n";print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "Content-Transfer-Encoding: Base64\n";print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "Content-Disposition: attachment; filename=\"$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK\"\n\n";print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI $CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T;print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "\n--------------$C2VRA18CIOEA936V16QMC7DMG1AO6TDUWAX3J6Z6I9G0KF5ZPCU--\n";close ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI);print "File [$ARGV[0]] has been sent to ConfigServer\n";}} else {print "[$ARGV[0]] is not a file or does not exist\n";}exit;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wstart} and ($< == 0)) {$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet} = 1;$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{background} = 0;unless (defined $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wmaxchild}) {$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wmaxchild} = 3}unless (defined $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wsleep}) {$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wsleep} = 3}unless (defined $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wrefresh}) {$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wrefresh} = 7}unless (defined $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wrateignore}) {$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wrateignore} = 0}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wmaxchild} < 1) {$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wmaxchild} = 5}}my $CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT = "\n----------- SCAN REPORT -----------\n";my $CSTCNMOXFYS70BW67FIUZF22LXMGP2G2R61KFAJFGI42ZEG528M = "

$CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT

\n";my $CDM8YAKE7FY186Y1VOAE853UF3QWMQ4J4E686UOZ70DGTS4NGYZ = localtime();$CDM8YAKE7FY186Y1VOAE853UF3QWMQ4J4E686UOZ70DGTS4NGYZ =~ s/^(\w+)\s+(\w+)\s+(\d+)\s+(\d+:\d+:\d+)\s+(\d+)$/$1, $3 $2 $5 $4/;my $CFZMGKK37G7EZHBTJ7S8C4UAUI5AQL74RPW0GAFMR0XZICG682A = "TimeStamp: $CDM8YAKE7FY186Y1VOAE853UF3QWMQ4J4E686UOZ70DGTS4NGYZ $CA0V9VLS7TMONLE6E2ULF4EXHBDMTT2O0DX1SJ2MSCLN4580DC4";$CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT .= $CFZMGKK37G7EZHBTJ7S8C4UAUI5AQL74RPW0GAFMR0XZICG682A;$CSTCNMOXFYS70BW67FIUZF22LXMGP2G2R61KFAJFGI42ZEG528M .= "

$CFZMGKK37G7EZHBTJ7S8C4UAUI5AQL74RPW0GAFMR0XZICG682A

\n";$CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT .= "\n(/usr/sbin/cxs";my $CWFKVIKQAQZBDY9751SMUYHZ3VK94MYJ3T0AYK8OYYBY4A0543S = "\x{2f}\x{75}\x{73}\x{72}\x{2f}\x{73}\x{62}\x{69}\x{6e}\x{2f}\x{63}\x{78}\x{73}";my $C5TLP319Y2EZNV9ZUVCA001D6WD4ACBR3WC0WAWDC28GZQ9N17J;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YCMD}) {$C5TLP319Y2EZNV9ZUVCA001D6WD4ACBR3WC0WAWDC28GZQ9N17J = 1;delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YCMD};}foreach my $CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ (sort {lc($a) cmp lc($b)} keys %CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC) {if ($CADGP33N3EFBE869GNQ2N2GNW4OSIZF0CXE9LHLPWUPVGSRFXMM{$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ}) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ}) {$CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT .= " --$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ";$CWFKVIKQAQZBDY9751SMUYHZ3VK94MYJ3T0AYK8OYYBY4A0543S .= " --$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ";}elsif ($C50SFUHQ8EGUZGF8A7LUAM3OPQ2TDG4YLJ4DH6QYPB1DYPF1S5Y{$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ}) {$CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT .= " --no$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ";$CWFKVIKQAQZBDY9751SMUYHZ3VK94MYJ3T0AYK8OYYBY4A0543S .= " --no$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ";}} else {$CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT .= " --$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ}";$CWFKVIKQAQZBDY9751SMUYHZ3VK94MYJ3T0AYK8OYYBY4A0543S .= " --$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ}";}}if ($ARGV[0] and !$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wstart}) {$CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT .= " $ARGV[0]"; $CWFKVIKQAQZBDY9751SMUYHZ3VK94MYJ3T0AYK8OYYBY4A0543S .= " $ARGV[0]"}if ($C5TLP319Y2EZNV9ZUVCA001D6WD4ACBR3WC0WAWDC28GZQ9N17J) {print "$CWFKVIKQAQZBDY9751SMUYHZ3VK94MYJ3T0AYK8OYYBY4A0543S\n";exit;}$CWFKVIKQAQZBDY9751SMUYHZ3VK94MYJ3T0AYK8OYYBY4A0543S = "($CWFKVIKQAQZBDY9751SMUYHZ3VK94MYJ3T0AYK8OYYBY4A0543S)";$CSI9RDCS7TJCBWV5UTINKTJ7E45E3KF0VNKJXO9GGTWPUZQ64N3 = "$CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT)\n\n";if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{report}) {open (my $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, "\x{3e}\x{3e}", $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{report});flock ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, LOCK_EX);print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI $CSI9RDCS7TJCBWV5UTINKTJ7E45E3KF0VNKJXO9GGTWPUZQ64N3;close ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI);}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YCONREP}) {open (my $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, "\x{3e}\x{3e}", $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YCONREP});flock ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, LOCK_EX);print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI $CSI9RDCS7TJCBWV5UTINKTJ7E45E3KF0VNKJXO9GGTWPUZQ64N3;close ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI);}$C6ED9C559BIG3Y1V6R397GX7QB7KUKP199MFZE8UMBUIQQR32GP = "
\n$CSTCNMOXFYS70BW67FIUZF22LXMGP2G2R61KFAJFGI42ZEG528M

$CWFKVIKQAQZBDY9751SMUYHZ3VK94MYJ3T0AYK8OYYBY4A0543S

\n

\n";if ($CAY7281IWNFUBA31W86GLDL6ZL7T4F4T68MTIV0MX7DP8OSJ1GE ne "") {$CSI9RDCS7TJCBWV5UTINKTJ7E45E3KF0VNKJXO9GGTWPUZQ64N3 .= "$CAY7281IWNFUBA31W86GLDL6ZL7T4F4T68MTIV0MX7DP8OSJ1GE\n";$C6ED9C559BIG3Y1V6R397GX7QB7KUKP199MFZE8UMBUIQQR32GP .= "

$CAY7281IWNFUBA31W86GLDL6ZL7T4F4T68MTIV0MX7DP8OSJ1GE

\n";}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YSVERSIONS} and ($< == 0)) {foreach my $CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ (keys %CT0KT1EF15LOLQNEBFUQ0I4SSQL48S4DIIDJXVDANKBEASZY5YH) {print "$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ = $CT0KT1EF15LOLQNEBFUQ0I4SSQL48S4DIIDJXVDANKBEASZY5YH{$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ}\n";}exit;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wstart} and ($< == 0)) {$C6N3PF0KN8SVVNH6SVHMV8X3GEKQP9DECMRJ5S1Y42ZZ5LB6NFG = $CSI9RDCS7TJCBWV5UTINKTJ7E45E3KF0VNKJXO9GGTWPUZQ64N3;$CINL85KC9B6THSNY3ZNA1OH7Q2JVW264GBCJBIQS43A2POPWMWX = $C6ED9C559BIG3Y1V6R397GX7QB7KUKP199MFZE8UMBUIQQR32GP;sysopen (my $CM5BI5GT1O9TC7BHGF98ENNCSP2VKF7WCF3I8W60WVOXTNSTFKY, "\x{2f}\x{76}\x{61}\x{72}\x{2f}\x{6c}\x{6f}\x{67}\x{2f}\x{63}\x{78}\x{73}\x{77}\x{61}\x{74}\x{63}\x{68}\x{2e}\x{6c}\x{6f}\x{67}", O_WRONLY | O_APPEND | O_CREAT);flock ($CM5BI5GT1O9TC7BHGF98ENNCSP2VKF7WCF3I8W60WVOXTNSTFKY, LOCK_EX);close ($CM5BI5GT1O9TC7BHGF98ENNCSP2VKF7WCF3I8W60WVOXTNSTFKY);chmod (0600, "\x{2f}\x{76}\x{61}\x{72}\x{2f}\x{6c}\x{6f}\x{67}\x{2f}\x{63}\x{78}\x{73}\x{77}\x{61}\x{74}\x{63}\x{68}\x{2e}\x{6c}\x{6f}\x{67}");chown (0, 0, "\x{2f}\x{76}\x{61}\x{72}\x{2f}\x{6c}\x{6f}\x{67}\x{2f}\x{63}\x{78}\x{73}\x{77}\x{61}\x{74}\x{63}\x{68}\x{2e}\x{6c}\x{6f}\x{67}");my $C4L95A529FUX95761W7KRDG64WEHROJV4W90WBG1XPZ0YO34EVU;$CYWALXNWWWGZ9BGIJI5KLBP37ZJKSLYR6V96J9TZ434O8HD5C7N = "\x{2f}\x{76}\x{61}\x{72}\x{2f}\x{72}\x{75}\x{6e}\x{2f}\x{63}\x{78}\x{73}\x{77}\x{61}\x{74}\x{63}\x{68}\x{2e}\x{70}\x{69}\x{64}";sysopen (PIDFILE, $CYWALXNWWWGZ9BGIJI5KLBP37ZJKSLYR6V96J9TZ434O8HD5C7N, O_RDWR | O_CREAT) or &CCJ42B7QFJ99D91LK4W715A5Z56AANTUS7NGP5I2F972SFCV0V2("\x{41}\x{6e}\x{6f}\x{74}\x{68}\x{65}\x{72}\x{20}\x{69}\x{6e}\x{73}\x{74}\x{61}\x{6e}\x{63}\x{65}\x{20}\x{6f}\x{66}\x{20}\x{63}\x{78}\x{73}\x{77}\x{61}\x{74}\x{63}\x{68}\x{20}\x{69}\x{73}\x{20}\x{72}\x{75}\x{6e}\x{6e}\x{69}\x{6e}\x{67}");flock (PIDFILE, LOCK_EX | LOCK_NB) or &CCJ42B7QFJ99D91LK4W715A5Z56AANTUS7NGP5I2F972SFCV0V2("\x{41}\x{6e}\x{6f}\x{74}\x{68}\x{65}\x{72}\x{20}\x{69}\x{6e}\x{73}\x{74}\x{61}\x{6e}\x{63}\x{65}\x{20}\x{6f}\x{66}\x{20}\x{63}\x{78}\x{73}\x{77}\x{61}\x{74}\x{63}\x{68}\x{20}\x{69}\x{73}\x{20}\x{72}\x{75}\x{6e}\x{6e}\x{69}\x{6e}\x{67}");print "cxs Watch daemon starting - logging to /var/log/cxswatch.log\n";if ($C4L95A529FUX95761W7KRDG64WEHROJV4W90WBG1XPZ0YO34EVU = fork) {exit 0;} elsif (defined($C4L95A529FUX95761W7KRDG64WEHROJV4W90WBG1XPZ0YO34EVU)) {$C4L95A529FUX95761W7KRDG64WEHROJV4W90WBG1XPZ0YO34EVU = $$;} else {die "Error: Unable to fork: $!";}chdir("\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}");close (STDIN);close (STDOUT);close (STDERR);open STDIN, "\x{3c}","/dev/null";open STDOUT, "\x{3e}","/dev/null";open STDERR, "\x{3e}","/dev/null";setsid();if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {open (STDERR, "\x{3e}\x{3e}", "/var/log/cxswatch.log")}if ($CAY7281IWNFUBA31W86GLDL6ZL7T4F4T68MTIV0MX7DP8OSJ1GE ne "") {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ($CAY7281IWNFUBA31W86GLDL6ZL7T4F4T68MTIV0MX7DP8OSJ1GE)}local $0 = "\x{63}\x{78}\x{73}\x{77}\x{61}\x{74}\x{63}\x{68}\x{20}\x{73}\x{74}\x{61}\x{72}\x{74}\x{69}\x{6e}\x{67}\x{2e}\x{2e}\x{2e}";seek (PIDFILE, 0, 0);truncate (PIDFILE, 0);print PIDFILE "$C4L95A529FUX95761W7KRDG64WEHROJV4W90WBG1XPZ0YO34EVU\n";&CP0EPHOTT0D24K5TP9BF3TTRMWNHJ3ZSS151SOMPR2VJMITAI20;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{user} and ($< == 0)) {if (time - $st_mtime > 604800 and ($< == 0)) {&CTH1GXS0RFTIRQ2UWXVZUXBYNDCQRMNOVPGA7H87SH7RROP2SQI}@CAOX3Z1V1JB3ZPJUBDK13ZPY462GPQ94BMYVDOEIU448H4NMZ5F = (sp1it($CAOQUH6EYUZJY26NWPJ2ORNE2EFW7Y7J4CDK7FNRGNH8BR58TLN[4]));if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{background}) {&C6GBP91D85ZKQFVCLF8EDM8EF3RT9U2QD0JG7KO186N2104M9FD}&CBEH8NZNUFOE3BBNWU39FPR2KVVFIGH1SP1QIWFJMOEC6KV9V8B($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{user});}elsif ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{allusers} and ($< == 0)) {if (time - $st_mtime > 604800 and ($< == 0)) {&CTH1GXS0RFTIRQ2UWXVZUXBYNDCQRMNOVPGA7H87SH7RROP2SQI}@CAOX3Z1V1JB3ZPJUBDK13ZPY462GPQ94BMYVDOEIU448H4NMZ5F = (sp1it($CAOQUH6EYUZJY26NWPJ2ORNE2EFW7Y7J4CDK7FNRGNH8BR58TLN[4]));if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{background}) {&C6GBP91D85ZKQFVCLF8EDM8EF3RT9U2QD0JG7KO186N2104M9FD}&CJRJJKPUV2T9C4UKVSHSBC42IEQ9AO41S3CEIKJQCA9DID3OOWO;}elsif ($ARGV[0]) {unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ftp} or $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{cgi}) {@CAOX3Z1V1JB3ZPJUBDK13ZPY462GPQ94BMYVDOEIU448H4NMZ5F = (sp1it($CAOQUH6EYUZJY26NWPJ2ORNE2EFW7Y7J4CDK7FNRGNH8BR58TLN[4]))}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{background}) {&C6GBP91D85ZKQFVCLF8EDM8EF3RT9U2QD0JG7KO186N2104M9FD}&CH55GB9NOBNK99R383T0RINM2IH5U83S8KD9FXB3IW0HMXCWA86($ARGV[0]);}else {require Pod::Usage;import Pod::Usage;pod2usage(-verbose => 0);exit;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wstart} and ($< == 0)) {local $0 = "\x{63}\x{78}\x{73}\x{77}\x{61}\x{74}\x{63}\x{68}";undef $CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB;&C5S0KEBVVUKVDJ7Z3I4X8O7Y2QUTX6G81NI9W7J7A29MUYZ51A3;exit;}if (($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{blearn} or $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{bforget})) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Ybmaster}) {Storable::nstore \%{$CCTF4D5A1V0H3RNCTWQSHF4VL77VSJ2FTUWM9WJ2IVHQI7D9RJJ}, "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{62}\x{61}\x{79}\x{65}\x{73}";} else {Storable::nstore \%{$CYZEOFNV1P33QMN5GHX55MS9R17IZTAIYKWN2MD7TURFOSPA6BZ}, "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{62}\x{61}\x{79}\x{65}\x{73}\x{2e}\x{6c}\x{6f}\x{63}\x{61}\x{6c}";}}my $CYKCV0GLLMN9TA76YA8YO18AE50JDYL8400UHMGG1D4ZZ50LRNK;my $C36587Q7WUTONXFGV15H8OL9EUGI6FF3WLKVFM2EAV2POMGDPDR;my $CMBZJ92OYLQHW5Z6PY6E6E7G719K2M3RD99929MQVISW1124RHU;my $CU9WWH00GNVZKAGXBC43BJHX4S346ULBXJ6GA43L6ORPQB8OVC9;my $CG8JV60T1PU4K3STSSNAJXY642H7F3RVEDUYY5MJ3D9Z1DNFCJ3;my $CSJ8OTS79CBF1X7SIQ8OHW3NRBG2C61SEFK5AHV4VT4PRPRONGV;my $CLKFW5TBP06PRRJN49272SX6OO6ZO3WF77K9W2AFMZNXWMJGG99;my $C86HY5E4ZHG1NZPVFBEAF4DJDY873RN8LHUB6FOL2SG0ZGHKK70;my @CMREZRKR4WHQRG7THXZ3ENZAXJRPXK2U9UUX2HZVMHB1BE9NNB1;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{cgi}) {if ($CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{script}{$ENV{SCRIPT_FILENAME}}) {$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{susp} = 0}foreach my $CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ (keys %{$CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{pscript}}) {if ($ENV{SCRIPT_FILENAME} =~ /$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ/) {$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{susp} = 0;last;}}if ($CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{susp}) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{delete} and $CDAGOJ2XIJYJ7S8BX04R1PKN46XJY1WPV6NF4E9B1W31DUY7JJ2) {print "0\n";$C36587Q7WUTONXFGV15H8OL9EUGI6FF3WLKVFM2EAV2POMGDPDR = 1;}elsif ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine} and $CKWWWR0K6JCTN3GEE6IC5F5SDC8CYPBAIDBNTFF6W98MXZRHN69) {print "0\n";($CMBZJ92OYLQHW5Z6PY6E6E7G719K2M3RD99929MQVISW1124RHU, $CU9WWH00GNVZKAGXBC43BJHX4S346ULBXJ6GA43L6ORPQB8OVC9) = &CAALXXCPP3SW0TVB9J0157CKU1OBPCBXTHDVJSI2JO29GAEVUDH($ARGV[0],$CSI9RDCS7TJCBWV5UTINKTJ7E45E3KF0VNKJXO9GGTWPUZQ64N3);}else {print "1\n"}} else {print "1\n";if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{logfile} and $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{cleanlog}) {my @CQHPLEZHY352JEX2GMK29FQHROFTPT1LR84FJ5VG383OO3IXM9U = split(/\s+/,scalar localtime);if ($CQHPLEZHY352JEX2GMK29FQHROFTPT1LR84FJ5VG383OO3IXM9U[2] < 10) {$CQHPLEZHY352JEX2GMK29FQHROFTPT1LR84FJ5VG383OO3IXM9U[2] = "\x{20}".$CQHPLEZHY352JEX2GMK29FQHROFTPT1LR84FJ5VG383OO3IXM9U[2]}open (my $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, "\x{3e}\x{3e}", $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{logfile});flock ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, LOCK_EX);print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "$CQHPLEZHY352JEX2GMK29FQHROFTPT1LR84FJ5VG383OO3IXM9U[1] $CQHPLEZHY352JEX2GMK29FQHROFTPT1LR84FJ5VG383OO3IXM9U[2] $CQHPLEZHY352JEX2GMK29FQHROFTPT1LR84FJ5VG383OO3IXM9U[3] $CQAVQMI527C1D9CSUZTERZ6POZ64SGIT3WX1PO4RFYUGE4HW721 cxs[$$]: IP:$ENV{REMOTE_ADDR} User:$CNMA1Y6EDV3GZMK7YUVJYOO9NI4QGFKVYMW8O2MKUNWIMIISXYY Web upload script:['$ENV{SCRIPT_FILENAME}'] - clean\n";close ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI);}}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YSKIPCGI} and not -e $ENV{SCRIPT_FILENAME}) {$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{susp} = 0}}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ftp}) {$C86HY5E4ZHG1NZPVFBEAF4DJDY873RN8LHUB6FOL2SG0ZGHKK70 = $ARGV[0];my $CJ7KTFS6S0UI63GXKKXABFFKE0PTS384L400W8L99ZIJ4WBXYFC = ( getpwnam($ENV{UPLOAD_USER}) )[7];if ($CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{file}{$ARGV[0]}) {$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{susp} = 0}foreach my $CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ (keys %{$CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{pfile}}) {if ($ARGV[0] =~ /$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ/) {$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{susp} = 0 ; last}}my $C9212UJO7SJFQDTJ1K1UC5PLEPUEC5XF4OFU8WLPJLQE9BH7XLP = $ARGV[0];$C9212UJO7SJFQDTJ1K1UC5PLEPUEC5XF4OFU8WLPJLQE9BH7XLP =~ s/$CJ7KTFS6S0UI63GXKKXABFFKE0PTS384L400W8L99ZIJ4WBXYFC//;if ($CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{hfile}{$C9212UJO7SJFQDTJ1K1UC5PLEPUEC5XF4OFU8WLPJLQE9BH7XLP}) {$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{susp} = 0}if ($CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{susp}) {unless ($ENV{UPLOAD_IP}) {&CQO99WW73ZXVM5GJB6YIAOINB037Y0M4S4QNKTYANK02D6A4WIT}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{delete} and $CDAGOJ2XIJYJ7S8BX04R1PKN46XJY1WPV6NF4E9B1W31DUY7JJ2) {my $CJ7KTFS6S0UI63GXKKXABFFKE0PTS384L400W8L99ZIJ4WBXYFC = ( getpwnam($ENV{UPLOAD_USER}) )[7];if ($CJ7KTFS6S0UI63GXKKXABFFKE0PTS384L400W8L99ZIJ4WBXYFC and ($ARGV[0] =~ /^$CJ7KTFS6S0UI63GXKKXABFFKE0PTS384L400W8L99ZIJ4WBXYFC/) and (-f $ARGV[0])) {unlink $ARGV[0];$C36587Q7WUTONXFGV15H8OL9EUGI6FF3WLKVFM2EAV2POMGDPDR = 1;if (-e $ARGV[0]) {$C36587Q7WUTONXFGV15H8OL9EUGI6FF3WLKVFM2EAV2POMGDPDR = 2}}}elsif ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine} and $CKWWWR0K6JCTN3GEE6IC5F5SDC8CYPBAIDBNTFF6W98MXZRHN69) {($CMBZJ92OYLQHW5Z6PY6E6E7G719K2M3RD99929MQVISW1124RHU, $CU9WWH00GNVZKAGXBC43BJHX4S346ULBXJ6GA43L6ORPQB8OVC9) = &CAALXXCPP3SW0TVB9J0157CKU1OBPCBXTHDVJSI2JO29GAEVUDH($ARGV[0],$CSI9RDCS7TJCBWV5UTINKTJ7E45E3KF0VNKJXO9GGTWPUZQ64N3);}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{block} and $ENV{UPLOAD_IP} and ($ENV{UPLOAD_IP} ne "\x{75}\x{6e}\x{6b}\x{6e}\x{6f}\x{77}\x{6e}")) {if ($ENV{UPLOAD_IP} =~ /^(\d+\.\d+\.\d+\.\d+)$/) {my ($CZUJNXI26LZ9P859WCCK3ZYF4V1G2N358OC0Z6L3KST6IB3ATYD, $CM799TTG1N1ZQINHFEE7ZAJ136255094X6E9O750ZN5UK2146UZ);my $C4L95A529FUX95761W7KRDG64WEHROJV4W90WBG1XPZ0YO34EVU = open3($CZUJNXI26LZ9P859WCCK3ZYF4V1G2N358OC0Z6L3KST6IB3ATYD, $CM799TTG1N1ZQINHFEE7ZAJ136255094X6E9O750ZN5UK2146UZ, $CM799TTG1N1ZQINHFEE7ZAJ136255094X6E9O750ZN5UK2146UZ, "\x{2f}\x{75}\x{73}\x{72}\x{2f}\x{73}\x{62}\x{69}\x{6e}\x{2f}\x{63}\x{73}\x{66}","-d",$1,"cxs: User:$ENV{UPLOAD_VUSER} IP:$ENV{UPLOAD_IP} FTP upload:[$C86HY5E4ZHG1NZPVFBEAF4DJDY873RN8LHUB6FOL2SG0ZGHKK70]");@CMREZRKR4WHQRG7THXZ3ENZAXJRPXK2U9UUX2HZVMHB1BE9NNB1 = <$CM799TTG1N1ZQINHFEE7ZAJ136255094X6E9O750ZN5UK2146UZ>;waitpid ($C4L95A529FUX95761W7KRDG64WEHROJV4W90WBG1XPZ0YO34EVU, 0);chomp @CMREZRKR4WHQRG7THXZ3ENZAXJRPXK2U9UUX2HZVMHB1BE9NNB1;$CYKCV0GLLMN9TA76YA8YO18AE50JDYL8400UHMGG1D4ZZ50LRNK = 1;}}} else {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{logfile} and $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{cleanlog}) {unless ($ENV{UPLOAD_IP}) {&CQO99WW73ZXVM5GJB6YIAOINB037Y0M4S4QNKTYANK02D6A4WIT}my @CQHPLEZHY352JEX2GMK29FQHROFTPT1LR84FJ5VG383OO3IXM9U = split(/\s+/,scalar localtime);if ($CQHPLEZHY352JEX2GMK29FQHROFTPT1LR84FJ5VG383OO3IXM9U[2] < 10) {$CQHPLEZHY352JEX2GMK29FQHROFTPT1LR84FJ5VG383OO3IXM9U[2] = "\x{20}".$CQHPLEZHY352JEX2GMK29FQHROFTPT1LR84FJ5VG383OO3IXM9U[2]}open (my $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, "\x{3e}\x{3e}", $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{logfile});flock ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, LOCK_EX);print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "$CQHPLEZHY352JEX2GMK29FQHROFTPT1LR84FJ5VG383OO3IXM9U[1] $CQHPLEZHY352JEX2GMK29FQHROFTPT1LR84FJ5VG383OO3IXM9U[2] $CQHPLEZHY352JEX2GMK29FQHROFTPT1LR84FJ5VG383OO3IXM9U[3] $CQAVQMI527C1D9CSUZTERZ6POZ64SGIT3WX1PO4RFYUGE4HW721 cxs[$$]: User:$ENV{UPLOAD_VUSER} FTP upload:['$C86HY5E4ZHG1NZPVFBEAF4DJDY873RN8LHUB6FOL2SG0ZGHKK70'] - clean\n";close ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI);}}}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{mail}) {if (!$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{susp} and ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ftp} or $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{cgi})) {} else {my $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR;my $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ftp}) {$C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS = $ENV{UPLOAD_USER};my $CDM8YAKE7FY186Y1VOAE853UF3QWMQ4J4E686UOZ70DGTS4NGYZ = localtime();$CDM8YAKE7FY186Y1VOAE853UF3QWMQ4J4E686UOZ70DGTS4NGYZ =~ s/^(\w+)\s+(\w+)\s+(\d+)\s+(\d+:\d+:\d+)\s+(\d+)$/$1, $3 $2 $5 $4/;$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "Scanning FTP file...\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "Time : $CDM8YAKE7FY186Y1VOAE853UF3QWMQ4J4E686UOZ70DGTS4NGYZ $CA0V9VLS7TMONLE6E2ULF4EXHBDMTT2O0DX1SJ2MSCLN4580DC4\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "FTP user : $ENV{UPLOAD_VUSER}\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "FTP file : $C86HY5E4ZHG1NZPVFBEAF4DJDY873RN8LHUB6FOL2SG0ZGHKK70\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "FTP owner : $ENV{UPLOAD_USER} ($ENV{UPLOAD_UID})\n";if ($C6E69NIIW3OE6JAOB4116ANJ09TPXV7T6WFO28WN3UQTURG5G5M) {$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "FTP file md5sum : $C6E69NIIW3OE6JAOB4116ANJ09TPXV7T6WFO28WN3UQTURG5G5M\n"}$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "Remote IP : $ENV{UPLOAD_IP}\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "\x{42}\x{6c}\x{6f}\x{63}\x{6b}\x{65}\x{64}\x{20}\x{20}\x{20}\x{20}\x{20}\x{20}\x{20}\x{20}\x{20}\x{3a}\x{20}";if ($CYKCV0GLLMN9TA76YA8YO18AE50JDYL8400UHMGG1D4ZZ50LRNK) {if ($CMREZRKR4WHQRG7THXZ3ENZAXJRPXK2U9UUX2HZVMHB1BE9NNB1[0] =~ /^Adding/) {$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "Yes\n";} else {$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "csf reported:\"$CMREZRKR4WHQRG7THXZ3ENZAXJRPXK2U9UUX2HZVMHB1BE9NNB1[0]\"\n";}} else {$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "No\n"}$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "\x{44}\x{65}\x{6c}\x{65}\x{74}\x{65}\x{64}\x{20}\x{20}\x{20}\x{20}\x{20}\x{20}\x{20}\x{20}\x{20}\x{3a}\x{20}";if ($C36587Q7WUTONXFGV15H8OL9EUGI6FF3WLKVFM2EAV2POMGDPDR == 1) {$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "Yes\n"} elsif ($C36587Q7WUTONXFGV15H8OL9EUGI6FF3WLKVFM2EAV2POMGDPDR == 2) {$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "No - failed\n"} else {$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "No\n"}$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "\x{51}\x{75}\x{61}\x{72}\x{61}\x{6e}\x{74}\x{69}\x{6e}\x{65}\x{64}\x{20}\x{20}\x{20}\x{20}\x{20}\x{3a}\x{20}";if ($CMBZJ92OYLQHW5Z6PY6E6E7G719K2M3RD99929MQVISW1124RHU == 1) {$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "Yes [$CG8JV60T1PU4K3STSSNAJXY642H7F3RVEDUYY5MJ3D9Z1DNFCJ3]\n\n"} elsif ($CMBZJ92OYLQHW5Z6PY6E6E7G719K2M3RD99929MQVISW1124RHU == 2) {$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "No - $CU9WWH00GNVZKAGXBC43BJHX4S346ULBXJ6GA43L6ORPQB8OVC9\n\n"} else {$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "No\n\n"}}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{cgi}) {$C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS = $C6P4WRF4UD6FGQHAPO5Y193SS3HUWQSMZJR9U2M2KWBT7P40ILB;my $CG9DF3ODGFRIZK2WLXFPYQRW7DIFICLVK6FAH2S8Z1N6AEE5A30 = "\x{68}\x{74}\x{74}\x{70}\x{3a}\x{2f}\x{2f}";if ($ENV{SERVER_PORT} eq "\x{34}\x{34}\x{33}") {$CG9DF3ODGFRIZK2WLXFPYQRW7DIFICLVK6FAH2S8Z1N6AEE5A30 = "https://"}$CG9DF3ODGFRIZK2WLXFPYQRW7DIFICLVK6FAH2S8Z1N6AEE5A30 .= $ENV{HTTP_HOST}.$ENV{REQUEST_URI};my $CDM8YAKE7FY186Y1VOAE853UF3QWMQ4J4E686UOZ70DGTS4NGYZ = localtime();$CDM8YAKE7FY186Y1VOAE853UF3QWMQ4J4E686UOZ70DGTS4NGYZ =~ s/^(\w+)\s+(\w+)\s+(\d+)\s+(\d+:\d+:\d+)\s+(\d+)$/$1, $3 $2 $5 $4/;$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "Scanning web upload script file...\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "Time : $CDM8YAKE7FY186Y1VOAE853UF3QWMQ4J4E686UOZ70DGTS4NGYZ $CA0V9VLS7TMONLE6E2ULF4EXHBDMTT2O0DX1SJ2MSCLN4580DC4\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "Web referer URL : $ENV{HTTP_REFERER}\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "Local IP : $ENV{SERVER_ADDR}\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "Web upload script user : $CNMA1Y6EDV3GZMK7YUVJYOO9NI4QGFKVYMW8O2MKUNWIMIISXYY ($<)\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "Web upload script owner: $C6P4WRF4UD6FGQHAPO5Y193SS3HUWQSMZJR9U2M2KWBT7P40ILB ($C5QH9EIKUJ4VZ33VSB5WJT6XVF3KXFJWX5BOIKHMHIP2GA45QQW)\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "Web upload script path : $ENV{SCRIPT_FILENAME}\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "Web upload script URL : $CG9DF3ODGFRIZK2WLXFPYQRW7DIFICLVK6FAH2S8Z1N6AEE5A30\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "Remote IP : $ENV{REMOTE_ADDR}\n";if ($C6E69NIIW3OE6JAOB4116ANJ09TPXV7T6WFO28WN3UQTURG5G5M) {$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "Upload data md5sum : $C6E69NIIW3OE6JAOB4116ANJ09TPXV7T6WFO28WN3UQTURG5G5M\n"}$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "\x{44}\x{65}\x{6c}\x{65}\x{74}\x{65}\x{64}\x{20}\x{20}\x{20}\x{20}\x{20}\x{20}\x{20}\x{20}\x{20}\x{20}\x{20}\x{20}\x{20}\x{20}\x{20}\x{20}\x{3a}\x{20}";if ($C36587Q7WUTONXFGV15H8OL9EUGI6FF3WLKVFM2EAV2POMGDPDR == 1) {$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "Yes\n"} elsif ($C36587Q7WUTONXFGV15H8OL9EUGI6FF3WLKVFM2EAV2POMGDPDR == 2) {$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "No - failed\n"} else {$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "No\n"}$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "\x{51}\x{75}\x{61}\x{72}\x{61}\x{6e}\x{74}\x{69}\x{6e}\x{65}\x{64}\x{20}\x{20}\x{20}\x{20}\x{20}\x{20}\x{20}\x{20}\x{20}\x{20}\x{20}\x{20}\x{3a}\x{20}";if ($CMBZJ92OYLQHW5Z6PY6E6E7G719K2M3RD99929MQVISW1124RHU == 1) {$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "Yes [$CG8JV60T1PU4K3STSSNAJXY642H7F3RVEDUYY5MJ3D9Z1DNFCJ3]\n\n"} elsif ($CMBZJ92OYLQHW5Z6PY6E6E7G719K2M3RD99929MQVISW1124RHU == 2) {$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "No - $CU9WWH00GNVZKAGXBC43BJHX4S346ULBXJ6GA43L6ORPQB8OVC9\n\n"} else {$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "No\n\n"}unless (-e $ENV{SCRIPT_FILENAME}) {$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "NOTE: This alert may be a ModSecurity false-positive as $ENV{SCRIPT_FILENAME} does not exist\n\n";}}my $CX7O1Y7ODBA1CL5FMKZ1Z831XZ2XSSEUKK6CO4MQ7SVPPMJKZ9C;if ($CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR ne "") {$CX7O1Y7ODBA1CL5FMKZ1Z831XZ2XSSEUKK6CO4MQ7SVPPMJKZ9C = "
$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR
\n"}$CX7O1Y7ODBA1CL5FMKZ1Z831XZ2XSSEUKK6CO4MQ7SVPPMJKZ9C .= "$C6ED9C559BIG3Y1V6R397GX7QB7KUKP199MFZE8UMBUIQQR32GP\n
\n\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= $CSI9RDCS7TJCBWV5UTINKTJ7E45E3KF0VNKJXO9GGTWPUZQ64N3;&CTRQDXFA23HUTJH7L7FYLCATCD4B8998Y6RWHZ3DGB5NP9CLED7("\x{72}\x{6f}\x{6f}\x{74}",$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{mail},$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR,$C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS,$CX7O1Y7ODBA1CL5FMKZ1Z831XZ2XSSEUKK6CO4MQ7SVPPMJKZ9C);if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{mail} and !$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "\nScan Report sent to $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{mail}\n"}}}unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{mail} or $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{report} or $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{web}) {print "\x{3c}\x{70}\x{72}\x{65}\x{3e}"}print "\n\n$CSI9RDCS7TJCBWV5UTINKTJ7E45E3KF0VNKJXO9GGTWPUZQ64N3";if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{web}) {print "\x{3c}\x{2f}\x{70}\x{72}\x{65}\x{3e}"}}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{report} and !$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "\nScan Report saved to $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{report}\n"}if (-e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{64}\x{65}\x{62}\x{75}\x{67}") {unlink "/etc/cxs/cxs.debug"}if (-e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{73}\x{6b}\x{69}\x{70}") {unlink "/etc/cxs/cxs.skip"}&CS4COKHXHTTSBZDJZ3YIFHXEVAETW2GV1ZZVO44EZKUCUFEAM6F;exit;sub C6GBP91D85ZKQFVCLF8EDM8EF3RT9U2QD0JG7KO186N2104M9FD {if (my $C4L95A529FUX95761W7KRDG64WEHROJV4W90WBG1XPZ0YO34EVU = fork) {exit 0;} elsif (defined($C4L95A529FUX95761W7KRDG64WEHROJV4W90WBG1XPZ0YO34EVU)) {$C4L95A529FUX95761W7KRDG64WEHROJV4W90WBG1XPZ0YO34EVU = $$;} else {die "Error: Unable to fork: $!";}chdir("\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}");close (STDIN);close (STDOUT);close (STDERR);open STDIN, "\x{3c}","/dev/null";open STDOUT, "\x{3e}","/dev/null";open STDERR, "\x{3e}","/dev/null";setsid();return;}sub CVP7A1YYX4PKDOQ008QWTKO3LBP9X4ZGIJBO3G2SKUO7WUD6WSB {open (my $CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY, "\x{3c}", "/etc/cxs/servers");flock ($CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY, LOCK_SH);my @CJQ85LGGU3W52QP1Q97UPIDXXBN2C5LQXY2RX6VRK8T04DW17BH = <$CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY>;close ($CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY);chomp @CJQ85LGGU3W52QP1Q97UPIDXXBN2C5LQXY2RX6VRK8T04DW17BH;for (my $CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO = @CJQ85LGGU3W52QP1Q97UPIDXXBN2C5LQXY2RX6VRK8T04DW17BH; --$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO;) {my $CRAI4YX5HCJWEPUQIP06CMC7C1M5G45JP2KDSWGQ6HJHSUTR6Z0 = int(rand($CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO+1));if ($CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO == $CRAI4YX5HCJWEPUQIP06CMC7C1M5G45JP2KDSWGQ6HJHSUTR6Z0) {next}@CJQ85LGGU3W52QP1Q97UPIDXXBN2C5LQXY2RX6VRK8T04DW17BH[$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO,$CRAI4YX5HCJWEPUQIP06CMC7C1M5G45JP2KDSWGQ6HJHSUTR6Z0] = @CJQ85LGGU3W52QP1Q97UPIDXXBN2C5LQXY2RX6VRK8T04DW17BH[$CRAI4YX5HCJWEPUQIP06CMC7C1M5G45JP2KDSWGQ6HJHSUTR6Z0,$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO];}foreach my $CYIZ6KLO6MPFWIDIK9ID30L9M7VS6K99VBJW75TREUNDH96BEBA (@CJQ85LGGU3W52QP1Q97UPIDXXBN2C5LQXY2RX6VRK8T04DW17BH) {$CYIZ6KLO6MPFWIDIK9ID30L9M7VS6K99VBJW75TREUNDH96BEBA = decode_base64($CYIZ6KLO6MPFWIDIK9ID30L9M7VS6K99VBJW75TREUNDH96BEBA);my ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU, $C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4) = &urlget("$CYIZ6KLO6MPFWIDIK9ID30L9M7VS6K99VBJW75TREUNDH96BEBA/cgi-bin/cxs/data.cgi","\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{64}\x{61}\x{74}\x{61}\x{2e}\x{6e}\x{65}\x{77}",1);if ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU) {print "Error retrieving license: [$C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4]\n";} else {move ("\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{64}\x{61}\x{74}\x{61}\x{2e}\x{6e}\x{65}\x{77}", $C1HRL32E4OKJUURY1TUA3B8BLDQ1HLJIFNZM6HLNCCD8VRG4U3P);chmod (0644 ,$C1HRL32E4OKJUURY1TUA3B8BLDQ1HLJIFNZM6HLNCCD8VRG4U3P);last;}}return;}sub CH55GB9NOBNK99R383T0RINM2IH5U83S8KD9FXB3IW0HMXCWA86 {my $CVW9BY3AK4HEC47WSJOWKTEBX6LV8LDVX8IBB7GDGSK5V8KKVN3 = shift;if (-d $CVW9BY3AK4HEC47WSJOWKTEBX6LV8LDVX8IBB7GDGSK5V8KKVN3) {$CVW9BY3AK4HEC47WSJOWKTEBX6LV8LDVX8IBB7GDGSK5V8KKVN3 = abs_path($CVW9BY3AK4HEC47WSJOWKTEBX6LV8LDVX8IBB7GDGSK5V8KKVN3);my $C1TDEYG3CF24G4F6XZFLL623BFL5E954XPBVPMC02NGCA82LJOX = gettimeofday();unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{web}) {print "\x{3c}\x{70}\x{3e}"}print "\nScanning $CVW9BY3AK4HEC47WSJOWKTEBX6LV8LDVX8IBB7GDGSK5V8KKVN3:\n";if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{web}) {print "\x{3c}\x{2f}\x{70}\x{3e}"}}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{report}) {open (my $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, "\x{3e}\x{3e}", $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{report});flock ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, LOCK_EX);print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "\nScanning $CVW9BY3AK4HEC47WSJOWKTEBX6LV8LDVX8IBB7GDGSK5V8KKVN3:\n";close ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI);}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YCONREP}) {open (my $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, "\x{3e}\x{3e}", $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YCONREP});flock ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, LOCK_EX);print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "\nScanning $CVW9BY3AK4HEC47WSJOWKTEBX6LV8LDVX8IBB7GDGSK5V8KKVN3:\n";close ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI);}$CSI9RDCS7TJCBWV5UTINKTJ7E45E3KF0VNKJXO9GGTWPUZQ64N3 .= "\nScanning $CVW9BY3AK4HEC47WSJOWKTEBX6LV8LDVX8IBB7GDGSK5V8KKVN3:\n";$C6ED9C559BIG3Y1V6R397GX7QB7KUKP199MFZE8UMBUIQQR32GP .= "
 
\n
Scanning $CVW9BY3AK4HEC47WSJOWKTEBX6LV8LDVX8IBB7GDGSK5V8KKVN3:
\n";if (&CWSU91BZP9L43ZX52Z21JTCWKFANQYCSSXA3GQDOYATTAX8LLAZ($CVW9BY3AK4HEC47WSJOWKTEBX6LV8LDVX8IBB7GDGSK5V8KKVN3)) {$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{ignore}++;} else {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wstart}) {find({preprocess => \&CL989JMKY532VL7A98V7SNESQH7KSAEV3ZNNQ860SA8UR0KHKUH, wanted => \&CQN1DQA0CUM8VECKFPPF06DAQM40WZ8TRDYXL009K2KJWBEZZJR}, $CVW9BY3AK4HEC47WSJOWKTEBX6LV8LDVX8IBB7GDGSK5V8KKVN3);} else {find({preprocess => \&CTKDC94I7RPKR9DWBH1D6HZ1V8O0EU0RXPLN2PZHH15OMJSH07B, wanted => \&CG32W86ZRVJ1HSWB8GETWFLJUB7N1TEAW1ZT84IPXBNEYSQA1IJ}, $CVW9BY3AK4HEC47WSJOWKTEBX6LV8LDVX8IBB7GDGSK5V8KKVN3);}}&C974QM1B5YIWQMIOO2R5ZVOLOVH5ANUZHGYPIK65Q7KIR21YLE6($C1TDEYG3CF24G4F6XZFLL623BFL5E954XPBVPMC02NGCA82LJOX);}elsif (-f $CVW9BY3AK4HEC47WSJOWKTEBX6LV8LDVX8IBB7GDGSK5V8KKVN3) {$CVW9BY3AK4HEC47WSJOWKTEBX6LV8LDVX8IBB7GDGSK5V8KKVN3 = abs_path($CVW9BY3AK4HEC47WSJOWKTEBX6LV8LDVX8IBB7GDGSK5V8KKVN3);my $C1TDEYG3CF24G4F6XZFLL623BFL5E954XPBVPMC02NGCA82LJOX = gettimeofday();unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{web}) {print "\x{3c}\x{70}\x{3e}"}print "\nScanning $CVW9BY3AK4HEC47WSJOWKTEBX6LV8LDVX8IBB7GDGSK5V8KKVN3:\n";if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{web}) {print "\x{3c}\x{2f}\x{70}\x{3e}"}}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{report}) {open (my $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, "\x{3e}\x{3e}", $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{report});flock ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, LOCK_EX);print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "\nScanning $CVW9BY3AK4HEC47WSJOWKTEBX6LV8LDVX8IBB7GDGSK5V8KKVN3:\n";close ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI);}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YCONREP}) {open (my $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, "\x{3e}\x{3e}", $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YCONREP});flock ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, LOCK_EX);print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "\nScanning $CVW9BY3AK4HEC47WSJOWKTEBX6LV8LDVX8IBB7GDGSK5V8KKVN3:\n";close ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI);}unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ftp} or $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{cgi}) {$CSI9RDCS7TJCBWV5UTINKTJ7E45E3KF0VNKJXO9GGTWPUZQ64N3 .= "\nScanning $CVW9BY3AK4HEC47WSJOWKTEBX6LV8LDVX8IBB7GDGSK5V8KKVN3:\n";$C6ED9C559BIG3Y1V6R397GX7QB7KUKP199MFZE8UMBUIQQR32GP .= "
 
\n
Scanning $CVW9BY3AK4HEC47WSJOWKTEBX6LV8LDVX8IBB7GDGSK5V8KKVN3:
\n";}if (&CWSU91BZP9L43ZX52Z21JTCWKFANQYCSSXA3GQDOYATTAX8LLAZ($CVW9BY3AK4HEC47WSJOWKTEBX6LV8LDVX8IBB7GDGSK5V8KKVN3)) {$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{ignore}++;} else {eval {local $SIG{__DIE__} = undef;local $SIG{'ALRM'} = sub {die "alarm\n"};alarm($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{timemax});undef $CCJCTZOXDRE09M5X98XOG041UL75MNTBCKGQD7UT9KMMV6FI6KU;undef $CMYOTIZTWN1ZUI43Y0KLMUK3G4X7Y8XIJNWW2W6E8M0PPQNZFK0;undef $C0AVALPVGF4BVRNLKLZJVO909NBXNIWEAAUZGO5OA4CS07SFYRZ;undef $C34A9NCW6MZ2D67OLQFN14WLURN8XIJTEL7472AY7Q2M7UWXYHN;undef $CKWWWR0K6JCTN3GEE6IC5F5SDC8CYPBAIDBNTFF6W98MXZRHN69;undef $CDAGOJ2XIJYJ7S8BX04R1PKN46XJY1WPV6NF4E9B1W31DUY7JJ2;undef $CMQ6UVJN7AJ2C6284755YRR5QYIJP8ADHI2VMEBND41APGVIFU7;&CFQQVI40WWJQD80SV9R841550LE2UYB5L6T7HEAPFCJINMTHB6C($CVW9BY3AK4HEC47WSJOWKTEBX6LV8LDVX8IBB7GDGSK5V8KKVN3);alarm(0);};alarm(0);if ($@) {my $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR;if ($@ eq "alarm\n") {unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "!"}$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR = "Scan Timeout ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{timemax} secs) while processing";}elsif ($@ eq "php\n") {unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "!"}$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR = "\x{70}\x{68}\x{70}\x{20}\x{49}\x{6e}\x{74}\x{65}\x{72}\x{70}\x{72}\x{65}\x{74}\x{65}\x{72}\x{20}\x{54}\x{69}\x{6d}\x{65}\x{6f}\x{75}\x{74}\x{20}\x{77}\x{68}\x{69}\x{6c}\x{65}\x{20}\x{70}\x{72}\x{6f}\x{63}\x{65}\x{73}\x{73}\x{69}\x{6e}\x{67}";} else {my $C9O9XOY4J3CO7G1TPGK7ZSW3XGRDOOF7UMX7FFQBGP5Y3DLSTJ1 = $@;chomp $C9O9XOY4J3CO7G1TPGK7ZSW3XGRDOOF7UMX7FFQBGP5Y3DLSTJ1;unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "%"}$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR = "Scan Error [$C9O9XOY4J3CO7G1TPGK7ZSW3XGRDOOF7UMX7FFQBGP5Y3DLSTJ1] while processing";}&CBDBHF4FTMDO66Z6OHTIGZRMCHIXQCE8MWC6LBOOLOJ2C737D0P;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{report}) {open (my $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, "\x{3e}\x{3e}", $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{report});flock ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, LOCK_EX);print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "\# $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR:\n'$CVW9BY3AK4HEC47WSJOWKTEBX6LV8LDVX8IBB7GDGSK5V8KKVN3'\n";close ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI);}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YCONREP}) {open (my $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, "\x{3e}\x{3e}", $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YCONREP});flock ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, LOCK_EX);print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "\# $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR:\n'$CVW9BY3AK4HEC47WSJOWKTEBX6LV8LDVX8IBB7GDGSK5V8KKVN3'\n";close ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI);}$CSI9RDCS7TJCBWV5UTINKTJ7E45E3KF0VNKJXO9GGTWPUZQ64N3 .= "\# $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR:\n'$CVW9BY3AK4HEC47WSJOWKTEBX6LV8LDVX8IBB7GDGSK5V8KKVN3'\n";$C6ED9C559BIG3Y1V6R397GX7QB7KUKP199MFZE8UMBUIQQR32GP .= "

\# $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR:

\n

'$CVW9BY3AK4HEC47WSJOWKTEBX6LV8LDVX8IBB7GDGSK5V8KKVN3'

\n";$CSJ8OTS79CBF1X7SIQ8OHW3NRBG2C61SEFK5AHV4VT4PRPRONGV .= "\# $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR:\n'$CVW9BY3AK4HEC47WSJOWKTEBX6LV8LDVX8IBB7GDGSK5V8KKVN3'\n";$CLKFW5TBP06PRRJN49272SX6OO6ZO3WF77K9W2AFMZNXWMJGG99 .= "

\# $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR:

\n

'$CVW9BY3AK4HEC47WSJOWKTEBX6LV8LDVX8IBB7GDGSK5V8KKVN3'

\n";}&CS4COKHXHTTSBZDJZ3YIFHXEVAETW2GV1ZZVO44EZKUCUFEAM6F;}unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ftp} or $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{cgi}) {&C974QM1B5YIWQMIOO2R5ZVOLOVH5ANUZHGYPIK65Q7KIR21YLE6($C1TDEYG3CF24G4F6XZFLL623BFL5E954XPBVPMC02NGCA82LJOX)}} else {print "Cannot scan [$CVW9BY3AK4HEC47WSJOWKTEBX6LV8LDVX8IBB7GDGSK5V8KKVN3], file/directory not found\n";}return;}sub sp1it {unless (eval shift) {print $C53SJ1WKS2IW85U0JPEFSDNPT6FGHHQ84QWHPJ70J6EGDPM7NSS;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wstart}) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ($C53SJ1WKS2IW85U0JPEFSDNPT6FGHHQ84QWHPJ70J6EGDPM7NSS)}exit;}return;}sub CBEH8NZNUFOE3BBNWU39FPR2KVVFIGH1SP1QIWFJMOEC6KV9V8B {my $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS = shift;$C8FDZ23N2V5A8D88NJ5D5XP3DCA5SED2K09LQIWAJCHSSA4V0C4 = $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS;$CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB = ( getpwnam($C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS) )[7];if (-d $CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB and ($CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB ne "") and ($CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB ne "/")) {my %CLPK452UGDZH531OJLES8EMZKGY1E3JZP53NK3BPLF8WAQV2926;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{www}) {if ($CFI51DU3PIZ28R8CKGCOO6N24U9P4W63X3CUUB64VYAOODLCAFC eq "\x{43}\x{50}\x{41}\x{4e}\x{45}\x{4c}") {foreach my $CT3BJRFIIZHUDP085LC9YULNGT3QVA5X5FM37S7QTT9G10W3E03 (slurp("\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{75}\x{73}\x{65}\x{72}\x{64}\x{6f}\x{6d}\x{61}\x{69}\x{6e}\x{73}")) {$CT3BJRFIIZHUDP085LC9YULNGT3QVA5X5FM37S7QTT9G10W3E03 =~ s/$cleanreg//g;my ($CNMHZO5NXLZZWGH0MO1LG6BD1QXY3BDR6HE8F8TVZRNUWRJ7SEB, $CSMZK6B9JZ4BMPFK0XJJG4HGPE6DKNQ3S2CM4QBKCALU4DZOW7C) = split (/:/,$CT3BJRFIIZHUDP085LC9YULNGT3QVA5X5FM37S7QTT9G10W3E03);$CNMHZO5NXLZZWGH0MO1LG6BD1QXY3BDR6HE8F8TVZRNUWRJ7SEB =~ s/\s//g;$CSMZK6B9JZ4BMPFK0XJJG4HGPE6DKNQ3S2CM4QBKCALU4DZOW7C =~ s/\s//g;if ($C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS eq $CSMZK6B9JZ4BMPFK0XJJG4HGPE6DKNQ3S2CM4QBKCALU4DZOW7C) {my @CB4P18A8Z532GL4W47EU1OMA9YU1AU2BKT45ETPXAUQ29AF6CXY;if (-e "/var/cpanel/userdata/$CSMZK6B9JZ4BMPFK0XJJG4HGPE6DKNQ3S2CM4QBKCALU4DZOW7C/$CNMHZO5NXLZZWGH0MO1LG6BD1QXY3BDR6HE8F8TVZRNUWRJ7SEB") {push @CB4P18A8Z532GL4W47EU1OMA9YU1AU2BKT45ETPXAUQ29AF6CXY, "/var/cpanel/userdata/$CSMZK6B9JZ4BMPFK0XJJG4HGPE6DKNQ3S2CM4QBKCALU4DZOW7C/$CNMHZO5NXLZZWGH0MO1LG6BD1QXY3BDR6HE8F8TVZRNUWRJ7SEB"}if (-e "/var/cpanel/userdata/$CSMZK6B9JZ4BMPFK0XJJG4HGPE6DKNQ3S2CM4QBKCALU4DZOW7C/".$CNMHZO5NXLZZWGH0MO1LG6BD1QXY3BDR6HE8F8TVZRNUWRJ7SEB."\x{5f}\x{53}\x{53}\x{4c}") {push @CB4P18A8Z532GL4W47EU1OMA9YU1AU2BKT45ETPXAUQ29AF6CXY, "/var/cpanel/userdata/$CSMZK6B9JZ4BMPFK0XJJG4HGPE6DKNQ3S2CM4QBKCALU4DZOW7C/".$CNMHZO5NXLZZWGH0MO1LG6BD1QXY3BDR6HE8F8TVZRNUWRJ7SEB."_SSL"}foreach my $C413RQAORN7RTQFBAD908FASHZ2Y3A06DFGTD4L9TEHWAQHQ5SP (@CB4P18A8Z532GL4W47EU1OMA9YU1AU2BKT45ETPXAUQ29AF6CXY) {foreach my $CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT (slurp($C413RQAORN7RTQFBAD908FASHZ2Y3A06DFGTD4L9TEHWAQHQ5SP)) {$CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT =~ s/$cleanreg//g;if ($CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT =~ /^documentroot: (.*)$/) {my $CJSDK4JH3WD4Q8WAQ5X9GCGX1VN7SJN4L4MK3DN8Z39TCBQKYAF = $1;$CLPK452UGDZH531OJLES8EMZKGY1E3JZP53NK3BPLF8WAQV2926{$CJSDK4JH3WD4Q8WAQ5X9GCGX1VN7SJN4L4MK3DN8Z39TCBQKYAF} = 1;foreach my $CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ (keys %CLPK452UGDZH531OJLES8EMZKGY1E3JZP53NK3BPLF8WAQV2926) {if ($CLPK452UGDZH531OJLES8EMZKGY1E3JZP53NK3BPLF8WAQV2926{$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ} == 0) {next}if ($CJSDK4JH3WD4Q8WAQ5X9GCGX1VN7SJN4L4MK3DN8Z39TCBQKYAF eq $CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ) {next}if ($CJSDK4JH3WD4Q8WAQ5X9GCGX1VN7SJN4L4MK3DN8Z39TCBQKYAF =~ /^$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ/) {$CLPK452UGDZH531OJLES8EMZKGY1E3JZP53NK3BPLF8WAQV2926{$CJSDK4JH3WD4Q8WAQ5X9GCGX1VN7SJN4L4MK3DN8Z39TCBQKYAF} = 0}if ($CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ =~ /^$CJSDK4JH3WD4Q8WAQ5X9GCGX1VN7SJN4L4MK3DN8Z39TCBQKYAF/) {$CLPK452UGDZH531OJLES8EMZKGY1E3JZP53NK3BPLF8WAQV2926{$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ} = 0}}}}}}}foreach my $CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ (keys %CLPK452UGDZH531OJLES8EMZKGY1E3JZP53NK3BPLF8WAQV2926) {unless ($CLPK452UGDZH531OJLES8EMZKGY1E3JZP53NK3BPLF8WAQV2926{$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ}) {delete $CLPK452UGDZH531OJLES8EMZKGY1E3JZP53NK3BPLF8WAQV2926{$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ}}unless ($CLPK452UGDZH531OJLES8EMZKGY1E3JZP53NK3BPLF8WAQV2926{$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ} !~ /$CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB/) {delete $CLPK452UGDZH531OJLES8EMZKGY1E3JZP53NK3BPLF8WAQV2926{$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ}}}if (scalar(keys %CLPK452UGDZH531OJLES8EMZKGY1E3JZP53NK3BPLF8WAQV2926) == 0) {$CLPK452UGDZH531OJLES8EMZKGY1E3JZP53NK3BPLF8WAQV2926{$CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB."\x{2f}\x{70}\x{75}\x{62}\x{6c}\x{69}\x{63}\x{5f}\x{68}\x{74}\x{6d}\x{6c}"} = 1;}}elsif ($CFI51DU3PIZ28R8CKGCOO6N24U9P4W63X3CUUB64VYAOODLCAFC eq "\x{44}\x{41}") {$CLPK452UGDZH531OJLES8EMZKGY1E3JZP53NK3BPLF8WAQV2926{$CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB."\x{2f}\x{64}\x{6f}\x{6d}\x{61}\x{69}\x{6e}\x{73}"} = 1;}else {if (-e $CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB."\x{2f}\x{70}\x{75}\x{62}\x{6c}\x{69}\x{63}\x{5f}\x{68}\x{74}\x{6d}\x{6c}") {$CLPK452UGDZH531OJLES8EMZKGY1E3JZP53NK3BPLF8WAQV2926{$CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB."/public_html"} = 1}if (-e $CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB."\x{2f}\x{77}\x{77}\x{77}") {$CLPK452UGDZH531OJLES8EMZKGY1E3JZP53NK3BPLF8WAQV2926{$CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB."/www"} = 1}}} else {$CLPK452UGDZH531OJLES8EMZKGY1E3JZP53NK3BPLF8WAQV2926{$CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB} = 1;}my $C1TDEYG3CF24G4F6XZFLL623BFL5E954XPBVPMC02NGCA82LJOX = gettimeofday();foreach my $CKT748OGE561B4GN0ICFUJCMA7VAP4ITBB7D8BWT9EXUNWJ7O8S (sort keys %CLPK452UGDZH531OJLES8EMZKGY1E3JZP53NK3BPLF8WAQV2926) {undef %CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK;unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{web}) {print "\x{3c}\x{70}\x{3e}"}print "\nScanning $CKT748OGE561B4GN0ICFUJCMA7VAP4ITBB7D8BWT9EXUNWJ7O8S:\n";if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{web}) {print "\x{3c}\x{2f}\x{70}\x{3e}"}}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{report}) {open (my $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, "\x{3e}\x{3e}", $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{report});flock ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, LOCK_EX);print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "\nScanning $CKT748OGE561B4GN0ICFUJCMA7VAP4ITBB7D8BWT9EXUNWJ7O8S:\n";close ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI);}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YCONREP}) {open (my $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, "\x{3e}\x{3e}", $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YCONREP});flock ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, LOCK_EX);print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "\nScanning $CKT748OGE561B4GN0ICFUJCMA7VAP4ITBB7D8BWT9EXUNWJ7O8S:\n";close ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI);}$CSI9RDCS7TJCBWV5UTINKTJ7E45E3KF0VNKJXO9GGTWPUZQ64N3 .= "\nScanning $CKT748OGE561B4GN0ICFUJCMA7VAP4ITBB7D8BWT9EXUNWJ7O8S:\n";$C6ED9C559BIG3Y1V6R397GX7QB7KUKP199MFZE8UMBUIQQR32GP .= "
 
\n
Scanning $CKT748OGE561B4GN0ICFUJCMA7VAP4ITBB7D8BWT9EXUNWJ7O8S:
\n";if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wstart}) {find({preprocess => \&CL989JMKY532VL7A98V7SNESQH7KSAEV3ZNNQ860SA8UR0KHKUH, wanted => \&CQN1DQA0CUM8VECKFPPF06DAQM40WZ8TRDYXL009K2KJWBEZZJR}, $CKT748OGE561B4GN0ICFUJCMA7VAP4ITBB7D8BWT9EXUNWJ7O8S);} else {find({preprocess => \&CTKDC94I7RPKR9DWBH1D6HZ1V8O0EU0RXPLN2PZHH15OMJSH07B, wanted => \&CG32W86ZRVJ1HSWB8GETWFLJUB7N1TEAW1ZT84IPXBNEYSQA1IJ}, $CKT748OGE561B4GN0ICFUJCMA7VAP4ITBB7D8BWT9EXUNWJ7O8S);}&C974QM1B5YIWQMIOO2R5ZVOLOVH5ANUZHGYPIK65Q7KIR21YLE6($C1TDEYG3CF24G4F6XZFLL623BFL5E954XPBVPMC02NGCA82LJOX);if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{mail} and $CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{susp} > 0) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{template} and -e $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{template}) {my $CWYQOIIW1TXAGZJNC6BBZHV4JJ0C9JEXS18MTFHC93QSDVVK2KG = 0;foreach my $CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT (slurp($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{template})) {if ($CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT =~ /\[user\]/) {$CWYQOIIW1TXAGZJNC6BBZHV4JJ0C9JEXS18MTFHC93QSDVVK2KG = 1;last;}}if ($CWYQOIIW1TXAGZJNC6BBZHV4JJ0C9JEXS18MTFHC93QSDVVK2KG) {$C6ED9C559BIG3Y1V6R397GX7QB7KUKP199MFZE8UMBUIQQR32GP .= "\n\n\n";&CTRQDXFA23HUTJH7L7FYLCATCD4B8998Y6RWHZ3DGB5NP9CLED7("\x{72}\x{6f}\x{6f}\x{74}","end user",$CSI9RDCS7TJCBWV5UTINKTJ7E45E3KF0VNKJXO9GGTWPUZQ64N3,$C8FDZ23N2V5A8D88NJ5D5XP3DCA5SED2K09LQIWAJCHSSA4V0C4,$C6ED9C559BIG3Y1V6R397GX7QB7KUKP199MFZE8UMBUIQQR32GP);}}}}} else {print "Cannot scan [$C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS], Invalid home directory [$CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB]\n";}return;}sub CJRJJKPUV2T9C4UKVSHSBC42IEQ9AO41S3CEIKJQCA9DID3OOWO {my $C3UL512URIQXHNL24090459GJQ2SALKV5FQPF7JJY5V08ECKSKJ = time;my $CP6PGVBOK0Y5CZE3S3513O3AAV0B5DOG5LVXLOGP4T4G3Y4KCPC = 0;my $C021NZIV67F631SK1F75D9MC51XRZKK48106XAMYG5UN0HARKQA = 0;my @CFCGS15EKQSGWYX2ZDNAPJ8FG0MI7CU22A6961IYW99MRFUSWT1;my @COWHE95JJYNQPKDH276907PHZFV2733PJP3OY4CDILJCBP631PV;my @C62Q63TW6XIWTLY9DOXRXDXN0UL3OJB3YYJ0MSV4ERULBL8G815;if ($CFI51DU3PIZ28R8CKGCOO6N24U9P4W63X3CUUB64VYAOODLCAFC eq "\x{43}\x{50}\x{41}\x{4e}\x{45}\x{4c}") {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{www}) {@C62Q63TW6XIWTLY9DOXRXDXN0UL3OJB3YYJ0MSV4ERULBL8G815 = slurp("\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{75}\x{73}\x{65}\x{72}\x{64}\x{6f}\x{6d}\x{61}\x{69}\x{6e}\x{73}")}opendir (DIR, "\x{2f}\x{76}\x{61}\x{72}\x{2f}\x{63}\x{70}\x{61}\x{6e}\x{65}\x{6c}\x{2f}\x{75}\x{73}\x{65}\x{72}\x{73}");while (my $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS = readdir (DIR)) {if ($C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS =~ /^\./) {next}if ($CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{user}{$C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS}) {$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{ignore}++;unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "Ignoring $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS\n"}next;}my $CRFEZABWGCOI60HOK53XQDUKEYAQOIBSJSGEED0CPFEJ2JKH8LW = 0;foreach my $CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ (keys %{$CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{puser}}) {if ($C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS =~ /$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ/) {$CRFEZABWGCOI60HOK53XQDUKEYAQOIBSJSGEED0CPFEJ2JKH8LW = 1 ; last}}if ($CRFEZABWGCOI60HOK53XQDUKEYAQOIBSJSGEED0CPFEJ2JKH8LW) {$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{ignore}++;unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "Ignoring $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS\n"}next;}if ($C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS eq 'root') {next}push @COWHE95JJYNQPKDH276907PHZFV2733PJP3OY4CDILJCBP631PV,$C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS;}closedir (DIR);}elsif ($CFI51DU3PIZ28R8CKGCOO6N24U9P4W63X3CUUB64VYAOODLCAFC eq "\x{44}\x{41}") {opendir (DIR, "\x{2f}\x{75}\x{73}\x{72}\x{2f}\x{6c}\x{6f}\x{63}\x{61}\x{6c}\x{2f}\x{64}\x{69}\x{72}\x{65}\x{63}\x{74}\x{61}\x{64}\x{6d}\x{69}\x{6e}\x{2f}\x{64}\x{61}\x{74}\x{61}\x{2f}\x{75}\x{73}\x{65}\x{72}\x{73}");while (my $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS = readdir (DIR)) {if ($C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS =~ /^\./) {next}if ($CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{user}{$C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS}) {$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{ignore}++;unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "Ignoring $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS\n"}next;}my $CRFEZABWGCOI60HOK53XQDUKEYAQOIBSJSGEED0CPFEJ2JKH8LW = 0;foreach my $CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ (keys %{$CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{puser}}) {if ($C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS =~ /$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ/) {$CRFEZABWGCOI60HOK53XQDUKEYAQOIBSJSGEED0CPFEJ2JKH8LW = 1 ; last}}if ($CRFEZABWGCOI60HOK53XQDUKEYAQOIBSJSGEED0CPFEJ2JKH8LW) {$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{ignore}++;unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "Ignoring $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS\n"}next;}if ($C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS eq 'root') {next}push @COWHE95JJYNQPKDH276907PHZFV2733PJP3OY4CDILJCBP631PV,$C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS;}closedir (DIR);}else {while (my ($C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS,undef,$C7P57C93IPGHLOVKVS86GSGJKRU8B7YCNE3KO9D7I8SNSGWAXUQ,undef,undef,undef,undef,$CJ7KTFS6S0UI63GXKKXABFFKE0PTS384L400W8L99ZIJ4WBXYFC,undef) = getpwent()) {if ($C7P57C93IPGHLOVKVS86GSGJKRU8B7YCNE3KO9D7I8SNSGWAXUQ < $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{uidmin} or $C7P57C93IPGHLOVKVS86GSGJKRU8B7YCNE3KO9D7I8SNSGWAXUQ > $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{uidmax}) {next}if ($CJ7KTFS6S0UI63GXKKXABFFKE0PTS384L400W8L99ZIJ4WBXYFC eq "" or $CJ7KTFS6S0UI63GXKKXABFFKE0PTS384L400W8L99ZIJ4WBXYFC =~ /^\/(|var|usr|etc|bin|root|sbin|dev|var\/spool(\/.*)?|nonexistent|usr\/sbin|usr\/bin)?(\/)?$/) {unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "Ignoring $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS due to homedir location [$CJ7KTFS6S0UI63GXKKXABFFKE0PTS384L400W8L99ZIJ4WBXYFC]\n"}next;}if ($CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{user}{$C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS}) {$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{ignore}++;unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "Ignoring $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS\n"}next;}my $CRFEZABWGCOI60HOK53XQDUKEYAQOIBSJSGEED0CPFEJ2JKH8LW = 0;foreach my $CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ (keys %{$CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{puser}}) {if ($C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS =~ /$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ/) {$CRFEZABWGCOI60HOK53XQDUKEYAQOIBSJSGEED0CPFEJ2JKH8LW = 1 ; last}}if ($CRFEZABWGCOI60HOK53XQDUKEYAQOIBSJSGEED0CPFEJ2JKH8LW) {$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{ignore}++;unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "Ignoring $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS\n"}next;}if ($C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS eq 'root') {next}push @COWHE95JJYNQPKDH276907PHZFV2733PJP3OY4CDILJCBP631PV,$C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS;}endpwent();}my $C1TDEYG3CF24G4F6XZFLL623BFL5E954XPBVPMC02NGCA82LJOX = 0;@COWHE95JJYNQPKDH276907PHZFV2733PJP3OY4CDILJCBP631PV = sort @COWHE95JJYNQPKDH276907PHZFV2733PJP3OY4CDILJCBP631PV;my %CU1UDESNE9SVYDXNG2ZO6TR1HL0V621OGBSB8DD5Y7MSFTIMKDM;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ulist}) {foreach my $CT3BJRFIIZHUDP085LC9YULNGT3QVA5X5FM37S7QTT9G10W3E03 (slurp($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ulist})) {$CT3BJRFIIZHUDP085LC9YULNGT3QVA5X5FM37S7QTT9G10W3E03 =~ s/$cleanreg//g;$CU1UDESNE9SVYDXNG2ZO6TR1HL0V621OGBSB8DD5Y7MSFTIMKDM{$CT3BJRFIIZHUDP085LC9YULNGT3QVA5X5FM37S7QTT9G10W3E03} = 1;}}foreach my $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS (@COWHE95JJYNQPKDH276907PHZFV2733PJP3OY4CDILJCBP631PV) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{skipover}) {if ($C1TDEYG3CF24G4F6XZFLL623BFL5E954XPBVPMC02NGCA82LJOX) {unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "Set to scan: $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS\n"}my $CJ7KTFS6S0UI63GXKKXABFFKE0PTS384L400W8L99ZIJ4WBXYFC = ( getpwnam($C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS) )[7];unless (-d $CJ7KTFS6S0UI63GXKKXABFFKE0PTS384L400W8L99ZIJ4WBXYFC) {next}push @CFCGS15EKQSGWYX2ZDNAPJ8FG0MI7CU22A6961IYW99MRFUSWT1,"$C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS:$CJ7KTFS6S0UI63GXKKXABFFKE0PTS384L400W8L99ZIJ4WBXYFC";}elsif ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{skipover} eq $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS) {unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "Set to skip: $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS\n"}$C1TDEYG3CF24G4F6XZFLL623BFL5E954XPBVPMC02NGCA82LJOX = 1;} else {unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "Set to skip: $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS\n"}next;}}elsif ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{jumpfrom} and $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{jumpto}) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{jumpfrom} =~ /^(\w)\+$/) {my $CS3WFQURC1A07JMBAA044KQYEHSRIC76GZD7TFFMDRJ0Y7PIMF0 = $1;my $CT7AMX3IAF2HBP6GLYO0J2J99Y0M44QYIM5FUO0XLNPU92ITZHS;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{jumpto} =~ /^(\w)\+$/) {$CT7AMX3IAF2HBP6GLYO0J2J99Y0M44QYIM5FUO0XLNPU92ITZHS = $1}if ($C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS =~ /^[$CS3WFQURC1A07JMBAA044KQYEHSRIC76GZD7TFFMDRJ0Y7PIMF0-$CT7AMX3IAF2HBP6GLYO0J2J99Y0M44QYIM5FUO0XLNPU92ITZHS]/i) {unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "Set to scan: $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS\n"}my $CJ7KTFS6S0UI63GXKKXABFFKE0PTS384L400W8L99ZIJ4WBXYFC = ( getpwnam($C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS) )[7];unless (-d $CJ7KTFS6S0UI63GXKKXABFFKE0PTS384L400W8L99ZIJ4WBXYFC) {next}push @CFCGS15EKQSGWYX2ZDNAPJ8FG0MI7CU22A6961IYW99MRFUSWT1,"$C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS:$CJ7KTFS6S0UI63GXKKXABFFKE0PTS384L400W8L99ZIJ4WBXYFC";} else {print "Set to skip: $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS\n"}} else {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{jumpfrom} eq $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS) {$C1TDEYG3CF24G4F6XZFLL623BFL5E954XPBVPMC02NGCA82LJOX = 1;}if ($C1TDEYG3CF24G4F6XZFLL623BFL5E954XPBVPMC02NGCA82LJOX) {unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "Set to scan: $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS\n"}my $CJ7KTFS6S0UI63GXKKXABFFKE0PTS384L400W8L99ZIJ4WBXYFC = ( getpwnam($C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS) )[7];unless (-d $CJ7KTFS6S0UI63GXKKXABFFKE0PTS384L400W8L99ZIJ4WBXYFC) {next}push @CFCGS15EKQSGWYX2ZDNAPJ8FG0MI7CU22A6961IYW99MRFUSWT1,"$C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS:$CJ7KTFS6S0UI63GXKKXABFFKE0PTS384L400W8L99ZIJ4WBXYFC";}if (!$C1TDEYG3CF24G4F6XZFLL623BFL5E954XPBVPMC02NGCA82LJOX) {unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "Set to skip: $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS\n"}next;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{jumpto} eq $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS) {$C1TDEYG3CF24G4F6XZFLL623BFL5E954XPBVPMC02NGCA82LJOX = 0;}}}elsif ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ulist}) {if ($CU1UDESNE9SVYDXNG2ZO6TR1HL0V621OGBSB8DD5Y7MSFTIMKDM{$C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS}) {unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "Set to scan: $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS\n"}delete $CU1UDESNE9SVYDXNG2ZO6TR1HL0V621OGBSB8DD5Y7MSFTIMKDM{$C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS};my $CJ7KTFS6S0UI63GXKKXABFFKE0PTS384L400W8L99ZIJ4WBXYFC = ( getpwnam($C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS) )[7];unless (-d $CJ7KTFS6S0UI63GXKKXABFFKE0PTS384L400W8L99ZIJ4WBXYFC) {next}push @CFCGS15EKQSGWYX2ZDNAPJ8FG0MI7CU22A6961IYW99MRFUSWT1,"$C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS:$CJ7KTFS6S0UI63GXKKXABFFKE0PTS384L400W8L99ZIJ4WBXYFC";} else {unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "Set to skip: $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS\n"}}} else {my $CJ7KTFS6S0UI63GXKKXABFFKE0PTS384L400W8L99ZIJ4WBXYFC = ( getpwnam($C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS) )[7];unless (-d $CJ7KTFS6S0UI63GXKKXABFFKE0PTS384L400W8L99ZIJ4WBXYFC) {next}push @CFCGS15EKQSGWYX2ZDNAPJ8FG0MI7CU22A6961IYW99MRFUSWT1,"$C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS:$CJ7KTFS6S0UI63GXKKXABFFKE0PTS384L400W8L99ZIJ4WBXYFC";}}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ulist} and !$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {foreach my $CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ (keys %CU1UDESNE9SVYDXNG2ZO6TR1HL0V621OGBSB8DD5Y7MSFTIMKDM) {print "User not found: $CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ\n"}}my $C5JRXOOWI67R2VXEASKOMCABF5EHBWXM82QC9YQIF4Z60L00846 = @CFCGS15EKQSGWYX2ZDNAPJ8FG0MI7CU22A6961IYW99MRFUSWT1;my $CM80D4Q8F3448FTX331SWR6ISHGLI4Y7ZK6TP2HGX7PP36019D2 = $CSI9RDCS7TJCBWV5UTINKTJ7E45E3KF0VNKJXO9GGTWPUZQ64N3;my $CR6ZS4W4HI7ZFCYZ0229COV1ILA6FFDU6V910T90ONTTGY91MP2 = $C6ED9C559BIG3Y1V6R397GX7QB7KUKP199MFZE8UMBUIQQR32GP;foreach my $C7NO3FEY8Q51ZJ4EODVWJJ96P58QIX63XB0ZN12RY0HJ5YJ83LD (@CFCGS15EKQSGWYX2ZDNAPJ8FG0MI7CU22A6961IYW99MRFUSWT1) {(my $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS,$CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB) = split (/\:/,$C7NO3FEY8Q51ZJ4EODVWJJ96P58QIX63XB0ZN12RY0HJ5YJ83LD);$C8FDZ23N2V5A8D88NJ5D5XP3DCA5SED2K09LQIWAJCHSSA4V0C4 = $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS;if (($CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB eq "\x{2f}") or ($CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB eq "") or !(-d $CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB)) {unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "\n($C5JRXOOWI67R2VXEASKOMCABF5EHBWXM82QC9YQIF4Z60L00846) $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS, Invalid home directory [$CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB] - skipping\n"}$C5JRXOOWI67R2VXEASKOMCABF5EHBWXM82QC9YQIF4Z60L00846--;next;}undef %CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK;my %CLPK452UGDZH531OJLES8EMZKGY1E3JZP53NK3BPLF8WAQV2926;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{www}) {if ($CFI51DU3PIZ28R8CKGCOO6N24U9P4W63X3CUUB64VYAOODLCAFC eq "\x{43}\x{50}\x{41}\x{4e}\x{45}\x{4c}") {foreach my $CT3BJRFIIZHUDP085LC9YULNGT3QVA5X5FM37S7QTT9G10W3E03 (@C62Q63TW6XIWTLY9DOXRXDXN0UL3OJB3YYJ0MSV4ERULBL8G815) {$CT3BJRFIIZHUDP085LC9YULNGT3QVA5X5FM37S7QTT9G10W3E03 =~ s/$cleanreg//g;my ($CNMHZO5NXLZZWGH0MO1LG6BD1QXY3BDR6HE8F8TVZRNUWRJ7SEB, $CSMZK6B9JZ4BMPFK0XJJG4HGPE6DKNQ3S2CM4QBKCALU4DZOW7C) = split (/:/,$CT3BJRFIIZHUDP085LC9YULNGT3QVA5X5FM37S7QTT9G10W3E03);$CNMHZO5NXLZZWGH0MO1LG6BD1QXY3BDR6HE8F8TVZRNUWRJ7SEB =~ s/\s//g;$CSMZK6B9JZ4BMPFK0XJJG4HGPE6DKNQ3S2CM4QBKCALU4DZOW7C =~ s/\s//g;if ($C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS eq $CSMZK6B9JZ4BMPFK0XJJG4HGPE6DKNQ3S2CM4QBKCALU4DZOW7C) {my @CB4P18A8Z532GL4W47EU1OMA9YU1AU2BKT45ETPXAUQ29AF6CXY;if (-e "/var/cpanel/userdata/$CSMZK6B9JZ4BMPFK0XJJG4HGPE6DKNQ3S2CM4QBKCALU4DZOW7C/$CNMHZO5NXLZZWGH0MO1LG6BD1QXY3BDR6HE8F8TVZRNUWRJ7SEB") {push @CB4P18A8Z532GL4W47EU1OMA9YU1AU2BKT45ETPXAUQ29AF6CXY, "/var/cpanel/userdata/$CSMZK6B9JZ4BMPFK0XJJG4HGPE6DKNQ3S2CM4QBKCALU4DZOW7C/$CNMHZO5NXLZZWGH0MO1LG6BD1QXY3BDR6HE8F8TVZRNUWRJ7SEB"}if (-e "/var/cpanel/userdata/$CSMZK6B9JZ4BMPFK0XJJG4HGPE6DKNQ3S2CM4QBKCALU4DZOW7C/".$CNMHZO5NXLZZWGH0MO1LG6BD1QXY3BDR6HE8F8TVZRNUWRJ7SEB."\x{5f}\x{53}\x{53}\x{4c}") {push @CB4P18A8Z532GL4W47EU1OMA9YU1AU2BKT45ETPXAUQ29AF6CXY, "/var/cpanel/userdata/$CSMZK6B9JZ4BMPFK0XJJG4HGPE6DKNQ3S2CM4QBKCALU4DZOW7C/".$CNMHZO5NXLZZWGH0MO1LG6BD1QXY3BDR6HE8F8TVZRNUWRJ7SEB."_SSL"}foreach my $C413RQAORN7RTQFBAD908FASHZ2Y3A06DFGTD4L9TEHWAQHQ5SP (@CB4P18A8Z532GL4W47EU1OMA9YU1AU2BKT45ETPXAUQ29AF6CXY) {foreach my $CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT (slurp($C413RQAORN7RTQFBAD908FASHZ2Y3A06DFGTD4L9TEHWAQHQ5SP)) {$CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT =~ s/$cleanreg//g;if ($CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT =~ /^documentroot: (.*)$/) {my $CJSDK4JH3WD4Q8WAQ5X9GCGX1VN7SJN4L4MK3DN8Z39TCBQKYAF = $1;$CLPK452UGDZH531OJLES8EMZKGY1E3JZP53NK3BPLF8WAQV2926{$CJSDK4JH3WD4Q8WAQ5X9GCGX1VN7SJN4L4MK3DN8Z39TCBQKYAF} = 1;foreach my $CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ (keys %CLPK452UGDZH531OJLES8EMZKGY1E3JZP53NK3BPLF8WAQV2926) {if ($CLPK452UGDZH531OJLES8EMZKGY1E3JZP53NK3BPLF8WAQV2926{$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ} == 0) {next}if ($CJSDK4JH3WD4Q8WAQ5X9GCGX1VN7SJN4L4MK3DN8Z39TCBQKYAF eq $CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ) {next}if ($CJSDK4JH3WD4Q8WAQ5X9GCGX1VN7SJN4L4MK3DN8Z39TCBQKYAF =~ /^$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ/) {$CLPK452UGDZH531OJLES8EMZKGY1E3JZP53NK3BPLF8WAQV2926{$CJSDK4JH3WD4Q8WAQ5X9GCGX1VN7SJN4L4MK3DN8Z39TCBQKYAF} = 0}if ($CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ =~ /^$CJSDK4JH3WD4Q8WAQ5X9GCGX1VN7SJN4L4MK3DN8Z39TCBQKYAF/) {$CLPK452UGDZH531OJLES8EMZKGY1E3JZP53NK3BPLF8WAQV2926{$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ} = 0}}}}}}}foreach my $CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ (keys %CLPK452UGDZH531OJLES8EMZKGY1E3JZP53NK3BPLF8WAQV2926) {unless ($CLPK452UGDZH531OJLES8EMZKGY1E3JZP53NK3BPLF8WAQV2926{$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ}) {delete $CLPK452UGDZH531OJLES8EMZKGY1E3JZP53NK3BPLF8WAQV2926{$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ}}unless ($CLPK452UGDZH531OJLES8EMZKGY1E3JZP53NK3BPLF8WAQV2926{$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ} !~ /$CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB/) {delete $CLPK452UGDZH531OJLES8EMZKGY1E3JZP53NK3BPLF8WAQV2926{$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ}}}if (scalar(keys %CLPK452UGDZH531OJLES8EMZKGY1E3JZP53NK3BPLF8WAQV2926) == 0) {$CLPK452UGDZH531OJLES8EMZKGY1E3JZP53NK3BPLF8WAQV2926{$CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB."\x{2f}\x{70}\x{75}\x{62}\x{6c}\x{69}\x{63}\x{5f}\x{68}\x{74}\x{6d}\x{6c}"} = 1;}}elsif ($CFI51DU3PIZ28R8CKGCOO6N24U9P4W63X3CUUB64VYAOODLCAFC eq "\x{44}\x{41}") {$CLPK452UGDZH531OJLES8EMZKGY1E3JZP53NK3BPLF8WAQV2926{$CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB."\x{2f}\x{64}\x{6f}\x{6d}\x{61}\x{69}\x{6e}\x{73}"} = 1;}else {if (-e $CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB."\x{2f}\x{70}\x{75}\x{62}\x{6c}\x{69}\x{63}\x{5f}\x{68}\x{74}\x{6d}\x{6c}") {$CLPK452UGDZH531OJLES8EMZKGY1E3JZP53NK3BPLF8WAQV2926{$CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB."/public_html"} = 1}if (-e $CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB."\x{2f}\x{77}\x{77}\x{77}") {$CLPK452UGDZH531OJLES8EMZKGY1E3JZP53NK3BPLF8WAQV2926{$CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB."/www"} = 1}}} else {$CLPK452UGDZH531OJLES8EMZKGY1E3JZP53NK3BPLF8WAQV2926{$CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB} = 1;}my $C1TDEYG3CF24G4F6XZFLL623BFL5E954XPBVPMC02NGCA82LJOX = gettimeofday();foreach my $CKT748OGE561B4GN0ICFUJCMA7VAP4ITBB7D8BWT9EXUNWJ7O8S (sort keys %CLPK452UGDZH531OJLES8EMZKGY1E3JZP53NK3BPLF8WAQV2926) {undef %CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK;unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{web}) {print "\x{3c}\x{70}\x{3e}"}print "\n($C5JRXOOWI67R2VXEASKOMCABF5EHBWXM82QC9YQIF4Z60L00846) $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS, Scanning $CKT748OGE561B4GN0ICFUJCMA7VAP4ITBB7D8BWT9EXUNWJ7O8S:\n";if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{web}) {print "\x{3c}\x{2f}\x{70}\x{3e}"}}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{report}) {open (my $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, "\x{3e}\x{3e}", $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{report});flock ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, LOCK_EX);print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "\n($C5JRXOOWI67R2VXEASKOMCABF5EHBWXM82QC9YQIF4Z60L00846) $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS, Scanning $CKT748OGE561B4GN0ICFUJCMA7VAP4ITBB7D8BWT9EXUNWJ7O8S:\n";close ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI);}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YCONREP}) {open (my $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, "\x{3e}\x{3e}", $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YCONREP});flock ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, LOCK_EX);print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "\n($C5JRXOOWI67R2VXEASKOMCABF5EHBWXM82QC9YQIF4Z60L00846) $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS, Scanning $CKT748OGE561B4GN0ICFUJCMA7VAP4ITBB7D8BWT9EXUNWJ7O8S:\n";close ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI);}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{summary}) {$CSI9RDCS7TJCBWV5UTINKTJ7E45E3KF0VNKJXO9GGTWPUZQ64N3 .= "\n($C5JRXOOWI67R2VXEASKOMCABF5EHBWXM82QC9YQIF4Z60L00846) $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS, Scanning $CKT748OGE561B4GN0ICFUJCMA7VAP4ITBB7D8BWT9EXUNWJ7O8S:\n";$C6ED9C559BIG3Y1V6R397GX7QB7KUKP199MFZE8UMBUIQQR32GP .= "
 
\n
($C5JRXOOWI67R2VXEASKOMCABF5EHBWXM82QC9YQIF4Z60L00846) $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS, Scanning $CKT748OGE561B4GN0ICFUJCMA7VAP4ITBB7D8BWT9EXUNWJ7O8S:
\n";}my $CN6F8K3PPYQC5SC5004H0P65BG9K9HPXK5PV0P5CZ0ER7EQOVQQ = $CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{susp};my $CW388ZG6BMTGRVO7839EVDKGSA3IP37WEHMZ2A19PFY043SDVH6 = $CRJ6LNQ105I55EXFCPNXUT6U6N2XFJ0XSU7RCGPS31TESCA8NXS;my $CEE6B4P0DUA3NCVH274N2DMOJ9VEGCT7SYFXKRC2AFXJL1H66RA = $C94ICU8JH5SUI65ZVEHJ1HVY0DW0W4JRY3N9FKA98MZ716ZUCS2;my $CLBS0ILPBRUCV25S0UUSJ490C8XE2AZ3RHZIWHFMLNSSY13JDEP = $CFEIT2IDGHWUSQVPWT5ELK518FZHCXWD6G84E7F0TRH1JL8OFZ7;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wstart}) {my $C1TDEYG3CF24G4F6XZFLL623BFL5E954XPBVPMC02NGCA82LJOX = $CQLFMKI8ONJDAJAH7BQJSSRSXXQP3WWD55R1EAHPAEQ56NJNPP8;$CKT748OGE561B4GN0ICFUJCMA7VAP4ITBB7D8BWT9EXUNWJ7O8S =~ s/\/+$//;$C8U7YONORZIBVO0R9LE52JRHGHPUC96K2JT0CMLCLW0GPICMVLE{$CKT748OGE561B4GN0ICFUJCMA7VAP4ITBB7D8BWT9EXUNWJ7O8S} = 1;&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("....($C5JRXOOWI67R2VXEASKOMCABF5EHBWXM82QC9YQIF4Z60L00846) $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS ($CKT748OGE561B4GN0ICFUJCMA7VAP4ITBB7D8BWT9EXUNWJ7O8S) start");find({preprocess => \&CL989JMKY532VL7A98V7SNESQH7KSAEV3ZNNQ860SA8UR0KHKUH, wanted => \&CQN1DQA0CUM8VECKFPPF06DAQM40WZ8TRDYXL009K2KJWBEZZJR}, $CKT748OGE561B4GN0ICFUJCMA7VAP4ITBB7D8BWT9EXUNWJ7O8S);my $C03770TKIXKHKJKOXBNHEBNNM9BKION2XDVI07RT42J0D1BA9H7 = $CQLFMKI8ONJDAJAH7BQJSSRSXXQP3WWD55R1EAHPAEQ56NJNPP8 - $C1TDEYG3CF24G4F6XZFLL623BFL5E954XPBVPMC02NGCA82LJOX;&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("....($C5JRXOOWI67R2VXEASKOMCABF5EHBWXM82QC9YQIF4Z60L00846) $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS ($CKT748OGE561B4GN0ICFUJCMA7VAP4ITBB7D8BWT9EXUNWJ7O8S) finish ($C03770TKIXKHKJKOXBNHEBNNM9BKION2XDVI07RT42J0D1BA9H7 watches)");} else {find({preprocess => \&CTKDC94I7RPKR9DWBH1D6HZ1V8O0EU0RXPLN2PZHH15OMJSH07B, wanted => \&CG32W86ZRVJ1HSWB8GETWFLJUB7N1TEAW1ZT84IPXBNEYSQA1IJ}, $CKT748OGE561B4GN0ICFUJCMA7VAP4ITBB7D8BWT9EXUNWJ7O8S);}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{summary}) {&C974QM1B5YIWQMIOO2R5ZVOLOVH5ANUZHGYPIK65Q7KIR21YLE6($C1TDEYG3CF24G4F6XZFLL623BFL5E954XPBVPMC02NGCA82LJOX);}elsif ($CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{susp} > $CN6F8K3PPYQC5SC5004H0P65BG9K9HPXK5PV0P5CZ0ER7EQOVQQ) {$CM80D4Q8F3448FTX331SWR6ISHGLI4Y7ZK6TP2HGX7PP36019D2 .= "\n($C5JRXOOWI67R2VXEASKOMCABF5EHBWXM82QC9YQIF4Z60L00846) $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS, Scanning $CKT748OGE561B4GN0ICFUJCMA7VAP4ITBB7D8BWT9EXUNWJ7O8S:\n".$CSJ8OTS79CBF1X7SIQ8OHW3NRBG2C61SEFK5AHV4VT4PRPRONGV;$CR6ZS4W4HI7ZFCYZ0229COV1ILA6FFDU6V910T90ONTTGY91MP2 .= "
 
\n
($C5JRXOOWI67R2VXEASKOMCABF5EHBWXM82QC9YQIF4Z60L00846) $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS, Scanning $CKT748OGE561B4GN0ICFUJCMA7VAP4ITBB7D8BWT9EXUNWJ7O8S:
\n".$CLKFW5TBP06PRRJN49272SX6OO6ZO3WF77K9W2AFMZNXWMJGG99;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{mail} and $CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{susp} > $CN6F8K3PPYQC5SC5004H0P65BG9K9HPXK5PV0P5CZ0ER7EQOVQQ) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{template} and -e $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{template}) {my $CWYQOIIW1TXAGZJNC6BBZHV4JJ0C9JEXS18MTFHC93QSDVVK2KG = 0;foreach my $CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT (slurp($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{template})) {if ($CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT =~ /\[user\]/) {$CWYQOIIW1TXAGZJNC6BBZHV4JJ0C9JEXS18MTFHC93QSDVVK2KG = 1;last;}}if ($CWYQOIIW1TXAGZJNC6BBZHV4JJ0C9JEXS18MTFHC93QSDVVK2KG) {local $CRJ6LNQ105I55EXFCPNXUT6U6N2XFJ0XSU7RCGPS31TESCA8NXS = $CRJ6LNQ105I55EXFCPNXUT6U6N2XFJ0XSU7RCGPS31TESCA8NXS - $CW388ZG6BMTGRVO7839EVDKGSA3IP37WEHMZ2A19PFY043SDVH6;local $C94ICU8JH5SUI65ZVEHJ1HVY0DW0W4JRY3N9FKA98MZ716ZUCS2 = $C94ICU8JH5SUI65ZVEHJ1HVY0DW0W4JRY3N9FKA98MZ716ZUCS2 - $CEE6B4P0DUA3NCVH274N2DMOJ9VEGCT7SYFXKRC2AFXJL1H66RA;local $CFEIT2IDGHWUSQVPWT5ELK518FZHCXWD6G84E7F0TRH1JL8OFZ7 = $CFEIT2IDGHWUSQVPWT5ELK518FZHCXWD6G84E7F0TRH1JL8OFZ7 - $CLBS0ILPBRUCV25S0UUSJ490C8XE2AZ3RHZIWHFMLNSSY13JDEP;&CTRQDXFA23HUTJH7L7FYLCATCD4B8998Y6RWHZ3DGB5NP9CLED7("\x{72}\x{6f}\x{6f}\x{74}","end user",$CSJ8OTS79CBF1X7SIQ8OHW3NRBG2C61SEFK5AHV4VT4PRPRONGV,$C8FDZ23N2V5A8D88NJ5D5XP3DCA5SED2K09LQIWAJCHSSA4V0C4,$CLKFW5TBP06PRRJN49272SX6OO6ZO3WF77K9W2AFMZNXWMJGG99);}}}$CSJ8OTS79CBF1X7SIQ8OHW3NRBG2C61SEFK5AHV4VT4PRPRONGV = "";$CLKFW5TBP06PRRJN49272SX6OO6ZO3WF77K9W2AFMZNXWMJGG99 = "";}$C5JRXOOWI67R2VXEASKOMCABF5EHBWXM82QC9YQIF4Z60L00846--;if ($CPJG3105W26PTRGG9DCKTM1BFXQI6TQ4Z6OJBNXZ4623E5OIFPB) {$CPJG3105W26PTRGG9DCKTM1BFXQI6TQ4Z6OJBNXZ4623E5OIFPB = 0;unlink "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{73}\x{6b}\x{69}\x{70}";}}unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{summary}) {$CSI9RDCS7TJCBWV5UTINKTJ7E45E3KF0VNKJXO9GGTWPUZQ64N3 = $CM80D4Q8F3448FTX331SWR6ISHGLI4Y7ZK6TP2HGX7PP36019D2;$C6ED9C559BIG3Y1V6R397GX7QB7KUKP199MFZE8UMBUIQQR32GP = $CR6ZS4W4HI7ZFCYZ0229COV1ILA6FFDU6V910T90ONTTGY91MP2;}return;}sub CWSU91BZP9L43ZX52Z21JTCWKFANQYCSSXA3GQDOYATTAX8LLAZ {my $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS = shift;if (($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS =~ /^\/(usr|bin|var|lib|lib64|boot|etc|proc|sys|opt)\b/ or $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS eq "\x{2f}") and !$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{force} and !$CTT54HUQ24FKXW1QAEWTOBU1UNV3W2MM8A5I6F90M2A2P9LP4EH) {$CSI9RDCS7TJCBWV5UTINKTJ7E45E3KF0VNKJXO9GGTWPUZQ64N3 .= "# Ignoring $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS: Use --force to scan this restricted directory\n";$C6ED9C559BIG3Y1V6R397GX7QB7KUKP199MFZE8UMBUIQQR32GP .= "

# Ignoring $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS: Use --force to scan this restricted directory

\n";$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{ignore}++;return 1;}my ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK, $CGDLWWXOSWH5REVO0ENC16IXWTZWSSKSI8WH4BP1MVGDPAX4NJ7) = fileparse($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS =~ s/\/*$//g;$CGDLWWXOSWH5REVO0ENC16IXWTZWSSKSI8WH4BP1MVGDPAX4NJ7 =~ s/\/*$//g;if ($CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{dir}{$CGDLWWXOSWH5REVO0ENC16IXWTZWSSKSI8WH4BP1MVGDPAX4NJ7}) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "debug: Ignoring directory $CGDLWWXOSWH5REVO0ENC16IXWTZWSSKSI8WH4BP1MVGDPAX4NJ7\n"}$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{ignore}++;return 1;}foreach my $CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ (keys %{$CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{pdir}}) {if ($CGDLWWXOSWH5REVO0ENC16IXWTZWSSKSI8WH4BP1MVGDPAX4NJ7 =~ /$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ/) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "debug: Ignoring directory $CGDLWWXOSWH5REVO0ENC16IXWTZWSSKSI8WH4BP1MVGDPAX4NJ7\n"}$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{ignore}++;return 1;}}my $C7KZV775HGCRYGJQ3RC0PG16QH75EUAOXA0Q0N63SSLC6B0HMB2 = $CGDLWWXOSWH5REVO0ENC16IXWTZWSSKSI8WH4BP1MVGDPAX4NJ7;if ($CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB and $C7KZV775HGCRYGJQ3RC0PG16QH75EUAOXA0Q0N63SSLC6B0HMB2 =~ /^$CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB/) {$C7KZV775HGCRYGJQ3RC0PG16QH75EUAOXA0Q0N63SSLC6B0HMB2 =~ s/^$CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB//;if ($CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{hdir}{$C7KZV775HGCRYGJQ3RC0PG16QH75EUAOXA0Q0N63SSLC6B0HMB2}) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "debug: Ignoring directory $CGDLWWXOSWH5REVO0ENC16IXWTZWSSKSI8WH4BP1MVGDPAX4NJ7\n"}$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{ignore}++;return 1;}foreach my $CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ (keys %{$CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{hpdir}}) {if ($C7KZV775HGCRYGJQ3RC0PG16QH75EUAOXA0Q0N63SSLC6B0HMB2 =~ /$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ/) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "debug: Ignoring directory $CGDLWWXOSWH5REVO0ENC16IXWTZWSSKSI8WH4BP1MVGDPAX4NJ7\n"}$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{ignore}++;return 1;}}}if (-d $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) {if ($CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{dir}{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "debug: Ignoring directory $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS\n"}$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{ignore}++;return 1;}foreach my $CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ (keys %{$CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{pdir}}) {if ($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS =~ /$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ/) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "debug: Ignoring directory $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS\n"}$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{ignore}++;return 1;}}my $C7KZV775HGCRYGJQ3RC0PG16QH75EUAOXA0Q0N63SSLC6B0HMB2 = $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS;if ($CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB and $C7KZV775HGCRYGJQ3RC0PG16QH75EUAOXA0Q0N63SSLC6B0HMB2 =~ /^$CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB/) {$C7KZV775HGCRYGJQ3RC0PG16QH75EUAOXA0Q0N63SSLC6B0HMB2 =~ s/^$CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB//;if ($CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{hdir}{$C7KZV775HGCRYGJQ3RC0PG16QH75EUAOXA0Q0N63SSLC6B0HMB2}) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "debug: Ignoring directory $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS\n"}$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{ignore}++;return 1;}}} else {if ($CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{file}{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "debug: Ignoring file $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS\n"}$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{ignore}++;return 1;}foreach my $CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ (keys %{$CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{pfile}}) {if ($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS =~ /$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ/) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "debug: Ignoring file $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS\n"}$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{ignore}++;return 1;}}my $C7KZV775HGCRYGJQ3RC0PG16QH75EUAOXA0Q0N63SSLC6B0HMB2 = $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS;if ($CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB and $C7KZV775HGCRYGJQ3RC0PG16QH75EUAOXA0Q0N63SSLC6B0HMB2 =~ /^$CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB/) {$C7KZV775HGCRYGJQ3RC0PG16QH75EUAOXA0Q0N63SSLC6B0HMB2 =~ s/^$CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB//;if ($CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{hfile}{$C7KZV775HGCRYGJQ3RC0PG16QH75EUAOXA0Q0N63SSLC6B0HMB2}) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "debug: Ignoring file $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS\n"}$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{ignore}++;return 1;}}}return 0;}sub COWW8X8AON0EQKLPTVX3BFPFX805KJM546E5RP6ZU0J3CS8SXFP {undef %CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M;my @CO0AONKMBK1XIAG0UZU9V19ZX7CDGBR9ZEWFTKLT45CJMP2T3P1;foreach my $CT3BJRFIIZHUDP085LC9YULNGT3QVA5X5FM37S7QTT9G10W3E03 (slurp($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ignore})) {push @CO0AONKMBK1XIAG0UZU9V19ZX7CDGBR9ZEWFTKLT45CJMP2T3P1, $CT3BJRFIIZHUDP085LC9YULNGT3QVA5X5FM37S7QTT9G10W3E03;$CT3BJRFIIZHUDP085LC9YULNGT3QVA5X5FM37S7QTT9G10W3E03 =~ s/$cleanreg//g;if ($CT3BJRFIIZHUDP085LC9YULNGT3QVA5X5FM37S7QTT9G10W3E03 =~ /^Include\s+(.*)\s*$/) {my $CM4YWVGZDQAIG0W00OW0IA812GPKWKL7PZ0S79U3DWRBDC34Q16 = $1;if (-f $CM4YWVGZDQAIG0W00OW0IA812GPKWKL7PZ0S79U3DWRBDC34Q16) {foreach my $CHEJXVDRHH19XLYWNN2NTSMM7B6UVPQFXEEEEXNK0CRS2AG8XV3 (slurp($CM4YWVGZDQAIG0W00OW0IA812GPKWKL7PZ0S79U3DWRBDC34Q16)) {push @CO0AONKMBK1XIAG0UZU9V19ZX7CDGBR9ZEWFTKLT45CJMP2T3P1, $CHEJXVDRHH19XLYWNN2NTSMM7B6UVPQFXEEEEXNK0CRS2AG8XV3;}}}}foreach my $CT3BJRFIIZHUDP085LC9YULNGT3QVA5X5FM37S7QTT9G10W3E03 (@CO0AONKMBK1XIAG0UZU9V19ZX7CDGBR9ZEWFTKLT45CJMP2T3P1) {$CT3BJRFIIZHUDP085LC9YULNGT3QVA5X5FM37S7QTT9G10W3E03 =~ s/$cleanreg//g;my ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O,$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG) = split (/\:/, $CT3BJRFIIZHUDP085LC9YULNGT3QVA5X5FM37S7QTT9G10W3E03, 2);$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG =~ s/\/*$//g;if ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O eq "\x{75}\x{73}\x{65}\x{72}") {$CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{user}{$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG} = 1}elsif ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O eq "\x{66}\x{69}\x{6c}\x{65}") {$CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{file}{$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG} = 1}elsif ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O eq "\x{64}\x{69}\x{72}") {$CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{dir}{$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG} = 1;$CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{pdir}{"^$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG/.*"} = 1;}elsif ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O eq "\x{73}\x{79}\x{6d}") {$CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{sym}{$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG} = 1}elsif ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O eq "\x{68}\x{66}\x{69}\x{6c}\x{65}") {$CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{hfile}{$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG} = 1}elsif ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O eq "\x{68}\x{64}\x{69}\x{72}") {$CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{hdir}{$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG} = 1;$CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{hpdir}{"^$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG/.*"} = 1;}elsif ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O eq "\x{68}\x{73}\x{79}\x{6d}") {$CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{hsym}{$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG} = 1}elsif ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O eq "\x{73}\x{63}\x{72}\x{69}\x{70}\x{74}") {$CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{script}{$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG} = 1}elsif ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O eq "\x{70}\x{75}\x{73}\x{65}\x{72}") {if (&CVEY6BW6WYMCBODRT4NKSH6H10RYYWBZY1QQUUBDRXDDT3BIVJW($CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG)) {$CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{puser}{$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG} = 1} elsif (!$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "Error in $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ignore}: [$CT3BJRFIIZHUDP085LC9YULNGT3QVA5X5FM37S7QTT9G10W3E03] is not a valid regex (skipped)\n"}}elsif ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O eq "\x{70}\x{66}\x{69}\x{6c}\x{65}") {if (&CVEY6BW6WYMCBODRT4NKSH6H10RYYWBZY1QQUUBDRXDDT3BIVJW($CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG)) {$CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{pfile}{$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG} = 1} elsif (!$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "Error in $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ignore}, [$CT3BJRFIIZHUDP085LC9YULNGT3QVA5X5FM37S7QTT9G10W3E03] is not a valid regex (skipped)\n"}}elsif ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O eq "\x{70}\x{64}\x{69}\x{72}") {if (&CVEY6BW6WYMCBODRT4NKSH6H10RYYWBZY1QQUUBDRXDDT3BIVJW($CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG)) {$CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{pdir}{$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG} = 1} elsif (!$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "Error in $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ignore}, [$CT3BJRFIIZHUDP085LC9YULNGT3QVA5X5FM37S7QTT9G10W3E03] is not a valid regex (skipped)\n"}}elsif ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O eq "\x{70}\x{73}\x{79}\x{6d}") {if (&CVEY6BW6WYMCBODRT4NKSH6H10RYYWBZY1QQUUBDRXDDT3BIVJW($CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG)) {$CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{psym}{$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG} = 1} elsif (!$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "Error in $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ignore}, [$CT3BJRFIIZHUDP085LC9YULNGT3QVA5X5FM37S7QTT9G10W3E03] is not a valid regex (skipped)\n"}}elsif ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O eq "\x{70}\x{73}\x{63}\x{72}\x{69}\x{70}\x{74}") {if (&CVEY6BW6WYMCBODRT4NKSH6H10RYYWBZY1QQUUBDRXDDT3BIVJW($CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG)) {$CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{pscript}{$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG} = 1} elsif (!$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "Error in $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ignore}, [$CT3BJRFIIZHUDP085LC9YULNGT3QVA5X5FM37S7QTT9G10W3E03] is not a valid regex (skipped)\n"}}elsif ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O eq "\x{6d}\x{61}\x{74}\x{63}\x{68}") {$CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{match}{$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG} = 1}elsif ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O eq "\x{6d}\x{64}\x{35}\x{73}\x{75}\x{6d}") {$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG =~ s/\s//g; $CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{md5sum}{$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG} = 1}elsif ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O eq "\x{66}\x{70}") {if ($CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG =~ /^\[P\d+\]$/) {foreach my $CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ (keys %CCPBXNAMLMN8BXQZQCTAUEHYG5FONEHCCG9Y7A5UP2CDB076NS4) {my $CPGZS45EP1XUKNFPFBFH1MAN61QK75GIY83UPBDJ2OUC8S6B9K2 = quotemeta($CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG);if ($CCPBXNAMLMN8BXQZQCTAUEHYG5FONEHCCG9Y7A5UP2CDB076NS4{$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ} =~ /$CPGZS45EP1XUKNFPFBFH1MAN61QK75GIY83UPBDJ2OUC8S6B9K2/) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "debug: Ignoring Fingerprint ($CCPBXNAMLMN8BXQZQCTAUEHYG5FONEHCCG9Y7A5UP2CDB076NS4{$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ}]) ($CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG)\n"}delete $CCPBXNAMLMN8BXQZQCTAUEHYG5FONEHCCG9Y7A5UP2CDB076NS4{$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ};}}}}elsif ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O eq "\x{69}\x{70}") {$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG =~ s/\s//g; $CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{ip}{$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG} = 1}}foreach my $CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ (keys %C5KMGW2E46AHYOVHGGXYU3NFHZHWCUP40M88G0I2EJQTQ57PN9Y) {$CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{md5sum}{$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ} = 1}return;}sub CZ0BVWLYIU8J8KKBOUAD4QZVP39FZ5JP26C9Q1JY46PQH43QPFV {my @C5J8REJ94XD2PU26XH3ZJB7UGE3LML5K6TXWQVS5QO3M5RAAVDZ;my @C0987TAFFDET58BJ9DYMPT9TWDEAWUIXU73P3412XU6MRPV8OAS;my @CJZ9GIQKLETVGKSP9F7QWSPWLVP1Z5TS1I7CCKWUAKFAOU37B6F;my %CS3UPEA3IBKHKH49QLZIWTWD7HYZA0ZXWO5Z4H68HK52K3EFLI5;my %CL62WS3GEXDV6C1L3UJ195UD2X8GC2MGC4C4JKPMAEKQD5AMFFN;my %CQUNVKD2OCYFTIQOHXDMEK6QIABNWQ083C5L82W4RK02V2CXXZD;my %CCX037L7SCH4QL8Q574101CRKDVK4Z0AMPGP3HWCZMV89J3XBJW;my %CDSVPP598KDHDSYML1WMGHWIEE4X7Z4E88NHYBHARI2B8OQZ33V;my @CWS75LQ7B5EYK4X0FFPTRB0BF076ZTMA7EXCZSZ941NJJR6A0JQ;foreach my $CT3BJRFIIZHUDP085LC9YULNGT3QVA5X5FM37S7QTT9G10W3E03 (slurp($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{xtra})) {push @CWS75LQ7B5EYK4X0FFPTRB0BF076ZTMA7EXCZSZ941NJJR6A0JQ, $CT3BJRFIIZHUDP085LC9YULNGT3QVA5X5FM37S7QTT9G10W3E03;$CT3BJRFIIZHUDP085LC9YULNGT3QVA5X5FM37S7QTT9G10W3E03 =~ s/$cleanreg//g;if ($CT3BJRFIIZHUDP085LC9YULNGT3QVA5X5FM37S7QTT9G10W3E03 =~ /^Include\s+(.*)\s*$/) {my $CM4YWVGZDQAIG0W00OW0IA812GPKWKL7PZ0S79U3DWRBDC34Q16 = $1;if (-f $CM4YWVGZDQAIG0W00OW0IA812GPKWKL7PZ0S79U3DWRBDC34Q16) {foreach my $CHEJXVDRHH19XLYWNN2NTSMM7B6UVPQFXEEEEXNK0CRS2AG8XV3 (slurp($CM4YWVGZDQAIG0W00OW0IA812GPKWKL7PZ0S79U3DWRBDC34Q16)) {push @CWS75LQ7B5EYK4X0FFPTRB0BF076ZTMA7EXCZSZ941NJJR6A0JQ, $CHEJXVDRHH19XLYWNN2NTSMM7B6UVPQFXEEEEXNK0CRS2AG8XV3;}}}}foreach my $CT3BJRFIIZHUDP085LC9YULNGT3QVA5X5FM37S7QTT9G10W3E03 (@CWS75LQ7B5EYK4X0FFPTRB0BF076ZTMA7EXCZSZ941NJJR6A0JQ) {$CT3BJRFIIZHUDP085LC9YULNGT3QVA5X5FM37S7QTT9G10W3E03 =~ s/$cleanreg//g;my ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O,$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG) = split (/\:/, $CT3BJRFIIZHUDP085LC9YULNGT3QVA5X5FM37S7QTT9G10W3E03, 2);if ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O eq "\x{66}\x{69}\x{6c}\x{65}" or $CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O eq "regfile") {$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG =~ s/\/*$//g}if ($CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG =~ /^quarantine:(.*)$/) {$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG = $1;$CDSVPP598KDHDSYML1WMGHWIEE4X7Z4E88NHYBHARI2B8OQZ33V{$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O}{$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG} = 1;}if ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O eq "\x{72}\x{65}\x{67}\x{61}\x{6c}\x{6c}") {if (&CVEY6BW6WYMCBODRT4NKSH6H10RYYWBZY1QQUUBDRXDDT3BIVJW($CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG)) {push @C5J8REJ94XD2PU26XH3ZJB7UGE3LML5K6TXWQVS5QO3M5RAAVDZ, $CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG} elsif (!$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "Error in $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{xtra}: [$CT3BJRFIIZHUDP085LC9YULNGT3QVA5X5FM37S7QTT9G10W3E03] is not a valid regex (skipped)\n"}}elsif ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O eq "\x{72}\x{65}\x{67}\x{70}\x{68}\x{70}") {if (&CVEY6BW6WYMCBODRT4NKSH6H10RYYWBZY1QQUUBDRXDDT3BIVJW($CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG)) {push @C0987TAFFDET58BJ9DYMPT9TWDEAWUIXU73P3412XU6MRPV8OAS, $CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG} elsif (!$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "Error in $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{xtra}: [$CT3BJRFIIZHUDP085LC9YULNGT3QVA5X5FM37S7QTT9G10W3E03] is not a valid regex (skipped)\n"}}elsif ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O eq "\x{72}\x{65}\x{67}\x{70}\x{65}\x{72}\x{6c}") {if (&CVEY6BW6WYMCBODRT4NKSH6H10RYYWBZY1QQUUBDRXDDT3BIVJW($CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG)) {push @CJZ9GIQKLETVGKSP9F7QWSPWLVP1Z5TS1I7CCKWUAKFAOU37B6F, $CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG} elsif (!$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "Error in $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{xtra}: [$CT3BJRFIIZHUDP085LC9YULNGT3QVA5X5FM37S7QTT9G10W3E03] is not a valid regex (skipped)\n"}}elsif ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O eq "\x{72}\x{65}\x{67}\x{66}\x{69}\x{6c}\x{65}") {$CS3UPEA3IBKHKH49QLZIWTWD7HYZA0ZXWO5Z4H68HK52K3EFLI5{$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG} = 1}elsif ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O eq "\x{66}\x{69}\x{6c}\x{65}") {$CL62WS3GEXDV6C1L3UJ195UD2X8GC2MGC4C4JKPMAEKQD5AMFFN{$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG} = 1}elsif ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O eq "\x{6d}\x{64}\x{35}\x{73}\x{75}\x{6d}") {$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG =~ s/\s//g;if ($CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG eq "") {next}if (length($CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG) == 32) {$CQUNVKD2OCYFTIQOHXDMEK6QIABNWQ083C5L82W4RK02V2CXXZD{$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG} = "Xtra md5sum: ($CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG)";}}elsif ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O eq "\x{66}\x{70}") {if (length($CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG) != 32) {my $C34A9NCW6MZ2D67OLQFN14WLURN8XIJTEL7472AY7Q2M7UWXYHN = decode_base64($CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG);if ($C34A9NCW6MZ2D67OLQFN14WLURN8XIJTEL7472AY7Q2M7UWXYHN ne "") {$CCX037L7SCH4QL8Q574101CRKDVK4Z0AMPGP3HWCZMV89J3XBJW{$C34A9NCW6MZ2D67OLQFN14WLURN8XIJTEL7472AY7Q2M7UWXYHN} = "Xtra Fingerprint: ($C34A9NCW6MZ2D67OLQFN14WLURN8XIJTEL7472AY7Q2M7UWXYHN)"}}}}@CNI8O1D3IJZI72QLI2VCJ9WLIRRT1SGJ4SG8W5STOQ42CG4NENC = (@C39PEREHNI6LFHYNPSREGMHRY34M3WH6EL7BBNLEZOV3WRSYJ3C, @C5J8REJ94XD2PU26XH3ZJB7UGE3LML5K6TXWQVS5QO3M5RAAVDZ);@CTJFAA3UFVRTP3DIIL11HZR6VXYU5LTMX6Y58AZ45WAZ1CA09U9 = (@CX36MJ5NBQVEKIY3FX2YBAH2XRO6O1TZL7Z8RK3ENA99DV09S8R, @C0987TAFFDET58BJ9DYMPT9TWDEAWUIXU73P3412XU6MRPV8OAS);@CJ4MSXUNNNMS58JLMQFEYFETILBNU3NNTFVN3HINAJLVY0FLBSR = (@C52SVAJTWVNWDZ0ZU2C64ASHUU1YFQD460RKOYBPUZGW6W3T7FA, @CJZ9GIQKLETVGKSP9F7QWSPWLVP1Z5TS1I7CCKWUAKFAOU37B6F);%CIB6O5CMRV40DRLZMISHMT1FXSHCOZBNG8VHOXASFLYXH753NZA = (%CB6CENXVQ42628ZHISY1558D07RNO4EWRZ0BS7NZZ99XB3CRTDC, %CS3UPEA3IBKHKH49QLZIWTWD7HYZA0ZXWO5Z4H68HK52K3EFLI5);%CDX8ICQIPJZB99T5L9X4SUB5DOFAN4DU235T7W8DZQBCKQEMGYR = (%CA99NDVSCJF53OUOB6PNJXTJ83N16DBDCHIUCRKKTFDZFKLW0UW, %CL62WS3GEXDV6C1L3UJ195UD2X8GC2MGC4C4JKPMAEKQD5AMFFN);%CRJU9H1GKJT1UU58TEIQ0J6U4DN6SKHQZ539PHE8C8D021LE846 = (%CS3UPEA3IBKHKH49QLZIWTWD7HYZA0ZXWO5Z4H68HK52K3EFLI5);%C7MBY865DX38NWNU4G2J3E1P3OIYYIZUEDR6P4EF8D69JAJ47CV = (%CL62WS3GEXDV6C1L3UJ195UD2X8GC2MGC4C4JKPMAEKQD5AMFFN);%CTK568JQ7XT6DZ1S7DGL55H9NVCHF0GIFIO4EJFU8K3ENPKF3S2 = (%C17GMHR2686S5OADSAYDVZ3GRBIU0TAF0C5C6XXNKX97EWLSCES, %CQUNVKD2OCYFTIQOHXDMEK6QIABNWQ083C5L82W4RK02V2CXXZD);%CCPBXNAMLMN8BXQZQCTAUEHYG5FONEHCCG9Y7A5UP2CDB076NS4 = (%CRS9NPRRJDEFAG0ZT4FEO0ROYTIAG7J3E07HZ46QMXWP54XRPW9, %CCX037L7SCH4QL8Q574101CRKDVK4Z0AMPGP3HWCZMV89J3XBJW);%C71WY47WPQ55A5X3HWUWHIYSFOHM2MU0QTR0B26RZ6YDWWFD2PQ = %CDSVPP598KDHDSYML1WMGHWIEE4X7Z4E88NHYBHARI2B8OQZ33V;return;}sub C8FY9P4M3SRG74LKLZ4HLH6JS28ZMYPTOKKE96SCRLI5CE676RV {my @CAOQUH6EYUZJY26NWPJ2ORNE2EFW7Y7J4CDK7FNRGNH8BR58TLN;my @C1JYQAS7PXNJIPFZTRC4JC594ND20E8O3ZW3Q9SFDTNVDBD7QF9;my @C0PRSI8JULQRZVRXVIZH6IPVKHHF3SBWOPWW6BDMP9YX32QDQI3;my %CTS7CNB8P86UT8WOF3W10VBON2QA14BC2G1BOHONBQC726ZWOQL;my $CSNPCTGSZ8F46FNR6YHM659PDL05I315Y8AQSLMYJSDYL5N7YOD = scalar (keys %C17GMHR2686S5OADSAYDVZ3GRBIU0TAF0C5C6XXNKX97EWLSCES);my $CRNYN0C4H1PNHPYQTU6AQ0CA9IDO7UNZBIU73H7XVCY0PXPOXKW = scalar (keys %CRS9NPRRJDEFAG0ZT4FEO0ROYTIAG7J3E07HZ46QMXWP54XRPW9);undef %C17GMHR2686S5OADSAYDVZ3GRBIU0TAF0C5C6XXNKX97EWLSCES;undef %CRS9NPRRJDEFAG0ZT4FEO0ROYTIAG7J3E07HZ46QMXWP54XRPW9;undef %C5KMGW2E46AHYOVHGGXYU3NFHZHWCUP40M88G0I2EJQTQ57PN9Y;undef %CT0KT1EF15LOLQNEBFUQ0I4SSQL48S4DIIDJXVDANKBEASZY5YH;eval {local $SIG{__WARN__} = sub {};my $CG40HYWG3BQ11I07SP8XS8QK3J1JYDXWBHABC5I1ESX92M6KWO1 = Archive::Zip->new();$CG40HYWG3BQ11I07SP8XS8QK3J1JYDXWBHABC5I1ESX92M6KWO1->read("\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{66}\x{70}");@CAOQUH6EYUZJY26NWPJ2ORNE2EFW7Y7J4CDK7FNRGNH8BR58TLN = split(/\n/,$CG40HYWG3BQ11I07SP8XS8QK3J1JYDXWBHABC5I1ESX92M6KWO1->contents("\x{61}\x{6c}\x{6c}\x{2e}\x{6d}\x{64}\x{35}"));@C0PRSI8JULQRZVRXVIZH6IPVKHHF3SBWOPWW6BDMP9YX32QDQI3 = split(/\n/,$CG40HYWG3BQ11I07SP8XS8QK3J1JYDXWBHABC5I1ESX92M6KWO1->contents("\x{6d}\x{79}\x{2e}\x{73}\x{76}\x{65}\x{72}"));};chomp @CAOQUH6EYUZJY26NWPJ2ORNE2EFW7Y7J4CDK7FNRGNH8BR58TLN;if ((-e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{6e}\x{65}\x{77}\x{2e}\x{66}\x{70}") and (! -z "/etc/cxs/new.fp")) {eval {local $SIG{__WARN__} = sub {};my $CZE5YZRXQPX0WFHYQ5LOREQ4MIJ0WM6CE0F899L869T6ZXIESHV = Archive::Zip->new();$CZE5YZRXQPX0WFHYQ5LOREQ4MIJ0WM6CE0F899L869T6ZXIESHV->read("\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{6e}\x{65}\x{77}\x{2e}\x{66}\x{70}");@C1JYQAS7PXNJIPFZTRC4JC594ND20E8O3ZW3Q9SFDTNVDBD7QF9 = split(/\n/,$CZE5YZRXQPX0WFHYQ5LOREQ4MIJ0WM6CE0F899L869T6ZXIESHV->contents("\x{6e}\x{65}\x{77}\x{2e}\x{6d}\x{64}\x{35}"));my @CYED0JDW6DUR1MCNWSLWN2J1VKY3BY0X17ZTVW6DZZCT0DTPTQR = split(/\n/,$CZE5YZRXQPX0WFHYQ5LOREQ4MIJ0WM6CE0F899L869T6ZXIESHV->contents("\x{6d}\x{79}\x{2e}\x{73}\x{76}\x{65}\x{72}"));if (@CYED0JDW6DUR1MCNWSLWN2J1VKY3BY0X17ZTVW6DZZCT0DTPTQR) {@C0PRSI8JULQRZVRXVIZH6IPVKHHF3SBWOPWW6BDMP9YX32QDQI3 = @CYED0JDW6DUR1MCNWSLWN2J1VKY3BY0X17ZTVW6DZZCT0DTPTQR}};chomp @C1JYQAS7PXNJIPFZTRC4JC594ND20E8O3ZW3Q9SFDTNVDBD7QF9;push @CAOQUH6EYUZJY26NWPJ2ORNE2EFW7Y7J4CDK7FNRGNH8BR58TLN, @C1JYQAS7PXNJIPFZTRC4JC594ND20E8O3ZW3Q9SFDTNVDBD7QF9;}chomp @C0PRSI8JULQRZVRXVIZH6IPVKHHF3SBWOPWW6BDMP9YX32QDQI3;foreach my $CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT (@C0PRSI8JULQRZVRXVIZH6IPVKHHF3SBWOPWW6BDMP9YX32QDQI3) {my ($CCDZ53U3UX8GL31I0CS1U2URMBIQOFNFXM5IBA5CU81FASO0JPO,$CQCQFWQS2ILDFTE94L5IC8EON95LPWMBKQ2DF2L9T14JYT79NSJ) = split(/\:/,$CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT,2);$CT0KT1EF15LOLQNEBFUQ0I4SSQL48S4DIIDJXVDANKBEASZY5YH{$CCDZ53U3UX8GL31I0CS1U2URMBIQOFNFXM5IBA5CU81FASO0JPO} = $CQCQFWQS2ILDFTE94L5IC8EON95LPWMBKQ2DF2L9T14JYT79NSJ;}unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YSKIPMD5}) {foreach my $CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT (@CAOQUH6EYUZJY26NWPJ2ORNE2EFW7Y7J4CDK7FNRGNH8BR58TLN) {my ($CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH,$CWMPZDGOXWNR17XA0D2T69OZ9Z335BKQTGB0JERXZTHDIT06WH8) = split(/\:/,$CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT);if (length($CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH) == 32) {if ($CWMPZDGOXWNR17XA0D2T69OZ9Z335BKQTGB0JERXZTHDIT06WH8 eq "\x{69}\x{67}\x{6e}\x{6f}\x{72}\x{65}") {$CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{md5sum}{$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH} = 1;$C5KMGW2E46AHYOVHGGXYU3NFHZHWCUP40M88G0I2EJQTQ57PN9Y{$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH} = 1;} else {if ($CWMPZDGOXWNR17XA0D2T69OZ9Z335BKQTGB0JERXZTHDIT06WH8) {$C17GMHR2686S5OADSAYDVZ3GRBIU0TAF0C5C6XXNKX97EWLSCES{$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH} = $CWMPZDGOXWNR17XA0D2T69OZ9Z335BKQTGB0JERXZTHDIT06WH8} else {$C17GMHR2686S5OADSAYDVZ3GRBIU0TAF0C5C6XXNKX97EWLSCES{$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH} = 1}}} else {unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YSKIPFPREGEX}) {my $C34A9NCW6MZ2D67OLQFN14WLURN8XIJTEL7472AY7Q2M7UWXYHN = decode_base64($CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH);if ($CWMPZDGOXWNR17XA0D2T69OZ9Z335BKQTGB0JERXZTHDIT06WH8 eq "\x{69}\x{67}\x{6e}\x{6f}\x{72}\x{65}") {$CTS7CNB8P86UT8WOF3W10VBON2QA14BC2G1BOHONBQC726ZWOQL{$C34A9NCW6MZ2D67OLQFN14WLURN8XIJTEL7472AY7Q2M7UWXYHN} = 1;} else {if ($CWMPZDGOXWNR17XA0D2T69OZ9Z335BKQTGB0JERXZTHDIT06WH8) {$CRS9NPRRJDEFAG0ZT4FEO0ROYTIAG7J3E07HZ46QMXWP54XRPW9{$C34A9NCW6MZ2D67OLQFN14WLURN8XIJTEL7472AY7Q2M7UWXYHN} = $CWMPZDGOXWNR17XA0D2T69OZ9Z335BKQTGB0JERXZTHDIT06WH8} else {$CRS9NPRRJDEFAG0ZT4FEO0ROYTIAG7J3E07HZ46QMXWP54XRPW9{$C34A9NCW6MZ2D67OLQFN14WLURN8XIJTEL7472AY7Q2M7UWXYHN} = 1}}}}}foreach my $CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ (keys %CTS7CNB8P86UT8WOF3W10VBON2QA14BC2G1BOHONBQC726ZWOQL) {delete $CRS9NPRRJDEFAG0ZT4FEO0ROYTIAG7J3E07HZ46QMXWP54XRPW9{$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ}}}%CTK568JQ7XT6DZ1S7DGL55H9NVCHF0GIFIO4EJFU8K3ENPKF3S2 = %C17GMHR2686S5OADSAYDVZ3GRBIU0TAF0C5C6XXNKX97EWLSCES;%CCPBXNAMLMN8BXQZQCTAUEHYG5FONEHCCG9Y7A5UP2CDB076NS4 = %CRS9NPRRJDEFAG0ZT4FEO0ROYTIAG7J3E07HZ46QMXWP54XRPW9;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{xtra} and (-e $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{xtra})) {&CZ0BVWLYIU8J8KKBOUAD4QZVP39FZ5JP26C9Q1JY46PQH43QPFV}undef %C5KM1VBMWHTN9M2U37NM714F7TQWM16QBXIP378QA7LDJ7WDZ62;foreach my $CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ (keys %CCPBXNAMLMN8BXQZQCTAUEHYG5FONEHCCG9Y7A5UP2CDB076NS4) {$C5KM1VBMWHTN9M2U37NM714F7TQWM16QBXIP378QA7LDJ7WDZ62{$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ}{regex} = qr/$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ/s;$C5KM1VBMWHTN9M2U37NM714F7TQWM16QBXIP378QA7LDJ7WDZ62{$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ}{text} = $CCPBXNAMLMN8BXQZQCTAUEHYG5FONEHCCG9Y7A5UP2CDB076NS4{$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ};}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 2) {my $CW0EUJC0LD2Z978L7DUIRYIZCHW0VFK0Q8HYAXGN7LR79SP2115 = scalar (keys %C17GMHR2686S5OADSAYDVZ3GRBIU0TAF0C5C6XXNKX97EWLSCES);my $CY8HSM8PAUDGUR5KJMEWLOUSPLHQPTBVJMYTZI5R24MC87IJ7F7 = scalar (keys %CRS9NPRRJDEFAG0ZT4FEO0ROYTIAG7J3E07HZ46QMXWP54XRPW9);my $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR = "New FP: md5:[$CSNPCTGSZ8F46FNR6YHM659PDL05I315Y8AQSLMYJSDYL5N7YOD] -> [$CW0EUJC0LD2Z978L7DUIRYIZCHW0VFK0Q8HYAXGN7LR79SP2115], b64:[$CRNYN0C4H1PNHPYQTU6AQ0CA9IDO7UNZBIU73H7XVCY0PXPOXKW] -> [$CY8HSM8PAUDGUR5KJMEWLOUSPLHQPTBVJMYTZI5R24MC87IJ7F7]";return $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR;} else {return;}}sub C7PKO0FK9WK252FSHM47FQSDL44ACG6RHFJOI67MJ13CPDIIBD0 {undef $CCTF4D5A1V0H3RNCTWQSHF4VL77VSJ2FTUWM9WJ2IVHQI7D9RJJ;if (-e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{62}\x{61}\x{79}\x{65}\x{73}") {$CCTF4D5A1V0H3RNCTWQSHF4VL77VSJ2FTUWM9WJ2IVHQI7D9RJJ = Storable::retrieve("\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{62}\x{61}\x{79}\x{65}\x{73}");} else {$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{bayes} = 0;return "\x{45}\x{72}\x{72}\x{6f}\x{72}\x{3a}\x{20}\x{42}\x{61}\x{79}\x{65}\x{73}\x{20}\x{63}\x{6f}\x{72}\x{70}\x{75}\x{73}\x{20}\x{6e}\x{6f}\x{74}\x{20}\x{66}\x{6f}\x{75}\x{6e}\x{64}";}$CSRNXM684AT2M6OYWES051N5BU6JZSRMPBZXTTKAOTVNDQI3CQQ{X} = $CCTF4D5A1V0H3RNCTWQSHF4VL77VSJ2FTUWM9WJ2IVHQI7D9RJJ->{Xcount};$CSRNXM684AT2M6OYWES051N5BU6JZSRMPBZXTTKAOTVNDQI3CQQ{C} = $CCTF4D5A1V0H3RNCTWQSHF4VL77VSJ2FTUWM9WJ2IVHQI7D9RJJ->{Ccount};$CDGLM0DQ66P1RMWPLG7DZHM3AQXJHSREIP8HZ72G7X9OVXHUK05 = $CSRNXM684AT2M6OYWES051N5BU6JZSRMPBZXTTKAOTVNDQI3CQQ{X} + $CSRNXM684AT2M6OYWES051N5BU6JZSRMPBZXTTKAOTVNDQI3CQQ{C};if (-e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{62}\x{61}\x{79}\x{65}\x{73}\x{2e}\x{6c}\x{6f}\x{63}\x{61}\x{6c}") {$CYZEOFNV1P33QMN5GHX55MS9R17IZTAIYKWN2MD7TURFOSPA6BZ = Storable::retrieve("\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{62}\x{61}\x{79}\x{65}\x{73}\x{2e}\x{6c}\x{6f}\x{63}\x{61}\x{6c}");foreach my $CA58Y1QGUL11ND2ZXE96NOLHKBZOW9NRQBJ9PYZSCBUA4ECRASF (keys %CSRNXM684AT2M6OYWES051N5BU6JZSRMPBZXTTKAOTVNDQI3CQQ) {foreach my $C4TAUMI3HQABN8OCOS98945707DNPUC5BSF8F011UUA408R89CE (keys %{$CYZEOFNV1P33QMN5GHX55MS9R17IZTAIYKWN2MD7TURFOSPA6BZ->{$CA58Y1QGUL11ND2ZXE96NOLHKBZOW9NRQBJ9PYZSCBUA4ECRASF}}) {$CCTF4D5A1V0H3RNCTWQSHF4VL77VSJ2FTUWM9WJ2IVHQI7D9RJJ->{$CA58Y1QGUL11ND2ZXE96NOLHKBZOW9NRQBJ9PYZSCBUA4ECRASF}{$C4TAUMI3HQABN8OCOS98945707DNPUC5BSF8F011UUA408R89CE} += $CYZEOFNV1P33QMN5GHX55MS9R17IZTAIYKWN2MD7TURFOSPA6BZ->{$CA58Y1QGUL11ND2ZXE96NOLHKBZOW9NRQBJ9PYZSCBUA4ECRASF}{$C4TAUMI3HQABN8OCOS98945707DNPUC5BSF8F011UUA408R89CE};}}$CSRNXM684AT2M6OYWES051N5BU6JZSRMPBZXTTKAOTVNDQI3CQQ{X} += $CYZEOFNV1P33QMN5GHX55MS9R17IZTAIYKWN2MD7TURFOSPA6BZ->{Xcount};$CSRNXM684AT2M6OYWES051N5BU6JZSRMPBZXTTKAOTVNDQI3CQQ{C} += $CYZEOFNV1P33QMN5GHX55MS9R17IZTAIYKWN2MD7TURFOSPA6BZ->{Ccount};$CDGLM0DQ66P1RMWPLG7DZHM3AQXJHSREIP8HZ72G7X9OVXHUK05 = $CSRNXM684AT2M6OYWES051N5BU6JZSRMPBZXTTKAOTVNDQI3CQQ{X} + $CSRNXM684AT2M6OYWES051N5BU6JZSRMPBZXTTKAOTVNDQI3CQQ{C};}return 0;}sub C1E6HR8Y9NLSO3119DMZFVUI46A21BK2Q46OUFJ5V590457PI5R {eval {local $SIG{__WARN__} = sub {};my $CG40HYWG3BQ11I07SP8XS8QK3J1JYDXWBHABC5I1ESX92M6KWO1 = Archive::Zip->new();$CG40HYWG3BQ11I07SP8XS8QK3J1JYDXWBHABC5I1ESX92M6KWO1->read("\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{73}\x{76}\x{65}\x{72}");%C7ZNN2538L6UKFDIHGN4Y4SBDFK7JL5DNBB7G920U22E8MLLTAS = %{Storable::thaw($CG40HYWG3BQ11I07SP8XS8QK3J1JYDXWBHABC5I1ESX92M6KWO1->contents("\x{76}\x{65}\x{72}\x{73}\x{69}\x{6f}\x{6e}\x{73}\x{2e}\x{63}\x{61}\x{63}\x{68}\x{65}"))};};return;}sub CVEY6BW6WYMCBODRT4NKSH6H10RYYWBZY1QQUUBDRXDDT3BIVJW {my $CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG = shift;eval {local $SIG{__DIE__} = undef;my $CXFGUFELOD6PNUP0FS62WHTMGRLB81LOYYO05LAPEFPTD1TDY8R =~ /$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG/;};if ($@) {return 0}return 1;}sub CTKDC94I7RPKR9DWBH1D6HZ1V8O0EU0RXPLN2PZHH15OMJSH07B {if ($CPJG3105W26PTRGG9DCKTM1BFXQI6TQ4Z6OJBNXZ4623E5OIFPB) {return}my @CJLIVRPILMY4H015U3XLNP7ZVNQVXITD256S8AVM0AWUPNDQKKT;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{filemax} > 0 and @_ > $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{filemax}) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "debug: Too many resources in $File::Find::dir\n"}&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("Skipped - too many resources: ".@_." ( > filemax=$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{filemax})","\x{46}",$File::Find::dir);return;}foreach my $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS (@_) {if ($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS =~ /^\.$|^\.\.$/) {next}if (&CWSU91BZP9L43ZX52Z21JTCWKFANQYCSSXA3GQDOYATTAX8LLAZ("$File::Find::dir/$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS")) {next}push @CJLIVRPILMY4H015U3XLNP7ZVNQVXITD256S8AVM0AWUPNDQKKT, $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS;}return (sort @CJLIVRPILMY4H015U3XLNP7ZVNQVXITD256S8AVM0AWUPNDQKKT);}sub CG32W86ZRVJ1HSWB8GETWFLJUB7N1TEAW1ZT84IPXBNEYSQA1IJ {if ($CPJG3105W26PTRGG9DCKTM1BFXQI6TQ4Z6OJBNXZ4623E5OIFPB) {return}my $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS = $File::Find::name;$CGLEWV00IFOL2FVY0ZUXMGVCJ6BVKL3UBRGIFC0PNON7X20D8V4++;unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {if (($CGLEWV00IFOL2FVY0ZUXMGVCJ6BVKL3UBRGIFC0PNON7X20D8V4 / 50) == int($CGLEWV00IFOL2FVY0ZUXMGVCJ6BVKL3UBRGIFC0PNON7X20D8V4 / 50)) {unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "\x{2e}";if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{web}) {print "\n"}}}}eval {local $SIG{__DIE__} = undef;local $SIG{'ALRM'} = sub {die "alarm\n"};alarm($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{timemax});undef $CCJCTZOXDRE09M5X98XOG041UL75MNTBCKGQD7UT9KMMV6FI6KU;undef $CMYOTIZTWN1ZUI43Y0KLMUK3G4X7Y8XIJNWW2W6E8M0PPQNZFK0;undef $C0AVALPVGF4BVRNLKLZJVO909NBXNIWEAAUZGO5OA4CS07SFYRZ;undef $C34A9NCW6MZ2D67OLQFN14WLURN8XIJTEL7472AY7Q2M7UWXYHN;undef $CKWWWR0K6JCTN3GEE6IC5F5SDC8CYPBAIDBNTFF6W98MXZRHN69;undef $CDAGOJ2XIJYJ7S8BX04R1PKN46XJY1WPV6NF4E9B1W31DUY7JJ2;undef $CMQ6UVJN7AJ2C6284755YRR5QYIJP8ADHI2VMEBND41APGVIFU7;&CFQQVI40WWJQD80SV9R841550LE2UYB5L6T7HEAPFCJINMTHB6C($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);alarm(0);};alarm(0);if ($@) {my $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR;if ($@ eq "alarm\n") {unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "!"}$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR = "Scan Timeout ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{timemax} secs) while processing";}elsif ($@ eq "php\n") {unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "!"}$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR = "\x{70}\x{68}\x{70}\x{20}\x{49}\x{6e}\x{74}\x{65}\x{72}\x{70}\x{72}\x{65}\x{74}\x{65}\x{72}\x{20}\x{54}\x{69}\x{6d}\x{65}\x{6f}\x{75}\x{74}\x{20}\x{77}\x{68}\x{69}\x{6c}\x{65}\x{20}\x{70}\x{72}\x{6f}\x{63}\x{65}\x{73}\x{73}\x{69}\x{6e}\x{67}";} else {unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "%"}$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR = "Scan Error [$@] while processing";}&CBDBHF4FTMDO66Z6OHTIGZRMCHIXQCE8MWC6LBOOLOJ2C737D0P;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{report}) {open (my $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, "\x{3e}\x{3e}", $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{report});flock ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, LOCK_EX);print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "\# $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR:\n'$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS'\n";close ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI);}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YCONREP}) {open (my $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, "\x{3e}\x{3e}", $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YCONREP});flock ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, LOCK_EX);print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "\# $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR:\n'$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS'\n";close ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI);}$CSI9RDCS7TJCBWV5UTINKTJ7E45E3KF0VNKJXO9GGTWPUZQ64N3 .= "\# $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR:\n'$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS'\n";$C6ED9C559BIG3Y1V6R397GX7QB7KUKP199MFZE8UMBUIQQR32GP .= "

\# $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR:\n'$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS'

\n";$CSJ8OTS79CBF1X7SIQ8OHW3NRBG2C61SEFK5AHV4VT4PRPRONGV .= "\# $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR:\n'$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS'\n";$CLKFW5TBP06PRRJN49272SX6OO6ZO3WF77K9W2AFMZNXWMJGG99 .= "

\# $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR:\n'$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS'

\n";}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{throttle} and (time - $CPUQVAXJ46KJEPTH02X1I4SSSEBPMWXJOWJC6N0B2E2VCYPIGJW > 60)) {open (my $CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY, "\x{3c}", "/proc/loadavg");flock ($CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY, LOCK_SH);my $CAFYDJFFJE5LVBXOXFLU8OSOI0N0C67ABLM16Y3BMT80686SRC0 = <$CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY>;close ($CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY);chomp $CAFYDJFFJE5LVBXOXFLU8OSOI0N0C67ABLM16Y3BMT80686SRC0;my @CF3QIE2NVBD97L4HHVOZZ48MXHGGA8Q1NIY0EZ1VZN1QU33BO5H = split(/\s+/,$CAFYDJFFJE5LVBXOXFLU8OSOI0N0C67ABLM16Y3BMT80686SRC0);if ($CF3QIE2NVBD97L4HHVOZZ48MXHGGA8Q1NIY0EZ1VZN1QU33BO5H[0] > $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{throttle}) {$CVIAAXAFTYNLKUKLKII7AEAR7SHMKCGNORMGSL2SAVUZVLIY3XT++;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {sleep 60;} else {print "[Z";if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{web}) {print "\n"}for (1..6) {print "\x{7a}";if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{web}) {print "\n"}sleep 10;}print "]";}}$CPUQVAXJ46KJEPTH02X1I4SSSEBPMWXJOWJC6N0B2E2VCYPIGJW = time;}&CS4COKHXHTTSBZDJZ3YIFHXEVAETW2GV1ZZVO44EZKUCUFEAM6F;return;}sub CRZXT30553UDQXC38JO4G3C3FCBLN0ZAOUFCBT0CY6KOOVXZ78A {my $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK = shift;$C8FDZ23N2V5A8D88NJ5D5XP3DCA5SED2K09LQIWAJCHSSA4V0C4 = "";$CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB = "";if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{user} or $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{allusers}) {stat($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK);if ($st_uid == $COK0Z2RPLC8X0P8V833ZB8TK4QCJ3YB1EKH5HARC8P1HNQQPPFI) {my $CNR7W79AB2EBOCWKA5OOZXZP1VYTU65Z9GTBS0EI7FWJIM59J5M = 0;while (my @C3UB7WBTCO65AAM184EAXVOWOULRUZ1M1AQHOYF7SU3PZE4H59Z = getpwent()) {if ($C3UB7WBTCO65AAM184EAXVOWOULRUZ1M1AQHOYF7SU3PZE4H59Z[7] ne "\x{2f}" and $C3UB7WBTCO65AAM184EAXVOWOULRUZ1M1AQHOYF7SU3PZE4H59Z[7] ne "") {if ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK =~ /^$C3UB7WBTCO65AAM184EAXVOWOULRUZ1M1AQHOYF7SU3PZE4H59Z[7]/) {if ($CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB eq "") {$CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB = $C3UB7WBTCO65AAM184EAXVOWOULRUZ1M1AQHOYF7SU3PZE4H59Z[7];$C8FDZ23N2V5A8D88NJ5D5XP3DCA5SED2K09LQIWAJCHSSA4V0C4 = $C3UB7WBTCO65AAM184EAXVOWOULRUZ1M1AQHOYF7SU3PZE4H59Z[0];} else {$CNR7W79AB2EBOCWKA5OOZXZP1VYTU65Z9GTBS0EI7FWJIM59J5M = 1}}}}endpwent();if ($CNR7W79AB2EBOCWKA5OOZXZP1VYTU65Z9GTBS0EI7FWJIM59J5M) {$CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB = "";$C8FDZ23N2V5A8D88NJ5D5XP3DCA5SED2K09LQIWAJCHSSA4V0C4 = "";}}else {my @C3UB7WBTCO65AAM184EAXVOWOULRUZ1M1AQHOYF7SU3PZE4H59Z = getpwuid($st_uid);$CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB = $C3UB7WBTCO65AAM184EAXVOWOULRUZ1M1AQHOYF7SU3PZE4H59Z[7];$C8FDZ23N2V5A8D88NJ5D5XP3DCA5SED2K09LQIWAJCHSSA4V0C4 = $C3UB7WBTCO65AAM184EAXVOWOULRUZ1M1AQHOYF7SU3PZE4H59Z[0];}}if (&CWSU91BZP9L43ZX52Z21JTCWKFANQYCSSXA3GQDOYATTAX8LLAZ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK)) {$C8FDZ23N2V5A8D88NJ5D5XP3DCA5SED2K09LQIWAJCHSSA4V0C4 = "";$CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB = "";return 1;} else {$C8FDZ23N2V5A8D88NJ5D5XP3DCA5SED2K09LQIWAJCHSSA4V0C4 = "";$CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB = "";return 0;}}sub CV7Y44FGNUVCEXIRJA6R7DZUAJL9X5IUOQ6IYL1XXF6FAC98VC2 {my $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK = shift;$C90OV121YC814BVYRIXZNKII2SG4LFMVQIV7IOPT0R7JSLXZXSS = shift;my $CXGDWHNXEPXSHL2JL1PLP7PSPQQD1OYKS3AY5U6TRVSHDQU7SA9 = shift;$CSI9RDCS7TJCBWV5UTINKTJ7E45E3KF0VNKJXO9GGTWPUZQ64N3 = $C6N3PF0KN8SVVNH6SVHMV8X3GEKQP9DECMRJ5S1Y42ZZ5LB6NFG;$C6ED9C559BIG3Y1V6R397GX7QB7KUKP199MFZE8UMBUIQQR32GP = $CINL85KC9B6THSNY3ZNA1OH7Q2JVW264GBCJBIQS43A2POPWMWX;$CSI9RDCS7TJCBWV5UTINKTJ7E45E3KF0VNKJXO9GGTWPUZQ64N3 .= "cxswatch Scanning $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK:\n";$C6ED9C559BIG3Y1V6R397GX7QB7KUKP199MFZE8UMBUIQQR32GP .= "
 
\n
cxswatch Scanning $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK:
\n";$CRJ6LNQ105I55EXFCPNXUT6U6N2XFJ0XSU7RCGPS31TESCA8NXS = 0;$C94ICU8JH5SUI65ZVEHJ1HVY0DW0W4JRY3N9FKA98MZ716ZUCS2 = 0;$CFEIT2IDGHWUSQVPWT5ELK518FZHCXWD6G84E7F0TRH1JL8OFZ7 = 0;$C371DZXY4HFFEPKFLJ85TNQ3CUCEVFXK482G9GN15HUHNR420BP = "";$CIWWC0G8W2PVAX5H8AG9A0FQ1MINZ9Q2UJP4ARL45UDEM0PE4QS = "";undef %CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK;$C8FDZ23N2V5A8D88NJ5D5XP3DCA5SED2K09LQIWAJCHSSA4V0C4 = "";$CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB = "";if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{user} or $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{allusers}) {stat($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK);if ($st_uid == $COK0Z2RPLC8X0P8V833ZB8TK4QCJ3YB1EKH5HARC8P1HNQQPPFI) {my $CNR7W79AB2EBOCWKA5OOZXZP1VYTU65Z9GTBS0EI7FWJIM59J5M = 0;while (my @C3UB7WBTCO65AAM184EAXVOWOULRUZ1M1AQHOYF7SU3PZE4H59Z = getpwent()) {if ($C3UB7WBTCO65AAM184EAXVOWOULRUZ1M1AQHOYF7SU3PZE4H59Z[7] ne "\x{2f}" and $C3UB7WBTCO65AAM184EAXVOWOULRUZ1M1AQHOYF7SU3PZE4H59Z[7] ne "") {if ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK =~ /^$C3UB7WBTCO65AAM184EAXVOWOULRUZ1M1AQHOYF7SU3PZE4H59Z[7]/) {if ($CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB eq "") {$CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB = $C3UB7WBTCO65AAM184EAXVOWOULRUZ1M1AQHOYF7SU3PZE4H59Z[7];$C8FDZ23N2V5A8D88NJ5D5XP3DCA5SED2K09LQIWAJCHSSA4V0C4 = $C3UB7WBTCO65AAM184EAXVOWOULRUZ1M1AQHOYF7SU3PZE4H59Z[0];} else {$CNR7W79AB2EBOCWKA5OOZXZP1VYTU65Z9GTBS0EI7FWJIM59J5M = 1}}}}endpwent();if ($CNR7W79AB2EBOCWKA5OOZXZP1VYTU65Z9GTBS0EI7FWJIM59J5M) {$CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB = "";$C8FDZ23N2V5A8D88NJ5D5XP3DCA5SED2K09LQIWAJCHSSA4V0C4 = "";if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 1) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Child $C90OV121YC814BVYRIXZNKII2SG4LFMVQIV7IOPT0R7JSLXZXSS: Owned by [$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{defapache}] but several possible accounts for '$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK'")}} else {if ($CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB ne "") {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 1) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Child $C90OV121YC814BVYRIXZNKII2SG4LFMVQIV7IOPT0R7JSLXZXSS: Owned by [$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{defapache}] but within [$C8FDZ23N2V5A8D88NJ5D5XP3DCA5SED2K09LQIWAJCHSSA4V0C4], homedir set to [$CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB] for '$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK'")}}}if ($CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB eq "") {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 1) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Child $C90OV121YC814BVYRIXZNKII2SG4LFMVQIV7IOPT0R7JSLXZXSS: Owned by [$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{defapache}], homedir not set for '$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK'")}}}elsif ($st_uid == 0) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 1) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Child $C90OV121YC814BVYRIXZNKII2SG4LFMVQIV7IOPT0R7JSLXZXSS: Owned by [root], homedir not set for '$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK'")}}else {my @C3UB7WBTCO65AAM184EAXVOWOULRUZ1M1AQHOYF7SU3PZE4H59Z = getpwuid($st_uid);$CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB = $C3UB7WBTCO65AAM184EAXVOWOULRUZ1M1AQHOYF7SU3PZE4H59Z[7];$C8FDZ23N2V5A8D88NJ5D5XP3DCA5SED2K09LQIWAJCHSSA4V0C4 = $C3UB7WBTCO65AAM184EAXVOWOULRUZ1M1AQHOYF7SU3PZE4H59Z[0];if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 1) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Child $C90OV121YC814BVYRIXZNKII2SG4LFMVQIV7IOPT0R7JSLXZXSS: Setting user to [$C8FDZ23N2V5A8D88NJ5D5XP3DCA5SED2K09LQIWAJCHSSA4V0C4] and homedir to [$CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB] for '$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK'")}}}if (&CWSU91BZP9L43ZX52Z21JTCWKFANQYCSSXA3GQDOYATTAX8LLAZ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK)) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 0) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Child $C90OV121YC814BVYRIXZNKII2SG4LFMVQIV7IOPT0R7JSLXZXSS: (ignored) '$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK'")}return 2;} else {my $C1TDEYG3CF24G4F6XZFLL623BFL5E954XPBVPMC02NGCA82LJOX = gettimeofday();if (-d $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK and $CXGDWHNXEPXSHL2JL1PLP7PSPQQD1OYKS3AY5U6TRVSHDQU7SA9 ne "\x{53}\x{43}\x{41}\x{4e}\x{4f}\x{4e}\x{4c}\x{59}") {find({preprocess => \&CTKDC94I7RPKR9DWBH1D6HZ1V8O0EU0RXPLN2PZHH15OMJSH07B, wanted => \&CG32W86ZRVJ1HSWB8GETWFLJUB7N1TEAW1ZT84IPXBNEYSQA1IJ}, $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK);} else {eval {local $SIG{__DIE__} = undef;local $SIG{'ALRM'} = sub {die "alarm\n"};alarm($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{timemax});undef $CCJCTZOXDRE09M5X98XOG041UL75MNTBCKGQD7UT9KMMV6FI6KU;undef $CMYOTIZTWN1ZUI43Y0KLMUK3G4X7Y8XIJNWW2W6E8M0PPQNZFK0;undef $C0AVALPVGF4BVRNLKLZJVO909NBXNIWEAAUZGO5OA4CS07SFYRZ;undef $C34A9NCW6MZ2D67OLQFN14WLURN8XIJTEL7472AY7Q2M7UWXYHN;undef $CKWWWR0K6JCTN3GEE6IC5F5SDC8CYPBAIDBNTFF6W98MXZRHN69;undef $CDAGOJ2XIJYJ7S8BX04R1PKN46XJY1WPV6NF4E9B1W31DUY7JJ2;undef $CMQ6UVJN7AJ2C6284755YRR5QYIJP8ADHI2VMEBND41APGVIFU7;&CFQQVI40WWJQD80SV9R841550LE2UYB5L6T7HEAPFCJINMTHB6C($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK);alarm(0);};alarm(0);if ($@) {my $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR;if ($@ eq "alarm\n") {$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR = "Scan Timeout ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{timemax} secs) while processing";}elsif ($@ eq "php\n") {$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR = "\x{70}\x{68}\x{70}\x{20}\x{49}\x{6e}\x{74}\x{65}\x{72}\x{70}\x{72}\x{65}\x{74}\x{65}\x{72}\x{20}\x{54}\x{69}\x{6d}\x{65}\x{6f}\x{75}\x{74}\x{20}\x{77}\x{68}\x{69}\x{6c}\x{65}\x{20}\x{70}\x{72}\x{6f}\x{63}\x{65}\x{73}\x{73}\x{69}\x{6e}\x{67}";} else {$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR = "Scan Error [$@] while processing";}&CBDBHF4FTMDO66Z6OHTIGZRMCHIXQCE8MWC6LBOOLOJ2C737D0P;&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Child $C90OV121YC814BVYRIXZNKII2SG4LFMVQIV7IOPT0R7JSLXZXSS: ($CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR) '$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK'");$CSI9RDCS7TJCBWV5UTINKTJ7E45E3KF0VNKJXO9GGTWPUZQ64N3 .= "\# $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR:\n'$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK'\n";$C6ED9C559BIG3Y1V6R397GX7QB7KUKP199MFZE8UMBUIQQR32GP .= "

\# $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR:\n'$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK'

\n";$CSJ8OTS79CBF1X7SIQ8OHW3NRBG2C61SEFK5AHV4VT4PRPRONGV .= "\# $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR:\n'$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK'\n";$CLKFW5TBP06PRRJN49272SX6OO6ZO3WF77K9W2AFMZNXWMJGG99 .= "

\# $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR:\n'$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK'

\n";}}&CS4COKHXHTTSBZDJZ3YIFHXEVAETW2GV1ZZVO44EZKUCUFEAM6F;if ($CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{susp}) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Child $C90OV121YC814BVYRIXZNKII2SG4LFMVQIV7IOPT0R7JSLXZXSS: (Hits:$CRJ6LNQ105I55EXFCPNXUT6U6N2XFJ0XSU7RCGPS31TESCA8NXS) (Viruses:$C94ICU8JH5SUI65ZVEHJ1HVY0DW0W4JRY3N9FKA98MZ716ZUCS2) (Fingerprints:$CFEIT2IDGHWUSQVPWT5ELK518FZHCXWD6G84E7F0TRH1JL8OFZ7) '$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK'")}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{mail} and $CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{susp}) {if ($C371DZXY4HFFEPKFLJ85TNQ3CUCEVFXK482G9GN15HUHNR420BP eq "\x{77}\x{57}" or $C371DZXY4HFFEPKFLJ85TNQ3CUCEVFXK482G9GN15HUHNR420BP eq "W") {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 0) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Child $C90OV121YC814BVYRIXZNKII2SG4LFMVQIV7IOPT0R7JSLXZXSS: World writeable directory chmod email skipped for '$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK'")}} else {&C974QM1B5YIWQMIOO2R5ZVOLOVH5ANUZHGYPIK65Q7KIR21YLE6($C1TDEYG3CF24G4F6XZFLL623BFL5E954XPBVPMC02NGCA82LJOX);$C6ED9C559BIG3Y1V6R397GX7QB7KUKP199MFZE8UMBUIQQR32GP .= "\n\n\n";my $CDM8YAKE7FY186Y1VOAE853UF3QWMQ4J4E686UOZ70DGTS4NGYZ = localtime();$CDM8YAKE7FY186Y1VOAE853UF3QWMQ4J4E686UOZ70DGTS4NGYZ =~ s/^(\w+)\s+(\w+)\s+(\d+)\s+(\d+:\d+:\d+)\s+(\d+)$/$1, $3 $2 $5 $4/;my $CFZMGKK37G7EZHBTJ7S8C4UAUI5AQL74RPW0GAFMR0XZICG682A = "TimeStamp: $CDM8YAKE7FY186Y1VOAE853UF3QWMQ4J4E686UOZ70DGTS4NGYZ $CA0V9VLS7TMONLE6E2ULF4EXHBDMTT2O0DX1SJ2MSCLN4580DC4";$CSI9RDCS7TJCBWV5UTINKTJ7E45E3KF0VNKJXO9GGTWPUZQ64N3 =~ s/TimeStamp: [\w\s\:\-\+\,]+/$CFZMGKK37G7EZHBTJ7S8C4UAUI5AQL74RPW0GAFMR0XZICG682A\n/;$C6ED9C559BIG3Y1V6R397GX7QB7KUKP199MFZE8UMBUIQQR32GP =~ s/TimeStamp: [\w\s\:\-\+\,]+/$CFZMGKK37G7EZHBTJ7S8C4UAUI5AQL74RPW0GAFMR0XZICG682A/;&CTRQDXFA23HUTJH7L7FYLCATCD4B8998Y6RWHZ3DGB5NP9CLED7("\x{72}\x{6f}\x{6f}\x{74}",$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{mail},$CSI9RDCS7TJCBWV5UTINKTJ7E45E3KF0VNKJXO9GGTWPUZQ64N3,$C8FDZ23N2V5A8D88NJ5D5XP3DCA5SED2K09LQIWAJCHSSA4V0C4,$C6ED9C559BIG3Y1V6R397GX7QB7KUKP199MFZE8UMBUIQQR32GP);}}return $CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{susp};}}sub CFQQVI40WWJQD80SV9R841550LE2UYB5L6T7HEAPFCJINMTHB6C {my $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS = shift;my $C0DYVES2S3LZKR5DH1PP9Q5ZJU4FS6QY6TRZ4NL9FJMIQC5XNWJ;my $C3LP2CKYAQHZVCDETJG6GGZEB5U5A3UK0PZLJ1KDINH5YRWVZ12 = 0;my $C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4;my $COJRRM0JYY5N4V657XROX2RDVLWB08896Y3JY70FUP46NUSEFLC;my $CCN4U3YAYVZEXPME9LT2U1CR2LE3GRST1ZJEX6N3LNLUJCA9UD9;my $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK;my $CGDLWWXOSWH5REVO0ENC16IXWTZWSSKSI8WH4BP1MVGDPAX4NJ7;$CKOHW9NBB9T81UTMJORKB4DW04MZ99T6HF122IVPT3KYG3PLVVG = 0;unless ($CCJCTZOXDRE09M5X98XOG041UL75MNTBCKGQD7UT9KMMV6FI6KU) {$CMYOTIZTWN1ZUI43Y0KLMUK3G4X7Y8XIJNWW2W6E8M0PPQNZFK0 = 0}if ($C34A9NCW6MZ2D67OLQFN14WLURN8XIJTEL7472AY7Q2M7UWXYHN) {$C0DYVES2S3LZKR5DH1PP9Q5ZJU4FS6QY6TRZ4NL9FJMIQC5XNWJ = 'application/x-php';$C3LP2CKYAQHZVCDETJG6GGZEB5U5A3UK0PZLJ1KDINH5YRWVZ12 = 0;$C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4 = 1;$COJRRM0JYY5N4V657XROX2RDVLWB08896Y3JY70FUP46NUSEFLC = 0;$CCN4U3YAYVZEXPME9LT2U1CR2LE3GRST1ZJEX6N3LNLUJCA9UD9 = $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS;$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS = $C34A9NCW6MZ2D67OLQFN14WLURN8XIJTEL7472AY7Q2M7UWXYHN;$CKOHW9NBB9T81UTMJORKB4DW04MZ99T6HF122IVPT3KYG3PLVVG = 1;} else {($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK, $CGDLWWXOSWH5REVO0ENC16IXWTZWSSKSI8WH4BP1MVGDPAX4NJ7) = fileparse($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug} and $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{exploitscan}) {print "debug: Exploit Scan - [$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS]\n"}stat($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ctime} and (time - $st_ctime > ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ctime} * 60 * 60))) {$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{ignore}++;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "debug: Ignoring old file - [$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS]\n"}return;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{exploitscan} and $CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{symlink} and -l $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) {$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{files}++;if ($CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{sym}{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "debug: Ignoring symlink $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS\n"}$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{ignore}++;return;}my $CRFEZABWGCOI60HOK53XQDUKEYAQOIBSJSGEED0CPFEJ2JKH8LW = 0;foreach my $CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ (keys %{$CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{psym}}) {if ($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS =~ /$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ/) {$CRFEZABWGCOI60HOK53XQDUKEYAQOIBSJSGEED0CPFEJ2JKH8LW = 1 ; last}}if ($CRFEZABWGCOI60HOK53XQDUKEYAQOIBSJSGEED0CPFEJ2JKH8LW) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "debug: Ignoring symlink $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS\n"}$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{ignore}++;return;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{user} or $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{allusers}) {if (abs_path($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) =~ /^$CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB/) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "debug: Ignoring symlink $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS - within $CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB\n"}$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{ignore}++;return;}my $C6AOFACM76LL716ACS19A7T65B2IUN2A5GNV3BPLRF59RWIVJGG = $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS;if ($C6AOFACM76LL716ACS19A7T65B2IUN2A5GNV3BPLRF59RWIVJGG =~ /^$CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB/) {$C6AOFACM76LL716ACS19A7T65B2IUN2A5GNV3BPLRF59RWIVJGG =~ s/^$CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB//;if ($CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{hsym}{$C6AOFACM76LL716ACS19A7T65B2IUN2A5GNV3BPLRF59RWIVJGG}) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "debug: Ignoring symlink $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS\n"}$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{ignore}++;return;}}}&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("Symlink to [".readlink($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS)."]","\x{4c}",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);return;}$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{size}+= $st_size;if ($CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{socket} and S_ISSOCK($st_mode)) {$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{files}++;&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("\x{53}\x{6f}\x{63}\x{6b}\x{65}\x{74}","O",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);return;}if ($st_mode & S_IFDIR) {if ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK =~ /^\.$|^\.\.$/) {return}$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{dirs}++;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{exploitscan} and $CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{directory} and (($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK =~ /\.\.\./) or ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK =~ /\.\.\s/) or ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK =~ /^\.psy$/) or ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK =~ /^\.dat$/) or ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK =~ /^www\./) or ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK =~ /^\-$/) or ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK =~ /^\s/) )){&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("\x{53}\x{75}\x{73}\x{70}\x{69}\x{63}\x{69}\x{6f}\x{75}\x{73}\x{20}\x{64}\x{69}\x{72}\x{65}\x{63}\x{74}\x{6f}\x{72}\x{79}","d",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{exploitscan} and $CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{nobody} and ($st_uid == $COK0Z2RPLC8X0P8V833ZB8TK4QCJ3YB1EKH5HARC8P1HNQQPPFI) and ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK =~ /^\./)) {&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("Hidden $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{defapache} directory","\x{6e}",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{exploitscan} and $CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{world} and ($st_mode & S_IWOTH) and -d $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS and !(-l $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) and !S_ISSOCK($st_mode)) {&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("\x{57}\x{6f}\x{72}\x{6c}\x{64}\x{20}\x{77}\x{72}\x{69}\x{74}\x{65}\x{61}\x{62}\x{6c}\x{65}\x{20}\x{64}\x{69}\x{72}\x{65}\x{63}\x{74}\x{6f}\x{72}\x{79}","w",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{exploitscan} and $CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{worldchmod} and ($st_mode & S_IWOTH) and -d $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS and !(-l $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) and !S_ISSOCK($st_mode)) {chmod (0755, $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("World writeable directory, changed to 755","\x{57}",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{exploitscan} and $CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{directory}) {if ($C7MBY865DX38NWNU4G2J3E1P3OIYYIZUEDR6P4EF8D69JAJ47CV{$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK}) {if (&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("\x{53}\x{75}\x{73}\x{70}\x{65}\x{63}\x{74}\x{65}\x{64}\x{20}\x{65}\x{78}\x{70}\x{6c}\x{6f}\x{69}\x{74}\x{20}\x{64}\x{69}\x{72}\x{65}\x{63}\x{74}\x{6f}\x{72}\x{79}","d",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS)) {return}} else {foreach my $CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ (keys %CRJU9H1GKJT1UU58TEIQ0J6U4DN6SKHQZ539PHE8C8D021LE846) {if ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK =~ /$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ/i) {if (&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("Suspected exploit directory match [$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ]","\x{64}",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS)) {return}last;}}}}return;}$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{files}++;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{exploitscan} and $CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{exploit}) {if ($CDX8ICQIPJZB99T5L9X4SUB5DOFAN4DU235T7W8DZQBCKQEMGYR{$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK}) {my $C5S99FO46US2J93BPAAPM2SILMQ30IOU62ZHDRKCSKL1D6FO81C = 0;if ($C71WY47WPQ55A5X3HWUWHIYSFOHM2MU0QTR0B26RZ6YDWWFD2PQ{file}{$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK}) {$C5S99FO46US2J93BPAAPM2SILMQ30IOU62ZHDRKCSKL1D6FO81C = 1}if (&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("\x{53}\x{75}\x{73}\x{70}\x{65}\x{63}\x{74}\x{65}\x{64}\x{20}\x{65}\x{78}\x{70}\x{6c}\x{6f}\x{69}\x{74}\x{20}\x{66}\x{69}\x{6c}\x{65}","h",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS,$C5S99FO46US2J93BPAAPM2SILMQ30IOU62ZHDRKCSKL1D6FO81C)) {return}} else {foreach my $CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ (keys %CIB6O5CMRV40DRLZMISHMT1FXSHCOZBNG8VHOXASFLYXH753NZA) {if ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK =~ /$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ/i) {my $C5S99FO46US2J93BPAAPM2SILMQ30IOU62ZHDRKCSKL1D6FO81C = 0;if ($C71WY47WPQ55A5X3HWUWHIYSFOHM2MU0QTR0B26RZ6YDWWFD2PQ{regfile}{$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ}) {$C5S99FO46US2J93BPAAPM2SILMQ30IOU62ZHDRKCSKL1D6FO81C = 1}if (&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("Suspected exploit file match [$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ]","\x{68}",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS,$C5S99FO46US2J93BPAAPM2SILMQ30IOU62ZHDRKCSKL1D6FO81C)) {return}last;}}}}if ($st_size == 0) {$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{ignore}++;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "debug: Ignoring empty file - [$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS]\n"}return;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{virusscan} and !$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{voptions}) {if (&CZ3N3LKJCGS7BW8JZ2LH5ED0CAVFFITLPVYLRDNLYG9W5MD554T('SCAN '.$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) =~ /^[^:]*: (.*) FOUND$/) {&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("ClamAV detected virus = [$1]","\x{76}",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);return 1;}}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{virusscan} and $CJ6LOEDL9CG8CQ27VLCEKMOROTTVAGZ2V2L9TXYZZQ93PMKIPHO{exploit} and $CDX8ICQIPJZB99T5L9X4SUB5DOFAN4DU235T7W8DZQBCKQEMGYR{$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK}) {if (&CZ3N3LKJCGS7BW8JZ2LH5ED0CAVFFITLPVYLRDNLYG9W5MD554T('SCAN '.$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) =~ /^[^:]*: (.*) FOUND$/) {&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("ClamAV detected virus = [$1]","\x{76}",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);return 1;}}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{exploitscan} and $CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{SUID} and $st_mode & S_ISUID) {if (&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("\x{53}\x{55}\x{49}\x{44}\x{20}\x{70}\x{65}\x{72}\x{6d}\x{69}\x{73}\x{73}\x{69}\x{6f}\x{6e}\x{20}\x{73}\x{65}\x{74}","S",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS)) {return}}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{exploitscan} and $CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{GUID} and $st_mode & S_ISGID) {if (&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("\x{47}\x{55}\x{49}\x{44}\x{20}\x{70}\x{65}\x{72}\x{6d}\x{69}\x{73}\x{73}\x{69}\x{6f}\x{6e}\x{20}\x{73}\x{65}\x{74}","G",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS)) {return}}$C0DYVES2S3LZKR5DH1PP9Q5ZJU4FS6QY6TRZ4NL9FJMIQC5XNWJ = &CL864EBGPXXYXPVXUSAFV45RQLQLJE183PCIO9CLTP6C07RKZJQ($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);if ($C0DYVES2S3LZKR5DH1PP9Q5ZJU4FS6QY6TRZ4NL9FJMIQC5XNWJ eq 'exif-exploit' and $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{exploitscan} and $CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{md5}) {&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("Known exploit = [PHP EXIF Exploit]","\x{4d}",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);return 1;}if ($C0DYVES2S3LZKR5DH1PP9Q5ZJU4FS6QY6TRZ4NL9FJMIQC5XNWJ eq 'exif-exploit' and $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{virusscan} and $CJ6LOEDL9CG8CQ27VLCEKMOROTTVAGZ2V2L9TXYZZQ93PMKIPHO{md5}) {if (&CZ3N3LKJCGS7BW8JZ2LH5ED0CAVFFITLPVYLRDNLYG9W5MD554T('SCAN '.$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) =~ /^[^:]*: (.*) FOUND$/) {&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("ClamAV detected virus = [$1]","\x{76}",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);return 1;}}if ($C0DYVES2S3LZKR5DH1PP9Q5ZJU4FS6QY6TRZ4NL9FJMIQC5XNWJ eq 'application/x-phpimage' ) {$C3LP2CKYAQHZVCDETJG6GGZEB5U5A3UK0PZLJ1KDINH5YRWVZ12 = 1}if ($C0DYVES2S3LZKR5DH1PP9Q5ZJU4FS6QY6TRZ4NL9FJMIQC5XNWJ eq 'application/x-coredump') {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{exploitscan} and $CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{coredel}) {if (&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("Core dump [$C0DYVES2S3LZKR5DH1PP9Q5ZJU4FS6QY6TRZ4NL9FJMIQC5XNWJ] - deleted","\x{43}",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS)) {return}unlink ($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);}elsif ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{exploitscan} and $CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{core}) {if (&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("Core dump [$C0DYVES2S3LZKR5DH1PP9Q5ZJU4FS6QY6TRZ4NL9FJMIQC5XNWJ]","\x{63}",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS)) {return}}return;}if ($C0DYVES2S3LZKR5DH1PP9Q5ZJU4FS6QY6TRZ4NL9FJMIQC5XNWJ =~ /^application\/(octet-stream|x-object|x-executable|x-sharedlib)/) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{exploitscan} and $CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{binary}) {if (&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("Linux Binary/Executable [$C0DYVES2S3LZKR5DH1PP9Q5ZJU4FS6QY6TRZ4NL9FJMIQC5XNWJ]","\x{65}",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS)) {return}}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{virusscan} and $CJ6LOEDL9CG8CQ27VLCEKMOROTTVAGZ2V2L9TXYZZQ93PMKIPHO{binary}) {if (&CZ3N3LKJCGS7BW8JZ2LH5ED0CAVFFITLPVYLRDNLYG9W5MD554T('SCAN '.$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) =~ /^[^:]*: (.*) FOUND$/) {&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("ClamAV detected virus = [$1]","\x{76}",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);}}return;}if ($C0DYVES2S3LZKR5DH1PP9Q5ZJU4FS6QY6TRZ4NL9FJMIQC5XNWJ eq 'application/x-dosexec' or $C0DYVES2S3LZKR5DH1PP9Q5ZJU4FS6QY6TRZ4NL9FJMIQC5XNWJ eq 'application/x-winexec') {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{exploitscan} and $CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{winbinary}) {if ($C0DYVES2S3LZKR5DH1PP9Q5ZJU4FS6QY6TRZ4NL9FJMIQC5XNWJ eq 'application/x-dosexec') {if (&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("MS-DOS Binary/Executable [$C0DYVES2S3LZKR5DH1PP9Q5ZJU4FS6QY6TRZ4NL9FJMIQC5XNWJ]","\x{78}",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS)) {return}} else {if (&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("MS Windows Binary/Executable [$C0DYVES2S3LZKR5DH1PP9Q5ZJU4FS6QY6TRZ4NL9FJMIQC5XNWJ]","\x{78}",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS)) {return}}}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{virusscan} and $CJ6LOEDL9CG8CQ27VLCEKMOROTTVAGZ2V2L9TXYZZQ93PMKIPHO{winbinary}) {if (&CZ3N3LKJCGS7BW8JZ2LH5ED0CAVFFITLPVYLRDNLYG9W5MD554T('SCAN '.$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) =~ /^[^:]*: (.*) FOUND$/) {&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("ClamAV detected virus = [$1]","\x{76}",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);}}return;}if ($CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{zip} and ($st_size < $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{sizemax}) and (($C0DYVES2S3LZKR5DH1PP9Q5ZJU4FS6QY6TRZ4NL9FJMIQC5XNWJ eq 'application/x-zip') or ($C0DYVES2S3LZKR5DH1PP9Q5ZJU4FS6QY6TRZ4NL9FJMIQC5XNWJ eq 'application/x-tar'))) {$CMYOTIZTWN1ZUI43Y0KLMUK3G4X7Y8XIJNWW2W6E8M0PPQNZFK0++;if ($CMYOTIZTWN1ZUI43Y0KLMUK3G4X7Y8XIJNWW2W6E8M0PPQNZFK0 <= $CSUKZQ7YVGQT5Y4UKXYXYWNG741FJJFG6V2PG6KSSL10QIXN5L2) {if ($C0DYVES2S3LZKR5DH1PP9Q5ZJU4FS6QY6TRZ4NL9FJMIQC5XNWJ eq 'application/x-zip') {eval {local $SIG{__WARN__} = sub {};my $CG40HYWG3BQ11I07SP8XS8QK3J1JYDXWBHABC5I1ESX92M6KWO1 = Archive::Zip->new();$CG40HYWG3BQ11I07SP8XS8QK3J1JYDXWBHABC5I1ESX92M6KWO1->read($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);my @CRGRFNP4D4U21CD5A0EF7TLOTWUU3GBMMKDZU6AY4H9UOB6DRF4 = $CG40HYWG3BQ11I07SP8XS8QK3J1JYDXWBHABC5I1ESX92M6KWO1->memberNames();foreach my $CG9A9XEMBNT3RJ9VBGJQ9X1G9D3L1VGGTOA2VYPZHICZ9L52B6D (@CRGRFNP4D4U21CD5A0EF7TLOTWUU3GBMMKDZU6AY4H9UOB6DRF4) {my $C1LFT5GZVW6NBOZ3D6O4DA6HXS4B98CD54Z7X5N0S84DWMK1CHW = "";if ($CG9A9XEMBNT3RJ9VBGJQ9X1G9D3L1VGGTOA2VYPZHICZ9L52B6D =~ /\.(\w*)$/) {$C1LFT5GZVW6NBOZ3D6O4DA6HXS4B98CD54Z7X5N0S84DWMK1CHW = ".$1"}my $CN4HZLT17K4PTAXUO0I5YAR9K8N1UUNU2J8HRIX58X5I2RKHTDT;my $CLIHAZ9RD9WMNXH48EJD510JZBUM06TD14X7PJK6Q824WYFI00W = 1;my $CROZMLP9ZLPLQIXSG6T2HJ2V770U4N15TRZTKRY836RFYHN5W3A;do {my $CR1BC0NTANXEYET0XS5G1AA3G7WEG71FH0QXZJ1KYB0AFJS7AGI = join '', map {$CN6BN5HGU0TH9FR27O5RHOIJKUR2ATKIQLM46QN3ADXNQWPJB6Y[rand(@CN6BN5HGU0TH9FR27O5RHOIJKUR2ATKIQLM46QN3ADXNQWPJB6Y)]} (1..(15 + int(rand(15))));$CN4HZLT17K4PTAXUO0I5YAR9K8N1UUNU2J8HRIX58X5I2RKHTDT = "\x{2f}\x{74}\x{6d}\x{70}\x{2f}\x{63}\x{78}\x{73}\x{5f}".$CR1BC0NTANXEYET0XS5G1AA3G7WEG71FH0QXZJ1KYB0AFJS7AGI.$C1LFT5GZVW6NBOZ3D6O4DA6HXS4B98CD54Z7X5N0S84DWMK1CHW;$CLIHAZ9RD9WMNXH48EJD510JZBUM06TD14X7PJK6Q824WYFI00W++;} until (sysopen ($CROZMLP9ZLPLQIXSG6T2HJ2V770U4N15TRZTKRY836RFYHN5W3A, $CN4HZLT17K4PTAXUO0I5YAR9K8N1UUNU2J8HRIX58X5I2RKHTDT, O_EXCL | O_WRONLY | O_CREAT) or $CLIHAZ9RD9WMNXH48EJD510JZBUM06TD14X7PJK6Q824WYFI00W > 9999);push @CL02U479IOJWSGXTOPOF0H08Y0Y1MDEH4RWNGZW7L1XEUDW9CG4,$CN4HZLT17K4PTAXUO0I5YAR9K8N1UUNU2J8HRIX58X5I2RKHTDT;unless ($CLIHAZ9RD9WMNXH48EJD510JZBUM06TD14X7PJK6Q824WYFI00W > 9999) {my $CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T = $CG40HYWG3BQ11I07SP8XS8QK3J1JYDXWBHABC5I1ESX92M6KWO1->contents($CG9A9XEMBNT3RJ9VBGJQ9X1G9D3L1VGGTOA2VYPZHICZ9L52B6D);if ($CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T eq "") {close ($CROZMLP9ZLPLQIXSG6T2HJ2V770U4N15TRZTKRY836RFYHN5W3A);unlink $CN4HZLT17K4PTAXUO0I5YAR9K8N1UUNU2J8HRIX58X5I2RKHTDT;next;}flock ($CROZMLP9ZLPLQIXSG6T2HJ2V770U4N15TRZTKRY836RFYHN5W3A, LOCK_EX);print $CROZMLP9ZLPLQIXSG6T2HJ2V770U4N15TRZTKRY836RFYHN5W3A $CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T;close ($CROZMLP9ZLPLQIXSG6T2HJ2V770U4N15TRZTKRY836RFYHN5W3A);$CCJCTZOXDRE09M5X98XOG041UL75MNTBCKGQD7UT9KMMV6FI6KU = $CG9A9XEMBNT3RJ9VBGJQ9X1G9D3L1VGGTOA2VYPZHICZ9L52B6D;if ($CMYOTIZTWN1ZUI43Y0KLMUK3G4X7Y8XIJNWW2W6E8M0PPQNZFK0 == 1) {$C0AVALPVGF4BVRNLKLZJVO909NBXNIWEAAUZGO5OA4CS07SFYRZ = $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}&CFQQVI40WWJQD80SV9R841550LE2UYB5L6T7HEAPFCJINMTHB6C($CN4HZLT17K4PTAXUO0I5YAR9K8N1UUNU2J8HRIX58X5I2RKHTDT);unlink $CN4HZLT17K4PTAXUO0I5YAR9K8N1UUNU2J8HRIX58X5I2RKHTDT;$CCJCTZOXDRE09M5X98XOG041UL75MNTBCKGQD7UT9KMMV6FI6KU = "";}}};}elsif ($C0DYVES2S3LZKR5DH1PP9Q5ZJU4FS6QY6TRZ4NL9FJMIQC5XNWJ eq 'application/x-tar') {eval {local $SIG{__WARN__} = sub {};require Archive::Tar;import Archive::Tar;my $CZ4FSUR8J4RVVO6FAFVCP6ZB62II7DF0T4Z9OJCYPQH81NHFYJV = Archive::Tar->new();$CZ4FSUR8J4RVVO6FAFVCP6ZB62II7DF0T4Z9OJCYPQH81NHFYJV->read($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);unless ($CZ4FSUR8J4RVVO6FAFVCP6ZB62II7DF0T4Z9OJCYPQH81NHFYJV->error) {my @CRGRFNP4D4U21CD5A0EF7TLOTWUU3GBMMKDZU6AY4H9UOB6DRF4 = $CZ4FSUR8J4RVVO6FAFVCP6ZB62II7DF0T4Z9OJCYPQH81NHFYJV->list_files();foreach my $CG9A9XEMBNT3RJ9VBGJQ9X1G9D3L1VGGTOA2VYPZHICZ9L52B6D (@CRGRFNP4D4U21CD5A0EF7TLOTWUU3GBMMKDZU6AY4H9UOB6DRF4) {my $C1LFT5GZVW6NBOZ3D6O4DA6HXS4B98CD54Z7X5N0S84DWMK1CHW = "";if ($CG9A9XEMBNT3RJ9VBGJQ9X1G9D3L1VGGTOA2VYPZHICZ9L52B6D =~ /\.(\w*)$/) {$C1LFT5GZVW6NBOZ3D6O4DA6HXS4B98CD54Z7X5N0S84DWMK1CHW = ".$1"}my $CN4HZLT17K4PTAXUO0I5YAR9K8N1UUNU2J8HRIX58X5I2RKHTDT;my $CLIHAZ9RD9WMNXH48EJD510JZBUM06TD14X7PJK6Q824WYFI00W = 1;my $CROZMLP9ZLPLQIXSG6T2HJ2V770U4N15TRZTKRY836RFYHN5W3A;do {my $CR1BC0NTANXEYET0XS5G1AA3G7WEG71FH0QXZJ1KYB0AFJS7AGI = join '', map {$CN6BN5HGU0TH9FR27O5RHOIJKUR2ATKIQLM46QN3ADXNQWPJB6Y[rand(@CN6BN5HGU0TH9FR27O5RHOIJKUR2ATKIQLM46QN3ADXNQWPJB6Y)]} (1..(15 + int(rand(15))));$CN4HZLT17K4PTAXUO0I5YAR9K8N1UUNU2J8HRIX58X5I2RKHTDT = "\x{2f}\x{74}\x{6d}\x{70}\x{2f}\x{63}\x{78}\x{73}\x{5f}".$CR1BC0NTANXEYET0XS5G1AA3G7WEG71FH0QXZJ1KYB0AFJS7AGI.$C1LFT5GZVW6NBOZ3D6O4DA6HXS4B98CD54Z7X5N0S84DWMK1CHW;$CLIHAZ9RD9WMNXH48EJD510JZBUM06TD14X7PJK6Q824WYFI00W++;} until (sysopen ($CROZMLP9ZLPLQIXSG6T2HJ2V770U4N15TRZTKRY836RFYHN5W3A, $CN4HZLT17K4PTAXUO0I5YAR9K8N1UUNU2J8HRIX58X5I2RKHTDT, O_EXCL | O_WRONLY | O_CREAT) or $CLIHAZ9RD9WMNXH48EJD510JZBUM06TD14X7PJK6Q824WYFI00W > 9999);push @CL02U479IOJWSGXTOPOF0H08Y0Y1MDEH4RWNGZW7L1XEUDW9CG4,$CN4HZLT17K4PTAXUO0I5YAR9K8N1UUNU2J8HRIX58X5I2RKHTDT;unless ($CLIHAZ9RD9WMNXH48EJD510JZBUM06TD14X7PJK6Q824WYFI00W > 9999) {my $CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T = $CZ4FSUR8J4RVVO6FAFVCP6ZB62II7DF0T4Z9OJCYPQH81NHFYJV->get_content($CG9A9XEMBNT3RJ9VBGJQ9X1G9D3L1VGGTOA2VYPZHICZ9L52B6D);if ($CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T eq "") {close ($CROZMLP9ZLPLQIXSG6T2HJ2V770U4N15TRZTKRY836RFYHN5W3A);unlink $CN4HZLT17K4PTAXUO0I5YAR9K8N1UUNU2J8HRIX58X5I2RKHTDT;next;}flock ($CROZMLP9ZLPLQIXSG6T2HJ2V770U4N15TRZTKRY836RFYHN5W3A, LOCK_EX);print $CROZMLP9ZLPLQIXSG6T2HJ2V770U4N15TRZTKRY836RFYHN5W3A $CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T;close ($CROZMLP9ZLPLQIXSG6T2HJ2V770U4N15TRZTKRY836RFYHN5W3A);$CCJCTZOXDRE09M5X98XOG041UL75MNTBCKGQD7UT9KMMV6FI6KU = $CG9A9XEMBNT3RJ9VBGJQ9X1G9D3L1VGGTOA2VYPZHICZ9L52B6D;if ($CMYOTIZTWN1ZUI43Y0KLMUK3G4X7Y8XIJNWW2W6E8M0PPQNZFK0 == 1) {$C0AVALPVGF4BVRNLKLZJVO909NBXNIWEAAUZGO5OA4CS07SFYRZ = $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}&CFQQVI40WWJQD80SV9R841550LE2UYB5L6T7HEAPFCJINMTHB6C($CN4HZLT17K4PTAXUO0I5YAR9K8N1UUNU2J8HRIX58X5I2RKHTDT);unlink $CN4HZLT17K4PTAXUO0I5YAR9K8N1UUNU2J8HRIX58X5I2RKHTDT;$CCJCTZOXDRE09M5X98XOG041UL75MNTBCKGQD7UT9KMMV6FI6KU = "";}}}};}} else {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "debug: Ignoring compressed file due to depth [$CMYOTIZTWN1ZUI43Y0KLMUK3G4X7Y8XIJNWW2W6E8M0PPQNZFK0] - [$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS]\n"}$CMYOTIZTWN1ZUI43Y0KLMUK3G4X7Y8XIJNWW2W6E8M0PPQNZFK0 = 0;}}$COJRRM0JYY5N4V657XROX2RDVLWB08896Y3JY70FUP46NUSEFLC = 0;$C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4 = (-T $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);if ($C0DYVES2S3LZKR5DH1PP9Q5ZJU4FS6QY6TRZ4NL9FJMIQC5XNWJ eq 'application/x-php') {$C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4 = 1}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{exploitscan} and $CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{filename} and (($C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4 and (lc $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS =~ /\.jpg$|\.jpeg$|\.gif$|\.png$|\.tif$|\.tiff$/) and ($C0DYVES2S3LZKR5DH1PP9Q5ZJU4FS6QY6TRZ4NL9FJMIQC5XNWJ =~ /^application\/(x-script|x-c|x-perl|x-php|x-phpimage)/)) or $C3LP2CKYAQHZVCDETJG6GGZEB5U5A3UK0PZLJ1KDINH5YRWVZ12)) {if (&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("Suspicious image file (hidden script file)","\x{66}",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS)) {return}$CMQ6UVJN7AJ2C6284755YRR5QYIJP8ADHI2VMEBND41APGVIFU7 += 10;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{virusscan} and $CJ6LOEDL9CG8CQ27VLCEKMOROTTVAGZ2V2L9TXYZZQ93PMKIPHO{filename} and $C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4 and (lc $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS =~ /\.jpg$|\.jpeg$|\.gif$|\.png$|\.tif$|\.tiff$/) and ($C0DYVES2S3LZKR5DH1PP9Q5ZJU4FS6QY6TRZ4NL9FJMIQC5XNWJ =~ /^application\/(x-script|x-c|x-perl|x-php|x-phpimage)/)) {if (&CZ3N3LKJCGS7BW8JZ2LH5ED0CAVFFITLPVYLRDNLYG9W5MD554T('SCAN '.$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) =~ /^[^:]*: (.*) FOUND$/) {&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("ClamAV detected virus = [$1]","\x{76}",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);return 1;}$COJRRM0JYY5N4V657XROX2RDVLWB08896Y3JY70FUP46NUSEFLC = 1;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{exploitscan} and $CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{filename} and $C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4 and ($C0DYVES2S3LZKR5DH1PP9Q5ZJU4FS6QY6TRZ4NL9FJMIQC5XNWJ eq 'application/x-c')) {if (&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("Suspicious file type [$C0DYVES2S3LZKR5DH1PP9Q5ZJU4FS6QY6TRZ4NL9FJMIQC5XNWJ]","\x{66}",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS)) {return}}if (!$COJRRM0JYY5N4V657XROX2RDVLWB08896Y3JY70FUP46NUSEFLC and $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{virusscan} and $CJ6LOEDL9CG8CQ27VLCEKMOROTTVAGZ2V2L9TXYZZQ93PMKIPHO{filename} and $C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4 and ($C0DYVES2S3LZKR5DH1PP9Q5ZJU4FS6QY6TRZ4NL9FJMIQC5XNWJ eq 'application/x-c')) {if (&CZ3N3LKJCGS7BW8JZ2LH5ED0CAVFFITLPVYLRDNLYG9W5MD554T('SCAN '.$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) =~ /^[^:]*: (.*) FOUND$/) {&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("ClamAV detected virus = [$1]","\x{76}",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);return 1;}$COJRRM0JYY5N4V657XROX2RDVLWB08896Y3JY70FUP46NUSEFLC = 1;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{exploitscan} and $CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{suspdir} and $C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4 and ($CGDLWWXOSWH5REVO0ENC16IXWTZWSSKSI8WH4BP1MVGDPAX4NJ7 =~ m[/(\.\.\.+|\s+|\.+\s+|\.psy|\.dat)/]) and ($C0DYVES2S3LZKR5DH1PP9Q5ZJU4FS6QY6TRZ4NL9FJMIQC5XNWJ =~ /^application\/(x-script|x-c|x-perl|x-python|x-java|x-ruby|x-asp|x-jsp|x-php|x-phpimage)/)) {if (&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("Suspicious file location for a script [$C0DYVES2S3LZKR5DH1PP9Q5ZJU4FS6QY6TRZ4NL9FJMIQC5XNWJ]","\x{75}",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS)) {return}}if (!$COJRRM0JYY5N4V657XROX2RDVLWB08896Y3JY70FUP46NUSEFLC and $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{virusscan} and $CJ6LOEDL9CG8CQ27VLCEKMOROTTVAGZ2V2L9TXYZZQ93PMKIPHO{suspdir} and $C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4 and ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK ne "\x{2e}\x{68}\x{74}\x{61}\x{63}\x{63}\x{65}\x{73}\x{73}") and ($CGDLWWXOSWH5REVO0ENC16IXWTZWSSKSI8WH4BP1MVGDPAX4NJ7 =~ /\/images\/|\/upload(s)?\//) and ($C0DYVES2S3LZKR5DH1PP9Q5ZJU4FS6QY6TRZ4NL9FJMIQC5XNWJ =~ /^application\/(x-script|x-c|x-perl|x-python|x-java|x-ruby|x-asp|x-jsp|x-php|x-phpimage)/)) {if (&CZ3N3LKJCGS7BW8JZ2LH5ED0CAVFFITLPVYLRDNLYG9W5MD554T('SCAN '.$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) =~ /^[^:]*: (.*) FOUND$/) {&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("ClamAV detected virus = [$1]","\x{76}",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);return 1;}$COJRRM0JYY5N4V657XROX2RDVLWB08896Y3JY70FUP46NUSEFLC = 1;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{exploitscan} and $CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{script} and $C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4 and $C0DYVES2S3LZKR5DH1PP9Q5ZJU4FS6QY6TRZ4NL9FJMIQC5XNWJ =~ /^application\/(x-script|x-c|x-perl|x-python|x-java|x-ruby|x-asp|x-jsp|x-php|x-phpimage)/) {my $CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = $1;$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O =~ s/x-//;if (($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{tscripts} and $CPMWG583ZWUBPJVGSTZ3G7P65IP6S5J0MWX8NRYSTJBBF0C85PC{$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O}) or ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{tscripts} eq "")) {if (&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("Script file [$C0DYVES2S3LZKR5DH1PP9Q5ZJU4FS6QY6TRZ4NL9FJMIQC5XNWJ]","\x{54}",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS)) {return}}}if (!$COJRRM0JYY5N4V657XROX2RDVLWB08896Y3JY70FUP46NUSEFLC and $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{virusscan} and $CJ6LOEDL9CG8CQ27VLCEKMOROTTVAGZ2V2L9TXYZZQ93PMKIPHO{script} and $C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4 and $C0DYVES2S3LZKR5DH1PP9Q5ZJU4FS6QY6TRZ4NL9FJMIQC5XNWJ =~ /^application\/(x-script|x-c|x-perl|x-python|x-java|x-ruby|x-asp|x-jsp|x-php|x-phpimage)/) {if (&CZ3N3LKJCGS7BW8JZ2LH5ED0CAVFFITLPVYLRDNLYG9W5MD554T('SCAN '.$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) =~ /^[^:]*: (.*) FOUND$/) {&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("ClamAV detected virus = [$1]","\x{76}",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);return 1;}$COJRRM0JYY5N4V657XROX2RDVLWB08896Y3JY70FUP46NUSEFLC = 1;}}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{sversionscan} and $C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4 and $st_size < $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{sizemax} and !$C34A9NCW6MZ2D67OLQFN14WLURN8XIJTEL7472AY7Q2M7UWXYHN) {my ($CCDZ53U3UX8GL31I0CS1U2URMBIQOFNFXM5IBA5CU81FASO0JPO,$CQCQFWQS2ILDFTE94L5IC8EON95LPWMBKQ2DF2L9T14JYT79NSJ,$CAYFTLTNC5D2HIYYN260YA7JZQ350XS98B11TZCDFTU626YEVY0) = &CCSME15N622BZ3SDO5XSJ9WDG5JHYZYEPI2VV9TDD70C27JPGKG($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK,$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS,$CGDLWWXOSWH5REVO0ENC16IXWTZWSSKSI8WH4BP1MVGDPAX4NJ7);my $CX0W4JHPQSZMTPP35JAQFINFDP1GAWYQ0NBMQIZG4BZPIYNVN1B = $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS;if ($CJAJB6B8Q7MN82BLZLN7O68W7DGAD4N2JSGYUF58XPY9TIAKN5B{dir}) {$CX0W4JHPQSZMTPP35JAQFINFDP1GAWYQ0NBMQIZG4BZPIYNVN1B = $CGDLWWXOSWH5REVO0ENC16IXWTZWSSKSI8WH4BP1MVGDPAX4NJ7}if ($CQCQFWQS2ILDFTE94L5IC8EON95LPWMBKQ2DF2L9T14JYT79NSJ eq "") {$CQCQFWQS2ILDFTE94L5IC8EON95LPWMBKQ2DF2L9T14JYT79NSJ = 0}if ($CAYFTLTNC5D2HIYYN260YA7JZQ350XS98B11TZCDFTU626YEVY0 eq "") {$CAYFTLTNC5D2HIYYN260YA7JZQ350XS98B11TZCDFTU626YEVY0 = 0}if ($CCDZ53U3UX8GL31I0CS1U2URMBIQOFNFXM5IBA5CU81FASO0JPO and $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "debug: Script version check - Name:[$CCDZ53U3UX8GL31I0CS1U2URMBIQOFNFXM5IBA5CU81FASO0JPO] Version:[$CQCQFWQS2ILDFTE94L5IC8EON95LPWMBKQ2DF2L9T14JYT79NSJ] Latest:[$CAYFTLTNC5D2HIYYN260YA7JZQ350XS98B11TZCDFTU626YEVY0]\n"}if ($CQCQFWQS2ILDFTE94L5IC8EON95LPWMBKQ2DF2L9T14JYT79NSJ > 0 and $CAYFTLTNC5D2HIYYN260YA7JZQ350XS98B11TZCDFTU626YEVY0 > 0) {my $C5JI47QGKC4BHEQIAUGF0CRI5K5VDUHWKERG1MA6UGIOFXB2RPZ = 0;my @CLSZZBGQZIFJTL3H3KPPG4LEUQLPMRR6S9YEGMY9GL6EGGG1HBP = split(/\./,$CQCQFWQS2ILDFTE94L5IC8EON95LPWMBKQ2DF2L9T14JYT79NSJ);my @CNFNHYOSH7IN3PPQQPB63I650OIIVK2OAXT56YE46JEW1X29CBE = split(/\./,$CAYFTLTNC5D2HIYYN260YA7JZQ350XS98B11TZCDFTU626YEVY0);for (my $CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO = 0;$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO < @CNFNHYOSH7IN3PPQQPB63I650OIIVK2OAXT56YE46JEW1X29CBE; $CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO++) {$CLSZZBGQZIFJTL3H3KPPG4LEUQLPMRR6S9YEGMY9GL6EGGG1HBP[$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO] =~ s/\D+\S*//g;$CNFNHYOSH7IN3PPQQPB63I650OIIVK2OAXT56YE46JEW1X29CBE[$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO] =~ s/\D+\S*//g;if ($CLSZZBGQZIFJTL3H3KPPG4LEUQLPMRR6S9YEGMY9GL6EGGG1HBP[$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO] eq "") {$CLSZZBGQZIFJTL3H3KPPG4LEUQLPMRR6S9YEGMY9GL6EGGG1HBP[$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO] = 0}if ($CNFNHYOSH7IN3PPQQPB63I650OIIVK2OAXT56YE46JEW1X29CBE[$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO] eq "") {$CNFNHYOSH7IN3PPQQPB63I650OIIVK2OAXT56YE46JEW1X29CBE[$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO] = 0}if ($CLSZZBGQZIFJTL3H3KPPG4LEUQLPMRR6S9YEGMY9GL6EGGG1HBP[$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO] < $CNFNHYOSH7IN3PPQQPB63I650OIIVK2OAXT56YE46JEW1X29CBE[$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO]) {$C5JI47QGKC4BHEQIAUGF0CRI5K5VDUHWKERG1MA6UGIOFXB2RPZ = 1;last;}if ($CLSZZBGQZIFJTL3H3KPPG4LEUQLPMRR6S9YEGMY9GL6EGGG1HBP[$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO] > $CNFNHYOSH7IN3PPQQPB63I650OIIVK2OAXT56YE46JEW1X29CBE[$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO]) {$C5JI47QGKC4BHEQIAUGF0CRI5K5VDUHWKERG1MA6UGIOFXB2RPZ = 0;last;}}if ($C5JI47QGKC4BHEQIAUGF0CRI5K5VDUHWKERG1MA6UGIOFXB2RPZ) {&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("Script version check [OLD] [$CCDZ53U3UX8GL31I0CS1U2URMBIQOFNFXM5IBA5CU81FASO0JPO v$CQCQFWQS2ILDFTE94L5IC8EON95LPWMBKQ2DF2L9T14JYT79NSJ < v$CAYFTLTNC5D2HIYYN260YA7JZQ350XS98B11TZCDFTU626YEVY0]","\x{73}",$CX0W4JHPQSZMTPP35JAQFINFDP1GAWYQ0NBMQIZG4BZPIYNVN1B)}elsif ($CJAJB6B8Q7MN82BLZLN7O68W7DGAD4N2JSGYUF58XPY9TIAKN5B{all}) {&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("Script version check [OK] [$CCDZ53U3UX8GL31I0CS1U2URMBIQOFNFXM5IBA5CU81FASO0JPO v$CQCQFWQS2ILDFTE94L5IC8EON95LPWMBKQ2DF2L9T14JYT79NSJ >= v$CAYFTLTNC5D2HIYYN260YA7JZQ350XS98B11TZCDFTU626YEVY0]","\x{73}",$CX0W4JHPQSZMTPP35JAQFINFDP1GAWYQ0NBMQIZG4BZPIYNVN1B)}}elsif ($CCDZ53U3UX8GL31I0CS1U2URMBIQOFNFXM5IBA5CU81FASO0JPO and $CJAJB6B8Q7MN82BLZLN7O68W7DGAD4N2JSGYUF58XPY9TIAKN5B{all}) {&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("Script version check [UNKNOWN] [$CCDZ53U3UX8GL31I0CS1U2URMBIQOFNFXM5IBA5CU81FASO0JPO v$CQCQFWQS2ILDFTE94L5IC8EON95LPWMBKQ2DF2L9T14JYT79NSJ ? v$CAYFTLTNC5D2HIYYN260YA7JZQ350XS98B11TZCDFTU626YEVY0]","\x{73}",$CX0W4JHPQSZMTPP35JAQFINFDP1GAWYQ0NBMQIZG4BZPIYNVN1B)}}if ((($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{exploitscan} and ($CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{content} or $CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{md5} or $CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{passtest})) or ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{virusscan} and $CJ6LOEDL9CG8CQ27VLCEKMOROTTVAGZ2V2L9TXYZZQ93PMKIPHO{content})) and ($st_mode & S_IFREG) and ($C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4 or $C3LP2CKYAQHZVCDETJG6GGZEB5U5A3UK0PZLJ1KDINH5YRWVZ12)) {my @CKZESMQ5VK35P4GCTXPL50TL5GBLLUZH5A1VLMTJGSJAJHALSCN;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{deep}) {@CKZESMQ5VK35P4GCTXPL50TL5GBLLUZH5A1VLMTJGSJAJHALSCN = (@CNI8O1D3IJZI72QLI2VCJ9WLIRRT1SGJ4SG8W5STOQ42CG4NENC, @CJ4MSXUNNNMS58JLMQFEYFETILBNU3NNTFVN3HINAJLVY0FLBSR, @CTJFAA3UFVRTP3DIIL11HZR6VXYU5LTMX6Y58AZ45WAZ1CA09U9);} else {if ($C0DYVES2S3LZKR5DH1PP9Q5ZJU4FS6QY6TRZ4NL9FJMIQC5XNWJ =~ /^application\/(x-script|x-c|x-perl|x-python|x-java|x-ruby|x-asp|x-jsp|x-php|x-phpimage)/) {@CKZESMQ5VK35P4GCTXPL50TL5GBLLUZH5A1VLMTJGSJAJHALSCN = (@CNI8O1D3IJZI72QLI2VCJ9WLIRRT1SGJ4SG8W5STOQ42CG4NENC)}if ($C0DYVES2S3LZKR5DH1PP9Q5ZJU4FS6QY6TRZ4NL9FJMIQC5XNWJ eq 'application/x-perl') {@CKZESMQ5VK35P4GCTXPL50TL5GBLLUZH5A1VLMTJGSJAJHALSCN = (@CNI8O1D3IJZI72QLI2VCJ9WLIRRT1SGJ4SG8W5STOQ42CG4NENC, @CJ4MSXUNNNMS58JLMQFEYFETILBNU3NNTFVN3HINAJLVY0FLBSR)}if ($C0DYVES2S3LZKR5DH1PP9Q5ZJU4FS6QY6TRZ4NL9FJMIQC5XNWJ eq 'application/x-php' or $C34A9NCW6MZ2D67OLQFN14WLURN8XIJTEL7472AY7Q2M7UWXYHN or $C3LP2CKYAQHZVCDETJG6GGZEB5U5A3UK0PZLJ1KDINH5YRWVZ12) {@CKZESMQ5VK35P4GCTXPL50TL5GBLLUZH5A1VLMTJGSJAJHALSCN = (@CNI8O1D3IJZI72QLI2VCJ9WLIRRT1SGJ4SG8W5STOQ42CG4NENC, @CTJFAA3UFVRTP3DIIL11HZR6VXYU5LTMX6Y58AZ45WAZ1CA09U9)}}unless (@CKZESMQ5VK35P4GCTXPL50TL5GBLLUZH5A1VLMTJGSJAJHALSCN) {return}if ($C34A9NCW6MZ2D67OLQFN14WLURN8XIJTEL7472AY7Q2M7UWXYHN) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{virusscan}) {my $CK28ZAJTAZOR2OYZAIYSVOMY9007LFHIA24RD606DR8Y93OKLKH;my $CLIHAZ9RD9WMNXH48EJD510JZBUM06TD14X7PJK6Q824WYFI00W = 1;my $CVKKGEBT969E9IGOBHDO5HSTRHLC1A9U5Q0U0IESFP14NLQWI7R;do {my $CR1BC0NTANXEYET0XS5G1AA3G7WEG71FH0QXZJ1KYB0AFJS7AGI = join '', map {$CN6BN5HGU0TH9FR27O5RHOIJKUR2ATKIQLM46QN3ADXNQWPJB6Y[rand(@CN6BN5HGU0TH9FR27O5RHOIJKUR2ATKIQLM46QN3ADXNQWPJB6Y)]} (1..(15 + int(rand(15))));$CK28ZAJTAZOR2OYZAIYSVOMY9007LFHIA24RD606DR8Y93OKLKH = "\x{2f}\x{74}\x{6d}\x{70}\x{2f}\x{63}\x{78}\x{73}\x{5f}".$CR1BC0NTANXEYET0XS5G1AA3G7WEG71FH0QXZJ1KYB0AFJS7AGI.".php";$CLIHAZ9RD9WMNXH48EJD510JZBUM06TD14X7PJK6Q824WYFI00W++;} until (sysopen ($CVKKGEBT969E9IGOBHDO5HSTRHLC1A9U5Q0U0IESFP14NLQWI7R, $CK28ZAJTAZOR2OYZAIYSVOMY9007LFHIA24RD606DR8Y93OKLKH, O_EXCL | O_WRONLY | O_CREAT) or $CLIHAZ9RD9WMNXH48EJD510JZBUM06TD14X7PJK6Q824WYFI00W > 9999);push @CL02U479IOJWSGXTOPOF0H08Y0Y1MDEH4RWNGZW7L1XEUDW9CG4,$CK28ZAJTAZOR2OYZAIYSVOMY9007LFHIA24RD606DR8Y93OKLKH;unless ($CLIHAZ9RD9WMNXH48EJD510JZBUM06TD14X7PJK6Q824WYFI00W > 9999) {flock ($CVKKGEBT969E9IGOBHDO5HSTRHLC1A9U5Q0U0IESFP14NLQWI7R, LOCK_EX);print $CVKKGEBT969E9IGOBHDO5HSTRHLC1A9U5Q0U0IESFP14NLQWI7R $CCN4U3YAYVZEXPME9LT2U1CR2LE3GRST1ZJEX6N3LNLUJCA9UD9;close ($CVKKGEBT969E9IGOBHDO5HSTRHLC1A9U5Q0U0IESFP14NLQWI7R);if (&CZ3N3LKJCGS7BW8JZ2LH5ED0CAVFFITLPVYLRDNLYG9W5MD554T('SCAN '.$CK28ZAJTAZOR2OYZAIYSVOMY9007LFHIA24RD606DR8Y93OKLKH) =~ /^[^:]*: (.*) FOUND$/) {&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("ClamAV detected virus = [$1]","\x{76}",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);unlink $CK28ZAJTAZOR2OYZAIYSVOMY9007LFHIA24RD606DR8Y93OKLKH;return 1;}unlink $CK28ZAJTAZOR2OYZAIYSVOMY9007LFHIA24RD606DR8Y93OKLKH;}}$COJRRM0JYY5N4V657XROX2RDVLWB08896Y3JY70FUP46NUSEFLC = 1;} else {open (my $CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL, "\x{3c}", $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);flock ($CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL, LOCK_SH);read ($CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL, $CCN4U3YAYVZEXPME9LT2U1CR2LE3GRST1ZJEX6N3LNLUJCA9UD9, $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{sizemax});if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug} and ($st_size > $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{sizemax})) {print "debug: Size $st_size > $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{sizemax} - [$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS]\n"}close ($CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL);}my $CVCS0OW913G44U3743JZ1TAI39TPBE0ZYEAMH7Z2NS7OMU751N8;my $CEUCW4X5TFBP86DXY8G5QW1GI48JXLPTNC1CH3K0CABESBMNJ2F;$CCN4U3YAYVZEXPME9LT2U1CR2LE3GRST1ZJEX6N3LNLUJCA9UD9 =~ s/\s{2000,}/ /sg;$CEUCW4X5TFBP86DXY8G5QW1GI48JXLPTNC1CH3K0CABESBMNJ2F = $CCN4U3YAYVZEXPME9LT2U1CR2LE3GRST1ZJEX6N3LNLUJCA9UD9;$CEUCW4X5TFBP86DXY8G5QW1GI48JXLPTNC1CH3K0CABESBMNJ2F =~ s/\r\n/\n/g;$CEUCW4X5TFBP86DXY8G5QW1GI48JXLPTNC1CH3K0CABESBMNJ2F =~ s/\r/\n/g;$CVCS0OW913G44U3743JZ1TAI39TPBE0ZYEAMH7Z2NS7OMU751N8 = $CEUCW4X5TFBP86DXY8G5QW1GI48JXLPTNC1CH3K0CABESBMNJ2F;if ($C0DYVES2S3LZKR5DH1PP9Q5ZJU4FS6QY6TRZ4NL9FJMIQC5XNWJ eq 'application/x-php' or $C3LP2CKYAQHZVCDETJG6GGZEB5U5A3UK0PZLJ1KDINH5YRWVZ12) {$CVCS0OW913G44U3743JZ1TAI39TPBE0ZYEAMH7Z2NS7OMU751N8 =~ s/\/\*[^\*\/]*\*\///g;$CVCS0OW913G44U3743JZ1TAI39TPBE0ZYEAMH7Z2NS7OMU751N8 =~ s/\\x([0-9a-fA-F]{2})/chr(hex($1))/eg;$CVCS0OW913G44U3743JZ1TAI39TPBE0ZYEAMH7Z2NS7OMU751N8 =~ s/\\([0-1][0-9]{2})/chr(oct($1))/eg;while ($CVCS0OW913G44U3743JZ1TAI39TPBE0ZYEAMH7Z2NS7OMU751N8 =~ /chr\((\d+)\)/) {my $C1MNLGHCFSULJTHK5RCLNZDM6QNRLJ4CWU8DSX19BMDJE3YPX5W = "\"".chr($1)."\"";$CVCS0OW913G44U3743JZ1TAI39TPBE0ZYEAMH7Z2NS7OMU751N8 =~ s/chr\($1\)/$C1MNLGHCFSULJTHK5RCLNZDM6QNRLJ4CWU8DSX19BMDJE3YPX5W/eg;}$CVCS0OW913G44U3743JZ1TAI39TPBE0ZYEAMH7Z2NS7OMU751N8 =~ s/\"\s*\.\s*\"//g;$CVCS0OW913G44U3743JZ1TAI39TPBE0ZYEAMH7Z2NS7OMU751N8 =~ s/\'\s*\.\s*\'//g;}if ($CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{md5}) {my $CUALPWEP3OIYZCXIFOVKE9739LR7DIA8CRWPZUQK49T89S5IL3D = Digest::MD5->new;$CUALPWEP3OIYZCXIFOVKE9739LR7DIA8CRWPZUQK49T89S5IL3D->add($CCN4U3YAYVZEXPME9LT2U1CR2LE3GRST1ZJEX6N3LNLUJCA9UD9);my $CP7JNZF537EGQ2GPI81ZTQEMEVF7LWSMSUADNEGLNUXZN2HAZVR = $CUALPWEP3OIYZCXIFOVKE9739LR7DIA8CRWPZUQK49T89S5IL3D->hexdigest;if ($CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{md5sum}{$CP7JNZF537EGQ2GPI81ZTQEMEVF7LWSMSUADNEGLNUXZN2HAZVR}) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "debug: Ignoring md5sum $CP7JNZF537EGQ2GPI81ZTQEMEVF7LWSMSUADNEGLNUXZN2HAZVR - [$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK]\n"}$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{ignore}++;return;}if (defined $CTK568JQ7XT6DZ1S7DGL55H9NVCHF0GIFIO4EJFU8K3ENPKF3S2{$CP7JNZF537EGQ2GPI81ZTQEMEVF7LWSMSUADNEGLNUXZN2HAZVR}) {my $CFFBF2KCR7AGQUQ2S8PQ50U94ZNHTWOCNJW6EKC1PW7WMOQU1YK = "\x{46}\x{69}\x{6e}\x{67}\x{65}\x{72}\x{70}\x{72}\x{69}\x{6e}\x{74}\x{20}\x{4d}\x{61}\x{74}\x{63}\x{68}";if ($CTK568JQ7XT6DZ1S7DGL55H9NVCHF0GIFIO4EJFU8K3ENPKF3S2{$CP7JNZF537EGQ2GPI81ZTQEMEVF7LWSMSUADNEGLNUXZN2HAZVR} != 1) {$CFFBF2KCR7AGQUQ2S8PQ50U94ZNHTWOCNJW6EKC1PW7WMOQU1YK .= "] [$CTK568JQ7XT6DZ1S7DGL55H9NVCHF0GIFIO4EJFU8K3ENPKF3S2{$CP7JNZF537EGQ2GPI81ZTQEMEVF7LWSMSUADNEGLNUXZN2HAZVR}"}&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("Known exploit = [$CFFBF2KCR7AGQUQ2S8PQ50U94ZNHTWOCNJW6EKC1PW7WMOQU1YK]","\x{4d}",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);return 1;}my $CSF3QRC9YMAUHRWYCCO25M79CI2KMDLHQNTI7F3RYO0IYULO18E = Digest::MD5->new;$CSF3QRC9YMAUHRWYCCO25M79CI2KMDLHQNTI7F3RYO0IYULO18E->add($CEUCW4X5TFBP86DXY8G5QW1GI48JXLPTNC1CH3K0CABESBMNJ2F);my $CCWGKQ08GLUI22PSBMAUQPC1IAIMLLAWPCN071QQTL5BPLY2A22 = $CSF3QRC9YMAUHRWYCCO25M79CI2KMDLHQNTI7F3RYO0IYULO18E->hexdigest;if ($CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{md5sum}{$CCWGKQ08GLUI22PSBMAUQPC1IAIMLLAWPCN071QQTL5BPLY2A22}) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "debug: Ignoring md5sum $CCWGKQ08GLUI22PSBMAUQPC1IAIMLLAWPCN071QQTL5BPLY2A22 - [$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK]\n"}$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{ignore}++;return 1;}if (defined $CTK568JQ7XT6DZ1S7DGL55H9NVCHF0GIFIO4EJFU8K3ENPKF3S2{$CCWGKQ08GLUI22PSBMAUQPC1IAIMLLAWPCN071QQTL5BPLY2A22}) {my $CFFBF2KCR7AGQUQ2S8PQ50U94ZNHTWOCNJW6EKC1PW7WMOQU1YK = "\x{46}\x{69}\x{6e}\x{67}\x{65}\x{72}\x{70}\x{72}\x{69}\x{6e}\x{74}\x{20}\x{4d}\x{61}\x{74}\x{63}\x{68}";if ($CTK568JQ7XT6DZ1S7DGL55H9NVCHF0GIFIO4EJFU8K3ENPKF3S2{$CCWGKQ08GLUI22PSBMAUQPC1IAIMLLAWPCN071QQTL5BPLY2A22} != 1) {$CFFBF2KCR7AGQUQ2S8PQ50U94ZNHTWOCNJW6EKC1PW7WMOQU1YK .= "] [$CTK568JQ7XT6DZ1S7DGL55H9NVCHF0GIFIO4EJFU8K3ENPKF3S2{$CCWGKQ08GLUI22PSBMAUQPC1IAIMLLAWPCN071QQTL5BPLY2A22}"}&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("Known exploit = [$CFFBF2KCR7AGQUQ2S8PQ50U94ZNHTWOCNJW6EKC1PW7WMOQU1YK]","\x{4d}",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);return 1;}foreach my $CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ (keys %C5KM1VBMWHTN9M2U37NM714F7TQWM16QBXIP378QA7LDJ7WDZ62) {my $CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG = $C5KM1VBMWHTN9M2U37NM714F7TQWM16QBXIP378QA7LDJ7WDZ62{$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ}{regex};my $CE0RHTSK6AZM5YJQV47L26QL8TKM3EP7Q0BUB4IEYKOQ6LJSW5B = $C5KM1VBMWHTN9M2U37NM714F7TQWM16QBXIP378QA7LDJ7WDZ62{$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ}{text};if ($CCN4U3YAYVZEXPME9LT2U1CR2LE3GRST1ZJEX6N3LNLUJCA9UD9 =~ /$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG/ or $CVCS0OW913G44U3743JZ1TAI39TPBE0ZYEAMH7Z2NS7OMU751N8 =~ /$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG/) {my $CFFBF2KCR7AGQUQ2S8PQ50U94ZNHTWOCNJW6EKC1PW7WMOQU1YK = "\x{46}\x{69}\x{6e}\x{67}\x{65}\x{72}\x{70}\x{72}\x{69}\x{6e}\x{74}\x{20}\x{4d}\x{61}\x{74}\x{63}\x{68}";if ($CE0RHTSK6AZM5YJQV47L26QL8TKM3EP7Q0BUB4IEYKOQ6LJSW5B != 1) {if (($CE0RHTSK6AZM5YJQV47L26QL8TKM3EP7Q0BUB4IEYKOQ6LJSW5B =~ /Exploited \.htaccess/) and ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK ne "\x{2e}\x{68}\x{74}\x{61}\x{63}\x{63}\x{65}\x{73}\x{73}")) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "debug: Ignoring, FP match but not an .htaccess file - [$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK]\n"}next;}$CFFBF2KCR7AGQUQ2S8PQ50U94ZNHTWOCNJW6EKC1PW7WMOQU1YK .= "] [$CE0RHTSK6AZM5YJQV47L26QL8TKM3EP7Q0BUB4IEYKOQ6LJSW5B";}&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("Known exploit = [$CFFBF2KCR7AGQUQ2S8PQ50U94ZNHTWOCNJW6EKC1PW7WMOQU1YK]","\x{4d}",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);return 1;}}}if ($CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{passtest} and $C8FDZ23N2V5A8D88NJ5D5XP3DCA5SED2K09LQIWAJCHSSA4V0C4 ne "" and $CFC1PHPMQLUWZ9G0GZA3GNCFOJLOL34NWTK9Q0E0HVF4II8QCSZ{$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK} and $st_size < 5096) {my $CXFGUFELOD6PNUP0FS62WHTMGRLB81LOYYO05LAPEFPTD1TDY8R = 1;my $C5LLYFJTDSXK49QREB36YIGHMTUTXJDCTCTLXO2WB6WPJV57ICY = 1;while ($CCN4U3YAYVZEXPME9LT2U1CR2LE3GRST1ZJEX6N3LNLUJCA9UD9 =~ /([^\n]*(pass|passwd|password)\b.*(\,|\=)([^\n]*))/ig) {my $CV68VD6NBWK7LZOI65K4KF9XH5T6KFWUAXUPGDILH22PSTU62ZA = $4;if ($1 =~ /^\s*\/\//) {next}if ($CV68VD6NBWK7LZOI65K4KF9XH5T6KFWUAXUPGDILH22PSTU62ZA ne "") {my $CJFZ450QBCPYODNO611DXCN8WMH8M2V65PZHKVDKYIPC5JVJRR9;if ($CV68VD6NBWK7LZOI65K4KF9XH5T6KFWUAXUPGDILH22PSTU62ZA =~ /\"([^\"]+)\"/) {$CJFZ450QBCPYODNO611DXCN8WMH8M2V65PZHKVDKYIPC5JVJRR9 = $1}elsif ($CV68VD6NBWK7LZOI65K4KF9XH5T6KFWUAXUPGDILH22PSTU62ZA =~ /\'([^\']+)\'/) {$CJFZ450QBCPYODNO611DXCN8WMH8M2V65PZHKVDKYIPC5JVJRR9 = $1}if ($CJFZ450QBCPYODNO611DXCN8WMH8M2V65PZHKVDKYIPC5JVJRR9 ne "") {$CXFGUFELOD6PNUP0FS62WHTMGRLB81LOYYO05LAPEFPTD1TDY8R ++;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "debug: Password Test DB/FTP login [$C8FDZ23N2V5A8D88NJ5D5XP3DCA5SED2K09LQIWAJCHSSA4V0C4] [$CJFZ450QBCPYODNO611DXCN8WMH8M2V65PZHKVDKYIPC5JVJRR9] - [$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS]\n"}eval {local $SIG{__WARN__} = sub {};if (my $C84LEAH4QP1S44AZQ2Z74BFIAP7PJOC8UKTH36SIE4OQISC1TFL = Net::FTP->new("\x{6c}\x{6f}\x{63}\x{61}\x{6c}\x{68}\x{6f}\x{73}\x{74}", Debug => $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}, Timeout => '10')) {if ($C84LEAH4QP1S44AZQ2Z74BFIAP7PJOC8UKTH36SIE4OQISC1TFL->login($C8FDZ23N2V5A8D88NJ5D5XP3DCA5SED2K09LQIWAJCHSSA4V0C4,$CJFZ450QBCPYODNO611DXCN8WMH8M2V65PZHKVDKYIPC5JVJRR9)) {$C84LEAH4QP1S44AZQ2Z74BFIAP7PJOC8UKTH36SIE4OQISC1TFL->quit;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "debug: Password Test DB/FTP login SUCCESS [$C8FDZ23N2V5A8D88NJ5D5XP3DCA5SED2K09LQIWAJCHSSA4V0C4] [$CJFZ450QBCPYODNO611DXCN8WMH8M2V65PZHKVDKYIPC5JVJRR9] - [$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS]\n"}if (&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("\x{50}\x{61}\x{73}\x{73}\x{77}\x{6f}\x{72}\x{64}\x{20}\x{54}\x{65}\x{73}\x{74}\x{20}\x{44}\x{42}\x{2f}\x{46}\x{54}\x{50}\x{20}\x{6c}\x{6f}\x{67}\x{69}\x{6e}\x{20}\x{53}\x{55}\x{43}\x{43}\x{45}\x{53}\x{53}","P",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS)) {return}$CXFGUFELOD6PNUP0FS62WHTMGRLB81LOYYO05LAPEFPTD1TDY8R = 3;last;} else {$C84LEAH4QP1S44AZQ2Z74BFIAP7PJOC8UKTH36SIE4OQISC1TFL->quit;}} else {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "debug: Password Test DB/FTP connection FAILED: [$!]\n"}}};if ($@ and $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "debug: Password Test DB/FTP FAILED: [$@]\n"}}}if ($CXFGUFELOD6PNUP0FS62WHTMGRLB81LOYYO05LAPEFPTD1TDY8R > 2) {last}$C5LLYFJTDSXK49QREB36YIGHMTUTXJDCTCTLXO2WB6WPJV57ICY++;if ($C5LLYFJTDSXK49QREB36YIGHMTUTXJDCTCTLXO2WB6WPJV57ICY > 10) {last}}}my $CLFVXNKNNYMRK8FMTCJG9ID29159A6DXVIOGYBHJE8JWKMKZNSB;my $C0KERDQIOWHS7FC1MCP22X84DGL997QC9YWR1F1PMCJCGHEPCRL;my $CTK80HH3OUN8WGMNMW9KGZJEXNDGLMQJ23UT9SBXTXA0Q0D3PC2;my $CNUMEP9L370NO3XB27UHKJS2HGX16HNLWGZ2S88ZTA2S0QRTOPK;eval {local $SIG{__WARN__} = sub {};$CTK80HH3OUN8WGMNMW9KGZJEXNDGLMQJ23UT9SBXTXA0Q0D3PC2 = lc $CCN4U3YAYVZEXPME9LT2U1CR2LE3GRST1ZJEX6N3LNLUJCA9UD9;$CNUMEP9L370NO3XB27UHKJS2HGX16HNLWGZ2S88ZTA2S0QRTOPK = lc $CVCS0OW913G44U3743JZ1TAI39TPBE0ZYEAMH7Z2NS7OMU751N8;};if ($CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{content} or $CJ6LOEDL9CG8CQ27VLCEKMOROTTVAGZ2V2L9TXYZZQ93PMKIPHO{content}) {foreach my $CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG (@CKZESMQ5VK35P4GCTXPL50TL5GBLLUZH5A1VLMTJGSJAJHALSCN) {if ($CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{match}{$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG}) {next}my $CVIF598XQ7HSZ3V45ZKQ95M0CTWOV6B5K0W5T0B6CFDT8I2TSTV = lc $CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG;if (($CTK80HH3OUN8WGMNMW9KGZJEXNDGLMQJ23UT9SBXTXA0Q0D3PC2 =~ /$CVIF598XQ7HSZ3V45ZKQ95M0CTWOV6B5K0W5T0B6CFDT8I2TSTV/) or ($CNUMEP9L370NO3XB27UHKJS2HGX16HNLWGZ2S88ZTA2S0QRTOPK =~ /$CVIF598XQ7HSZ3V45ZKQ95M0CTWOV6B5K0W5T0B6CFDT8I2TSTV/)) {if (!$COJRRM0JYY5N4V657XROX2RDVLWB08896Y3JY70FUP46NUSEFLC and $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{virusscan} and $CJ6LOEDL9CG8CQ27VLCEKMOROTTVAGZ2V2L9TXYZZQ93PMKIPHO{content}) {if (&CZ3N3LKJCGS7BW8JZ2LH5ED0CAVFFITLPVYLRDNLYG9W5MD554T('SCAN '.$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) =~ /^[^:]*: (.*) FOUND$/) {&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("ClamAV detected virus = [$1]","\x{76}",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);return 1;}$COJRRM0JYY5N4V657XROX2RDVLWB08896Y3JY70FUP46NUSEFLC = 1;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{exploitscan} and $CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{content}) {my $C5S99FO46US2J93BPAAPM2SILMQ30IOU62ZHDRKCSKL1D6FO81C = 0;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{deep} and ($C71WY47WPQ55A5X3HWUWHIYSFOHM2MU0QTR0B26RZ6YDWWFD2PQ{regall}{$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG} or $C71WY47WPQ55A5X3HWUWHIYSFOHM2MU0QTR0B26RZ6YDWWFD2PQ{regphp}{$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG} or $C71WY47WPQ55A5X3HWUWHIYSFOHM2MU0QTR0B26RZ6YDWWFD2PQ{regperl}{$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG})) {$C5S99FO46US2J93BPAAPM2SILMQ30IOU62ZHDRKCSKL1D6FO81C = 1}if (($C0DYVES2S3LZKR5DH1PP9Q5ZJU4FS6QY6TRZ4NL9FJMIQC5XNWJ eq 'application/x-perl') and ($C71WY47WPQ55A5X3HWUWHIYSFOHM2MU0QTR0B26RZ6YDWWFD2PQ{regall}{$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG} or $C71WY47WPQ55A5X3HWUWHIYSFOHM2MU0QTR0B26RZ6YDWWFD2PQ{regperl}{$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG})) {$C5S99FO46US2J93BPAAPM2SILMQ30IOU62ZHDRKCSKL1D6FO81C = 1}if (($C0DYVES2S3LZKR5DH1PP9Q5ZJU4FS6QY6TRZ4NL9FJMIQC5XNWJ eq 'application/x-php' or $C34A9NCW6MZ2D67OLQFN14WLURN8XIJTEL7472AY7Q2M7UWXYHN or $C3LP2CKYAQHZVCDETJG6GGZEB5U5A3UK0PZLJ1KDINH5YRWVZ12) and ($C71WY47WPQ55A5X3HWUWHIYSFOHM2MU0QTR0B26RZ6YDWWFD2PQ{regall}{$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG} or $C71WY47WPQ55A5X3HWUWHIYSFOHM2MU0QTR0B26RZ6YDWWFD2PQ{regphp}{$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG})) {$C5S99FO46US2J93BPAAPM2SILMQ30IOU62ZHDRKCSKL1D6FO81C = 1}if (&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("Regular expression match = [$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG]","\x{6d}",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS,$C5S99FO46US2J93BPAAPM2SILMQ30IOU62ZHDRKCSKL1D6FO81C)) {return}$C0KERDQIOWHS7FC1MCP22X84DGL997QC9YWR1F1PMCJCGHEPCRL = 1;$CMQ6UVJN7AJ2C6284755YRR5QYIJP8ADHI2VMEBND41APGVIFU7 += 2;}}}if ($CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{email}) {foreach my $CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG (@CJG9L8LAYHUSRBRIULSNFTOY7OYRZYMC5MOM7KBAGSEKXGF9S8L) {if ($CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{match}{$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG}) {next}my $CVIF598XQ7HSZ3V45ZKQ95M0CTWOV6B5K0W5T0B6CFDT8I2TSTV = lc $CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG;if ($CTK80HH3OUN8WGMNMW9KGZJEXNDGLMQJ23UT9SBXTXA0Q0D3PC2 =~ /$CVIF598XQ7HSZ3V45ZKQ95M0CTWOV6B5K0W5T0B6CFDT8I2TSTV/) {if (!$COJRRM0JYY5N4V657XROX2RDVLWB08896Y3JY70FUP46NUSEFLC and $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{virusscan} and $CJ6LOEDL9CG8CQ27VLCEKMOROTTVAGZ2V2L9TXYZZQ93PMKIPHO{content}) {if (&CZ3N3LKJCGS7BW8JZ2LH5ED0CAVFFITLPVYLRDNLYG9W5MD554T('SCAN '.$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) =~ /^[^:]*: (.*) FOUND$/) {&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("ClamAV detected virus = [$1]","\x{76}",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);return 1;}$COJRRM0JYY5N4V657XROX2RDVLWB08896Y3JY70FUP46NUSEFLC = 1;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{exploitscan} and $CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{content}) {if (&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("Email script match = [$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG]","\x{45}",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS)) {return}$C0KERDQIOWHS7FC1MCP22X84DGL997QC9YWR1F1PMCJCGHEPCRL = 1;}}}}if ($CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{upload} and ($C0DYVES2S3LZKR5DH1PP9Q5ZJU4FS6QY6TRZ4NL9FJMIQC5XNWJ eq 'application/x-php' or $C3LP2CKYAQHZVCDETJG6GGZEB5U5A3UK0PZLJ1KDINH5YRWVZ12 or $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{deep})) {foreach my $CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG ('move_uploaded_file\s*\(') {if ($CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{match}{$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG}) {next}my $CVIF598XQ7HSZ3V45ZKQ95M0CTWOV6B5K0W5T0B6CFDT8I2TSTV = lc $CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG;if ($CTK80HH3OUN8WGMNMW9KGZJEXNDGLMQJ23UT9SBXTXA0Q0D3PC2 =~ /$CVIF598XQ7HSZ3V45ZKQ95M0CTWOV6B5K0W5T0B6CFDT8I2TSTV/) {if (!$COJRRM0JYY5N4V657XROX2RDVLWB08896Y3JY70FUP46NUSEFLC and $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{virusscan} and $CJ6LOEDL9CG8CQ27VLCEKMOROTTVAGZ2V2L9TXYZZQ93PMKIPHO{content}) {if (&CZ3N3LKJCGS7BW8JZ2LH5ED0CAVFFITLPVYLRDNLYG9W5MD554T('SCAN '.$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) =~ /^[^:]*: (.*) FOUND$/) {&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("ClamAV detected virus = [$1]","\x{76}",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);return 1;}$COJRRM0JYY5N4V657XROX2RDVLWB08896Y3JY70FUP46NUSEFLC = 1;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{exploitscan} and $CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{content}) {if (&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("Upload script match = [$CKXXIV0G3XAL4RXB0504ORYG3L4NDAVTC06UA7YZ7KXZMWW26KG]","\x{55}",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS)) {return}$C0KERDQIOWHS7FC1MCP22X84DGL997QC9YWR1F1PMCJCGHEPCRL = 1;}}}}if ($C0DYVES2S3LZKR5DH1PP9Q5ZJU4FS6QY6TRZ4NL9FJMIQC5XNWJ eq 'application/x-php' or $C3LP2CKYAQHZVCDETJG6GGZEB5U5A3UK0PZLJ1KDINH5YRWVZ12 or $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{deep}) {for (my $CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO = 0; $CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO < @CKZRNHPGHU140HNC536FWEK2DB3RXLWS5J6PC1DRAHBOYFXGG71 ; $CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO++) {my $CTSIUYWV6DB8D0G9OW44WE8ZIDR792BTZ3GR78NM2AGECOSTHY5 = $CKZRNHPGHU140HNC536FWEK2DB3RXLWS5J6PC1DRAHBOYFXGG71[$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO];if ($CCN4U3YAYVZEXPME9LT2U1CR2LE3GRST1ZJEX6N3LNLUJCA9UD9 =~ /$CTSIUYWV6DB8D0G9OW44WE8ZIDR792BTZ3GR78NM2AGECOSTHY5/) {if (!$COJRRM0JYY5N4V657XROX2RDVLWB08896Y3JY70FUP46NUSEFLC and $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{virusscan} and $CJ6LOEDL9CG8CQ27VLCEKMOROTTVAGZ2V2L9TXYZZQ93PMKIPHO{content}) {if (&CZ3N3LKJCGS7BW8JZ2LH5ED0CAVFFITLPVYLRDNLYG9W5MD554T('SCAN '.$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) =~ /^[^:]*: (.*) FOUND$/) {&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("ClamAV detected virus = [$1]","\x{76}",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);return 1;}$COJRRM0JYY5N4V657XROX2RDVLWB08896Y3JY70FUP46NUSEFLC = 1;}if ($CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{decoderegex}) {if (&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("Regular expression match = [decode regex: ".($CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO+1)."]","\x{6d}",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS)) {return}$C0KERDQIOWHS7FC1MCP22X84DGL997QC9YWR1F1PMCJCGHEPCRL = 1;$CMQ6UVJN7AJ2C6284755YRR5QYIJP8ADHI2VMEBND41APGVIFU7 += 5;}if ($CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{decode} and !$C34A9NCW6MZ2D67OLQFN14WLURN8XIJTEL7472AY7Q2M7UWXYHN) {my $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU = &CNLXAJDCMGI9X4QQJEX4RSQJILEWXXCX6FR2UOMOOKB7E9NW6Q3($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS,$CCN4U3YAYVZEXPME9LT2U1CR2LE3GRST1ZJEX6N3LNLUJCA9UD9);if ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU == 1) {return 1}}last;}elsif ($CVCS0OW913G44U3743JZ1TAI39TPBE0ZYEAMH7Z2NS7OMU751N8 =~ /$CTSIUYWV6DB8D0G9OW44WE8ZIDR792BTZ3GR78NM2AGECOSTHY5/) {if (!$COJRRM0JYY5N4V657XROX2RDVLWB08896Y3JY70FUP46NUSEFLC and $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{virusscan} and $CJ6LOEDL9CG8CQ27VLCEKMOROTTVAGZ2V2L9TXYZZQ93PMKIPHO{content}) {if (&CZ3N3LKJCGS7BW8JZ2LH5ED0CAVFFITLPVYLRDNLYG9W5MD554T('SCAN '.$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) =~ /^[^:]*: (.*) FOUND$/) {&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("ClamAV detected virus = [$1]","\x{76}",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);return 1;}$COJRRM0JYY5N4V657XROX2RDVLWB08896Y3JY70FUP46NUSEFLC = 1;}if ($CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{decoderegex}) {if (&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("Regular expression match = [decode regex: ".($CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO+1)."]","\x{6d}",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS)) {return}$C0KERDQIOWHS7FC1MCP22X84DGL997QC9YWR1F1PMCJCGHEPCRL = 1;$CMQ6UVJN7AJ2C6284755YRR5QYIJP8ADHI2VMEBND41APGVIFU7 += 10;}if ($CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{decode} and !$C34A9NCW6MZ2D67OLQFN14WLURN8XIJTEL7472AY7Q2M7UWXYHN) {my $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU = &CNLXAJDCMGI9X4QQJEX4RSQJILEWXXCX6FR2UOMOOKB7E9NW6Q3($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS,$CVCS0OW913G44U3743JZ1TAI39TPBE0ZYEAMH7Z2NS7OMU751N8);if ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU == 1) {return 1}}last;}elsif ($CNUMEP9L370NO3XB27UHKJS2HGX16HNLWGZ2S88ZTA2S0QRTOPK =~ /$CTSIUYWV6DB8D0G9OW44WE8ZIDR792BTZ3GR78NM2AGECOSTHY5/) {if (!$COJRRM0JYY5N4V657XROX2RDVLWB08896Y3JY70FUP46NUSEFLC and $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{virusscan} and $CJ6LOEDL9CG8CQ27VLCEKMOROTTVAGZ2V2L9TXYZZQ93PMKIPHO{content}) {if (&CZ3N3LKJCGS7BW8JZ2LH5ED0CAVFFITLPVYLRDNLYG9W5MD554T('SCAN '.$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) =~ /^[^:]*: (.*) FOUND$/) {&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("ClamAV detected virus = [$1]","\x{76}",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);return 1;}$COJRRM0JYY5N4V657XROX2RDVLWB08896Y3JY70FUP46NUSEFLC = 1;}if ($CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{decoderegex}) {if (&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("Regular expression match = [decode regex: ".($CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO+1)."]","\x{6d}",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS)) {return}$C0KERDQIOWHS7FC1MCP22X84DGL997QC9YWR1F1PMCJCGHEPCRL = 1;$CMQ6UVJN7AJ2C6284755YRR5QYIJP8ADHI2VMEBND41APGVIFU7 += 10;}if ($CS3WEJCX9LDNXWR31VGULHXD1A7Z2FROU0UKHN3VQGJB6442U03{decode} and !$C34A9NCW6MZ2D67OLQFN14WLURN8XIJTEL7472AY7Q2M7UWXYHN) {my $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU = &CNLXAJDCMGI9X4QQJEX4RSQJILEWXXCX6FR2UOMOOKB7E9NW6Q3($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS,$CCN4U3YAYVZEXPME9LT2U1CR2LE3GRST1ZJEX6N3LNLUJCA9UD9);if ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU == 1) {return 1}}last;}}}if (($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{blearn}) and ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK ne "\x{2e}\x{68}\x{74}\x{61}\x{63}\x{63}\x{65}\x{73}\x{73}") and !$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{deep}) {&C9KP9G3GM95H5NJYOEJCVR2S9HIVOYYK1FEFJGLTH0B8JBVN9LU($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS,\$CCN4U3YAYVZEXPME9LT2U1CR2LE3GRST1ZJEX6N3LNLUJCA9UD9)}if (($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{bforget}) and ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK ne "\x{2e}\x{68}\x{74}\x{61}\x{63}\x{63}\x{65}\x{73}\x{73}") and !$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{deep}) {&CZ9JWEEC7I8GRLIIP4Z01K2KEWOYDEP64XG0E9AW9RCRY9EYNUL($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS,\$CCN4U3YAYVZEXPME9LT2U1CR2LE3GRST1ZJEX6N3LNLUJCA9UD9)}}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{bayes} and ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK ne "\x{2e}\x{68}\x{74}\x{61}\x{63}\x{63}\x{65}\x{73}\x{73}") and !$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{deep} and !$C34A9NCW6MZ2D67OLQFN14WLURN8XIJTEL7472AY7Q2M7UWXYHN) {&CFQC8DXYPJYT86XMY0NNWPQDYDEGD0VSZOOWP7PB0PWD0UQL6Q1($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS,\$CCN4U3YAYVZEXPME9LT2U1CR2LE3GRST1ZJEX6N3LNLUJCA9UD9)}}return;}sub data {open (my $CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL, "\x{3c}", $C1HRL32E4OKJUURY1TUA3B8BLDQ1HLJIFNZM6HLNCCD8VRG4U3P);flock ($CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL, LOCK_SH);my $C1CYN5NENU4H0QFWLBAD84Q4QNR7TT43STJDZ9JVSFZ61YS1X8U = do {local $/; <$CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL>};close ($CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL);while (length($C2V39MGE9X5BFLJ10MS88BSDUAO8PYAIU6H35Z9C42A9IWQ33O5) < length($C1CYN5NENU4H0QFWLBAD84Q4QNR7TT43STJDZ9JVSFZ61YS1X8U) ) {$C2V39MGE9X5BFLJ10MS88BSDUAO8PYAIU6H35Z9C42A9IWQ33O5 .= $C2V39MGE9X5BFLJ10MS88BSDUAO8PYAIU6H35Z9C42A9IWQ33O5}my @CVUAFNQS04MEFLSP9Q6YA6VKYHP60AD7IBG5DSOGTNQL9NTBCI5 = split (//,$C1CYN5NENU4H0QFWLBAD84Q4QNR7TT43STJDZ9JVSFZ61YS1X8U);my @C7XELNNGQW8U4EB7EP4B18FY1T7EFGSR8IOAUS4MO15AU3LH3IU = split (//,$C2V39MGE9X5BFLJ10MS88BSDUAO8PYAIU6H35Z9C42A9IWQ33O5);my $CUSVG64EWQWIEOJKGSYIPGHFUT79OIWRYJH9M0XSFD5JRPGISH4;for (my $C0V7AOEYDXWZIGTXAE1AVI6TEUJP1A4KLFVI2TO9VFO3DOLINRC = 0;$C0V7AOEYDXWZIGTXAE1AVI6TEUJP1A4KLFVI2TO9VFO3DOLINRC <= @CVUAFNQS04MEFLSP9Q6YA6VKYHP60AD7IBG5DSOGTNQL9NTBCI5;$C0V7AOEYDXWZIGTXAE1AVI6TEUJP1A4KLFVI2TO9VFO3DOLINRC++) {$CUSVG64EWQWIEOJKGSYIPGHFUT79OIWRYJH9M0XSFD5JRPGISH4 .= pack('C',unpack('C',$CVUAFNQS04MEFLSP9Q6YA6VKYHP60AD7IBG5DSOGTNQL9NTBCI5[$C0V7AOEYDXWZIGTXAE1AVI6TEUJP1A4KLFVI2TO9VFO3DOLINRC])^unpack('C',$C7XELNNGQW8U4EB7EP4B18FY1T7EFGSR8IOAUS4MO15AU3LH3IU[$C0V7AOEYDXWZIGTXAE1AVI6TEUJP1A4KLFVI2TO9VFO3DOLINRC]))}return split(/\n/,$CUSVG64EWQWIEOJKGSYIPGHFUT79OIWRYJH9M0XSFD5JRPGISH4);}sub C974QM1B5YIWQMIOO2R5ZVOLOVH5ANUZHGYPIK65Q7KIR21YLE6 {unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{summary}) {return}my $C1TDEYG3CF24G4F6XZFLL623BFL5E954XPBVPMC02NGCA82LJOX = shift;my $C8LZ4RQYFCPYX7XQ16UTT1ZVARA30K9ZHAMIPQ0CSK70WTTVRHD = sprintf '%.3f', (gettimeofday() - $C1TDEYG3CF24G4F6XZFLL623BFL5E954XPBVPMC02NGCA82LJOX);my $CYZT7OWKBVYXJ69Q1CY1CJJAZIVD96ZPGLD4Z8778ZYWQTLMXEW = 0;if (($CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{files} + $CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{dirs}) > 0) {$CYZT7OWKBVYXJ69Q1CY1CJJAZIVD96ZPGLD4Z8778ZYWQTLMXEW = sprintf '%.3f', ($C8LZ4RQYFCPYX7XQ16UTT1ZVARA30K9ZHAMIPQ0CSK70WTTVRHD / ($CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{files} + $CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{dirs}))}my $CAUMNZWN7VQ2YC49Z1XUMERUOLYRESLJE3I9WKHRUF9W2WR1EID = $CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{size}/(1024*1024);$CAUMNZWN7VQ2YC49Z1XUMERUOLYRESLJE3I9WKHRUF9W2WR1EID = sprintf '%.2f', $CAUMNZWN7VQ2YC49Z1XUMERUOLYRESLJE3I9WKHRUF9W2WR1EID;unless ($CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{dirs}) {$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{dirs} = 0}unless ($CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{files}) {$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{files} = 0}unless ($CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{size}) {$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{size} = 0}unless ($CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{susp}) {$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{susp} = 0}unless ($CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{virus}) {$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{virus} = 0}unless ($CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{exploit}) {$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{exploit} = 0}unless ($CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{ignore}) {$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{ignore} = 0}my $CQX3M50Z19G1TEI7YAFC3TJJM3TVH039S2AOIF9IR0PBWIQ3YMA = "\n----------- SCAN SUMMARY -----------\n";$CQX3M50Z19G1TEI7YAFC3TJJM3TVH039S2AOIF9IR0PBWIQ3YMA .= "Scanned directories: $CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{dirs}\n";$CQX3M50Z19G1TEI7YAFC3TJJM3TVH039S2AOIF9IR0PBWIQ3YMA .= "Scanned files: $CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{files}\n";$CQX3M50Z19G1TEI7YAFC3TJJM3TVH039S2AOIF9IR0PBWIQ3YMA .= "Ignored items: $CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{ignore}\n";$CQX3M50Z19G1TEI7YAFC3TJJM3TVH039S2AOIF9IR0PBWIQ3YMA .= "Suspicious matches: $CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{susp}\n";if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{virusscan}) {$CQX3M50Z19G1TEI7YAFC3TJJM3TVH039S2AOIF9IR0PBWIQ3YMA .= "Viruses found: $CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{virus}\n"}$CQX3M50Z19G1TEI7YAFC3TJJM3TVH039S2AOIF9IR0PBWIQ3YMA .= "Fingerprint matches: $CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{exploit}\n";$CQX3M50Z19G1TEI7YAFC3TJJM3TVH039S2AOIF9IR0PBWIQ3YMA .= "Data scanned: $CAUMNZWN7VQ2YC49Z1XUMERUOLYRESLJE3I9WKHRUF9W2WR1EID MB\n";unless ($CVIAAXAFTYNLKUKLKII7AEAR7SHMKCGNORMGSL2SAVUZVLIY3XT) {$CQX3M50Z19G1TEI7YAFC3TJJM3TVH039S2AOIF9IR0PBWIQ3YMA .= "Scan time/item: $CYZT7OWKBVYXJ69Q1CY1CJJAZIVD96ZPGLD4Z8778ZYWQTLMXEW sec\n"}$CQX3M50Z19G1TEI7YAFC3TJJM3TVH039S2AOIF9IR0PBWIQ3YMA .= "Scan time: $C8LZ4RQYFCPYX7XQ16UTT1ZVARA30K9ZHAMIPQ0CSK70WTTVRHD sec";if ($CVIAAXAFTYNLKUKLKII7AEAR7SHMKCGNORMGSL2SAVUZVLIY3XT) {$CQX3M50Z19G1TEI7YAFC3TJJM3TVH039S2AOIF9IR0PBWIQ3YMA .= " (including $CVIAAXAFTYNLKUKLKII7AEAR7SHMKCGNORMGSL2SAVUZVLIY3XT throttle sleeps)"}$CQX3M50Z19G1TEI7YAFC3TJJM3TVH039S2AOIF9IR0PBWIQ3YMA .= "\n\n";if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{report}) {open (my $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, "\x{3e}\x{3e}", $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{report});flock ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, LOCK_EX);print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI $CQX3M50Z19G1TEI7YAFC3TJJM3TVH039S2AOIF9IR0PBWIQ3YMA;close ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI);}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YCONREP}) {open (my $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, "\x{3e}\x{3e}", $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YCONREP});flock ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, LOCK_EX);print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI $CQX3M50Z19G1TEI7YAFC3TJJM3TVH039S2AOIF9IR0PBWIQ3YMA;close ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI);}if (($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{mail} or $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{report}) and !$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{web}) {print "\x{3c}\x{70}\x{72}\x{65}\x{3e}"}print $CQX3M50Z19G1TEI7YAFC3TJJM3TVH039S2AOIF9IR0PBWIQ3YMA;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{web}) {print "\x{3c}\x{2f}\x{70}\x{72}\x{65}\x{3e}"}}$CSI9RDCS7TJCBWV5UTINKTJ7E45E3KF0VNKJXO9GGTWPUZQ64N3 .= $CQX3M50Z19G1TEI7YAFC3TJJM3TVH039S2AOIF9IR0PBWIQ3YMA;$C6ED9C559BIG3Y1V6R397GX7QB7KUKP199MFZE8UMBUIQQR32GP .= "
$CQX3M50Z19G1TEI7YAFC3TJJM3TVH039S2AOIF9IR0PBWIQ3YMA
\n";return;}sub CZ3N3LKJCGS7BW8JZ2LH5ED0CAVFFITLPVYLRDNLYG9W5MD554T {my $CWFKVIKQAQZBDY9751SMUYHZ3VK94MYJ3T0AYK8OYYBY4A0543S = shift;my $C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4 = shift;my $C9Z2SMWQW6PHM89A17KK9TP4QRE08NUWWLUJQILQ36L3B2YGSSH = "";my $CRRLTZ6ZYEU30G6IAJOITNU5CH1G4HHVLHH8CU7SLD9WIC28SXJ = "";my $CMZVGO8Y0M2CGO3H15BM7JBNF5FRGVLR8ZJ70OF2O8QJSD56MBL = 50;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "debug: Virus Scan - [$CWFKVIKQAQZBDY9751SMUYHZ3VK94MYJ3T0AYK8OYYBY4A0543S]\n"}my $CDZEHFSGGBMTOI1M6AUNBSLO1TNEXF60U2CJ0WKW3E6PW6TI9HC = IO::Socket::UNIX->new(Type => SOCK_STREAM,Peer => $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{clamdsock}, Timeout => '10') or $C9Z2SMWQW6PHM89A17KK9TP4QRE08NUWWLUJQILQ36L3B2YGSSH = $!;unless ($C9Z2SMWQW6PHM89A17KK9TP4QRE08NUWWLUJQILQ36L3B2YGSSH) {syswrite $CDZEHFSGGBMTOI1M6AUNBSLO1TNEXF60U2CJ0WKW3E6PW6TI9HC, $CWFKVIKQAQZBDY9751SMUYHZ3VK94MYJ3T0AYK8OYYBY4A0543S, length($CWFKVIKQAQZBDY9751SMUYHZ3VK94MYJ3T0AYK8OYYBY4A0543S);$CRRLTZ6ZYEU30G6IAJOITNU5CH1G4HHVLHH8CU7SLD9WIC28SXJ = $CDZEHFSGGBMTOI1M6AUNBSLO1TNEXF60U2CJ0WKW3E6PW6TI9HC->getline;$CDZEHFSGGBMTOI1M6AUNBSLO1TNEXF60U2CJ0WKW3E6PW6TI9HC->close;chomp $CRRLTZ6ZYEU30G6IAJOITNU5CH1G4HHVLHH8CU7SLD9WIC28SXJ;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "debug: Virus Scan - [$CRRLTZ6ZYEU30G6IAJOITNU5CH1G4HHVLHH8CU7SLD9WIC28SXJ]\n"}}if ($C9Z2SMWQW6PHM89A17KK9TP4QRE08NUWWLUJQILQ36L3B2YGSSH ne "") {}elsif ($CRRLTZ6ZYEU30G6IAJOITNU5CH1G4HHVLHH8CU7SLD9WIC28SXJ eq "") {$C9Z2SMWQW6PHM89A17KK9TP4QRE08NUWWLUJQILQ36L3B2YGSSH = "No response from clamd process"}elsif ($CRRLTZ6ZYEU30G6IAJOITNU5CH1G4HHVLHH8CU7SLD9WIC28SXJ =~ /FOUND$/) {$C9Z2SMWQW6PHM89A17KK9TP4QRE08NUWWLUJQILQ36L3B2YGSSH = ""}elsif ($CRRLTZ6ZYEU30G6IAJOITNU5CH1G4HHVLHH8CU7SLD9WIC28SXJ =~ /OK$/) {$C9Z2SMWQW6PHM89A17KK9TP4QRE08NUWWLUJQILQ36L3B2YGSSH = ""}elsif ($CRRLTZ6ZYEU30G6IAJOITNU5CH1G4HHVLHH8CU7SLD9WIC28SXJ eq "\x{50}\x{4f}\x{4e}\x{47}") {$C9Z2SMWQW6PHM89A17KK9TP4QRE08NUWWLUJQILQ36L3B2YGSSH = ""}else {$C9Z2SMWQW6PHM89A17KK9TP4QRE08NUWWLUJQILQ36L3B2YGSSH = $CRRLTZ6ZYEU30G6IAJOITNU5CH1G4HHVLHH8CU7SLD9WIC28SXJ}if ($C9Z2SMWQW6PHM89A17KK9TP4QRE08NUWWLUJQILQ36L3B2YGSSH eq "\x{4e}\x{6f}\x{20}\x{73}\x{75}\x{63}\x{68}\x{20}\x{66}\x{69}\x{6c}\x{65}\x{20}\x{6f}\x{72}\x{20}\x{64}\x{69}\x{72}\x{65}\x{63}\x{74}\x{6f}\x{72}\x{79}") {$C9Z2SMWQW6PHM89A17KK9TP4QRE08NUWWLUJQILQ36L3B2YGSSH = "Unable to connect to clamd"}if ($C9Z2SMWQW6PHM89A17KK9TP4QRE08NUWWLUJQILQ36L3B2YGSSH ne "") {my $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR;my $CQ3YCY9MWO7DZT9VWTL4INECHA8BWAJPYEDJEZ2OFN2I0ONSS62;$CVQJVWU0EQUZXYU9S96OEOT9JZEJFE6CPF9V2TLRKBY4TOWDD96++;$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR = "Clamd Error for [$CWFKVIKQAQZBDY9751SMUYHZ3VK94MYJ3T0AYK8OYYBY4A0543S]: $C9Z2SMWQW6PHM89A17KK9TP4QRE08NUWWLUJQILQ36L3B2YGSSH";if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "debug: $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR\n"}if ($CVQJVWU0EQUZXYU9S96OEOT9JZEJFE6CPF9V2TLRKBY4TOWDD96 > $CMZVGO8Y0M2CGO3H15BM7JBNF5FRGVLR8ZJ70OF2O8QJSD56MBL) {$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "\n\nToo many clamd errors, clamd error reporting disabled until it works\n\n";$CWT0WCG1DDG6KP5AXKM0DPKS1ABMYROHRP96ZNIZE8IUFKSYFKZ = 1;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{fallback}) {if (-e "\x{2f}\x{75}\x{73}\x{72}\x{2f}\x{6c}\x{6f}\x{63}\x{61}\x{6c}\x{2f}\x{63}\x{70}\x{61}\x{6e}\x{65}\x{6c}\x{2f}\x{33}\x{72}\x{64}\x{70}\x{61}\x{72}\x{74}\x{79}\x{2f}\x{62}\x{69}\x{6e}\x{2f}\x{63}\x{6c}\x{61}\x{6d}\x{73}\x{63}\x{61}\x{6e}") {$CQ3YCY9MWO7DZT9VWTL4INECHA8BWAJPYEDJEZ2OFN2I0ONSS62 = "/usr/local/cpanel/3rdparty/bin/clamscan"}elsif (-e "\x{2f}\x{75}\x{73}\x{72}\x{2f}\x{6c}\x{6f}\x{63}\x{61}\x{6c}\x{2f}\x{62}\x{69}\x{6e}\x{2f}\x{63}\x{6c}\x{61}\x{6d}\x{73}\x{63}\x{61}\x{6e}") {$CQ3YCY9MWO7DZT9VWTL4INECHA8BWAJPYEDJEZ2OFN2I0ONSS62 = "/usr/local/bin/clamscan"}elsif (-e "\x{2f}\x{75}\x{73}\x{72}\x{2f}\x{62}\x{69}\x{6e}\x{2f}\x{63}\x{6c}\x{61}\x{6d}\x{73}\x{63}\x{61}\x{6e}") {$CQ3YCY9MWO7DZT9VWTL4INECHA8BWAJPYEDJEZ2OFN2I0ONSS62 = "/usr/bin/clamscan"}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YCLAMSCAN}) {$CQ3YCY9MWO7DZT9VWTL4INECHA8BWAJPYEDJEZ2OFN2I0ONSS62 = $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YCLAMSCAN}}if ($CQ3YCY9MWO7DZT9VWTL4INECHA8BWAJPYEDJEZ2OFN2I0ONSS62 and $CWFKVIKQAQZBDY9751SMUYHZ3VK94MYJ3T0AYK8OYYBY4A0543S =~ /^SCAN\s+(.+)$/) {my $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS = $1;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "debug: Attempting scan using [$CQ3YCY9MWO7DZT9VWTL4INECHA8BWAJPYEDJEZ2OFN2I0ONSS62]\n"}unless ($CWT0WCG1DDG6KP5AXKM0DPKS1ABMYROHRP96ZNIZE8IUFKSYFKZ) {$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= ", using clamscan..."}my ($CZUJNXI26LZ9P859WCCK3ZYF4V1G2N358OC0Z6L3KST6IB3ATYD, $CM799TTG1N1ZQINHFEE7ZAJ136255094X6E9O750ZN5UK2146UZ);my $C4L95A529FUX95761W7KRDG64WEHROJV4W90WBG1XPZ0YO34EVU = open3($CZUJNXI26LZ9P859WCCK3ZYF4V1G2N358OC0Z6L3KST6IB3ATYD, $CM799TTG1N1ZQINHFEE7ZAJ136255094X6E9O750ZN5UK2146UZ, $CM799TTG1N1ZQINHFEE7ZAJ136255094X6E9O750ZN5UK2146UZ, $CQ3YCY9MWO7DZT9VWTL4INECHA8BWAJPYEDJEZ2OFN2I0ONSS62,"--no-summary",$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);my @CAOQUH6EYUZJY26NWPJ2ORNE2EFW7Y7J4CDK7FNRGNH8BR58TLN = <$CM799TTG1N1ZQINHFEE7ZAJ136255094X6E9O750ZN5UK2146UZ>;waitpid ($C4L95A529FUX95761W7KRDG64WEHROJV4W90WBG1XPZ0YO34EVU, 0);chomp @CAOQUH6EYUZJY26NWPJ2ORNE2EFW7Y7J4CDK7FNRGNH8BR58TLN;$CRRLTZ6ZYEU30G6IAJOITNU5CH1G4HHVLHH8CU7SLD9WIC28SXJ = $CAOQUH6EYUZJY26NWPJ2ORNE2EFW7Y7J4CDK7FNRGNH8BR58TLN[0];if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "debug: Clamscan - [$CRRLTZ6ZYEU30G6IAJOITNU5CH1G4HHVLHH8CU7SLD9WIC28SXJ]\n"}if ($CRRLTZ6ZYEU30G6IAJOITNU5CH1G4HHVLHH8CU7SLD9WIC28SXJ =~ /FOUND$/) {$C9Z2SMWQW6PHM89A17KK9TP4QRE08NUWWLUJQILQ36L3B2YGSSH = ""}elsif ($CRRLTZ6ZYEU30G6IAJOITNU5CH1G4HHVLHH8CU7SLD9WIC28SXJ =~ /OK$/) {$C9Z2SMWQW6PHM89A17KK9TP4QRE08NUWWLUJQILQ36L3B2YGSSH = ""}else {$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "\nClamscan Error for [$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS]: $CRRLTZ6ZYEU30G6IAJOITNU5CH1G4HHVLHH8CU7SLD9WIC28SXJ"}}}unless ($CWT0WCG1DDG6KP5AXKM0DPKS1ABMYROHRP96ZNIZE8IUFKSYFKZ) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{report}) {open (my $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, "\x{3e}\x{3e}", $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{report});flock ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, LOCK_EX);print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "\# $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR\n";close ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI);}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YCONREP}) {open (my $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, "\x{3e}\x{3e}", $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YCONREP});flock ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, LOCK_EX);print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "\# $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR\n";close ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI);}$CSI9RDCS7TJCBWV5UTINKTJ7E45E3KF0VNKJXO9GGTWPUZQ64N3 .= "\# $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR\n";$C6ED9C559BIG3Y1V6R397GX7QB7KUKP199MFZE8UMBUIQQR32GP .= "

\# $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR

\n";$CSJ8OTS79CBF1X7SIQ8OHW3NRBG2C61SEFK5AHV4VT4PRPRONGV .= "\# $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR\n";$CLKFW5TBP06PRRJN49272SX6OO6ZO3WF77K9W2AFMZNXWMJGG99 .= "

\# $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR

\n";unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {if ($CWFKVIKQAQZBDY9751SMUYHZ3VK94MYJ3T0AYK8OYYBY4A0543S ne "\x{50}\x{49}\x{4e}\x{47}") {print "\$"}}}} else {$CVQJVWU0EQUZXYU9S96OEOT9JZEJFE6CPF9V2TLRKBY4TOWDD96 = 0; $CWT0WCG1DDG6KP5AXKM0DPKS1ABMYROHRP96ZNIZE8IUFKSYFKZ = 0}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YSKIPUNCLAM} and $CRRLTZ6ZYEU30G6IAJOITNU5CH1G4HHVLHH8CU7SLD9WIC28SXJ =~ /\.UNOFFICIAL FOUND$/) {$CRRLTZ6ZYEU30G6IAJOITNU5CH1G4HHVLHH8CU7SLD9WIC28SXJ = "\x{4f}\x{4b}"}return $CRRLTZ6ZYEU30G6IAJOITNU5CH1G4HHVLHH8CU7SLD9WIC28SXJ;}sub CCSME15N622BZ3SDO5XSJ9WDG5JHYZYEPI2VV9TDD70C27JPGKG {my $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK = shift;my $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS = shift;my $CGDLWWXOSWH5REVO0ENC16IXWTZWSSKSI8WH4BP1MVGDPAX4NJ7 = shift;my $CCN4U3YAYVZEXPME9LT2U1CR2LE3GRST1ZJEX6N3LNLUJCA9UD9;my $CCDZ53U3UX8GL31I0CS1U2URMBIQOFNFXM5IBA5CU81FASO0JPO;my $CQCQFWQS2ILDFTE94L5IC8EON95LPWMBKQ2DF2L9T14JYT79NSJ = 0;my $CAYFTLTNC5D2HIYYN260YA7JZQ350XS98B11TZCDFTU626YEVY0 = 0;my $C6XGYIUTLKDN2NK4OZ7S97HYXJV9LE2GK0D605CYVTU5W8SO608 = 0;foreach my $CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH (keys %C7ZNN2538L6UKFDIHGN4Y4SBDFK7JL5DNBB7G920U22E8MLLTAS) {if ($C7ZNN2538L6UKFDIHGN4Y4SBDFK7JL5DNBB7G920U22E8MLLTAS{$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH}{file} eq $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK) {$C6XGYIUTLKDN2NK4OZ7S97HYXJV9LE2GK0D605CYVTU5W8SO608 = 1;last;}}if ($C6XGYIUTLKDN2NK4OZ7S97HYXJV9LE2GK0D605CYVTU5W8SO608) {open (my $CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL, "\x{3c}", $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);flock ($CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL, LOCK_SH);$CCN4U3YAYVZEXPME9LT2U1CR2LE3GRST1ZJEX6N3LNLUJCA9UD9 = do {local $/; <$CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL>};close ($CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL);foreach my $CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH (keys %C7ZNN2538L6UKFDIHGN4Y4SBDFK7JL5DNBB7G920U22E8MLLTAS) {if ($C7ZNN2538L6UKFDIHGN4Y4SBDFK7JL5DNBB7G920U22E8MLLTAS{$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH}{file} eq $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK) {my $CK2ENAMWUNQ2WUVP1FX6VS9MTISOCZ54WXW2YSQ86RRQTOWKY11 = 1;if ($C7ZNN2538L6UKFDIHGN4Y4SBDFK7JL5DNBB7G920U22E8MLLTAS{$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH}{confirm} ne "") {if ($CCN4U3YAYVZEXPME9LT2U1CR2LE3GRST1ZJEX6N3LNLUJCA9UD9 =~ /$C7ZNN2538L6UKFDIHGN4Y4SBDFK7JL5DNBB7G920U22E8MLLTAS{$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH}{confirm}/) {$CK2ENAMWUNQ2WUVP1FX6VS9MTISOCZ54WXW2YSQ86RRQTOWKY11 = 1} else {$CK2ENAMWUNQ2WUVP1FX6VS9MTISOCZ54WXW2YSQ86RRQTOWKY11 = 0}}if ($CK2ENAMWUNQ2WUVP1FX6VS9MTISOCZ54WXW2YSQ86RRQTOWKY11) {if ($C7ZNN2538L6UKFDIHGN4Y4SBDFK7JL5DNBB7G920U22E8MLLTAS{$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH}{version}{1} ne "" and $CCN4U3YAYVZEXPME9LT2U1CR2LE3GRST1ZJEX6N3LNLUJCA9UD9 =~ /$C7ZNN2538L6UKFDIHGN4Y4SBDFK7JL5DNBB7G920U22E8MLLTAS{$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH}{version}{1}/) {$CQCQFWQS2ILDFTE94L5IC8EON95LPWMBKQ2DF2L9T14JYT79NSJ = $1;$CCDZ53U3UX8GL31I0CS1U2URMBIQOFNFXM5IBA5CU81FASO0JPO = $CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH;for (my $CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO = 2; $CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO < 6; $CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO++) {if ($C7ZNN2538L6UKFDIHGN4Y4SBDFK7JL5DNBB7G920U22E8MLLTAS{$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH}{version}{$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO} ne "" and $CCN4U3YAYVZEXPME9LT2U1CR2LE3GRST1ZJEX6N3LNLUJCA9UD9 =~ /$C7ZNN2538L6UKFDIHGN4Y4SBDFK7JL5DNBB7G920U22E8MLLTAS{$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH}{version}{$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO}/) {$CQCQFWQS2ILDFTE94L5IC8EON95LPWMBKQ2DF2L9T14JYT79NSJ .= ".$1"}}my $C4CJ94L8AIQ3AX567RYJQT4ESSAUTFUD9SXU443RTYM5R6QMX58;for (my $CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO = 1; $CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO < 6; $CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO++) {if ($C7ZNN2538L6UKFDIHGN4Y4SBDFK7JL5DNBB7G920U22E8MLLTAS{$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH}{sver}{$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO}{version} eq "*") {$C4CJ94L8AIQ3AX567RYJQT4ESSAUTFUD9SXU443RTYM5R6QMX58 = $CT0KT1EF15LOLQNEBFUQ0I4SSQL48S4DIIDJXVDANKBEASZY5YH{$C7ZNN2538L6UKFDIHGN4Y4SBDFK7JL5DNBB7G920U22E8MLLTAS{$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH}{sver}{$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO}{name}};if ($C7ZNN2538L6UKFDIHGN4Y4SBDFK7JL5DNBB7G920U22E8MLLTAS{$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH}{sver}{$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO}{sver} ne "") {$C4CJ94L8AIQ3AX567RYJQT4ESSAUTFUD9SXU443RTYM5R6QMX58 = $C7ZNN2538L6UKFDIHGN4Y4SBDFK7JL5DNBB7G920U22E8MLLTAS{$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH}{sver}{$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO}{sver}}}elsif ($C7ZNN2538L6UKFDIHGN4Y4SBDFK7JL5DNBB7G920U22E8MLLTAS{$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH}{sver}{$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO}{version} ne "" and $CQCQFWQS2ILDFTE94L5IC8EON95LPWMBKQ2DF2L9T14JYT79NSJ =~ /^$C7ZNN2538L6UKFDIHGN4Y4SBDFK7JL5DNBB7G920U22E8MLLTAS{$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH}{sver}{$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO}{version}/) {$CAYFTLTNC5D2HIYYN260YA7JZQ350XS98B11TZCDFTU626YEVY0 = $CT0KT1EF15LOLQNEBFUQ0I4SSQL48S4DIIDJXVDANKBEASZY5YH{$C7ZNN2538L6UKFDIHGN4Y4SBDFK7JL5DNBB7G920U22E8MLLTAS{$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH}{sver}{$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO}{name}};if ($C7ZNN2538L6UKFDIHGN4Y4SBDFK7JL5DNBB7G920U22E8MLLTAS{$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH}{sver}{$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO}{sver} ne "") {$CAYFTLTNC5D2HIYYN260YA7JZQ350XS98B11TZCDFTU626YEVY0 = $C7ZNN2538L6UKFDIHGN4Y4SBDFK7JL5DNBB7G920U22E8MLLTAS{$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH}{sver}{$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO}{sver}}}}if ($CAYFTLTNC5D2HIYYN260YA7JZQ350XS98B11TZCDFTU626YEVY0 eq "" or $CAYFTLTNC5D2HIYYN260YA7JZQ350XS98B11TZCDFTU626YEVY0 == 0) {$CAYFTLTNC5D2HIYYN260YA7JZQ350XS98B11TZCDFTU626YEVY0 = $C4CJ94L8AIQ3AX567RYJQT4ESSAUTFUD9SXU443RTYM5R6QMX58}return ($CCDZ53U3UX8GL31I0CS1U2URMBIQOFNFXM5IBA5CU81FASO0JPO,$CQCQFWQS2ILDFTE94L5IC8EON95LPWMBKQ2DF2L9T14JYT79NSJ,$CAYFTLTNC5D2HIYYN260YA7JZQ350XS98B11TZCDFTU626YEVY0);}}}}}if ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK eq "\x{63}\x{6f}\x{6e}\x{66}\x{69}\x{67}\x{75}\x{72}\x{65}\x{2e}\x{70}\x{68}\x{70}") {open (my $CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL, "\x{3c}", $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);flock ($CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL, LOCK_SH);$CCN4U3YAYVZEXPME9LT2U1CR2LE3GRST1ZJEX6N3LNLUJCA9UD9 = do {local $/; <$CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL>};close ($CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL);if ($CCN4U3YAYVZEXPME9LT2U1CR2LE3GRST1ZJEX6N3LNLUJCA9UD9 =~ /Open Source E-Commerce Solutions/) {if (-f $CGDLWWXOSWH5REVO0ENC16IXWTZWSSKSI8WH4BP1MVGDPAX4NJ7."\x{2f}\x{76}\x{65}\x{72}\x{73}\x{69}\x{6f}\x{6e}\x{2e}\x{70}\x{68}\x{70}" and !(-l $CGDLWWXOSWH5REVO0ENC16IXWTZWSSKSI8WH4BP1MVGDPAX4NJ7."/version.php") and (-s $CGDLWWXOSWH5REVO0ENC16IXWTZWSSKSI8WH4BP1MVGDPAX4NJ7."/version.php" < 1024)) {open (my $CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL, "\x{3c}", $CGDLWWXOSWH5REVO0ENC16IXWTZWSSKSI8WH4BP1MVGDPAX4NJ7."/version.php");flock ($CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL, LOCK_SH);$CQCQFWQS2ILDFTE94L5IC8EON95LPWMBKQ2DF2L9T14JYT79NSJ = <$CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL>;close ($CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL);chomp $CQCQFWQS2ILDFTE94L5IC8EON95LPWMBKQ2DF2L9T14JYT79NSJ;$CCDZ53U3UX8GL31I0CS1U2URMBIQOFNFXM5IBA5CU81FASO0JPO = "\x{6f}\x{73}\x{43}\x{6f}\x{6d}\x{6d}\x{65}\x{72}\x{63}\x{65}";$CAYFTLTNC5D2HIYYN260YA7JZQ350XS98B11TZCDFTU626YEVY0 = $CT0KT1EF15LOLQNEBFUQ0I4SSQL48S4DIIDJXVDANKBEASZY5YH{"\x{6f}\x{73}\x{43}\x{6f}\x{6d}\x{6d}\x{65}\x{72}\x{63}\x{65}"};}}}if ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK eq "\x{69}\x{6e}\x{69}\x{74}\x{2e}\x{70}\x{68}\x{70}") {open (my $CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL, "\x{3c}", $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);flock ($CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL, LOCK_SH);$CCN4U3YAYVZEXPME9LT2U1CR2LE3GRST1ZJEX6N3LNLUJCA9UD9 = do {local $/; <$CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL>};close ($CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL);if ($CCN4U3YAYVZEXPME9LT2U1CR2LE3GRST1ZJEX6N3LNLUJCA9UD9 =~ /spl_autoload_register\s*\(\s*'feng__autoload'/) {if (-f $CGDLWWXOSWH5REVO0ENC16IXWTZWSSKSI8WH4BP1MVGDPAX4NJ7."\x{2f}\x{76}\x{65}\x{72}\x{73}\x{69}\x{6f}\x{6e}\x{2e}\x{70}\x{68}\x{70}" and !(-l $CGDLWWXOSWH5REVO0ENC16IXWTZWSSKSI8WH4BP1MVGDPAX4NJ7."/version.php") and (-s $CGDLWWXOSWH5REVO0ENC16IXWTZWSSKSI8WH4BP1MVGDPAX4NJ7."/version.php" < 1024)) {open (my $CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL, "\x{3c}", $CGDLWWXOSWH5REVO0ENC16IXWTZWSSKSI8WH4BP1MVGDPAX4NJ7."/version.php");flock ($CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL, LOCK_SH);my $CCN4U3YAYVZEXPME9LT2U1CR2LE3GRST1ZJEX6N3LNLUJCA9UD9 = do {local $/; <$CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL>};close ($CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL);if ($CCN4U3YAYVZEXPME9LT2U1CR2LE3GRST1ZJEX6N3LNLUJCA9UD9 =~ /return\s+'(\S+)'/) {$CQCQFWQS2ILDFTE94L5IC8EON95LPWMBKQ2DF2L9T14JYT79NSJ = $1;$CCDZ53U3UX8GL31I0CS1U2URMBIQOFNFXM5IBA5CU81FASO0JPO = "\x{46}\x{65}\x{6e}\x{67}\x{20}\x{4f}\x{66}\x{66}\x{69}\x{63}\x{65}";$CAYFTLTNC5D2HIYYN260YA7JZQ350XS98B11TZCDFTU626YEVY0 = $CT0KT1EF15LOLQNEBFUQ0I4SSQL48S4DIIDJXVDANKBEASZY5YH{"\x{46}\x{65}\x{6e}\x{67}"};}}}}if ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK eq "\x{69}\x{6e}\x{69}\x{74}\x{2e}\x{70}\x{68}\x{70}") {open (my $CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL, "\x{3c}", $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);flock ($CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL, LOCK_SH);$CCN4U3YAYVZEXPME9LT2U1CR2LE3GRST1ZJEX6N3LNLUJCA9UD9 = do {local $/; <$CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL>};close ($CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL);if ($CCN4U3YAYVZEXPME9LT2U1CR2LE3GRST1ZJEX6N3LNLUJCA9UD9 =~ /registry->set\('snapshot', 'AbanteCart\/'/) {if (-f $CGDLWWXOSWH5REVO0ENC16IXWTZWSSKSI8WH4BP1MVGDPAX4NJ7."\x{2f}\x{76}\x{65}\x{72}\x{73}\x{69}\x{6f}\x{6e}\x{2e}\x{70}\x{68}\x{70}" and !(-l $CGDLWWXOSWH5REVO0ENC16IXWTZWSSKSI8WH4BP1MVGDPAX4NJ7."/version.php") and (-s $CGDLWWXOSWH5REVO0ENC16IXWTZWSSKSI8WH4BP1MVGDPAX4NJ7."/version.php" < 1024)) {open (my $CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL, "\x{3c}", $CGDLWWXOSWH5REVO0ENC16IXWTZWSSKSI8WH4BP1MVGDPAX4NJ7."/version.php");flock ($CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL, LOCK_SH);my $CCN4U3YAYVZEXPME9LT2U1CR2LE3GRST1ZJEX6N3LNLUJCA9UD9 = do {local $/; <$CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL>};close ($CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL);if ($CCN4U3YAYVZEXPME9LT2U1CR2LE3GRST1ZJEX6N3LNLUJCA9UD9 =~ /define\s*\(\s*'MASTER_VERSION'\s*,\s*'([^']*)'/) {$CQCQFWQS2ILDFTE94L5IC8EON95LPWMBKQ2DF2L9T14JYT79NSJ = $1}if ($CCN4U3YAYVZEXPME9LT2U1CR2LE3GRST1ZJEX6N3LNLUJCA9UD9 =~ /define\s*\(\s*'MINOR_VERSION'\s*,\s*'([^']*)'/) {$CQCQFWQS2ILDFTE94L5IC8EON95LPWMBKQ2DF2L9T14JYT79NSJ .= ".$1"}if ($CCN4U3YAYVZEXPME9LT2U1CR2LE3GRST1ZJEX6N3LNLUJCA9UD9 =~ /define\s*\(\s*'VERSION_BUILT'\s*,\s*'([^']*)'/) {$CQCQFWQS2ILDFTE94L5IC8EON95LPWMBKQ2DF2L9T14JYT79NSJ .= ".$1"}$CCDZ53U3UX8GL31I0CS1U2URMBIQOFNFXM5IBA5CU81FASO0JPO = "\x{41}\x{62}\x{61}\x{6e}\x{74}\x{65}\x{43}\x{61}\x{72}\x{74}";$CAYFTLTNC5D2HIYYN260YA7JZQ350XS98B11TZCDFTU626YEVY0 = $CT0KT1EF15LOLQNEBFUQ0I4SSQL48S4DIIDJXVDANKBEASZY5YH{"\x{41}\x{62}\x{61}\x{6e}\x{74}\x{65}\x{43}\x{61}\x{72}\x{74}"};}}}return ($CCDZ53U3UX8GL31I0CS1U2URMBIQOFNFXM5IBA5CU81FASO0JPO,$CQCQFWQS2ILDFTE94L5IC8EON95LPWMBKQ2DF2L9T14JYT79NSJ,$CAYFTLTNC5D2HIYYN260YA7JZQ350XS98B11TZCDFTU626YEVY0);}sub CC0HJ46ZN48MIR6EGUEZXLA446VMCQRUTKZEP3339HYCPOWC0E0 {my $CEJ2IT0Z5HOMVYITI0ZUIJUEP0B5QQ8EB6QELMUE68DG2QCWD7E = shift;my $CABS9RMQY4GQHQR1K95YNVSWA952337CCROBMQE1EE3PNJHJ3FY = shift;my $CGBW662C2OYKXNNO0T88DTBP6Z35RB322J0X8V59I3GZ8NIJ2AQ = shift;my $CVGWH685YGWT49HLYT5FZ2TVT10MEEHVWB0RUC48Q4BEH1T56SS = shift;my $CEOTGGSJ8Z02PV2ZOBKP12EL4862RIQXX5AEK4X4BTOK0T4EECN = shift;my $CQCQFWQS2ILDFTE94L5IC8EON95LPWMBKQ2DF2L9T14JYT79NSJ = 0;eval {local $SIG{__DIE__} = undef;my $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU; eval ('use DBI'); ## no critic -if ($@) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "debug: $@"}} else { eval ('use DBD::mysql'); ## no critic -if ($@) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "debug: $@"}} else {my $CQDTEKAQ09DIOG29ZP33T8BLRMMHWXEJK5FMW82FQW9N3EPJO8A = DBI->connect("\x{44}\x{42}\x{49}\x{3a}\x{6d}\x{79}\x{73}\x{71}\x{6c}\x{3a}".$CABS9RMQY4GQHQR1K95YNVSWA952337CCROBMQE1EE3PNJHJ3FY.";host=".$CEJ2IT0Z5HOMVYITI0ZUIJUEP0B5QQ8EB6QELMUE68DG2QCWD7E,$CGBW662C2OYKXNNO0T88DTBP6Z35RB322J0X8V59I3GZ8NIJ2AQ,$CVGWH685YGWT49HLYT5FZ2TVT10MEEHVWB0RUC48Q4BEH1T56SS,{PrintError=>0}) or $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU = $CM06J5JHJ2S5UYYVI5T3T4DJCBMFXHQB4J2HVBKWS4FWAQJXI88::errstr;if ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "debug: $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU"}} else {my $CPUOS5E2VKDDKR8ITFYLXPL5GKQ6HETESGNGSHBJG1GVO2XIZOZ = $CQDTEKAQ09DIOG29ZP33T8BLRMMHWXEJK5FMW82FQW9N3EPJO8A->prepare($CEOTGGSJ8Z02PV2ZOBKP12EL4862RIQXX5AEK4X4BTOK0T4EECN) or $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU = $CM06J5JHJ2S5UYYVI5T3T4DJCBMFXHQB4J2HVBKWS4FWAQJXI88::errstr;if ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "debug: $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU"}} else {$CPUOS5E2VKDDKR8ITFYLXPL5GKQ6HETESGNGSHBJG1GVO2XIZOZ->execute() or $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU = $CM06J5JHJ2S5UYYVI5T3T4DJCBMFXHQB4J2HVBKWS4FWAQJXI88::errstr;if ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "debug: $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU"}} else {while (my @CAOQUH6EYUZJY26NWPJ2ORNE2EFW7Y7J4CDK7FNRGNH8BR58TLN = $CPUOS5E2VKDDKR8ITFYLXPL5GKQ6HETESGNGSHBJG1GVO2XIZOZ->fetchrow_array()) {$CQCQFWQS2ILDFTE94L5IC8EON95LPWMBKQ2DF2L9T14JYT79NSJ = $CAOQUH6EYUZJY26NWPJ2ORNE2EFW7Y7J4CDK7FNRGNH8BR58TLN[0]}}}}}}};return $CQCQFWQS2ILDFTE94L5IC8EON95LPWMBKQ2DF2L9T14JYT79NSJ;}sub CL864EBGPXXYXPVXUSAFV45RQLQLJE183PCIO9CLTP6C07RKZJQ {my $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK = shift;my $C24LT68NWFBCYAIKOBVH8IJCD3ZGIP6W7BXQUHFR11TCCAVC3S2;my $CRME3IDYGKYXB1O6WFVIH7CMLXDXIPNWQ96ALH0G8ZFMA0VFQA8;my $CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T;open (my $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, "\x{3c}", $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK);flock ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, LOCK_SH);read ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, $CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T, 2*1024);close ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI);if ($CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T =~ m[^GIF8]) {$C24LT68NWFBCYAIKOBVH8IJCD3ZGIP6W7BXQUHFR11TCCAVC3S2 = 1}if ($CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T =~ m[^\x89PNG]) {$C24LT68NWFBCYAIKOBVH8IJCD3ZGIP6W7BXQUHFR11TCCAVC3S2 = 1}if ($CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T =~ m[^\xff\xd8] and substr($CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T, 6, 4) eq "\x{4a}\x{46}\x{49}\x{46}") {$C24LT68NWFBCYAIKOBVH8IJCD3ZGIP6W7BXQUHFR11TCCAVC3S2 = 1 ; $CRME3IDYGKYXB1O6WFVIH7CMLXDXIPNWQ96ALH0G8ZFMA0VFQA8 = 1}if ($CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T =~ m[^\xff\xd8\xff\xe0]) {$C24LT68NWFBCYAIKOBVH8IJCD3ZGIP6W7BXQUHFR11TCCAVC3S2 = 1 ; $CRME3IDYGKYXB1O6WFVIH7CMLXDXIPNWQ96ALH0G8ZFMA0VFQA8 = 1}if ($CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T =~ m[^\xff\xd8\xff\xe1]) {$C24LT68NWFBCYAIKOBVH8IJCD3ZGIP6W7BXQUHFR11TCCAVC3S2 = 1 ; $CRME3IDYGKYXB1O6WFVIH7CMLXDXIPNWQ96ALH0G8ZFMA0VFQA8 = 1}if ($CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T =~ m[^\xff\xd8\xff\xe2]) {$C24LT68NWFBCYAIKOBVH8IJCD3ZGIP6W7BXQUHFR11TCCAVC3S2 = 1 ; $CRME3IDYGKYXB1O6WFVIH7CMLXDXIPNWQ96ALH0G8ZFMA0VFQA8 = 1}if ($CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T =~ m[^\x49\x20\x49]) {$C24LT68NWFBCYAIKOBVH8IJCD3ZGIP6W7BXQUHFR11TCCAVC3S2 = 1 ; $CRME3IDYGKYXB1O6WFVIH7CMLXDXIPNWQ96ALH0G8ZFMA0VFQA8 = 1}if ($CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T =~ m[^\x49\x49\x2a\x00]) {$C24LT68NWFBCYAIKOBVH8IJCD3ZGIP6W7BXQUHFR11TCCAVC3S2 = 1 ; $CRME3IDYGKYXB1O6WFVIH7CMLXDXIPNWQ96ALH0G8ZFMA0VFQA8 = 1}if ($CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T =~ m[^\x4d\x4d\x00\x2a]) {$C24LT68NWFBCYAIKOBVH8IJCD3ZGIP6W7BXQUHFR11TCCAVC3S2 = 1 ; $CRME3IDYGKYXB1O6WFVIH7CMLXDXIPNWQ96ALH0G8ZFMA0VFQA8 = 1}if ($CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T =~ m[^\x4d\x4d\x00\x2b]) {$C24LT68NWFBCYAIKOBVH8IJCD3ZGIP6W7BXQUHFR11TCCAVC3S2 = 1 ; $CRME3IDYGKYXB1O6WFVIH7CMLXDXIPNWQ96ALH0G8ZFMA0VFQA8 = 1}if ($CRME3IDYGKYXB1O6WFVIH7CMLXDXIPNWQ96ALH0G8ZFMA0VFQA8) {open (my $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, "\x{3c}", $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK);flock ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, LOCK_SH);read ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, $CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T, 4*1024);close ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI);if ($CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T =~ m[/\.\*/e] and $CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T =~ m[eval\s*\(]) {return 'exif-exploit'}}if ($CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T =~ m[^\<\?php]i) {if ($C24LT68NWFBCYAIKOBVH8IJCD3ZGIP6W7BXQUHFR11TCCAVC3S2) {return 'application/x-phpimage'} else {return 'application/x-php'}}if ($CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T =~ m[^\#\!.*php]) {if ($C24LT68NWFBCYAIKOBVH8IJCD3ZGIP6W7BXQUHFR11TCCAVC3S2) {return 'application/x-phpimage'} else {return 'application/x-php'}}if ($CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T =~ m[^\#\!.*perl]) {return 'application/x-perl'}if ($CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T =~ m[^\#\!.*python]) {return 'application/x-python'}if ($CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T =~ m[^\#\!.*ruby]) {return 'application/x-ruby'}if ($CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T =~ m[^\#\!]) {return 'application/x-script'}if ($CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T =~ m[(\n|\r)\#include\s+\]i) {return 'application/x-c'}if ($CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T =~ m[^\s*int\s+main\(]i) {return 'application/x-c'}if ($CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T =~ m[(\n|\r)\s*int\s+main\(]i) {return 'application/x-c'}if ($CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T =~ m[^PK\x03\x04]) {return 'application/x-zip'}if ($CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T =~ m[^PK\x05\x06]) {return 'application/x-zip'}if ($CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T =~ m[^PK\x07\x08]) {return 'application/x-zip'}if ($CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T =~ m[^\037\213]) {return 'application/x-tar'}if ($CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T =~ m[^BZh]) {return 'application/x-tar'}if (length $CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T > 257) {my $CN5AK3JNB3R0X7YLLGAVMESDDXXNLFVJRMJOM0OPL9EY4W7K32T = substr($CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T, 257, 1024);if ($CN5AK3JNB3R0X7YLLGAVMESDDXXNLFVJRMJOM0OPL9EY4W7K32T =~ m[^ustar\0]) {return 'application/x-tar'}if ($CN5AK3JNB3R0X7YLLGAVMESDDXXNLFVJRMJOM0OPL9EY4W7K32T =~ m[^ustar\040\040\0]) {return 'application/x-tar'}}if ($CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T =~ m[^\177ELF]) {my $CN5AK3JNB3R0X7YLLGAVMESDDXXNLFVJRMJOM0OPL9EY4W7K32T = substr($CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T, 16, 2);if ($CN5AK3JNB3R0X7YLLGAVMESDDXXNLFVJRMJOM0OPL9EY4W7K32T =~ m[^\000]) {return 'application/octet-stream'}if ($CN5AK3JNB3R0X7YLLGAVMESDDXXNLFVJRMJOM0OPL9EY4W7K32T =~ m[^\001]) {return 'application/x-object'}if ($CN5AK3JNB3R0X7YLLGAVMESDDXXNLFVJRMJOM0OPL9EY4W7K32T =~ m[^\002]) {return 'application/x-executable'}if ($CN5AK3JNB3R0X7YLLGAVMESDDXXNLFVJRMJOM0OPL9EY4W7K32T =~ m[^\003]) {return 'application/x-sharedlib'}if ($CN5AK3JNB3R0X7YLLGAVMESDDXXNLFVJRMJOM0OPL9EY4W7K32T =~ m[^\004]) {return 'application/x-coredump'}return 'application/x-executable';}if ($CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T =~ m[<\?php[[:print:]\n\r]{15,}]i) {if ($C24LT68NWFBCYAIKOBVH8IJCD3ZGIP6W7BXQUHFR11TCCAVC3S2) {return 'application/x-phpimage'} else {return 'application/x-php'}}if ($CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T =~ m[(\n|\r|^)\s*\<\?(?!xml|xpacket|adobe)[[:print:]\n\r]{30,}]) {if ($C24LT68NWFBCYAIKOBVH8IJCD3ZGIP6W7BXQUHFR11TCCAVC3S2) {return 'application/x-phpimage'} else {return 'application/x-php'}}if ($CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T =~ m[^MZ]) {my $CF0F5RSWNLFUHA896B85AIME17SDXH5XZKHHU2Q3YGTLQB66E9J = unpack('H*', $CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T);my $CN5AK3JNB3R0X7YLLGAVMESDDXXNLFVJRMJOM0OPL9EY4W7K32T = substr($CF0F5RSWNLFUHA896B85AIME17SDXH5XZKHHU2Q3YGTLQB66E9J, 48, 2);if (hex($CN5AK3JNB3R0X7YLLGAVMESDDXXNLFVJRMJOM0OPL9EY4W7K32T) >= 0x40) {my $CQNH4DIQ9TH2DEB0G96OKBSTRZM6BD9URIAH72HETOY4QK1DBRP = substr($CF0F5RSWNLFUHA896B85AIME17SDXH5XZKHHU2Q3YGTLQB66E9J, 120, 2);my $CL0SGOTTUOBMS37JFQZXROEVBVZF0OGOYJAKMLNQESF6N7UOCBV = substr($CF0F5RSWNLFUHA896B85AIME17SDXH5XZKHHU2Q3YGTLQB66E9J, 122, 2);my $C43XD2FQDJ4SQU8LY4UDRJ2X2UBCGWO3G5JXFJB0KHEYEQWWOMZ = substr($CF0F5RSWNLFUHA896B85AIME17SDXH5XZKHHU2Q3YGTLQB66E9J, 124, 2);my $C84SPNFIENH7S944AMP7IVYSP2ZVLSYZHRQBKRA7UE7E161K4H8 = substr($CF0F5RSWNLFUHA896B85AIME17SDXH5XZKHHU2Q3YGTLQB66E9J, 126, 2);my $CBEJZWE3R4Y3LNC6444QGEXEQLY86O8XFYSEXC3CKC7Q7GSGQ14 = hex($C84SPNFIENH7S944AMP7IVYSP2ZVLSYZHRQBKRA7UE7E161K4H8.$C43XD2FQDJ4SQU8LY4UDRJ2X2UBCGWO3G5JXFJB0KHEYEQWWOMZ.$CL0SGOTTUOBMS37JFQZXROEVBVZF0OGOYJAKMLNQESF6N7UOCBV.$CQNH4DIQ9TH2DEB0G96OKBSTRZM6BD9URIAH72HETOY4QK1DBRP);$CN5AK3JNB3R0X7YLLGAVMESDDXXNLFVJRMJOM0OPL9EY4W7K32T = substr($CF0F5RSWNLFUHA896B85AIME17SDXH5XZKHHU2Q3YGTLQB66E9J, $CBEJZWE3R4Y3LNC6444QGEXEQLY86O8XFYSEXC3CKC7Q7GSGQ14 * 2, 8);if ($CN5AK3JNB3R0X7YLLGAVMESDDXXNLFVJRMJOM0OPL9EY4W7K32T eq "\x{35}\x{30}\x{34}\x{35}\x{30}\x{30}\x{30}\x{30}" or $CN5AK3JNB3R0X7YLLGAVMESDDXXNLFVJRMJOM0OPL9EY4W7K32T eq "4C450000" or $CN5AK3JNB3R0X7YLLGAVMESDDXXNLFVJRMJOM0OPL9EY4W7K32T eq "4E450000") {return 'application/x-winexec'}}return 'application/x-dosexec';}if ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK =~ /\.php([\ds]?)$|\.phtml$/i) {if ($C24LT68NWFBCYAIKOBVH8IJCD3ZGIP6W7BXQUHFR11TCCAVC3S2) {return 'application/x-phpimage'} else {return 'application/x-php'}}if ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK =~ /\.cgi$|\.pl$|\.pm$/i) {return 'application/x-perl'}if ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK =~ /\.c$|\.cpp$/i) {return 'application/x-c'}if ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK =~ /\.py$/i) {return 'application/x-python'}if ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK =~ /\.rb$/i) {return 'application/x-ruby'}if ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK =~ /\.asp(x)?$/i) {return 'application/x-asp'}if ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK =~ /\.jsp$/i) {return 'application/x-jsp'}if ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK =~ /\.java$/i) {return 'application/x-java'}if ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK =~ /\.sh$/i) {return 'application/x-script'}if ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK =~ /\.htaccess$/i) {return 'application/x-script'}return;}sub CNLXAJDCMGI9X4QQJEX4RSQJILEWXXCX6FR2UOMOOKB7E9NW6Q3 {my $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK = shift;my $C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4 = shift;my $C5JRXOOWI67R2VXEASKOMCABF5EHBWXM82QC9YQIF4Z60L00846 = 0;my $C9Z2SMWQW6PHM89A17KK9TP4QRE08NUWWLUJQILQ36L3B2YGSSH = 0;my $C7U8FBVO3J3AHIGI5IILSMNLIDF3RPS916IGFAVIDZXHGQXUQ20;my $C96V2UD7EL2BWJM7BG0F5SPVBYUYVFWMG4ORHU3PYGGWGMY0OHB;my @CCJFGE3NEJQ35OVY38P1MA48FAXAI8RYUO0MTZGDA6BRV2NJ0FR;my $CYPP1IVPL8VMCRMF6I8AFY0OC4TIYS55XVS03V86MH4U4Y66QQY;my ($CMMWJNDLY2VVEWT1EOTJQ1RV7ZUSDHHP9GCLZE3Q4LRW9RBEBJ0,$C3M3PWG0TBWAU5EKBH9MU25MOPKD7KYNQD3I8GSW12GBIH0AS0C,$C1Q4JSXRRK153OSF15QYU6OX4D3ZKT84RLJS20MFAIEDKFHKTQZ) = &CUAZCSFVSBD05KLZPSEV174YBFCACFRTTABTKH57VYUO5HRHA51(\$C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4);my $C4NO9BT6MDQX1QMI01KNS4RHF7L3OQKONMDUFKRMA779XNNYU89 = $CMMWJNDLY2VVEWT1EOTJQ1RV7ZUSDHHP9GCLZE3Q4LRW9RBEBJ0;my $C86ABUQODAXN1XYMK5F1XR2865UHT9JT712E2ZQ1BBNSEA4Y96U = 0;while ($C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4 =~ /$CV40DX77X816XJAKKAG4PGJXRLMQGGROW6I5ZKYAMCS3AOCHNYN/s or $CMMWJNDLY2VVEWT1EOTJQ1RV7ZUSDHHP9GCLZE3Q4LRW9RBEBJ0){my $CTXUP1N3UMVBYVCFSO5751I4TY21USIKCLS3TI7IUCYHTJDHF4F = $C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4;my @CAOQUH6EYUZJY26NWPJ2ORNE2EFW7Y7J4CDK7FNRGNH8BR58TLN;if ($CMMWJNDLY2VVEWT1EOTJQ1RV7ZUSDHHP9GCLZE3Q4LRW9RBEBJ0) {if ($CMMWJNDLY2VVEWT1EOTJQ1RV7ZUSDHHP9GCLZE3Q4LRW9RBEBJ0 == 1) {$C96V2UD7EL2BWJM7BG0F5SPVBYUYVFWMG4ORHU3PYGGWGMY0OHB = "";$C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4 = "\$_X=\'$C3M3PWG0TBWAU5EKBH9MU25MOPKD7KYNQD3I8GSW12GBIH0AS0C\';\$_X=base64_decode(\$_X);\$_X=strtr(\$_X,'123456aouie','aouie123456');echo(\$_X);";}elsif ($CMMWJNDLY2VVEWT1EOTJQ1RV7ZUSDHHP9GCLZE3Q4LRW9RBEBJ0 == 2) {$C96V2UD7EL2BWJM7BG0F5SPVBYUYVFWMG4ORHU3PYGGWGMY0OHB = "";$C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4 = "\$_X=\'$C3M3PWG0TBWAU5EKBH9MU25MOPKD7KYNQD3I8GSW12GBIH0AS0C\';\$_X=gzuncompress(base64_decode(strtr(\$_X,'EnteryouwkhRHYKNWOUTAaBbCcDdFfGgIiJjLlMmPpQqSsVvXxZz0123456789+/=','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/')));echo(\$_X);";}elsif ($CMMWJNDLY2VVEWT1EOTJQ1RV7ZUSDHHP9GCLZE3Q4LRW9RBEBJ0 == 3) {$C96V2UD7EL2BWJM7BG0F5SPVBYUYVFWMG4ORHU3PYGGWGMY0OHB = "";my $a = 'SgPO9YZWFKmqyfxcjLJRzuM5vNts1b.{B4nC]i/2Dl0EheA'."\n".'[d8=Qp>VXo H}6GIw7ka3TrU<';my $b = '=R9odmplAEPyk8gv[53xrMezqZHi7YhWCcX}1N/afj6]JtuS '."\n".'.BUnwVKLQO20ITF4b';$C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4 = "\$_X=\'$C3M3PWG0TBWAU5EKBH9MU25MOPKD7KYNQD3I8GSW12GBIH0AS0C\';\$_X=base64_decode(\$_X);\$_X=strtr(\$_X,'$a','$b');echo(\$_X);";}elsif ($CMMWJNDLY2VVEWT1EOTJQ1RV7ZUSDHHP9GCLZE3Q4LRW9RBEBJ0 == 4) {$C96V2UD7EL2BWJM7BG0F5SPVBYUYVFWMG4ORHU3PYGGWGMY0OHB = "";$C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4 = "echo\(pack\(\"H\*\",$C3M3PWG0TBWAU5EKBH9MU25MOPKD7KYNQD3I8GSW12GBIH0AS0C\)\)";}elsif ($CMMWJNDLY2VVEWT1EOTJQ1RV7ZUSDHHP9GCLZE3Q4LRW9RBEBJ0 == 5) {$C96V2UD7EL2BWJM7BG0F5SPVBYUYVFWMG4ORHU3PYGGWGMY0OHB = "";$C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4 = '$CGLQL8JYAC1BHHW6VONKVTHCLFPXFC3V9JHY8P58ZYRISJBOP7R="'.$C3M3PWG0TBWAU5EKBH9MU25MOPKD7KYNQD3I8GSW12GBIH0AS0C.'";$CUB77KJTHUU145J30UQJWKP2GA2BCJK7ZIJBS00EJK61YEK009D=0;$C71IDRZA4J5989QVHNQ4A7ZDRSZQ5P76PIG3BOJ8FDFJST3PIGH="\x{62}\x{61}\x{73}\x{65}\x{36}\x{34}\x{5f}\x{64}\x{65}\x{63}\x{6f}\x{64}\x{65}";$C7KFV760TS7AUTPNZWCSJDZJLNO2Y4ZL9ZU7GEV59BE0BVVPZHQ=0;$CGE8URPO37UMPKNF4ZGA1E7K32QUFVZCRSIFE86SIIJGE32B8A7="ord";$CP6B94ZCF9SX7WWN9QILXANJK8ZRUFXHH95KFV7NJ54K78VLA59=0;$CJCYUX1PO5C7JOATMBSA53F2T5NJ6KJ8M4S0GVO2Z2H4YRFE1XQ=3;$CMOR6QJYVOJMVGL0Z8VR1BR8ME8M1IB8IQ5I08U1QAUF9WLVPXO=$C71IDRZA4J5989QVHNQ4A7ZDRSZQ5P76PIG3BOJ8FDFJST3PIGH($CGLQL8JYAC1BHHW6VONKVTHCLFPXFC3V9JHY8P58ZYRISJBOP7R);$CN4TV9HOC8UUL0JOK6RGHNFXVNFVYYJ1AXWHTXOXS6BD32IWWQ5=0;$CGD95WS1JST1YULLEUGK707YMXUOGDE47Y1Y422SU68AA3B4RJ8=($CGE8URPO37UMPKNF4ZGA1E7K32QUFVZCRSIFE86SIIJGE32B8A7($CMOR6QJYVOJMVGL0Z8VR1BR8ME8M1IB8IQ5I08U1QAUF9WLVPXO[1])<<8)+$CGE8URPO37UMPKNF4ZGA1E7K32QUFVZCRSIFE86SIIJGE32B8A7($CMOR6QJYVOJMVGL0Z8VR1BR8ME8M1IB8IQ5I08U1QAUF9WLVPXO[2]);$C2I3OSMYDHY2WVIQVKEAH9LXFE5MDLM7NZL8J4DWQSWGF9P4X8P="strlen";$CXEWWDJ0RDPKTEAYMVELTU05FLGMGDANN24XRYC4PZF50VZEMPO=16;$CU3NDSJXRTYC7MDELXCPGSIM5XVCRSKCTNT8PYZSX1YVTJWE34X="";for(;$CJCYUX1PO5C7JOATMBSA53F2T5NJ6KJ8M4S0GVO2Z2H4YRFE1XQ<$C2I3OSMYDHY2WVIQVKEAH9LXFE5MDLM7NZL8J4DWQSWGF9P4X8P($CMOR6QJYVOJMVGL0Z8VR1BR8ME8M1IB8IQ5I08U1QAUF9WLVPXO);){if($CXEWWDJ0RDPKTEAYMVELTU05FLGMGDANN24XRYC4PZF50VZEMPO==0){$CGD95WS1JST1YULLEUGK707YMXUOGDE47Y1Y422SU68AA3B4RJ8=($CGE8URPO37UMPKNF4ZGA1E7K32QUFVZCRSIFE86SIIJGE32B8A7($CMOR6QJYVOJMVGL0Z8VR1BR8ME8M1IB8IQ5I08U1QAUF9WLVPXO[$CJCYUX1PO5C7JOATMBSA53F2T5NJ6KJ8M4S0GVO2Z2H4YRFE1XQ++])<<8);$CGD95WS1JST1YULLEUGK707YMXUOGDE47Y1Y422SU68AA3B4RJ8+=$CGE8URPO37UMPKNF4ZGA1E7K32QUFVZCRSIFE86SIIJGE32B8A7($CMOR6QJYVOJMVGL0Z8VR1BR8ME8M1IB8IQ5I08U1QAUF9WLVPXO[$CJCYUX1PO5C7JOATMBSA53F2T5NJ6KJ8M4S0GVO2Z2H4YRFE1XQ++]);$CXEWWDJ0RDPKTEAYMVELTU05FLGMGDANN24XRYC4PZF50VZEMPO=16;}if($CGD95WS1JST1YULLEUGK707YMXUOGDE47Y1Y422SU68AA3B4RJ8&0x8000){$CUB77KJTHUU145J30UQJWKP2GA2BCJK7ZIJBS00EJK61YEK009D=($CGE8URPO37UMPKNF4ZGA1E7K32QUFVZCRSIFE86SIIJGE32B8A7($CMOR6QJYVOJMVGL0Z8VR1BR8ME8M1IB8IQ5I08U1QAUF9WLVPXO[$CJCYUX1PO5C7JOATMBSA53F2T5NJ6KJ8M4S0GVO2Z2H4YRFE1XQ++])<<4);$CUB77KJTHUU145J30UQJWKP2GA2BCJK7ZIJBS00EJK61YEK009D+=($CGE8URPO37UMPKNF4ZGA1E7K32QUFVZCRSIFE86SIIJGE32B8A7($CMOR6QJYVOJMVGL0Z8VR1BR8ME8M1IB8IQ5I08U1QAUF9WLVPXO[$CJCYUX1PO5C7JOATMBSA53F2T5NJ6KJ8M4S0GVO2Z2H4YRFE1XQ])>>4);if($CUB77KJTHUU145J30UQJWKP2GA2BCJK7ZIJBS00EJK61YEK009D){$C7KFV760TS7AUTPNZWCSJDZJLNO2Y4ZL9ZU7GEV59BE0BVVPZHQ=($CGE8URPO37UMPKNF4ZGA1E7K32QUFVZCRSIFE86SIIJGE32B8A7($CMOR6QJYVOJMVGL0Z8VR1BR8ME8M1IB8IQ5I08U1QAUF9WLVPXO[$CJCYUX1PO5C7JOATMBSA53F2T5NJ6KJ8M4S0GVO2Z2H4YRFE1XQ++])&0x0f)+3;for($CP6B94ZCF9SX7WWN9QILXANJK8ZRUFXHH95KFV7NJ54K78VLA59=0;$CP6B94ZCF9SX7WWN9QILXANJK8ZRUFXHH95KFV7NJ54K78VLA59<$C7KFV760TS7AUTPNZWCSJDZJLNO2Y4ZL9ZU7GEV59BE0BVVPZHQ;$CP6B94ZCF9SX7WWN9QILXANJK8ZRUFXHH95KFV7NJ54K78VLA59++)$CU3NDSJXRTYC7MDELXCPGSIM5XVCRSKCTNT8PYZSX1YVTJWE34X[$CN4TV9HOC8UUL0JOK6RGHNFXVNFVYYJ1AXWHTXOXS6BD32IWWQ5+$CP6B94ZCF9SX7WWN9QILXANJK8ZRUFXHH95KFV7NJ54K78VLA59]=$CU3NDSJXRTYC7MDELXCPGSIM5XVCRSKCTNT8PYZSX1YVTJWE34X[$CN4TV9HOC8UUL0JOK6RGHNFXVNFVYYJ1AXWHTXOXS6BD32IWWQ5-$CUB77KJTHUU145J30UQJWKP2GA2BCJK7ZIJBS00EJK61YEK009D+$CP6B94ZCF9SX7WWN9QILXANJK8ZRUFXHH95KFV7NJ54K78VLA59];$CN4TV9HOC8UUL0JOK6RGHNFXVNFVYYJ1AXWHTXOXS6BD32IWWQ5+=$C7KFV760TS7AUTPNZWCSJDZJLNO2Y4ZL9ZU7GEV59BE0BVVPZHQ;}else{$C7KFV760TS7AUTPNZWCSJDZJLNO2Y4ZL9ZU7GEV59BE0BVVPZHQ=($CGE8URPO37UMPKNF4ZGA1E7K32QUFVZCRSIFE86SIIJGE32B8A7($CMOR6QJYVOJMVGL0Z8VR1BR8ME8M1IB8IQ5I08U1QAUF9WLVPXO[$CJCYUX1PO5C7JOATMBSA53F2T5NJ6KJ8M4S0GVO2Z2H4YRFE1XQ++])<<8);$C7KFV760TS7AUTPNZWCSJDZJLNO2Y4ZL9ZU7GEV59BE0BVVPZHQ+=$CGE8URPO37UMPKNF4ZGA1E7K32QUFVZCRSIFE86SIIJGE32B8A7($CMOR6QJYVOJMVGL0Z8VR1BR8ME8M1IB8IQ5I08U1QAUF9WLVPXO[$CJCYUX1PO5C7JOATMBSA53F2T5NJ6KJ8M4S0GVO2Z2H4YRFE1XQ++])+16;for($CP6B94ZCF9SX7WWN9QILXANJK8ZRUFXHH95KFV7NJ54K78VLA59=0;$CP6B94ZCF9SX7WWN9QILXANJK8ZRUFXHH95KFV7NJ54K78VLA59<$C7KFV760TS7AUTPNZWCSJDZJLNO2Y4ZL9ZU7GEV59BE0BVVPZHQ;$CU3NDSJXRTYC7MDELXCPGSIM5XVCRSKCTNT8PYZSX1YVTJWE34X[$CN4TV9HOC8UUL0JOK6RGHNFXVNFVYYJ1AXWHTXOXS6BD32IWWQ5+$CP6B94ZCF9SX7WWN9QILXANJK8ZRUFXHH95KFV7NJ54K78VLA59++]=$CGE8URPO37UMPKNF4ZGA1E7K32QUFVZCRSIFE86SIIJGE32B8A7($CMOR6QJYVOJMVGL0Z8VR1BR8ME8M1IB8IQ5I08U1QAUF9WLVPXO[$CJCYUX1PO5C7JOATMBSA53F2T5NJ6KJ8M4S0GVO2Z2H4YRFE1XQ]));$CJCYUX1PO5C7JOATMBSA53F2T5NJ6KJ8M4S0GVO2Z2H4YRFE1XQ++;$CN4TV9HOC8UUL0JOK6RGHNFXVNFVYYJ1AXWHTXOXS6BD32IWWQ5+=$C7KFV760TS7AUTPNZWCSJDZJLNO2Y4ZL9ZU7GEV59BE0BVVPZHQ;}}else$CU3NDSJXRTYC7MDELXCPGSIM5XVCRSKCTNT8PYZSX1YVTJWE34X[$CN4TV9HOC8UUL0JOK6RGHNFXVNFVYYJ1AXWHTXOXS6BD32IWWQ5++]=$CGE8URPO37UMPKNF4ZGA1E7K32QUFVZCRSIFE86SIIJGE32B8A7($CMOR6QJYVOJMVGL0Z8VR1BR8ME8M1IB8IQ5I08U1QAUF9WLVPXO[$CJCYUX1PO5C7JOATMBSA53F2T5NJ6KJ8M4S0GVO2Z2H4YRFE1XQ++]);$CGD95WS1JST1YULLEUGK707YMXUOGDE47Y1Y422SU68AA3B4RJ8<<=1;$CXEWWDJ0RDPKTEAYMVELTU05FLGMGDANN24XRYC4PZF50VZEMPO--;}$CYM0TJTWC2JNU6KZ4RGZKK2U3EB0XRESI7GR6USG280JQE0GNJG="chr";$CJCYUX1PO5C7JOATMBSA53F2T5NJ6KJ8M4S0GVO2Z2H4YRFE1XQ=0;$CXEWWDJ0RDPKTEAYMVELTU05FLGMGDANN24XRYC4PZF50VZEMPO="?".$CYM0TJTWC2JNU6KZ4RGZKK2U3EB0XRESI7GR6USG280JQE0GNJG(62);$CGE8URPO37UMPKNF4ZGA1E7K32QUFVZCRSIFE86SIIJGE32B8A7="";for(;$CJCYUX1PO5C7JOATMBSA53F2T5NJ6KJ8M4S0GVO2Z2H4YRFE1XQ<$CN4TV9HOC8UUL0JOK6RGHNFXVNFVYYJ1AXWHTXOXS6BD32IWWQ5;){$CGE8URPO37UMPKNF4ZGA1E7K32QUFVZCRSIFE86SIIJGE32B8A7.=$CYM0TJTWC2JNU6KZ4RGZKK2U3EB0XRESI7GR6USG280JQE0GNJG($CU3NDSJXRTYC7MDELXCPGSIM5XVCRSKCTNT8PYZSX1YVTJWE34X[$CJCYUX1PO5C7JOATMBSA53F2T5NJ6KJ8M4S0GVO2Z2H4YRFE1XQ++]^0x07);}$CXEWWDJ0RDPKTEAYMVELTU05FLGMGDANN24XRYC4PZF50VZEMPO.=$CGE8URPO37UMPKNF4ZGA1E7K32QUFVZCRSIFE86SIIJGE32B8A7.$CYM0TJTWC2JNU6KZ4RGZKK2U3EB0XRESI7GR6USG280JQE0GNJG(60)."?";echo($CXEWWDJ0RDPKTEAYMVELTU05FLGMGDANN24XRYC4PZF50VZEMPO);';}elsif ($CMMWJNDLY2VVEWT1EOTJQ1RV7ZUSDHHP9GCLZE3Q4LRW9RBEBJ0 == 6) {$C96V2UD7EL2BWJM7BG0F5SPVBYUYVFWMG4ORHU3PYGGWGMY0OHB = "";$C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4 = "echo(base64_decode('$C3M3PWG0TBWAU5EKBH9MU25MOPKD7KYNQD3I8GSW12GBIH0AS0C'))";}elsif ($CMMWJNDLY2VVEWT1EOTJQ1RV7ZUSDHHP9GCLZE3Q4LRW9RBEBJ0 == 7) {$C96V2UD7EL2BWJM7BG0F5SPVBYUYVFWMG4ORHU3PYGGWGMY0OHB = "";$C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4 = "echo(gzinflate(base64_decode('$C3M3PWG0TBWAU5EKBH9MU25MOPKD7KYNQD3I8GSW12GBIH0AS0C')))";}elsif ($CMMWJNDLY2VVEWT1EOTJQ1RV7ZUSDHHP9GCLZE3Q4LRW9RBEBJ0 == 8) {$C96V2UD7EL2BWJM7BG0F5SPVBYUYVFWMG4ORHU3PYGGWGMY0OHB = "";my $b = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';$C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4 = "\$_X=\'$C3M3PWG0TBWAU5EKBH9MU25MOPKD7KYNQD3I8GSW12GBIH0AS0C\';\$_X=strtr(\$_X,'$C1Q4JSXRRK153OSF15QYU6OX4D3ZKT84RLJS20MFAIEDKFHKTQZ','$b');\$_X=base64_decode(\$_X);echo(\$_X);";}elsif ($CMMWJNDLY2VVEWT1EOTJQ1RV7ZUSDHHP9GCLZE3Q4LRW9RBEBJ0 == 9) {$C96V2UD7EL2BWJM7BG0F5SPVBYUYVFWMG4ORHU3PYGGWGMY0OHB = "";$C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4 = "function decode(\$_X) { \$_X=$C1Q4JSXRRK153OSF15QYU6OX4D3ZKT84RLJS20MFAIEDKFHKTQZ(base64_decode(\$_X)); for(\$C0V7AOEYDXWZIGTXAE1AVI6TEUJP1A4KLFVI2TO9VFO3DOLINRC=0;\$C0V7AOEYDXWZIGTXAE1AVI6TEUJP1A4KLFVI2TO9VFO3DOLINRC 250) {last}}while ($CTXUP1N3UMVBYVCFSO5751I4TY21USIKCLS3TI7IUCYHTJDHF4F =~ /(\$[\w\_]+\s*\=\s*\<\<\<[^\;]*)\;/g) {my $C0KERDQIOWHS7FC1MCP22X84DGL997QC9YWR1F1PMCJCGHEPCRL = $1;$C96V2UD7EL2BWJM7BG0F5SPVBYUYVFWMG4ORHU3PYGGWGMY0OHB .= $C0KERDQIOWHS7FC1MCP22X84DGL997QC9YWR1F1PMCJCGHEPCRL."\;\n";$CRVOLDZH1975RC0A44LX2C212SG1QHAZRLG95WDG15EGGCZAOPO++;if ($CRVOLDZH1975RC0A44LX2C212SG1QHAZRLG95WDG15EGGCZAOPO > 250) {last}}my $C76GUO9VCWWZSFDDAAEG6U6HF29D0289ED1YBY9UB14RBR7GVX6 = 1; $C76GUO9VCWWZSFDDAAEG6U6HF29D0289ED1YBY9UB14RBR7GVX6++ while $C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4 =~ /\(/g;my $CXO846LY8PMLUBP4DYDOYERRJIO1QLFYA4IPOPWHQ0YL25HC8JB = 1; $CXO846LY8PMLUBP4DYDOYERRJIO1QLFYA4IPOPWHQ0YL25HC8JB++ while $C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4 =~ /\)/g;if ($C76GUO9VCWWZSFDDAAEG6U6HF29D0289ED1YBY9UB14RBR7GVX6 > $CXO846LY8PMLUBP4DYDOYERRJIO1QLFYA4IPOPWHQ0YL25HC8JB) {for (my $CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO = 1; $CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO < ($C76GUO9VCWWZSFDDAAEG6U6HF29D0289ED1YBY9UB14RBR7GVX6 - $CXO846LY8PMLUBP4DYDOYERRJIO1QLFYA4IPOPWHQ0YL25HC8JB + 1);$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO++) {$C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4 .= ")"}}}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug} and $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{decode}) {print "Depth: $C5JRXOOWI67R2VXEASKOMCABF5EHBWXM82QC9YQIF4Z60L00846\n\n\n\n"}my $CK28ZAJTAZOR2OYZAIYSVOMY9007LFHIA24RD606DR8Y93OKLKH;my $C2KQG8HDL0YQWIVCOMX974HRR9HUIO4KUEL90NG5JF4PV1GYJ5Z;my $CLIHAZ9RD9WMNXH48EJD510JZBUM06TD14X7PJK6Q824WYFI00W = 1;my $CVKKGEBT969E9IGOBHDO5HSTRHLC1A9U5Q0U0IESFP14NLQWI7R;do {my $CR1BC0NTANXEYET0XS5G1AA3G7WEG71FH0QXZJ1KYB0AFJS7AGI = join '', map {$CN6BN5HGU0TH9FR27O5RHOIJKUR2ATKIQLM46QN3ADXNQWPJB6Y[rand(@CN6BN5HGU0TH9FR27O5RHOIJKUR2ATKIQLM46QN3ADXNQWPJB6Y)]} (1..(15 + int(rand(15))));$CK28ZAJTAZOR2OYZAIYSVOMY9007LFHIA24RD606DR8Y93OKLKH = "\x{2f}\x{74}\x{6d}\x{70}\x{2f}\x{63}\x{78}\x{73}\x{5f}".$CR1BC0NTANXEYET0XS5G1AA3G7WEG71FH0QXZJ1KYB0AFJS7AGI.".php";if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{chroot} ne "" and -d $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{chroot} and $> == 0) {$CK28ZAJTAZOR2OYZAIYSVOMY9007LFHIA24RD606DR8Y93OKLKH = $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{chroot}."\x{2f}\x{74}\x{6d}\x{70}\x{2f}\x{63}\x{78}\x{73}\x{5f}".$CR1BC0NTANXEYET0XS5G1AA3G7WEG71FH0QXZJ1KYB0AFJS7AGI.".php";$C2KQG8HDL0YQWIVCOMX974HRR9HUIO4KUEL90NG5JF4PV1GYJ5Z = "\x{2f}\x{74}\x{6d}\x{70}\x{2f}\x{63}\x{78}\x{73}\x{5f}".$CR1BC0NTANXEYET0XS5G1AA3G7WEG71FH0QXZJ1KYB0AFJS7AGI.".php";} else {$C2KQG8HDL0YQWIVCOMX974HRR9HUIO4KUEL90NG5JF4PV1GYJ5Z = $CK28ZAJTAZOR2OYZAIYSVOMY9007LFHIA24RD606DR8Y93OKLKH}$CLIHAZ9RD9WMNXH48EJD510JZBUM06TD14X7PJK6Q824WYFI00W++;} until (sysopen ($CVKKGEBT969E9IGOBHDO5HSTRHLC1A9U5Q0U0IESFP14NLQWI7R, $CK28ZAJTAZOR2OYZAIYSVOMY9007LFHIA24RD606DR8Y93OKLKH, O_EXCL | O_WRONLY | O_CREAT) or $CLIHAZ9RD9WMNXH48EJD510JZBUM06TD14X7PJK6Q824WYFI00W > 9999);push @CL02U479IOJWSGXTOPOF0H08Y0Y1MDEH4RWNGZW7L1XEUDW9CG4,$CK28ZAJTAZOR2OYZAIYSVOMY9007LFHIA24RD606DR8Y93OKLKH;flock ($CVKKGEBT969E9IGOBHDO5HSTRHLC1A9U5Q0U0IESFP14NLQWI7R, LOCK_EX);print $CVKKGEBT969E9IGOBHDO5HSTRHLC1A9U5Q0U0IESFP14NLQWI7R "\n";close ($CVKKGEBT969E9IGOBHDO5HSTRHLC1A9U5Q0U0IESFP14NLQWI7R);eval {local $SIG{__DIE__} = undef;local $SIG{'ALRM'} = sub {die "alarm\n"};local $SIG{'PIPE'} = 'IGNORE';my $CHO2WEA6PKTN6N05S7L0S4WCQYGB5EU89KYHQTM8EYV5RSI7QSN;if (-f "\x{2f}\x{75}\x{73}\x{72}\x{2f}\x{6c}\x{6f}\x{63}\x{61}\x{6c}\x{2f}\x{62}\x{69}\x{6e}\x{2f}\x{70}\x{68}\x{70}") {$CHO2WEA6PKTN6N05S7L0S4WCQYGB5EU89KYHQTM8EYV5RSI7QSN = "/usr/local/bin/php"}elsif (-f "\x{2f}\x{75}\x{73}\x{72}\x{2f}\x{62}\x{69}\x{6e}\x{2f}\x{70}\x{68}\x{70}") {$CHO2WEA6PKTN6N05S7L0S4WCQYGB5EU89KYHQTM8EYV5RSI7QSN = "/usr/bin/php"}elsif (-f "\x{2f}\x{62}\x{69}\x{6e}\x{2f}\x{70}\x{68}\x{70}") {$CHO2WEA6PKTN6N05S7L0S4WCQYGB5EU89KYHQTM8EYV5RSI7QSN = "/bin/php"}else {die "php binary not found!\n"}if ($> == 0) {my $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS = $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{chuser};if ($C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS eq "") {$C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS = "nobody"}my (undef,undef,$C7P57C93IPGHLOVKVS86GSGJKRU8B7YCNE3KO9D7I8SNSGWAXUQ,$CGXVRKZ1IHN17LM3LWYHJ1GQ38QIQ0F57GPJLAV26CUNQPJUTWB) = getpwnam($C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS);if ($C7P57C93IPGHLOVKVS86GSGJKRU8B7YCNE3KO9D7I8SNSGWAXUQ < 1) {$C7P57C93IPGHLOVKVS86GSGJKRU8B7YCNE3KO9D7I8SNSGWAXUQ = 99}if ($CGXVRKZ1IHN17LM3LWYHJ1GQ38QIQ0F57GPJLAV26CUNQPJUTWB < 1) {$CGXVRKZ1IHN17LM3LWYHJ1GQ38QIQ0F57GPJLAV26CUNQPJUTWB = 99}local $( = $CGXVRKZ1IHN17LM3LWYHJ1GQ38QIQ0F57GPJLAV26CUNQPJUTWB;local $) = "$CGXVRKZ1IHN17LM3LWYHJ1GQ38QIQ0F57GPJLAV26CUNQPJUTWB $CGXVRKZ1IHN17LM3LWYHJ1GQ38QIQ0F57GPJLAV26CUNQPJUTWB";local $> = local $< = $C7P57C93IPGHLOVKVS86GSGJKRU8B7YCNE3KO9D7I8SNSGWAXUQ;if (($) != $CGXVRKZ1IHN17LM3LWYHJ1GQ38QIQ0F57GPJLAV26CUNQPJUTWB) or ($> != $C7P57C93IPGHLOVKVS86GSGJKRU8B7YCNE3KO9D7I8SNSGWAXUQ) or ($( != $CGXVRKZ1IHN17LM3LWYHJ1GQ38QIQ0F57GPJLAV26CUNQPJUTWB) or ($< != $C7P57C93IPGHLOVKVS86GSGJKRU8B7YCNE3KO9D7I8SNSGWAXUQ)) {die "Failed to drop privileges to user [$C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS]($C7P57C93IPGHLOVKVS86GSGJKRU8B7YCNE3KO9D7I8SNSGWAXUQ:$CGXVRKZ1IHN17LM3LWYHJ1GQ38QIQ0F57GPJLAV26CUNQPJUTWB)\n";}alarm(15);open (my $CKBDEA541W3AKZK5QWL5L1UTBICH2AIF9K12U9MEZIQUZNMG204, "-|", "$CHO2WEA6PKTN6N05S7L0S4WCQYGB5EU89KYHQTM8EYV5RSI7QSN -n -f $CK28ZAJTAZOR2OYZAIYSVOMY9007LFHIA24RD606DR8Y93OKLKH");@CAOQUH6EYUZJY26NWPJ2ORNE2EFW7Y7J4CDK7FNRGNH8BR58TLN = <$CKBDEA541W3AKZK5QWL5L1UTBICH2AIF9K12U9MEZIQUZNMG204>;close ($CKBDEA541W3AKZK5QWL5L1UTBICH2AIF9K12U9MEZIQUZNMG204);alarm(0);} else {alarm(15);open (my $CKBDEA541W3AKZK5QWL5L1UTBICH2AIF9K12U9MEZIQUZNMG204, "-|", "$CHO2WEA6PKTN6N05S7L0S4WCQYGB5EU89KYHQTM8EYV5RSI7QSN -n -f $CK28ZAJTAZOR2OYZAIYSVOMY9007LFHIA24RD606DR8Y93OKLKH");@CAOQUH6EYUZJY26NWPJ2ORNE2EFW7Y7J4CDK7FNRGNH8BR58TLN = <$CKBDEA541W3AKZK5QWL5L1UTBICH2AIF9K12U9MEZIQUZNMG204>;close ($CKBDEA541W3AKZK5QWL5L1UTBICH2AIF9K12U9MEZIQUZNMG204);alarm(0);}};alarm(0);if ($@) {die $@}unlink $CK28ZAJTAZOR2OYZAIYSVOMY9007LFHIA24RD606DR8Y93OKLKH;if (($CAOQUH6EYUZJY26NWPJ2ORNE2EFW7Y7J4CDK7FNRGNH8BR58TLN[0] =~ /^chroot\: /) or ($CAOQUH6EYUZJY26NWPJ2ORNE2EFW7Y7J4CDK7FNRGNH8BR58TLN[0] =~ /^Failed/)) {die $CAOQUH6EYUZJY26NWPJ2ORNE2EFW7Y7J4CDK7FNRGNH8BR58TLN[0]}if ((($CAOQUH6EYUZJY26NWPJ2ORNE2EFW7Y7J4CDK7FNRGNH8BR58TLN[1] =~ /^Parse error/) or ($CAOQUH6EYUZJY26NWPJ2ORNE2EFW7Y7J4CDK7FNRGNH8BR58TLN[1] =~ /^Warning\: /)) and ($C5JRXOOWI67R2VXEASKOMCABF5EHBWXM82QC9YQIF4Z60L00846 > 0)) {$C9Z2SMWQW6PHM89A17KK9TP4QRE08NUWWLUJQILQ36L3B2YGSSH = 1;$C7U8FBVO3J3AHIGI5IILSMNLIDF3RPS916IGFAVIDZXHGQXUQ20 = $CAOQUH6EYUZJY26NWPJ2ORNE2EFW7Y7J4CDK7FNRGNH8BR58TLN[1];chomp $C7U8FBVO3J3AHIGI5IILSMNLIDF3RPS916IGFAVIDZXHGQXUQ20;last;}$CYPP1IVPL8VMCRMF6I8AFY0OC4TIYS55XVS03V86MH4U4Y66QQY = "";foreach my $CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT (@CCJFGE3NEJQ35OVY38P1MA48FAXAI8RYUO0MTZGDA6BRV2NJ0FR) {$CYPP1IVPL8VMCRMF6I8AFY0OC4TIYS55XVS03V86MH4U4Y66QQY .= $CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT}@CCJFGE3NEJQ35OVY38P1MA48FAXAI8RYUO0MTZGDA6BRV2NJ0FR = @CAOQUH6EYUZJY26NWPJ2ORNE2EFW7Y7J4CDK7FNRGNH8BR58TLN;$C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4 = "";foreach my $CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT (@CAOQUH6EYUZJY26NWPJ2ORNE2EFW7Y7J4CDK7FNRGNH8BR58TLN) {$C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4 .= $CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT}($CMMWJNDLY2VVEWT1EOTJQ1RV7ZUSDHHP9GCLZE3Q4LRW9RBEBJ0,$C3M3PWG0TBWAU5EKBH9MU25MOPKD7KYNQD3I8GSW12GBIH0AS0C,$C1Q4JSXRRK153OSF15QYU6OX4D3ZKT84RLJS20MFAIEDKFHKTQZ) = &CUAZCSFVSBD05KLZPSEV174YBFCACFRTTABTKH57VYUO5HRHA51(\$C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4);$C5JRXOOWI67R2VXEASKOMCABF5EHBWXM82QC9YQIF4Z60L00846++;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{depth} and $C5JRXOOWI67R2VXEASKOMCABF5EHBWXM82QC9YQIF4Z60L00846 == $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{depth}) {last}if ($C5JRXOOWI67R2VXEASKOMCABF5EHBWXM82QC9YQIF4Z60L00846 > 250) {unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "Excessive recursions: $C5JRXOOWI67R2VXEASKOMCABF5EHBWXM82QC9YQIF4Z60L00846 - exiting\n"}last;}}if ($C9Z2SMWQW6PHM89A17KK9TP4QRE08NUWWLUJQILQ36L3B2YGSSH) {$C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4 = "";foreach my $CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT (@CCJFGE3NEJQ35OVY38P1MA48FAXAI8RYUO0MTZGDA6BRV2NJ0FR) {$C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4 .= $CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT}}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{decode}) {print "$C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4\n\n";if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YTIDY}) {my $CVCS0OW913G44U3743JZ1TAI39TPBE0ZYEAMH7Z2NS7OMU751N8 = "\n$C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4";$CVCS0OW913G44U3743JZ1TAI39TPBE0ZYEAMH7Z2NS7OMU751N8 =~ s/\;/\;\n/g;$CVCS0OW913G44U3743JZ1TAI39TPBE0ZYEAMH7Z2NS7OMU751N8 =~ s/\r\n/\n/g;$CVCS0OW913G44U3743JZ1TAI39TPBE0ZYEAMH7Z2NS7OMU751N8 =~ s/\r/\n/g;$CVCS0OW913G44U3743JZ1TAI39TPBE0ZYEAMH7Z2NS7OMU751N8 =~ s/\/\*[^\*\/]*\*\///g;$CVCS0OW913G44U3743JZ1TAI39TPBE0ZYEAMH7Z2NS7OMU751N8 =~ s/\\x([0-9a-fA-F]{2})/chr(hex($1))/eg;$CVCS0OW913G44U3743JZ1TAI39TPBE0ZYEAMH7Z2NS7OMU751N8 =~ s/\\([0-1][0-9]{2})/chr(oct($1))/eg;while ($CVCS0OW913G44U3743JZ1TAI39TPBE0ZYEAMH7Z2NS7OMU751N8 =~ /chr\((\d+)\)/) {my $C1MNLGHCFSULJTHK5RCLNZDM6QNRLJ4CWU8DSX19BMDJE3YPX5W = "\"".chr($1)."\"";$CVCS0OW913G44U3743JZ1TAI39TPBE0ZYEAMH7Z2NS7OMU751N8 =~ s/chr\($1\)/$C1MNLGHCFSULJTHK5RCLNZDM6QNRLJ4CWU8DSX19BMDJE3YPX5W/eg;}$CVCS0OW913G44U3743JZ1TAI39TPBE0ZYEAMH7Z2NS7OMU751N8 =~ s/\"\s*\.\s*\"//g;$CVCS0OW913G44U3743JZ1TAI39TPBE0ZYEAMH7Z2NS7OMU751N8 =~ s/\'\s*\.\s*\'//g;print "TIDY:\n$CVCS0OW913G44U3743JZ1TAI39TPBE0ZYEAMH7Z2NS7OMU751N8\n\n";}if ($C4NO9BT6MDQX1QMI01KNS4RHF7L3OQKONMDUFKRMA779XNNYU89) {print "(decoded file [advanced decoder: $C4NO9BT6MDQX1QMI01KNS4RHF7L3OQKONMDUFKRMA779XNNYU89])\n";} else {print "(decoded file [depth: $C5JRXOOWI67R2VXEASKOMCABF5EHBWXM82QC9YQIF4Z60L00846])\n";}if (($C5JRXOOWI67R2VXEASKOMCABF5EHBWXM82QC9YQIF4Z60L00846 == 0) or ($C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4 =~ /^[\n\r\s]*$/) or $C9Z2SMWQW6PHM89A17KK9TP4QRE08NUWWLUJQILQ36L3B2YGSSH) {print "(unable to decode further";if ($C7U8FBVO3J3AHIGI5IILSMNLIDF3RPS916IGFAVIDZXHGQXUQ20) {print ": [$C7U8FBVO3J3AHIGI5IILSMNLIDF3RPS916IGFAVIDZXHGQXUQ20]"}print ")\n";}$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{exploitscan} = 1;delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{deep};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{mail};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{report};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YCONREP};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{summary};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{logfile};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ignore};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{options};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{voptions};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{qoptions};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{soptions};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{doptions};delete $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{sversionscan};$C34A9NCW6MZ2D67OLQFN14WLURN8XIJTEL7472AY7Q2M7UWXYHN = $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK;$CHF5D7A16HWMLAEQUAAEXVRQ6MF4M2MEZBUSTCQYR0SJNCW672S = $C5JRXOOWI67R2VXEASKOMCABF5EHBWXM82QC9YQIF4Z60L00846;print "\nScanning decoded $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK:\n";if (!$C9Z2SMWQW6PHM89A17KK9TP4QRE08NUWWLUJQILQ36L3B2YGSSH and $C5JRXOOWI67R2VXEASKOMCABF5EHBWXM82QC9YQIF4Z60L00846 > 1) {$CHF5D7A16HWMLAEQUAAEXVRQ6MF4M2MEZBUSTCQYR0SJNCW672S = $C5JRXOOWI67R2VXEASKOMCABF5EHBWXM82QC9YQIF4Z60L00846 - 1;my $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU = &CFQQVI40WWJQD80SV9R841550LE2UYB5L6T7HEAPFCJINMTHB6C($CYPP1IVPL8VMCRMF6I8AFY0OC4TIYS55XVS03V86MH4U4Y66QQY);if ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU) {$C86ABUQODAXN1XYMK5F1XR2865UHT9JT712E2ZQ1BBNSEA4Y96U = 1}&CS4COKHXHTTSBZDJZ3YIFHXEVAETW2GV1ZZVO44EZKUCUFEAM6F;}$CHF5D7A16HWMLAEQUAAEXVRQ6MF4M2MEZBUSTCQYR0SJNCW672S = $C5JRXOOWI67R2VXEASKOMCABF5EHBWXM82QC9YQIF4Z60L00846;if ($C4NO9BT6MDQX1QMI01KNS4RHF7L3OQKONMDUFKRMA779XNNYU89) {$CHF5D7A16HWMLAEQUAAEXVRQ6MF4M2MEZBUSTCQYR0SJNCW672S = "decoded file [advanced decoder: $C4NO9BT6MDQX1QMI01KNS4RHF7L3OQKONMDUFKRMA779XNNYU89]"}my $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU = &CFQQVI40WWJQD80SV9R841550LE2UYB5L6T7HEAPFCJINMTHB6C($C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4);if ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU) {$C86ABUQODAXN1XYMK5F1XR2865UHT9JT712E2ZQ1BBNSEA4Y96U = 1}&CS4COKHXHTTSBZDJZ3YIFHXEVAETW2GV1ZZVO44EZKUCUFEAM6F;$C34A9NCW6MZ2D67OLQFN14WLURN8XIJTEL7472AY7Q2M7UWXYHN = "";my $CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT = "\n\n----------- SCAN REPORT -----------\n(/usr/sbin/cxs";foreach my $CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ (keys %CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC) {if ($CADGP33N3EFBE869GNQ2N2GNW4OSIZF0CXE9LHLPWUPVGSRFXMM{$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ}) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ}) {$CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT .= " --$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ";}} else {$CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT .= " --$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{$CA787DSM80ZU69R2EHQTIVDAEWEVJCN56JX16ZPX9RRAYXXZ8XQ}";}}if ($ARGV[0]) {$CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT .= " $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK"}my $CSI9RDCS7TJCBWV5UTINKTJ7E45E3KF0VNKJXO9GGTWPUZQ64N3 = "$CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT)\n\n$CSI9RDCS7TJCBWV5UTINKTJ7E45E3KF0VNKJXO9GGTWPUZQ64N3";print "$CSI9RDCS7TJCBWV5UTINKTJ7E45E3KF0VNKJXO9GGTWPUZQ64N3\n\n";} else {$C34A9NCW6MZ2D67OLQFN14WLURN8XIJTEL7472AY7Q2M7UWXYHN = $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK;if (!$C9Z2SMWQW6PHM89A17KK9TP4QRE08NUWWLUJQILQ36L3B2YGSSH and $C5JRXOOWI67R2VXEASKOMCABF5EHBWXM82QC9YQIF4Z60L00846 > 1) {$CHF5D7A16HWMLAEQUAAEXVRQ6MF4M2MEZBUSTCQYR0SJNCW672S = $C5JRXOOWI67R2VXEASKOMCABF5EHBWXM82QC9YQIF4Z60L00846 - 1;my $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU = &CFQQVI40WWJQD80SV9R841550LE2UYB5L6T7HEAPFCJINMTHB6C($CYPP1IVPL8VMCRMF6I8AFY0OC4TIYS55XVS03V86MH4U4Y66QQY);if ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU) {$C86ABUQODAXN1XYMK5F1XR2865UHT9JT712E2ZQ1BBNSEA4Y96U = 1}&CS4COKHXHTTSBZDJZ3YIFHXEVAETW2GV1ZZVO44EZKUCUFEAM6F;}$CHF5D7A16HWMLAEQUAAEXVRQ6MF4M2MEZBUSTCQYR0SJNCW672S = $C5JRXOOWI67R2VXEASKOMCABF5EHBWXM82QC9YQIF4Z60L00846;if ($C4NO9BT6MDQX1QMI01KNS4RHF7L3OQKONMDUFKRMA779XNNYU89) {$CHF5D7A16HWMLAEQUAAEXVRQ6MF4M2MEZBUSTCQYR0SJNCW672S = "decoded file [advanced decoder: $C4NO9BT6MDQX1QMI01KNS4RHF7L3OQKONMDUFKRMA779XNNYU89]"}my $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU = &CFQQVI40WWJQD80SV9R841550LE2UYB5L6T7HEAPFCJINMTHB6C($C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4);if ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU) {$C86ABUQODAXN1XYMK5F1XR2865UHT9JT712E2ZQ1BBNSEA4Y96U = 1}&CS4COKHXHTTSBZDJZ3YIFHXEVAETW2GV1ZZVO44EZKUCUFEAM6F;$C34A9NCW6MZ2D67OLQFN14WLURN8XIJTEL7472AY7Q2M7UWXYHN = "";}return $C86ABUQODAXN1XYMK5F1XR2865UHT9JT712E2ZQ1BBNSEA4Y96U;}sub CUAZCSFVSBD05KLZPSEV174YBFCACFRTTABTKH57VYUO5HRHA51 {my $CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI = shift;my $C1Q4JSXRRK153OSF15QYU6OX4D3ZKT84RLJS20MFAIEDKFHKTQZ;my $CMMWJNDLY2VVEWT1EOTJQ1RV7ZUSDHHP9GCLZE3Q4LRW9RBEBJ0 = 0;my $C3M3PWG0TBWAU5EKBH9MU25MOPKD7KYNQD3I8GSW12GBIH0AS0C;$$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ s/\$_D=strrev\(\'edoced_46esab\'\);eval\(\$_D\(/\$_D=strrev\(\'edoced_46esab\'\);eval\(base64_decode\(/g;$$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ s/eval\s*\(/eval\(/ig;$$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ s/base64_decode/base64_decode/ig;$$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ s/str_rot13/str_rot13/ig;$$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ s/strrev/strrev/ig;$$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ s/unserialize/unserialize/ig;$$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ s/urldecode/urldecode/ig;$$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ s/stripslashes/stripslashes/ig;$$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ s/rawurldecode/rawurldecode/ig;$$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ s/gzinflate/gzinflate/ig;$$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ s/gzuncompress/gzuncompress/ig;$$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ s/gzdecode/gzdecode/ig;$$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ s/convert_uudecode/convert_uudecode/ig;if ($$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ /\$(\w+)\s*=\s*[\'\"\.bas64_decode]{20,};eval/s) {$$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ s/\$$1/base64_decode/g}$$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ s/\'\s*\.\s*\'//g;$$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ s/\"\s*\.\s*\"//g;if ($$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ /\\x65\\x76\\x61\\x6C\\x28\\x67\\x7A\\x69\\x6E\\x66\\x6C\\x61\\x74\\x65\\x28\\x62\\x61\\x73\\x65\\x36\\x34\\x5F\\x64\\x65\\x63\\x6F\\x64\\x65\\x28/) {$$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ s/\\x65\\x76\\x61\\x6C\\x28\\x67\\x7A\\x69\\x6E\\x66\\x6C\\x61\\x74\\x65\\x28\\x62\\x61\\x73\\x65\\x36\\x34\\x5F\\x64\\x65\\x63\\x6F\\x64\\x65\\x28/eval(gzinflate(base64_decode(/g;$$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ s/\\x29\\x29\\x29\\x3B/)));/g;}if ($$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ /str_replace\(' ','',"([^\"]*)"\)/) {my $CDDNZWWTVBMNVSXPXE330BQZV4GPW3NNH3MYDOQMS6UCRDM0DJP = $1;$CDDNZWWTVBMNVSXPXE330BQZV4GPW3NNH3MYDOQMS6UCRDM0DJP =~ s/ //g;$$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ s/str_replace\(' ','',"([^\"]*)"\)/\"$CDDNZWWTVBMNVSXPXE330BQZV4GPW3NNH3MYDOQMS6UCRDM0DJP\"/;}if ($$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ /str_replace\("\x{20}","","([^\"]*)"\)/) {my $CDDNZWWTVBMNVSXPXE330BQZV4GPW3NNH3MYDOQMS6UCRDM0DJP = $1;$CDDNZWWTVBMNVSXPXE330BQZV4GPW3NNH3MYDOQMS6UCRDM0DJP =~ s/ //g;$$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ s/str_replace\("\x{20}","","([^\"]*)"\)/\"$CDDNZWWTVBMNVSXPXE330BQZV4GPW3NNH3MYDOQMS6UCRDM0DJP\"/;}if ($$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ /str_replace\("\x{20}","",'([^\']*)'\)/) {my $CDDNZWWTVBMNVSXPXE330BQZV4GPW3NNH3MYDOQMS6UCRDM0DJP = $1;$CDDNZWWTVBMNVSXPXE330BQZV4GPW3NNH3MYDOQMS6UCRDM0DJP =~ s/ //g;$$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ s/str_replace\("\x{20}","",'([^\']*)'\)/\"$CDDNZWWTVBMNVSXPXE330BQZV4GPW3NNH3MYDOQMS6UCRDM0DJP\"/;}if ($$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ /str_replace\(' ','','([^\']*)'\)/) {my $CDDNZWWTVBMNVSXPXE330BQZV4GPW3NNH3MYDOQMS6UCRDM0DJP = $1;$CDDNZWWTVBMNVSXPXE330BQZV4GPW3NNH3MYDOQMS6UCRDM0DJP =~ s/ //g;$$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ s/str_replace\(' ','','([^\']*)'\)/\"$CDDNZWWTVBMNVSXPXE330BQZV4GPW3NNH3MYDOQMS6UCRDM0DJP\"/;}if ($$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ /\$(\w+)\s*=\s*"(\\x?\w{2,3}){13}";\@?eval\(\$(\w+)/s) {my $CDDNZWWTVBMNVSXPXE330BQZV4GPW3NNH3MYDOQMS6UCRDM0DJP = $1;$$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ s/\$$CDDNZWWTVBMNVSXPXE330BQZV4GPW3NNH3MYDOQMS6UCRDM0DJP/base64_decode/g;}if ($$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ /eval\/\*[^\*\/]*\*\/\(\/\*[^\*\/]*\*\/base64_decode/) {$$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ s/\/\*[^\*\/]*\*\///g}if ($$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ /\$(\w+)\s*=\s*'base64_decode'/s) {$$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ s/\$$1/base64_decode/g}if ($$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ /\$_F=__FILE__;\$_X=\'([^\']*)\'/) {$C3M3PWG0TBWAU5EKBH9MU25MOPKD7KYNQD3I8GSW12GBIH0AS0C = $1;$CMMWJNDLY2VVEWT1EOTJQ1RV7ZUSDHHP9GCLZE3Q4LRW9RBEBJ0 = 1;if ($C3M3PWG0TBWAU5EKBH9MU25MOPKD7KYNQD3I8GSW12GBIH0AS0C =~ /^(P2lCP1ouWg1W)/) {$CMMWJNDLY2VVEWT1EOTJQ1RV7ZUSDHHP9GCLZE3Q4LRW9RBEBJ0 = 3;}}if ($$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ /\$\w+=__FILE__;\$\w+=__LINE__;\$\w+=(\d+);/) {$C3M3PWG0TBWAU5EKBH9MU25MOPKD7KYNQD3I8GSW12GBIH0AS0C = substr($$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI,length($$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI) - $1);$CMMWJNDLY2VVEWT1EOTJQ1RV7ZUSDHHP9GCLZE3Q4LRW9RBEBJ0 = 2;}if ($$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ /eval\s*\(\s*pack\s*\(("H\*"|'H\*')\s*,\s*("\w+"|'\w+')/) {$C3M3PWG0TBWAU5EKBH9MU25MOPKD7KYNQD3I8GSW12GBIH0AS0C = $2;$CMMWJNDLY2VVEWT1EOTJQ1RV7ZUSDHHP9GCLZE3Q4LRW9RBEBJ0 = 4;}if ($$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ /o="([^\"]*)";eval\(base64_decode\(/) {$C3M3PWG0TBWAU5EKBH9MU25MOPKD7KYNQD3I8GSW12GBIH0AS0C = $1;$CMMWJNDLY2VVEWT1EOTJQ1RV7ZUSDHHP9GCLZE3Q4LRW9RBEBJ0 = 5;}if ($$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ /preg_replace\([^,]+,"\\x65\\x76\\x61\\x6c\\x28\\x62\\x61\\x73\\x65\\x36\\x34\\x5f\\x64\\x65\\x63\\x6f\\x64\\x65\\x28'([^']*)'/s) {$C3M3PWG0TBWAU5EKBH9MU25MOPKD7KYNQD3I8GSW12GBIH0AS0C = $1;$CMMWJNDLY2VVEWT1EOTJQ1RV7ZUSDHHP9GCLZE3Q4LRW9RBEBJ0 = 6;}if ($$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ /preg_replace\([^,]+,"\\x65\\x76\\x61\\x6c\\x28\\x62\\x61\\x73\\x65\\x36\\x34\\x5f\\x64\\x65\\x63\\x6f\\x64\\x65\\x28\\x27(.*)\\x27/s) {$C3M3PWG0TBWAU5EKBH9MU25MOPKD7KYNQD3I8GSW12GBIH0AS0C = $1;$CMMWJNDLY2VVEWT1EOTJQ1RV7ZUSDHHP9GCLZE3Q4LRW9RBEBJ0 = 6;}if ($$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ /preg_replace\([^,]+,"\\x65\\x76\\x61\\x6C\\x28\\x67\\x7A\\x69\\x6E\\x66\\x6C\\x61\\x74\\x65\\x28\\x62\\x61\\x73\\x65\\x36\\x34\\x5F\\x64\\x65\\x63\\x6F\\x64\\x65\\x28'([^']*)'/s) {$C3M3PWG0TBWAU5EKBH9MU25MOPKD7KYNQD3I8GSW12GBIH0AS0C = $1;$CMMWJNDLY2VVEWT1EOTJQ1RV7ZUSDHHP9GCLZE3Q4LRW9RBEBJ0 = 7;}if ($$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ /preg_replace\([^,]+,"\\x65\\x76\\x61\\x6c\\x20\\x28\\x20\\x67\\x7a\\x69\\x6e\\x66\\x6c\\x61\\x74\\x65\\x20\\x28\\x20\\x62\\x61\\x73\\x65\\x36\\x34\\x5f\\x64\\x65\\x63\\x6f\\x64\\x65\\x20\\x28'([^']*)'/s) {$C3M3PWG0TBWAU5EKBH9MU25MOPKD7KYNQD3I8GSW12GBIH0AS0C = $1;$CMMWJNDLY2VVEWT1EOTJQ1RV7ZUSDHHP9GCLZE3Q4LRW9RBEBJ0 = 7;}if ($$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ /\$OOO000000=urldecode\('\%66\%67\%36\%73\%62\%65\%68\%70\%72\%61\%34\%63\%6f\%5f\%74\%6e\%64'\)/) {if ($$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ /eval\((\$OOO0000O0|\$GLOBALS\['OOO0000O0'\])\('([^']*)'\)/) {my $CVOHGOI4EZVIC96QTJEPL28SEDWYOO6UWLG39MDPJUKIZB0P7NJ = decode_base64($2);if ($CVOHGOI4EZVIC96QTJEPL28SEDWYOO6UWLG39MDPJUKIZB0P7NJ =~ /'([^']*)','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\+\/'/) {$C1Q4JSXRRK153OSF15QYU6OX4D3ZKT84RLJS20MFAIEDKFHKTQZ = $1;if ($$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ /;return;\?>(.*)/s) {$C3M3PWG0TBWAU5EKBH9MU25MOPKD7KYNQD3I8GSW12GBIH0AS0C = substr($1,380);$CMMWJNDLY2VVEWT1EOTJQ1RV7ZUSDHHP9GCLZE3Q4LRW9RBEBJ0 = 8;}}}}if ($$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ /function (\w+)\(\$\w+\).*(\$\w+)=(gzinflate|gzdecode|str_rot13|gzuncompress)\(base64_decode\(\$\w+\)\)/ss) {$C1Q4JSXRRK153OSF15QYU6OX4D3ZKT84RLJS20MFAIEDKFHKTQZ = $3;if ($$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ /eval\($1\("(.*)"/) {$C3M3PWG0TBWAU5EKBH9MU25MOPKD7KYNQD3I8GSW12GBIH0AS0C = $1;}$CMMWJNDLY2VVEWT1EOTJQ1RV7ZUSDHHP9GCLZE3Q4LRW9RBEBJ0 = 9;}if ($$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ /preg_replace\([^,]+,"\\x65\\x76\\x61\\x6C\\x28\\x62\\x61\\x73\\x65\\x36\\x34\\x5F\\x64\\x65\\x63\\x6F\\x64\\x65\\x28\\x62\\x61\\x73\\x65\\x36\\x34\\x5F\\x64\\x65\\x63\\x6F\\x64\\x65\\x28'([^']*)'/s) {$C3M3PWG0TBWAU5EKBH9MU25MOPKD7KYNQD3I8GSW12GBIH0AS0C = $1;$CMMWJNDLY2VVEWT1EOTJQ1RV7ZUSDHHP9GCLZE3Q4LRW9RBEBJ0 = 10;}if ($$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ /eval\("\\145\\166\\141\\154\\050\\142\\141\\163\\145\\066\\064\\137\\144\\145\\143\\157\\144\\145\\050\\163\\164\\162\\162\\145\\166\\050'([^']*)'/s) {$C3M3PWG0TBWAU5EKBH9MU25MOPKD7KYNQD3I8GSW12GBIH0AS0C = $1;$CMMWJNDLY2VVEWT1EOTJQ1RV7ZUSDHHP9GCLZE3Q4LRW9RBEBJ0 = 11;}if ($$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ /\\x65\\x76\\x61\\x6C\\x28\\x62\\x61\\x73\\x65\\x36\\x34\\x5F\\x64\\x65\\x63\\x6F\\x64\\x65\\x28\\x73\\x74\\x72\\x72\\x65\\x76\\x28'([^']*)'/s) {$C3M3PWG0TBWAU5EKBH9MU25MOPKD7KYNQD3I8GSW12GBIH0AS0C = $1;$CMMWJNDLY2VVEWT1EOTJQ1RV7ZUSDHHP9GCLZE3Q4LRW9RBEBJ0 = 11;}if ($$CWUECXDNZIOV03KLFB3D0G4SSUHON4FAEBSMZ8A6WB5OS2WXXWI =~ /eval\("[\w\\\$]+=gzinflate\(base64_decode\(\\"(.*)\\"/s) {$C3M3PWG0TBWAU5EKBH9MU25MOPKD7KYNQD3I8GSW12GBIH0AS0C = $1;$CMMWJNDLY2VVEWT1EOTJQ1RV7ZUSDHHP9GCLZE3Q4LRW9RBEBJ0 = 12;}return ($CMMWJNDLY2VVEWT1EOTJQ1RV7ZUSDHHP9GCLZE3Q4LRW9RBEBJ0,$C3M3PWG0TBWAU5EKBH9MU25MOPKD7KYNQD3I8GSW12GBIH0AS0C,$C1Q4JSXRRK153OSF15QYU6OX4D3ZKT84RLJS20MFAIEDKFHKTQZ);}sub CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA {my $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR = shift;my $CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = shift;my $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK = shift;my $C5S99FO46US2J93BPAAPM2SILMQ30IOU62ZHDRKCSKL1D6FO81C = shift;my $C86ABUQODAXN1XYMK5F1XR2865UHT9JT712E2ZQ1BBNSEA4Y96U = 0;if (($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O ne "\x{4d}" or $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{MD5} or $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) and !$CKOHW9NBB9T81UTMJORKB4DW04MZ99T6HF122IVPT3KYG3PLVVG) {$CKOHW9NBB9T81UTMJORKB4DW04MZ99T6HF122IVPT3KYG3PLVVG = 1;if (-f $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK) {if ($CCJCTZOXDRE09M5X98XOG041UL75MNTBCKGQD7UT9KMMV6FI6KU) {eval {local $SIG{__DIE__} = undef;my $CUALPWEP3OIYZCXIFOVKE9739LR7DIA8CRWPZUQK49T89S5IL3D = Digest::MD5->new;open (my $CA9N98H6N9HB1SS3JVFDBETYTMAZUU01QPCGVN6GW7MGF9454DI, "\x{3c}", $C0AVALPVGF4BVRNLKLZJVO909NBXNIWEAAUZGO5OA4CS07SFYRZ) or die "Failed to open $C0AVALPVGF4BVRNLKLZJVO909NBXNIWEAAUZGO5OA4CS07SFYRZ: $!";flock ($CA9N98H6N9HB1SS3JVFDBETYTMAZUU01QPCGVN6GW7MGF9454DI, LOCK_SH);$CUALPWEP3OIYZCXIFOVKE9739LR7DIA8CRWPZUQK49T89S5IL3D->addfile($CA9N98H6N9HB1SS3JVFDBETYTMAZUU01QPCGVN6GW7MGF9454DI);close ($CA9N98H6N9HB1SS3JVFDBETYTMAZUU01QPCGVN6GW7MGF9454DI);my $CP7JNZF537EGQ2GPI81ZTQEMEVF7LWSMSUADNEGLNUXZN2HAZVR = $CUALPWEP3OIYZCXIFOVKE9739LR7DIA8CRWPZUQK49T89S5IL3D->hexdigest;$C6E69NIIW3OE6JAOB4116ANJ09TPXV7T6WFO28WN3UQTURG5G5M = $CP7JNZF537EGQ2GPI81ZTQEMEVF7LWSMSUADNEGLNUXZN2HAZVR;if ($CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{md5sum}{$CP7JNZF537EGQ2GPI81ZTQEMEVF7LWSMSUADNEGLNUXZN2HAZVR}) {$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{ignore}++;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "debug: Ignoring md5sum $CP7JNZF537EGQ2GPI81ZTQEMEVF7LWSMSUADNEGLNUXZN2HAZVR - [$C0AVALPVGF4BVRNLKLZJVO909NBXNIWEAAUZGO5OA4CS07SFYRZ]\n"}$C86ABUQODAXN1XYMK5F1XR2865UHT9JT712E2ZQ1BBNSEA4Y96U = 1;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{MD5} or $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= " (md5sum:$CP7JNZF537EGQ2GPI81ZTQEMEVF7LWSMSUADNEGLNUXZN2HAZVR)"}};if ($@) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "debug: Failed to generate md5sum: ($@) - [$C0AVALPVGF4BVRNLKLZJVO909NBXNIWEAAUZGO5OA4CS07SFYRZ]\n"}$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= " (md5sum:failed to generate)";}if ($C86ABUQODAXN1XYMK5F1XR2865UHT9JT712E2ZQ1BBNSEA4Y96U) {return 1}}eval {local $SIG{__DIE__} = undef;my $CUALPWEP3OIYZCXIFOVKE9739LR7DIA8CRWPZUQK49T89S5IL3D = Digest::MD5->new;open (my $CA9N98H6N9HB1SS3JVFDBETYTMAZUU01QPCGVN6GW7MGF9454DI, "\x{3c}", $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK) or die "Failed to open $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK: $!";flock ($CA9N98H6N9HB1SS3JVFDBETYTMAZUU01QPCGVN6GW7MGF9454DI, LOCK_SH);$CUALPWEP3OIYZCXIFOVKE9739LR7DIA8CRWPZUQK49T89S5IL3D->addfile($CA9N98H6N9HB1SS3JVFDBETYTMAZUU01QPCGVN6GW7MGF9454DI);close ($CA9N98H6N9HB1SS3JVFDBETYTMAZUU01QPCGVN6GW7MGF9454DI);my $CP7JNZF537EGQ2GPI81ZTQEMEVF7LWSMSUADNEGLNUXZN2HAZVR = $CUALPWEP3OIYZCXIFOVKE9739LR7DIA8CRWPZUQK49T89S5IL3D->hexdigest;$C6E69NIIW3OE6JAOB4116ANJ09TPXV7T6WFO28WN3UQTURG5G5M = $CP7JNZF537EGQ2GPI81ZTQEMEVF7LWSMSUADNEGLNUXZN2HAZVR;if ($CQBRKUZ5V5OP5J77W7QDHB7OSU6HUZNW13YMRRIP6DX03GESD4M{md5sum}{$CP7JNZF537EGQ2GPI81ZTQEMEVF7LWSMSUADNEGLNUXZN2HAZVR}) {$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{ignore}++;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "debug: Ignoring md5sum $CP7JNZF537EGQ2GPI81ZTQEMEVF7LWSMSUADNEGLNUXZN2HAZVR - [$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK]\n"}$C86ABUQODAXN1XYMK5F1XR2865UHT9JT712E2ZQ1BBNSEA4Y96U = 1;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{MD5} or $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= " (md5sum:$CP7JNZF537EGQ2GPI81ZTQEMEVF7LWSMSUADNEGLNUXZN2HAZVR)"}};if ($@) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "debug: Failed to generate md5sum: ($@) - [$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK]\n"}$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= " (md5sum:failed to generate)";}if ($C86ABUQODAXN1XYMK5F1XR2865UHT9JT712E2ZQ1BBNSEA4Y96U) {return 1}}}$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK =~ s/\'/\'\\\'\'/g;$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{susp}++;$CRJ6LNQ105I55EXFCPNXUT6U6N2XFJ0XSU7RCGPS31TESCA8NXS++;unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{cgi} or $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ftp}) {$CKWWWR0K6JCTN3GEE6IC5F5SDC8CYPBAIDBNTFF6W98MXZRHN69 = 0}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{qoptions}) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{qoptions} =~ /$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O/ and "\x{6d}\x{4d}\x{66}\x{75}\x{53}\x{47}\x{63}\x{68}\x{65}\x{78}\x{54}\x{45}\x{76}\x{42}\x{55}" =~ /$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O/) {$CKWWWR0K6JCTN3GEE6IC5F5SDC8CYPBAIDBNTFF6W98MXZRHN69 = 1}} else {$CKWWWR0K6JCTN3GEE6IC5F5SDC8CYPBAIDBNTFF6W98MXZRHN69 = 1}if ($C5S99FO46US2J93BPAAPM2SILMQ30IOU62ZHDRKCSKL1D6FO81C) {$CKWWWR0K6JCTN3GEE6IC5F5SDC8CYPBAIDBNTFF6W98MXZRHN69 = 1}unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{cgi} or $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ftp}) {$CDAGOJ2XIJYJ7S8BX04R1PKN46XJY1WPV6NF4E9B1W31DUY7JJ2 = 0}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{doptions}) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{doptions} =~ /$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O/ and "\x{6d}\x{4d}\x{66}\x{75}\x{53}\x{47}\x{63}\x{68}\x{65}\x{78}\x{54}\x{45}\x{76}\x{42}\x{55}" =~ /$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O/) {$CDAGOJ2XIJYJ7S8BX04R1PKN46XJY1WPV6NF4E9B1W31DUY7JJ2 = 1}} else {$CDAGOJ2XIJYJ7S8BX04R1PKN46XJY1WPV6NF4E9B1W31DUY7JJ2 = 1}if ($C34A9NCW6MZ2D67OLQFN14WLURN8XIJTEL7472AY7Q2M7UWXYHN) {$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK = $C34A9NCW6MZ2D67OLQFN14WLURN8XIJTEL7472AY7Q2M7UWXYHN;if ($CHF5D7A16HWMLAEQUAAEXVRQ6MF4M2MEZBUSTCQYR0SJNCW672S =~ /^decoded/) {$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR = "($CHF5D7A16HWMLAEQUAAEXVRQ6MF4M2MEZBUSTCQYR0SJNCW672S) ".$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR;} else {$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR = "(decoded file [depth: $CHF5D7A16HWMLAEQUAAEXVRQ6MF4M2MEZBUSTCQYR0SJNCW672S]) ".$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR;}$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = "\x{44}".$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O;}if ($CCJCTZOXDRE09M5X98XOG041UL75MNTBCKGQD7UT9KMMV6FI6KU) {$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK = $C0AVALPVGF4BVRNLKLZJVO909NBXNIWEAAUZGO5OA4CS07SFYRZ;$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR = "(compressed file: $CCJCTZOXDRE09M5X98XOG041UL75MNTBCKGQD7UT9KMMV6FI6KU [depth: $CMYOTIZTWN1ZUI43Y0KLMUK3G4X7Y8XIJNWW2W6E8M0PPQNZFK0]) ".$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR;$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = "\x{5a}".$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O;}unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{cgi} or $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ftp}) {my ($C36587Q7WUTONXFGV15H8OL9EUGI6FF3WLKVFM2EAV2POMGDPDR,$CMBZJ92OYLQHW5Z6PY6E6E7G719K2M3RD99929MQVISW1124RHU,$CU9WWH00GNVZKAGXBC43BJHX4S346ULBXJ6GA43L6ORPQB8OVC9);if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{delete} and $CDAGOJ2XIJYJ7S8BX04R1PKN46XJY1WPV6NF4E9B1W31DUY7JJ2 and ($< == 0) and (-f $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK)) {system("\x{2f}\x{75}\x{73}\x{72}\x{2f}\x{62}\x{69}\x{6e}\x{2f}\x{63}\x{68}\x{61}\x{74}\x{74}\x{72}","-ia",$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK);unlink $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK;$C36587Q7WUTONXFGV15H8OL9EUGI6FF3WLKVFM2EAV2POMGDPDR = 1;$C86ABUQODAXN1XYMK5F1XR2865UHT9JT712E2ZQ1BBNSEA4Y96U = 1;if (-e $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK) {$C36587Q7WUTONXFGV15H8OL9EUGI6FF3WLKVFM2EAV2POMGDPDR = 2}}elsif ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine} and $CKWWWR0K6JCTN3GEE6IC5F5SDC8CYPBAIDBNTFF6W98MXZRHN69 and (-e $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine}) and ($< == 0) and (-f $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK)) {($CMBZJ92OYLQHW5Z6PY6E6E7G719K2M3RD99929MQVISW1124RHU, $CU9WWH00GNVZKAGXBC43BJHX4S346ULBXJ6GA43L6ORPQB8OVC9) = &CAALXXCPP3SW0TVB9J0157CKU1OBPCBXTHDVJSI2JO29GAEVUDH($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK,$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR);}if ($C36587Q7WUTONXFGV15H8OL9EUGI6FF3WLKVFM2EAV2POMGDPDR == 1) {$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR = "(deleted) ".$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR;$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = "\x{58}".$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O;}if ($C36587Q7WUTONXFGV15H8OL9EUGI6FF3WLKVFM2EAV2POMGDPDR == 2) {$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR = "(delete failed) ".$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR;$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = "\x{58}\x{46}".$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O;}if ($CMBZJ92OYLQHW5Z6PY6E6E7G719K2M3RD99929MQVISW1124RHU == 1) {$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR = "(quarantined to $CG8JV60T1PU4K3STSSNAJXY642H7F3RVEDUYY5MJ3D9Z1DNFCJ3) ".$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR;$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = "\x{51}".$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O;}if ($CMBZJ92OYLQHW5Z6PY6E6E7G719K2M3RD99929MQVISW1124RHU == 2) {$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR = "(quarantine failed: $CU9WWH00GNVZKAGXBC43BJHX4S346ULBXJ6GA43L6ORPQB8OVC9) ".$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR;$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = "\x{51}\x{46}".$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O;}}if ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O =~ /v$/) {$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{virus}++; $C94ICU8JH5SUI65ZVEHJ1HVY0DW0W4JRY3N9FKA98MZ716ZUCS2++}if ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O =~ /M$/) {$CRQ7S63KCMYPR4D1PEXGCDO8K8DN1LOQLACJAW58X66ENLW7FMK{exploit}++; $CFEIT2IDGHWUSQVPWT5ELK518FZHCXWD6G84E7F0TRH1JL8OFZ7++}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YSKIPWMAIL}) {$C371DZXY4HFFEPKFLJ85TNQ3CUCEVFXK482G9GN15HUHNR420BP .= $CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O}unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet} or $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print $CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{web}) {print "\n";}}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{report}) {open (my $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, "\x{3e}\x{3e}", $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{report});flock ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, LOCK_EX);if ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK eq $CIWWC0G8W2PVAX5H8AG9A0FQ1MINZ9Q2UJP4ARL45UDEM0PE4QS) {print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "\# $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR\n";} else {print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "\n'$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK'\n\# $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR\n";}close ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI);}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YCONREP}) {my $CNPLKF0O2TZDM0WHZU8BZSYZ0T9QJO3IO8I6MXCFJ514XISNEJX = "";my $CU03H966H66N0FAC6MI38EY5EY4GHPZPNG7WKL8CHDWACS0LGON = "\e[0m";if ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O =~ /s/) {$CNPLKF0O2TZDM0WHZU8BZSYZ0T9QJO3IO8I6MXCFJ514XISNEJX = "\e[1m\e[35m";}if ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O =~ /e/) {$CNPLKF0O2TZDM0WHZU8BZSYZ0T9QJO3IO8I6MXCFJ514XISNEJX = "\e[1m\e[32m";}if ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O =~ /m|D|R/) {$CNPLKF0O2TZDM0WHZU8BZSYZ0T9QJO3IO8I6MXCFJ514XISNEJX = "\e[1m\e[34m";}if ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O =~ /v|M/) {$CNPLKF0O2TZDM0WHZU8BZSYZ0T9QJO3IO8I6MXCFJ514XISNEJX = "\e[1m\e[7m\e[31m";}if ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O =~ /b|B/) {$CNPLKF0O2TZDM0WHZU8BZSYZ0T9QJO3IO8I6MXCFJ514XISNEJX = "\e[7m\e[36m";}open (my $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, "\x{3e}\x{3e}", $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YCONREP});flock ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, LOCK_EX);if ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK eq $CIWWC0G8W2PVAX5H8AG9A0FQ1MINZ9Q2UJP4ARL45UDEM0PE4QS) {print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "\# ".$CNPLKF0O2TZDM0WHZU8BZSYZ0T9QJO3IO8I6MXCFJ514XISNEJX.$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR.$CU03H966H66N0FAC6MI38EY5EY4GHPZPNG7WKL8CHDWACS0LGON."\n";} else {print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "\n'$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK'\n\# ".$CNPLKF0O2TZDM0WHZU8BZSYZ0T9QJO3IO8I6MXCFJ514XISNEJX.$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR.$CU03H966H66N0FAC6MI38EY5EY4GHPZPNG7WKL8CHDWACS0LGON."\n";}close ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI);if ($CJVP6LCFG68WH718LFSSHL25C4CQU6XS20O277ADWWIWL0MNTK2 and $CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O =~ /v|M/) {$CC7YWGDIYE71FDJGZQPBDQR9UAIRZUGNH0TFZ5EO504IXVBSR7X++;open (my $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, "\x{3e}\x{3e}", "/root/wttw.log");flock ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, LOCK_EX);if ($C8FDZ23N2V5A8D88NJ5D5XP3DCA5SED2K09LQIWAJCHSSA4V0C4 ne $CJPGCB8HF7VI0Y8VFK3I52HR4KK2GJJU3SUKT50LYOAMBEXA6EC) {print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "\n";$CC7YWGDIYE71FDJGZQPBDQR9UAIRZUGNH0TFZ5EO504IXVBSR7X = 1;}if ($CC7YWGDIYE71FDJGZQPBDQR9UAIRZUGNH0TFZ5EO504IXVBSR7X < 5) {print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "'$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK'\n"}if ($CC7YWGDIYE71FDJGZQPBDQR9UAIRZUGNH0TFZ5EO504IXVBSR7X == 5) {print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "(see /root/scan.log for more exploits/suspicious files/warez/infected files in this account)\n"}close ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI);$CJPGCB8HF7VI0Y8VFK3I52HR4KK2GJJU3SUKT50LYOAMBEXA6EC = $C8FDZ23N2V5A8D88NJ5D5XP3DCA5SED2K09LQIWAJCHSSA4V0C4;}}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{html}) {my $CNPLKF0O2TZDM0WHZU8BZSYZ0T9QJO3IO8I6MXCFJ514XISNEJX = "\x{3c}\x{64}\x{69}\x{76}\x{3e}";my $CU03H966H66N0FAC6MI38EY5EY4GHPZPNG7WKL8CHDWACS0LGON = "\x{3c}\x{2f}\x{64}\x{69}\x{76}\x{3e}";if ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O =~ /v|M/) {$CNPLKF0O2TZDM0WHZU8BZSYZ0T9QJO3IO8I6MXCFJ514XISNEJX = "
";}elsif ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O =~ /s/) {$CNPLKF0O2TZDM0WHZU8BZSYZ0T9QJO3IO8I6MXCFJ514XISNEJX = "
";}elsif ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O =~ /e/) {$CNPLKF0O2TZDM0WHZU8BZSYZ0T9QJO3IO8I6MXCFJ514XISNEJX = "
";}elsif ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O =~ /m|D|R/) {$CNPLKF0O2TZDM0WHZU8BZSYZ0T9QJO3IO8I6MXCFJ514XISNEJX = "
";}elsif ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O =~ /b|B/) {$CNPLKF0O2TZDM0WHZU8BZSYZ0T9QJO3IO8I6MXCFJ514XISNEJX = "
";}elsif ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O =~ /f|d|h/) {$CNPLKF0O2TZDM0WHZU8BZSYZ0T9QJO3IO8I6MXCFJ514XISNEJX = "
";}else {$CNPLKF0O2TZDM0WHZU8BZSYZ0T9QJO3IO8I6MXCFJ514XISNEJX = "
";}my $CX7O1Y7ODBA1CL5FMKZ1Z831XZ2XSSEUKK6CO4MQ7SVPPMJKZ9C = $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR;my $CSKYPM1QQ5LHEK0XI97UEA0GONR3WBHDAQ4L5CSTU4XBO9I9OV2 = $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK;$CX7O1Y7ODBA1CL5FMKZ1Z831XZ2XSSEUKK6CO4MQ7SVPPMJKZ9C =~ s/&/&/g;$CX7O1Y7ODBA1CL5FMKZ1Z831XZ2XSSEUKK6CO4MQ7SVPPMJKZ9C =~ s//>/g;$CSKYPM1QQ5LHEK0XI97UEA0GONR3WBHDAQ4L5CSTU4XBO9I9OV2 =~ s/&/&/g;$CSKYPM1QQ5LHEK0XI97UEA0GONR3WBHDAQ4L5CSTU4XBO9I9OV2 =~ s//>/g;if ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK eq $CIWWC0G8W2PVAX5H8AG9A0FQ1MINZ9Q2UJP4ARL45UDEM0PE4QS) {$C6ED9C559BIG3Y1V6R397GX7QB7KUKP199MFZE8UMBUIQQR32GP .= $CNPLKF0O2TZDM0WHZU8BZSYZ0T9QJO3IO8I6MXCFJ514XISNEJX."$CX7O1Y7ODBA1CL5FMKZ1Z831XZ2XSSEUKK6CO4MQ7SVPPMJKZ9C".$CU03H966H66N0FAC6MI38EY5EY4GHPZPNG7WKL8CHDWACS0LGON."\n";$CLKFW5TBP06PRRJN49272SX6OO6ZO3WF77K9W2AFMZNXWMJGG99 .= $CNPLKF0O2TZDM0WHZU8BZSYZ0T9QJO3IO8I6MXCFJ514XISNEJX."$CX7O1Y7ODBA1CL5FMKZ1Z831XZ2XSSEUKK6CO4MQ7SVPPMJKZ9C".$CU03H966H66N0FAC6MI38EY5EY4GHPZPNG7WKL8CHDWACS0LGON."\n";} else {$C6ED9C559BIG3Y1V6R397GX7QB7KUKP199MFZE8UMBUIQQR32GP .= "
\n
\n'$CSKYPM1QQ5LHEK0XI97UEA0GONR3WBHDAQ4L5CSTU4XBO9I9OV2'\n
\n".$CNPLKF0O2TZDM0WHZU8BZSYZ0T9QJO3IO8I6MXCFJ514XISNEJX."$CX7O1Y7ODBA1CL5FMKZ1Z831XZ2XSSEUKK6CO4MQ7SVPPMJKZ9C".$CU03H966H66N0FAC6MI38EY5EY4GHPZPNG7WKL8CHDWACS0LGON."\n";$CLKFW5TBP06PRRJN49272SX6OO6ZO3WF77K9W2AFMZNXWMJGG99 .= "
\n
\n'$CSKYPM1QQ5LHEK0XI97UEA0GONR3WBHDAQ4L5CSTU4XBO9I9OV2'\n
\n".$CNPLKF0O2TZDM0WHZU8BZSYZ0T9QJO3IO8I6MXCFJ514XISNEJX."$CX7O1Y7ODBA1CL5FMKZ1Z831XZ2XSSEUKK6CO4MQ7SVPPMJKZ9C".$CU03H966H66N0FAC6MI38EY5EY4GHPZPNG7WKL8CHDWACS0LGON."\n";}}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "debug: $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR\n\n";}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{logfile}) {my @CQHPLEZHY352JEX2GMK29FQHROFTPT1LR84FJ5VG383OO3IXM9U = split(/\s+/,scalar localtime);if ($CQHPLEZHY352JEX2GMK29FQHROFTPT1LR84FJ5VG383OO3IXM9U[2] < 10) {$CQHPLEZHY352JEX2GMK29FQHROFTPT1LR84FJ5VG383OO3IXM9U[2] = "\x{20}".$CQHPLEZHY352JEX2GMK29FQHROFTPT1LR84FJ5VG383OO3IXM9U[2]}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{cgi}) {open (my $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, "\x{3e}\x{3e}", $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{logfile});flock ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, LOCK_EX);print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "$CQHPLEZHY352JEX2GMK29FQHROFTPT1LR84FJ5VG383OO3IXM9U[1] $CQHPLEZHY352JEX2GMK29FQHROFTPT1LR84FJ5VG383OO3IXM9U[2] $CQHPLEZHY352JEX2GMK29FQHROFTPT1LR84FJ5VG383OO3IXM9U[3] $CQAVQMI527C1D9CSUZTERZ6POZ64SGIT3WX1PO4RFYUGE4HW721 cxs[$$]: IP:$ENV{REMOTE_ADDR} User:$CNMA1Y6EDV3GZMK7YUVJYOO9NI4QGFKVYMW8O2MKUNWIMIISXYY Web upload script:['$ENV{SCRIPT_FILENAME}'] - $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR\n";close ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI);}elsif ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ftp}) {unless ($ENV{UPLOAD_IP}) {&CQO99WW73ZXVM5GJB6YIAOINB037Y0M4S4QNKTYANK02D6A4WIT}open (my $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, "\x{3e}\x{3e}", $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{logfile});flock ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, LOCK_EX);print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "$CQHPLEZHY352JEX2GMK29FQHROFTPT1LR84FJ5VG383OO3IXM9U[1] $CQHPLEZHY352JEX2GMK29FQHROFTPT1LR84FJ5VG383OO3IXM9U[2] $CQHPLEZHY352JEX2GMK29FQHROFTPT1LR84FJ5VG383OO3IXM9U[3] $CQAVQMI527C1D9CSUZTERZ6POZ64SGIT3WX1PO4RFYUGE4HW721 cxs[$$]: IP:$ENV{UPLOAD_IP} User:$ENV{UPLOAD_VUSER} FTP upload:['$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK'] - $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR\n";close ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI);} else {open (my $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, "\x{3e}\x{3e}", $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{logfile});flock ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, LOCK_EX);print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "$CQHPLEZHY352JEX2GMK29FQHROFTPT1LR84FJ5VG383OO3IXM9U[1] $CQHPLEZHY352JEX2GMK29FQHROFTPT1LR84FJ5VG383OO3IXM9U[2] $CQHPLEZHY352JEX2GMK29FQHROFTPT1LR84FJ5VG383OO3IXM9U[3] $CQAVQMI527C1D9CSUZTERZ6POZ64SGIT3WX1PO4RFYUGE4HW721 cxs[$$]: ['$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK'] - $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR\n";close ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI);}}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wstart}) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Child $C90OV121YC814BVYRIXZNKII2SG4LFMVQIV7IOPT0R7JSLXZXSS: $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR '$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK'")}if ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK eq $CIWWC0G8W2PVAX5H8AG9A0FQ1MINZ9Q2UJP4ARL45UDEM0PE4QS) {$CSI9RDCS7TJCBWV5UTINKTJ7E45E3KF0VNKJXO9GGTWPUZQ64N3 .= "\# $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR\n";$CSJ8OTS79CBF1X7SIQ8OHW3NRBG2C61SEFK5AHV4VT4PRPRONGV .= "\# $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR\n";} else {$CSI9RDCS7TJCBWV5UTINKTJ7E45E3KF0VNKJXO9GGTWPUZQ64N3 .= "\n'$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK'\n\# $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR\n";$CSJ8OTS79CBF1X7SIQ8OHW3NRBG2C61SEFK5AHV4VT4PRPRONGV .= "\n'$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK'\n\# $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR\n";}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{script}) {my $CAPBXM7BA3YSFR6SUPMKSOIVWVHOJ6ZV2BVJIMT54V2075DSYQA;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{cgi}) {$CAPBXM7BA3YSFR6SUPMKSOIVWVHOJ6ZV2BVJIMT54V2075DSYQA = $ENV{REMOTE_ADDR}}elsif ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ftp}) {unless ($ENV{UPLOAD_IP}) {&CQO99WW73ZXVM5GJB6YIAOINB037Y0M4S4QNKTYANK02D6A4WIT}$CAPBXM7BA3YSFR6SUPMKSOIVWVHOJ6ZV2BVJIMT54V2075DSYQA = $ENV{UPLOAD_IP};}unless ($CAPBXM7BA3YSFR6SUPMKSOIVWVHOJ6ZV2BVJIMT54V2075DSYQA) {$CAPBXM7BA3YSFR6SUPMKSOIVWVHOJ6ZV2BVJIMT54V2075DSYQA = "\x{75}\x{6e}\x{6b}\x{6f}\x{77}\x{6e}"}eval {local $SIG{__DIE__} = undef;local $SIG{'ALRM'} = sub {die "alarm\n"};alarm(20);my $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS = $C8FDZ23N2V5A8D88NJ5D5XP3DCA5SED2K09LQIWAJCHSSA4V0C4;my ($CZUJNXI26LZ9P859WCCK3ZYF4V1G2N358OC0Z6L3KST6IB3ATYD, $CM799TTG1N1ZQINHFEE7ZAJ136255094X6E9O750ZN5UK2146UZ);my $C4L95A529FUX95761W7KRDG64WEHROJV4W90WBG1XPZ0YO34EVU = open3($CZUJNXI26LZ9P859WCCK3ZYF4V1G2N358OC0Z6L3KST6IB3ATYD, $CM799TTG1N1ZQINHFEE7ZAJ136255094X6E9O750ZN5UK2146UZ, $CM799TTG1N1ZQINHFEE7ZAJ136255094X6E9O750ZN5UK2146UZ, $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{script},$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK,$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O,$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR,$C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS,$CAPBXM7BA3YSFR6SUPMKSOIVWVHOJ6ZV2BVJIMT54V2075DSYQA);@CAOQUH6EYUZJY26NWPJ2ORNE2EFW7Y7J4CDK7FNRGNH8BR58TLN = <$CM799TTG1N1ZQINHFEE7ZAJ136255094X6E9O750ZN5UK2146UZ>;waitpid ($C4L95A529FUX95761W7KRDG64WEHROJV4W90WBG1XPZ0YO34EVU, 0);alarm(0);unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print @CAOQUH6EYUZJY26NWPJ2ORNE2EFW7Y7J4CDK7FNRGNH8BR58TLN}};alarm(0);if ($@ and !$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "Script: Error: [$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{script}] timed out after 20 seconds"}}$CIWWC0G8W2PVAX5H8AG9A0FQ1MINZ9Q2UJP4ARL45UDEM0PE4QS = $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK;return $C86ABUQODAXN1XYMK5F1XR2865UHT9JT712E2ZQ1BBNSEA4Y96U;}sub C9KP9G3GM95H5NJYOEJCVR2S9HIVOYYK1FEFJGLTH0B8JBVN9LU {my $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS = shift;my $CCN4U3YAYVZEXPME9LT2U1CR2LE3GRST1ZJEX6N3LNLUJCA9UD9 = shift;my $CA58Y1QGUL11ND2ZXE96NOLHKBZOW9NRQBJ9PYZSCBUA4ECRASF = $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{blearn};if ($CA58Y1QGUL11ND2ZXE96NOLHKBZOW9NRQBJ9PYZSCBUA4ECRASF ne "\x{43}" and $CA58Y1QGUL11ND2ZXE96NOLHKBZOW9NRQBJ9PYZSCBUA4ECRASF ne "X") {print "Bayes Error: Invalid category [$CA58Y1QGUL11ND2ZXE96NOLHKBZOW9NRQBJ9PYZSCBUA4ECRASF]\n";exit;}my %C59BVWFS5RD5GNE74G86JEWISSL8Q50VPFHZ3REUP6NBRZJ3ABF;my $C2EFPUCN5A9QG9QYOPZ591IF70K72TXV3CFYWSP3J466IAQ7ALM = 1000;my $CEB4O7C30CZFFBO0Y3JVWR508DXKOMXQET61RYOLAKP156AQQ74;while ($$CCN4U3YAYVZEXPME9LT2U1CR2LE3GRST1ZJEX6N3LNLUJCA9UD9 =~ /([\w\$\%\@\+\/]+)/g) {if (length($1) < 3) {next}if ($1 =~ /^\d+$/) {next}$C59BVWFS5RD5GNE74G86JEWISSL8Q50VPFHZ3REUP6NBRZJ3ABF{substr($1,0,50)}++;$CEB4O7C30CZFFBO0Y3JVWR508DXKOMXQET61RYOLAKP156AQQ74++;if ($CEB4O7C30CZFFBO0Y3JVWR508DXKOMXQET61RYOLAKP156AQQ74 > $C2EFPUCN5A9QG9QYOPZ591IF70K72TXV3CFYWSP3J466IAQ7ALM) {last}}foreach my $C4TAUMI3HQABN8OCOS98945707DNPUC5BSF8F011UUA408R89CE (keys %C59BVWFS5RD5GNE74G86JEWISSL8Q50VPFHZ3REUP6NBRZJ3ABF) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Ybmaster}) {$CCTF4D5A1V0H3RNCTWQSHF4VL77VSJ2FTUWM9WJ2IVHQI7D9RJJ->{$CA58Y1QGUL11ND2ZXE96NOLHKBZOW9NRQBJ9PYZSCBUA4ECRASF}{$C4TAUMI3HQABN8OCOS98945707DNPUC5BSF8F011UUA408R89CE} += $C59BVWFS5RD5GNE74G86JEWISSL8Q50VPFHZ3REUP6NBRZJ3ABF{$C4TAUMI3HQABN8OCOS98945707DNPUC5BSF8F011UUA408R89CE};if ($CA58Y1QGUL11ND2ZXE96NOLHKBZOW9NRQBJ9PYZSCBUA4ECRASF eq "\x{58}") {$CCTF4D5A1V0H3RNCTWQSHF4VL77VSJ2FTUWM9WJ2IVHQI7D9RJJ->{Xcount} += $C59BVWFS5RD5GNE74G86JEWISSL8Q50VPFHZ3REUP6NBRZJ3ABF{$C4TAUMI3HQABN8OCOS98945707DNPUC5BSF8F011UUA408R89CE}}if ($CA58Y1QGUL11ND2ZXE96NOLHKBZOW9NRQBJ9PYZSCBUA4ECRASF eq "\x{43}") {$CCTF4D5A1V0H3RNCTWQSHF4VL77VSJ2FTUWM9WJ2IVHQI7D9RJJ->{Ccount} += $C59BVWFS5RD5GNE74G86JEWISSL8Q50VPFHZ3REUP6NBRZJ3ABF{$C4TAUMI3HQABN8OCOS98945707DNPUC5BSF8F011UUA408R89CE}}} else {$CYZEOFNV1P33QMN5GHX55MS9R17IZTAIYKWN2MD7TURFOSPA6BZ->{$CA58Y1QGUL11ND2ZXE96NOLHKBZOW9NRQBJ9PYZSCBUA4ECRASF}{$C4TAUMI3HQABN8OCOS98945707DNPUC5BSF8F011UUA408R89CE} += $C59BVWFS5RD5GNE74G86JEWISSL8Q50VPFHZ3REUP6NBRZJ3ABF{$C4TAUMI3HQABN8OCOS98945707DNPUC5BSF8F011UUA408R89CE};if ($CA58Y1QGUL11ND2ZXE96NOLHKBZOW9NRQBJ9PYZSCBUA4ECRASF eq "\x{58}") {$CYZEOFNV1P33QMN5GHX55MS9R17IZTAIYKWN2MD7TURFOSPA6BZ->{Xcount} += $C59BVWFS5RD5GNE74G86JEWISSL8Q50VPFHZ3REUP6NBRZJ3ABF{$C4TAUMI3HQABN8OCOS98945707DNPUC5BSF8F011UUA408R89CE}}if ($CA58Y1QGUL11ND2ZXE96NOLHKBZOW9NRQBJ9PYZSCBUA4ECRASF eq "\x{43}") {$CYZEOFNV1P33QMN5GHX55MS9R17IZTAIYKWN2MD7TURFOSPA6BZ->{Ccount} += $C59BVWFS5RD5GNE74G86JEWISSL8Q50VPFHZ3REUP6NBRZJ3ABF{$C4TAUMI3HQABN8OCOS98945707DNPUC5BSF8F011UUA408R89CE}}}}print "+";return;}sub CZ9JWEEC7I8GRLIIP4Z01K2KEWOYDEP64XG0E9AW9RCRY9EYNUL {my $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS = shift;my $CCN4U3YAYVZEXPME9LT2U1CR2LE3GRST1ZJEX6N3LNLUJCA9UD9 = shift;my $CA58Y1QGUL11ND2ZXE96NOLHKBZOW9NRQBJ9PYZSCBUA4ECRASF = $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{bforget};if ($CA58Y1QGUL11ND2ZXE96NOLHKBZOW9NRQBJ9PYZSCBUA4ECRASF ne "\x{43}" and $CA58Y1QGUL11ND2ZXE96NOLHKBZOW9NRQBJ9PYZSCBUA4ECRASF ne "X") {print "Bayes Error: Invalid category [$CA58Y1QGUL11ND2ZXE96NOLHKBZOW9NRQBJ9PYZSCBUA4ECRASF]\n";exit;}my %C59BVWFS5RD5GNE74G86JEWISSL8Q50VPFHZ3REUP6NBRZJ3ABF;my $C2EFPUCN5A9QG9QYOPZ591IF70K72TXV3CFYWSP3J466IAQ7ALM = 1000;my $CEB4O7C30CZFFBO0Y3JVWR508DXKOMXQET61RYOLAKP156AQQ74;while ($$CCN4U3YAYVZEXPME9LT2U1CR2LE3GRST1ZJEX6N3LNLUJCA9UD9 =~ /([\w\$\%\@\+\/]+)/g) {if (length($1) < 3) {next}if ($1 =~ /^\d+$/) {next}$C59BVWFS5RD5GNE74G86JEWISSL8Q50VPFHZ3REUP6NBRZJ3ABF{substr($1,0,50)}++;$CEB4O7C30CZFFBO0Y3JVWR508DXKOMXQET61RYOLAKP156AQQ74++;if ($CEB4O7C30CZFFBO0Y3JVWR508DXKOMXQET61RYOLAKP156AQQ74 > $C2EFPUCN5A9QG9QYOPZ591IF70K72TXV3CFYWSP3J466IAQ7ALM) {last}}foreach my $C4TAUMI3HQABN8OCOS98945707DNPUC5BSF8F011UUA408R89CE (keys %C59BVWFS5RD5GNE74G86JEWISSL8Q50VPFHZ3REUP6NBRZJ3ABF) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Ybmaster}) {$CCTF4D5A1V0H3RNCTWQSHF4VL77VSJ2FTUWM9WJ2IVHQI7D9RJJ->{$CA58Y1QGUL11ND2ZXE96NOLHKBZOW9NRQBJ9PYZSCBUA4ECRASF}{$C4TAUMI3HQABN8OCOS98945707DNPUC5BSF8F011UUA408R89CE} -= $C59BVWFS5RD5GNE74G86JEWISSL8Q50VPFHZ3REUP6NBRZJ3ABF{$C4TAUMI3HQABN8OCOS98945707DNPUC5BSF8F011UUA408R89CE};if ($CCTF4D5A1V0H3RNCTWQSHF4VL77VSJ2FTUWM9WJ2IVHQI7D9RJJ->{$CA58Y1QGUL11ND2ZXE96NOLHKBZOW9NRQBJ9PYZSCBUA4ECRASF}{$C4TAUMI3HQABN8OCOS98945707DNPUC5BSF8F011UUA408R89CE} < 1) {delete $CCTF4D5A1V0H3RNCTWQSHF4VL77VSJ2FTUWM9WJ2IVHQI7D9RJJ->{$CA58Y1QGUL11ND2ZXE96NOLHKBZOW9NRQBJ9PYZSCBUA4ECRASF}{$C4TAUMI3HQABN8OCOS98945707DNPUC5BSF8F011UUA408R89CE}}if ($CA58Y1QGUL11ND2ZXE96NOLHKBZOW9NRQBJ9PYZSCBUA4ECRASF eq "\x{58}") {$CCTF4D5A1V0H3RNCTWQSHF4VL77VSJ2FTUWM9WJ2IVHQI7D9RJJ->{Xcount} -= $C59BVWFS5RD5GNE74G86JEWISSL8Q50VPFHZ3REUP6NBRZJ3ABF{$C4TAUMI3HQABN8OCOS98945707DNPUC5BSF8F011UUA408R89CE}}if ($CCTF4D5A1V0H3RNCTWQSHF4VL77VSJ2FTUWM9WJ2IVHQI7D9RJJ->{Xcount} < 0) {$CCTF4D5A1V0H3RNCTWQSHF4VL77VSJ2FTUWM9WJ2IVHQI7D9RJJ->{Xcount} = 0}if ($CA58Y1QGUL11ND2ZXE96NOLHKBZOW9NRQBJ9PYZSCBUA4ECRASF eq "\x{43}") {$CCTF4D5A1V0H3RNCTWQSHF4VL77VSJ2FTUWM9WJ2IVHQI7D9RJJ->{Ccount} -= $C59BVWFS5RD5GNE74G86JEWISSL8Q50VPFHZ3REUP6NBRZJ3ABF{$C4TAUMI3HQABN8OCOS98945707DNPUC5BSF8F011UUA408R89CE}}if ($CCTF4D5A1V0H3RNCTWQSHF4VL77VSJ2FTUWM9WJ2IVHQI7D9RJJ->{Ccount} < 0) {$CCTF4D5A1V0H3RNCTWQSHF4VL77VSJ2FTUWM9WJ2IVHQI7D9RJJ->{Ccount} = 0}} else {$CYZEOFNV1P33QMN5GHX55MS9R17IZTAIYKWN2MD7TURFOSPA6BZ->{$CA58Y1QGUL11ND2ZXE96NOLHKBZOW9NRQBJ9PYZSCBUA4ECRASF}{$C4TAUMI3HQABN8OCOS98945707DNPUC5BSF8F011UUA408R89CE} -= $C59BVWFS5RD5GNE74G86JEWISSL8Q50VPFHZ3REUP6NBRZJ3ABF{$C4TAUMI3HQABN8OCOS98945707DNPUC5BSF8F011UUA408R89CE};if ($CYZEOFNV1P33QMN5GHX55MS9R17IZTAIYKWN2MD7TURFOSPA6BZ->{$CA58Y1QGUL11ND2ZXE96NOLHKBZOW9NRQBJ9PYZSCBUA4ECRASF}{$C4TAUMI3HQABN8OCOS98945707DNPUC5BSF8F011UUA408R89CE} < 1) {delete $CYZEOFNV1P33QMN5GHX55MS9R17IZTAIYKWN2MD7TURFOSPA6BZ->{$CA58Y1QGUL11ND2ZXE96NOLHKBZOW9NRQBJ9PYZSCBUA4ECRASF}{$C4TAUMI3HQABN8OCOS98945707DNPUC5BSF8F011UUA408R89CE}}if ($CA58Y1QGUL11ND2ZXE96NOLHKBZOW9NRQBJ9PYZSCBUA4ECRASF eq "\x{58}") {$CYZEOFNV1P33QMN5GHX55MS9R17IZTAIYKWN2MD7TURFOSPA6BZ->{Xcount} -= $C59BVWFS5RD5GNE74G86JEWISSL8Q50VPFHZ3REUP6NBRZJ3ABF{$C4TAUMI3HQABN8OCOS98945707DNPUC5BSF8F011UUA408R89CE}}if ($CYZEOFNV1P33QMN5GHX55MS9R17IZTAIYKWN2MD7TURFOSPA6BZ->{Xcount} < 0) {$CYZEOFNV1P33QMN5GHX55MS9R17IZTAIYKWN2MD7TURFOSPA6BZ->{Xcount} = 0}if ($CA58Y1QGUL11ND2ZXE96NOLHKBZOW9NRQBJ9PYZSCBUA4ECRASF eq "\x{43}") {$CYZEOFNV1P33QMN5GHX55MS9R17IZTAIYKWN2MD7TURFOSPA6BZ->{Ccount} -= $C59BVWFS5RD5GNE74G86JEWISSL8Q50VPFHZ3REUP6NBRZJ3ABF{$C4TAUMI3HQABN8OCOS98945707DNPUC5BSF8F011UUA408R89CE}}if ($CYZEOFNV1P33QMN5GHX55MS9R17IZTAIYKWN2MD7TURFOSPA6BZ->{Ccount} < 0) {$CYZEOFNV1P33QMN5GHX55MS9R17IZTAIYKWN2MD7TURFOSPA6BZ->{Ccount} = 0}}}print "-";return;}sub CE2XXCMYUIGVW35R09CHOFPO6SS3PECVXM6BAIA312H5HLXB3GV {unless ($< == 0) {return}print "Retrieving master bayes corpus\n";open (my $CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY, "\x{3c}", "/etc/cxs/servers") or die "Unable to open servers: $!";flock ($CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY, LOCK_SH);my @CJQ85LGGU3W52QP1Q97UPIDXXBN2C5LQXY2RX6VRK8T04DW17BH = <$CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY>;close ($CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY);chomp @CJQ85LGGU3W52QP1Q97UPIDXXBN2C5LQXY2RX6VRK8T04DW17BH;for (my $CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO = @CJQ85LGGU3W52QP1Q97UPIDXXBN2C5LQXY2RX6VRK8T04DW17BH; --$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO;) {my $CRAI4YX5HCJWEPUQIP06CMC7C1M5G45JP2KDSWGQ6HJHSUTR6Z0 = int(rand($CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO+1));if ($CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO == $CRAI4YX5HCJWEPUQIP06CMC7C1M5G45JP2KDSWGQ6HJHSUTR6Z0) {next}@CJQ85LGGU3W52QP1Q97UPIDXXBN2C5LQXY2RX6VRK8T04DW17BH[$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO,$CRAI4YX5HCJWEPUQIP06CMC7C1M5G45JP2KDSWGQ6HJHSUTR6Z0] = @CJQ85LGGU3W52QP1Q97UPIDXXBN2C5LQXY2RX6VRK8T04DW17BH[$CRAI4YX5HCJWEPUQIP06CMC7C1M5G45JP2KDSWGQ6HJHSUTR6Z0,$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO];}foreach my $CYIZ6KLO6MPFWIDIK9ID30L9M7VS6K99VBJW75TREUNDH96BEBA (@CJQ85LGGU3W52QP1Q97UPIDXXBN2C5LQXY2RX6VRK8T04DW17BH) {$CYIZ6KLO6MPFWIDIK9ID30L9M7VS6K99VBJW75TREUNDH96BEBA = decode_base64($CYIZ6KLO6MPFWIDIK9ID30L9M7VS6K99VBJW75TREUNDH96BEBA);my ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU, $C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4) = &urlget("$CYIZ6KLO6MPFWIDIK9ID30L9M7VS6K99VBJW75TREUNDH96BEBA/cxs.bayes","\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{62}\x{61}\x{79}\x{65}\x{73}");unless ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU) {print "Completed\n\n";}}return;}sub CFQC8DXYPJYT86XMY0NNWPQDYDEGD0VSZOOWP7PB0PWD0UQL6Q1 {my $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS = shift;my $CCN4U3YAYVZEXPME9LT2U1CR2LE3GRST1ZJEX6N3LNLUJCA9UD9 = shift;my %C59BVWFS5RD5GNE74G86JEWISSL8Q50VPFHZ3REUP6NBRZJ3ABF;my %CKV2KUOKYZYNCBREKKHFRFPKKW4DZRY9DB89M0O5W9RZ8HDUJ94;my $C2EFPUCN5A9QG9QYOPZ591IF70K72TXV3CFYWSP3J466IAQ7ALM = 1000;my $CEB4O7C30CZFFBO0Y3JVWR508DXKOMXQET61RYOLAKP156AQQ74;while ($$CCN4U3YAYVZEXPME9LT2U1CR2LE3GRST1ZJEX6N3LNLUJCA9UD9 =~ /([\w\$\%\@\+\/]+)/g) {if (length($1) < 3) {next}if ($1 =~ /^\d+$/) {next}$C59BVWFS5RD5GNE74G86JEWISSL8Q50VPFHZ3REUP6NBRZJ3ABF{substr($1,0,50)}++;$CEB4O7C30CZFFBO0Y3JVWR508DXKOMXQET61RYOLAKP156AQQ74++;if ($CEB4O7C30CZFFBO0Y3JVWR508DXKOMXQET61RYOLAKP156AQQ74 > $C2EFPUCN5A9QG9QYOPZ591IF70K72TXV3CFYWSP3J466IAQ7ALM) {last}}foreach my $C4TAUMI3HQABN8OCOS98945707DNPUC5BSF8F011UUA408R89CE (keys %C59BVWFS5RD5GNE74G86JEWISSL8Q50VPFHZ3REUP6NBRZJ3ABF) {foreach my $CA58Y1QGUL11ND2ZXE96NOLHKBZOW9NRQBJ9PYZSCBUA4ECRASF (keys %CSRNXM684AT2M6OYWES051N5BU6JZSRMPBZXTTKAOTVNDQI3CQQ) {if ($CCTF4D5A1V0H3RNCTWQSHF4VL77VSJ2FTUWM9WJ2IVHQI7D9RJJ->{$CA58Y1QGUL11ND2ZXE96NOLHKBZOW9NRQBJ9PYZSCBUA4ECRASF}{$C4TAUMI3HQABN8OCOS98945707DNPUC5BSF8F011UUA408R89CE} > 0) {$CKV2KUOKYZYNCBREKKHFRFPKKW4DZRY9DB89M0O5W9RZ8HDUJ94{$CA58Y1QGUL11ND2ZXE96NOLHKBZOW9NRQBJ9PYZSCBUA4ECRASF} += log($CCTF4D5A1V0H3RNCTWQSHF4VL77VSJ2FTUWM9WJ2IVHQI7D9RJJ->{$CA58Y1QGUL11ND2ZXE96NOLHKBZOW9NRQBJ9PYZSCBUA4ECRASF}{$C4TAUMI3HQABN8OCOS98945707DNPUC5BSF8F011UUA408R89CE} / $CSRNXM684AT2M6OYWES051N5BU6JZSRMPBZXTTKAOTVNDQI3CQQ{$CA58Y1QGUL11ND2ZXE96NOLHKBZOW9NRQBJ9PYZSCBUA4ECRASF});} else {$CKV2KUOKYZYNCBREKKHFRFPKKW4DZRY9DB89M0O5W9RZ8HDUJ94{$CA58Y1QGUL11ND2ZXE96NOLHKBZOW9NRQBJ9PYZSCBUA4ECRASF} += log(0.01 / $CSRNXM684AT2M6OYWES051N5BU6JZSRMPBZXTTKAOTVNDQI3CQQ{$CA58Y1QGUL11ND2ZXE96NOLHKBZOW9NRQBJ9PYZSCBUA4ECRASF});}}}foreach my $CA58Y1QGUL11ND2ZXE96NOLHKBZOW9NRQBJ9PYZSCBUA4ECRASF (keys %CSRNXM684AT2M6OYWES051N5BU6JZSRMPBZXTTKAOTVNDQI3CQQ) {$CKV2KUOKYZYNCBREKKHFRFPKKW4DZRY9DB89M0O5W9RZ8HDUJ94{$CA58Y1QGUL11ND2ZXE96NOLHKBZOW9NRQBJ9PYZSCBUA4ECRASF} += log($CSRNXM684AT2M6OYWES051N5BU6JZSRMPBZXTTKAOTVNDQI3CQQ{$CA58Y1QGUL11ND2ZXE96NOLHKBZOW9NRQBJ9PYZSCBUA4ECRASF} / $CDGLM0DQ66P1RMWPLG7DZHM3AQXJHSREIP8HZ72G7X9OVXHUK05)}if ($CMQ6UVJN7AJ2C6284755YRR5QYIJP8ADHI2VMEBND41APGVIFU7 > 0) {$CKV2KUOKYZYNCBREKKHFRFPKKW4DZRY9DB89M0O5W9RZ8HDUJ94{X} = $CKV2KUOKYZYNCBREKKHFRFPKKW4DZRY9DB89M0O5W9RZ8HDUJ94{X} - ($CKV2KUOKYZYNCBREKKHFRFPKKW4DZRY9DB89M0O5W9RZ8HDUJ94{X} * ($CMQ6UVJN7AJ2C6284755YRR5QYIJP8ADHI2VMEBND41APGVIFU7 / 100));} else {$CMQ6UVJN7AJ2C6284755YRR5QYIJP8ADHI2VMEBND41APGVIFU7 = 0;}my $CA58Y1QGUL11ND2ZXE96NOLHKBZOW9NRQBJ9PYZSCBUA4ECRASF = "\x{63}\x{6c}\x{65}\x{61}\x{6e}";if ($CKV2KUOKYZYNCBREKKHFRFPKKW4DZRY9DB89M0O5W9RZ8HDUJ94{X} > $CKV2KUOKYZYNCBREKKHFRFPKKW4DZRY9DB89M0O5W9RZ8HDUJ94{C}) {$CA58Y1QGUL11ND2ZXE96NOLHKBZOW9NRQBJ9PYZSCBUA4ECRASF = "\x{65}\x{78}\x{70}\x{6c}\x{6f}\x{69}\x{74}"}my $CNNYVI6XMIK83CDE1B4IZFYF1GQGAQHLWTFMIS8U74ER2LDOLYF = abs(int($CKV2KUOKYZYNCBREKKHFRFPKKW4DZRY9DB89M0O5W9RZ8HDUJ94{X}));my $CO1GL9BCZAP5K8JZZOSBVRQ3H7SODS62AY6YR42AE1O9REIZSJT = abs(int($CKV2KUOKYZYNCBREKKHFRFPKKW4DZRY9DB89M0O5W9RZ8HDUJ94{C} - $CKV2KUOKYZYNCBREKKHFRFPKKW4DZRY9DB89M0O5W9RZ8HDUJ94{X}));my $CV2WJ9NZCQ4QAFP7LA8WKH4FUJJWYJ7HHNVUOELVOFPUPHRV1QE = 0;my $CBC4DSLOHXAGL5FW33EPPBGWS1797E0G6Q0Z4SIZ4IV7YA8KK5J;if ($CNNYVI6XMIK83CDE1B4IZFYF1GQGAQHLWTFMIS8U74ER2LDOLYF > 100) {$CV2WJ9NZCQ4QAFP7LA8WKH4FUJJWYJ7HHNVUOELVOFPUPHRV1QE = int(100 * ($CO1GL9BCZAP5K8JZZOSBVRQ3H7SODS62AY6YR42AE1O9REIZSJT/$CNNYVI6XMIK83CDE1B4IZFYF1GQGAQHLWTFMIS8U74ER2LDOLYF))}if ($CV2WJ9NZCQ4QAFP7LA8WKH4FUJJWYJ7HHNVUOELVOFPUPHRV1QE >= 24) {$CBC4DSLOHXAGL5FW33EPPBGWS1797E0G6Q0Z4SIZ4IV7YA8KK5J = "\x{68}\x{69}\x{67}\x{68}"}elsif ($CV2WJ9NZCQ4QAFP7LA8WKH4FUJJWYJ7HHNVUOELVOFPUPHRV1QE >= 16 and $CV2WJ9NZCQ4QAFP7LA8WKH4FUJJWYJ7HHNVUOELVOFPUPHRV1QE < 24) {$CBC4DSLOHXAGL5FW33EPPBGWS1797E0G6Q0Z4SIZ4IV7YA8KK5J = "\x{6d}\x{65}\x{64}\x{69}\x{75}\x{6d}"}elsif ($CV2WJ9NZCQ4QAFP7LA8WKH4FUJJWYJ7HHNVUOELVOFPUPHRV1QE >= 8 and $CV2WJ9NZCQ4QAFP7LA8WKH4FUJJWYJ7HHNVUOELVOFPUPHRV1QE < 16) {$CBC4DSLOHXAGL5FW33EPPBGWS1797E0G6Q0Z4SIZ4IV7YA8KK5J = "\x{6c}\x{6f}\x{77}"}else {$CBC4DSLOHXAGL5FW33EPPBGWS1797E0G6Q0Z4SIZ4IV7YA8KK5J = "\x{6e}\x{6f}\x{6e}\x{65}"}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) {print "debug: Bayes cat[$CA58Y1QGUL11ND2ZXE96NOLHKBZOW9NRQBJ9PYZSCBUA4ECRASF] exploit[".abs(int($CKV2KUOKYZYNCBREKKHFRFPKKW4DZRY9DB89M0O5W9RZ8HDUJ94{X}))."] clean[".abs(int($CKV2KUOKYZYNCBREKKHFRFPKKW4DZRY9DB89M0O5W9RZ8HDUJ94{C}))."] diff[$CO1GL9BCZAP5K8JZZOSBVRQ3H7SODS62AY6YR42AE1O9REIZSJT] words[$CEB4O7C30CZFFBO0Y3JVWR508DXKOMXQET61RYOLAKP156AQQ74] aug[$CMQ6UVJN7AJ2C6284755YRR5QYIJP8ADHI2VMEBND41APGVIFU7%] prob[$CBC4DSLOHXAGL5FW33EPPBGWS1797E0G6Q0Z4SIZ4IV7YA8KK5J] per[$CV2WJ9NZCQ4QAFP7LA8WKH4FUJJWYJ7HHNVUOELVOFPUPHRV1QE%]\n";}if ($CA58Y1QGUL11ND2ZXE96NOLHKBZOW9NRQBJ9PYZSCBUA4ECRASF eq "\x{65}\x{78}\x{70}\x{6c}\x{6f}\x{69}\x{74}" and $CBC4DSLOHXAGL5FW33EPPBGWS1797E0G6Q0Z4SIZ4IV7YA8KK5J ne "none") {if (($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{breport} eq "\x{6c}\x{6f}\x{77}") or ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{breport} eq "medium" and ($CBC4DSLOHXAGL5FW33EPPBGWS1797E0G6Q0Z4SIZ4IV7YA8KK5J eq "medium" or $CBC4DSLOHXAGL5FW33EPPBGWS1797E0G6Q0Z4SIZ4IV7YA8KK5J eq "high")) or ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{breport} eq "high" and $CBC4DSLOHXAGL5FW33EPPBGWS1797E0G6Q0Z4SIZ4IV7YA8KK5J eq "high")) {my $CBVB1B18G6LRZJNVIJC68RJBI58W4F63R82JKN4WZDXWUYWAF4V = "\x{62}";if (($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{baction} eq "\x{6c}\x{6f}\x{77}") or ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{baction} eq "medium" and ($CBC4DSLOHXAGL5FW33EPPBGWS1797E0G6Q0Z4SIZ4IV7YA8KK5J eq "medium" or $CBC4DSLOHXAGL5FW33EPPBGWS1797E0G6Q0Z4SIZ4IV7YA8KK5J eq "high")) or ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{baction} eq "high" and $CBC4DSLOHXAGL5FW33EPPBGWS1797E0G6Q0Z4SIZ4IV7YA8KK5J eq "high")) {$CBVB1B18G6LRZJNVIJC68RJBI58W4F63R82JKN4WZDXWUYWAF4V = "B"}&CGN8NVBZ2PWB9GY7BK0MRE44B6FJHT5E2316E5BT289L9G5J0OA("Bayes exploit probability score [$CBC4DSLOHXAGL5FW33EPPBGWS1797E0G6Q0Z4SIZ4IV7YA8KK5J probability]",$CBVB1B18G6LRZJNVIJC68RJBI58W4F63R82JKN4WZDXWUYWAF4V,$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);}}return;}sub CTH1GXS0RFTIRQ2UWXVZUXBYNDCQRMNOVPGA7H87SH7RROP2SQI {my $C86ABUQODAXN1XYMK5F1XR2865UHT9JT712E2ZQ1BBNSEA4Y96U = 0;open (my $CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY, "\x{3c}", "/etc/cxs/servers");flock ($CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY, LOCK_SH);my @CJQ85LGGU3W52QP1Q97UPIDXXBN2C5LQXY2RX6VRK8T04DW17BH = <$CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY>;close ($CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY);chomp @CJQ85LGGU3W52QP1Q97UPIDXXBN2C5LQXY2RX6VRK8T04DW17BH;for (my $CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO = @CJQ85LGGU3W52QP1Q97UPIDXXBN2C5LQXY2RX6VRK8T04DW17BH; --$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO;) {my $CRAI4YX5HCJWEPUQIP06CMC7C1M5G45JP2KDSWGQ6HJHSUTR6Z0 = int(rand($CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO+1));if ($CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO == $CRAI4YX5HCJWEPUQIP06CMC7C1M5G45JP2KDSWGQ6HJHSUTR6Z0) {next}@CJQ85LGGU3W52QP1Q97UPIDXXBN2C5LQXY2RX6VRK8T04DW17BH[$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO,$CRAI4YX5HCJWEPUQIP06CMC7C1M5G45JP2KDSWGQ6HJHSUTR6Z0] = @CJQ85LGGU3W52QP1Q97UPIDXXBN2C5LQXY2RX6VRK8T04DW17BH[$CRAI4YX5HCJWEPUQIP06CMC7C1M5G45JP2KDSWGQ6HJHSUTR6Z0,$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO];}foreach my $CYIZ6KLO6MPFWIDIK9ID30L9M7VS6K99VBJW75TREUNDH96BEBA (@CJQ85LGGU3W52QP1Q97UPIDXXBN2C5LQXY2RX6VRK8T04DW17BH) {$CYIZ6KLO6MPFWIDIK9ID30L9M7VS6K99VBJW75TREUNDH96BEBA = decode_base64($CYIZ6KLO6MPFWIDIK9ID30L9M7VS6K99VBJW75TREUNDH96BEBA);my ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU, $C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4) = &urlget("$CYIZ6KLO6MPFWIDIK9ID30L9M7VS6K99VBJW75TREUNDH96BEBA/cgi-bin/cxs/verify.cgi");unless ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU) {if ($C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4 =~ /X10101010/) {unlink $C1HRL32E4OKJUURY1TUA3B8BLDQ1HLJIFNZM6HLNCCD8VRG4U3P;exit;} else {my $CN6F8K3PPYQC5SC5004H0P65BG9K9HPXK5PV0P5CZ0ER7EQOVQQ = time;utime ($CN6F8K3PPYQC5SC5004H0P65BG9K9HPXK5PV0P5CZ0ER7EQOVQQ,$CN6F8K3PPYQC5SC5004H0P65BG9K9HPXK5PV0P5CZ0ER7EQOVQQ,$C1HRL32E4OKJUURY1TUA3B8BLDQ1HLJIFNZM6HLNCCD8VRG4U3P);$C86ABUQODAXN1XYMK5F1XR2865UHT9JT712E2ZQ1BBNSEA4Y96U = $C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4;}last;}}return $C86ABUQODAXN1XYMK5F1XR2865UHT9JT712E2ZQ1BBNSEA4Y96U;}sub CAALXXCPP3SW0TVB9J0157CKU1OBPCBXTHDVJSI2JO29GAEVUDH {my $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK = shift;my $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR = shift;my $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU;my $C3GSDD8C96MS1RU21T7XATNO65VNCZ1H4QCIWYCKI4WFJ9E2P5U;my $CS951C2LNGL8V003HWOMK7ITLQXG2I0BCSZL547X5UO45DWKFSS = $<;$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK = abs_path($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK);stat($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK);my $CQSNY3JWLNA9C94QTR3AHYE9NWCZZ2HMOZEPKK1NHJ979XOGCX2 = getpwuid($st_uid);my $C8D80SWTLJE7OQBS0869RTF134TL2K9RZZXX9R564XEDBIO64JQ = getgrgid($st_gid);my $C6JC3GPKZLJKNZZU1ODNL0UZZWMW3KQEYBY3503QM8B8P3G0H93 = $st_atime;my $CD1E5PK1RAJDP2WC1ZVP23SV9181Q291863A2AW2A489335NY4V = $st_ctime;my $CRK2H4QZ35DXO7MCS6KXX7QRA6EQ0B88K8IQTKINPN7FV03ZQCA = $st_mtime;my $CX6HO00AJG9AMVJ611O7UHHNP8TPSIZP8YXQZ0SJUVUK51M5DKH = $st_uid;my $CN867WFKXCJXHA2LSBGPW0YZCGNU442MS0TMHJMDADMAZIEUD1V = $st_gid;my $CSU3BM3X09EQVQ1HALZ4V066ELSSE10QZ0KI1B93FT010MPKBAY = $st_mode;my $CA1EE9F0W9PSV6H8BT3CMQIUSK3KX5PI9S15ZIPFTMM2ZLIMA0V = 0;if ($st_uid == $COK0Z2RPLC8X0P8V833ZB8TK4QCJ3YB1EKH5HARC8P1HNQQPPFI and !$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{cgi}) {my $CNR7W79AB2EBOCWKA5OOZXZP1VYTU65Z9GTBS0EI7FWJIM59J5M = 0;while (my @C3UB7WBTCO65AAM184EAXVOWOULRUZ1M1AQHOYF7SU3PZE4H59Z = getpwent()) {if ($C3UB7WBTCO65AAM184EAXVOWOULRUZ1M1AQHOYF7SU3PZE4H59Z[7] ne "\x{2f}" and $C3UB7WBTCO65AAM184EAXVOWOULRUZ1M1AQHOYF7SU3PZE4H59Z[7] ne "") {if ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK =~ /^$C3UB7WBTCO65AAM184EAXVOWOULRUZ1M1AQHOYF7SU3PZE4H59Z[7]/) {if ($CQSNY3JWLNA9C94QTR3AHYE9NWCZZ2HMOZEPKK1NHJ979XOGCX2 eq "" or $CQSNY3JWLNA9C94QTR3AHYE9NWCZZ2HMOZEPKK1NHJ979XOGCX2 eq $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{defapache}) {$CQSNY3JWLNA9C94QTR3AHYE9NWCZZ2HMOZEPKK1NHJ979XOGCX2 = $C3UB7WBTCO65AAM184EAXVOWOULRUZ1M1AQHOYF7SU3PZE4H59Z[0];} else {$CNR7W79AB2EBOCWKA5OOZXZP1VYTU65Z9GTBS0EI7FWJIM59J5M = 1;last;}}}}endpwent();if ($CNR7W79AB2EBOCWKA5OOZXZP1VYTU65Z9GTBS0EI7FWJIM59J5M) {$CQSNY3JWLNA9C94QTR3AHYE9NWCZZ2HMOZEPKK1NHJ979XOGCX2 = getpwuid($st_uid);}}my ($C31UFCRUA9N8WJXC5JE30GX1ENMB3RUO9YZEZ9Z5B0W78Y8K3RE, $C7DOMEYLPELRO2U1G3LRZYODS6KVYXI5GS5HQKRVF6MAHTST668) = fileparse($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK);my $CUHGJ9MKRBJP8EIWPXWRYB2M0VHHRD2G9IGO1JSUFXC14XG3P97 = $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine};if (($CS951C2LNGL8V003HWOMK7ITLQXG2I0BCSZL547X5UO45DWKFSS == $COK0Z2RPLC8X0P8V833ZB8TK4QCJ3YB1EKH5HARC8P1HNQQPPFI) and -d "$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine}/cxscgi") {$CUHGJ9MKRBJP8EIWPXWRYB2M0VHHRD2G9IGO1JSUFXC14XG3P97 = "$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine}/cxscgi";}elsif ($CS951C2LNGL8V003HWOMK7ITLQXG2I0BCSZL547X5UO45DWKFSS == $COK0Z2RPLC8X0P8V833ZB8TK4QCJ3YB1EKH5HARC8P1HNQQPPFI) {return (2, "Quarantine failed: [$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine}] needs to be converted using:\ncxs --qcreate --quarantine $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine}");}elsif ($CS951C2LNGL8V003HWOMK7ITLQXG2I0BCSZL547X5UO45DWKFSS == 0) {unless (-d "$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine}/cxsuser/$CQSNY3JWLNA9C94QTR3AHYE9NWCZZ2HMOZEPKK1NHJ979XOGCX2") {mkdir("$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine}/cxsuser/$CQSNY3JWLNA9C94QTR3AHYE9NWCZZ2HMOZEPKK1NHJ979XOGCX2")}$CUHGJ9MKRBJP8EIWPXWRYB2M0VHHRD2G9IGO1JSUFXC14XG3P97 = "$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine}/cxsuser/$CQSNY3JWLNA9C94QTR3AHYE9NWCZZ2HMOZEPKK1NHJ979XOGCX2";}elsif ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{qlocal}) {$CUHGJ9MKRBJP8EIWPXWRYB2M0VHHRD2G9IGO1JSUFXC14XG3P97 = ( getpwnam($CQSNY3JWLNA9C94QTR3AHYE9NWCZZ2HMOZEPKK1NHJ979XOGCX2) )[7];if (-d $CUHGJ9MKRBJP8EIWPXWRYB2M0VHHRD2G9IGO1JSUFXC14XG3P97) {$CUHGJ9MKRBJP8EIWPXWRYB2M0VHHRD2G9IGO1JSUFXC14XG3P97 .= "\x{2f}\x{2e}\x{71}\x{75}\x{61}\x{72}\x{61}\x{6e}\x{74}\x{69}\x{6e}\x{65}";unless (-d $CUHGJ9MKRBJP8EIWPXWRYB2M0VHHRD2G9IGO1JSUFXC14XG3P97) {mkdir($CUHGJ9MKRBJP8EIWPXWRYB2M0VHHRD2G9IGO1JSUFXC14XG3P97);unless (-d $CUHGJ9MKRBJP8EIWPXWRYB2M0VHHRD2G9IGO1JSUFXC14XG3P97) {return (2, "Quarantine failed: unsupported user [$CQSNY3JWLNA9C94QTR3AHYE9NWCZZ2HMOZEPKK1NHJ979XOGCX2], unable to create [$CUHGJ9MKRBJP8EIWPXWRYB2M0VHHRD2G9IGO1JSUFXC14XG3P97]");}}} else {return (2, "Quarantine failed: unsupported user [$CQSNY3JWLNA9C94QTR3AHYE9NWCZZ2HMOZEPKK1NHJ979XOGCX2]");}}else {return (2, "Quarantine failed: unsupported user [$CS951C2LNGL8V003HWOMK7ITLQXG2I0BCSZL547X5UO45DWKFSS]");}$CG8JV60T1PU4K3STSSNAJXY642H7F3RVEDUYY5MJ3D9Z1DNFCJ3 = "$CUHGJ9MKRBJP8EIWPXWRYB2M0VHHRD2G9IGO1JSUFXC14XG3P97/$C31UFCRUA9N8WJXC5JE30GX1ENMB3RUO9YZEZ9Z5B0W78Y8K3RE\.".time;system("\x{2f}\x{75}\x{73}\x{72}\x{2f}\x{62}\x{69}\x{6e}\x{2f}\x{63}\x{68}\x{61}\x{74}\x{74}\x{72}","-ia",$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK);$C3GSDD8C96MS1RU21T7XATNO65VNCZ1H4QCIWYCKI4WFJ9E2P5U = &CDL8JN8N3IKVWJ2DAE3942TSBQZPP90G4S33SQAM3FMK0D12PUT($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK, $CG8JV60T1PU4K3STSSNAJXY642H7F3RVEDUYY5MJ3D9Z1DNFCJ3);$CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU = 1;if ($C3GSDD8C96MS1RU21T7XATNO65VNCZ1H4QCIWYCKI4WFJ9E2P5U) {$CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU = 2;if (-e $CG8JV60T1PU4K3STSSNAJXY642H7F3RVEDUYY5MJ3D9Z1DNFCJ3) {unlink $CG8JV60T1PU4K3STSSNAJXY642H7F3RVEDUYY5MJ3D9Z1DNFCJ3}} else {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Yqencrypt}) {my $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK;my $C1LFT5GZVW6NBOZ3D6O4DA6HXS4B98CD54Z7X5N0S84DWMK1CHW;if ($CG8JV60T1PU4K3STSSNAJXY642H7F3RVEDUYY5MJ3D9Z1DNFCJ3 =~ /(.*)(\.\d+(\_\d+)?)$/) {$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK = $1;$C1LFT5GZVW6NBOZ3D6O4DA6HXS4B98CD54Z7X5N0S84DWMK1CHW = $2;}my $C3TKVZIMOTMMU6BUIY8QJMGQOQM81FFNRFDC91HQR05C9B1FNS8 = "$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK.cxsenc$C1LFT5GZVW6NBOZ3D6O4DA6HXS4B98CD54Z7X5N0S84DWMK1CHW";system("\x{6f}\x{70}\x{65}\x{6e}\x{73}\x{73}\x{6c}","smime","-encrypt","-aes256","-in",$CG8JV60T1PU4K3STSSNAJXY642H7F3RVEDUYY5MJ3D9Z1DNFCJ3,"-binary","-outform","DER","-out",$C3TKVZIMOTMMU6BUIY8QJMGQOQM81FFNRFDC91HQR05C9B1FNS8,"/etc/cxs/cxspublic.pem");if (-e $C3TKVZIMOTMMU6BUIY8QJMGQOQM81FFNRFDC91HQR05C9B1FNS8) {unlink ($CG8JV60T1PU4K3STSSNAJXY642H7F3RVEDUYY5MJ3D9Z1DNFCJ3);$CG8JV60T1PU4K3STSSNAJXY642H7F3RVEDUYY5MJ3D9Z1DNFCJ3 = $C3TKVZIMOTMMU6BUIY8QJMGQOQM81FFNRFDC91HQR05C9B1FNS8;$CA1EE9F0W9PSV6H8BT3CMQIUSK3KX5PI9S15ZIPFTMM2ZLIMA0V = 1;}}my $CQTQWC1KUDFJDCH2CSWKY5OACSAKQGFXC6VQRBZ5A84BV6VWA4D = "\x{6d}\x{73}\x{63}\x{61}\x{6e}";if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wstart}) {$CQTQWC1KUDFJDCH2CSWKY5OACSAKQGFXC6VQRBZ5A84BV6VWA4D = "\x{77}\x{73}\x{63}\x{61}\x{6e}"}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{cgi}) {$CQTQWC1KUDFJDCH2CSWKY5OACSAKQGFXC6VQRBZ5A84BV6VWA4D = "\x{63}\x{67}\x{69}"}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ftp}) {$CQTQWC1KUDFJDCH2CSWKY5OACSAKQGFXC6VQRBZ5A84BV6VWA4D = "\x{66}\x{74}\x{70}"}if ($CTT54HUQ24FKXW1QAEWTOBU1UNV3W2MM8A5I6F90M2A2P9LP4EH) {$CQTQWC1KUDFJDCH2CSWKY5OACSAKQGFXC6VQRBZ5A84BV6VWA4D = "\x{6d}\x{6f}\x{6e}\x{69}\x{74}\x{6f}\x{72}"}sysopen (my $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, $CG8JV60T1PU4K3STSSNAJXY642H7F3RVEDUYY5MJ3D9Z1DNFCJ3."\x{2e}\x{72}\x{65}\x{73}\x{74}\x{6f}\x{72}\x{65}\x{34}", O_EXCL | O_WRONLY | O_CREAT);flock ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, LOCK_EX);print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "\x{74}\x{69}\x{6d}\x{65}\x{3d}".time."\n";print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "encrypted=$CA1EE9F0W9PSV6H8BT3CMQIUSK3KX5PI9S15ZIPFTMM2ZLIMA0V\n";print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "stype=$CQTQWC1KUDFJDCH2CSWKY5OACSAKQGFXC6VQRBZ5A84BV6VWA4D\n";print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "qfile=$CG8JV60T1PU4K3STSSNAJXY642H7F3RVEDUYY5MJ3D9Z1DNFCJ3\n";print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "quid=$CX6HO00AJG9AMVJ611O7UHHNP8TPSIZP8YXQZ0SJUVUK51M5DKH\n";print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "qgid=$CN867WFKXCJXHA2LSBGPW0YZCGNU442MS0TMHJMDADMAZIEUD1V\n";print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "qmode=$CSU3BM3X09EQVQ1HALZ4V066ELSSE10QZ0KI1B93FT010MPKBAY\n";print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "quser=$CQSNY3JWLNA9C94QTR3AHYE9NWCZZ2HMOZEPKK1NHJ979XOGCX2\n";print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "qgroup=$C8D80SWTLJE7OQBS0869RTF134TL2K9RZZXX9R564XEDBIO64JQ\n";print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "qatime=$C6JC3GPKZLJKNZZU1ODNL0UZZWMW3KQEYBY3503QM8B8P3G0H93\n";print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "qctime=$CD1E5PK1RAJDP2WC1ZVP23SV9181Q291863A2AW2A489335NY4V\n";print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "qmtime=$CRK2H4QZ35DXO7MCS6KXX7QRA6EQ0B88K8IQTKINPN7FV03ZQCA\n";print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "actfile=$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK\n";if ($CQTQWC1KUDFJDCH2CSWKY5OACSAKQGFXC6VQRBZ5A84BV6VWA4D eq "\x{63}\x{67}\x{69}") {print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "cgiuser=$CNMA1Y6EDV3GZMK7YUVJYOO9NI4QGFKVYMW8O2MKUNWIMIISXYY ($<)\n";print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "scriptowner=$C6P4WRF4UD6FGQHAPO5Y193SS3HUWQSMZJR9U2M2KWBT7P40ILB ($C5QH9EIKUJ4VZ33VSB5WJT6XVF3KXFJWX5BOIKHMHIP2GA45QQW)\n";print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "scriptname=$ENV{SCRIPT_FILENAME}\n";print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "remoteip=$ENV{REMOTE_ADDR}\n";my $CG9DF3ODGFRIZK2WLXFPYQRW7DIFICLVK6FAH2S8Z1N6AEE5A30 = "\x{68}\x{74}\x{74}\x{70}\x{3a}\x{2f}\x{2f}";if ($ENV{SERVER_PORT} eq "\x{34}\x{34}\x{33}") {$CG9DF3ODGFRIZK2WLXFPYQRW7DIFICLVK6FAH2S8Z1N6AEE5A30 = "https://"}$CG9DF3ODGFRIZK2WLXFPYQRW7DIFICLVK6FAH2S8Z1N6AEE5A30 .= $ENV{HTTP_HOST}.$ENV{REQUEST_URI};print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "url=$CG9DF3ODGFRIZK2WLXFPYQRW7DIFICLVK6FAH2S8Z1N6AEE5A30\n";print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "referer=$ENV{HTTP_REFERER}\n";}if ($CQTQWC1KUDFJDCH2CSWKY5OACSAKQGFXC6VQRBZ5A84BV6VWA4D eq "\x{66}\x{74}\x{70}") {print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "uploaduid=$ENV{UPLOAD_UID}\n";print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "uploadvuser=$ENV{UPLOAD_VUSER}\n";print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "uploadip=$ENV{UPLOAD_IP}\n";}my $CM4T8RZBRR2JBB52RGWSG28EON6C4G19HR3PYMRT74O2LRN3YWY = encode_base64($CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR);$CM4T8RZBRR2JBB52RGWSG28EON6C4G19HR3PYMRT74O2LRN3YWY =~ s/\n//g;print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI "message=$CM4T8RZBRR2JBB52RGWSG28EON6C4G19HR3PYMRT74O2LRN3YWY\n";close ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI);}return ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU,$C3GSDD8C96MS1RU21T7XATNO65VNCZ1H4QCIWYCKI4WFJ9E2P5U);}sub C7KTPDKQGRW7ETBDUQ2GHQ6RM2GQAWL4FHS57E0F3KO104SUPVY {my $C2Z5F3WWHS5EUMO9S1X5ZF93WTMKYOY2K86I0ITHH76X3PALFTI = shift;my $CD30N5C4G15NZA73N5W0CXS71B24ZIOEVNK46SH3XFFQDHFIFQQ = $C2Z5F3WWHS5EUMO9S1X5ZF93WTMKYOY2K86I0ITHH76X3PALFTI."\x{2e}\x{72}\x{65}\x{73}\x{74}\x{6f}\x{72}\x{65}\x{34}";if (-e $C2Z5F3WWHS5EUMO9S1X5ZF93WTMKYOY2K86I0ITHH76X3PALFTI) {if (-e $CD30N5C4G15NZA73N5W0CXS71B24ZIOEVNK46SH3XFFQDHFIFQQ) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{qignore} and $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ignore} and -f $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ignore}) {&C0I5M8JYTX8BKGYB9M981HNKWDSGFXFC04HS68IMQOCKYJW9T2X($C2Z5F3WWHS5EUMO9S1X5ZF93WTMKYOY2K86I0ITHH76X3PALFTI)}my $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU = &CC8MFDAVZ9A1S2RYL9E07RYHJ2E1G9UMBR52GB09IZZ2BIUWEJV($C2Z5F3WWHS5EUMO9S1X5ZF93WTMKYOY2K86I0ITHH76X3PALFTI);print "$CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU\n";} else {print "Restore failed - Restore file not found: $CD30N5C4G15NZA73N5W0CXS71B24ZIOEVNK46SH3XFFQDHFIFQQ\n";}} else {print "Restore failed - Quarantine file not found: $C2Z5F3WWHS5EUMO9S1X5ZF93WTMKYOY2K86I0ITHH76X3PALFTI\n";}return;}sub C0I5M8JYTX8BKGYB9M981HNKWDSGFXFC04HS68IMQOCKYJW9T2X {my $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK = shift;my $CFMQH6R8OY68XH93TWNI6I8F6UDH5ZJQCMHD5UV9TH99RV3TK80;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{qignore} eq "\x{4d}\x{44}\x{35}") {my $CUALPWEP3OIYZCXIFOVKE9739LR7DIA8CRWPZUQK49T89S5IL3D = Digest::MD5->new;open (my $CA9N98H6N9HB1SS3JVFDBETYTMAZUU01QPCGVN6GW7MGF9454DI, "\x{3c}", $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK) or die "Failed to open $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK: $!";flock ($CA9N98H6N9HB1SS3JVFDBETYTMAZUU01QPCGVN6GW7MGF9454DI, LOCK_SH);$CUALPWEP3OIYZCXIFOVKE9739LR7DIA8CRWPZUQK49T89S5IL3D->addfile($CA9N98H6N9HB1SS3JVFDBETYTMAZUU01QPCGVN6GW7MGF9454DI);close ($CA9N98H6N9HB1SS3JVFDBETYTMAZUU01QPCGVN6GW7MGF9454DI);my $CP7JNZF537EGQ2GPI81ZTQEMEVF7LWSMSUADNEGLNUXZN2HAZVR = $CUALPWEP3OIYZCXIFOVKE9739LR7DIA8CRWPZUQK49T89S5IL3D->hexdigest;$CFMQH6R8OY68XH93TWNI6I8F6UDH5ZJQCMHD5UV9TH99RV3TK80 = "md5sum:$CP7JNZF537EGQ2GPI81ZTQEMEVF7LWSMSUADNEGLNUXZN2HAZVR";}elsif ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{qignore} eq "\x{46}\x{49}\x{4c}\x{45}") {my $CS5YQF9CVCNCPXIM8GULVFMCO6LZLFC2RYM15RRUW0GUNO1BV3A = $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK."\x{2e}\x{72}\x{65}\x{73}\x{74}\x{6f}\x{72}\x{65}\x{34}";my %C8FVBFVHTE7FBOCXHHJ7R1T70IZR3GO8R1JCW83VN0OZ4LO2KZJ;open (my $CA5YUX47Q5VUGJTMW9XMZVRX97S39ZNWSPCIMPHMRGP2NFRYU84, "\x{3c}", $CS5YQF9CVCNCPXIM8GULVFMCO6LZLFC2RYM15RRUW0GUNO1BV3A);flock ($CA5YUX47Q5VUGJTMW9XMZVRX97S39ZNWSPCIMPHMRGP2NFRYU84, LOCK_SH);while (my $CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT = <$CA5YUX47Q5VUGJTMW9XMZVRX97S39ZNWSPCIMPHMRGP2NFRYU84>) {chomp $CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT;my ($CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH,$CWMPZDGOXWNR17XA0D2T69OZ9Z335BKQTGB0JERXZTHDIT06WH8) = split (/=/,$CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT,2);$C8FVBFVHTE7FBOCXHHJ7R1T70IZR3GO8R1JCW83VN0OZ4LO2KZJ{$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH} = $CWMPZDGOXWNR17XA0D2T69OZ9Z335BKQTGB0JERXZTHDIT06WH8;}close ($CA5YUX47Q5VUGJTMW9XMZVRX97S39ZNWSPCIMPHMRGP2NFRYU84);$CFMQH6R8OY68XH93TWNI6I8F6UDH5ZJQCMHD5UV9TH99RV3TK80 = "file:$C8FVBFVHTE7FBOCXHHJ7R1T70IZR3GO8R1JCW83VN0OZ4LO2KZJ{actfile}";}else {print "Invalid --qignore option [$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{qignore}], must be MD5 or FILE\n";print "Restore aborted\n";exit;}sysopen (my $C74NXCH2XAG8S9WF6D14OX0N2SUIYEEWHOP1ZJ4UY4P6JJFV7KV, $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ignore}, O_WRONLY | O_APPEND | O_CREAT) or die "Failed to open $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK: $!";flock ($C74NXCH2XAG8S9WF6D14OX0N2SUIYEEWHOP1ZJ4UY4P6JJFV7KV, LOCK_EX);print $C74NXCH2XAG8S9WF6D14OX0N2SUIYEEWHOP1ZJ4UY4P6JJFV7KV $CFMQH6R8OY68XH93TWNI6I8F6UDH5ZJQCMHD5UV9TH99RV3TK80."\n";close ($C74NXCH2XAG8S9WF6D14OX0N2SUIYEEWHOP1ZJ4UY4P6JJFV7KV);print "Ignore entry [$CFMQH6R8OY68XH93TWNI6I8F6UDH5ZJQCMHD5UV9TH99RV3TK80] added to $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ignore}\n";return;}sub CKRSG4MKAAG3U90R53A7X5P7Y8R6D52LFN61BNDR70DA0UR5KGD {my $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK = shift;if (-f $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK) {if (-T $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK or ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK =~ /\.cxsenc\.\d+(\_\d+)?$/)) {if ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK =~ /\.cxsenc\.\d+(\_\d+)?$/) {my ($CZUJNXI26LZ9P859WCCK3ZYF4V1G2N358OC0Z6L3KST6IB3ATYD, $CM799TTG1N1ZQINHFEE7ZAJ136255094X6E9O750ZN5UK2146UZ);my $C4L95A529FUX95761W7KRDG64WEHROJV4W90WBG1XPZ0YO34EVU = open3($CZUJNXI26LZ9P859WCCK3ZYF4V1G2N358OC0Z6L3KST6IB3ATYD, $CM799TTG1N1ZQINHFEE7ZAJ136255094X6E9O750ZN5UK2146UZ, $CM799TTG1N1ZQINHFEE7ZAJ136255094X6E9O750ZN5UK2146UZ, "\x{6f}\x{70}\x{65}\x{6e}\x{73}\x{73}\x{6c}","smime","-decrypt","-in",$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK,"-binary","-inform","DER","-inkey","/etc/cxs/.seckey/cxsprivate.pem");my @C8EZ2MYX2P0QTPIMEPP5PAKVRHDMUP78PGL2QZYT43PM4NGBSRA = <$CM799TTG1N1ZQINHFEE7ZAJ136255094X6E9O750ZN5UK2146UZ>;waitpid ($C4L95A529FUX95761W7KRDG64WEHROJV4W90WBG1XPZ0YO34EVU, 0);my $C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4 = 1;foreach my $CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT (@C8EZ2MYX2P0QTPIMEPP5PAKVRHDMUP78PGL2QZYT43PM4NGBSRA) {if ($CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT =~ /[^\n\r[[:print:]]]/) {$C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4 = 0;last;}}if ($C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4) {foreach my $CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT (@C8EZ2MYX2P0QTPIMEPP5PAKVRHDMUP78PGL2QZYT43PM4NGBSRA) {print $CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT."\n"}} else {print "Encrypted $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK is not a text file\n";}} else {if ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK =~ /\.restore4$/) {open (my $CA5YUX47Q5VUGJTMW9XMZVRX97S39ZNWSPCIMPHMRGP2NFRYU84, "\x{3c}", $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK) or die "Unable to open [$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK]: $!";flock ($CA5YUX47Q5VUGJTMW9XMZVRX97S39ZNWSPCIMPHMRGP2NFRYU84, LOCK_SH);while (my $CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT = <$CA5YUX47Q5VUGJTMW9XMZVRX97S39ZNWSPCIMPHMRGP2NFRYU84>) {chomp $CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT;my ($CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH,$CWMPZDGOXWNR17XA0D2T69OZ9Z335BKQTGB0JERXZTHDIT06WH8) = split (/=/,$CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT,2);if ($CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH eq "\x{6d}\x{65}\x{73}\x{73}\x{61}\x{67}\x{65}") {my $C6GKOC4X3WB2433SVT539VHHD30FXB36W45YSXH47NA5JG7SGEQ = decode_base64($CWMPZDGOXWNR17XA0D2T69OZ9Z335BKQTGB0JERXZTHDIT06WH8);$C6GKOC4X3WB2433SVT539VHHD30FXB36W45YSXH47NA5JG7SGEQ =~ s/^\# //;$C6GKOC4X3WB2433SVT539VHHD30FXB36W45YSXH47NA5JG7SGEQ =~ s/:$//;print "message = $C6GKOC4X3WB2433SVT539VHHD30FXB36W45YSXH47NA5JG7SGEQ\n";}elsif ($CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH eq "\x{74}\x{69}\x{6d}\x{65}") {print "\x{74}\x{69}\x{6d}\x{65}\x{20}\x{3d}\x{20}".localtime($CWMPZDGOXWNR17XA0D2T69OZ9Z335BKQTGB0JERXZTHDIT06WH8)."\n";}elsif ($CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH eq "\x{71}\x{61}\x{74}\x{69}\x{6d}\x{65}") {print "\x{61}\x{74}\x{69}\x{6d}\x{65}\x{20}\x{3d}\x{20}".localtime($CWMPZDGOXWNR17XA0D2T69OZ9Z335BKQTGB0JERXZTHDIT06WH8)."\n";}elsif ($CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH eq "\x{71}\x{63}\x{74}\x{69}\x{6d}\x{65}") {print "\x{63}\x{74}\x{69}\x{6d}\x{65}\x{20}\x{3d}\x{20}".localtime($CWMPZDGOXWNR17XA0D2T69OZ9Z335BKQTGB0JERXZTHDIT06WH8)."\n";}elsif ($CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH eq "\x{71}\x{6d}\x{74}\x{69}\x{6d}\x{65}") {print "\x{6d}\x{74}\x{69}\x{6d}\x{65}\x{20}\x{3d}\x{20}".localtime($CWMPZDGOXWNR17XA0D2T69OZ9Z335BKQTGB0JERXZTHDIT06WH8)."\n";}else {print "$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH = $CWMPZDGOXWNR17XA0D2T69OZ9Z335BKQTGB0JERXZTHDIT06WH8\n";;}}close ($CA5YUX47Q5VUGJTMW9XMZVRX97S39ZNWSPCIMPHMRGP2NFRYU84);} else {open (my $CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY, "\x{3c}", $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK) or die "Unable to open [$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK]: $!";flock ($CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY, LOCK_SH);my @CU4P5Z7DAO9PFNUBYQ52W29Z12763QUD5NLHGLATL4T8T0N7FMN = <$CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY>;close ($CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY);print @CU4P5Z7DAO9PFNUBYQ52W29Z12763QUD5NLHGLATL4T8T0N7FMN;}}} else {print "$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK is not a text file\n";}} else {print "Quarantine file not found: $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK\n";}return;}sub CC8MFDAVZ9A1S2RYL9E07RYHJ2E1G9UMBR52GB09IZZ2BIUWEJV {my $CS3WFQURC1A07JMBAA044KQYEHSRIC76GZD7TFFMDRJ0Y7PIMF0 = shift;my $CS5YQF9CVCNCPXIM8GULVFMCO6LZLFC2RYM15RRUW0GUNO1BV3A = $CS3WFQURC1A07JMBAA044KQYEHSRIC76GZD7TFFMDRJ0Y7PIMF0."\x{2e}\x{72}\x{65}\x{73}\x{74}\x{6f}\x{72}\x{65}\x{34}";my $CT7AMX3IAF2HBP6GLYO0J2J99Y0M44QYIM5FUO0XLNPU92ITZHS;my $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU;my @CGM93MC2CZQPEA4FE317CF94T2FUYTDOQAGBYRHJ9JV3U9MUBH7;if (-l $CS3WFQURC1A07JMBAA044KQYEHSRIC76GZD7TFFMDRJ0Y7PIMF0) {return "Restore failed - [File is a symlink]: $CS3WFQURC1A07JMBAA044KQYEHSRIC76GZD7TFFMDRJ0Y7PIMF0"}if (!-f $CS3WFQURC1A07JMBAA044KQYEHSRIC76GZD7TFFMDRJ0Y7PIMF0) {return "Restore failed - [Not a file]: $CS3WFQURC1A07JMBAA044KQYEHSRIC76GZD7TFFMDRJ0Y7PIMF0"}if (-l $CS5YQF9CVCNCPXIM8GULVFMCO6LZLFC2RYM15RRUW0GUNO1BV3A) {return "Restore failed - [File is a symlink]: $CS5YQF9CVCNCPXIM8GULVFMCO6LZLFC2RYM15RRUW0GUNO1BV3A"}if (!-f $CS5YQF9CVCNCPXIM8GULVFMCO6LZLFC2RYM15RRUW0GUNO1BV3A) {return "Restore failed - [Not a file]: $CS5YQF9CVCNCPXIM8GULVFMCO6LZLFC2RYM15RRUW0GUNO1BV3A"}stat($CS3WFQURC1A07JMBAA044KQYEHSRIC76GZD7TFFMDRJ0Y7PIMF0);if ($st_uid != 0) {return "Restore failed - [Not a valid restore file]: $CS3WFQURC1A07JMBAA044KQYEHSRIC76GZD7TFFMDRJ0Y7PIMF0"}my %C8FVBFVHTE7FBOCXHHJ7R1T70IZR3GO8R1JCW83VN0OZ4LO2KZJ;open (my $CA5YUX47Q5VUGJTMW9XMZVRX97S39ZNWSPCIMPHMRGP2NFRYU84, "\x{3c}", $CS5YQF9CVCNCPXIM8GULVFMCO6LZLFC2RYM15RRUW0GUNO1BV3A);flock ($CA5YUX47Q5VUGJTMW9XMZVRX97S39ZNWSPCIMPHMRGP2NFRYU84, LOCK_SH);while (my $CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT = <$CA5YUX47Q5VUGJTMW9XMZVRX97S39ZNWSPCIMPHMRGP2NFRYU84>) {chomp $CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT;my ($CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH,$CWMPZDGOXWNR17XA0D2T69OZ9Z335BKQTGB0JERXZTHDIT06WH8) = split (/=/,$CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT,2);$C8FVBFVHTE7FBOCXHHJ7R1T70IZR3GO8R1JCW83VN0OZ4LO2KZJ{$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH} = $CWMPZDGOXWNR17XA0D2T69OZ9Z335BKQTGB0JERXZTHDIT06WH8;}close ($CA5YUX47Q5VUGJTMW9XMZVRX97S39ZNWSPCIMPHMRGP2NFRYU84);$CT7AMX3IAF2HBP6GLYO0J2J99Y0M44QYIM5FUO0XLNPU92ITZHS = $C8FVBFVHTE7FBOCXHHJ7R1T70IZR3GO8R1JCW83VN0OZ4LO2KZJ{actfile};if ($CT7AMX3IAF2HBP6GLYO0J2J99Y0M44QYIM5FUO0XLNPU92ITZHS eq "") {return "Restore failed - [no restore file name set in $CS5YQF9CVCNCPXIM8GULVFMCO6LZLFC2RYM15RRUW0GUNO1BV3A]: $CS3WFQURC1A07JMBAA044KQYEHSRIC76GZD7TFFMDRJ0Y7PIMF0"}if (-e $CT7AMX3IAF2HBP6GLYO0J2J99Y0M44QYIM5FUO0XLNPU92ITZHS) {return "Restore failed - [File exists]: $CT7AMX3IAF2HBP6GLYO0J2J99Y0M44QYIM5FUO0XLNPU92ITZHS\nThis file must be manually deleted before restore"}sysopen (my $C74NXCH2XAG8S9WF6D14OX0N2SUIYEEWHOP1ZJ4UY4P6JJFV7KV, $CT7AMX3IAF2HBP6GLYO0J2J99Y0M44QYIM5FUO0XLNPU92ITZHS, O_EXCL | O_WRONLY | O_CREAT) or return "Restore failed - [Unable to create file: $!]: $CT7AMX3IAF2HBP6GLYO0J2J99Y0M44QYIM5FUO0XLNPU92ITZHS";flock ($C74NXCH2XAG8S9WF6D14OX0N2SUIYEEWHOP1ZJ4UY4P6JJFV7KV, LOCK_EX) or return "Restore failed - [Unable to lock: $!]: $CT7AMX3IAF2HBP6GLYO0J2J99Y0M44QYIM5FUO0XLNPU92ITZHS";open (my $CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY,"\x{3c}",$CS3WFQURC1A07JMBAA044KQYEHSRIC76GZD7TFFMDRJ0Y7PIMF0) or return "Restore failed - [Unable to open: $!]: $CS3WFQURC1A07JMBAA044KQYEHSRIC76GZD7TFFMDRJ0Y7PIMF0";flock ($CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY, LOCK_SH);my @CX1SOS0KHHYA817QKYA2ZLAB0VY80XMIWWZQMYSXKK7YC8V6KZ6 = <$CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY> or return "Restore failed - [Unable to read: $!]: $CS3WFQURC1A07JMBAA044KQYEHSRIC76GZD7TFFMDRJ0Y7PIMF0";close ($CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY) or return "Restore failed - [Unable to close: $!]: $CS3WFQURC1A07JMBAA044KQYEHSRIC76GZD7TFFMDRJ0Y7PIMF0";if ($C8FVBFVHTE7FBOCXHHJ7R1T70IZR3GO8R1JCW83VN0OZ4LO2KZJ{encrypted}) {my ($CZUJNXI26LZ9P859WCCK3ZYF4V1G2N358OC0Z6L3KST6IB3ATYD, $CM799TTG1N1ZQINHFEE7ZAJ136255094X6E9O750ZN5UK2146UZ);my $C4L95A529FUX95761W7KRDG64WEHROJV4W90WBG1XPZ0YO34EVU = open3($CZUJNXI26LZ9P859WCCK3ZYF4V1G2N358OC0Z6L3KST6IB3ATYD, $CM799TTG1N1ZQINHFEE7ZAJ136255094X6E9O750ZN5UK2146UZ, $CM799TTG1N1ZQINHFEE7ZAJ136255094X6E9O750ZN5UK2146UZ, "\x{6f}\x{70}\x{65}\x{6e}\x{73}\x{73}\x{6c}","smime","-decrypt","-in",$CS3WFQURC1A07JMBAA044KQYEHSRIC76GZD7TFFMDRJ0Y7PIMF0,"-binary","-inform","DER","-inkey","/etc/cxs/.seckey/cxsprivate.pem");@CGM93MC2CZQPEA4FE317CF94T2FUYTDOQAGBYRHJ9JV3U9MUBH7 = <$CM799TTG1N1ZQINHFEE7ZAJ136255094X6E9O750ZN5UK2146UZ>;waitpid ($C4L95A529FUX95761W7KRDG64WEHROJV4W90WBG1XPZ0YO34EVU, 0);}if (@CGM93MC2CZQPEA4FE317CF94T2FUYTDOQAGBYRHJ9JV3U9MUBH7) {@CX1SOS0KHHYA817QKYA2ZLAB0VY80XMIWWZQMYSXKK7YC8V6KZ6 = @CGM93MC2CZQPEA4FE317CF94T2FUYTDOQAGBYRHJ9JV3U9MUBH7}print $C74NXCH2XAG8S9WF6D14OX0N2SUIYEEWHOP1ZJ4UY4P6JJFV7KV @CX1SOS0KHHYA817QKYA2ZLAB0VY80XMIWWZQMYSXKK7YC8V6KZ6 or return "Restore failed - [Unable to write: $!]: $CT7AMX3IAF2HBP6GLYO0J2J99Y0M44QYIM5FUO0XLNPU92ITZHS";close ($C74NXCH2XAG8S9WF6D14OX0N2SUIYEEWHOP1ZJ4UY4P6JJFV7KV) or return "Restore failed - [Unable to close: $!]: $CT7AMX3IAF2HBP6GLYO0J2J99Y0M44QYIM5FUO0XLNPU92ITZHS";chmod($C8FVBFVHTE7FBOCXHHJ7R1T70IZR3GO8R1JCW83VN0OZ4LO2KZJ{qmode},$CT7AMX3IAF2HBP6GLYO0J2J99Y0M44QYIM5FUO0XLNPU92ITZHS);chown($C8FVBFVHTE7FBOCXHHJ7R1T70IZR3GO8R1JCW83VN0OZ4LO2KZJ{quid},$C8FVBFVHTE7FBOCXHHJ7R1T70IZR3GO8R1JCW83VN0OZ4LO2KZJ{qgid},$CT7AMX3IAF2HBP6GLYO0J2J99Y0M44QYIM5FUO0XLNPU92ITZHS);$CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU = "Restored to $CT7AMX3IAF2HBP6GLYO0J2J99Y0M44QYIM5FUO0XLNPU92ITZHS";unlink $CS3WFQURC1A07JMBAA044KQYEHSRIC76GZD7TFFMDRJ0Y7PIMF0;unlink $CS5YQF9CVCNCPXIM8GULVFMCO6LZLFC2RYM15RRUW0GUNO1BV3A;return $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU;}sub CIXYS0JBT8TTC0O8972Z8FIHOLR11WBFUTU9U10ZICDY83RUEPS {if (-d $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine}) {unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "Cleaning quarantine directory: $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine}...\n"}find(\&CPI9NDUAAGXBPPCRWW3OWDQML68KUPZOPDKBMROP2HU9TGCP7KD, $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine});unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "Completed\n"}} else {print "Quarantine directory does not exist: [$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine}]\n";}return;}sub CPI9NDUAAGXBPPCRWW3OWDQML68KUPZOPDKBMROP2HU9TGCP7KD {if (-l $File::Find::name) {next}unless (-f $File::Find::name) {next}unless ($File::Find::name =~ /\.restore4?$/) {next}my $CYDS0PL882OKKH0DZUJFLIFTGCL72A5W2P7SMBP26Q18VUQOFOD = $File::Find::name;my $CX5T6KX0SI8HF4SOOU8MBOANOBDPI6DKTTYT2KEML23RCV2PG91 = $CYDS0PL882OKKH0DZUJFLIFTGCL72A5W2P7SMBP26Q18VUQOFOD;$CX5T6KX0SI8HF4SOOU8MBOANOBDPI6DKTTYT2KEML23RCV2PG91 =~ s/\.restore4?$//;unless (-f $CX5T6KX0SI8HF4SOOU8MBOANOBDPI6DKTTYT2KEML23RCV2PG91) {next}stat($CX5T6KX0SI8HF4SOOU8MBOANOBDPI6DKTTYT2KEML23RCV2PG91);if (time - $st_mtime > ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{qclean} * 86400)) {unlink $CYDS0PL882OKKH0DZUJFLIFTGCL72A5W2P7SMBP26Q18VUQOFOD, $CX5T6KX0SI8HF4SOOU8MBOANOBDPI6DKTTYT2KEML23RCV2PG91;unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quiet}) {print "Removed: $CX5T6KX0SI8HF4SOOU8MBOANOBDPI6DKTTYT2KEML23RCV2PG91\n"}}return;}sub CJ2LN4OA7PNGC35C8NV1UM6BFMXPEWMK1OV518L86Y5X5IMPMXI {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine} eq "") {return "You must specify a quarantine directory to create using --quarantine [dir]\n";} else {my $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU = mkdir ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine});if (-d $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine}) {chmod (0755, $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine});mkdir ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine}."\x{2f}\x{63}\x{78}\x{73}\x{63}\x{67}\x{69}");system ("\x{63}\x{68}\x{67}\x{72}\x{70}",$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{defapache},$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine}."/cxscgi");chmod (0730, $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine}."\x{2f}\x{63}\x{78}\x{73}\x{63}\x{67}\x{69}");mkdir ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine}."\x{2f}\x{63}\x{78}\x{73}\x{75}\x{73}\x{65}\x{72}");chmod (0600, $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine}."\x{2f}\x{63}\x{78}\x{73}\x{75}\x{73}\x{65}\x{72}");mkdir ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine}."\x{2f}\x{63}\x{78}\x{73}\x{6d}\x{6f}\x{6e}");chmod (0600, $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine}."\x{2f}\x{63}\x{78}\x{73}\x{6d}\x{6f}\x{6e}");return "Created quarantine directory $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine}\n";} else {return "Unable to create directory [$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{quarantine}]: $!\n";}}return;}sub CQO99WW73ZXVM5GJB6YIAOINB037Y0M4S4QNKTYANK02D6A4WIT {unless ($ENV{UPLOAD_IP}) {my $CAPBXM7BA3YSFR6SUPMKSOIVWVHOJ6ZV2BVJIMT54V2075DSYQA;my $CV8FFN9TYBDO879KQEY3GHGL01638RL5TPQ9G4VUUNHHF5NABI0;my $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK = $ARGV[0];my $CYKCV0GLLMN9TA76YA8YO18AE50JDYL8400UHMGG1D4ZZ50LRNK = 64 * 1024;$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK =~ s/\/\//\//g;my $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI;if (-e "\x{2f}\x{75}\x{73}\x{72}\x{2f}\x{6c}\x{6f}\x{63}\x{61}\x{6c}\x{2f}\x{63}\x{70}\x{61}\x{6e}\x{65}\x{6c}\x{2f}\x{76}\x{65}\x{72}\x{73}\x{69}\x{6f}\x{6e}") {open ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, "\x{3c}", "/var/log/messages");}elsif (-e "\x{2f}\x{75}\x{73}\x{72}\x{2f}\x{6c}\x{6f}\x{63}\x{61}\x{6c}\x{2f}\x{64}\x{69}\x{72}\x{65}\x{63}\x{74}\x{61}\x{64}\x{6d}\x{69}\x{6e}\x{2f}\x{63}\x{6f}\x{6e}\x{66}\x{2f}\x{64}\x{69}\x{72}\x{65}\x{63}\x{74}\x{61}\x{64}\x{6d}\x{69}\x{6e}\x{2e}\x{63}\x{6f}\x{6e}\x{66}") {open ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, "\x{3c}", "/var/log/pureftpd.log");}flock ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, LOCK_SH);seek ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, - $CYKCV0GLLMN9TA76YA8YO18AE50JDYL8400UHMGG1D4ZZ50LRNK, 2);my $CFQJF75012LL8VD1MLR3U82V1BH2D4GSSE97MHN6M5L0ERI0Q5X = read ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, my $C303N8D7EQRJPP7CWW23Q8MENWX5ZJUL2QW215K88W71DJT3NYX, $CYKCV0GLLMN9TA76YA8YO18AE50JDYL8400UHMGG1D4ZZ50LRNK);close ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI);my @CCZ2QR1WXBYVL1A5HFALOX990XU6Q94Z8UQ34ULANTSSQK7R52J = split(/\n/, $C303N8D7EQRJPP7CWW23Q8MENWX5ZJUL2QW215K88W71DJT3NYX);chomp @CCZ2QR1WXBYVL1A5HFALOX990XU6Q94Z8UQ34ULANTSSQK7R52J;unless ($CFQJF75012LL8VD1MLR3U82V1BH2D4GSSE97MHN6M5L0ERI0Q5X < $CYKCV0GLLMN9TA76YA8YO18AE50JDYL8400UHMGG1D4ZZ50LRNK) {shift @CCZ2QR1WXBYVL1A5HFALOX990XU6Q94Z8UQ34ULANTSSQK7R52J}foreach my $CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT (@CCZ2QR1WXBYVL1A5HFALOX990XU6Q94Z8UQ34ULANTSSQK7R52J) {if ($CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT =~ /^\S+\s+\d+\s+\S+ [^\s\.]+ pure-ftpd: \((\S+)\@(\d+\.\d+\.\d+\.\d+)\) \[NOTICE\] (\S+) uploaded\s+\([^\)]+\)$/) {my $a = $1;my $b = $2;my $CCF56TBNY5HABGZKO8JESVJG6J9R6JW42UTN94N7Z3M9AKVMEDT = $3;$CCF56TBNY5HABGZKO8JESVJG6J9R6JW42UTN94N7Z3M9AKVMEDT =~ s|//|/|g;if ((lc $a eq lc $ENV{UPLOAD_VUSER}) and ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK eq $CCF56TBNY5HABGZKO8JESVJG6J9R6JW42UTN94N7Z3M9AKVMEDT)) {$CAPBXM7BA3YSFR6SUPMKSOIVWVHOJ6ZV2BVJIMT54V2075DSYQA = $b}}if ($CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT =~ /^\S+\s+\S+\s+(\S+)\s+(\d+\.\d+\.\d+\.\d+)\s+U\s+\S+\s+\S+\s+(\S+)/) {my $a = $1;my $b = $2;my $CCF56TBNY5HABGZKO8JESVJG6J9R6JW42UTN94N7Z3M9AKVMEDT = $3;if ((lc $a eq lc $ENV{UPLOAD_VUSER}) and ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK eq $CCF56TBNY5HABGZKO8JESVJG6J9R6JW42UTN94N7Z3M9AKVMEDT)) {$CAPBXM7BA3YSFR6SUPMKSOIVWVHOJ6ZV2BVJIMT54V2075DSYQA = $b}}if ($CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT =~ /^\S+\s+\d+\s+\S+ [^\s\.]+ pure-ftpd: \(\?\@(\d+\.\d+\.\d+\.\d+)\) \[INFO\] (\S+) is now logged in/) {if (lc $2 eq lc $ENV{UPLOAD_VUSER}) {$CV8FFN9TYBDO879KQEY3GHGL01638RL5TPQ9G4VUUNHHF5NABI0 = $1}}} $ENV{UPLOAD_IP} = $CAPBXM7BA3YSFR6SUPMKSOIVWVHOJ6ZV2BVJIMT54V2075DSYQA || $CV8FFN9TYBDO879KQEY3GHGL01638RL5TPQ9G4VUUNHHF5NABI0 || "unknown"; ## no critic -}return;}sub CTRQDXFA23HUTJH7L7FYLCATCD4B8998Y6RWHZ3DGB5NP9CLED7 {my $CS3WFQURC1A07JMBAA044KQYEHSRIC76GZD7TFFMDRJ0Y7PIMF0 = shift;my $CT7AMX3IAF2HBP6GLYO0J2J99Y0M44QYIM5FUO0XLNPU92ITZHS = shift;my $C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4 = shift;my $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS = shift;my $CLUTCK42ITSQD4UKLN3FT9ZQS9W9CSPPQVR74YYX3WIEIWERH0T = shift;my $C8LZ4RQYFCPYX7XQ16UTT1ZVARA30K9ZHAMIPQ0CSK70WTTVRHD = localtime(time);$C8LZ4RQYFCPYX7XQ16UTT1ZVARA30K9ZHAMIPQ0CSK70WTTVRHD =~ s/^(\w+)\s+(\w+)\s+(\d+)\s+(\d+:\d+:\d+)\s+(\d+)$/$1, $3 $2 $5 $4/;my $CME2CPZPHDQ8NMIR13C1VB4TDIER70US1O8SJOT6GRX7HXIEYPT = "cxs Scan on $C2RUXHVWTBRM1TJNHYR4GU2X91UXCLS6M4K6UPZNAMHJ94RWEGE (Hits:$CRJ6LNQ105I55EXFCPNXUT6U6N2XFJ0XSU7RCGPS31TESCA8NXS) (Viruses:$C94ICU8JH5SUI65ZVEHJ1HVY0DW0W4JRY3N9FKA98MZ716ZUCS2) (Fingerprints:$CFEIT2IDGHWUSQVPWT5ELK518FZHCXWD6G84E7F0TRH1JL8OFZ7)";if ($CFI51DU3PIZ28R8CKGCOO6N24U9P4W63X3CUUB64VYAOODLCAFC eq "\x{43}\x{50}\x{41}\x{4e}\x{45}\x{4c}" and !$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{cgi}) {my $CJ7KTFS6S0UI63GXKKXABFFKE0PTS384L400W8L99ZIJ4WBXYFC = (getpwnam($C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS))[7];if (-e "$CJ7KTFS6S0UI63GXKKXABFFKE0PTS384L400W8L99ZIJ4WBXYFC/.contactemail") {open (my $CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY, "\x{3c}", "$CJ7KTFS6S0UI63GXKKXABFFKE0PTS384L400W8L99ZIJ4WBXYFC/.contactemail");flock ($CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY, LOCK_SH);my $C11NRD4F1ATNKQRAT94KVNFA0FXTL0UROF3D65VF3DLD3C26PTM = <$CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY>;close ($CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY);chomp $C11NRD4F1ATNKQRAT94KVNFA0FXTL0UROF3D65VF3DLD3C26PTM;if ($C11NRD4F1ATNKQRAT94KVNFA0FXTL0UROF3D65VF3DLD3C26PTM ne "") {$C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS = $C11NRD4F1ATNKQRAT94KVNFA0FXTL0UROF3D65VF3DLD3C26PTM}}}if ($C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS ne "" and $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS !~ /\@/) {$C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS .= '@'.$C2RUXHVWTBRM1TJNHYR4GU2X91UXCLS6M4K6UPZNAMHJ94RWEGE}if ($CT7AMX3IAF2HBP6GLYO0J2J99Y0M44QYIM5FUO0XLNPU92ITZHS eq "\x{65}\x{6e}\x{64}\x{20}\x{75}\x{73}\x{65}\x{72}") {$CT7AMX3IAF2HBP6GLYO0J2J99Y0M44QYIM5FUO0XLNPU92ITZHS = $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS ; $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS = ""}if ($CS3WFQURC1A07JMBAA044KQYEHSRIC76GZD7TFFMDRJ0Y7PIMF0 !~ /\@/) {$CS3WFQURC1A07JMBAA044KQYEHSRIC76GZD7TFFMDRJ0Y7PIMF0 .= '@'.$C2RUXHVWTBRM1TJNHYR4GU2X91UXCLS6M4K6UPZNAMHJ94RWEGE}if ($CT7AMX3IAF2HBP6GLYO0J2J99Y0M44QYIM5FUO0XLNPU92ITZHS !~ /\@/) {$CT7AMX3IAF2HBP6GLYO0J2J99Y0M44QYIM5FUO0XLNPU92ITZHS .= '@'.$C2RUXHVWTBRM1TJNHYR4GU2X91UXCLS6M4K6UPZNAMHJ94RWEGE}my $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR;my $CSE69M0TADIDSYTI0RQ2YXFDWK4R5DKG4K1E613UE0FM1N03A67;my $C2IFW6ZC9C5PKU1SG0T8ON7ZK2BZC7LGC62O7FH9R54I110CQ5S;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{template} and -e $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{template}) {foreach my $CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT (slurp($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{template})) {$CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT =~ s/$cleanreg//g;$CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT =~ s/\[from\]/$CS3WFQURC1A07JMBAA044KQYEHSRIC76GZD7TFFMDRJ0Y7PIMF0/ig;$CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT =~ s/\[to\]/$CT7AMX3IAF2HBP6GLYO0J2J99Y0M44QYIM5FUO0XLNPU92ITZHS/ig;$CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT =~ s/\[user\]/$C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS/ig;$CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT =~ s/\[text\]/$C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4/ig;$CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT =~ s/\[hits\]/$CRJ6LNQ105I55EXFCPNXUT6U6N2XFJ0XSU7RCGPS31TESCA8NXS/ig;$CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT =~ s/\[viruses\]/$C94ICU8JH5SUI65ZVEHJ1HVY0DW0W4JRY3N9FKA98MZ716ZUCS2/ig;$CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT =~ s/\[fingerprints\]/$CFEIT2IDGHWUSQVPWT5ELK518FZHCXWD6G84E7F0TRH1JL8OFZ7/ig;$CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT =~ s/\[time\]/$C8LZ4RQYFCPYX7XQ16UTT1ZVARA30K9ZHAMIPQ0CSK70WTTVRHD $CA0V9VLS7TMONLE6E2ULF4EXHBDMTT2O0DX1SJ2MSCLN4580DC4/ig;$CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT =~ s/\[hostname\]/$C2RUXHVWTBRM1TJNHYR4GU2X91UXCLS6M4K6UPZNAMHJ94RWEGE/ig;if ($CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT =~ /^Subject:/i) {$CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT .= "\nDate: $C8LZ4RQYFCPYX7XQ16UTT1ZVARA30K9ZHAMIPQ0CSK70WTTVRHD $CA0V9VLS7TMONLE6E2ULF4EXHBDMTT2O0DX1SJ2MSCLN4580DC4";}$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "$CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT\n";if ($CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT =~ /CC:\s*(.*)$/i) {if ($1 ne "") {$CSE69M0TADIDSYTI0RQ2YXFDWK4R5DKG4K1E613UE0FM1N03A67 = $1}}if ($CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT =~ /BCC:\s*(.*)$/i) {if ($1 ne "") {$C2IFW6ZC9C5PKU1SG0T8ON7ZK2BZC7LGC62O7FH9R54I110CQ5S = $1}}}} else {my $C2VRA18CIOEA936V16QMC7DMG1AO6TDUWAX3J6Z6I9G0KF5ZPCU = "\x{63}\x{78}\x{73}".time;$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR = "From: $CS3WFQURC1A07JMBAA044KQYEHSRIC76GZD7TFFMDRJ0Y7PIMF0\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "To: $CT7AMX3IAF2HBP6GLYO0J2J99Y0M44QYIM5FUO0XLNPU92ITZHS\n";if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{html}) {$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "MIME-Version: 1.0\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "Content-Type: multipart/alternative; boundary=\"------------$C2VRA18CIOEA936V16QMC7DMG1AO6TDUWAX3J6Z6I9G0KF5ZPCU\"\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "Subject: $CME2CPZPHDQ8NMIR13C1VB4TDIER70US1O8SJOT6GRX7HXIEYPT\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "Date: $C8LZ4RQYFCPYX7XQ16UTT1ZVARA30K9ZHAMIPQ0CSK70WTTVRHD $CA0V9VLS7TMONLE6E2ULF4EXHBDMTT2O0DX1SJ2MSCLN4580DC4\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "This is a multi-part message in MIME format.\n\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "--------------$C2VRA18CIOEA936V16QMC7DMG1AO6TDUWAX3J6Z6I9G0KF5ZPCU\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "Content-Type: text/plain;\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "Content-Transfer-Encoding: 7bit\n\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "$C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "--------------$C2VRA18CIOEA936V16QMC7DMG1AO6TDUWAX3J6Z6I9G0KF5ZPCU\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "Content-Type: text/html;\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "Content-Transfer-Encoding: 7bit\n\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "$CLUTCK42ITSQD4UKLN3FT9ZQS9W9CSPPQVR74YYX3WIEIWERH0T\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "\n--------------$C2VRA18CIOEA936V16QMC7DMG1AO6TDUWAX3J6Z6I9G0KF5ZPCU--\n";} else {$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "Subject: $CME2CPZPHDQ8NMIR13C1VB4TDIER70US1O8SJOT6GRX7HXIEYPT\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "Date: $C8LZ4RQYFCPYX7XQ16UTT1ZVARA30K9ZHAMIPQ0CSK70WTTVRHD $CA0V9VLS7TMONLE6E2ULF4EXHBDMTT2O0DX1SJ2MSCLN4580DC4\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "$C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4\n";}}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{smtp}) {my $CEA69ZNEWJKIWFZO7NLK4CRCAGAJZTSTAQJX0WJIN9ASTQTK7UC = Net::SMTP->new('localhost', Debug => $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) or return;$CEA69ZNEWJKIWFZO7NLK4CRCAGAJZTSTAQJX0WJIN9ASTQTK7UC->mail($CS3WFQURC1A07JMBAA044KQYEHSRIC76GZD7TFFMDRJ0Y7PIMF0);$CEA69ZNEWJKIWFZO7NLK4CRCAGAJZTSTAQJX0WJIN9ASTQTK7UC->to($CT7AMX3IAF2HBP6GLYO0J2J99Y0M44QYIM5FUO0XLNPU92ITZHS);if ($CSE69M0TADIDSYTI0RQ2YXFDWK4R5DKG4K1E613UE0FM1N03A67) {$CEA69ZNEWJKIWFZO7NLK4CRCAGAJZTSTAQJX0WJIN9ASTQTK7UC->cc($CSE69M0TADIDSYTI0RQ2YXFDWK4R5DKG4K1E613UE0FM1N03A67)}if ($C2IFW6ZC9C5PKU1SG0T8ON7ZK2BZC7LGC62O7FH9R54I110CQ5S) {$CEA69ZNEWJKIWFZO7NLK4CRCAGAJZTSTAQJX0WJIN9ASTQTK7UC->bcc($C2IFW6ZC9C5PKU1SG0T8ON7ZK2BZC7LGC62O7FH9R54I110CQ5S)}$CEA69ZNEWJKIWFZO7NLK4CRCAGAJZTSTAQJX0WJIN9ASTQTK7UC->data();$CEA69ZNEWJKIWFZO7NLK4CRCAGAJZTSTAQJX0WJIN9ASTQTK7UC->datasend($CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR);$CEA69ZNEWJKIWFZO7NLK4CRCAGAJZTSTAQJX0WJIN9ASTQTK7UC->dataend();$CEA69ZNEWJKIWFZO7NLK4CRCAGAJZTSTAQJX0WJIN9ASTQTK7UC->quit();} else {open (my $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, "|-", "/usr/sbin/sendmail -t");print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR;close ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI);}return;}sub CBDBHF4FTMDO66Z6OHTIGZRMCHIXQCE8MWC6LBOOLOJ2C737D0P {if ($C2DSWVV230WWWSG3IFG1FUBCR7EV0H48CM1ZUN014EHFZWIHOKO =~ /\d+/ and $C2DSWVV230WWWSG3IFG1FUBCR7EV0H48CM1ZUN014EHFZWIHOKO > 1) {if (kill (0, $C2DSWVV230WWWSG3IFG1FUBCR7EV0H48CM1ZUN014EHFZWIHOKO)) {kill (9, $C2DSWVV230WWWSG3IFG1FUBCR7EV0H48CM1ZUN014EHFZWIHOKO);}}return;}sub CDL8JN8N3IKVWJ2DAE3942TSBQZPP90G4S33SQAM3FMK0D12PUT {my $CS3WFQURC1A07JMBAA044KQYEHSRIC76GZD7TFFMDRJ0Y7PIMF0 = shift;my $CT7AMX3IAF2HBP6GLYO0J2J99Y0M44QYIM5FUO0XLNPU92ITZHS = shift;my $C5JRXOOWI67R2VXEASKOMCABF5EHBWXM82QC9YQIF4Z60L00846 = 1;my $C74NXCH2XAG8S9WF6D14OX0N2SUIYEEWHOP1ZJ4UY4P6JJFV7KV;if (-l $CS3WFQURC1A07JMBAA044KQYEHSRIC76GZD7TFFMDRJ0Y7PIMF0) {return "Move failed - [File is a symlink]: $CS3WFQURC1A07JMBAA044KQYEHSRIC76GZD7TFFMDRJ0Y7PIMF0"}if (!-f $CS3WFQURC1A07JMBAA044KQYEHSRIC76GZD7TFFMDRJ0Y7PIMF0) {return "Move failed - [Not a file]: $CS3WFQURC1A07JMBAA044KQYEHSRIC76GZD7TFFMDRJ0Y7PIMF0"}do {$CG8JV60T1PU4K3STSSNAJXY642H7F3RVEDUYY5MJ3D9Z1DNFCJ3 = $CT7AMX3IAF2HBP6GLYO0J2J99Y0M44QYIM5FUO0XLNPU92ITZHS."_$C5JRXOOWI67R2VXEASKOMCABF5EHBWXM82QC9YQIF4Z60L00846";$C5JRXOOWI67R2VXEASKOMCABF5EHBWXM82QC9YQIF4Z60L00846++;if ($C5JRXOOWI67R2VXEASKOMCABF5EHBWXM82QC9YQIF4Z60L00846 > 999) {return "Move failed - [Unable to generate quarantine file: $!]: $CG8JV60T1PU4K3STSSNAJXY642H7F3RVEDUYY5MJ3D9Z1DNFCJ3"}} until sysopen ($C74NXCH2XAG8S9WF6D14OX0N2SUIYEEWHOP1ZJ4UY4P6JJFV7KV, $CG8JV60T1PU4K3STSSNAJXY642H7F3RVEDUYY5MJ3D9Z1DNFCJ3, O_EXCL | O_WRONLY | O_CREAT);flock ($C74NXCH2XAG8S9WF6D14OX0N2SUIYEEWHOP1ZJ4UY4P6JJFV7KV, LOCK_EX) or return "Move failed - [Unable to lock: $!]: $CG8JV60T1PU4K3STSSNAJXY642H7F3RVEDUYY5MJ3D9Z1DNFCJ3";open (my $CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY,"\x{3c}",$CS3WFQURC1A07JMBAA044KQYEHSRIC76GZD7TFFMDRJ0Y7PIMF0) or return "Move failed - [Unable to open: $!]: $CS3WFQURC1A07JMBAA044KQYEHSRIC76GZD7TFFMDRJ0Y7PIMF0";flock ($CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY, LOCK_SH);while (my $CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT = <$CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY>) {print $C74NXCH2XAG8S9WF6D14OX0N2SUIYEEWHOP1ZJ4UY4P6JJFV7KV $CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT}close ($CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY) or return "Move failed - [Unable to close: $!]: $CS3WFQURC1A07JMBAA044KQYEHSRIC76GZD7TFFMDRJ0Y7PIMF0";;close ($C74NXCH2XAG8S9WF6D14OX0N2SUIYEEWHOP1ZJ4UY4P6JJFV7KV) or return "Move failed - [Unable to close: $!]: $CG8JV60T1PU4K3STSSNAJXY642H7F3RVEDUYY5MJ3D9Z1DNFCJ3";unless ($CTT54HUQ24FKXW1QAEWTOBU1UNV3W2MM8A5I6F90M2A2P9LP4EH) {unlink $CS3WFQURC1A07JMBAA044KQYEHSRIC76GZD7TFFMDRJ0Y7PIMF0 or return "Move failed - [Unable to delete: $!]: $CS3WFQURC1A07JMBAA044KQYEHSRIC76GZD7TFFMDRJ0Y7PIMF0"}return 0;}sub CP0EPHOTT0D24K5TP9BF3TTRMWNHJ3ZSS151SOMPR2VJMITAI20 {local $SIG{INT} = \&CHM4TFEJ23H1KFRVPOJT6I0PPHF7ODQVGF7D3W3ZT1RAXXM8PZ3;local $SIG{TERM} = \&CHM4TFEJ23H1KFRVPOJT6I0PPHF7ODQVGF7D3W3ZT1RAXXM8PZ3;local $SIG{HUP} = \&CHM4TFEJ23H1KFRVPOJT6I0PPHF7ODQVGF7D3W3ZT1RAXXM8PZ3;setlocale(LC_ALL, "\x{50}\x{4f}\x{53}\x{49}\x{58}");$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wrefresh} = $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wrefresh} * 86400;$CAQZZTJEFIVX8C03S7H3AUWLS2JIUIBSR4DMMRUX0QCXOOSJIVE = time;$C0BQ09BWEYG524WPHEAJ2RLQQG8MW1FMQB7GFQ52YT7JBUKRU2Y = time;$C0Y46O1SIKB9IWWQH5N7MZVB6T7QVMCGPMAW3CXS86OGUXOR1FE = $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel};if (-e "\x{2f}\x{70}\x{72}\x{6f}\x{63}\x{2f}\x{76}\x{7a}\x{2f}\x{76}\x{65}\x{69}\x{6e}\x{66}\x{6f}") {$C2LAX1F1GND1R8XRRIAB1AGRN1CWRKVSF7C1K4AA6M571645PYV = 1}else {foreach my $CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT (slurp("\x{2f}\x{70}\x{72}\x{6f}\x{63}\x{2f}\x{73}\x{65}\x{6c}\x{66}\x{2f}\x{73}\x{74}\x{61}\x{74}\x{75}\x{73}")) {$CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT =~ s/$cleanreg//g;if ($CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT =~ /^envID:\s*(\d+)\s*$/) {if ($1 > 0) {$C2LAX1F1GND1R8XRRIAB1AGRN1CWRKVSF7C1K4AA6M571645PYV = 1;last;}}}}&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("\x{53}\x{74}\x{61}\x{72}\x{74}\x{75}\x{70}\x{2e}\x{2e}\x{2e}");&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ($CWFKVIKQAQZBDY9751SMUYHZ3VK94MYJ3T0AYK8OYYBY4A0543S);&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Starting $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wmaxchild} children...");&CFRYD37MTSYAUS6RQY0LYOPEUR7YQW5KOE1M2CTFGWUX2PDIJJS;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wmonitor} and -e $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wmonitor}) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("\x{53}\x{74}\x{61}\x{72}\x{74}\x{69}\x{6e}\x{67}\x{20}\x{4d}\x{6f}\x{6e}\x{69}\x{74}\x{6f}\x{72}\x{20}\x{63}\x{68}\x{69}\x{6c}\x{64}\x{2e}\x{2e}\x{2e}");&C8L2EF0GCYMD8YAZJP6NRP46CER2ZYPXNN65OXT568E3GFK82SX;}&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("\x{53}\x{65}\x{74}\x{74}\x{69}\x{6e}\x{67}\x{20}\x{75}\x{70}\x{20}\x{57}\x{61}\x{74}\x{63}\x{68}\x{20}\x{50}\x{6f}\x{69}\x{6e}\x{74}\x{73}\x{2e}\x{2e}\x{2e}");$CC2UWU9F6XF9WVEMRSITYIHPY89BZ3U9LS80H3I3QD3Y4MGVKV0 = Linux::Inotify2->new or &CKOR6MYXN7K1U0Z7OSN8J6Y07SQOY3BV8M8K70ZGT18AFO6HGR8("Unable to create new inotify object: $!");return;}sub C5S0KEBVVUKVDJ7Z3I4X8O7Y2QUTX6G81NI9W7J7A29MUYZ51A3 {my $CEVPW4D9NHZN5RMLJZM7Z3DIRZ4086PX8OH1VQWO5CJO2YYRWKT = 0;my %C1DYUNEVKO80CXH32VU0CKL1N58KLFIGRLES29TX979RR9IVJUT;my %CESGUUTOH25DMKQY05AWHI2ZTOMGIQAN80RC073ZZVD266PCF5Y;my $C23EP2ZTKHXGFH1SL9RAJQ5ZIF8DZIMUYOBRSU2OU5VUQHMR18J = 10;my $C0U5CH1S6KU5JRSDEW8G5KI2CL44EDXIVAD1J6THAURLLSUZ7I5 = 2;my $COK0Z2RPLC8X0P8V833ZB8TK4QCJ3YB1EKH5HARC8P1HNQQPPFI = (getpwnam($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{defapache}))[2];&CWPEVLP93BIAYVMZYHZ3I9FKEOQYB1PTV3IDY4UP0A5AZTKW2DL("\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{6e}\x{65}\x{77}\x{75}\x{73}\x{65}\x{72}\x{73}");if (-e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{6e}\x{65}\x{77}\x{2e}\x{66}\x{70}") {&CWPEVLP93BIAYVMZYHZ3I9FKEOQYB1PTV3IDY4UP0A5AZTKW2DL("\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{6e}\x{65}\x{77}\x{2e}\x{66}\x{70}");my $CTBZAN5OYMCM804LIHWKHMYG2TY1IT4G9RGRY5LHV5FC9XPS23A = stat("\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{6e}\x{65}\x{77}\x{2e}\x{66}\x{70}");$CW2E8T9O51UEZCB9P6E2QBO4SCW4KASKN39PP4CAUBNI81OTM5M{new} = $CTBZAN5OYMCM804LIHWKHMYG2TY1IT4G9RGRY5LHV5FC9XPS23A->mtime;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{bayes} and -e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{62}\x{61}\x{79}\x{65}\x{73}") {&CWPEVLP93BIAYVMZYHZ3I9FKEOQYB1PTV3IDY4UP0A5AZTKW2DL("\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{62}\x{61}\x{79}\x{65}\x{73}");my $CTBZAN5OYMCM804LIHWKHMYG2TY1IT4G9RGRY5LHV5FC9XPS23A = stat("\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{62}\x{61}\x{79}\x{65}\x{73}");$CW2E8T9O51UEZCB9P6E2QBO4SCW4KASKN39PP4CAUBNI81OTM5M{bayes} = $CTBZAN5OYMCM804LIHWKHMYG2TY1IT4G9RGRY5LHV5FC9XPS23A->mtime;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{bayes} and -e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{62}\x{61}\x{79}\x{65}\x{73}\x{2e}\x{6c}\x{6f}\x{63}\x{61}\x{6c}") {&CWPEVLP93BIAYVMZYHZ3I9FKEOQYB1PTV3IDY4UP0A5AZTKW2DL("\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{62}\x{61}\x{79}\x{65}\x{73}\x{2e}\x{6c}\x{6f}\x{63}\x{61}\x{6c}");my $CTBZAN5OYMCM804LIHWKHMYG2TY1IT4G9RGRY5LHV5FC9XPS23A = stat("\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{62}\x{61}\x{79}\x{65}\x{73}\x{2e}\x{6c}\x{6f}\x{63}\x{61}\x{6c}");$CW2E8T9O51UEZCB9P6E2QBO4SCW4KASKN39PP4CAUBNI81OTM5M{bayeslocal} = $CTBZAN5OYMCM804LIHWKHMYG2TY1IT4G9RGRY5LHV5FC9XPS23A->mtime;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wmonitor} and -e $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wmonitor}) {&CWPEVLP93BIAYVMZYHZ3I9FKEOQYB1PTV3IDY4UP0A5AZTKW2DL($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wmonitor});}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wmonignore} and -e $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wmonignore}) {&CWPEVLP93BIAYVMZYHZ3I9FKEOQYB1PTV3IDY4UP0A5AZTKW2DL($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wmonignore});}if (-e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{6e}\x{65}\x{77}\x{75}\x{73}\x{65}\x{72}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{77}\x{61}\x{74}\x{63}\x{68}\x{72}\x{65}\x{73}\x{74}\x{61}\x{72}\x{74}") {unlink "/etc/cxs/newusers/cxswatchrestart"}$CMXF5F4SEJ660VCRZHFNVI4APPCLDS8TEDH0WI6ZWGTLOCPAC8C = "\x{47}\x{45}\x{4e}\x{45}\x{52}\x{49}\x{43}";if (-e "\x{2f}\x{75}\x{73}\x{72}\x{2f}\x{6c}\x{6f}\x{63}\x{61}\x{6c}\x{2f}\x{63}\x{70}\x{61}\x{6e}\x{65}\x{6c}\x{2f}\x{76}\x{65}\x{72}\x{73}\x{69}\x{6f}\x{6e}") {$CMXF5F4SEJ660VCRZHFNVI4APPCLDS8TEDH0WI6ZWGTLOCPAC8C = "CPANEL"}elsif (-e "\x{2f}\x{75}\x{73}\x{72}\x{2f}\x{6c}\x{6f}\x{63}\x{61}\x{6c}\x{2f}\x{64}\x{69}\x{72}\x{65}\x{63}\x{74}\x{61}\x{64}\x{6d}\x{69}\x{6e}\x{2f}\x{64}\x{69}\x{72}\x{65}\x{63}\x{74}\x{61}\x{64}\x{6d}\x{69}\x{6e}") {$CMXF5F4SEJ660VCRZHFNVI4APPCLDS8TEDH0WI6ZWGTLOCPAC8C = "DA"}if ($CMXF5F4SEJ660VCRZHFNVI4APPCLDS8TEDH0WI6ZWGTLOCPAC8C eq "\x{43}\x{50}\x{41}\x{4e}\x{45}\x{4c}" and $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{allusers}) {&CWPEVLP93BIAYVMZYHZ3I9FKEOQYB1PTV3IDY4UP0A5AZTKW2DL("/var/cpanel/users")}if ($CMXF5F4SEJ660VCRZHFNVI4APPCLDS8TEDH0WI6ZWGTLOCPAC8C eq "\x{44}\x{41}" and $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{allusers}) {&CWPEVLP93BIAYVMZYHZ3I9FKEOQYB1PTV3IDY4UP0A5AZTKW2DL("/usr/local/directadmin/data/users")}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ignore} and -e $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ignore}) {&CWPEVLP93BIAYVMZYHZ3I9FKEOQYB1PTV3IDY4UP0A5AZTKW2DL($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ignore});my $CTBZAN5OYMCM804LIHWKHMYG2TY1IT4G9RGRY5LHV5FC9XPS23A = stat($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ignore});$CW2E8T9O51UEZCB9P6E2QBO4SCW4KASKN39PP4CAUBNI81OTM5M{ignore} = $CTBZAN5OYMCM804LIHWKHMYG2TY1IT4G9RGRY5LHV5FC9XPS23A->mtime;$CNT8MVCXQR8E5079POZ54XYYDQJ7GO8EO114YKJ1FAY1FZHE4JL{$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ignore}} = 1;foreach my $CT3BJRFIIZHUDP085LC9YULNGT3QVA5X5FM37S7QTT9G10W3E03 (slurp($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ignore})) {$CT3BJRFIIZHUDP085LC9YULNGT3QVA5X5FM37S7QTT9G10W3E03 =~ s/$cleanreg//g;if ($CT3BJRFIIZHUDP085LC9YULNGT3QVA5X5FM37S7QTT9G10W3E03 =~ /^Include\s+(.*)\s*$/) {my $CM4YWVGZDQAIG0W00OW0IA812GPKWKL7PZ0S79U3DWRBDC34Q16 = $1;if (-f $CM4YWVGZDQAIG0W00OW0IA812GPKWKL7PZ0S79U3DWRBDC34Q16) {&CWPEVLP93BIAYVMZYHZ3I9FKEOQYB1PTV3IDY4UP0A5AZTKW2DL($CM4YWVGZDQAIG0W00OW0IA812GPKWKL7PZ0S79U3DWRBDC34Q16);$CNT8MVCXQR8E5079POZ54XYYDQJ7GO8EO114YKJ1FAY1FZHE4JL{$CM4YWVGZDQAIG0W00OW0IA812GPKWKL7PZ0S79U3DWRBDC34Q16} = 1;}}}}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{xtra} and -e $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{xtra}) {&CWPEVLP93BIAYVMZYHZ3I9FKEOQYB1PTV3IDY4UP0A5AZTKW2DL($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{xtra});my $CTBZAN5OYMCM804LIHWKHMYG2TY1IT4G9RGRY5LHV5FC9XPS23A = stat($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{xtra});$CW2E8T9O51UEZCB9P6E2QBO4SCW4KASKN39PP4CAUBNI81OTM5M{xtra} = $CTBZAN5OYMCM804LIHWKHMYG2TY1IT4G9RGRY5LHV5FC9XPS23A->mtime;$CE1H7VRMBFWQHWH5BVDKGUFV1SUEQ5V97MXIPPRAT8P26OPSKJW{$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{xtra}} = 1;foreach my $CT3BJRFIIZHUDP085LC9YULNGT3QVA5X5FM37S7QTT9G10W3E03 (slurp($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{xtra})) {$CT3BJRFIIZHUDP085LC9YULNGT3QVA5X5FM37S7QTT9G10W3E03 =~ s/$cleanreg//g;if ($CT3BJRFIIZHUDP085LC9YULNGT3QVA5X5FM37S7QTT9G10W3E03 =~ /^Include\s+(.*)\s*$/) {my $CM4YWVGZDQAIG0W00OW0IA812GPKWKL7PZ0S79U3DWRBDC34Q16 = $1;if (-f $CM4YWVGZDQAIG0W00OW0IA812GPKWKL7PZ0S79U3DWRBDC34Q16) {&CWPEVLP93BIAYVMZYHZ3I9FKEOQYB1PTV3IDY4UP0A5AZTKW2DL($CM4YWVGZDQAIG0W00OW0IA812GPKWKL7PZ0S79U3DWRBDC34Q16);$CE1H7VRMBFWQHWH5BVDKGUFV1SUEQ5V97MXIPPRAT8P26OPSKJW{$CM4YWVGZDQAIG0W00OW0IA812GPKWKL7PZ0S79U3DWRBDC34Q16} = 1;}}}}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wadd} and -e $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wadd}) {foreach my $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK (slurp($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wadd})) {$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK =~ s/$cleanreg//g;if (-e $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Adding $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK from [$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wadd}]");find({preprocess => \&CL989JMKY532VL7A98V7SNESQH7KSAEV3ZNNQ860SA8UR0KHKUH, wanted => \&CQN1DQA0CUM8VECKFPPF06DAQM40WZ8TRDYXL009K2KJWBEZZJR}, $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK);} else {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Additional resource [$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK] does not exist");}}}&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("...done ($CQLFMKI8ONJDAJAH7BQJSSRSXXQP3WWD55R1EAHPAEQ56NJNPP8 total watches)");if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wsleep} > 0) {$C23EP2ZTKHXGFH1SL9RAJQ5ZIF8DZIMUYOBRSU2OU5VUQHMR18J = $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wsleep} * 10;$C0U5CH1S6KU5JRSDEW8G5KI2CL44EDXIVAD1J6THAURLLSUZ7I5 = $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wsleep} * 2;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YRATECNT} > 0 and $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YRATESEC} > 0) {$C0U5CH1S6KU5JRSDEW8G5KI2CL44EDXIVAD1J6THAURLLSUZ7I5 = $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YRATECNT};$C23EP2ZTKHXGFH1SL9RAJQ5ZIF8DZIMUYOBRSU2OU5VUQHMR18J = $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YRATESEC};}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 0) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Rateignore: $C0U5CH1S6KU5JRSDEW8G5KI2CL44EDXIVAD1J6THAURLLSUZ7I5 times in $C23EP2ZTKHXGFH1SL9RAJQ5ZIF8DZIMUYOBRSU2OU5VUQHMR18J seconds");}&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("\x{57}\x{61}\x{74}\x{63}\x{68}\x{69}\x{6e}\x{67}\x{2e}\x{2e}\x{2e}");while (1) {if (-e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{6c}\x{6f}\x{67}\x{6c}\x{65}\x{76}\x{65}\x{6c}") {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} < 10) {$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} = 10;&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("\x{4c}\x{6f}\x{67}\x{6c}\x{65}\x{76}\x{65}\x{6c}\x{20}\x{69}\x{6e}\x{63}\x{72}\x{65}\x{61}\x{73}\x{65}\x{64}\x{2e}\x{2e}\x{2e}");&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ($CWFKVIKQAQZBDY9751SMUYHZ3VK94MYJ3T0AYK8OYYBY4A0543S);}} else {$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} = $C0Y46O1SIKB9IWWQH5N7MZVB6T7QVMCGPMAW3CXS86OGUXOR1FE}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{throttle} and (time - $CAQZZTJEFIVX8C03S7H3AUWLS2JIUIBSR4DMMRUX0QCXOOSJIVE > 60)) {open (my $CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY, "\x{3c}", "/proc/loadavg");flock ($CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY, LOCK_SH);my $CAFYDJFFJE5LVBXOXFLU8OSOI0N0C67ABLM16Y3BMT80686SRC0 = <$CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY>;close ($CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY);chomp $CAFYDJFFJE5LVBXOXFLU8OSOI0N0C67ABLM16Y3BMT80686SRC0;my @CF3QIE2NVBD97L4HHVOZZ48MXHGGA8Q1NIY0EZ1VZN1QU33BO5H = split(/\s+/,$CAFYDJFFJE5LVBXOXFLU8OSOI0N0C67ABLM16Y3BMT80686SRC0);if ($CF3QIE2NVBD97L4HHVOZZ48MXHGGA8Q1NIY0EZ1VZN1QU33BO5H[0] > $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{throttle}) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("\x{54}\x{68}\x{72}\x{6f}\x{74}\x{74}\x{6c}\x{65}\x{64}\x{20}\x{66}\x{6f}\x{72}\x{20}\x{36}\x{30}\x{20}\x{73}\x{65}\x{63}\x{6f}\x{6e}\x{64}\x{73}");sleep 60;}$CAQZZTJEFIVX8C03S7H3AUWLS2JIUIBSR4DMMRUX0QCXOOSJIVE = time;}my %CQR23QD91TDEZYR2N364EBJVNKQP6DVREQLZ4JA211YW8K6V5NS = %CAEI61YVFMTQ01KLRVARXI46E9DXVPTBYZPPRF48YY2YO9IOYXU;undef %CAEI61YVFMTQ01KLRVARXI46E9DXVPTBYZPPRF48YY2YO9IOYXU;my %CO4BWLCAW4GPOHM3QCSZAOOCSHKUJ3K8WEL07DZD9Q9X0T7BU3Q;my %C5JMDN70WWHS1B7LHK83K744VE4PYT6IWGL6UYEBIYVJ4ANGOPJ;my $CZ24OCUN5R5SZ9ZOB7OBM69M3R3KON3O06PK8VZU4YL4SH4Y8DX;my $CLUI8AMBF6J7INCCY5HXWUOSG0OWRM2N6LSOLBBWO4LULLWIZEC;my $CY5ZH6PZZWTH31PZKT2BX7W9Q1CO9IIIMZ9GN29BAJXB9M7NHFE;my $CYKAFBUX4CH2ET5KRCKQR1RM2NC0FRMZM30QZ7CX8NXIQ6RWLCP;my $CL17RRBTVZH6MJ1GBIC5S2RCPMC2XPA17X6RSBV7XH2RXSBD4C7;my @CNK23ESOWO5SHV229WSK8YYVD1MV7G8AS1M4PWLBNOVUIU4GWPQ = $CC2UWU9F6XF9WVEMRSITYIHPY89BZ3U9LS80H3I3QD3Y4MGVKV0->read;foreach my $CHQQ8JTHKI62XVHQ6JMSMRHYCMUNX56HGY2XIRKHW4ZLJO5CTW8 (@CNK23ESOWO5SHV229WSK8YYVD1MV7G8AS1M4PWLBNOVUIU4GWPQ) {my $CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH = $CHQQ8JTHKI62XVHQ6JMSMRHYCMUNX56HGY2XIRKHW4ZLJO5CTW8->{name};my $CU3PQ0RK1P5BK7XKCY6WWTCBVZW6Q449M9TMGDPNDJ1Y3ZRO3YN = $CHQQ8JTHKI62XVHQ6JMSMRHYCMUNX56HGY2XIRKHW4ZLJO5CTW8->{w}{name};if ($CHQQ8JTHKI62XVHQ6JMSMRHYCMUNX56HGY2XIRKHW4ZLJO5CTW8->IN_Q_OVERFLOW) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Inotify Event Queue Overflow - some activity for [$CU3PQ0RK1P5BK7XKCY6WWTCBVZW6Q449M9TMGDPNDJ1Y3ZRO3YN] [$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH] has been lost, you might want to ignore this resource or increase /proc/sys/fs/inotify/max_queued_events")}elsif ($CHQQ8JTHKI62XVHQ6JMSMRHYCMUNX56HGY2XIRKHW4ZLJO5CTW8->IN_CLOSE_WRITE and $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ignore} and $CNT8MVCXQR8E5079POZ54XYYDQJ7GO8EO114YKJ1FAY1FZHE4JL{$CU3PQ0RK1P5BK7XKCY6WWTCBVZW6Q449M9TMGDPNDJ1Y3ZRO3YN}) {$CZ24OCUN5R5SZ9ZOB7OBM69M3R3KON3O06PK8VZU4YL4SH4Y8DX = 1}elsif ($CHQQ8JTHKI62XVHQ6JMSMRHYCMUNX56HGY2XIRKHW4ZLJO5CTW8->IN_CLOSE_WRITE and $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{xtra} and $CE1H7VRMBFWQHWH5BVDKGUFV1SUEQ5V97MXIPPRAT8P26OPSKJW{$CU3PQ0RK1P5BK7XKCY6WWTCBVZW6Q449M9TMGDPNDJ1Y3ZRO3YN}) {$CLUI8AMBF6J7INCCY5HXWUOSG0OWRM2N6LSOLBBWO4LULLWIZEC = 1}elsif ($CHQQ8JTHKI62XVHQ6JMSMRHYCMUNX56HGY2XIRKHW4ZLJO5CTW8->IN_CLOSE_WRITE and ($CU3PQ0RK1P5BK7XKCY6WWTCBVZW6Q449M9TMGDPNDJ1Y3ZRO3YN eq "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{6e}\x{65}\x{77}\x{2e}\x{66}\x{70}")) {$CY5ZH6PZZWTH31PZKT2BX7W9Q1CO9IIIMZ9GN29BAJXB9M7NHFE = 1}elsif ($CHQQ8JTHKI62XVHQ6JMSMRHYCMUNX56HGY2XIRKHW4ZLJO5CTW8->IN_CLOSE_WRITE and ($CU3PQ0RK1P5BK7XKCY6WWTCBVZW6Q449M9TMGDPNDJ1Y3ZRO3YN eq "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{62}\x{61}\x{79}\x{65}\x{73}")) {$CYKAFBUX4CH2ET5KRCKQR1RM2NC0FRMZM30QZ7CX8NXIQ6RWLCP = 1}elsif ($CHQQ8JTHKI62XVHQ6JMSMRHYCMUNX56HGY2XIRKHW4ZLJO5CTW8->IN_CLOSE_WRITE and ($CU3PQ0RK1P5BK7XKCY6WWTCBVZW6Q449M9TMGDPNDJ1Y3ZRO3YN eq "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{62}\x{61}\x{79}\x{65}\x{73}\x{2e}\x{6c}\x{6f}\x{63}\x{61}\x{6c}")) {$CYKAFBUX4CH2ET5KRCKQR1RM2NC0FRMZM30QZ7CX8NXIQ6RWLCP = 1}elsif ($CHQQ8JTHKI62XVHQ6JMSMRHYCMUNX56HGY2XIRKHW4ZLJO5CTW8->IN_CLOSE_WRITE and ($CU3PQ0RK1P5BK7XKCY6WWTCBVZW6Q449M9TMGDPNDJ1Y3ZRO3YN eq $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wmonitor} or $CU3PQ0RK1P5BK7XKCY6WWTCBVZW6Q449M9TMGDPNDJ1Y3ZRO3YN eq $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wmonignore})) {$CL17RRBTVZH6MJ1GBIC5S2RCPMC2XPA17X6RSBV7XH2RXSBD4C7 = 1}elsif (($CHQQ8JTHKI62XVHQ6JMSMRHYCMUNX56HGY2XIRKHW4ZLJO5CTW8->IN_ISDIR) or ($CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH eq "") or (-d "$CU3PQ0RK1P5BK7XKCY6WWTCBVZW6Q449M9TMGDPNDJ1Y3ZRO3YN/$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH")) {if ($CHQQ8JTHKI62XVHQ6JMSMRHYCMUNX56HGY2XIRKHW4ZLJO5CTW8->IN_IGNORED) {my $CKT748OGE561B4GN0ICFUJCMA7VAP4ITBB7D8BWT9EXUNWJ7O8S = "$CU3PQ0RK1P5BK7XKCY6WWTCBVZW6Q449M9TMGDPNDJ1Y3ZRO3YN/$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH";$CKT748OGE561B4GN0ICFUJCMA7VAP4ITBB7D8BWT9EXUNWJ7O8S =~ s/\/+$//;if ($C8U7YONORZIBVO0R9LE52JRHGHPUC96K2JT0CMLCLW0GPICMVLE{$CKT748OGE561B4GN0ICFUJCMA7VAP4ITBB7D8BWT9EXUNWJ7O8S} == 1) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Home directory has been removed '$CKT748OGE561B4GN0ICFUJCMA7VAP4ITBB7D8BWT9EXUNWJ7O8S'");$C8U7YONORZIBVO0R9LE52JRHGHPUC96K2JT0CMLCLW0GPICMVLE{"$CKT748OGE561B4GN0ICFUJCMA7VAP4ITBB7D8BWT9EXUNWJ7O8S"} = 2;}}elsif ($CHQQ8JTHKI62XVHQ6JMSMRHYCMUNX56HGY2XIRKHW4ZLJO5CTW8->IN_CREATE or $CHQQ8JTHKI62XVHQ6JMSMRHYCMUNX56HGY2XIRKHW4ZLJO5CTW8->IN_MOVED_TO) {$CVBMPBX1HPU9CSCG860S5SMD51TWQOIPSURBASJYS4J3CL9PCBC = 1;if ($CU3PQ0RK1P5BK7XKCY6WWTCBVZW6Q449M9TMGDPNDJ1Y3ZRO3YN =~ m[^/usr/local/directadmin/data/users] and $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{allusers}) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Adding new DA user $CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH...");&C6ZIGTNECZAFSVNCHPUWYXM8OUXMVEL7OLT3ZKTWT1WMT4XT9BK($CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH);&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("\x{2e}\x{2e}\x{2e}\x{64}\x{6f}\x{6e}\x{65}");}elsif ("$CU3PQ0RK1P5BK7XKCY6WWTCBVZW6Q449M9TMGDPNDJ1Y3ZRO3YN/$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH" !~ /^\.$|^\.\.$/) {unless (&CWSU91BZP9L43ZX52Z21JTCWKFANQYCSSXA3GQDOYATTAX8LLAZ("$CU3PQ0RK1P5BK7XKCY6WWTCBVZW6Q449M9TMGDPNDJ1Y3ZRO3YN/$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH")) {find({preprocess => \&CL989JMKY532VL7A98V7SNESQH7KSAEV3ZNNQ860SA8UR0KHKUH, wanted => \&CQN1DQA0CUM8VECKFPPF06DAQM40WZ8TRDYXL009K2KJWBEZZJR}, "$CU3PQ0RK1P5BK7XKCY6WWTCBVZW6Q449M9TMGDPNDJ1Y3ZRO3YN/$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH");$CO4BWLCAW4GPOHM3QCSZAOOCSHKUJ3K8WEL07DZD9Q9X0T7BU3Q{"$CU3PQ0RK1P5BK7XKCY6WWTCBVZW6Q449M9TMGDPNDJ1Y3ZRO3YN/$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH"} = 1;}}}elsif ($CHQQ8JTHKI62XVHQ6JMSMRHYCMUNX56HGY2XIRKHW4ZLJO5CTW8->IN_ATTRIB and $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{options} =~ /w|W/) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 1) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Directory attributes changed: '$CU3PQ0RK1P5BK7XKCY6WWTCBVZW6Q449M9TMGDPNDJ1Y3ZRO3YN/$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH'")}my $CTBZAN5OYMCM804LIHWKHMYG2TY1IT4G9RGRY5LHV5FC9XPS23A = stat("$CU3PQ0RK1P5BK7XKCY6WWTCBVZW6Q449M9TMGDPNDJ1Y3ZRO3YN/$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH");if ($st_mode & S_IWOTH) {unless ($CO4BWLCAW4GPOHM3QCSZAOOCSHKUJ3K8WEL07DZD9Q9X0T7BU3Q{"$CU3PQ0RK1P5BK7XKCY6WWTCBVZW6Q449M9TMGDPNDJ1Y3ZRO3YN/$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH"}) {$CO4BWLCAW4GPOHM3QCSZAOOCSHKUJ3K8WEL07DZD9Q9X0T7BU3Q{"$CU3PQ0RK1P5BK7XKCY6WWTCBVZW6Q449M9TMGDPNDJ1Y3ZRO3YN/$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH"} = 1;$C5JMDN70WWHS1B7LHK83K744VE4PYT6IWGL6UYEBIYVJ4ANGOPJ{"$CU3PQ0RK1P5BK7XKCY6WWTCBVZW6Q449M9TMGDPNDJ1Y3ZRO3YN/$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH"} = 1;}}}}else {if ($CHQQ8JTHKI62XVHQ6JMSMRHYCMUNX56HGY2XIRKHW4ZLJO5CTW8->IN_DELETE) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 1) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Deleted: '$CU3PQ0RK1P5BK7XKCY6WWTCBVZW6Q449M9TMGDPNDJ1Y3ZRO3YN/$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH'")}delete $CQR23QD91TDEZYR2N364EBJVNKQP6DVREQLZ4JA211YW8K6V5NS{"$CU3PQ0RK1P5BK7XKCY6WWTCBVZW6Q449M9TMGDPNDJ1Y3ZRO3YN/$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH"};delete $C1DYUNEVKO80CXH32VU0CKL1N58KLFIGRLES29TX979RR9IVJUT{"$CU3PQ0RK1P5BK7XKCY6WWTCBVZW6Q449M9TMGDPNDJ1Y3ZRO3YN/$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH"};delete $CESGUUTOH25DMKQY05AWHI2ZTOMGIQAN80RC073ZZVD266PCF5Y{"$CU3PQ0RK1P5BK7XKCY6WWTCBVZW6Q449M9TMGDPNDJ1Y3ZRO3YN/$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH"};}elsif ($CHQQ8JTHKI62XVHQ6JMSMRHYCMUNX56HGY2XIRKHW4ZLJO5CTW8->IN_CREATE) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 1) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Created: '$CU3PQ0RK1P5BK7XKCY6WWTCBVZW6Q449M9TMGDPNDJ1Y3ZRO3YN/$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH'")}if ($CU3PQ0RK1P5BK7XKCY6WWTCBVZW6Q449M9TMGDPNDJ1Y3ZRO3YN =~ m[^/var/cpanel/users] and $CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH !~ /\.lock$/ and $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{allusers}) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Adding new cPanel user $CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH...");&C6ZIGTNECZAFSVNCHPUWYXM8OUXMVEL7OLT3ZKTWT1WMT4XT9BK($CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH);&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("\x{2e}\x{2e}\x{2e}\x{64}\x{6f}\x{6e}\x{65}");}}elsif ($CHQQ8JTHKI62XVHQ6JMSMRHYCMUNX56HGY2XIRKHW4ZLJO5CTW8->IN_CLOSE_WRITE or $CHQQ8JTHKI62XVHQ6JMSMRHYCMUNX56HGY2XIRKHW4ZLJO5CTW8->IN_MOVED_TO) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 1 and $CHQQ8JTHKI62XVHQ6JMSMRHYCMUNX56HGY2XIRKHW4ZLJO5CTW8->IN_CLOSE_WRITE) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Modified '$CU3PQ0RK1P5BK7XKCY6WWTCBVZW6Q449M9TMGDPNDJ1Y3ZRO3YN/$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH'")}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 1 and $CHQQ8JTHKI62XVHQ6JMSMRHYCMUNX56HGY2XIRKHW4ZLJO5CTW8->IN_MOVED_TO) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Moved '$CU3PQ0RK1P5BK7XKCY6WWTCBVZW6Q449M9TMGDPNDJ1Y3ZRO3YN/$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH'")}if ($CU3PQ0RK1P5BK7XKCY6WWTCBVZW6Q449M9TMGDPNDJ1Y3ZRO3YN =~ m[^/etc/cxs/newusers]) {unlink ("/etc/cxs/newusers/$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH");if ($CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH eq "\x{63}\x{78}\x{73}\x{77}\x{61}\x{74}\x{63}\x{68}\x{72}\x{65}\x{73}\x{74}\x{61}\x{72}\x{74}") {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{6e}\x{65}\x{77}\x{75}\x{73}\x{65}\x{72}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{77}\x{61}\x{74}\x{63}\x{68}\x{72}\x{65}\x{73}\x{74}\x{61}\x{72}\x{74}\x{20}\x{65}\x{78}\x{69}\x{73}\x{74}\x{73}\x{3a}\x{20}\x{72}\x{65}\x{73}\x{74}\x{61}\x{72}\x{74}\x{69}\x{6e}\x{67}\x{2e}\x{2e}\x{2e}");&C5DFSDDVDI5NU97QQ9R7EQTPK8JHWK4BJXCV5RTYFMHN5Y3UFI7;} else {if ($CMXF5F4SEJ660VCRZHFNVI4APPCLDS8TEDH0WI6ZWGTLOCPAC8C eq "\x{47}\x{45}\x{4e}\x{45}\x{52}\x{49}\x{43}" and $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{allusers}) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Adding new user $CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH...");&C6ZIGTNECZAFSVNCHPUWYXM8OUXMVEL7OLT3ZKTWT1WMT4XT9BK($CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH);&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("\x{2e}\x{2e}\x{2e}\x{64}\x{6f}\x{6e}\x{65}");}}}elsif ($CU3PQ0RK1P5BK7XKCY6WWTCBVZW6Q449M9TMGDPNDJ1Y3ZRO3YN =~ m[^/var/cpanel/users]) {next}elsif ($CU3PQ0RK1P5BK7XKCY6WWTCBVZW6Q449M9TMGDPNDJ1Y3ZRO3YN =~ m[^/usr/local/directadmin/data/users]) {next}else {$CQR23QD91TDEZYR2N364EBJVNKQP6DVREQLZ4JA211YW8K6V5NS{"$CU3PQ0RK1P5BK7XKCY6WWTCBVZW6Q449M9TMGDPNDJ1Y3ZRO3YN/$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH"} = 1}}}}foreach my $CKT748OGE561B4GN0ICFUJCMA7VAP4ITBB7D8BWT9EXUNWJ7O8S (keys %C8U7YONORZIBVO0R9LE52JRHGHPUC96K2JT0CMLCLW0GPICMVLE) {if ($C8U7YONORZIBVO0R9LE52JRHGHPUC96K2JT0CMLCLW0GPICMVLE{$CKT748OGE561B4GN0ICFUJCMA7VAP4ITBB7D8BWT9EXUNWJ7O8S} == 2 and -d $CKT748OGE561B4GN0ICFUJCMA7VAP4ITBB7D8BWT9EXUNWJ7O8S) {$C8U7YONORZIBVO0R9LE52JRHGHPUC96K2JT0CMLCLW0GPICMVLE{$CKT748OGE561B4GN0ICFUJCMA7VAP4ITBB7D8BWT9EXUNWJ7O8S} = 1;&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Home directory resurrected '$CKT748OGE561B4GN0ICFUJCMA7VAP4ITBB7D8BWT9EXUNWJ7O8S'");&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Watching '$CKT748OGE561B4GN0ICFUJCMA7VAP4ITBB7D8BWT9EXUNWJ7O8S'");find({preprocess => \&CL989JMKY532VL7A98V7SNESQH7KSAEV3ZNNQ860SA8UR0KHKUH, wanted => \&CQN1DQA0CUM8VECKFPPF06DAQM40WZ8TRDYXL009K2KJWBEZZJR}, $CKT748OGE561B4GN0ICFUJCMA7VAP4ITBB7D8BWT9EXUNWJ7O8S);$CO4BWLCAW4GPOHM3QCSZAOOCSHKUJ3K8WEL07DZD9Q9X0T7BU3Q{$CKT748OGE561B4GN0ICFUJCMA7VAP4ITBB7D8BWT9EXUNWJ7O8S} = 1;}}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wrefresh} > 0 and (time - $C0BQ09BWEYG524WPHEAJ2RLQQG8MW1FMQB7GFQ52YT7JBUKRU2Y > $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wrefresh})) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("\x{52}\x{65}\x{66}\x{72}\x{65}\x{73}\x{68}\x{20}\x{74}\x{69}\x{6d}\x{65}\x{72}\x{20}\x{65}\x{78}\x{70}\x{69}\x{72}\x{65}\x{64}\x{3a}\x{20}\x{72}\x{65}\x{73}\x{74}\x{61}\x{72}\x{74}\x{69}\x{6e}\x{67}\x{2e}\x{2e}\x{2e}");&C5DFSDDVDI5NU97QQ9R7EQTPK8JHWK4BJXCV5RTYFMHN5Y3UFI7;}if (-e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{6e}\x{65}\x{77}\x{75}\x{73}\x{65}\x{72}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{77}\x{61}\x{74}\x{63}\x{68}\x{72}\x{65}\x{73}\x{74}\x{61}\x{72}\x{74}") {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("/etc/cxs/newusers/cxswatchrestart exists (alt): restarting...");&C5DFSDDVDI5NU97QQ9R7EQTPK8JHWK4BJXCV5RTYFMHN5Y3UFI7;}my $CY82U2W2VP6YXMXX1YRXXGRSEE2EERCO36I0V65L6MX8O0Y3JRQ = 0;for my $CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO (1 .. $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wmaxchild}) {unless (kill(0,$CR9AJISZY1PX6XLFAAKS5AEOYMYPANQ71MAPRHXWAW8AMH3ZURM[$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO])) {$CY82U2W2VP6YXMXX1YRXXGRSEE2EERCO36I0V65L6MX8O0Y3JRQ = 1; last}}if ($CY82U2W2VP6YXMXX1YRXXGRSEE2EERCO36I0V65L6MX8O0Y3JRQ) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("\x{4d}\x{69}\x{73}\x{73}\x{69}\x{6e}\x{67}\x{20}\x{63}\x{68}\x{69}\x{6c}\x{64}\x{3a}\x{20}\x{72}\x{65}\x{73}\x{74}\x{61}\x{72}\x{74}\x{69}\x{6e}\x{67}\x{2e}\x{2e}\x{2e}");&C5DFSDDVDI5NU97QQ9R7EQTPK8JHWK4BJXCV5RTYFMHN5Y3UFI7;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wmonitor} and -e $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wmonitor}) {unless (kill(0,$CAW5SMJ3RP94XCBNYM7AFP60YLDER6XJ5NY56EYYQNOXJQS88IX)) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Restarting Monitor child (was stopped)...");&C8L2EF0GCYMD8YAZJP6NRP46CER2ZYPXNN65OXT568E3GFK82SX;}}if (-e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{6e}\x{65}\x{77}\x{2e}\x{66}\x{70}") {my $CTBZAN5OYMCM804LIHWKHMYG2TY1IT4G9RGRY5LHV5FC9XPS23A = stat("\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{6e}\x{65}\x{77}\x{2e}\x{66}\x{70}");if ($CW2E8T9O51UEZCB9P6E2QBO4SCW4KASKN39PP4CAUBNI81OTM5M{new} != $CTBZAN5OYMCM804LIHWKHMYG2TY1IT4G9RGRY5LHV5FC9XPS23A->mtime and !$CY5ZH6PZZWTH31PZKT2BX7W9Q1CO9IIIMZ9GN29BAJXB9M7NHFE) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 0 and !$CY5ZH6PZZWTH31PZKT2BX7W9Q1CO9IIIMZ9GN29BAJXB9M7NHFE) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Reloading new exploit detections (alt)")}$CY5ZH6PZZWTH31PZKT2BX7W9Q1CO9IIIMZ9GN29BAJXB9M7NHFE = 1;&CWPEVLP93BIAYVMZYHZ3I9FKEOQYB1PTV3IDY4UP0A5AZTKW2DL("\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{6e}\x{65}\x{77}\x{2e}\x{66}\x{70}");}$CW2E8T9O51UEZCB9P6E2QBO4SCW4KASKN39PP4CAUBNI81OTM5M{new} = $CTBZAN5OYMCM804LIHWKHMYG2TY1IT4G9RGRY5LHV5FC9XPS23A->mtime;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{bayes} and -e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{62}\x{61}\x{79}\x{65}\x{73}") {my $CTBZAN5OYMCM804LIHWKHMYG2TY1IT4G9RGRY5LHV5FC9XPS23A = stat("\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{62}\x{61}\x{79}\x{65}\x{73}");if ($CW2E8T9O51UEZCB9P6E2QBO4SCW4KASKN39PP4CAUBNI81OTM5M{bayes} != $CTBZAN5OYMCM804LIHWKHMYG2TY1IT4G9RGRY5LHV5FC9XPS23A->mtime and !$CYKAFBUX4CH2ET5KRCKQR1RM2NC0FRMZM30QZ7CX8NXIQ6RWLCP) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 0 and !$CYKAFBUX4CH2ET5KRCKQR1RM2NC0FRMZM30QZ7CX8NXIQ6RWLCP) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Reloading new bayes corpus (alt)")}$CYKAFBUX4CH2ET5KRCKQR1RM2NC0FRMZM30QZ7CX8NXIQ6RWLCP = 1;&CWPEVLP93BIAYVMZYHZ3I9FKEOQYB1PTV3IDY4UP0A5AZTKW2DL("\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{62}\x{61}\x{79}\x{65}\x{73}");}$CW2E8T9O51UEZCB9P6E2QBO4SCW4KASKN39PP4CAUBNI81OTM5M{bayes} = $CTBZAN5OYMCM804LIHWKHMYG2TY1IT4G9RGRY5LHV5FC9XPS23A->mtime;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{bayes} and -e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{62}\x{61}\x{79}\x{65}\x{73}\x{2e}\x{6c}\x{6f}\x{63}\x{61}\x{6c}") {my $CTBZAN5OYMCM804LIHWKHMYG2TY1IT4G9RGRY5LHV5FC9XPS23A = stat("\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{62}\x{61}\x{79}\x{65}\x{73}\x{2e}\x{6c}\x{6f}\x{63}\x{61}\x{6c}");if ($CW2E8T9O51UEZCB9P6E2QBO4SCW4KASKN39PP4CAUBNI81OTM5M{bayeslocal} != $CTBZAN5OYMCM804LIHWKHMYG2TY1IT4G9RGRY5LHV5FC9XPS23A->mtime and !$CYKAFBUX4CH2ET5KRCKQR1RM2NC0FRMZM30QZ7CX8NXIQ6RWLCP) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 0 and !$CYKAFBUX4CH2ET5KRCKQR1RM2NC0FRMZM30QZ7CX8NXIQ6RWLCP) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Reloading new bayes corpus (alt)")}$CYKAFBUX4CH2ET5KRCKQR1RM2NC0FRMZM30QZ7CX8NXIQ6RWLCP = 1;&CWPEVLP93BIAYVMZYHZ3I9FKEOQYB1PTV3IDY4UP0A5AZTKW2DL("\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{62}\x{61}\x{79}\x{65}\x{73}\x{2e}\x{6c}\x{6f}\x{63}\x{61}\x{6c}");}$CW2E8T9O51UEZCB9P6E2QBO4SCW4KASKN39PP4CAUBNI81OTM5M{bayes} = $CTBZAN5OYMCM804LIHWKHMYG2TY1IT4G9RGRY5LHV5FC9XPS23A->mtime;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ignore} and -e $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ignore}) {my $CTBZAN5OYMCM804LIHWKHMYG2TY1IT4G9RGRY5LHV5FC9XPS23A = stat($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ignore});if ($CW2E8T9O51UEZCB9P6E2QBO4SCW4KASKN39PP4CAUBNI81OTM5M{ignore} != $CTBZAN5OYMCM804LIHWKHMYG2TY1IT4G9RGRY5LHV5FC9XPS23A->mtime and !$CZ24OCUN5R5SZ9ZOB7OBM69M3R3KON3O06PK8VZU4YL4SH4Y8DX) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 0 and !$CZ24OCUN5R5SZ9ZOB7OBM69M3R3KON3O06PK8VZU4YL4SH4Y8DX) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Reloading ignore file [$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ignore}] (alt)")}$CZ24OCUN5R5SZ9ZOB7OBM69M3R3KON3O06PK8VZU4YL4SH4Y8DX = 1;&CWPEVLP93BIAYVMZYHZ3I9FKEOQYB1PTV3IDY4UP0A5AZTKW2DL($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ignore});}$CW2E8T9O51UEZCB9P6E2QBO4SCW4KASKN39PP4CAUBNI81OTM5M{ignore} = $CTBZAN5OYMCM804LIHWKHMYG2TY1IT4G9RGRY5LHV5FC9XPS23A->mtime;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{xtra} and -e $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{xtra}) {my $CTBZAN5OYMCM804LIHWKHMYG2TY1IT4G9RGRY5LHV5FC9XPS23A = stat($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{xtra});if ($CW2E8T9O51UEZCB9P6E2QBO4SCW4KASKN39PP4CAUBNI81OTM5M{xtra} != $CTBZAN5OYMCM804LIHWKHMYG2TY1IT4G9RGRY5LHV5FC9XPS23A->mtime and !$CLUI8AMBF6J7INCCY5HXWUOSG0OWRM2N6LSOLBBWO4LULLWIZEC) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 0 and !$CLUI8AMBF6J7INCCY5HXWUOSG0OWRM2N6LSOLBBWO4LULLWIZEC) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Reloading xtra file [$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{xtra}] (alt)")}$CLUI8AMBF6J7INCCY5HXWUOSG0OWRM2N6LSOLBBWO4LULLWIZEC = 1;&CWPEVLP93BIAYVMZYHZ3I9FKEOQYB1PTV3IDY4UP0A5AZTKW2DL($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{xtra});}$CW2E8T9O51UEZCB9P6E2QBO4SCW4KASKN39PP4CAUBNI81OTM5M{xtra} = $CTBZAN5OYMCM804LIHWKHMYG2TY1IT4G9RGRY5LHV5FC9XPS23A->mtime;}if ($CZ24OCUN5R5SZ9ZOB7OBM69M3R3KON3O06PK8VZU4YL4SH4Y8DX and !$CY82U2W2VP6YXMXX1YRXXGRSEE2EERCO36I0V65L6MX8O0Y3JRQ) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Reloading ignore file [$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ignore}]");for my $CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO (1 .. $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wmaxchild}) {my $C4WBPSKTIGPXIOMQ7RLAVV90MQHWZI3PE035B8RB3EJVTKKT6HW = $C63BDCSA8LBVMZC1LCDAZWDNJ3TOP4I4IFZXB790OYN1ZQ7K1JK[$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO - 1];print $C4WBPSKTIGPXIOMQ7RLAVV90MQHWZI3PE035B8RB3EJVTKKT6HW "IRELOAD\n";}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wmonitor} and !$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wmonignore}) {print $CNOL0HPEEVVP9PKW1T7C135DYSTGMZ9KAAEPFJCK7Q1T2NTJPZ9 "IRELOAD\n";}}if ($CLUI8AMBF6J7INCCY5HXWUOSG0OWRM2N6LSOLBBWO4LULLWIZEC and !$CY82U2W2VP6YXMXX1YRXXGRSEE2EERCO36I0V65L6MX8O0Y3JRQ) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Reloading xtra file [$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{xtra}]");for my $CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO (1 .. $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wmaxchild}) {my $C4WBPSKTIGPXIOMQ7RLAVV90MQHWZI3PE035B8RB3EJVTKKT6HW = $C63BDCSA8LBVMZC1LCDAZWDNJ3TOP4I4IFZXB790OYN1ZQ7K1JK[$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO - 1];print $C4WBPSKTIGPXIOMQ7RLAVV90MQHWZI3PE035B8RB3EJVTKKT6HW "XRELOAD\n";}}if ($CY5ZH6PZZWTH31PZKT2BX7W9Q1CO9IIIMZ9GN29BAJXB9M7NHFE and !$CY82U2W2VP6YXMXX1YRXXGRSEE2EERCO36I0V65L6MX8O0Y3JRQ) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("\x{52}\x{65}\x{6c}\x{6f}\x{61}\x{64}\x{69}\x{6e}\x{67}\x{20}\x{6e}\x{65}\x{77}\x{20}\x{65}\x{78}\x{70}\x{6c}\x{6f}\x{69}\x{74}\x{20}\x{64}\x{65}\x{74}\x{65}\x{63}\x{74}\x{69}\x{6f}\x{6e}\x{73}");for my $CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO (1 .. $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wmaxchild}) {my $C4WBPSKTIGPXIOMQ7RLAVV90MQHWZI3PE035B8RB3EJVTKKT6HW = $C63BDCSA8LBVMZC1LCDAZWDNJ3TOP4I4IFZXB790OYN1ZQ7K1JK[$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO - 1];print $C4WBPSKTIGPXIOMQ7RLAVV90MQHWZI3PE035B8RB3EJVTKKT6HW "NRELOAD\n";}}if ($CYKAFBUX4CH2ET5KRCKQR1RM2NC0FRMZM30QZ7CX8NXIQ6RWLCP and !$CY82U2W2VP6YXMXX1YRXXGRSEE2EERCO36I0V65L6MX8O0Y3JRQ) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("\x{52}\x{65}\x{6c}\x{6f}\x{61}\x{64}\x{69}\x{6e}\x{67}\x{20}\x{6e}\x{65}\x{77}\x{20}\x{62}\x{61}\x{79}\x{65}\x{73}\x{20}\x{63}\x{6f}\x{72}\x{70}\x{75}\x{73}");for my $CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO (1 .. $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wmaxchild}) {my $C4WBPSKTIGPXIOMQ7RLAVV90MQHWZI3PE035B8RB3EJVTKKT6HW = $C63BDCSA8LBVMZC1LCDAZWDNJ3TOP4I4IFZXB790OYN1ZQ7K1JK[$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO - 1];print $C4WBPSKTIGPXIOMQ7RLAVV90MQHWZI3PE035B8RB3EJVTKKT6HW "BRELOAD\n";}}if ($CL17RRBTVZH6MJ1GBIC5S2RCPMC2XPA17X6RSBV7XH2RXSBD4C7) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Reloading new $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wmonitor}");print $CNOL0HPEEVVP9PKW1T7C135DYSTGMZ9KAAEPFJCK7Q1T2NTJPZ9 "MRELOAD\n";}if ($CLUI8AMBF6J7INCCY5HXWUOSG0OWRM2N6LSOLBBWO4LULLWIZEC) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 0) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Parent: Reloading $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{xtra}")}; &C8FY9P4M3SRG74LKLZ4HLH6JS28ZMYPTOKKE96SCRLI5CE676RV}if ($CY5ZH6PZZWTH31PZKT2BX7W9Q1CO9IIIMZ9GN29BAJXB9M7NHFE) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 0) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("\x{50}\x{61}\x{72}\x{65}\x{6e}\x{74}\x{3a}\x{20}\x{52}\x{65}\x{6c}\x{6f}\x{61}\x{64}\x{69}\x{6e}\x{67}\x{20}\x{6e}\x{65}\x{77}\x{20}\x{65}\x{78}\x{70}\x{6c}\x{6f}\x{69}\x{74}\x{20}\x{64}\x{65}\x{74}\x{65}\x{63}\x{74}\x{69}\x{6f}\x{6e}\x{73}")}; &C8FY9P4M3SRG74LKLZ4HLH6JS28ZMYPTOKKE96SCRLI5CE676RV}if ($CZ24OCUN5R5SZ9ZOB7OBM69M3R3KON3O06PK8VZU4YL4SH4Y8DX) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 0) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Parent: Reloading $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ignore}")}; &COWW8X8AON0EQKLPTVX3BFPFX805KJM546E5RP6ZU0J3CS8SXFP; undef %C97WTOCOVY7JKOF18Q31A51KQKEJQWQUE0CFDXL4ABGMA9MTGIB}foreach my $CJ7KTFS6S0UI63GXKKXABFFKE0PTS384L400W8L99ZIJ4WBXYFC (keys %CO4BWLCAW4GPOHM3QCSZAOOCSHKUJ3K8WEL07DZD9Q9X0T7BU3Q) {my ($C84RQ17TVGQIIPXB4VXM6HQP100A0D35RUF74Y0N2XF3GP2DII0, $CSKDN67QRDUU40DU7R0RAL3498DWQ5U0LZY5HBAEMRFW9MX0SPC) = fileparse($CJ7KTFS6S0UI63GXKKXABFFKE0PTS384L400W8L99ZIJ4WBXYFC);$CSKDN67QRDUU40DU7R0RAL3498DWQ5U0LZY5HBAEMRFW9MX0SPC =~ s/\/$//;unless ($CO4BWLCAW4GPOHM3QCSZAOOCSHKUJ3K8WEL07DZD9Q9X0T7BU3Q{$CSKDN67QRDUU40DU7R0RAL3498DWQ5U0LZY5HBAEMRFW9MX0SPC}) {$CQR23QD91TDEZYR2N364EBJVNKQP6DVREQLZ4JA211YW8K6V5NS{$CJ7KTFS6S0UI63GXKKXABFFKE0PTS384L400W8L99ZIJ4WBXYFC} = 1}}foreach my $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS (keys %CQR23QD91TDEZYR2N364EBJVNKQP6DVREQLZ4JA211YW8K6V5NS) {my ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK, $CGDLWWXOSWH5REVO0ENC16IXWTZWSSKSI8WH4BP1MVGDPAX4NJ7) = fileparse($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);$CGDLWWXOSWH5REVO0ENC16IXWTZWSSKSI8WH4BP1MVGDPAX4NJ7 =~ s/\/$//;if ($CQR23QD91TDEZYR2N364EBJVNKQP6DVREQLZ4JA211YW8K6V5NS{$CGDLWWXOSWH5REVO0ENC16IXWTZWSSKSI8WH4BP1MVGDPAX4NJ7}) {delete $CQR23QD91TDEZYR2N364EBJVNKQP6DVREQLZ4JA211YW8K6V5NS{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}}}my $C764Z3MARSWO1F7WRZPSI0SS4QXCUZ0J6ZTX0HKPI51196O8H7Q = keys %CQR23QD91TDEZYR2N364EBJVNKQP6DVREQLZ4JA211YW8K6V5NS;my $CGZJBMB4VGFOZRXTV7D7Z8V5BNT351GNCP4AZ1WF1JPUL9IK8PH = 1;foreach my $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK (keys %C1DYUNEVKO80CXH32VU0CKL1N58KLFIGRLES29TX979RR9IVJUT) {if (time - $C1DYUNEVKO80CXH32VU0CKL1N58KLFIGRLES29TX979RR9IVJUT{$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK}{secs} > $C23EP2ZTKHXGFH1SL9RAJQ5ZIF8DZIMUYOBRSU2OU5VUQHMR18J) {delete $C1DYUNEVKO80CXH32VU0CKL1N58KLFIGRLES29TX979RR9IVJUT{$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK}}if ($CQR23QD91TDEZYR2N364EBJVNKQP6DVREQLZ4JA211YW8K6V5NS{$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK}) {$C1DYUNEVKO80CXH32VU0CKL1N58KLFIGRLES29TX979RR9IVJUT{$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK}{secs} = time;$C1DYUNEVKO80CXH32VU0CKL1N58KLFIGRLES29TX979RR9IVJUT{$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK}{count}++;}}foreach my $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK (keys %CESGUUTOH25DMKQY05AWHI2ZTOMGIQAN80RC073ZZVD266PCF5Y) {if (time - $CESGUUTOH25DMKQY05AWHI2ZTOMGIQAN80RC073ZZVD266PCF5Y{$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK} > $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wrateignore}) {$CAEI61YVFMTQ01KLRVARXI46E9DXVPTBYZPPRF48YY2YO9IOYXU{$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK} = 1;delete $CESGUUTOH25DMKQY05AWHI2ZTOMGIQAN80RC073ZZVD266PCF5Y{$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK};if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 1) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Rate ignore expired: '$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK'")}}}foreach my $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK (keys %CQR23QD91TDEZYR2N364EBJVNKQP6DVREQLZ4JA211YW8K6V5NS) {if ($C97WTOCOVY7JKOF18Q31A51KQKEJQWQUE0CFDXL4ABGMA9MTGIB{$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK} == 2) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 2) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("ignored: '$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK' cached ignore")}delete $C1DYUNEVKO80CXH32VU0CKL1N58KLFIGRLES29TX979RR9IVJUT{$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK};next;}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 1) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Checking '$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK' ($CGZJBMB4VGFOZRXTV7D7Z8V5BNT351GNCP4AZ1WF1JPUL9IK8PH/$C764Z3MARSWO1F7WRZPSI0SS4QXCUZ0J6ZTX0HKPI51196O8H7Q/$C1DYUNEVKO80CXH32VU0CKL1N58KLFIGRLES29TX979RR9IVJUT{$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK}{count})")}if ($CESGUUTOH25DMKQY05AWHI2ZTOMGIQAN80RC073ZZVD266PCF5Y{$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK}) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 1) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("\x{52}\x{61}\x{74}\x{65}\x{20}\x{69}\x{67}\x{6e}\x{6f}\x{72}\x{65}\x{64}\x{20}\x{66}\x{6f}\x{72}\x{20}\x{74}\x{68}\x{65}\x{20}\x{6e}\x{65}\x{78}\x{74}\x{20}".($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wrateignore} - (time - $CESGUUTOH25DMKQY05AWHI2ZTOMGIQAN80RC073ZZVD266PCF5Y{$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK}))." seconds: '$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK'")}delete $C1DYUNEVKO80CXH32VU0CKL1N58KLFIGRLES29TX979RR9IVJUT{$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK};} else {if ($C1DYUNEVKO80CXH32VU0CKL1N58KLFIGRLES29TX979RR9IVJUT{$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK}{count} > $C0U5CH1S6KU5JRSDEW8G5KI2CL44EDXIVAD1J6THAURLLSUZ7I5) {my $CSS90GD159DA22A7A11XF4Z1BYXLEDZWWT295SE85CFGY55AT70;if ($C97WTOCOVY7JKOF18Q31A51KQKEJQWQUE0CFDXL4ABGMA9MTGIB{$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK} == 1) {$CSS90GD159DA22A7A11XF4Z1BYXLEDZWWT295SE85CFGY55AT70 = 0}elsif ($C97WTOCOVY7JKOF18Q31A51KQKEJQWQUE0CFDXL4ABGMA9MTGIB{$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK} == 2) {$CSS90GD159DA22A7A11XF4Z1BYXLEDZWWT295SE85CFGY55AT70 = 1}elsif (&CRZXT30553UDQXC38JO4G3C3FCBLN0ZAOUFCBT0CY6KOOVXZ78A($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK)) {$C97WTOCOVY7JKOF18Q31A51KQKEJQWQUE0CFDXL4ABGMA9MTGIB{$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK} = 2;$CSS90GD159DA22A7A11XF4Z1BYXLEDZWWT295SE85CFGY55AT70 = 1;} else {$C97WTOCOVY7JKOF18Q31A51KQKEJQWQUE0CFDXL4ABGMA9MTGIB{$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK} = 1}if ($CSS90GD159DA22A7A11XF4Z1BYXLEDZWWT295SE85CFGY55AT70) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 2) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("ignored: '$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK' for rate scanning")}} else {unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YRATEIGN}) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("WARNING: '$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK' scanned $C0U5CH1S6KU5JRSDEW8G5KI2CL44EDXIVAD1J6THAURLLSUZ7I5 times in the last $C23EP2ZTKHXGFH1SL9RAJQ5ZIF8DZIMUYOBRSU2OU5VUQHMR18J seconds, you might want to ignore this resource")}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wrateignore} > 0) {$CESGUUTOH25DMKQY05AWHI2ZTOMGIQAN80RC073ZZVD266PCF5Y{$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK} = time;unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{YRATEIGN}) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Ignoring resource for the next $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wrateignore} seconds: '$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK'")}}}delete $C1DYUNEVKO80CXH32VU0CKL1N58KLFIGRLES29TX979RR9IVJUT{$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK};}unless ($C1DYUNEVKO80CXH32VU0CKL1N58KLFIGRLES29TX979RR9IVJUT{$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK}{secs}) {$C1DYUNEVKO80CXH32VU0CKL1N58KLFIGRLES29TX979RR9IVJUT{$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK}{secs} = time;$C1DYUNEVKO80CXH32VU0CKL1N58KLFIGRLES29TX979RR9IVJUT{$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK}{count} = 1;}if (-e $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK and !(-z $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK)) {my $C4WBPSKTIGPXIOMQ7RLAVV90MQHWZI3PE035B8RB3EJVTKKT6HW = $C63BDCSA8LBVMZC1LCDAZWDNJ3TOP4I4IFZXB790OYN1ZQ7K1JK[$CEVPW4D9NHZN5RMLJZM7Z3DIRZ4086PX8OH1VQWO5CJO2YYRWKT];if ($C5JMDN70WWHS1B7LHK83K744VE4PYT6IWGL6UYEBIYVJ4ANGOPJ{$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK}) {print $C4WBPSKTIGPXIOMQ7RLAVV90MQHWZI3PE035B8RB3EJVTKKT6HW "SCANONLY:$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK\n";} else {print $C4WBPSKTIGPXIOMQ7RLAVV90MQHWZI3PE035B8RB3EJVTKKT6HW "SCAN:$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK\n";}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 0) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("\x{53}\x{65}\x{6e}\x{64}\x{69}\x{6e}\x{67}\x{20}\x{74}\x{6f}\x{20}\x{63}\x{68}\x{69}\x{6c}\x{64}\x{20}".($CEVPW4D9NHZN5RMLJZM7Z3DIRZ4086PX8OH1VQWO5CJO2YYRWKT + 1)." '$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK'")}$CEVPW4D9NHZN5RMLJZM7Z3DIRZ4086PX8OH1VQWO5CJO2YYRWKT++;if ($CEVPW4D9NHZN5RMLJZM7Z3DIRZ4086PX8OH1VQWO5CJO2YYRWKT == $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wmaxchild}) {$CEVPW4D9NHZN5RMLJZM7Z3DIRZ4086PX8OH1VQWO5CJO2YYRWKT = 0;}}else {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 1) {if (-e $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK) {if (-z $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Skipped (empty) '$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK'");}} else {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Skipped (deleted) '$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK'");}}}}$CGZJBMB4VGFOZRXTV7D7Z8V5BNT351GNCP4AZ1WF1JPUL9IK8PH++;}sleep $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wsleep};}return;}sub CFRYD37MTSYAUS6RQY0LYOPEUR7YQW5KOE1M2CTFGWUX2PDIJJS {undef @C63BDCSA8LBVMZC1LCDAZWDNJ3TOP4I4IFZXB790OYN1ZQ7K1JK;local $SIG{CHLD} = 'IGNORE';local $SIG{PIPE} = 'IGNORE';for my $CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO (1 .. $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wmaxchild}) {my $CF0W2Q3PN8V7K2QBDL48OK01F4SEEX0CT54CVRZO5Q8FF95T3MP;my $C4WBPSKTIGPXIOMQ7RLAVV90MQHWZI3PE035B8RB3EJVTKKT6HW;pipe($C4WBPSKTIGPXIOMQ7RLAVV90MQHWZI3PE035B8RB3EJVTKKT6HW,$CF0W2Q3PN8V7K2QBDL48OK01F4SEEX0CT54CVRZO5Q8FF95T3MP); select((select($CF0W2Q3PN8V7K2QBDL48OK01F4SEEX0CT54CVRZO5Q8FF95T3MP), $|=1)[0]); ## no critic -push @C63BDCSA8LBVMZC1LCDAZWDNJ3TOP4I4IFZXB790OYN1ZQ7K1JK, $CF0W2Q3PN8V7K2QBDL48OK01F4SEEX0CT54CVRZO5Q8FF95T3MP;unless (defined ($CR9AJISZY1PX6XLFAAKS5AEOYMYPANQ71MAPRHXWAW8AMH3ZURM[$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO] = fork)) {&CHM4TFEJ23H1KFRVPOJT6I0PPHF7ODQVGF7D3W3ZT1RAXXM8PZ3(__LINE__,"Error: cannot fork: $!");}unless ($CR9AJISZY1PX6XLFAAKS5AEOYMYPANQ71MAPRHXWAW8AMH3ZURM[$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO]) {close $CF0W2Q3PN8V7K2QBDL48OK01F4SEEX0CT54CVRZO5Q8FF95T3MP;undef $CC2UWU9F6XF9WVEMRSITYIHPY89BZ3U9LS80H3I3QD3Y4MGVKV0;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{bayes}) {my $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU = &C7PKO0FK9WK252FSHM47FQSDL44ACG6RHFJOI67MJ13CPDIIBD0;if ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Child $CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO: Bayes corpus error - $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU");} else {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 0) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Child $CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO: Bayes corpus loaded")}}}local $0 = "cxswatch - sleeping";&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Child $CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO running");while (my $CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T = <$C4WBPSKTIGPXIOMQ7RLAVV90MQHWZI3PE035B8RB3EJVTKKT6HW>) {chomp $CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T;if (-e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{6c}\x{6f}\x{67}\x{6c}\x{65}\x{76}\x{65}\x{6c}") {$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} = 10} else {$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} = $C0Y46O1SIKB9IWWQH5N7MZVB6T7QVMCGPMAW3CXS86OGUXOR1FE}if ($CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T eq "\x{58}\x{52}\x{45}\x{4c}\x{4f}\x{41}\x{44}") {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 0) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Child $CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO: reloading $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{xtra}")}&C8FY9P4M3SRG74LKLZ4HLH6JS28ZMYPTOKKE96SCRLI5CE676RV;}elsif ($CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T eq "\x{4e}\x{52}\x{45}\x{4c}\x{4f}\x{41}\x{44}") {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 0) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Child $CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO: reloading new exploit detections")}my $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU = &C8FY9P4M3SRG74LKLZ4HLH6JS28ZMYPTOKKE96SCRLI5CE676RV;if ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU and $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 2) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Child $CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO: NRELOAD - $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU")}}elsif ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{bayes} and $CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T eq "\x{42}\x{52}\x{45}\x{4c}\x{4f}\x{41}\x{44}") {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 0) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Child $CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO: reloading new bayes corpus")}my $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU = &C7PKO0FK9WK252FSHM47FQSDL44ACG6RHFJOI67MJ13CPDIIBD0;if ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU and $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 2) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Child $CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO: BRELOAD - $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU")}}if ($CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T eq "\x{49}\x{52}\x{45}\x{4c}\x{4f}\x{41}\x{44}") {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 0) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Child $CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO: reloading $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ignore}")}&COWW8X8AON0EQKLPTVX3BFPFX805KJM546E5RP6ZU0J3CS8SXFP;}else {my $CXGDWHNXEPXSHL2JL1PLP7PSPQQD1OYKS3AY5U6TRVSHDQU7SA9;my $CYHKNW67BSJXDO9P0SCW5TFP8K0633RS4UITCGE57IFB5JDZIO7 = "";if ($CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T =~ /^SCAN:(.*)$/) {$CYHKNW67BSJXDO9P0SCW5TFP8K0633RS4UITCGE57IFB5JDZIO7 = $1;}elsif ($CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T =~ /^SCANONLY:(.*)$/) {$CYHKNW67BSJXDO9P0SCW5TFP8K0633RS4UITCGE57IFB5JDZIO7 = $1;$CXGDWHNXEPXSHL2JL1PLP7PSPQQD1OYKS3AY5U6TRVSHDQU7SA9 = "\x{53}\x{43}\x{41}\x{4e}\x{4f}\x{4e}\x{4c}\x{59}";}if ($CYHKNW67BSJXDO9P0SCW5TFP8K0633RS4UITCGE57IFB5JDZIO7 ne "") {local $0 = "cxswatch - scanning";if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 1) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Child $CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO: scanning '$CYHKNW67BSJXDO9P0SCW5TFP8K0633RS4UITCGE57IFB5JDZIO7'")}my $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU = &CV7Y44FGNUVCEXIRJA6R7DZUAJL9X5IUOQ6IYL1XXF6FAC98VC2($CYHKNW67BSJXDO9P0SCW5TFP8K0633RS4UITCGE57IFB5JDZIO7,$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO,$CXGDWHNXEPXSHL2JL1PLP7PSPQQD1OYKS3AY5U6TRVSHDQU7SA9);if ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU == 0 and $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 0) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Child $CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO: (scanned) '$CYHKNW67BSJXDO9P0SCW5TFP8K0633RS4UITCGE57IFB5JDZIO7'")}local $0 = "cxswatch - sleeping";}}}exit;}close $C4WBPSKTIGPXIOMQ7RLAVV90MQHWZI3PE035B8RB3EJVTKKT6HW;}return;}sub C8L2EF0GCYMD8YAZJP6NRP46CER2ZYPXNN65OXT568E3GFK82SX {undef $CNOL0HPEEVVP9PKW1T7C135DYSTGMZ9KAAEPFJCK7Q1T2NTJPZ9;local $SIG{CHLD} = 'IGNORE';local $SIG{PIPE} = 'IGNORE';my $CF0W2Q3PN8V7K2QBDL48OK01F4SEEX0CT54CVRZO5Q8FF95T3MP;my $C4WBPSKTIGPXIOMQ7RLAVV90MQHWZI3PE035B8RB3EJVTKKT6HW;pipe($C4WBPSKTIGPXIOMQ7RLAVV90MQHWZI3PE035B8RB3EJVTKKT6HW,$CF0W2Q3PN8V7K2QBDL48OK01F4SEEX0CT54CVRZO5Q8FF95T3MP); select((select($CF0W2Q3PN8V7K2QBDL48OK01F4SEEX0CT54CVRZO5Q8FF95T3MP), $|=1)[0]); ## no critic -$CNOL0HPEEVVP9PKW1T7C135DYSTGMZ9KAAEPFJCK7Q1T2NTJPZ9 = $CF0W2Q3PN8V7K2QBDL48OK01F4SEEX0CT54CVRZO5Q8FF95T3MP;unless (defined ($CAW5SMJ3RP94XCBNYM7AFP60YLDER6XJ5NY56EYYQNOXJQS88IX = fork)) {&CHM4TFEJ23H1KFRVPOJT6I0PPHF7ODQVGF7D3W3ZT1RAXXM8PZ3(__LINE__,"Error: cannot fork: $!");}unless ($CAW5SMJ3RP94XCBNYM7AFP60YLDER6XJ5NY56EYYQNOXJQS88IX) {close $CF0W2Q3PN8V7K2QBDL48OK01F4SEEX0CT54CVRZO5Q8FF95T3MP;undef $CC2UWU9F6XF9WVEMRSITYIHPY89BZ3U9LS80H3I3QD3Y4MGVKV0;local $| = 1;local $0 = "cxswatch - monitoring";$CTT54HUQ24FKXW1QAEWTOBU1UNV3W2MM8A5I6F90M2A2P9LP4EH = 1;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wmonignore} and -e $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wmonignore}) {$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ignore} = $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wmonignore};if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 0) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Monitor Child: reloading $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ignore}")}&COWW8X8AON0EQKLPTVX3BFPFX805KJM546E5RP6ZU0J3CS8SXFP;} eval ('use Text::Diff;'); ## no critic -unless ($@) {$C7AASULZX6ACBKRV960SGHMRR6UKWN7VI4HCY7I4PGJGBA1TJ8X = 1}&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("\x{4d}\x{6f}\x{6e}\x{69}\x{74}\x{6f}\x{72}\x{20}\x{43}\x{68}\x{69}\x{6c}\x{64}\x{20}\x{72}\x{75}\x{6e}\x{6e}\x{69}\x{6e}\x{67}");&CXYL1JS8KK3CP9RNI8FDLTKYNOFWD8Q02GJCY48RNWD30BY86IW;my %CR4HTGF7ZBUPFJXBP0PGFTYO2O1A01JOXJPI3MUO5WGPTJ3NAYO;my %CACHGZBIC9FM2BSHMJ2WO6UX3EQQMKH2UECZUF49XZWVYCZ3H17;my %CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP;my $CZUSAJ8BCYC2XNHGO8HEOHBW6IHLAME47V30POKV9VFEPPER0BR = IO::Select->new($C4WBPSKTIGPXIOMQ7RLAVV90MQHWZI3PE035B8RB3EJVTKKT6HW);while (1) {my %CQR23QD91TDEZYR2N364EBJVNKQP6DVREQLZ4JA211YW8K6V5NS;eval {local $SIG{__DIE__} = undef;local $SIG{'ALRM'} = sub {die "alarm\n"};alarm(5);my @CNK23ESOWO5SHV229WSK8YYVD1MV7G8AS1M4PWLBNOVUIU4GWPQ = $CWYLPT2MQH850VGNRKVJ5DPZNN3NWJQQP8EFG530WYBOWB8J4B1->read;foreach my $CHQQ8JTHKI62XVHQ6JMSMRHYCMUNX56HGY2XIRKHW4ZLJO5CTW8 (@CNK23ESOWO5SHV229WSK8YYVD1MV7G8AS1M4PWLBNOVUIU4GWPQ) {my $CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH = $CHQQ8JTHKI62XVHQ6JMSMRHYCMUNX56HGY2XIRKHW4ZLJO5CTW8->{name};my $CU3PQ0RK1P5BK7XKCY6WWTCBVZW6Q449M9TMGDPNDJ1Y3ZRO3YN = $CHQQ8JTHKI62XVHQ6JMSMRHYCMUNX56HGY2XIRKHW4ZLJO5CTW8->{w}{name};if ($CHQQ8JTHKI62XVHQ6JMSMRHYCMUNX56HGY2XIRKHW4ZLJO5CTW8->IN_Q_OVERFLOW) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Inotify Event Queue Overflow - some activity for [$CU3PQ0RK1P5BK7XKCY6WWTCBVZW6Q449M9TMGDPNDJ1Y3ZRO3YN] [$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH] has been lost, you might want to ignore this resource or increase /proc/sys/fs/inotify/max_queued_events")}my $CYZOYODYL1DVA5CHS7Q8J325IHFG1ES3X54Z6HYBOC4NS467QFS = "$CU3PQ0RK1P5BK7XKCY6WWTCBVZW6Q449M9TMGDPNDJ1Y3ZRO3YN/$CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH";$CYZOYODYL1DVA5CHS7Q8J325IHFG1ES3X54Z6HYBOC4NS467QFS =~ s/\/$//;if ($CDH8IZEM1MUDRTL6VMZEWXIBHVYP5F7J7KML3UY21DCL2K313SH eq "") {$CYZOYODYL1DVA5CHS7Q8J325IHFG1ES3X54Z6HYBOC4NS467QFS = $CU3PQ0RK1P5BK7XKCY6WWTCBVZW6Q449M9TMGDPNDJ1Y3ZRO3YN}if ($CHQQ8JTHKI62XVHQ6JMSMRHYCMUNX56HGY2XIRKHW4ZLJO5CTW8->IN_CREATE) {$CQR23QD91TDEZYR2N364EBJVNKQP6DVREQLZ4JA211YW8K6V5NS{gettimeofday()}{$CYZOYODYL1DVA5CHS7Q8J325IHFG1ES3X54Z6HYBOC4NS467QFS} .= "Created,";}if ($CHQQ8JTHKI62XVHQ6JMSMRHYCMUNX56HGY2XIRKHW4ZLJO5CTW8->IN_CLOSE_WRITE or $CHQQ8JTHKI62XVHQ6JMSMRHYCMUNX56HGY2XIRKHW4ZLJO5CTW8->IN_MOVED_TO) {$CQR23QD91TDEZYR2N364EBJVNKQP6DVREQLZ4JA211YW8K6V5NS{gettimeofday()}{$CYZOYODYL1DVA5CHS7Q8J325IHFG1ES3X54Z6HYBOC4NS467QFS} .= "Modified,";}if ($CHQQ8JTHKI62XVHQ6JMSMRHYCMUNX56HGY2XIRKHW4ZLJO5CTW8->IN_ATTRIB) {$CQR23QD91TDEZYR2N364EBJVNKQP6DVREQLZ4JA211YW8K6V5NS{gettimeofday()}{$CYZOYODYL1DVA5CHS7Q8J325IHFG1ES3X54Z6HYBOC4NS467QFS} .= "Attributes Changed,";}if ($CHQQ8JTHKI62XVHQ6JMSMRHYCMUNX56HGY2XIRKHW4ZLJO5CTW8->IN_DELETE or $CHQQ8JTHKI62XVHQ6JMSMRHYCMUNX56HGY2XIRKHW4ZLJO5CTW8->IN_IGNORED or $CHQQ8JTHKI62XVHQ6JMSMRHYCMUNX56HGY2XIRKHW4ZLJO5CTW8->IN_DELETE_SELF or $CHQQ8JTHKI62XVHQ6JMSMRHYCMUNX56HGY2XIRKHW4ZLJO5CTW8->IN_MOVED_FROM or $CHQQ8JTHKI62XVHQ6JMSMRHYCMUNX56HGY2XIRKHW4ZLJO5CTW8->IN_MOVE_SELF) {$CQR23QD91TDEZYR2N364EBJVNKQP6DVREQLZ4JA211YW8K6V5NS{gettimeofday()}{$CYZOYODYL1DVA5CHS7Q8J325IHFG1ES3X54Z6HYBOC4NS467QFS} .= "Deleted,";$CR4HTGF7ZBUPFJXBP0PGFTYO2O1A01JOXJPI3MUO5WGPTJ3NAYO{$CYZOYODYL1DVA5CHS7Q8J325IHFG1ES3X54Z6HYBOC4NS467QFS} = 1;}}alarm(0);};alarm(0);foreach my $C8LZ4RQYFCPYX7XQ16UTT1ZVARA30K9ZHAMIPQ0CSK70WTTVRHD (sort {$a <=> $b} keys %CQR23QD91TDEZYR2N364EBJVNKQP6DVREQLZ4JA211YW8K6V5NS) {foreach my $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS (keys %{$CQR23QD91TDEZYR2N364EBJVNKQP6DVREQLZ4JA211YW8K6V5NS{$C8LZ4RQYFCPYX7XQ16UTT1ZVARA30K9ZHAMIPQ0CSK70WTTVRHD}}) {if (&CWSU91BZP9L43ZX52Z21JTCWKFANQYCSSXA3GQDOYATTAX8LLAZ($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS)) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 0) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Monitor Child: (ignored) '$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS'")}next;}my $CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY = $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS;my (undef, $CGDLWWXOSWH5REVO0ENC16IXWTZWSSKSI8WH4BP1MVGDPAX4NJ7) = fileparse($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);$CGDLWWXOSWH5REVO0ENC16IXWTZWSSKSI8WH4BP1MVGDPAX4NJ7 =~ s/\/$//;if ($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CGDLWWXOSWH5REVO0ENC16IXWTZWSSKSI8WH4BP1MVGDPAX4NJ7}{opts} ne "" and $C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{opts} eq "") {$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY = $CGDLWWXOSWH5REVO0ENC16IXWTZWSSKSI8WH4BP1MVGDPAX4NJ7}foreach my $C1HN3XK55BKH7FMIS6LL3YBUH2XV7XHSYO51VT6G4M0H1XBUMEQ (split(/\,/,$CQR23QD91TDEZYR2N364EBJVNKQP6DVREQLZ4JA211YW8K6V5NS{$C8LZ4RQYFCPYX7XQ16UTT1ZVARA30K9ZHAMIPQ0CSK70WTTVRHD}{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS})) {if ($C1HN3XK55BKH7FMIS6LL3YBUH2XV7XHSYO51VT6G4M0H1XBUMEQ eq "") {next}my $CT13UNKZAU5R0QU5VK6CEGECNNAEV6ZL6IMEYQWBU2PIR6IV4JM = strftime "%Y-%m-%d %H:%M:%S", localtime $C8LZ4RQYFCPYX7XQ16UTT1ZVARA30K9ZHAMIPQ0CSK70WTTVRHD;$CT13UNKZAU5R0QU5VK6CEGECNNAEV6ZL6IMEYQWBU2PIR6IV4JM .= sprintf ".%06d", ($C8LZ4RQYFCPYX7XQ16UTT1ZVARA30K9ZHAMIPQ0CSK70WTTVRHD-int($C8LZ4RQYFCPYX7XQ16UTT1ZVARA30K9ZHAMIPQ0CSK70WTTVRHD))*1000000;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 0) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Monitor Child: ($CT13UNKZAU5R0QU5VK6CEGECNNAEV6ZL6IMEYQWBU2PIR6IV4JM) $C1HN3XK55BKH7FMIS6LL3YBUH2XV7XHSYO51VT6G4M0H1XBUMEQ '$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS'")}$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= "$CT13UNKZAU5R0QU5VK6CEGECNNAEV6ZL6IMEYQWBU2PIR6IV4JM: $C1HN3XK55BKH7FMIS6LL3YBUH2XV7XHSYO51VT6G4M0H1XBUMEQ '$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS'\n";if ($C1HN3XK55BKH7FMIS6LL3YBUH2XV7XHSYO51VT6G4M0H1XBUMEQ eq "\x{44}\x{65}\x{6c}\x{65}\x{74}\x{65}\x{64}") {next}if ($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{opts} ne "" and -e $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) {my $C5JI47QGKC4BHEQIAUGF0CRI5K5VDUHWKERG1MA6UGIOFXB2RPZ = $C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat};my $CSNPCTGSZ8F46FNR6YHM659PDL05I315Y8AQSLMYJSDYL5N7YOD = $C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{md5};my $CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = "";my $C3QYO4B8Q0OOJB2527647KQDCCIMDO0SBIIK6J8YFZFN97BYU14 = 0;my $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR;$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '+-------------------------------------------------------------------------+'."\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| Before '.$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS."\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| ======'."\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| type : '.$C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{type}."\n";if ($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{opts} =~ /5/ and -f $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) {$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| md5sum: '.($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{md5})."\n"}$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| inode : '.($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->ino)."\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| mode : '.sprintf("%04o", $C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->mode & oct("\x{30}\x{37}\x{37}\x{37}\x{37}"))."\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| links : '.($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->nlink)."\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| uid : '.($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->uid).' ('.getpwuid($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->uid).')'."\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| gid : '.($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->gid).' ('.getgrgid($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->gid).')'."\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| size : '.($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->size)."\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| atime : '.localtime($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->atime)."\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| mtime : '.localtime($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->mtime)."\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| ctime : '.localtime($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->ctime)."\n";if ($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{opts} =~ /5/ and -f $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) {eval {my $CUALPWEP3OIYZCXIFOVKE9739LR7DIA8CRWPZUQK49T89S5IL3D = Digest::MD5->new;open (my $CA9N98H6N9HB1SS3JVFDBETYTMAZUU01QPCGVN6GW7MGF9454DI, "\x{3c}", $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);flock ($CA9N98H6N9HB1SS3JVFDBETYTMAZUU01QPCGVN6GW7MGF9454DI, LOCK_SH);$CUALPWEP3OIYZCXIFOVKE9739LR7DIA8CRWPZUQK49T89S5IL3D->addfile($CA9N98H6N9HB1SS3JVFDBETYTMAZUU01QPCGVN6GW7MGF9454DI);close ($CA9N98H6N9HB1SS3JVFDBETYTMAZUU01QPCGVN6GW7MGF9454DI);$C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{md5} = $CUALPWEP3OIYZCXIFOVKE9739LR7DIA8CRWPZUQK49T89S5IL3D->hexdigest;};}unless ($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{md5}) {$C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{md5} = "(unknown)"}$C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat} = stat($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);my $CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O;if (-l $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) {$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = "\x{73}\x{79}\x{6d}\x{6c}\x{69}\x{6e}\x{6b}"}elsif (S_ISSOCK($st_mode)) {$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = "\x{73}\x{6f}\x{63}\x{6b}\x{65}\x{74}"}elsif ($st_mode & S_IFDIR) {$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = "\x{64}\x{69}\x{72}\x{65}\x{63}\x{74}\x{6f}\x{72}\x{79}"}else {$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = &CL864EBGPXXYXPVXUSAFV45RQLQLJE183PCIO9CLTP6C07RKZJQ($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS)}if ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O eq "" and -T $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) {$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = "text/plain"}if ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O eq "") {$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = "file"}$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| '."\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| After '.$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS."\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| ====='."\n";if ($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{type} ne $CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O) {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = "\x{20}\x{3c}\x{3d}\x{3d}\x{3d}\x{3d}"; $C3QYO4B8Q0OOJB2527647KQDCCIMDO0SBIIK6J8YFZFN97BYU14 = 1;} else {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = ""}$C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{type} = $CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O;$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| type : '.$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O.$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7."\n";if ($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{opts} =~ /5/ and -f $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) {if ($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{md5} ne $CSNPCTGSZ8F46FNR6YHM659PDL05I315Y8AQSLMYJSDYL5N7YOD) {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = "\x{20}\x{3c}\x{3d}\x{3d}\x{3d}\x{3d}"; $C3QYO4B8Q0OOJB2527647KQDCCIMDO0SBIIK6J8YFZFN97BYU14 = 1;} else {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = ""}$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| md5sum: '.($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{md5}).$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7."\n";}if ($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->ino ne $C5JI47QGKC4BHEQIAUGF0CRI5K5VDUHWKERG1MA6UGIOFXB2RPZ->ino) {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = "\x{20}\x{3c}\x{3d}\x{3d}\x{3d}\x{3d}"; $C3QYO4B8Q0OOJB2527647KQDCCIMDO0SBIIK6J8YFZFN97BYU14 = 1;} else {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = ""}$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| inode : '.($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->ino).$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7."\n";if ($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->mode ne $C5JI47QGKC4BHEQIAUGF0CRI5K5VDUHWKERG1MA6UGIOFXB2RPZ->mode) {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = "\x{20}\x{3c}\x{3d}\x{3d}\x{3d}\x{3d}"; $C3QYO4B8Q0OOJB2527647KQDCCIMDO0SBIIK6J8YFZFN97BYU14 = 1;} else {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = ""}$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| mode : '.sprintf("%04o", $C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->mode & oct("\x{30}\x{37}\x{37}\x{37}\x{37}")).$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7."\n";if ($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->nlink ne $C5JI47QGKC4BHEQIAUGF0CRI5K5VDUHWKERG1MA6UGIOFXB2RPZ->nlink) {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = "\x{20}\x{3c}\x{3d}\x{3d}\x{3d}\x{3d}"; $C3QYO4B8Q0OOJB2527647KQDCCIMDO0SBIIK6J8YFZFN97BYU14 = 1;} else {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = ""}$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| links : '.($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->nlink).$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7."\n";if ($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->uid ne $C5JI47QGKC4BHEQIAUGF0CRI5K5VDUHWKERG1MA6UGIOFXB2RPZ->uid) {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = "\x{20}\x{3c}\x{3d}\x{3d}\x{3d}\x{3d}"; $C3QYO4B8Q0OOJB2527647KQDCCIMDO0SBIIK6J8YFZFN97BYU14 = 1;} else {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = ""}$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| uid : '.($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->uid)."(".getpwuid($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->uid).")".$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7."\n";if ($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->gid ne $C5JI47QGKC4BHEQIAUGF0CRI5K5VDUHWKERG1MA6UGIOFXB2RPZ->gid) {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = "\x{20}\x{3c}\x{3d}\x{3d}\x{3d}\x{3d}"; $C3QYO4B8Q0OOJB2527647KQDCCIMDO0SBIIK6J8YFZFN97BYU14 = 1;} else {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = ""}$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| gid : '.($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->gid)."(".getgrgid($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->gid).")".$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7."\n";if ($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->size ne $C5JI47QGKC4BHEQIAUGF0CRI5K5VDUHWKERG1MA6UGIOFXB2RPZ->size) {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = "\x{20}\x{3c}\x{3d}\x{3d}\x{3d}\x{3d}"; $C3QYO4B8Q0OOJB2527647KQDCCIMDO0SBIIK6J8YFZFN97BYU14 = 1;} else {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = ""}$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| size : '.($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->size).$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7."\n";if ($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->atime ne $C5JI47QGKC4BHEQIAUGF0CRI5K5VDUHWKERG1MA6UGIOFXB2RPZ->atime) {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = "\x{20}\x{3c}\x{3d}\x{3d}\x{3d}\x{3d}"; $C3QYO4B8Q0OOJB2527647KQDCCIMDO0SBIIK6J8YFZFN97BYU14 = 1;} else {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = ""}$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| atime : '.localtime($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->atime).$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7."\n";if ($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->mtime ne $C5JI47QGKC4BHEQIAUGF0CRI5K5VDUHWKERG1MA6UGIOFXB2RPZ->mtime) {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = "\x{20}\x{3c}\x{3d}\x{3d}\x{3d}\x{3d}"; $C3QYO4B8Q0OOJB2527647KQDCCIMDO0SBIIK6J8YFZFN97BYU14 = 1;} else {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = ""}$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| mtime : '.localtime($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->mtime).$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7."\n";if ($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->ctime ne $C5JI47QGKC4BHEQIAUGF0CRI5K5VDUHWKERG1MA6UGIOFXB2RPZ->ctime) {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = "\x{20}\x{3c}\x{3d}\x{3d}\x{3d}\x{3d}"; $C3QYO4B8Q0OOJB2527647KQDCCIMDO0SBIIK6J8YFZFN97BYU14 = 1;} else {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = ""}$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| ctime : '.localtime($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->ctime).$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7."\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '+-------------------------------------------------------------------------+'."\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "\n";if ($C3QYO4B8Q0OOJB2527647KQDCCIMDO0SBIIK6J8YFZFN97BYU14) {$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR;} else {$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= "$CT13UNKZAU5R0QU5VK6CEGECNNAEV6ZL6IMEYQWBU2PIR6IV4JM: (no changes detected) '$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS'\n";if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 0) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Monitor Child: ($CT13UNKZAU5R0QU5VK6CEGECNNAEV6ZL6IMEYQWBU2PIR6IV4JM) (no changes detected) '$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS'")}}if (($C1HN3XK55BKH7FMIS6LL3YBUH2XV7XHSYO51VT6G4M0H1XBUMEQ eq "\x{4d}\x{6f}\x{64}\x{69}\x{66}\x{69}\x{65}\x{64}" or $C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{md5} ne $CSNPCTGSZ8F46FNR6YHM659PDL05I315Y8AQSLMYJSDYL5N7YOD) and $C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{opts} =~ /X/ and $C7AASULZX6ACBKRV960SGHMRR6UKWN7VI4HCY7I4PGJGBA1TJ8X and -T $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 0) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Monitor Child: ($CT13UNKZAU5R0QU5VK6CEGECNNAEV6ZL6IMEYQWBU2PIR6IV4JM) create diff '$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS'")}open (my $CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL, "\x{3c}", $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);flock ($CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL, LOCK_SH);$C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{after} = do {local $/; <$CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL>};close ($CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL);my $CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = diff(\$C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{before}, \$C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{after});if ($CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 eq "") {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = "(no differences)\n"}$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= '+-------------------------------------------------------------------------+'."\n";$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= '| Differences'."\n";$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= '| ==========='."\n";$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= "\n$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7\n";$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= '+-------------------------------------------------------------------------+'."\n";$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= "\n";$C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{before} = $C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{after};}if (($C1HN3XK55BKH7FMIS6LL3YBUH2XV7XHSYO51VT6G4M0H1XBUMEQ eq "\x{4d}\x{6f}\x{64}\x{69}\x{66}\x{69}\x{65}\x{64}" or $C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{md5} ne $CSNPCTGSZ8F46FNR6YHM659PDL05I315Y8AQSLMYJSDYL5N7YOD) and $C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{opts} =~ /Q/ and -f $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 0) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Monitor Child: ($CT13UNKZAU5R0QU5VK6CEGECNNAEV6ZL6IMEYQWBU2PIR6IV4JM) create quarantine '$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS'")}my ($CMBZJ92OYLQHW5Z6PY6E6E7G719K2M3RD99929MQVISW1124RHU, $CU9WWH00GNVZKAGXBC43BJHX4S346ULBXJ6GA43L6ORPQB8OVC9) = &CAALXXCPP3SW0TVB9J0157CKU1OBPCBXTHDVJSI2JO29GAEVUDH($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS, "\x{63}\x{78}\x{73}\x{20}\x{57}\x{61}\x{74}\x{63}\x{68}\x{20}\x{4d}\x{6f}\x{6e}\x{69}\x{74}\x{6f}\x{72}\x{20}\x{46}\x{69}\x{6c}\x{65}",1);$C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{qafter} = $CG8JV60T1PU4K3STSSNAJXY642H7F3RVEDUYY5MJ3D9Z1DNFCJ3;$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= '+-------------------------------------------------------------------------+'."\n";$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= '| Quarantine'."\n";$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= '| =========='."\n";if ($CU9WWH00GNVZKAGXBC43BJHX4S346ULBXJ6GA43L6ORPQB8OVC9) {$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= '| Message : '.$CU9WWH00GNVZKAGXBC43BJHX4S346ULBXJ6GA43L6ORPQB8OVC9."\n"}$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= '| Before File: '.$C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{qbefore}."\n";$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= '| After File : '.$C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{qafter}."\n";$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= '+-------------------------------------------------------------------------+'."\n";$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= "\n";$C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{qbefore} = $CG8JV60T1PU4K3STSSNAJXY642H7F3RVEDUYY5MJ3D9Z1DNFCJ3;}}elsif ($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat} and -e $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) {my $C5JI47QGKC4BHEQIAUGF0CRI5K5VDUHWKERG1MA6UGIOFXB2RPZ = $CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat};my $CSNPCTGSZ8F46FNR6YHM659PDL05I315Y8AQSLMYJSDYL5N7YOD = $CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{md5};my $CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = "";my $C3QYO4B8Q0OOJB2527647KQDCCIMDO0SBIIK6J8YFZFN97BYU14 = 0;my $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR;$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '+-------------------------------------------------------------------------+'."\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| Before '.$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS."\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| ======'."\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| type : '.$CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{type}."\n";if ($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY}{opts} =~ /5/ and -f $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) {$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| md5sum: '.($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{md5})."\n"}$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| inode : '.($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->ino)."\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| mode : '.sprintf("%04o", $CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->mode & oct("\x{30}\x{37}\x{37}\x{37}\x{37}"))."\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| links : '.($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->nlink)."\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| uid : '.($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->uid).' ('.getpwuid($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->uid).')'."\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| gid : '.($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->gid).' ('.getgrgid($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->gid).')'."\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| size : '.($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->size)."\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| atime : '.localtime($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->atime)."\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| mtime : '.localtime($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->mtime)."\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| ctime : '.localtime($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->ctime)."\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| '."\n";if ($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY}{opts} =~ /5/ and -f $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) {eval {my $CUALPWEP3OIYZCXIFOVKE9739LR7DIA8CRWPZUQK49T89S5IL3D = Digest::MD5->new;open (my $CA9N98H6N9HB1SS3JVFDBETYTMAZUU01QPCGVN6GW7MGF9454DI, "\x{3c}", $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);flock ($CA9N98H6N9HB1SS3JVFDBETYTMAZUU01QPCGVN6GW7MGF9454DI, LOCK_SH);$CUALPWEP3OIYZCXIFOVKE9739LR7DIA8CRWPZUQK49T89S5IL3D->addfile($CA9N98H6N9HB1SS3JVFDBETYTMAZUU01QPCGVN6GW7MGF9454DI);close ($CA9N98H6N9HB1SS3JVFDBETYTMAZUU01QPCGVN6GW7MGF9454DI);$CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{md5} = $CUALPWEP3OIYZCXIFOVKE9739LR7DIA8CRWPZUQK49T89S5IL3D->hexdigest;};}unless ($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{md5}) {$CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{md5} = "(unknown)"}$CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat} = stat($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);my $CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O;if (-l $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) {$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = "\x{73}\x{79}\x{6d}\x{6c}\x{69}\x{6e}\x{6b}"}elsif (S_ISSOCK($st_mode)) {$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = "\x{73}\x{6f}\x{63}\x{6b}\x{65}\x{74}"}elsif ($st_mode & S_IFDIR) {$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = "\x{64}\x{69}\x{72}\x{65}\x{63}\x{74}\x{6f}\x{72}\x{79}"}else {$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = &CL864EBGPXXYXPVXUSAFV45RQLQLJE183PCIO9CLTP6C07RKZJQ($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS)}if ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O eq "" and -T $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) {$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = "text/plain"}if ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O eq "") {$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = "file"}$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| After '.$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS."\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| ====='."\n";if ($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{type} ne $CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O) {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = "\x{20}\x{3c}\x{3d}\x{3d}\x{3d}\x{3d}"; $C3QYO4B8Q0OOJB2527647KQDCCIMDO0SBIIK6J8YFZFN97BYU14 = 1;} else {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = ""}$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| type : '.$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O.$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7."\n";$CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{type} = $CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O;if ($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY}{opts} =~ /5/ and -f $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) {if ($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{md5} ne $CSNPCTGSZ8F46FNR6YHM659PDL05I315Y8AQSLMYJSDYL5N7YOD) {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = "\x{20}\x{3c}\x{3d}\x{3d}\x{3d}\x{3d}"; $C3QYO4B8Q0OOJB2527647KQDCCIMDO0SBIIK6J8YFZFN97BYU14 = 1;} else {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = ""}$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| md5sum: '.($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{md5}).$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7."\n";}if ($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->ino ne $C5JI47QGKC4BHEQIAUGF0CRI5K5VDUHWKERG1MA6UGIOFXB2RPZ->ino) {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = "\x{20}\x{3c}\x{3d}\x{3d}\x{3d}\x{3d}"; $C3QYO4B8Q0OOJB2527647KQDCCIMDO0SBIIK6J8YFZFN97BYU14 = 1;} else {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = ""}$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| inode : '.($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->ino).$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7."\n";if ($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->mode ne $C5JI47QGKC4BHEQIAUGF0CRI5K5VDUHWKERG1MA6UGIOFXB2RPZ->mode) {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = "\x{20}\x{3c}\x{3d}\x{3d}\x{3d}\x{3d}"; $C3QYO4B8Q0OOJB2527647KQDCCIMDO0SBIIK6J8YFZFN97BYU14 = 1;} else {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = ""}$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| mode : '.sprintf("%04o", $CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->mode & oct("\x{30}\x{37}\x{37}\x{37}\x{37}")).$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7."\n";if ($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->nlink ne $C5JI47QGKC4BHEQIAUGF0CRI5K5VDUHWKERG1MA6UGIOFXB2RPZ->nlink) {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = "\x{20}\x{3c}\x{3d}\x{3d}\x{3d}\x{3d}"; $C3QYO4B8Q0OOJB2527647KQDCCIMDO0SBIIK6J8YFZFN97BYU14 = 1;} else {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = ""}$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| links : '.($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->nlink).$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7."\n";if ($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->uid ne $C5JI47QGKC4BHEQIAUGF0CRI5K5VDUHWKERG1MA6UGIOFXB2RPZ->uid) {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = "\x{20}\x{3c}\x{3d}\x{3d}\x{3d}\x{3d}"; $C3QYO4B8Q0OOJB2527647KQDCCIMDO0SBIIK6J8YFZFN97BYU14 = 1;} else {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = ""}$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| uid : '.($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->uid).' ('.getpwuid($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->uid).')'.$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7."\n";if ($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->gid ne $C5JI47QGKC4BHEQIAUGF0CRI5K5VDUHWKERG1MA6UGIOFXB2RPZ->gid) {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = "\x{20}\x{3c}\x{3d}\x{3d}\x{3d}\x{3d}"; $C3QYO4B8Q0OOJB2527647KQDCCIMDO0SBIIK6J8YFZFN97BYU14 = 1;} else {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = ""}$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| gid : '.($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->gid).' ('.getgrgid($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->gid).')'.$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7."\n";if ($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->size ne $C5JI47QGKC4BHEQIAUGF0CRI5K5VDUHWKERG1MA6UGIOFXB2RPZ->size) {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = "\x{20}\x{3c}\x{3d}\x{3d}\x{3d}\x{3d}"; $C3QYO4B8Q0OOJB2527647KQDCCIMDO0SBIIK6J8YFZFN97BYU14 = 1;} else {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = ""}$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| size : '.($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->size).$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7."\n";if ($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->atime ne $C5JI47QGKC4BHEQIAUGF0CRI5K5VDUHWKERG1MA6UGIOFXB2RPZ->atime) {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = "\x{20}\x{3c}\x{3d}\x{3d}\x{3d}\x{3d}"; $C3QYO4B8Q0OOJB2527647KQDCCIMDO0SBIIK6J8YFZFN97BYU14 = 1;} else {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = ""}$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| atime : '.localtime($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->atime).$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7."\n";if ($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->mtime ne $C5JI47QGKC4BHEQIAUGF0CRI5K5VDUHWKERG1MA6UGIOFXB2RPZ->mtime) {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = "\x{20}\x{3c}\x{3d}\x{3d}\x{3d}\x{3d}"; $C3QYO4B8Q0OOJB2527647KQDCCIMDO0SBIIK6J8YFZFN97BYU14 = 1;} else {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = ""}$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| mtime : '.localtime($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->mtime).$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7."\n";if ($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->ctime ne $C5JI47QGKC4BHEQIAUGF0CRI5K5VDUHWKERG1MA6UGIOFXB2RPZ->ctime) {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = "\x{20}\x{3c}\x{3d}\x{3d}\x{3d}\x{3d}"; $C3QYO4B8Q0OOJB2527647KQDCCIMDO0SBIIK6J8YFZFN97BYU14 = 1;} else {$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7 = ""}$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '| ctime : '.localtime($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->ctime).$CTFCW77QDH3C8CKBG3DEUFOEUL7XIKDXMW6O9R6BW1H40PI3WH7."\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= '+-------------------------------------------------------------------------+'."\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= "\n";if ($C3QYO4B8Q0OOJB2527647KQDCCIMDO0SBIIK6J8YFZFN97BYU14) {$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR;} else {$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= "$CT13UNKZAU5R0QU5VK6CEGECNNAEV6ZL6IMEYQWBU2PIR6IV4JM: (no changes detected) '$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS'\n";if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 0) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Monitor Child: ($CT13UNKZAU5R0QU5VK6CEGECNNAEV6ZL6IMEYQWBU2PIR6IV4JM) (no changes detected) '$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS'")}}}elsif ($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{opts} eq "" and $CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat} eq "" and -e $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) {$CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat} = stat($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);my $CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O;if (-l $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) {$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = "\x{73}\x{79}\x{6d}\x{6c}\x{69}\x{6e}\x{6b}"}elsif (S_ISSOCK($st_mode)) {$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = "\x{73}\x{6f}\x{63}\x{6b}\x{65}\x{74}"}elsif ($st_mode & S_IFDIR) {$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = "\x{64}\x{69}\x{72}\x{65}\x{63}\x{74}\x{6f}\x{72}\x{79}"}else {$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = &CL864EBGPXXYXPVXUSAFV45RQLQLJE183PCIO9CLTP6C07RKZJQ($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS)}if ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O eq "" and -T $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) {$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = "text/plain"}if ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O eq "") {$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = "file"}$CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{type} = $CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O;if ($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY}{opts} =~ /5/ and -f $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) {eval {my $CUALPWEP3OIYZCXIFOVKE9739LR7DIA8CRWPZUQK49T89S5IL3D = Digest::MD5->new;open (my $CA9N98H6N9HB1SS3JVFDBETYTMAZUU01QPCGVN6GW7MGF9454DI, "\x{3c}", $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);flock ($CA9N98H6N9HB1SS3JVFDBETYTMAZUU01QPCGVN6GW7MGF9454DI, LOCK_SH);$CUALPWEP3OIYZCXIFOVKE9739LR7DIA8CRWPZUQK49T89S5IL3D->addfile($CA9N98H6N9HB1SS3JVFDBETYTMAZUU01QPCGVN6GW7MGF9454DI);close ($CA9N98H6N9HB1SS3JVFDBETYTMAZUU01QPCGVN6GW7MGF9454DI);$CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{md5} = $CUALPWEP3OIYZCXIFOVKE9739LR7DIA8CRWPZUQK49T89S5IL3D->hexdigest;};}unless ($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{md5}) {$CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{md5} = "(unknown)"}$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= "\n";$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= '+-------------------------------------------------------------------------+'."\n";$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= '| Created '.$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS."\n";$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= '| ======='."\n";$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= '| type : '.$CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{type}."\n";if ($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY}{opts} =~ /5/ and -f $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) {$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= '| md5sum: '.($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{md5})."\n"}$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= '| inode : '.($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->ino)."\n";$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= '| mode : '.sprintf("%04o", $CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->mode & oct("\x{30}\x{37}\x{37}\x{37}\x{37}"))."\n";$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= '| links : '.($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->nlink)."\n";$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= '| uid : '.($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->uid).' ('.getpwuid($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->uid).')'."\n";$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= '| gid : '.($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->gid).' ('.getgrgid($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->gid).')'."\n";$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= '| size : '.($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->size)."\n";$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= '| atime : '.localtime($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->atime)."\n";$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= '| mtime : '.localtime($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->mtime)."\n";$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= '| ctime : '.localtime($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->ctime)."\n";$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= '+-------------------------------------------------------------------------+'."\n";$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= "\n";}}}}foreach my $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS (keys %C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0) {if ($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{opts} eq "") {next}if (-e $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) {my $CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY = $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS;my $C1MNLGHCFSULJTHK5RCLNZDM6QNRLJ4CWU8DSX19BMDJE3YPX5W = stat($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);if ($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{opts} ne "" and ($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat} eq "" or $C1MNLGHCFSULJTHK5RCLNZDM6QNRLJ4CWU8DSX19BMDJE3YPX5W->ino ne $C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->ino)) {my $C8LZ4RQYFCPYX7XQ16UTT1ZVARA30K9ZHAMIPQ0CSK70WTTVRHD = gettimeofday();my $CT13UNKZAU5R0QU5VK6CEGECNNAEV6ZL6IMEYQWBU2PIR6IV4JM = strftime "%Y-%m-%d %H:%M:%S", localtime $C8LZ4RQYFCPYX7XQ16UTT1ZVARA30K9ZHAMIPQ0CSK70WTTVRHD;$CT13UNKZAU5R0QU5VK6CEGECNNAEV6ZL6IMEYQWBU2PIR6IV4JM .= sprintf ".%06d", ($C8LZ4RQYFCPYX7XQ16UTT1ZVARA30K9ZHAMIPQ0CSK70WTTVRHD-int($C8LZ4RQYFCPYX7XQ16UTT1ZVARA30K9ZHAMIPQ0CSK70WTTVRHD))*1000000;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 0) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Monitor Child: ($CT13UNKZAU5R0QU5VK6CEGECNNAEV6ZL6IMEYQWBU2PIR6IV4JM) Recreated and monitoring '$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS'")}&CXVI5QMFRP9Y2DPXU3TDLAKPDBRPT2K13SVTDCWMILG152SSN5E($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);$C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat} = stat($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);if ($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{opts} =~ /5/ and -f $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) {eval {my $CUALPWEP3OIYZCXIFOVKE9739LR7DIA8CRWPZUQK49T89S5IL3D = Digest::MD5->new;open (my $CA9N98H6N9HB1SS3JVFDBETYTMAZUU01QPCGVN6GW7MGF9454DI, "\x{3c}", $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);flock ($CA9N98H6N9HB1SS3JVFDBETYTMAZUU01QPCGVN6GW7MGF9454DI, LOCK_SH);$CUALPWEP3OIYZCXIFOVKE9739LR7DIA8CRWPZUQK49T89S5IL3D->addfile($CA9N98H6N9HB1SS3JVFDBETYTMAZUU01QPCGVN6GW7MGF9454DI);close ($CA9N98H6N9HB1SS3JVFDBETYTMAZUU01QPCGVN6GW7MGF9454DI);$C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{md5} = $CUALPWEP3OIYZCXIFOVKE9739LR7DIA8CRWPZUQK49T89S5IL3D->hexdigest;};}unless ($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{md5}) {$C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{md5} = "(unknown)"}if ($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{opts} =~ /C/) {my $CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O;if (-l $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) {$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = "\x{73}\x{79}\x{6d}\x{6c}\x{69}\x{6e}\x{6b}"}elsif (S_ISSOCK($st_mode)) {$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = "\x{73}\x{6f}\x{63}\x{6b}\x{65}\x{74}"}elsif ($st_mode & S_IFDIR) {$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = "\x{64}\x{69}\x{72}\x{65}\x{63}\x{74}\x{6f}\x{72}\x{79}"}else {$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = &CL864EBGPXXYXPVXUSAFV45RQLQLJE183PCIO9CLTP6C07RKZJQ($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS)}if ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O eq "" and -T $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) {$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = "text/plain"}if ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O eq "") {$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = "file"}$C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{type} = $CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O;$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= "$CT13UNKZAU5R0QU5VK6CEGECNNAEV6ZL6IMEYQWBU2PIR6IV4JM: Recreated and monitoring '$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS'\n";$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= "\n";$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= '+-------------------------------------------------------------------------+'."\n";$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= '| Recreated '.$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS."\n";$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= '| ========='."\n";$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= '| type : '.$C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{type}."\n";if ($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{opts} =~ /5/ and -f $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) {$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= '| md5sum: '.($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{md5})."\n"}$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= '| inode : '.($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->ino)."\n";$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= '| mode : '.sprintf("%04o", $C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->mode & oct("\x{30}\x{37}\x{37}\x{37}\x{37}"))."\n";$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= '| links : '.($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->nlink)."\n";$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= '| uid : '.($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->uid).' ('.getpwuid($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->uid).')'."\n";$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= '| gid : '.($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->gid).' ('.getgrgid($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->gid).')'."\n";$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= '| size : '.($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->size)."\n";$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= '| atime : '.localtime($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->atime)."\n";$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= '| mtime : '.localtime($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->mtime)."\n";$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= '| ctime : '.localtime($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat}->ctime)."\n";$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= '+-------------------------------------------------------------------------+'."\n";$CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY} .= "\n";}}delete $CR4HTGF7ZBUPFJXBP0PGFTYO2O1A01JOXJPI3MUO5WGPTJ3NAYO{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS};} else {if ($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{opts} ne "") {$C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat} = "";my $CEVIGDKGUB4L8BFSHMF2D0H9CELVLC9IUYS7NVWKN47LBRM2LAY = $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS;unless ($CR4HTGF7ZBUPFJXBP0PGFTYO2O1A01JOXJPI3MUO5WGPTJ3NAYO{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}) {my $C8LZ4RQYFCPYX7XQ16UTT1ZVARA30K9ZHAMIPQ0CSK70WTTVRHD = gettimeofday();my $CT13UNKZAU5R0QU5VK6CEGECNNAEV6ZL6IMEYQWBU2PIR6IV4JM = strftime "%Y-%m-%d %H:%M:%S", localtime $C8LZ4RQYFCPYX7XQ16UTT1ZVARA30K9ZHAMIPQ0CSK70WTTVRHD;$CT13UNKZAU5R0QU5VK6CEGECNNAEV6ZL6IMEYQWBU2PIR6IV4JM .= sprintf ".%06d", ($C8LZ4RQYFCPYX7XQ16UTT1ZVARA30K9ZHAMIPQ0CSK70WTTVRHD-int($C8LZ4RQYFCPYX7XQ16UTT1ZVARA30K9ZHAMIPQ0CSK70WTTVRHD))*1000000;$CR4HTGF7ZBUPFJXBP0PGFTYO2O1A01JOXJPI3MUO5WGPTJ3NAYO{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS} = 1;$C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat} = "";}}}}if (-e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{6c}\x{6f}\x{67}\x{6c}\x{65}\x{76}\x{65}\x{6c}") {$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} = 10} else {$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} = $C0Y46O1SIKB9IWWQH5N7MZVB6T7QVMCGPMAW3CXS86OGUXOR1FE}if ($CZUSAJ8BCYC2XNHGO8HEOHBW6IHLAME47V30POKV9VFEPPER0BR->can_read(0)) {my $CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T = <$C4WBPSKTIGPXIOMQ7RLAVV90MQHWZI3PE035B8RB3EJVTKKT6HW>;chomp $CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T;if ($CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T eq "\x{4d}\x{52}\x{45}\x{4c}\x{4f}\x{41}\x{44}") {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 0) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Monitor Child: reloading $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wmonitor}")}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wmonignore} and -e $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wmonignore}) {$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ignore} = $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wmonignore};if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 0) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Monitor Child: reloading $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ignore}")}&COWW8X8AON0EQKLPTVX3BFPFX805KJM546E5RP6ZU0J3CS8SXFP;}undef %C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0;undef %CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2;undef %CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP;undef %CR4HTGF7ZBUPFJXBP0PGFTYO2O1A01JOXJPI3MUO5WGPTJ3NAYO;&CXYL1JS8KK3CP9RNI8FDLTKYNOFWD8Q02GJCY48RNWD30BY86IW;}if ($CYAMAZOXAI6U4VNK7E4TP0WJI1ODQAGMYG84QXSKKX9W86IZN0T eq "\x{49}\x{52}\x{45}\x{4c}\x{4f}\x{41}\x{44}") {unless ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wmonignore}) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 0) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Monitor Child: reloading $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ignore}")}&COWW8X8AON0EQKLPTVX3BFPFX805KJM546E5RP6ZU0J3CS8SXFP;}}}foreach my $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS (keys %CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP) {if ($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{opts} ne "" and time - $C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{timer} > $C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{interval} and $CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS} ne "") {$C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{timer} = time;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 0) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Monitor Child: report sent for '$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS'")}if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{mail} ne "") {&CSJVTB3G41KWNXXUXA7KKI4JCQWIVPIYSADIXIE9KTD249H8YN0($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS, $CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS});}if ($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{opts} =~ /L/) {open (my $CM5BI5GT1O9TC7BHGF98ENNCSP2VKF7WCF3I8W60WVOXTNSTFKY, "\x{3e}\x{3e}", "/var/log/cxsmonitor.log");flock ($CM5BI5GT1O9TC7BHGF98ENNCSP2VKF7WCF3I8W60WVOXTNSTFKY, LOCK_EX);print $CM5BI5GT1O9TC7BHGF98ENNCSP2VKF7WCF3I8W60WVOXTNSTFKY $CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS};close ($CM5BI5GT1O9TC7BHGF98ENNCSP2VKF7WCF3I8W60WVOXTNSTFKY);}delete $CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS};}}foreach my $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS (keys %C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0) {if ($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{opts} ne "" and $CLRZ0FKJISAP7YWIXFR68FOZA2CGX5H071X0D3LPL9HOYCTCGTP{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS} eq "") {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 3) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Monitor Child: reset timer for '$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS'")}$C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{timer} = time;}}}}close $C4WBPSKTIGPXIOMQ7RLAVV90MQHWZI3PE035B8RB3EJVTKKT6HW;return;}sub CSJVTB3G41KWNXXUXA7KKI4JCQWIVPIYSADIXIE9KTD249H8YN0 {my $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS = shift;my $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR = shift;local $SIG{CHLD} = 'IGNORE';my $C4L95A529FUX95761W7KRDG64WEHROJV4W90WBG1XPZ0YO34EVU = fork;if ($C4L95A529FUX95761W7KRDG64WEHROJV4W90WBG1XPZ0YO34EVU == 0) {local $0 = "cxswatch - monitor reporting";my $CS3WFQURC1A07JMBAA044KQYEHSRIC76GZD7TFFMDRJ0Y7PIMF0 = 'root';my $CT7AMX3IAF2HBP6GLYO0J2J99Y0M44QYIM5FUO0XLNPU92ITZHS = $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{mail};my $C9KTP6IKXG27JD6JRS8GC7IVJMGKY5SF8VGSH4IVV1SDN7GMTWO = "From: $CS3WFQURC1A07JMBAA044KQYEHSRIC76GZD7TFFMDRJ0Y7PIMF0\n";my $C8LZ4RQYFCPYX7XQ16UTT1ZVARA30K9ZHAMIPQ0CSK70WTTVRHD = localtime(time);$C8LZ4RQYFCPYX7XQ16UTT1ZVARA30K9ZHAMIPQ0CSK70WTTVRHD =~ s/^(\w+)\s+(\w+)\s+(\d+)\s+(\d+:\d+:\d+)\s+(\d+)$/$1, $3 $2 $5 $4/;if ($CS3WFQURC1A07JMBAA044KQYEHSRIC76GZD7TFFMDRJ0Y7PIMF0 !~ /\@/) {$CS3WFQURC1A07JMBAA044KQYEHSRIC76GZD7TFFMDRJ0Y7PIMF0 .= '@'.$C2RUXHVWTBRM1TJNHYR4GU2X91UXCLS6M4K6UPZNAMHJ94RWEGE}if ($CT7AMX3IAF2HBP6GLYO0J2J99Y0M44QYIM5FUO0XLNPU92ITZHS !~ /\@/) {$CT7AMX3IAF2HBP6GLYO0J2J99Y0M44QYIM5FUO0XLNPU92ITZHS .= '@'.$C2RUXHVWTBRM1TJNHYR4GU2X91UXCLS6M4K6UPZNAMHJ94RWEGE}$C9KTP6IKXG27JD6JRS8GC7IVJMGKY5SF8VGSH4IVV1SDN7GMTWO .= "To: $CT7AMX3IAF2HBP6GLYO0J2J99Y0M44QYIM5FUO0XLNPU92ITZHS\n";$C9KTP6IKXG27JD6JRS8GC7IVJMGKY5SF8VGSH4IVV1SDN7GMTWO .= "Date: $C8LZ4RQYFCPYX7XQ16UTT1ZVARA30K9ZHAMIPQ0CSK70WTTVRHD $CA0V9VLS7TMONLE6E2ULF4EXHBDMTT2O0DX1SJ2MSCLN4580DC4\n";$C9KTP6IKXG27JD6JRS8GC7IVJMGKY5SF8VGSH4IVV1SDN7GMTWO .= "Subject: cxswatch file monitor report for '$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS'\n\n";$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR = $C9KTP6IKXG27JD6JRS8GC7IVJMGKY5SF8VGSH4IVV1SDN7GMTWO.$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR;open (my $C74NXCH2XAG8S9WF6D14OX0N2SUIYEEWHOP1ZJ4UY4P6JJFV7KV, "\x{3e}", "/tmp/out.txt");flock ($C74NXCH2XAG8S9WF6D14OX0N2SUIYEEWHOP1ZJ4UY4P6JJFV7KV, LOCK_EX);print $C74NXCH2XAG8S9WF6D14OX0N2SUIYEEWHOP1ZJ4UY4P6JJFV7KV $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR;close ($C74NXCH2XAG8S9WF6D14OX0N2SUIYEEWHOP1ZJ4UY4P6JJFV7KV);if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{smtp}) {my $CEA69ZNEWJKIWFZO7NLK4CRCAGAJZTSTAQJX0WJIN9ASTQTK7UC = Net::SMTP->new('localhost', Debug => $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{debug}) or return;$CEA69ZNEWJKIWFZO7NLK4CRCAGAJZTSTAQJX0WJIN9ASTQTK7UC->mail($CS3WFQURC1A07JMBAA044KQYEHSRIC76GZD7TFFMDRJ0Y7PIMF0);$CEA69ZNEWJKIWFZO7NLK4CRCAGAJZTSTAQJX0WJIN9ASTQTK7UC->to($CT7AMX3IAF2HBP6GLYO0J2J99Y0M44QYIM5FUO0XLNPU92ITZHS);$CEA69ZNEWJKIWFZO7NLK4CRCAGAJZTSTAQJX0WJIN9ASTQTK7UC->data();$CEA69ZNEWJKIWFZO7NLK4CRCAGAJZTSTAQJX0WJIN9ASTQTK7UC->datasend($CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR);$CEA69ZNEWJKIWFZO7NLK4CRCAGAJZTSTAQJX0WJIN9ASTQTK7UC->dataend();$CEA69ZNEWJKIWFZO7NLK4CRCAGAJZTSTAQJX0WJIN9ASTQTK7UC->quit();} else {open (my $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI, "|-", "/usr/sbin/sendmail -t");print $C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR;close ($C6K8BINBIH2DJYCGS1D9FEFFJMV636SV3Y529W5MO5G251CHFLI);}exit;}return;}sub CXYL1JS8KK3CP9RNI8FDLTKYNOFWD8Q02GJCY48RNWD30BY86IW {undef $CWYLPT2MQH850VGNRKVJ5DPZNN3NWJQQP8EFG530WYBOWB8J4B1;$CWYLPT2MQH850VGNRKVJ5DPZNN3NWJQQP8EFG530WYBOWB8J4B1 = Linux::Inotify2->new or &CKOR6MYXN7K1U0Z7OSN8J6Y07SQOY3BV8M8K70ZGT18AFO6HGR8("Unable to create new monitor inotify object: $!");foreach my $CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT (slurp($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wmonitor})) {$CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT =~ s/$cleanreg//g;if ($CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT eq "" or $CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT =~ /^#/ or $CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT !~ /\|/) {next}my ($CLF85H4GZTIA4QKHVQ735B0GAYUZGPFSBFF4VDLR7AMP7A2BBAB,$C4GFR9NRVTDCP8GRIYNCV8UAN34OPGGH60N0I0RJOTR2IYGN5X3,$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK) = split(/\|/,$CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT,3);if (-e $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK) {if (&CWSU91BZP9L43ZX52Z21JTCWKFANQYCSSXA3GQDOYATTAX8LLAZ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK)) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Monitor Child: (ignored) '$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK'");next;}&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Monitor Child: Adding '$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK'");my $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS = abs_path($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK);$C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat} = stat($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);my $CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O;my $CQKP2ELNQA7I93UWPA2HDJ5UCLTRWSFWV3RMQ1BE8K2GP81R7BT;if (-l $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) {$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = "\x{73}\x{79}\x{6d}\x{6c}\x{69}\x{6e}\x{6b}"}elsif (S_ISSOCK($st_mode)) {$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = "\x{73}\x{6f}\x{63}\x{6b}\x{65}\x{74}"}elsif ($st_mode & S_IFDIR) {$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = "\x{64}\x{69}\x{72}\x{65}\x{63}\x{74}\x{6f}\x{72}\x{79}"}else {$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = &CL864EBGPXXYXPVXUSAFV45RQLQLJE183PCIO9CLTP6C07RKZJQ($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS)}if ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O eq "" and -T $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) {$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = "text/plain"}if ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O eq "") {$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = "file"}$C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{type} = $CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O;$C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{timer} = time;$C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{interval} = $C4GFR9NRVTDCP8GRIYNCV8UAN34OPGGH60N0I0RJOTR2IYGN5X3;$C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{opts} = uc $CLF85H4GZTIA4QKHVQ735B0GAYUZGPFSBFF4VDLR7AMP7A2BBAB;&CXVI5QMFRP9Y2DPXU3TDLAKPDBRPT2K13SVTDCWMILG152SSN5E($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);if ($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{opts} =~ /5/) {$CQKP2ELNQA7I93UWPA2HDJ5UCLTRWSFWV3RMQ1BE8K2GP81R7BT = 1}if ($CQKP2ELNQA7I93UWPA2HDJ5UCLTRWSFWV3RMQ1BE8K2GP81R7BT and -f $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) {eval {my $CUALPWEP3OIYZCXIFOVKE9739LR7DIA8CRWPZUQK49T89S5IL3D = Digest::MD5->new;open (my $CA9N98H6N9HB1SS3JVFDBETYTMAZUU01QPCGVN6GW7MGF9454DI, "\x{3c}", $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);flock ($CA9N98H6N9HB1SS3JVFDBETYTMAZUU01QPCGVN6GW7MGF9454DI, LOCK_SH);$CUALPWEP3OIYZCXIFOVKE9739LR7DIA8CRWPZUQK49T89S5IL3D->addfile($CA9N98H6N9HB1SS3JVFDBETYTMAZUU01QPCGVN6GW7MGF9454DI);close ($CA9N98H6N9HB1SS3JVFDBETYTMAZUU01QPCGVN6GW7MGF9454DI);$C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{md5} = $CUALPWEP3OIYZCXIFOVKE9739LR7DIA8CRWPZUQK49T89S5IL3D->hexdigest;};if ($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{opts} =~ /X/ and $C7AASULZX6ACBKRV960SGHMRR6UKWN7VI4HCY7I4PGJGBA1TJ8X and -T $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) {open (my $CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL, "\x{3c}", $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);flock ($CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL, LOCK_SH);$C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{before} = do {local $/; <$CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL>};close ($CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL);}if ($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{opts} =~ /Q/) {my ($CMBZJ92OYLQHW5Z6PY6E6E7G719K2M3RD99929MQVISW1124RHU, $CU9WWH00GNVZKAGXBC43BJHX4S346ULBXJ6GA43L6ORPQB8OVC9) = &CAALXXCPP3SW0TVB9J0157CKU1OBPCBXTHDVJSI2JO29GAEVUDH($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS, "\x{63}\x{78}\x{73}\x{20}\x{57}\x{61}\x{74}\x{63}\x{68}\x{20}\x{4d}\x{6f}\x{6e}\x{69}\x{74}\x{6f}\x{72}\x{20}\x{46}\x{69}\x{6c}\x{65}",1);$C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{qbefore} = $CG8JV60T1PU4K3STSSNAJXY642H7F3RVEDUYY5MJ3D9Z1DNFCJ3;}}if (-d $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK) {opendir (DIR, $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK);while (my $CCP35R0WTCDEL8297O8AHXX9Y1HK6KMJT98PK46R179ZSIJNTT7 = readdir (DIR)) {if ($CCP35R0WTCDEL8297O8AHXX9Y1HK6KMJT98PK46R179ZSIJNTT7 eq "\x{2e}" or $CCP35R0WTCDEL8297O8AHXX9Y1HK6KMJT98PK46R179ZSIJNTT7 eq "..") {next}my $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS = abs_path("$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK/$CCP35R0WTCDEL8297O8AHXX9Y1HK6KMJT98PK46R179ZSIJNTT7");if (&CWSU91BZP9L43ZX52Z21JTCWKFANQYCSSXA3GQDOYATTAX8LLAZ($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS)) {next}$CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{stat} = stat($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);if (-l $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) {$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = "\x{73}\x{79}\x{6d}\x{6c}\x{69}\x{6e}\x{6b}"}elsif (S_ISSOCK($st_mode)) {$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = "\x{73}\x{6f}\x{63}\x{6b}\x{65}\x{74}"}elsif ($st_mode & S_IFDIR) {$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = "\x{64}\x{69}\x{72}\x{65}\x{63}\x{74}\x{6f}\x{72}\x{79}"}else {$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = &CL864EBGPXXYXPVXUSAFV45RQLQLJE183PCIO9CLTP6C07RKZJQ($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS)}if ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O eq "" and -T $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) {$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = "text/plain"}if ($CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O eq "") {$CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O = "file"}$CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{type} = $CXCSZW2RS7TNWIOAI721ESVWO41KJF6Y5XAPPJJQ64GYQ4E166O;if ($CQKP2ELNQA7I93UWPA2HDJ5UCLTRWSFWV3RMQ1BE8K2GP81R7BT and -f $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS) {eval {my $CUALPWEP3OIYZCXIFOVKE9739LR7DIA8CRWPZUQK49T89S5IL3D = Digest::MD5->new;open (my $CA9N98H6N9HB1SS3JVFDBETYTMAZUU01QPCGVN6GW7MGF9454DI, "\x{3c}", $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS);flock ($CA9N98H6N9HB1SS3JVFDBETYTMAZUU01QPCGVN6GW7MGF9454DI, LOCK_SH);$CUALPWEP3OIYZCXIFOVKE9739LR7DIA8CRWPZUQK49T89S5IL3D->addfile($CA9N98H6N9HB1SS3JVFDBETYTMAZUU01QPCGVN6GW7MGF9454DI);close ($CA9N98H6N9HB1SS3JVFDBETYTMAZUU01QPCGVN6GW7MGF9454DI);$CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{md5} = $CUALPWEP3OIYZCXIFOVKE9739LR7DIA8CRWPZUQK49T89S5IL3D->hexdigest;};}unless ($CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{md5}) {$CD3M6MNWJNT4AHTTRWZCU48DQRE8OETY60OBS22VIM0R1F9E1F2{$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}{md5} = "(unknown)"}}}} else {$C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK}{stat} = "";$C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK}{timer} = time;$C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK}{interval} = $C4GFR9NRVTDCP8GRIYNCV8UAN34OPGGH60N0I0RJOTR2IYGN5X3;$C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK}{opts} = $CLF85H4GZTIA4QKHVQ735B0GAYUZGPFSBFF4VDLR7AMP7A2BBAB;}}&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("\x{4d}\x{6f}\x{6e}\x{69}\x{74}\x{6f}\x{72}\x{69}\x{6e}\x{67}\x{2e}\x{2e}\x{2e}");return;}sub CL989JMKY532VL7A98V7SNESQH7KSAEV3ZNNQ860SA8UR0KHKUH {my @CJLIVRPILMY4H015U3XLNP7ZVNQVXITD256S8AVM0AWUPNDQKKT;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{filemax} > 0 and @_ > $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{filemax}) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Directory $File::Find::dir skipped due to --filemax limit (".scalar(@_)."/$CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{filemax})");return;}foreach my $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS (@_) {if ($CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS =~ /^\.$|^\.\.$/) {next}if (-d "$File::Find::dir/$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS") {unless (&CWSU91BZP9L43ZX52Z21JTCWKFANQYCSSXA3GQDOYATTAX8LLAZ("$File::Find::dir/$CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS")) {push @CJLIVRPILMY4H015U3XLNP7ZVNQVXITD256S8AVM0AWUPNDQKKT, $CC1JCZSM9QUJSSDFQHWCLZL4TZEJPDX6N40O5FSJKSEUHQDAFQS}}}return @CJLIVRPILMY4H015U3XLNP7ZVNQVXITD256S8AVM0AWUPNDQKKT;}sub CQN1DQA0CUM8VECKFPPF06DAQM40WZ8TRDYXL009K2KJWBEZZJR {unless (-l $File::Find::name) {&CWPEVLP93BIAYVMZYHZ3I9FKEOQYB1PTV3IDY4UP0A5AZTKW2DL($File::Find::name)}return;}sub CWPEVLP93BIAYVMZYHZ3I9FKEOQYB1PTV3IDY4UP0A5AZTKW2DL {my $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK = shift;my $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{options} =~ /w|W/) {$CC2UWU9F6XF9WVEMRSITYIHPY89BZ3U9LS80H3I3QD3Y4MGVKV0->watch ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK, IN_CREATE | IN_DELETE | IN_CLOSE_WRITE | IN_MOVED_TO | IN_ATTRIB) or $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU = $!;} else {$CC2UWU9F6XF9WVEMRSITYIHPY89BZ3U9LS80H3I3QD3Y4MGVKV0->watch ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK, IN_CREATE | IN_DELETE | IN_CLOSE_WRITE | IN_MOVED_TO) or $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU = $!;}if ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU eq "\x{4e}\x{6f}\x{20}\x{73}\x{75}\x{63}\x{68}\x{20}\x{66}\x{69}\x{6c}\x{65}\x{20}\x{6f}\x{72}\x{20}\x{64}\x{69}\x{72}\x{65}\x{63}\x{74}\x{6f}\x{72}\x{79}") {return}if ($C2LAX1F1GND1R8XRRIAB1AGRN1CWRKVSF7C1K4AA6M571645PYV) {open (my $CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY, "\x{3c}", "/proc/sys/fs/inotify/max_user_watches");flock ($CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY, LOCK_SH);my @CCH50VINQ7B4CXSXMBB3R2979XBGVDAIRNNJ1DI67WL2DELPZBW = <$CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY>;close ($CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY);chomp @CCH50VINQ7B4CXSXMBB3R2979XBGVDAIRNNJ1DI67WL2DELPZBW;if ($CCH50VINQ7B4CXSXMBB3R2979XBGVDAIRNNJ1DI67WL2DELPZBW[0] ne "" and (($CQLFMKI8ONJDAJAH7BQJSSRSXXQP3WWD55R1EAHPAEQ56NJNPP8 + 100) > $CCH50VINQ7B4CXSXMBB3R2979XBGVDAIRNNJ1DI67WL2DELPZBW[0])) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Inotify: Status:[$CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU] Count:[$CQLFMKI8ONJDAJAH7BQJSSRSXXQP3WWD55R1EAHPAEQ56NJNPP8] Resource:$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK]");&CKOR6MYXN7K1U0Z7OSN8J6Y07SQOY3BV8M8K70ZGT18AFO6HGR8("Unable to start cxs Watch daemon: /proc/sys/fs/inotify/max_user_watches is set too low [currently:$CCH50VINQ7B4CXSXMBB3R2979XBGVDAIRNNJ1DI67WL2DELPZBW[0]]. You need to have your VPS provider increase this value.");}}if ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU eq "\x{4e}\x{6f}\x{20}\x{73}\x{70}\x{61}\x{63}\x{65}\x{20}\x{6c}\x{65}\x{66}\x{74}\x{20}\x{6f}\x{6e}\x{20}\x{64}\x{65}\x{76}\x{69}\x{63}\x{65}") {open (my $CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY, "\x{3c}", "/proc/sys/fs/inotify/max_user_watches");flock ($CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY, LOCK_SH);my @CCH50VINQ7B4CXSXMBB3R2979XBGVDAIRNNJ1DI67WL2DELPZBW = <$CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY>;close ($CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY);chomp @CCH50VINQ7B4CXSXMBB3R2979XBGVDAIRNNJ1DI67WL2DELPZBW;my $C1MNLGHCFSULJTHK5RCLNZDM6QNRLJ4CWU8DSX19BMDJE3YPX5W = $CCH50VINQ7B4CXSXMBB3R2979XBGVDAIRNNJ1DI67WL2DELPZBW[0] + 1000;open (my $C74NXCH2XAG8S9WF6D14OX0N2SUIYEEWHOP1ZJ4UY4P6JJFV7KV, "\x{3e}", "/proc/sys/fs/inotify/max_user_watches");flock ($C74NXCH2XAG8S9WF6D14OX0N2SUIYEEWHOP1ZJ4UY4P6JJFV7KV, LOCK_EX);print $C74NXCH2XAG8S9WF6D14OX0N2SUIYEEWHOP1ZJ4UY4P6JJFV7KV "$C1MNLGHCFSULJTHK5RCLNZDM6QNRLJ4CWU8DSX19BMDJE3YPX5W\n";close ($C74NXCH2XAG8S9WF6D14OX0N2SUIYEEWHOP1ZJ4UY4P6JJFV7KV) or &CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Error increasing /proc/sys/fs/inotify/max_user_watches: $!");if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 1) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("max_user_watches increased to: $C1MNLGHCFSULJTHK5RCLNZDM6QNRLJ4CWU8DSX19BMDJE3YPX5W")}$CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU = 0;if (-d $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK) {if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{options} =~ /w|W/) {$CC2UWU9F6XF9WVEMRSITYIHPY89BZ3U9LS80H3I3QD3Y4MGVKV0->watch ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK, IN_CREATE | IN_DELETE | IN_CLOSE_WRITE | IN_MOVED_TO | IN_ATTRIB) or $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU = $!;} else {$CC2UWU9F6XF9WVEMRSITYIHPY89BZ3U9LS80H3I3QD3Y4MGVKV0->watch ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK, IN_CREATE | IN_DELETE | IN_CLOSE_WRITE | IN_MOVED_TO) or $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU = $!;}if ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU and ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU ne "\x{4e}\x{6f}\x{20}\x{73}\x{75}\x{63}\x{68}\x{20}\x{66}\x{69}\x{6c}\x{65}\x{20}\x{6f}\x{72}\x{20}\x{64}\x{69}\x{72}\x{65}\x{63}\x{74}\x{6f}\x{72}\x{79}")) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Error adding inotify for $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK: $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU");}}}elsif ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Error adding inotify for $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK: $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU");}if (($CVBMPBX1HPU9CSCG860S5SMD51TWQOIPSURBASJYS4J3CL9PCBC and $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 0) or ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 1)) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Watching '$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK'")}$CQLFMKI8ONJDAJAH7BQJSSRSXXQP3WWD55R1EAHPAEQ56NJNPP8++;if (($CQLFMKI8ONJDAJAH7BQJSSRSXXQP3WWD55R1EAHPAEQ56NJNPP8 / 500) == int($CQLFMKI8ONJDAJAH7BQJSSRSXXQP3WWD55R1EAHPAEQ56NJNPP8 / 500)) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ(".....$CQLFMKI8ONJDAJAH7BQJSSRSXXQP3WWD55R1EAHPAEQ56NJNPP8")}return;}sub CXVI5QMFRP9Y2DPXU3TDLAKPDBRPT2K13SVTDCWMILG152SSN5E {my $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK = shift;my $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU;my $CLF85H4GZTIA4QKHVQ735B0GAYUZGPFSBFF4VDLR7AMP7A2BBAB = IN_CREATE | IN_DELETE | IN_CLOSE_WRITE | IN_MOVED_TO | IN_ATTRIB | IN_DELETE_SELF | IN_MOVED_FROM | IN_MOVE_SELF;if ($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK}{opts}) {$CLF85H4GZTIA4QKHVQ735B0GAYUZGPFSBFF4VDLR7AMP7A2BBAB = "";if ($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK}{opts} =~ /C/) {$CLF85H4GZTIA4QKHVQ735B0GAYUZGPFSBFF4VDLR7AMP7A2BBAB = $CLF85H4GZTIA4QKHVQ735B0GAYUZGPFSBFF4VDLR7AMP7A2BBAB | IN_CREATE | IN_MOVED_TO}if ($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK}{opts} =~ /D/) {$CLF85H4GZTIA4QKHVQ735B0GAYUZGPFSBFF4VDLR7AMP7A2BBAB = $CLF85H4GZTIA4QKHVQ735B0GAYUZGPFSBFF4VDLR7AMP7A2BBAB | IN_DELETE | IN_DELETE_SELF | IN_MOVED_FROM | IN_MOVE_SELF}if ($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK}{opts} =~ /M/) {$CLF85H4GZTIA4QKHVQ735B0GAYUZGPFSBFF4VDLR7AMP7A2BBAB = $CLF85H4GZTIA4QKHVQ735B0GAYUZGPFSBFF4VDLR7AMP7A2BBAB | IN_CLOSE_WRITE}if ($C6WWY4HUJ8BJOZOVS2OGQO2FWP0XNNGUO7BOEYG8RPA4MXIUNC0{$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK}{opts} =~ /A/) {$CLF85H4GZTIA4QKHVQ735B0GAYUZGPFSBFF4VDLR7AMP7A2BBAB = $CLF85H4GZTIA4QKHVQ735B0GAYUZGPFSBFF4VDLR7AMP7A2BBAB | IN_ATTRIB}}$CWYLPT2MQH850VGNRKVJ5DPZNN3NWJQQP8EFG530WYBOWB8J4B1->watch ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK, $CLF85H4GZTIA4QKHVQ735B0GAYUZGPFSBFF4VDLR7AMP7A2BBAB) or $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU = $!;if ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU eq "\x{4e}\x{6f}\x{20}\x{73}\x{75}\x{63}\x{68}\x{20}\x{66}\x{69}\x{6c}\x{65}\x{20}\x{6f}\x{72}\x{20}\x{64}\x{69}\x{72}\x{65}\x{63}\x{74}\x{6f}\x{72}\x{79}") {return}if ($C2LAX1F1GND1R8XRRIAB1AGRN1CWRKVSF7C1K4AA6M571645PYV) {open (my $CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY, "\x{3c}", "/proc/sys/fs/inotify/max_user_watches");flock ($CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY, LOCK_SH);my @CCH50VINQ7B4CXSXMBB3R2979XBGVDAIRNNJ1DI67WL2DELPZBW = <$CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY>;close ($CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY);chomp @CCH50VINQ7B4CXSXMBB3R2979XBGVDAIRNNJ1DI67WL2DELPZBW;if ($CCH50VINQ7B4CXSXMBB3R2979XBGVDAIRNNJ1DI67WL2DELPZBW[0] ne "" and (($CQLFMKI8ONJDAJAH7BQJSSRSXXQP3WWD55R1EAHPAEQ56NJNPP8 + 100) > $CCH50VINQ7B4CXSXMBB3R2979XBGVDAIRNNJ1DI67WL2DELPZBW[0])) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Inotify: Status:[$CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU] Count:[$CQLFMKI8ONJDAJAH7BQJSSRSXXQP3WWD55R1EAHPAEQ56NJNPP8] Resource:$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK]");&CKOR6MYXN7K1U0Z7OSN8J6Y07SQOY3BV8M8K70ZGT18AFO6HGR8("Unable to start cxs Watch daemon: /proc/sys/fs/inotify/max_user_watches is set too low [currently:$CCH50VINQ7B4CXSXMBB3R2979XBGVDAIRNNJ1DI67WL2DELPZBW[0]]. You need to have your VPS provider increase this value.");}}if ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU eq "\x{4e}\x{6f}\x{20}\x{73}\x{70}\x{61}\x{63}\x{65}\x{20}\x{6c}\x{65}\x{66}\x{74}\x{20}\x{6f}\x{6e}\x{20}\x{64}\x{65}\x{76}\x{69}\x{63}\x{65}") {open (my $CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY, "\x{3c}", "/proc/sys/fs/inotify/max_user_watches");flock ($CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY, LOCK_SH);my @CCH50VINQ7B4CXSXMBB3R2979XBGVDAIRNNJ1DI67WL2DELPZBW = <$CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY>;close ($CGCKO6T78FXIQIEG6WLVAK4RA1ZD50EERP8QY2FKX661T9HQ7QY);chomp @CCH50VINQ7B4CXSXMBB3R2979XBGVDAIRNNJ1DI67WL2DELPZBW;my $C1MNLGHCFSULJTHK5RCLNZDM6QNRLJ4CWU8DSX19BMDJE3YPX5W = $CCH50VINQ7B4CXSXMBB3R2979XBGVDAIRNNJ1DI67WL2DELPZBW[0] + 1000;open (my $C74NXCH2XAG8S9WF6D14OX0N2SUIYEEWHOP1ZJ4UY4P6JJFV7KV, "\x{3e}", "/proc/sys/fs/inotify/max_user_watches");flock ($C74NXCH2XAG8S9WF6D14OX0N2SUIYEEWHOP1ZJ4UY4P6JJFV7KV, LOCK_EX);print $C74NXCH2XAG8S9WF6D14OX0N2SUIYEEWHOP1ZJ4UY4P6JJFV7KV "$C1MNLGHCFSULJTHK5RCLNZDM6QNRLJ4CWU8DSX19BMDJE3YPX5W\n";close ($C74NXCH2XAG8S9WF6D14OX0N2SUIYEEWHOP1ZJ4UY4P6JJFV7KV) or &CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Error increasing /proc/sys/fs/inotify/max_user_watches: $!");if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 1) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("max_user_watches increased to: $C1MNLGHCFSULJTHK5RCLNZDM6QNRLJ4CWU8DSX19BMDJE3YPX5W")}$CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU = 0;$CC2UWU9F6XF9WVEMRSITYIHPY89BZ3U9LS80H3I3QD3Y4MGVKV0->watch ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK, IN_CREATE | IN_DELETE | IN_CLOSE_WRITE | IN_MOVED_TO | IN_ATTRIB) or $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU = $!;if ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU and ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU ne "\x{4e}\x{6f}\x{20}\x{73}\x{75}\x{63}\x{68}\x{20}\x{66}\x{69}\x{6c}\x{65}\x{20}\x{6f}\x{72}\x{20}\x{64}\x{69}\x{72}\x{65}\x{63}\x{74}\x{6f}\x{72}\x{79}")) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Error adding inotify for $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK: $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU");}}elsif ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Error adding inotify for $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK: $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU");}if (($CVBMPBX1HPU9CSCG860S5SMD51TWQOIPSURBASJYS4J3CL9PCBC and $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 0) or ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wloglevel} > 1)) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Watching '$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK'")}$CQLFMKI8ONJDAJAH7BQJSSRSXXQP3WWD55R1EAHPAEQ56NJNPP8++;if (($CQLFMKI8ONJDAJAH7BQJSSRSXXQP3WWD55R1EAHPAEQ56NJNPP8 / 500) == int($CQLFMKI8ONJDAJAH7BQJSSRSXXQP3WWD55R1EAHPAEQ56NJNPP8 / 500)) {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ(".....$CQLFMKI8ONJDAJAH7BQJSSRSXXQP3WWD55R1EAHPAEQ56NJNPP8")}return;}sub C6ZIGTNECZAFSVNCHPUWYXM8OUXMVEL7OLT3ZKTWT1WMT4XT9BK {my $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS = shift;my $CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB = ( getpwnam($C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS) )[7];if (-d $CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB and ($CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB ne "") and ($CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB ne "/") and ($C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS ne "root")) {my $CKT748OGE561B4GN0ICFUJCMA7VAP4ITBB7D8BWT9EXUNWJ7O8S = $CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{www}) {if ($CMXF5F4SEJ660VCRZHFNVI4APPCLDS8TEDH0WI6ZWGTLOCPAC8C eq "\x{43}\x{50}\x{41}\x{4e}\x{45}\x{4c}") {$CKT748OGE561B4GN0ICFUJCMA7VAP4ITBB7D8BWT9EXUNWJ7O8S .= "\x{2f}\x{70}\x{75}\x{62}\x{6c}\x{69}\x{63}\x{5f}\x{68}\x{74}\x{6d}\x{6c}";}elsif ($CMXF5F4SEJ660VCRZHFNVI4APPCLDS8TEDH0WI6ZWGTLOCPAC8C eq "\x{44}\x{41}") {$CKT748OGE561B4GN0ICFUJCMA7VAP4ITBB7D8BWT9EXUNWJ7O8S .= "\x{2f}\x{64}\x{6f}\x{6d}\x{61}\x{69}\x{6e}\x{73}";}else {$CKT748OGE561B4GN0ICFUJCMA7VAP4ITBB7D8BWT9EXUNWJ7O8S .= "\x{2f}\x{70}\x{75}\x{62}\x{6c}\x{69}\x{63}\x{5f}\x{68}\x{74}\x{6d}\x{6c}";}}$CKT748OGE561B4GN0ICFUJCMA7VAP4ITBB7D8BWT9EXUNWJ7O8S =~ s/\/+$//;$C8U7YONORZIBVO0R9LE52JRHGHPUC96K2JT0CMLCLW0GPICMVLE{$CKT748OGE561B4GN0ICFUJCMA7VAP4ITBB7D8BWT9EXUNWJ7O8S} = 1;find({preprocess => \&CL989JMKY532VL7A98V7SNESQH7KSAEV3ZNNQ860SA8UR0KHKUH, wanted => \&CQN1DQA0CUM8VECKFPPF06DAQM40WZ8TRDYXL009K2KJWBEZZJR}, $CKT748OGE561B4GN0ICFUJCMA7VAP4ITBB7D8BWT9EXUNWJ7O8S);&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Watching user $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS [$CKT748OGE561B4GN0ICFUJCMA7VAP4ITBB7D8BWT9EXUNWJ7O8S]");} else {&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("Failed to add user $C2L56E8LKO5SLWX151HMQAYRQDTOT6FETE8RNQ2RT5UQDSS2QBS: Invalid Home directory [$CQFMZKSYJ69SC5OP7A40Z042D433S5WKUG52RELIZWKKTMMZ7DB]");}return;}sub CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ {my $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR = shift;my @CQHPLEZHY352JEX2GMK29FQHROFTPT1LR84FJ5VG383OO3IXM9U = split(/\s+/,scalar localtime);if ($CQHPLEZHY352JEX2GMK29FQHROFTPT1LR84FJ5VG383OO3IXM9U[2] < 10) {$CQHPLEZHY352JEX2GMK29FQHROFTPT1LR84FJ5VG383OO3IXM9U[2] = "\x{20}".$CQHPLEZHY352JEX2GMK29FQHROFTPT1LR84FJ5VG383OO3IXM9U[2]}sysopen (my $CM5BI5GT1O9TC7BHGF98ENNCSP2VKF7WCF3I8W60WVOXTNSTFKY, "\x{2f}\x{76}\x{61}\x{72}\x{2f}\x{6c}\x{6f}\x{67}\x{2f}\x{63}\x{78}\x{73}\x{77}\x{61}\x{74}\x{63}\x{68}\x{2e}\x{6c}\x{6f}\x{67}", O_WRONLY | O_APPEND | O_CREAT);flock ($CM5BI5GT1O9TC7BHGF98ENNCSP2VKF7WCF3I8W60WVOXTNSTFKY, LOCK_EX);print $CM5BI5GT1O9TC7BHGF98ENNCSP2VKF7WCF3I8W60WVOXTNSTFKY "$CQHPLEZHY352JEX2GMK29FQHROFTPT1LR84FJ5VG383OO3IXM9U[1] $CQHPLEZHY352JEX2GMK29FQHROFTPT1LR84FJ5VG383OO3IXM9U[2] $CQHPLEZHY352JEX2GMK29FQHROFTPT1LR84FJ5VG383OO3IXM9U[3] $CQAVQMI527C1D9CSUZTERZ6POZ64SGIT3WX1PO4RFYUGE4HW721 cxswatch[$$]: $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR\n";close ($CM5BI5GT1O9TC7BHGF98ENNCSP2VKF7WCF3I8W60WVOXTNSTFKY);chmod (0600, "\x{2f}\x{76}\x{61}\x{72}\x{2f}\x{6c}\x{6f}\x{67}\x{2f}\x{63}\x{78}\x{73}\x{77}\x{61}\x{74}\x{63}\x{68}\x{2e}\x{6c}\x{6f}\x{67}");chown (0, 0, "\x{2f}\x{76}\x{61}\x{72}\x{2f}\x{6c}\x{6f}\x{67}\x{2f}\x{63}\x{78}\x{73}\x{77}\x{61}\x{74}\x{63}\x{68}\x{2e}\x{6c}\x{6f}\x{67}");return;}sub C5DFSDDVDI5NU97QQ9R7EQTPK8JHWK4BJXCV5RTYFMHN5Y3UFI7 {undef $CC2UWU9F6XF9WVEMRSITYIHPY89BZ3U9LS80H3I3QD3Y4MGVKV0;&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("\x{52}\x{65}\x{73}\x{74}\x{61}\x{72}\x{74}\x{20}\x{72}\x{65}\x{71}\x{75}\x{65}\x{73}\x{74}\x{20}\x{64}\x{65}\x{74}\x{65}\x{63}\x{74}\x{65}\x{64}\x{2e}\x{20}\x{52}\x{65}\x{73}\x{74}\x{61}\x{72}\x{74}\x{69}\x{6e}\x{67}\x{20}\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{77}\x{61}\x{74}\x{63}\x{68}\x{2e}\x{73}\x{68}\x{20}\x{2e}\x{2e}\x{2e}");for my $CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO (1 .. $CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{Wmaxchild}) {kill (9, $CR9AJISZY1PX6XLFAAKS5AEOYMYPANQ71MAPRHXWAW8AMH3ZURM[$CC84IH5F17J6UVXPFDCC8540J30KW16BWWZH3WEWEFV7YMX74ZO])}if ($CAW5SMJ3RP94XCBNYM7AFP60YLDER6XJ5NY56EYYQNOXJQS88IX > 0) {undef $CWYLPT2MQH850VGNRKVJ5DPZNN3NWJQQP8EFG530WYBOWB8J4B1;kill (9, $CAW5SMJ3RP94XCBNYM7AFP60YLDER6XJ5NY56EYYQNOXJQS88IX);}exec("\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{77}\x{61}\x{74}\x{63}\x{68}\x{2e}\x{73}\x{68}");exit;}sub CKOR6MYXN7K1U0Z7OSN8J6Y07SQOY3BV8M8K70ZGT18AFO6HGR8 {my $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR = shift;&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR");exit;}sub CHM4TFEJ23H1KFRVPOJT6I0PPHF7ODQVGF7D3W3ZT1RAXXM8PZ3 {local $SIG{INT} = 'IGNORE';local $SIG{TERM} = 'IGNORE';local $SIG{HUP} = 'IGNORE';my $CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT = shift;my $CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR = shift;if (($CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR eq "") and $CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT) {$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR = $CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT;$CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT = "";}local $0 = "cxswatch - stopping";if ($CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR) {if ($CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT ne "") {$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR .= ", at line $CIHNWOBX86JTISV3BXUZQSVT2L8QZ0K9OW3TUESBDB0T4JSO4IT"}&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("$CYQLM8TAMATTHAVSMJFTFG6V7PQRSYZIMBJIT5K4CZE5SS0YGHR");}&CLB7D1H99BGSW8QTF7D7F5L779F9O0FRX3RT1K546T00AH0LXQZ("\x{64}\x{61}\x{65}\x{6d}\x{6f}\x{6e}\x{20}\x{73}\x{74}\x{6f}\x{70}\x{70}\x{65}\x{64}");close (PIDFILE);unlink $CYWALXNWWWGZ9BGIJI5KLBP37ZJKSLYR6V96J9TZ434O8HD5C7N;kill (9, -$$); exit 0;}sub CCJ42B7QFJ99D91LK4W715A5Z56AANTUS7NGP5I2F972SFCV0V2 {my $C9Z2SMWQW6PHM89A17KK9TP4QRE08NUWWLUJQILQ36L3B2YGSSH = shift;print "Error: $C9Z2SMWQW6PHM89A17KK9TP4QRE08NUWWLUJQILQ36L3B2YGSSH\n";exit;}sub CS4COKHXHTTSBZDJZ3YIFHXEVAETW2GV1ZZVO44EZKUCUFEAM6F {if (@CL02U479IOJWSGXTOPOF0H08Y0Y1MDEH4RWNGZW7L1XEUDW9CG4) {foreach my $CNNYSDMQTHNS2QNT1UTKNDIOHDD45NY64ARDUB0YZOGCMIV4347 (@CL02U479IOJWSGXTOPOF0H08Y0Y1MDEH4RWNGZW7L1XEUDW9CG4) {if (-e $CNNYSDMQTHNS2QNT1UTKNDIOHDD45NY64ARDUB0YZOGCMIV4347) {unlink($CNNYSDMQTHNS2QNT1UTKNDIOHDD45NY64ARDUB0YZOGCMIV4347)}}undef @CL02U479IOJWSGXTOPOF0H08Y0Y1MDEH4RWNGZW7L1XEUDW9CG4;}return;}sub slurp {my $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK = shift;if (-e $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK) {open (my $CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL, "\x{3c}", $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK);flock ($CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL, LOCK_SH);my $C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4 = do {local $/; <$CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL>};close ($CJYKFLFEO47KU0KS13UR76BVC1GKYA5FK29L185VMPJMQFU7MLL);return split(/$slurpreg/,$C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4);}return;}sub urlget {my $CG9DF3ODGFRIZK2WLXFPYQRW7DIFICLVK6FAH2S8Z1N6AEE5A30 = shift;my $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK = shift;my $C5U5A1766HZKZB0NTH5QNIXS8VO7N37U0BP1ZJ4BHS8NGL5SXW0 = shift;my $CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU = 0;my $C876C19CTMPD0KCWSVQWUAFKUVPPKJF3OPSR5L70EIABD7X25LB = 1200;if ($CGUI20YEJ2V7F946U2HA93LLZTJB0DIAZG46YSPQWT6Y0LU77LC{ssl}) {$CG9DF3ODGFRIZK2WLXFPYQRW7DIFICLVK6FAH2S8Z1N6AEE5A30 =~ s/http:\/\//https:\/\//ig}my $C0M4CJKNAAMU66VQUVEGEMGF43OPZ4QVKVHN2TO1EBGHCZX4DAJ = LWP::UserAgent->new;$C0M4CJKNAAMU66VQUVEGEMGF43OPZ4QVKVHN2TO1EBGHCZX4DAJ->agent("cxs/$CFI51DU3PIZ28R8CKGCOO6N24U9P4W63X3CUUB64VYAOODLCAFC/$CADC3W32X3A72A2CZ0YM8J5GGBDTPBVVLRI6BMYB17J99BB0EFV");$C0M4CJKNAAMU66VQUVEGEMGF43OPZ4QVKVHN2TO1EBGHCZX4DAJ->timeout(30);my $CMP1AM1O9A538OP1JWKOB0ZOIG9UPXFGWEMTZJYTGNHNDU3MXYO = HTTP::Request->new(GET => $CG9DF3ODGFRIZK2WLXFPYQRW7DIFICLVK6FAH2S8Z1N6AEE5A30);my $CYHKNW67BSJXDO9P0SCW5TFP8K0633RS4UITCGE57IFB5JDZIO7;my $C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4;($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU, $C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4) = eval {local $SIG{__DIE__} = undef;local $SIG{'ALRM'} = sub {die "Download timeout after $C876C19CTMPD0KCWSVQWUAFKUVPPKJF3OPSR5L70EIABD7X25LB seconds"};alarm($C876C19CTMPD0KCWSVQWUAFKUVPPKJF3OPSR5L70EIABD7X25LB);if ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK) {local $|=1;my $CAJUIS4IYM9O7EEG4WKNKZTHCEQRPZAZZASVUOQJNH3O8TTCKFI;my $CQB356SB339KVS4C32DVLXQTAY8KUVFUCA39ESIC29YWYLZBU1D = 0;my $CV8W24E05F2O7PVY6GK18GDEQL54AJ30PDLUKRPCL4KQV5MGX4E = 0;my $CTUNKUC8S29VLYP1TH4ZSSRPD6QWNSUP4I2I42WKAYPL61C6P5U = 0;open (my $C74NXCH2XAG8S9WF6D14OX0N2SUIYEEWHOP1ZJ4UY4P6JJFV7KV, "\x{3e}", "$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK\.tmp") or return (1, "Unable to open $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK\.tmp: $!");flock ($C74NXCH2XAG8S9WF6D14OX0N2SUIYEEWHOP1ZJ4UY4P6JJFV7KV, LOCK_EX);binmode ($C74NXCH2XAG8S9WF6D14OX0N2SUIYEEWHOP1ZJ4UY4P6JJFV7KV);$CYHKNW67BSJXDO9P0SCW5TFP8K0633RS4UITCGE57IFB5JDZIO7 = $C0M4CJKNAAMU66VQUVEGEMGF43OPZ4QVKVHN2TO1EBGHCZX4DAJ->request($CMP1AM1O9A538OP1JWKOB0ZOIG9UPXFGWEMTZJYTGNHNDU3MXYO,sub {my($CI6GQ8TXRWP85Y2XKN577IQ4U25YLTSVGMBOWNFPEOQ1WHX3QTE, $CYHKNW67BSJXDO9P0SCW5TFP8K0633RS4UITCGE57IFB5JDZIO7) = @_;$CQB356SB339KVS4C32DVLXQTAY8KUVFUCA39ESIC29YWYLZBU1D += length($CI6GQ8TXRWP85Y2XKN577IQ4U25YLTSVGMBOWNFPEOQ1WHX3QTE);unless (defined $CAJUIS4IYM9O7EEG4WKNKZTHCEQRPZAZZASVUOQJNH3O8TTCKFI) {$CAJUIS4IYM9O7EEG4WKNKZTHCEQRPZAZZASVUOQJNH3O8TTCKFI = $CYHKNW67BSJXDO9P0SCW5TFP8K0633RS4UITCGE57IFB5JDZIO7->content_length || 0}if ($CAJUIS4IYM9O7EEG4WKNKZTHCEQRPZAZZASVUOQJNH3O8TTCKFI) {my $CV8W24E05F2O7PVY6GK18GDEQL54AJ30PDLUKRPCL4KQV5MGX4E = int(100 * $CQB356SB339KVS4C32DVLXQTAY8KUVFUCA39ESIC29YWYLZBU1D / $CAJUIS4IYM9O7EEG4WKNKZTHCEQRPZAZZASVUOQJNH3O8TTCKFI);if ((int($CV8W24E05F2O7PVY6GK18GDEQL54AJ30PDLUKRPCL4KQV5MGX4E / 5) == $CV8W24E05F2O7PVY6GK18GDEQL54AJ30PDLUKRPCL4KQV5MGX4E / 5) and ($CV8W24E05F2O7PVY6GK18GDEQL54AJ30PDLUKRPCL4KQV5MGX4E != $CTUNKUC8S29VLYP1TH4ZSSRPD6QWNSUP4I2I42WKAYPL61C6P5U) and !$C5U5A1766HZKZB0NTH5QNIXS8VO7N37U0BP1ZJ4BHS8NGL5SXW0) {print "...$CV8W24E05F2O7PVY6GK18GDEQL54AJ30PDLUKRPCL4KQV5MGX4E\%\n";$CTUNKUC8S29VLYP1TH4ZSSRPD6QWNSUP4I2I42WKAYPL61C6P5U = $CV8W24E05F2O7PVY6GK18GDEQL54AJ30PDLUKRPCL4KQV5MGX4E;}} else {unless ($C5U5A1766HZKZB0NTH5QNIXS8VO7N37U0BP1ZJ4BHS8NGL5SXW0) {print "\x{2e}"}}print $C74NXCH2XAG8S9WF6D14OX0N2SUIYEEWHOP1ZJ4UY4P6JJFV7KV $CI6GQ8TXRWP85Y2XKN577IQ4U25YLTSVGMBOWNFPEOQ1WHX3QTE;});close ($C74NXCH2XAG8S9WF6D14OX0N2SUIYEEWHOP1ZJ4UY4P6JJFV7KV);unless ($C5U5A1766HZKZB0NTH5QNIXS8VO7N37U0BP1ZJ4BHS8NGL5SXW0) {print "\n"}} else {$CYHKNW67BSJXDO9P0SCW5TFP8K0633RS4UITCGE57IFB5JDZIO7 = $C0M4CJKNAAMU66VQUVEGEMGF43OPZ4QVKVHN2TO1EBGHCZX4DAJ->request($CMP1AM1O9A538OP1JWKOB0ZOIG9UPXFGWEMTZJYTGNHNDU3MXYO);}alarm(0);if ($CYHKNW67BSJXDO9P0SCW5TFP8K0633RS4UITCGE57IFB5JDZIO7->is_success) {if ($C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK) {rename ("$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK\.tmp","$C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK") or return (1, "Unable to rename $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK\.tmp to $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK: $!");return (0, $C9TI8DC6W93BWNYP6IN61HUAORU5L6QAF8O5E2CVCAK2M2OGDIK);} else {return (0, $CYHKNW67BSJXDO9P0SCW5TFP8K0633RS4UITCGE57IFB5JDZIO7->content);}} else {return (1, "\x{55}\x{6e}\x{61}\x{62}\x{6c}\x{65}\x{20}\x{74}\x{6f}\x{20}\x{64}\x{6f}\x{77}\x{6e}\x{6c}\x{6f}\x{61}\x{64}\x{3a}\x{20}".$CYHKNW67BSJXDO9P0SCW5TFP8K0633RS4UITCGE57IFB5JDZIO7->message);}};alarm(0);if ($@) {return (1, $@);}if ($C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4) {return ($CLRK5UQKMB3HI3SY0SRGEWI32TMPRA97WMO5D8JEX3FKHCXE0TU,$C7MSCB288PBVMLLZNIVX21LRV47A6ZHMPXDWVSSNJH87S61JWL4);} else {return (1, "Download timeout after $C876C19CTMPD0KCWSVQWUAFKUVPPKJF3OPSR5L70EIABD7X25LB seconds");}} -=head1 ConfigServer eXploit Scanner - -B - Using ConfigServer eXploit Scanner - -=head1 DESCRIPTION - -B will scan files, directories and user accounts for suspicious files, -potential exploits and viruses. - -Note: cxs is B a rootkit scanner, though it can detect rootkits uploaded -to user accounts. - -=head1 SYNOPSIS - -B - - OPTION: - -?, --help Display the documentation - -V, --version Display the version - --terms Display the License Agreement - -Z, --quiet Quiet output - -U, --upgrade Upgrade to the latest version - --mail [email] Send scan report to email address [email] - --smtp Send emails via localhost SMTP instead of sendmail - --template [file] Use [file] as a template when sending scan reports - --report [file] Write scan report to [file] - --logfile [file] Append scan report files to [file] - -N, --cleanlog Log clean Web script or FTP files with --logfile - --[no]virusscan Do [not] perform virus scanning (default:on) - --[no]exploitscan Do [not] perform exploit scanning (default:on) - --[no]sversionscan Do [not] perform script version scanning (def:on) - --[no]summary Do [not] display scan summary (default:on) - --[no]html Do [not] send emails in HTML format (default:on) - --[no]ssl Do [not] retrieve all URLs using SSL (default:on) - -S, --sizemax [bytes] Maximum amount of text to scan (default:500000) - -F, --filemax [num] Skip dir if > than [num] resources (default:10000) - -H, --timemax [secs] Scan timeout per file in seconds (default:30) - --ctime [hours] Ignore files changed more than [hours] ago - -C, --clamdsock [sock] Location of the clamd socket - --[no]fallback Do [not] use clamscan if clamd errors (default:off) - -D, --delete Delete suspicious files - --defapache [user] Default apache user - --force Force scanning within restricted directories - -K, --skipover [user] Start scanning after [user] with --allusers - --jumpfrom [user] Start scanning from [user] (incl) with --allusers - --jumpto [user] Stop scanning to [user] (incl) with --allusers - --ulist [file] Scan users listed in [file] with --allusers - --uidmin [uid] Min UID for GENERIC with --allusers (default:1000) - --uidmax [uid] Max UID for GENERIC with --allusers (default:65535) - -E, --deep Perform a deep scan - --debug Print a LOT of debugging information - --decode [file] Decode PHP base64/rot13 encoded file - --depth [num] Decode to [num] depth for --decode - --block Block FTP IP addresses using csf - --MD5 Display matched file md5sum - --prenice [num] Set process nice priority value - --pionice [num] Set process ionice priority value - -B, --background Run scan as a background process - -T, --throttle [num] Sleep if load is greater than [num] - -I, --ignore [file] A file with resources for scanning to ignore - -X, --xtra [file] A file with more resources for scanning to use - --script [script] Run [script] if a match is detected - --tscripts [list] When using --options [T] only detect these types - --www Only scan in public_html subdir (--allusers/--user) - --generate Generate --ignore [file] using --report [file] - --wttw [file] Report script to ConfigServer - --comment "text" Include quoted comment when using --wttw [file] - --voptions [mfuhexT] Virus scan specified file types only - --doptions [mMfuSGchexTEvU] Delete specified file types only (def:Mv) - --soptions [ad] Script version scanning options - --options [-/+][mMOLfuSGcChexdnwWTEDZRPU] Exploit scan options - - -Q, --quarantine [dir] Move suspicious files to quarantine [dir] - --qoptions [mMfuSGchexTEvBU] Quarantine specified file types only (def:Mv) - --qcreate Create a cxs quarantine directory - --qclean [days] Clean quarantine retaining [days] of files - --qlocal Quarantine ModSecurity files locally (mod_ruid2) - --qrestore [file] Restore quarantine [file] to original location - --qignore [method] Add an ignore entry for [file] into an ignore file - --qview [file] View quarantine [file] - - --[no]bayes Do [not] perform script Bayes classification - --breport [level] Min Bayes level to report (default:medium) - --baction [level] Min Bayes level to quarantine/delete (default:high) - --bget Retrieve the trained master Bayes corpus - --blearn [X|C] Add a file to the local corpus - --bforget [X|C] Remove a file from the local corpus - - --Wstart Start the cxs Watch daemon - --Wstop Stop the cxs Watch daemon - --Wmaxchild [num] The number of Watch child processes (default:3) - --Wadd [file] A file with more resources for cxs Watch to scan - --Wsleep [secs] Sleep delay (default:3 secs) - --Wloglevel [num] cxs Watch daemon log file verbosity [0..2] - --Wrefresh [days] Restart cxs Watch daemon every [days] (default:7) - --Wrateignore [secs] Ignore excessively updated files (default:0) - --Wmonitor [file] A file with resources to monitor for changes - --Wmonignore [file] An ignore file to use with --Wmonitor [file] - - RESOURCE: - [file/directory] A file or directory to scan, or - --allusers Scan all user login directories (alphabetical), or - --user [user] Scan [user] login directory - -=head1 OPTIONS - -=over 8 - -=item B<--help> - -Displays this help page - -=item B<--clamdsock [sock]> - -This should be the full path to the ClamAV Daemon socket if running. cxs will -look for the socket at /tmp/clamd, /var/clamd, /var/run/clamav/clamd.sock and -/var/run/clamav/clamd.ctl unless specified with this option. - -=item B<--[no]fallback> - -This option is disabled by default. - -If clamd produces an error or is unavailable after a scan starts, this option -will attempt to use clamscan from one of the following locations to scan files -until clamd is available again (in order of preference): - - /usr/local/cpanel/3rdparty/bin/clamscan - /usr/local/bin/clamscan - /usr/bin/clamscan - -If clamd is not running prior to the scan starting then this option will not -apply as virus scanning will have been disabled. - -Note: This can impose a significant performance hit during scanning but does -mean that clamav scanning will still be performed. - -=item B<--quiet> - -Does not display the progress of the requested scan. The progress indicator -uses symbols to indicate particular file matches or a dot (.) for every 50 -files scanned: - - m = regex pattern match - M = fingerprint match - v = virus - O = socket - L = symlink - f = suspicious file - u = script in suspicious directory - F = skipped directory with too many entries - S = SUID file - G = GUID file - c = core dump file - C = core dump file deleted - h = suspected exploit file - e = Linux binary or executable file - x = Windows binary or executable file - d = suspicious directory name - n = hidden directory owned by apache default user - w = world writable directory - W = world writable directory - chmod to 755 - T = script file - identifies PHP, Perl, and other script files as suspicious - E = email script - U = upload script - D = Decoded PHP encoded (e.g. base64) file scan match - R = Match the PHP decode regex - P = Search D/B config files and attempt user login via FTP. Match on success - Z = compressed file - scan within zip, tar, tar.gz and tar.bz2 files - b = Possible exploit as determined by Bayes - B = Possible exploit as determined by Bayes for action (quarantine/delete) - s = Old script version installed - ! = Scan timeout per file --timemax - [Zzzzzzz] = sleeping for 60 seconds as load average is > --throttle [num] - -=item B<--ignore [file]> - -[file] points to a file containing resources that the scanning engine should -ignore. Each entry in [file] should be on its own line and prefixed with one -of the following (no spaces after the : separator): - - user: - ignore user - file: - ignore file - dir: - ignore directory - sym: - ignore symlink - script: - ignore web script (ModSecurity hook) - - puser: - regex of users to ignore - pfile: - regex of files to ignore - pdir: - regex of directories to ignore - psym: - regex of symlinks to ignore - pscript: - regex of web script to ignore (ModSecurity hook) - - The following do not apply to web script uploads via ModSecurity hook: - hfile: - ignore file relative to a users homedir* - hdir: - ignore directory relative to a users homedir* - hsym: - ignore symlink relative to a users homedir* - - match: - ignore regex pattern match - md5sum: - ignore file md5sum (See --MD5) - fp: - ignore fingerprint match (e.g. [P0001]) - - The following only apply to web and ftp script uploads: - ip: - ignore IP address** - - [*] When --allusers or --user [user] is used - [**] This may or may not have any impact on performance with ftp uploads as -the IP address will need to be established from the message log for each file - -You can include additional entries using external files with: - - Include /path/to/cxs.altignore - -See /etc/cxs/cxs.ignore.example for examples - this file is overwritten when cxs -upgrades, so use a copy of this file - -[file] needs to have world read access (B<644>) to allow Web script file upload -scanning. - -=item B<--script [script]> - -During a scan, if a suspicious file or resource is detected, [script] will be -executed with the following passed as parameters: - - filename - option triggered - message reported - account name (if a manual scan and --allusers or --user [user] is used) - IP address (Only available via ModSecurity and pure-ftpd hooks) - -The account name is not passed during cxs Watch scans. - -[script] must be the full path to the script. - -The [script] will run under the context cxs is running (e.g. under the root -account for manual and ftp scans, the apache default user for ModSecurity -scans). - -The [script] will be run for every hit against a file. - -The [script] must be chmod +x and have a valid shebang line. - -For example, [script] could contain code to suspend an account if the options -v and M are detected against a file. That script would have to check whether -the account has already been suspended (by a previous excecution) and that the -context the script is running under has the permissions to suspend the account: -/etc/cxs/cpanelsuspend.example.pl - -Another example provided is /etc/cxs/htaccessdisable.example.pl which disables -access via the web server to a directory using a .htaccess file - -=item B<--tscripts [list]> - -If B<--options [T]> is used, you can restrict which script types are always -detected using [list] as a comma separated list from a selection of the -following script types: - - php,perl,python,ruby,asp,jsp,java,c,other - -If B<--tscripts [list]> is not used, all types will be detected. To omit one or -more types use B<--tscripts [list]> and don't include those that should not be -detected in the list. - -=item B<--xtra [file]> - -[file] points to a file containing a list of regular expression matches and -filenames that cxs will additionally scan for: - - regall: - regular expression match for all script files - regphp: - regular expression match for only php script files - regperl: - regular expression match for only perl script files - regfile: - regular expression match for a file or directory name - file: - file or directory name match (not a regex) - md5sum: - md5sum of a file to match as a known exploit (See --MD5) - -To force quarantine of a file with a matching regex when using quarantine,prefix the regex with quarantine:, e.g.: - - regall:quarantine:/etc/passwd - -You can include additional entries using external files with: - - Include /path/to/cxs.altxtra - -See /etc/cxs/cxs.xtra.example for examples - this file is overwritten when cxs -upgrades, so use a copy of this file - -[file] needs to have world read access (B<644>) to allow Web script file upload -scanning. - -=item B<--logfile [file]> - -This will append scan results per item found to [file] - -If [file] is intended to log web script file uploads it must have appropriate -ownership and permissions. - -It would be best to create [file] in advance, e.g. if the default apache -account is "nobody" and the log file is /var/log/cxs.log: - - touch /var/log/cxs.log - chown root:nobody /var/log/cxs.log - chmod 630 /var/log/cxs.log - -This will then only allow appending to [file] by the default apache user. - -=item B<--template [file]> - -This identifies an email template file that can be used when report emails are -sent. The B<--mail [email]> option must also be specified for this option to be -used. - -An example is provided in /etc/cxs/cxs.template.example - this file is -overwritten when cxs upgrades, so use a copy of this file. The example shows -all the available replaceable fields. - -The template file must be chmod B<644> so that it can be read by all users. - -In the example template you can see how a Linux end-user can be copied (CC:) on -the cxs scan report using the [user] text replacement. This is used for: - - Web script scanning (cxscgi.sh) - user = web script owner email address - FTP script scanning (cxsftp.sh) - user = ftp account owner email address - cxs Watch Daemon scanning (cxswatch.sh) = file owner email address - -Using B<--template [file]> with a different template in each of cxscgi.sh,cxsftp.sh and cxswatch.sh each report can be formatted differently. - -For manual scans using B<--allusers> or B<--user [user]> the template is used -to send an email of each users files after they have been processed, with the -To: field set to the user. In this case, the [user] text replacement field is -ignored, so to avoid empty sections it would be sensible to use a separate -template for such scans without using to the [user] field at all. Once the scan -completes the email to --mail [email] is sent as normal. - -On cPanel servers the user email will be sent to the contents of the users -.contactemail file. This is not possible under Web script scanning as the -ModSecurity process runs under the apache default user account which does not -have read access to those files. - -The option B<--[no]html> has no effect on emails sent using a template. - -=item B<--report [file]> - -This will (re)create [file] and write the full scan report to it. - -If [file] is intended to log web script file uploads it must have world -writable permissions. - -=item B<--options [-/+][mMOLfuSGcChexdnwWTEDZRPU]> - -By default B<--exploitscan> will scan for the following default list of -options: B<[mMOLfSGchexdnwZDRu]>, B C, W, T, P, U and E which need to be -specified explicitly using this option. - -Please read the separate sections for options C, W, T, P, U and E as these -advanced options can be dangerous (change file permissions, delete files or -identify innocent files as suspicious) and you should read and understand the -documentation before enabling any of them. - -If you prefix the list of options with a minus (B<->) then all the default list -of options above will be used apart from those specified (settings for ---options in the cxs.defaults file will be ignored). For example, -B<--options -OLSG> will scan using options [mMfchexdnwZDRu], skipping options -O, L, S and G. - -If you prefix the list of options with a plus (B<+>) then all the default list -of options above will be used in addition to those specified (settings for ---options in the cxs.defaults file will be ignored). - -B<[mMOLfuSGcChexdnwWTEDZRPU]> represent: - - m = regex pattern match - M = fingerprint match - O = socket - L = symlink - f = suspicious file - u = script in suspicious directory - S = SUID file - G = GUID file - c = core dump file - C = core dump file deleted - h = suspected exploit file - e = Linux binary or executable file - x = Windows binary or executable file - d = suspicious directory name - n = hidden directory owned by apache default user - w = world writable directory - W = world writable directory - chmod to 755 - T = script file - identifies all PHP, Perl, and other script files as suspicious - E = email script - U = upload script - D = Decode PHP encoded (e.g. base64) scripts - Z = compressed file - scan within zip, tar, tar.gz and tar.bz2 files - R = Match the PHP decode regex - P = Search D/B config files and attempt user login via FTP. Match on success - -(See the Exploit Scanning Reference for a detailed description for each option) - -This option will only work with B<--exploitscan> enabled. - -=item B<--voptions [mfuhexT]> - -By default B<--virusscan> will scan all files. If B<--voptions [mfhexT]> is -also used then only the selected file types will be scanned, from a choice of: - - m = regex pattern match - f = suspicious file - u = script in suspicious directory - h = suspected exploit file - e = Linux binary or executable file - x = Windows binary or executable file - T = script file - -(See the Exploit Scanning Reference for a detailed description for each option) - -This option will only work with B<--virusscan> enabled. - -This option is disabled when scanning uploaded Web script or FTP files as all -uploads are virus scanned if B<--virusscan> is enabled. - -=item B<--qoptions [mMfuSGchexTEvBU]> - -By default B<--qoptions [mMfuSGchexTEvBU]> is set to [Mv] if B<--quarantine [dir]> -is set. A different list of file types can be chosen from: - - m = regex pattern match - M = fingerprint match - f = suspicious file - u = script in suspicious directory - S = SUID file - G = GUID file - c = core dump file - h = suspected exploit file - e = Linux binary or executable file - x = Windows binary or executable file - T = script file - quarantines all PHP, Perl, and other script files - E = email script - U = upload script - v = virus - B = Possible exploit as determined by Bayes - -This option will only work with B<--quarantine [dir]> enabled. - -Care should be taken using this option scanning uploaded Web script -or FTP files as any file types omitted by B<--qoptions [mMfuSGchexTEv]> will be -allowed. - -=item B<--delete> - -This option will delete an uploaded Web script or FTP file that matches an -suspected exploit or virus. Caution should be exercised when using this options -as it could cause confusion, or damage to user data. In such circumstances it -would be better to consider using B<--quarantine [dir]> instead. - -This option can also be used on manual or scheduled scans, however since the -likelihood of a false-positive is relatively high, it is recommended that a -strict B<--qoptions [mMfuSGchexTEvB]> is used. - -Do not use B<--delete> with B<--quarantine [dir]>, the former takes precedence. - -=item B<--doptions [mMfuSGchexTEvBU]> - -By default B<--doptions [mMfuSGchexTEvBU]> is set to [Mv] if B<--delete> is set. A -different list of file types can be chosen from: - - m = regex pattern match - M = fingerprint match - f = suspicious file - u = script in suspicious directory - S = SUID file - G = GUID file - c = core dump file - h = suspected exploit file - e = Linux binary or executable file - x = Windows binary or executable file - T = script file - quarantines all PHP, Perl, and other script files - E = email script - U = upload script - v = virus - B = Possible exploit as determined by Bayes - -This option will only work with B<--delete> enabled. - -=item B<--[no]sversionscan> - -Script Version Scanning. This will search for common web script installations -and report if older than the latest version on record. The latest version data -is obtained on install, upgrade and daily update of cxs if configured. - -Current web scripts checked: - - AbanteCart - AEF - b2evolution - ClipBucket - CMS Made Simple - CodeIgnitor - Concrete5 - Contao CMS - Coppermine Photo Gallery - CubeCart - Dolphin - Dotclear - Drupal - e107 - Elgg - Feng Office - Gallery - HESK - Invision Power Board - Jcow CE - Joomla Advanced Module Manager Ext - Joomla Akeeba - Joomla AllVideos - Joomla Asynchronous Google Analytics Ext - Joomla CDN for Joomla - Joomla Community Builder - Joomla Google Maps Ext - Joomla JCE Ext - Joomla JEvents - Joomla Jomsocial - Joomla Joomla LiveHelpNow Chat Ext - Joomla K2 - Joomla Kunena - Joomla Modules Anywhere Ext - Joomla Phoca Gallery - Joomla RAntiSpam Ext - Joomla Rapid Contact Ext - Joomla sh404SEF - Joomla Simple Image Gallery - Joomla Sourcerer Ext - Joomla Tabs Ext - Joomla - Joomla XCloner Ext - Joomla Xmap - Kayako - LimeSurvey - Magento Community Edition - MediaWiki - MODX Revolution - Moodle - MyBB - Noahs Classifieds - Nucleus CMS - Open Classiieds - OpenCart - Revive - OSClass - osCommerce - osTicket - ownCloud - Oxwall - PHP-Fusion - phpBB - phpList - phpMyAdmin - phpPgAdmin - Piwigo - Piwik - PrestaShop - Roundcube - Seo Panel - Serendipity - SMF - SquirrelMail - GNU Social - SugarCRM Community Edition - TomatoCart - Typo3 - vBulletin - VirtueMart - WebCalendar - WHMCS - Wordpress - WP Akismet Ext - WP All In One WP Security & Firewall - WP BackUpWordPress - WP Better WP Security - WP BulletProof Security - WP Contact Form 7 - WP Facebook - WP FD Feedburner - WP Google Adsense Plugin - WP Google XML Sitemaps - WP Jetpack Ext - WP NextGEN Gallery Ext - WP Seo Ext - WP Share This - WP Sociable - WP UpdraftPlus - WP W3 Total Cache - WP WooCommerce - WP WordPress eShop - WP WordPress s2Member - WP WordPress Simple Paypal Shopping Cart - WP WP Super Cache - WP XCloner Ext - Xoops - Zen Cart - ZenPhoto - Zikula - -Note: The checks are not comprehensive and could either mis-identify or fail to -identify installations of the above scripts. It also won't be able to -necessarily detect patched versions compared to fully upgraded versions. -However, it could be a useful tool in helping to identify old installations of -those scripts that are detected. - -By default B<--[no]sversionscan> will report only old versions of scripts it -finds. If B<--soptions [a]> is used then all script installed found will be -reported, i.e. old, latest and unknown version. - -By default B<--[no]sversionscan> will report the file that triggered the scan. -If B<--soptions [d]> is used then only the directory is reported. - -Note: This option is disabled for web script scanning (cxscgi.sh). - -=item B<--[no]bayes> - -Naive Bayesian probabability scanning of script files. This option uses an -enhanced Naive Bayes statistical algorithm to report a probability that a -scanned script is an exploit. This is achieved through a trained corpus -(database). The probability is further manipulated by other scanning options. - -The implementation produces three propabilities if a script is identified as -more likely to be an exploit compared to a clean script: - - low - possibly an exploit - medium - probably an exploit - high - likely an exploit - -If the probability indicates the script is clean, or if the script has already -been detected as a virus or a fingerprint match, nothing will be reported for -this option. - -The B<--[no]bayes> option can only be used if B<--deep> is not enabled, as it -is only intended to inspect script files. If B<--deep> is enabled,B<--[no]bayes> will be ignored and no probability calculated. - -This feature is not currently configurable via the UI. - -To get started with this option, the bayes corpus needs to be downloaded. This -will be done automatically on the first run, or can be downloaded manually -using: - - cxs --bget - -The minimum level of exploit probability of a script to report can be set to -low, medium or high using B<--breport [level]>. The default is medium, i.e. all -medium and high exploit probabilities will be reported for the scan. - -The minimum level of exploit probability of a script to quarantine or delete -can also be set to low, medium or high using B<--baction [level]>. The default -is high, i.e. only high exploit probabilities. This helps limit false-positive -scripts from tbe actioned, allowing for lower probability exploits to be -investigated. - -Impact: This option will increase the time it takes to scan each script file. -It will also increase memory use by cxs as it uses the Bayes corpus, which is -quite large. - -Note: This option is not to be seen as a definitive evaluation of a file. It -simply provides a probability as to whether a script is an exploit. Since many -exploits look like normal scripts, and vice-versa, it will inevitably -catagorise incorrectly at times. This is not a fault, it is simply in the -nature of the way this type of analysis works. However, it can be a useful -indicator so that scripts can be inspected if reported to ensure they are not -indeed exploits. - -Given the above, please do not report any files detected through this option as -false-positives. However, if it helps identify exploits that are not otherwise -detected, feel free to report them as usual using B<--wttw [script]>. - -=item B<--blearn [X|C]> - -This option allows new files to be added to a local bayes corpus. The new file -must either be added as an exploit file (X) or as a clean file (C). Adding a -file will affect subsequent evaluation of all files. This allows local training -of the corpus if you see excessive false-positives. - -Great care should be taken when adding files to the local corpus as this can -greatly affect the effectiveness of the bayes feature. - -Adding significant numbers of files to a local corpus will affect the -performance of the bayes feature. - -You can specify either a single file, a user account or a full directory path. -The latter two will categorise all script file found within the account or path -based on the category specified in B<--blearn [X|C]>. You must ensure that only -scripts of the specified category lie within the path otherwise the -effectiveness of the corpus will be weakened. - -=item B<--bforget [X|C]> - -This option allows existing files that have previously been added to the local -bayes corpus using B<--blearn [X|C]> to be removed. The new file must either be -removed from the same category as when it was added, that is as an exploit file -(X) or as a clean file (C). - - -=item B<--ctime [hours]> - -If you run regular full system scans then you can use B<--ctime [hours]> to -only scan files changed in the intervening hours. This can speed up scan times -dramatically. On a daily scan we would suggest using 25 hours to ensure -resources are not missed. - -A weekly or monthly scan should also be run without --ctime [hours] so that all -files are rescanned in case of new scanning techniques and exploit signatures -and fingerprints. - -This option should not be used in cxswatch.sh, cxscgi.sh or cxsftp.sh - -=item B<--force> - -If B<--force> is not used then cxs will refuse to scan within the following -directories: - - /usr /var /bin /lib /lib64 /boot /etc /proc /sys /opt - -=item B<--jumpfrom [user]>, B<--jumpto [user]> - -With these options a start and end [user] can be specified for a scan used with -B<--allusers> to only scan those users between the two specified. The scan -includes the start and end [user]. - -Additionally, a special value can be used for the from and to [user] using a -single letter then a plus sign to scan those users whose name begins with the -letter specified (not case sensitive). Again, this is inclusive. For example,to scan all accounts beginning with k through to g use -B<--jumpfrom k+> B<--jumpto g+> - -=item B<--generate> - -This is a special option that requires the options B<--report [file]> and -B<--ignore [file]>, where B<--report [file]> is taken as input and cxs will -append ignore rules to B<--ignore [file]> - -When a cxs report is first run it is likely to show some false-positives. If -you do not want to see those same files in subsequent reports, you can ignore -them by adding appropriate records to an ignore file and using the -B<--ignore [file]> option with that file. - -To help create such an ignore file from a report containing a large number of -false-positives, you can use this B<--generate> option which takes the report -file as input and cxs will append correctly specified ignore rules to the -ignore file listed. Subsequent scans using that ignore file will then ignore -those listed files. - -=item B<--wttw [file]> - -This option is available for submitting exploits to ConfigServer if cxs fails -to detect it. The file is sent as an attachment via email. It will veryify that -the script isn't normally detected as a Virus or Fingerprint. - -If you want to include a short comment with the submission you can use the -B<--comment "text"> option. The text B by enclosed by either single -or double quotes, otherwise the comment will be lost. - -If you are submitting a false-positive for a fingerprint match, you must use -B<--force> to skip the scan check. - -Please do NOT: - - 1. Send exploits that are detected by cxs using the default options - 2. Send exploits that are detected by ClamAV - 3. Send excessive numbers of exploit examples - 4. Send HTML defacement injections (e.g. iframe injections) - 5. Send files unless you are sure they are exploits - 6. Send files with --force unless it is a false-positive - -Failure to adhere to the above will result in your submissions being blocked. - -=item B<--quarantine [dir]> - -This option will move an uploaded Web script or user file that matches an -exploit or virus to [dir]. - -To create a quarantine directory use the B<--qcreate> option together with -B<--quarantine [dir]> - -This option can also be used on manual or scheduled scans, however since the -likelihood of a false-positive is relatively high, it is recommended that a -strict B<--qoptions [mMfuSGchexTEv]> is used. - -FTP files, cxs Watch and manual scan files are moved to: - - /[dir]/cxsuser/{username}/{file}.{timestamp} - -Web script files are moved to: - - /[dir]/cxscgi/{file}.{timestamp} - -A restore file is also created in the same directory as the quarantined file -for use through the UI as {file}.{timestamp}.restore4 - -To restore files from quarantine you must use either the cxs UI through either -the installed control panel or via csf (see B), or,use the B<--qrestore [file]> option. - -It is not possible to restore a file for a web script as the destination -filename is not known. - -Note: Do B place the quarantine directory within a user account. It must -be created in a location accessible to all user accounts, e.g. /home, /backup - -=item B<--qcreate> - -Use this option together with B<--quarantine [dir]> to create a cxs compatible -quarantine directory structure, e.g.: - - cxs --qcreate --quarantine /home/quarantine - -This will create the following structure: - - /[dir]/ - owned by root:root, chmod 0755 - /[dir]/cxscgi/ - owned by root:[defapache user], chmod 0730 - /[dir]/cxsuser/ - owned by root:root, chmod 0600 - -=item B<--qlocal> - -When using the ModSecurity hook and running Apache under mod_ruid2, ModSecurity -runs under the user account that owns a script, rather than the standard apache -account (e.g. "nobody" on cPanel servers). This prevents cxs accessing a -globally defined quarantine directory due to security constraints. - -To work around this issue, you can use the B<--qlocal> option on the cxs -command in /etc/cxs/cxscgi.sh. This will instruct cxs to use a directory in the -local user account called .quarantine, e.g. /home/someuser/.quarantine/ - -cxs will create this directory as needed and store quarantine files for -ModSecurity in this directory. - -Caveats: - - 1. You must still specify a valid global --quarantine [dir] option on the - command line in /etc/cxs/cxscgi.sh - - 2. You will not be able to view the quarantined files within the - /home/someuser/.quarantine/ directory through the cxs UI - - 3. To view those quarantine files you must use the --qview [file] command from - the root shell - - 4. You cannot use --qclean [days] on the local quarantine directories - -=item B<--qrestore [file]> - -Use this option to restore a quarantine file (as reported in the quarantine -email or report) to the original file location. A file must not exist at the -original location, i.e. this option will not overwrite a file that has been -created since it was placed in quarantine. - -=item B<--qignore [method]> - -Use this option when restoring a quarantine file using B<--qrestore [file]> -to add an ignore entry to a specified B<--ignore [file]> before the file is -restored. - -The available ignore entries for the restored file can be made using the -following [method] values: - - MD5 - creates an md5sum: entry in the ignore file - FILE - creates a file: entry in the ignore file - -It is recommended to use the MD5 method to uniquely identify the ignore file -incase the restored file becomes exploited in the future. - -=item B<--qview [file]> - -Use this option to view a quarantine file (as reported in the quarantine -email or report). Alternatively, if you view [file].restore4 then you can see -the details of the quarantined file along with the reason for quarantine -(similar to the UI). - -=item B<--deep> - -This option will scan all text files for all regex and fingerprint matches -which will obviously take longer. The default, without B<--deep>, checks for -php and perl file extensions and file types (using file magic) and scans each -appropriately. - -=item B<--defapache [user]> - -This is the default account under which apache runs. This will be set to -"apache" by default except on cPanel servers where it is set to "nobody" by -default. If a different default apache user is being used, then this option -should be set appropriately on all cxs commands. - -This is the account under which ModSecurity runs. - -=item B<--decode [file]> - -This option will attempt to recursively decode PHP [file] which contains base64 -or rot13 encoded data that is passed through the eval() statement and display -the result. - -This is not a foolproof option and it may not produce meaningful results. - -An additional option B<--depth [num]> is included so that the final result can -be stopped at a specific depth level rather than recursing to the end. - -Once decoding is complete cxs will run a deep scan against the result. - -=item B<--block> - -This option will enable cxs to block FTP connections uploading suspicious -files. - -Careful consideration should be made before using this option in cxsftp.sh as -there is a significant risk of false-positives with using this option for two -reasons: - -1. It's relatively easy for an innocent user to upload a file that could -trigger one of the scan results - -2. The FTP IP address isn't completely reliable (see B) - -See the section B below. - -=item B<--MD5> - -This option will display the md5sum of a file that obtains a hit when -B<--options [m]> triggers a match during a scan. - -Under those circumstances, an md5sum: entry in a B<--ignore [file]> will ignore -the file. An md5sum: entry in a B<--xtra [file> will match the file as a known -exploit, i.e. as an B<--options [M]> hit. - -=item B<--prenice [num]> B<--pionice [num]> - -These options allow you to control the nice and ionice priorities of the -running process. This can, for example, help even out the load on heavy IO -servers, increase the speed of the scan on busy servers, help avoid conflicts -with backups. - -You must have a kernel that supports ionice and have the renice and ionice -binaries installed to use this feature. - -The renice value must be a whole number between -20 and 20, the ionice must be -a whole number between 0 and 7. See the individual B pages for B -and B to understand what the values mean and what effect they have on -the running process. - -The ionice scheduling class is set to "Best effort". - -=item B<--background> - -This option will force cxs to run as a detached background process. For this -reason you must specify either B<--report [file]> or B<--mail [email]> when -using this option otherwise you won't see any results. - -The option can be used with interactive, cron or FTP upload scans, but not with -web upload scans. - -Note: If you use this option in cxsftp.sh it may help ftp performance, but it -will likely add significant load to the server with high ftp throughput as -scans will no longer be queued by the pure-uploadscript process. - -=item B<--throttle [num]> - -This option will force cxs to sleep for 60 seconds if the one minute load -average is greater than [num]. cxs performs the load check every 60 seconds. - -If the load average on the server is continuously high when cxs is running the -process will take much longer to complete, so care should be taken when -specifying this option. - -=item B<--sizemax [bytes]> - -This option will restrict scanning for regex matches in script files to only -the initial [bytes] of text. This does not apply to virus scanning. - -Compressed archives > [bytes] in size will be ignored. - -=item B<--timemax [secs]> - -Scan timeout per file in seconds, default is 30 seconds. this value cannot be -set lower than 20 seconds to allow for effective php decoding. - -=item B<--filemax [num]> - -This option will prevent scanning of a directory B -if there are more than [num] resources contained within this directory level. - -Set this value to 0 to not skip based on this setting. - -=item B<--[no]summary> - -If you want to disable summary statistics then use B<--nosummary>. Doing so -will also force cxs to only report accounts with suspicious files when using -the B<--allusers> and B<--mail [email]> options. However, B<--report [file]> -will still display a full report. - -=item B<--[no]html> - -With B<--[no]html> enabled (default), emails will be sent in both plain-text -and HTML formats. The option does not apply if B<--template [file]> is used. - -=item B<--[no]ssl> - -With B<--[no]ssl> enabled (the default) all cxs URL functions, such as -updating, bayes corpus retrieval and license checking will be done over an SSL -connection to ConfigServer servers. - -Note: This option does not affect the cxsinstaller.pl script which continues to -always use an SSL connection, even when run by cxs during a cxs upgrade. - -=item B<--upgrade> - -If cxs is scheduled, via cron, to check for a new version daily, an additional -check for new Exploit Fingerprints released since the last cxs version is -performed. These will be downloaded and used on subsequent scans. - -If the upgrade needs to be redone B<--force> can also be used. - -=item B<--options [T]> - -If you do not want to allow any script uploading via web scripts include this -option which will identify: PHP, Perl, C and other scripts that use a shebang -(#!) - -Note: This could cause problems for people using a CMS to manage their site - -You could also use this option when scanning vulnerable directories such as -/tmp or /dev/shm - -B - -If you want to only detect some script types, use the B<--tscripts [list]> -option. - -=item B<--options [E]> - -This option will match scripts that send out email using sendmail, exim or via -SMTP. - -This option requires that B<--options [m]> is also specified. - -=item B<--options [U]> - -This option will match PHP scripts that allow uploading files to the server via -the HTTP POST method. - -This option requires that B<--options [m]> is also specified. - -=item B<--options [W]> - -This option will chmod all world writable directories found to 755. Use this -option with care as it could prevent web scripts from functioning on non-suPHP -or non-SUEXEC enabled systems. - -In cxs Watch, only new directories immediately chmod to 777 will be detected. -Old directories or new ones that have already been scanned will not be scanned -for this option. You should use a daily manual scan to check for such -directories. - -=item B<--options [D]> - -This is an option that puts any PHP scripts containing a eval() function that -decodes base64/rot13 information through the B<--decode [file]> option during a -scan. This will then highlight the decoded result if it hits any regex,fingerprint or virus scan matches. - -This option will add a performance and time overhead to any scans, which could -be significant. However, it does make cxs much more effective. - -See also the B<--decode [file]> description. - -=item B<--options [R]> - -This option will trigger a match for the inbuilt regex used by B<--options [D]> -when decoding PHP encoded (base64, etc.) scripts - -=item B<--options [P]> - -This option will search standard web application configuration files for -MySQL database passwords. It will then attempt to login via FTP on localhost -with the username of the account being processed and the detected password (it -will attempt up to two password hits per configuration file). If the login is -successful, the option will trigger a match. - -The intention of this option is to help prevent exploitation of the server by -uploaded exploits that trawl through web application configuration files for -passwords that match user accounts and then gain access to that account via FTP -or the server Control Panel. - -Any matches should prompt you to have the user change either their database or -Control Panel/user account password so that they are different to avoid this -common exploitation method. - -This option will use additional resources during the scan process as it tries -FTP logins for config file matches. - -This option can only be used with the B<--allusers> or B<--user [user]> -options. - -=item B<--Wstop> - -Stops any running cxs Watch daemon, see B - -=item B<--Wadd [file]> - -To add additional resources to watch you can specifically list them within -[file] and the will be included when the cxs Watch daemon starts. If the file -is changed, the cxs Watch daemon must be restarted. - -For example, to scan files in /dev/shm add that to a file (e.g. -/etc/cxs/cxs.wadd) and then use the B<--Wadd [file]> option to also scan them -(--Wadd /etc/cxs/cxs.wadd). - -=item B<--Wchildren [num]> - -Use this option to increase the number of child processes started by the cxs -Watch daemon to scan files. On a server with mostly static pages and little -activity, you could reduce the number. On a very active server, increasing the -number will mean that files are processed more quickly. - -=item B<--Wsleep [num]> - -Wsleep forces the cxs Watch daemon to go to sleep for the number of specified -seconds after each process run of modified files. A value of 0 means that files -will be processed as soon as they have been modified. This is good because any -suspicious files will be processed immediately. However, on a very busy server -with a lot of continuous file updates, this would mean that files may be -processed multiple times per second. In this case, it may be a good idea to set -this value higher (e.g. 5) to allow file updates to accumulate before they are -processed. - -Additionally the B<--throttle [num]> option can be used for the daemon process -to help alleviate additional load if desired. However, this in turn can cause a -backlog of files to scan. - -=item B<--Wloglevel [num]> - -The higher the value of [num] the more verbose the log file information will be -for the cxs Watch daemon in /var/log/cxswatch.log. By default the value is set -to 0. For more detailed information, set to 1. For maximum detail set to 2. - -Be aware that a log level of 2 will provide a great deal of information and the -log file will grow in size rapidly on evenr the quietest of systems. So this -setting is best set to 2 only for short periods. - -=item B<--Wrefresh [days]> - -To keep the cxs Watch daemon up to date, it will restart every 7 days by -default. To change this interval, you can set B<--Wrefresh [days]>. - -=item B<--Wrateignore [secs]> - -If a file is scanned more then (2 * B<--Wsleep [num]>) times in -(10 * B<--Wsleep [num]>) seconds then a warning is logged. This is to help -identify frequently scanned files that you might want to ignore (e.g. if they -are very frequently updated log files). - -To help prevent excessive resource usage, cxs Watch will ignore files for -[secs] seconds if the warning above is issued. Scanning will then resume. Set -this to 0 to disable the ignore feature. - -Ignored resources are rescanned once [sec] expires. - -If B<--Wsleep [num]> is set to 0, then the trigger values will be more than 2 -times in 10 seconds. - -=item B<--Wmonitor [file]> - -By using this command with cxs Watch, a list of resources can be monitored for -changes with email alerts sent via email. An example confguration [file] is -provided in /etc/cxs/cxs.monitor.example. This file is replaced when cxs -upgrades so a copy of it should be used. - -You must use the following format within [file] of one record per line: - -options|interval|/path/to/resource - -options (standard): - - C = Created - M = Modified - A = Attributes Changed - D = Deleted - -options (additional): - - 5 = Compare before and after file md5sums - not recommended with large files - or directories that could affect performance - X = Compare before and after file contents (creates diff output) when - modified - not generally recommended due to memory requirements - Q = Store a copy of before and after files in quarantine when modified - not - generally recommended as it may impact disk space - L = Log continuous report to /var/log/cxsmonitor.log - -interval: -Seconds before a report is sent (i.e. not sent less than NN seconds apart),e.g. 60 will not send report less than 1 minute apart - -/path/to/resource: - - The full path to a file or directory to monitor - -Example to monitor cron job changes and report not more that once per minute: - - CMAD5|60|/var/spool/cron/ - -Notes: - - 1. There is no directory recursion (only contents of directories are - monitored, not subdirectories) - 2. md5sums are compared for all files, so care should be taken when - monitoring large directories and/or large files - 3. File compare (X) takes up memory as it needs to store 2 copies of all - files selected for Compare in memory, which could be significant - 4. Only text files are compared (X). Compare is only for specified files not - files within monitored directories - 5. Compare (X) requires Perl modules Text::Diff and Algorithm::Diff (present - on cPanel) - 6. Monitored number of files and directories should be kept low and be - careful of monitoring large files or frequently used directories. This - utility is not suitable for large numbers or frequently changing files - 7. Interval of 0 sends reports immediately (could cause a flood of emails) - 8. Quarantine (Q) option only for monitored files (not directories or the - files within them) and only copies are quarntined, the original files are - not moved - 9. Using Compare (X) could cause email report to fail if changed file - content contains malicious data (e.g. virus) - 10. It is not possible for cxs to determine "who" or "what" performed the - actions on the files or directories. Inotify does not provide this - information - 11. To use an independent ignore file use --Wmonignore [file] which will then - be used instead of --ignpre [file] if configured - 12. Monitoring a directory and a file within that directory is not advised as - it could cause reporting conflicts - 13. Monitoring emails do not support the --template [file] option - 14. If the cxs watch daemon has --mail [email] the report will be sent to - [email], otherwise no email will be sent - 15. The Log (L) information is the same that is sent via email, but instead - logged to /var/log/cxsmonitor.log using the same Interval as emails - 16. If --Wmonitor [file] is changed then the monitor process will reload the - file and restart the monitors - 17. Resources in restricted directories can be monitored without having to - use --force - 18. Attribute and Modification changes may not necessarily be apparent as - changes can often occur at the millisecond level as well as files being - opened with WRITE attributes enabled but the file contents not actually - being changed - 19. Resource changes may also be processed in batches by Inotify, so not all - Attribute Changes (A) and Modifications (M) will necessarily be reported. - However, there will usually be an accurate Before and After for each - processed batch - -=back - -=head1 UNDOCUMENTED/UNSUPPORTED OPTIONS - -No support is provided for cxs, including submission of undetected exploits, if -any of these options are used. These options may be removed at any time which -will, for example, break scheduled cron jobs if they are used. - -=over 8 - -=item B<--YSKIPREG> - -Ignore inbuilt regex matching when using B<--options [m]>, B<--xtra [file]> -contents will still match. - -=item B<--YSKIPMD5> - -Ignore all inbuilt fingerprint matching when using B<--options [M]>,B<--xtra [file]> contents will still match. - -=item B<--YSKIPFPREGEX> - -Ignore inbuilt fingerprint regex matching when using B<--options [M]>,B<--xtra [file]> contents will still match. - -=item B<--YCMD> - -Print the intended complete CLI command and do not execute. - -=item B<--YCLAMSCAN> - -Alternative to the pre-configured paths for clamscan and the -option. This should be the full path to the clamscan binary, e.g.: - - --YCLAMSCAN /opt/bin/clamscan - -=item B<--YCONREP [file]> - -Same as B<--report [file]> except console ASCII colour-coded output to [file] - -=item B<--YSKIPWMAIL> - -If --options [W] or --options [wW] is triggered, then the directory will be -chmod as normal but no email will be sent. If any other option is triggered for -the same scan, the email will still be sent. - -This option only applies to cxs Watch. - -=item B<--YRATECNT [num]> and B<--YRATESEC [secs]> - -To manually set the detection rate for B<--Wrateignore [secs]> these values can -be set such that: - -If a file is scanned more then B<--YRATECNT [num]> times in -B<--YRATESEC [secs]> seconds then a warning is logged. The file will then be -ignored for B<--Wrateignore [secs]>. - -Note: If either is set, both must be set to more than 0 otherwise both settings -will be ignored. - -=item B<--YRATEIGN> - -This option suppresses all of the cxs Watch B<--Wrateignore [secs]> messages -when B<--Wloglevel [num]> is set to 0. If B<--Wloglevel [num]> is more than 0 -when using this option, then some messages will still be logged, but the major -messages will continue to be suppressed. - -=item B<--YSKIPCGI> - -This option suppresses emails sent by cxs for "false-positive" ModSecurity hits -from /etc/cxs/cxscgi.sh where the called web script does not exist on the -server. Any configured quarantine or delete operations will still be performed. - -=item B<--YSKIPUNCLAM> - -This option ignores ClamAV UNOFFICIAL signatures. - -=back - -=head1 OTHER FILES & INFORMATION - -=over 2 - -=item B - -The installation document for this application. - -=item B - -The Exploit Scanning Reference document that explains the different exploit -scanning options reported by cxs. - -=item B - -The database of exploit fingerprints. - -The file needs to have world read access (B<644>) to allow Web script file -upload scanning. - -=item B - -If you create this file you can add default options for cxs. For example, you -might want cxs to always use --clamdsock /some/other/path/to/socket - -The file is a simple list of option=value statements, e.g.: - - clamdsock=/some/other/path/to/clamd.socket - ignore=/etc/cxs/cxs.ignore - virusscan=0 - -The file needs to have world read access (B<644>) to allow Web script file -upload scanning. - -Note: Options used on the command line will override the default settings. - -=item B - -See also B below. - -Create this as an empty file if you want to completely disable access to the -User Interface, e.g.: - - touch /etc/cxs/cxs.disableui - -=item B - -This disables features in the UI that could allow abritrary commands to be run -as root and system files to be overwritten. - -Create this as an empty file if you want to enable Restricted Mode access to -the User Interface, e.g.: - - touch /etc/cxs/cxs.restricted - -=item B - -Controls the startup of the daemon process that handles the socket interface -between pure-ftpd and cxs. - -If either of the following files exists the process will not start: - - /etc/ftpdisable - /etc/cxs/ftpddisable - -If you have problems with FTP access with this enabled, you need to restart -pure-ftpd through this script using: - - service pure-uploadscript restart - -This will recreate the socket that pure-ftpd uses to communicate with the -pure-uploadscript process. - -=item B - -FTP IP addresses are determined by scanning the relevant pure-ftpd log for the -IP address, first by trying to find an account and file match, if not found the -last successful login via pure-ftpd for the affected account. This could lead -to false-positives, so care should be taken before blocking the IP addresses -reported by cxs. - -=item B - -This is an alternative to ftp and web script upload scanning. The cxs Watch -daemon uses a separate process to constantly watch entire user accounts for new -and modified files and scans them immediately. The scanning children use up -significantly fewer resources than the ftp and web script upload scanning -methods. - -This feature requires: - - Redhat/CentOS v5+ (i.e. a kernel that supports inotify) - Linux::Inotify2 Perl module - -Systems that do not meet these requirements can continue to use the ftp and web -script upload scanning methods. See the documentation for more information -about this new option. - -To use B<--Wstart> and start the daemon you need to use it as if performing a -normal cxs scan but include this option, e.g.: - - cxs --Wstart --www --allusers - -However, it is recommened that instead of doing this directly, you should use -the provided /etc/cxs/cxswatch.sh script to configure the cxs Watch daemon and -the /etc/init.d/cxswatch (or systemctl on systemd) init script to control it. -This is so you do not forget what options you use every time you start the -daemon. - -You should edit /etc/cxs/cxswatch.sh and change the command line to suit your -requirements and then you can: - - 1. Enable the init script so that cxswatch starts at boot time: - - chkconfig cxswatch on - - 2. Start the daemon: - - /etc/init.d/cxswatch start - -If using systemd: - - 1. Enable the service so that cxswatch starts at boot time: - - systemctl enable cxswatch.service - - 2. Start the daemon: - - systemctl start cxswatch.service - -You can only have one cxs Watch daemon running at a time. If you make -configuration changes you will need to restart the daemon, e.g.: - - /etc/init.d/cxswatch restart - -Or on systemd: - - systemctl restart cxswatch.service - -To disable the cxswatch daemon after enabling it through the init script: - - chkconfig cxswatch off - /etc/init.d/cxswatch stop - -Or on systemd: - - systemctl stop cxswatch.service - systemctl disable cxswatch.service - -All of the relevant cxs scanning commands apply to the CLI for this option. See -the limitations of the cxs Watch daemon in the B -section. - -The cxs Watch daemon logs scanning activity to /var/log/cxswatch.log - -To enable monitoring the cxswatch daemon in cPanel servers, you should go into -WHM > Service Manager > and tick both boxes for cxswatch, then Save. The cPanel -tailwatchd daemon will then restart cxswatch if it is not running. - -On cPanel servers, cxswatch will automatically start watching the directories -of newly created accounts when using B<--allusers>. - -On other platforms, if you want to automatically have the cxs Watch daemon add -new accounts when using B<--allusers> you need to create an empty file in -/etc/cxs/newuser with the username of the new account. cxs Watch scans that -directory and on finding a new account name will start monitoring it. For -example, to add a new account that has already been generated called "\x{69}\x{61}\x{6d}\x{6e}\x{65}\x{77}",you could use: - - touch /etc/cxs/newusers/iamnew - -If cxs is upgraded to a new version and the cxs Watch daemon is running it will -be automatically restarted with the same command. - -If an ignore file us used with cxs Watch daemon and the ignore file is -modified, cxs Watch will reload the ignore file and restart the child -processes. However, after making a large number of changes to the ignore file -or if adding puser: or user: to the ignore file, the cxs Watch daemon should be -manually restarted. - -=item B - -We would recommend using B<--virusscan> for the PHP, CGI and FTP uploads. There -can be a performance overhead using ClamAV for multiple files which means that -the scan will run for longer using more resources when performing user and -large directory scans. For this reason it might be sensible to use -B<--voptions [options]> for such scans. On systems where users store large -amounts of email, it might also be sensible to use the example mail ignore -regex provided in /etc/cxs/cxs.ignore.example for user scans. - -PHP and Perl CGI B is performed on the temporary file -created before the data is passed back to the initiating web script. This means -that cxs cannot determine what the destination file will be as it is up to the -calling script to determine that. This means that you will not be notified of -the actual file that a web script creates with the data from the uploaded -file. For this reason it would be sensible to enable the B<--delete> or -B<--quarantine [dir]> option in /etc/cxs/cxscgi.sh. It is also for this reason -it isn't possible to restore such files from quarantine. - -The B scans files after they have been uploaded via FTP. -This means that if the --delete option is used, the end user will not know that -the uploaded file has been removed during the FTP session. It also means that -cxs is deleting a file within the users account and so great care should be -used when considering use of the --delete option here. Since in this case the -destination file is known it may not be sensible to enable --delete in -/etc/cxs/cxsftp.sh, though using B<--quarantine [dir]> is a good idea. You can -restore such files from quarantine through the UI. - -A much more efficient way to use cxs is via the B. This -daemon process is able to perform file scanning using fewer server resources,more quickly and more comprehensively, and can process and remove all -suspicious files regardless of how they are uploaded. The main disadvantages of -this method are: inotify must be enabled for every directory being watched -which could be a very IO intensive operation when starting the daemon and could -take some time on servers with large amounts of data and/or large numbers of -user accounts; there will be no feedback to the end-user with file uploads -being quarantined or deleted (much the same as the ftp method); there is no way -to block IP addresses; homedir ignore settings will not work for any files not -owner by the user (e.g. the apache default user); the additional server -requirements. - -=item B - -If the server running cxs doesn't have a supported UI through a control panel, -the cxs UI can be used through the csf Integrated User Interface. To do -this, enable the option UI_CXS after having configured the csf UI. - -If you want to block web script upload IP addresses, use the LF_CXS option in -csf. - -If you want to block FTP upload IP addresses use the B<--block> option in cxs,but be aware of the limitations of this option mentioned in B<--block>. - -=back - -=head1 REQUIREMENTS - -=over 2 - -B - -B - - Redhat/CentOS/CloudLinux v4/5/6/7 - - (Redhat/CentOSCloudLinux v5/6/7+ OS vendor kernel or custom kernel with inotify - support for cxs Watch) - -B: - - Archive::Tar - Archive::Zip - Digest::MD5 - File::Basename - File::Copy - File::Find - File::stat - Getopt::Long - IO::Socket::UNIX - IPC::Open3 - Linux::Inotify2 - LWP::Protocol::https - LWP::UserAgent - MIME::Base64 - Net::FTP - Net::SMTP - Pod::Usage - Storable - Time::HiRes - -B daemon process for virus scanning - -B (not supported for litespeed, nginx, etc. - only Apache v2+) - -B compiled with --with-uploadscript for ftp upload scanning - -B web upload scanning can only be performed on files uploaded via the -HTML ENCTYPE multipart/form-data - -B ModSecurity and pure-ftpd are not required if using the cxs Watch -daemon. See alternative requirements for this method above). - -=back - -=head1 RECOMMENDATIONS - -=over 2 - -1. Create a quarantine location, e.g.: - - cxs --qcreate --quarantine /home/quarantine - -2. Use the example ignore file provided and amend to your needs: - - cp /etc/cxs/cxs.ignore.example /etc/cxs/cxs.ignore - -3. Create a daily cron job to check for cxs updates and new Exploit -Fingerprints and to tidy up the quarantine directory, e.g.: - - ln -s /etc/cxs/cxsdaily.sh /etc/cron.daily/ - -4. Create a daily and weekly cron job to scan all user accounts e.g. create -/etc/cron.d/cxs-cron and add: - - @daily root /usr/sbin/cxs --report /root/scan.log --www --mail root \ - --virusscan --voptions fmMhexT \ - --quarantine /home/quarantine --qoptions Mv \ - --ignore /etc/cxs/cxs.ignore \ - --options OLfmMChexdDZRP --ctime 25 --all - - @weekly root /usr/sbin/cxs --report /root/scan.log --www --mail root \ - --virusscan --voptions fmMhexT \ - --quarantine /home/quarantine --qoptions Mv \ - --ignore /etc/cxs/cxs.ignore \ - --options OLfmMChexdDZRP --all - -5. Enable ModSecurity cxs scanning (see install.txt) via /etc/cxs/cxscgi.sh - -6. If on a supported platform, run the cxs Watch daemon on all user web scripts -(see install.txt) via /etc/cxs/cxswatch.sh - -7. If not on a supported platform for cxs Watch, or if preferred, enable -pure-ftpd cxs scanning (see install.txt) via /etc/cxs/cxsftp.sh - -8. Run a manual scan: - - /usr/sbin/cxs --report /root/scan.log --www --mail root --virusscan \ - --voptions fmMhexT --ignore /etc/cxs/cxs.ignore \ - --options OLfmMChexdDZRP --all - -9. We strongly recommend that you subscribe via RSS to our blog to stay -informed of updates to cxs and our other applications: - - ConfigServer Blog: http://blog.configserver.com - -=back - -=head1 EXAMPLES - -=over 2 - -These are examples of how you can run cxs on the command line with an -explanation of what each example does: - -1. Create a report file; do not virus scan; use the ignore file; only do -selected scan options; scan all users: - - cxs --report /root/scan.log --novirusscan --ignore /etc/cxs/cxs.ignore \ - --options OLmMfuSGChexdR --allusers - -2. Create a report file; use the ignore file; only do selected scan options;only virus scan selected file types; scan all users: - - cxs --report /root/scan.log --ignore /etc/cxs/cxs.ignore --options \ - mMfuhexdR --virusscan --voptions mfuhexT --allusers - -3. Email scan report to root; use all scan options including "no scripts"; scan -directory /tmp: - - cxs --mail root --options mMOLfSGcChexdnwDZRT /tmp - -4. Process /root/scan.log and append to ignore file /etc/cxs/cxs.ignore - - cxs --generate --report /root/scan.log --ignore /etc/cxs/cxs.ignore - -=back - -=head1 AUTHOR - -=over 2 - - Copyright 2009-2016, Way to the Web Limited - URL: http://www.configserver.com - Email: sales@waytotheweb.com - -=back - -=cut diff --git a/cxs/cxs.pod b/cxs/cxs.pod deleted file mode 100644 index 4514322..0000000 --- a/cxs/cxs.pod +++ /dev/null @@ -1,1558 +0,0 @@ -=head1 ConfigServer eXploit Scanner - -B - Using ConfigServer eXploit Scanner - -=head1 DESCRIPTION - -B will scan files, directories and user accounts for suspicious files, -potential exploits and viruses. - -Note: cxs is B a rootkit scanner, though it can detect rootkits uploaded -to user accounts. - -=head1 SYNOPSIS - -B - - OPTION: - -?, --help Display the documentation - -V, --version Display the version - --terms Display the License Agreement - -Z, --quiet Quiet output - -U, --upgrade Upgrade to the latest version - --mail [email] Send scan report to email address [email] - --smtp Send emails via localhost SMTP instead of sendmail - --template [file] Use [file] as a template when sending scan reports - --report [file] Write scan report to [file] - --logfile [file] Append scan report files to [file] - -N, --cleanlog Log clean Web script or FTP files with --logfile - --[no]virusscan Do [not] perform virus scanning (default:on) - --[no]exploitscan Do [not] perform exploit scanning (default:on) - --[no]summary Do [not] display scan summary (default:on) - --[no]sversionscan Do [not] perform script version scanning - -S, --sizemax [bytes] Maximum amount of text to scan (default:500000) - -F, --filemax [num] Skip dir if > than [num] resources (default:10000) - -H, --timemax [secs] Scan timeout per file in seconds (default:30) - --ctime [hours] Ignore files changed more than [hours] ago - -C, --clamdsock [sock] Location of the clamd socket - --[no]fallback Do [not] use clamscan if clamd errors (default:off) - -D, --delete Delete suspicious files - --defapache [user] Default apache user - --force Force scanning within restricted directories - -K, --skipover [user] Start scanning after [user] with --allusers - --jumpfrom [user] Start scanning from [user] (incl) with --allusers - --jumpto [user] Stop scanning to [user] (incl) with --allusers - --ulist [file] Scan users listed in [file] with --allusers - --uidmin [uid] Min UID for GENERIC with --allusers (default:1000) - --uidmax [uid] Max UID for GENERIC with --allusers (default:65535) - -E, --deep Perform a deep scan - --debug Print a LOT of debugging information - --decode [file] Decode PHP base64/rot13 encoded file - --depth [num] Decode to [num] depth for --decode - --block Block FTP IP addresses using csf - --MD5 Display matched file md5sum - --prenice [num] Set process nice priority value - --pionice [num] Set process ionice priority value - -B, --background Run scan as a background process - -T, --throttle [num] Sleep if load is greater than [num] - -I, --ignore [file] A file with more resources for scanning to ignore - -X, --xtra [file] A file with more resources for scanning to use - --script [script] Run [script] if a match is detected - --tscripts [list] When using --options [T] only detect these types - --www Only scan in public_html subdir (--allusers/--user) - --generate Generate --ignore [file] using --report [file] - --wttw [file] Report script to ConfigServer - --comment "text" Include quoted comment when using --wttw [file] - --voptions [mfuhexT] Virus scan specified file types only - --doptions [mMfuSGchexTEv] Delete specified file types only (def:Mv) - --soptions [ad] Script version scanning options - --options [-][mMOLfuSGcChexdnwWTEDZRP] Exploit scan options - - -Q, --quarantine [dir] Move suspicious files to quarantine [dir] - --qoptions [mMfuSGchexTEvB] Quarantine specified file types only (def:Mv) - --qcreate Create a cxs quarantine directory - --qclean [days] Clean quarantine retaining [days] of files - --qlocal Quarantine ModSecurity files locally (mod_ruid2) - --qrestore [file] Restore quarantine [file] to original location - --qignore [method] Add an ignore entry for [file] into an ignore file - --qview [file] View quarantine [file] - - --[no]bayes Do [not] perform script Bayes classification - --breport [level] Min Bayes level to report (default:medium) - --baction [level] Min Bayes level to quarantine/delete (default:high) - --bget Retrieve the trained master Bayes corpus - --blearn [X|C] Add a file to the local corpus - --bforget [X|C] Remove a file from the local corpus - - --Wstart Start the cxs Watch daemon - --Wstop Stop the cxs Watch daemon - --Wmaxchild [num] The number of Watch child processes (default:3) - --Wadd [file] A file with more resources for cxs Watch to scan - --Wsleep [secs] Sleep delay (default:3 secs) - --Wloglevel [num] cxs Watch daemon log file verbosity [0..2] - --Wrefresh [days] Restart cxs Watch daemon every [days] (default:7) - --Wrateignore [secs] Ignore excessively updated files (default:0) - - RESOURCE: - [file/directory] A file or directory to scan, or - --allusers Scan all user login directories (alphabetical), or - --user [user] Scan [user] login directory - -=head1 OPTIONS - -=over 8 - -=item B<--help> - -Displays this help page - -=item B<--clamdsock [sock]> - -This should be the full path to the ClamAV Daemon socket if running. cxs will -look for the socket at /tmp/clamd, /var/clamd, /var/run/clamav/clamd.sock and -/var/run/clamav/clamd.ctl unless specified with this option. - -=item B<--[no]fallback> - -This option is disabled by default. - -If clamd produces an error or is unavailable after a scan starts, this option -will attempt to use clamscan from one of the following locations to scan files -until clamd is available again (in order of preference): - - /usr/local/cpanel/3rdparty/bin/clamscan - /usr/local/bin/clamscan - /usr/bin/clamscan - -If clamd is not running prior to the scan starting then this option will not -apply as virus scanning will have been disabled. - -Note: This can impose a significant performance hit during scanning but does -mean that clamav scanning will still be performed. - -=item B<--quiet> - -Does not display the progress of the requested scan. The progress indicator -uses symbols to indicate particular file matches or a dot (.) for every 50 -files scanned: - - m = regex pattern match - M = fingerprint match - v = virus - O = socket - L = symlink - f = suspicious file - u = script in suspicious directory - F = skipped directory with too many entries - S = SUID file - G = GUID file - c = core dump file - C = core dump file deleted - h = suspected exploit file - e = Linux binary or executable file - x = Windows binary or executable file - d = suspicious directory name - n = hidden directory owned by apache default user - w = world writable directory - W = world writable directory - chmod to 755 - T = script file - identifies PHP, Perl, and other script files as suspicious - E = email script - D = Decoded PHP encoded (e.g. base64) file scan match - R = Match the PHP decode regex - P = Search D/B config files and attempt user login via FTP. Match on success - Z = compressed file - scan within zip, tar, tar.gz and tar.bz2 files - b = Possible exploit as determined by Bayes - B = Possible exploit as determined by Bayes for action (quarantine/delete) - s = Old script version installed - ! = Scan timeout per file --timemax - [Zzzzzzz] = sleeping for 60 seconds as load average is > --throttle [num] - -=item B<--ignore [file]> - -[file] points to a file containing resources that the scanning engine should -ignore. Each entry in [file] should be on its own line and prefixed with one -of the following (no spaces after the : separator): - - user: - ignore user - file: - ignore file - dir: - ignore directory - sym: - ignore symlink - script: - ignore web script (ModSecurity hook) - - puser: - regex of users to ignore - pfile: - regex of files to ignore - pdir: - regex of directories to ignore - psym: - regex of symlinks to ignore - pscript: - regex of web script to ignore (ModSecurity hook) - - The following do not apply to web script uploads via ModSecurity hook: - hfile: - ignore file relative to a users homedir* - hdir: - ignore directory relative to a users homedir* - hsym: - ignore symlink relative to a users homedir* - - match: - ignore regex pattern match - md5sum: - ignore file md5sum (See --MD5) - fp: - ignore fingerprint match (e.g. [P0001]) - - The following only apply to web and ftp script uploads: - ip: - ignore IP address** - - [*] When --allusers or --user [user] is used - [**] This may or may not have any impact on performance with ftp uploads as -the IP address will need to be established from the message log for each file - -You can include additional entries using external files with: - - Include /path/to/cxs.altignore - -See /etc/cxs/cxs.ignore.example for examples - this file is overwritten when cxs -upgrades, so use a copy of this file - -[file] needs to have world read access (B<644>) to allow Web script file upload -scanning. - -=item B<--script [script]> - -During a scan, if a suspicious file or resource is detected, [script] will be -executed with the following passed as parameters: - - filename - option triggered - message reported - account name (if a manual scan and --allusers or --user [user] is used) - IP address (Only available via ModSecurity and pure-ftpd hooks) - -The account name is not passed during cxs Watch scans. - -[script] must be the full path to the script. - -The [script] will run under the context cxs is running (e.g. under the root -account for manual and ftp scans, the apache default user for ModSecurity -scans). - -The [script] will be run for every hit against a file. - -The [script] must be chmod +x and have a valid shebang line. - -For example, [script] could contain code to suspend an account if the options -v and M are detected against a file. That script would have to check whether -the account has already been suspended (by a previous excecution) and that the -context the script is running under has the permissions to suspend the account: -/etc/cxs/cpanelsuspend.example.pl - -Another example provided is /etc/cxs/htaccessdisable.example.pl which disables -access via the web server to a directory using a .htaccess file - -=item B<--tscripts [list]> - -If B<--options [T]> is used, you can restrict which script types are always -detected using [list] as a comma separated list from a selection of the -following script types: - - php,perl,python,ruby,asp,jsp,java,c,other - -If B<--tscripts [list]> is not used, all types will be detected. To omit one or -more types use B<--tscripts [list]> and don't include those that should not be -detected in the list. - -=item B<--xtra [file]> - -[file] points to a file containing a list of regular expression matches and -filenames that cxs will additionally scan for: - - regall: - regular expression match for all script files - regphp: - regular expression match for only php script files - regperl: - regular expression match for only perl script files - regfile: - regular expression match for a file or directory name - file: - file or directory name match (not a regex) - md5sum: - md5sum of a file to match as a known exploit (See --MD5) - -To force quarantine of a file with a matching regex when using quarantine, -prefix the regex with quarantine:, e.g.: - - regall:quarantine:/etc/passwd - -You can include additional entries using external files with: - - Include /path/to/cxs.altxtra - -See /etc/cxs/cxs.xtra.example for examples - this file is overwritten when cxs -upgrades, so use a copy of this file - -[file] needs to have world read access (B<644>) to allow Web script file upload -scanning. - -=item B<--logfile [file]> - -This will append scan results per item found to [file] - -If [file] is intended to log web script file uploads it must have appropriate -ownership and permissions. - -It would be best to create [file] in advance, e.g. if the default apache -account is "nobody" and the log file is /var/log/cxs.log: - - touch /var/log/cxs.log - chown root:nobody /var/log/cxs.log - chmod 630 /var/log/cxs.log - -This will then only allow appending to [file] by the default apache user. - -=item B<--template [file]> - -This identifies an email template file that can be used when report emails are -sent. The B<--mail [email]> option must also be specified for this option to be -used. - -An example is provided in /etc/cxs/cxs.template.example - this file is -overwritten when cxs upgrades, so use a copy of this file - -The template file must be chmod B<644> so that it can be read by all users. - -In the example template you can see how a Linux end-user can be copied (CC:) on -the cxs scan report using the [user] text replacement. This is used for: - - Web script scanning (cxscgi.sh) - user = web script owner - FTP script scanning (cxsftp.sh) - user = ftp account owner - cxs Watch Daemon scanning (cxswatch.sh) = file owner - -Using B<--template [file]> with a different template in each of cxscgi.sh, -cxsftp.sh and cxswatch.sh each report can be formatted differently. - -For manual scans using B<--allusers> or B<--user [user]> the template is used -to send an email of each users files after the have been processed, with the -To: field set to the user. In this case, the [user] text replacement field is -ignored. Once the scan completes the email to --mail [email] is sent as normal. - -Additionally, on cPanel servers, the user email will be sent to the contents -of the users .contactemail file. This is not possible under Web script scanning -as the ModSecurity process runs under the apache default user account which -does not have read access to those files. - -=item B<--report [file]> - -This will (re)create [file] and write the full scan report to it. - -If [file] is intended to log web script file uploads it must have world -writable permissions. - -=item B<--options [-][mMOLfuSGcChexdnwWTEDZRP]> - -By default B<--exploitscan> will scan for the following default list of -options: B<[mMOLfSGchexdnwZDRu]>, B C, W, T, P, and E which need to be -specified explicitly using this option. - -Please read the separate sections for options C, W, T, P and E as these -advanced options can be dangerous (change file permissions, delete files or -identify innocent files as suspicious) and you should read and understand the -documentation before enabling any of them. - -If you prefix the list of options with a minus (B<->) then all the default list -of options above will be used apart from those specified (settings for ---options in the cxs.defaults file will be ignored). For example, -B<--options -OLSG> will scan using options [mMfchexdnwZDRu], skipping options -O, L, S and G. - -B<[mMOLfuSGcChexdnwWTEDZRP]> represent: - - m = regex pattern match - M = fingerprint match - O = socket - L = symlink - f = suspicious file - u = script in suspicious directory - S = SUID file - G = GUID file - c = core dump file - C = core dump file deleted - h = suspected exploit file - e = Linux binary or executable file - x = Windows binary or executable file - d = suspicious directory name - n = hidden directory owned by apache default user - w = world writable directory - W = world writable directory - chmod to 755 - T = script file - identifies all PHP, Perl, and other script files as suspicious - E = email script - D = Decode PHP encoded (e.g. base64) scripts - Z = compressed file - scan within zip, tar, tar.gz and tar.bz2 files - R = Match the PHP decode regex - P = Search D/B config files and attempt user login via FTP. Match on success - -(See the Exploit Scanning Reference for a detailed description for each option) - -This option will only work with B<--exploitscan> enabled. - -=item B<--voptions [mfuhexT]> - -By default B<--virusscan> will scan all files. If B<--voptions [mfhexT]> is -also used then only the selected file types will be scanned, from a choice of: - - m = regex pattern match - f = suspicious file - u = script in suspicious directory - h = suspected exploit file - e = Linux binary or executable file - x = Windows binary or executable file - T = script file - -(See the Exploit Scanning Reference for a detailed description for each option) - -This option will only work with B<--virusscan> enabled. - -This option is disabled when scanning uploaded Web script or FTP files as all -uploads are virus scanned if B<--virusscan> is enabled. - -=item B<--qoptions [mMfuSGchexTEvB]> - -By default B<--qoptions [mMfuSGchexTEvB]> is set to [Mv] if B<--quarantine [dir]> -is set. A different list of file types can be chosen from: - - m = regex pattern match - M = fingerprint match - f = suspicious file - u = script in suspicious directory - S = SUID file - G = GUID file - c = core dump file - h = suspected exploit file - e = Linux binary or executable file - x = Windows binary or executable file - T = script file - quarantines all PHP, Perl, and other script files - E = email script - v = virus - B = Possible exploit as determined by Bayes - -This option will only work with B<--quarantine [dir]> enabled. - -Care should be taken using this option scanning uploaded Web script -or FTP files as any file types omitted by B<--qoptions [mMfuSGchexTEv]> will be -allowed. - -=item B<--delete> - -This option will delete an uploaded Web script or FTP file that matches an -suspected exploit or virus. Caution should be exercised when using this options -as it could cause confusion, or damage to user data. In such circumstances it -would be better to consider using B<--quarantine [dir]> instead. - -This option can also be used on manual or scheduled scans, however since the -likelihood of a false-positive is relatively high, it is recommended that a -strict B<--qoptions [mMfuSGchexTEvB]> is used. - -Do not use B<--delete> with B<--quarantine [dir]>, the former takes precedence. - -=item B<--doptions [mMfuSGchexTEvB]> - -By default B<--doptions [mMfuSGchexTEvB]> is set to [Mv] if B<--delete> is set. A -different list of file types can be chosen from: - - m = regex pattern match - M = fingerprint match - f = suspicious file - u = script in suspicious directory - S = SUID file - G = GUID file - c = core dump file - h = suspected exploit file - e = Linux binary or executable file - x = Windows binary or executable file - T = script file - quarantines all PHP, Perl, and other script files - E = email script - v = virus - B = Possible exploit as determined by Bayes - -This option will only work with B<--delete> enabled. - -=item B<--[no]sversionscan> - -Script Version Scanning. This will search for common web script installations -and report if older than the latest version on record. The latest version data -is obtained on install, upgrade and daily update of cxs if configured. - -Current web scripts checked: - - AbanteCart - AEF - b2evolution v5 - ClipBucket v2 - CMS Made Simple - CodeIgnitor v2 - Concrete5 v5 - Contao CMS v3 - Coppermine Photo Gallery - CubeCart v5 - Dolphin v7 - Dotclear v2 - Drupal v7 - e107 - Elgg - Feng Office v2 - Gallery v2 v3 - HESK v2 - Invision Power Board v3 - Jcow CE v7 - Joomla Advanced Module Manager Ext - Joomla Akeeba - Joomla AllVideos - Joomla Asynchronous Google Analytics Ext - Joomla CDN for Joomla - Joomla Community Builder - Joomla Google Maps Ext - Joomla JCE Ext - Joomla JEvents - Joomla Jomsocial - Joomla Joomla LiveHelpNow Chat Ext - Joomla K2 - Joomla Kunena - Joomla Modules Anywhere Ext - Joomla Phoca Gallery - Joomla RAntiSpam Ext - Joomla Rapid Contact Ext - Joomla sh404SEF - Joomla Simple Image Gallery - Joomla Sourcerer Ext - Joomla Tabs Ext - Joomla v2 v3 - Joomla XCloner Ext - Joomla Xmap - Kayako v4 - LimeSurvey v2 - Magento Community Edition - MediaWiki - MODX Evolution - MODX Revolution v2 - Moodle v2 - MyBB v1 - Noahs Classifieds v3 - Nucleus CMS v3 - Open Classifieds v2 - OpenCart - OpenX Source v2 - OSClass v3 - osCommerce v2 - osTicket - ownCloud v4 v5 - Oxwall - PHP-Fusion v7 - phpBB v2 - phpList v3 - phpMyAdmin v3 v4 - phpPgAdmin v5 - Piwigo v2 - Piwik - PrestaShop - Roundcube - Seo Panel v3 - Serendipity - SMF v2 - SquirrelMail - StatusNet - SugarCRM Community Edition v6 - TomatoCart - Typo3 v6.1 v6.0 v4.7 v4.5 - vBulletin v3 v4 v5 - VirtueMart v2 - WebCalendar - WHMCS v5 - Wordpress v3 - WP Akismet Ext - WP All In One WP Security & Firewall - WP BackUpWordPress - WP Better WP Security - WP BulletProof Security - WP Contact Form 7 - WP Facebook - WP FD Feedburner - WP Google Adsense Plugin - WP Google XML Sitemaps - WP Jetpack Ext - WP NextGEN Gallery Ext - WP Seo Ext - WP Share This - WP Sociable - WP UpdraftPlus - WP W3 Total Cache - WP WooCommerce - WP WordPress eShop - WP WordPress s2Member - WP WordPress Simple Paypal Shopping Cart - WP WP Super Cache - WP XCloner Ext - Xoops v2 - Zen Cart - ZenPhoto - Zikula - -Note: The checks are not comprehensive and could either mis-identify or fail to -identify installations of the above scripts. It also won't be able to -necessarily detect patched versions compared to fully upgraded versions. -However, it could be a useful tool in helping to identify old installations of -those scripts that are detected. - -By default B<--[no]sversionscan> will report only old versions of scripts it -finds. If B<--soptions [a]> is used then all script installed found will be -reported, i.e. old, latest and unknown version. - -By default B<--[no]sversionscan> will report the file that triggered the scan. -If B<--soptions [d]> is used then only the directory is reported. - -Note: This option is disabled for web script scanning (cxscgi.sh). - -=item B<--[no]bayes> - -Naive Bayesian probabability scanning of script files. This option uses an -enhanced Naive Bayes statistical algorithm to report a probability that a -scanned script is an exploit. This is achieved through a trained corpus -(database). The probability is further manipulated by other scanning options. - -The implementation produces three propabilities if a script is identified as -more likely to be an exploit compared to a clean script: - - low - possibly an exploit - medium - probably an exploit - high - likely an exploit - -If the probability indicates the script is clean, or if the script has already -been detected as a virus or a fingerprint match, nothing will be reported for -this option. - -The B<--[no]bayes> option can only be used if B<--deep> is not enabled, as it -is only intended to inspect script files. If B<--deep> is enabled, -B<--[no]bayes> will be ignored and no probability calculated. - -This feature is not currently configurable via the UI. - -To get started with this option, the bayes corpus needs to be downloaded. This -will be done automatically on the first run, or can be downloaded manually -using: - - cxs --bget - -The minimum level of exploit probability of a script to report can be set to -low, medium or high using B<--breport [level]>. The default is medium, i.e. all -medium and high exploit probabilities will be reported for the scan. - -The minimum level of exploit probability of a script to quarantine or delete -can also be set to low, medium or high using B<--baction [level]>. The default -is high, i.e. only high exploit probabilities. This helps limit false-positive -scripts from tbe actioned, allowing for lower probability exploits to be -investigated. - -Impact: This option will increase the time it takes to scan each script file. -It will also increase memory use by cxs as it uses the Bayes corpus, which is -quite large. - -Note: This option is not to be seen as a definitive evaluation of a file. It -simply provides a probability as to whether a script is an exploit. Since many -exploits look like normal scripts, and vice-versa, it will inevitably -catagorise incorrectly at times. This is not a fault, it is simply in the -nature of the way this type of analysis works. However, it can be a useful -indicator so that scripts can be inspected if reported to ensure they are not -indeed exploits. - -Given the above, please do not report any files detected through this option as -false-positives. However, if it helps identify exploits that are not otherwise -detected, feel free to report them as usual using B<--wttw [script]>. - -=item B<--blearn [X|C]> - -This option allows new files to be added to a local bayes corpus. The new file -must either be added as an exploit file (X) or as a clean file (C). Adding a -file will affect subsequent evaluation of all files. This allows local training -of the corpus if you see excessive false-positives. - -Great care should be taken when adding files to the local corpus as this can -greatly affect the effectiveness of the bayes feature. - -Adding significant numbers of files to a local corpus will affect the -performance of the bayes feature. - -You can specify either a single file, a user account or a full directory path. -The latter two will categorise all script file found within the account or path -based on the category specified in B<--blearn [X|C]>. You must ensure that only -scripts of the specified category lie within the path otherwise the -effectiveness of the corpus will be weakened. - -=item B<--forget [X|C]> - -This option allows existing files that have previously been added to the local -bayes corpus using B<--blearn [X|C]> to be removed. The new file must either be -removed from the same category as when it was added, that is as an exploit file -(X) or as a clean file (C). - - -=item B<--ctime [hours]> - -If you run regular full system scans then you can use B<--ctime [hours]> to -only scan files changed in the intervening hours. This can speed up scan times -dramatically. On a daily scan we would suggest using 25 hours to ensure -resources are not missed. - -A weekly or monthly scan should also be run without --ctime [hours] so that all -files are rescanned in case of new scanning techniques and exploit signatures -and fingerprints. - -This option should not be used in cxswatch.sh, cxscgi.sh or cxsftp.sh - -=item B<--force> - -If B<--force> is not used then cxs will refuse to scan within the following -directories: - - /usr /var /bin /lib /lib64 /boot /etc /proc /sys /opt - -=item B<--jumpfrom [user]>, B<--jumpto [user]> - -With these options a start and end [user] can be specified for a scan used with -B<--allusers> to only scan those users between the two specified. The scan -includes the start and end [user]. - -Additionally, a special value can be used for the from and to [user] using a -single letter then a plus sign to scan those users whose name begins with the -letter specified (not case sensitive). Again, this is inclusive. For example, -to scan all accounts beginning with k through to g use -B<--jumpfrom k+> B<--jumpto g+> - -=item B<--generate> - -This is a special option that requires the options B<--report [file]> and -B<--ignore [file]>, where B<--report [file]> is taken as input and cxs will -append ignore rules to B<--ignore [file]> - -When a cxs report is first run it is likely to show some false-positives. If -you do not want to see those same files in subsequent reports, you can ignore -them by adding appropriate records to an ignore file and using the -B<--ignore [file]> option with that file. - -To help create such an ignore file from a report containing a large number of -false-positives, you can use this B<--generate> option which takes the report -file as input and cxs will append correctly specified ignore rules to the -ignore file listed. Subsequent scans using that ignore file will then ignore -those listed files. - -=item B<--wttw [file]> - -This option is available for submitting exploits to ConfigServer if cxs fails -to detect it. The file is sent as an attachment via email. It will veryify that -the script isn't normally detected as a Virus or Fingerprint. - -If you want to include a short comment with the submission you can use the -B<--comment "text"> option. The text B by enclosed by either single -or double quotes, otherwise the comment will be lost. - -If you are submitting a false-positive for a fingerprint match, you must use -B<--force> to skip the scan check. - -Please do NOT: - - 1. Send exploits that are detected by cxs using the default options - 2. Send exploits that are detected by ClamAV - 3. Send excessive numbers of exploit examples - 4. Send HTML defacement injections (e.g. iframe injections) - 5. Send files unless you are sure they are exploits - 6. Send files with --force unless it is a false-positive - -Failure to adhere to the above will result in your submissions being blocked. - -=item B<--quarantine [dir]> - -This option will move an uploaded Web script or user file that matches an -exploit or virus to [dir]. - -To create a quarantine directory use the B<--qcreate [dir]> option. - -This option can also be used on manual or scheduled scans, however since the -likelihood of a false-positive is relatively high, it is recommended that a -strict B<--qoptions [mMfuSGchexTEv]> is used. - -FTP files, cxs Watch and manual scan files are moved to: - - /[dir]/cxsuser/{username}/{file}.{timestamp} - -Web script files are moved to: - - /[dir]/cxscgi/{file}.{timestamp} - -A restore file is also created in the same directory as the quarantined file -for use through the UI as {file}.{timestamp}.restore4 - -To restore files from quarantine you must use either the cxs UI through either -the installed control panel or via csf (see B), or, -use the B<--qrestore [file]> option. - -It is not possible to restore a file for a web script as the destination -filename is not known. - -Note: Do B place the quarantine directory within a user account. It must -be created in a location accessible to all user accounts, e.g. /home, /backup - -=item B<--qcreate [dir]> - -Use this option together with B<--quarantine [dir]> to create a cxs compatible -quarantine directory structure. - -This will create the following structure: - - /[dir]/ - owned by root:root, chmod 0755 - /[dir]/cxscgi/ - owned by root:[defapache user], chmod 0730 - /[dir]/cxsuser/ - owned by root:root, chmod 0600 - -=item B<--qlocal> - -When using the ModSecurity hook and running Apache under mod_ruid2, ModSecurity -runs under the user account that owns a script, rather than the standard apache -account (e.g. "nobody" on cPanel servers). This prevents cxs accessing a -globally defined quarantine directory due to security constraints. - -To work around this issue, you can use the B<--qlocal> option on the cxs -command in /etc/cxs/cxscgi.sh. This will instruct cxs to use a directory in the -local user account called .quarantine, e.g. /home/someuser/.quarantine/ - -cxs will create this directory as needed and store quarantine files for -ModSecurity in this directory. - -Caveats: - - 1. You must still specify a valid global --quarantine [dir] option on the - command line in /etc/cxs/cxscgi.sh - - 2. You will not be able to view the quarantined files within the - /home/someuser/.quarantine/ directory through the cxs UI - - 3. To view those quarantine files you must use the --qview [file] command from - the root shell - - 4. You cannot use --qclean [days] on the local quarantine directories - -=item B<--qrestore [file]> - -Use this option to restore a quarantine file (as reported in the quarantine -email or report) to the original file location. A file must not exist at the -original location, i.e. this option will not overwrite a file that has been -created since it was placed in quarantine. - -=item B<--qignore [method]> - -Use this option when restoring a quarantine file using B<--qrestore [file]> -to add an ignore entry to a specified B<--ignore [file]> before the file is -restored. - -The available ignore entries for the restored file can be made using the -following [method] values: - - MD5 - creates an md5sum: entry in the ignore file - FILE - creates a file: entry in the ignore file - -It is recommended to use the MD5 method to uniquely identify the ignore file -incase the restored file becomes exploited in the future. - -=item B<--qview [file]> - -Use this option to view a quarantine file (as reported in the quarantine -email or report). Alternatively, if you view [file].restore4 then you can see -the details of the quarantined file along with the reason for quarantine -(similar to the UI). - -=item B<--deep> - -This option will scan all text files for all regex and fingerprint matches -which will obviously take longer. The default, without B<--deep>, checks for -php and perl file extensions and file types (using file magic) and scans each -appropriately. - -=item B<--defapache [user]> - -This is the default account under which apache runs. This will be set to -"apache" by default except on cPanel servers where it is set to "nobody" by -default. If a different default apache user is being used, then this option -should be set appropriately on all cxs commands. - -This is the account under which ModSecurity runs. - -=item B<--decode [file]> - -This option will attempt to recursively decode PHP [file] which contains base64 -or rot13 encoded data that is passed through the eval() statement and display -the result. - -This is not a foolproof option and it may not produce meaningful results. - -An additional option B<--depth [num]> is included so that the final result can -be stopped at a specific depth level rather than recursing to the end. - -Once decoding is complete cxs will run a deep scan against the result. - -=item B<--block> - -This option will enable cxs to block FTP connections uploading suspicious -files. - -Careful consideration should be made before using this option in cxsftp.sh as -there is a significant risk of false-positives with using this option for two -reasons: - -1. It's relatively easy for an innocent user to upload a file that could -trigger one of the scan results - -2. The FTP IP address isn't completely reliable (see B) - -See the section B below. - -=item B<--MD5> - -This option will display the md5sum of a file that obtains a hit when -B<--options [m]> triggers a match during a scan. - -Under those circumstances, an md5sum: entry in a B<--ignore [file]> will ignore -the file. An md5sum: entry in a B<--xtra [file> will match the file as a known -exploit, i.e. as an B<--options [M]> hit. - -=item B<--prenice [num]> B<--pionice [num]> - -These options allow you to control the nice and ionice priorities of the -running process. This can, for example, help even out the load on heavy IO -servers, increase the speed of the scan on busy servers, help avoid conflicts -with backups. - -You must have a kernel that supports ionice and have the renice and ionice -binaries installed to use this feature. - -The renice value must be a whole number between -20 and 20, the ionice must be -a whole number between 0 and 7. See the individual B pages for B -and B to understand what the values mean and what effect they have on -the running process. - -The ionice scheduling class is set to "Best effort". - -=item B<--background> - -This option will force cxs to run as a detached background process. For this -reason you must specify either B<--report [file]> or B<--mail [email]> when -using this option otherwise you won't see any results. - -The option can be used with interactive, cron or FTP upload scans, but not with -web upload scans. - -Note: If you use this option in cxsftp.sh it may help ftp performance, but it -will likely add significant load to the server with high ftp throughput as -scans will no longer be queued by the pure-uploadscript process. - -=item B<--throttle [num]> - -This option will force cxs to sleep for 60 seconds if the one minute load -average is greater than [num]. cxs performs the load check every 60 seconds. - -If the load average on the server is continuously high when cxs is running the -process will take much longer to complete, so care should be taken when -specifying this option. - -=item B<--sizemax [bytes]> - -This option will restrict scanning for regex matches in script files to only -the initial [bytes] of text. This does not apply to virus scanning. - -Compressed archives > [bytes] in size will be ignored. - -=item B<--timemax [secs]> - -Scan timeout per file in seconds, default is 30 seconds. this value cannot be -set lower than 20 seconds to allow for effective php decoding. - -=item B<--filemax [num]> - -This option will prevent scanning of a directory B -if there are more than [num] resources contained within this directory level. - -Set this value to 0 to not skip based on this setting. - -=item B<--[no]summary> - -If you want to disable summary statistics then use B<--nosummary>. Doing so -will also force cxs to only report accounts with suspicious files when using -the B<--allusers> and B<--mail [email]> options. However, B<--report [file]> -will still display a full report. - -=item B<--upgrade> - -If cxs is scheduled, via cron, to check for a new version daily, an additional -check for new Exploit Fingerprints released since the last cxs version is -performed. These will be downloaded and used on subsequent scans. - -If the upgrade needs to be redone B<--force> can also be used. - -=item B<--options [T]> - -If you do not want to allow any script uploading via web scripts include this -option which will identify: PHP, Perl, C and other scripts that use a shebang -(#!) - -Note: This could cause problems for people using a CMS to manage their site - -You could also use this option when scanning vulnerable directories such as -/tmp or /dev/shm - -B - -If you want to only detect some script types, use the B<--tscripts [list]> -option. - -=item B<--options [E]> - -This option will match scripts that send out email using sendmail, exim or via -SMTP. - -This option requires that B<--options [m]> is also specified. - -=item B<--options [W]> - -This option will chmod all world writable directories found to 755. Use this -option with care as it could prevent web scripts from functioning on non-suPHP -or non-SUEXEC enabled systems. - -In cxs Watch, only new directories immediately chmod to 777 will be detected. -Old directories or new ones that have already been scanned will not be scanned -for this option. You should use a daily manual scan to check for such -directories. - -=item B<--options [D]> - -This is an option that puts any PHP scripts containing a eval() function that -decodes base64/rot13 information through the B<--decode [file]> option during a -scan. This will then highlight the decoded result if it hits any regex, -fingerprint or virus scan matches. - -This option will add a performance and time overhead to any scans, which could -be significant. However, it does make cxs much more effective. - -See also the B<--decode [file]> description. - -=item B<--options [R]> - -This option will trigger a match for the inbuilt regex used by B<--options [D]> -when decoding PHP encoded (base64, etc.) scripts - -=item B<--options [P]> - -This option will search standard web application configuration files for -MySQL database passwords. It will then attempt to login via FTP on localhost -with the username of the account being processed and the detected password (it -will attempt up to two password hits per configuration file). If the login is -successful, the option will trigger a match. - -The intention of this option is to help prevent exploitation of the server by -uploaded exploits that trawl through web application configuration files for -passwords that match user accounts and then gain access to that account via FTP -or the server Control Panel. - -Any matches should prompt you to have the user change either their database or -Control Panel/user account password so that they are different to avoid this -common exploitation method. - -This option will use additional resources during the scan process as it tries -FTP logins for config file matches. - -This option can only be used with the B<--allusers> or B<--user [user]> -options. - -=item B<--Wstart> - -Starts the cxs Watch daemon, see B - -=item B<--Wstop> - -Stops any running cxs Watch daemon, see B - -=item B<--Wadd [file]> - -To add additional resources to watch you can specifically list them within -[file] and the will be included when the cxs Watch daemon starts. If the file -is changed, the cxs Watch daemon must be restarted. - -For example, to scan files in /dev/shm add that to a file (e.g. -/etc/cxs/cxs.wadd) and then use the B<--Wadd [file]> option to also scan them -(--Wadd /etc/cxs/cxs.wadd). - -=item B<--Wchildren [num]> - -Use this option to increase the number of child processes started by the cxs -Watch daemon to scan files. On a server with mostly static pages and little -activity, you could reduce the number. On a very active server, increasing the -number will mean that files are processed more quickly. - -=item B<--Wsleep [num]> - -Wsleep forces the cxs Watch daemon to go to sleep for the number of specified -seconds after each process run of modified files. A value of 0 means that files -will be processed as soon as they have been modified. This is good because any -suspicious files will be processed immediately. However, on a very busy server -with a lot of continuous file updates, this would mean that files may be -processed multiple times per second. In this case, it may be a good idea to set -this value higher (e.g. 5) to allow file updates to accumulate before they are -processed. - -Additionally the B<--throttle [num]> option can be used for the daemon process -to help alleviate additional load if desired. However, this in turn can cause a -backlog of files to scan. - -=item B<--Wloglevel [num]> - -The higher the value of [num] the more verbose the log file information will be -for the cxs Watch daemon in /var/log/cxswatch.log. By default the value is set -to 0. For more detailed information, set to 1. For maximum detail set to 2. - -Be aware that a log level of 2 will provide a great deal of information and the -log file will grow in size rapidly on evenr the quietest of systems. So this -setting is best set to 2 only for short periods. - -=item B<--Wrefresh [days]> - -To keep the cxs Watch daemon up to date, it will restart every 7 days by -default. To change this interval, you can set B<--Wrefresh [days]>. - -=item B<--Wrateignore [secs]> - -If a file is scanned more then (2 * B<--Wsleep [num]>) times in -(10 * B<--Wsleep [num]>) seconds then a warning is logged. This is to help -identify frequently scanned files that you might want to ignore (e.g. if they -are very frequently updated log files). - -To help prevent excessive resource usage, cxs Watch will ignore files for -[secs] seconds if the warning above is issued. Scanning will then resume. Set -this to 0 to disable the ignore feature. - -Ignored resources are rescanned once [sec] expires. - -If B<--Wsleep [num]> is set to 0, then the trigger values will be more than 2 -times in 10 seconds. - -=back - -=head1 UNDOCUMENTED/UNSUPPORTED OPTIONS - -No support is provided for cxs, including submission of undetected exploits, if -any of these options are used. These options may be removed at any time which -will, for example, break scheduled cron jobs if they are used. - -=over 8 - -=item B<--YSKIPREG> - -Ignore inbuilt regex matching when using B<--options [m]>, B<--xtra [file]> -contents will still match. - -=item B<--YSKIPMD5> - -Ignore all inbuilt fingerprint matching when using B<--options [M]>, -B<--xtra [file]> contents will still match. - -=item B<--YSKIPFPREGEX> - -Ignore inbuilt fingerprint regex matching when using B<--options [M]>, -B<--xtra [file]> contents will still match. - -=item B<--YCMD> - -Print the intended complete CLI command and do not execute. - -=item B<--YCLAMSCAN> - -Alternative to the pre-configured paths for clamscan and the -option. This should be the full path to the clamscan binary, e.g.: - - --YCLAMSCAN /opt/bin/clamscan - -=item B<--YCONREP [file]> - -Same as B<--report [file]> except console ASCII colour-coded output to [file] - -=item B<--YSKIPWMAIL> - -If --options [W] or --options [wW] is triggered, then the directory will be -chmod as normal but no email will be sent. If any other option is triggered for -the same scan, the email will still be sent. - -This option only applies to cxs Watch. - -=item B<--YRATECNT [num]> and B<--YRATESEC [secs]> - -To manually set the detection rate for B<--Wrateignore [secs]> these values can -be set such that: - -If a file is scanned more then B<--YRATECNT [num]> times in -B<--YRATESEC [secs]> seconds then a warning is logged. The file will then be -ignored for B<--Wrateignore [secs]>. - -Note: If either is set, both must be set to more than 0 otherwise both settings -will be ignored. - -=back - -=head1 OTHER FILES & INFORMATION - -=over 2 - -=item B - -The installation document for this application. - -=item B - -The Exploit Scanning Reference document that explains the different exploit -scanning options reported by cxs. - -=item B - -The database of exploit fingerprints. - -The file needs to have world read access (B<644>) to allow Web script file -upload scanning. - -=item B - -If you create this file you can add default options for cxs. For example, you -might want cxs to always use --clamdsock /some/other/path/to/socket - -The file is a simple list of option=value statements, e.g.: - - clamdsock=/some/other/path/to/clamd.socket - ignore=/etc/cxs/cxs.ignore - virusscan=0 - -The file needs to have world read access (B<644>) to allow Web script file -upload scanning. - -Note: Options used on the command line will override the default settings. - -=item B - -See also B below. - -Create this as an empty file if you want to completely disable access to the -User Interface, e.g.: - - touch /etc/cxs/cxs.disableui - -=item B - -This disables features in the UI that could allow abritrary commands to be run -as root and system files to be overwritten. - -Create this as an empty file if you want to enable Restricted Mode access to -the User Interface, e.g.: - - touch /etc/cxs/cxs.restricted - -=item B - -Controls the startup of the daemon process that handles the socket interface -between pure-ftpd and cxs. - -If either of the following files exists the process will not start: - - /etc/ftpdisable - /etc/cxs/ftpddisable - -If you have problems with FTP access with this enabled, you need to restart -pure-ftpd through this script using: - - service pure-uploadscript restart - -This will recreate the socket that pure-ftpd uses to communicate with the -pure-uploadscript process. - -=item B - -FTP IP addresses are determined by scanning the relevant pure-ftpd log for the -IP address, first by trying to find an account and file match, if not found the -last successful login via pure-ftpd for the affected account. This could lead -to false-positives, so care should be taken before blocking the IP addresses -reported by cxs. - -=item B - -This is an alternative to ftp and web script upload scanning. The cxs Watch -daemon uses a separate process to constantly watch entire user accounts for new -and modified files and scans them immediately. The scanning children use up -significantly fewer resources than the ftp and web script upload scanning -methods. - -This feature requires: - - Redhat/CentOS v5+ (i.e. a kernel that supports inotify) - Linux::Inotify2 Perl module - -Systems that do not meet these requirements can continue to use the ftp and web -script upload scanning methods. See the documentation for more information -about this new option. - -To use B<--Wstart> and start the daemon you need to use it as if performing a -normal cxs scan but include this option, e.g.: - - cxs --Wstart --www --allusers - -However, it is recommened that instead of doing this directly, you should use -the provided /etc/cxs/cxswatch.sh script to configure the cxs Watch daemon and -the /etc/init.d/cxswatch (or systemctl on systemd) init script to control it. -This is so you do not forget what options you use every time you start the -daemon. - -You should edit /etc/cxs/cxswatch.sh and change the command line to suit your -requirements and then you can: - - 1. Enable the init script so that cxswatch starts at boot time: - - chkconfig cxswatch on - - 2. Start the daemon: - - /etc/init.d/cxswatch start - -If using systemd: - - 1. Enable the service so that cxswatch starts at boot time: - - systemctl enable cxswatch.service - - 2. Start the daemon: - - systemctl start cxswatch.service - -You can only have one cxs Watch daemon running at a time. If you make -configuration changes you will need to restart the daemon, e.g.: - - /etc/init.d/cxswatch restart - -Or on systemd: - - systemctl restart cxswatch.service - -To disable the cxswatch daemon after enabling it through the init script: - - chkconfig cxswatch off - /etc/init.d/cxswatch stop - -Or on systemd: - - systemctl stop cxswatch.service - systemctl disable cxswatch.service - -All of the relevant cxs scanning commands apply to the CLI for this option. See -the limitations of the cxs Watch daemon in the B -section. - -The cxs Watch daemon logs scanning activity to /var/log/cxswatch.log - -To enable monitoring the cxswatch daemon in cPanel servers, you should go into -WHM > Service Manager > and tick both boxes for cxswatch, then Save. The cPanel -tailwatchd daemon will then restart cxswatch if it is not running. - -On cPanel servers, cxswatch will automatically start watching the directories -of newly created accounts when using B<--allusers>. - -On other platforms, if you want to automatically have the cxs Watch daemon add -new accounts when using B<--allusers> you need to create an empty file in -/etc/cxs/newuser with the username of the new account. cxs Watch scans that -directory and on finding a new account name will start monitoring it. For -example, to add a new account that has already been generated called "iamnew", -you could use: - - touch /etc/cxs/newusers/iamnew - -If cxs is upgraded to a new version and the cxs Watch daemon is running it will -be automatically restarted with the same command. - -If an ignore file us used with cxs Watch daemon and the ignore file is -modified, cxs Watch will reload the ignore file and restart the child -processes. However, after making a large number of changes to the ignore file -or if adding puser: or user: to the ignore file, the cxs Watch daemon should be -manually restarted. - -=item B - -We would recommend using B<--virusscan> for the PHP, CGI and FTP uploads. There -can be a performance overhead using ClamAV for multiple files which means that -the scan will run for longer using more resources when performing user and -large directory scans. For this reason it might be sensible to use -B<--voptions [options]> for such scans. On systems where users store large -amounts of email, it might also be sensible to use the example mail ignore -regex provided in /etc/cxs/cxs.ignore.example for user scans. - -PHP and Perl CGI B is performed on the temporary file -created before the data is passed back to the initiating web script. This means -that cxs cannot determine what the destination file will be as it is up to the -calling script to determine that. This means that you will not be notified of -the actual file that a web script creates with the data from the uploaded -file. For this reason it would be sensible to enable the B<--delete> or -B<--quarantine [dir]> option in /etc/cxs/cxscgi.sh. It is also for this reason -it isn't possible to restore such files from quarantine. - -The B scans files after they have been uploaded via FTP. -This means that if the --delete option is used, the end user will not know that -the uploaded file has been removed during the FTP session. It also means that -cxs is deleting a file within the users account and so great care should be -used when considering use of the --delete option here. Since in this case the -destination file is known it may not be sensible to enable --delete in -/etc/cxs/cxsftp.sh, though using B<--quarantine [dir]> is a good idea. You can -restore such files from quarantine through the UI. - -A much more efficient way to use cxs is via the B. This -daemon process is able to perform file scanning using fewer server resources, -more quickly and more comprehensively, and can process and remove all -suspicious files regardless of how they are uploaded. The main disadvantages of -this method are: inotify must be enabled for every directory being watched -which could be a very IO intensive operation when starting the daemon and could -take some time on servers with large amounts of data and/or large numbers of -user accounts; there will be no feedback to the end-user with file uploads -being quarantined or deleted (much the same as the ftp method); there is no way -to block IP addresses; homedir ignore settings will not work for any files not -owner by the user (e.g. the apache default user); the additional server -requirements. - -=item B - -If the server running cxs doesn't have a supported UI through a control panel, -the cxs UI can be used through the csf Integrated User Interface. To do -this, enable the option UI_CXS after having configured the csf UI. - -If you want to block web script upload IP addresses, use the LF_CXS option in -csf. - -If you want to block FTP upload IP addresses use the B<--block> option in cxs, -but be aware of the limitations of this option mentioned in B<--block>. - -=back - -=head1 REQUIREMENTS - -=over 2 - -B - -B - - Redhat/CentOSCloudLinux v4/5/6 - - (Redhat/CentOSCloudLinux v5/6+ OS vendor kernel or custom kernel with inotify - support for cxs Watch) - -B: - - Archive::Tar - Archive::Zip - Digest::MD5 - File::Basename - File::Copy - File::Find - File::stat - Getopt::Long - IO::Socket::UNIX - IPC::Open3 - Linux::Inotify2 - LWP::Protocol::https - LWP::UserAgent - MIME::Base64 - Net::FTP - Net::SMTP - Pod::Usage - Storable - Time::HiRes - -B daemon process for virus scanning - -B (not supported for litespeed, nginx, etc. - only Apache v2+) - -B compiled with --with-uploadscript for ftp upload scanning - -B web upload scanning can only be performed on files uploaded via the -HTML ENCTYPE multipart/form-data - -B ModSecurity and pure-ftpd are not required if using the cxs Watch -daemon. See alternative requirements for this method above). - -=back - -=head1 RECOMMENDATIONS - -=over 2 - -1. Create a quarantine location, e.g.: - - cxs --qcreate --quarantine /home/quarantine - -2. Use the example ignore file provided and amend to your needs: - - cp /etc/cxs/cxs.ignore.example /etc/cxs/cxs.ignore - -3. Create a daily cron job to check for cxs updates and new Exploit -Fingerprints and to tidy up the quarantine directory, e.g.: - - ln -s /etc/cxs/cxsdaily.sh /etc/cron.daily/ - -4. Create a daily and weekly cron job to scan all user accounts e.g. create -/etc/cron.d/cxs-cron and add: - - @daily root /usr/sbin/cxs --report /root/scan.log --www --mail root --virusscan --voptions fmMhexT --quarantine /home/quarantine --qoptions Mv --ignore /etc/cxs/cxs.ignore --options OLfmMChexdDZRP --ctime 25 --all - @weekly root /usr/sbin/cxs --report /root/scan.log --www --mail root --virusscan --voptions fmMhexT --quarantine /home/quarantine --qoptions Mv --ignore /etc/cxs/cxs.ignore --options OLfmMChexdDZRP --all - -5. Enable ModSecurity cxs scanning (see install.txt) via /etc/cxs/cxscgi.sh - -6. If on a supported platform, run the cxs Watch daemon on all user web scripts -(see install.txt) via /etc/cxs/cxswatch.sh - -7. If not on a supported platform for cxs Watch, or if preferred, enable -pure-ftpd cxs scanning (see install.txt) via /etc/cxs/cxsftp.sh - -8. Run a manual scan: - - /usr/sbin/cxs --report /root/scan.log --www --mail root --virusscan --voptions fmMhexT --ignore /etc/cxs/cxs.ignore --options OLfmMChexdDZRP --all - -9. We strongly recommend that you subscribe via RSS to our blog to stay -informed of updates to cxs and our other applications: - - ConfigServer Blog: http://blog.configserver.com - -=back - -=head1 EXAMPLES - -=over 2 - -These are examples of how you can run cxs on the command line with an -explanation of what each example does: - -1. Create a report file; do not virus scan; use the ignore file; only do -selected scan options; scan all users: - - cxs --report /root/scan.log --novirusscan --ignore /etc/cxs/cxs.ignore \ - --options OLmMfuSGChexdR --allusers - -2. Create a report file; use the ignore file; only do selected scan options; -only virus scan selected file types; scan all users: - - cxs --report /root/scan.log --ignore /etc/cxs/cxs.ignore --options \ - mMfuhexdR --virusscan --voptions mfuhexT --allusers - -3. Email scan report to root; use all scan options including "no scripts"; scan -directory /tmp: - - cxs --mail root --options mMOLfSGcChexdnwDZRT /tmp - -4. Process /root/scan.log and append to ignore file /etc/cxs/cxs.ignore - - cxs --generate --report /root/scan.log --ignore /etc/cxs/cxs.ignore - -=back - -=head1 AUTHOR - -=over 2 - - Copyright 2009-2016, Way to the Web Limited - URL: http://www.configserver.com - Email: sales@waytotheweb.com - -=back - -=cut diff --git a/cxs/cxs.sec b/cxs/cxs.sec deleted file mode 100644 index e69de29..0000000 diff --git a/cxs/cxs.sver b/cxs/cxs.sver deleted file mode 100644 index c9e050212007ac3ed94ffc1c5a740705d1f13f82..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4864 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 diff --git a/cxs/cxs.template.example b/cxs/cxs.template.example deleted file mode 100644 index c0f746b..0000000 --- a/cxs/cxs.template.example +++ /dev/null @@ -1,11 +0,0 @@ -From: [from] -To: [to] -CC: [user] -Subject: cxs Scan on [hostname] (Hits:[hits]) (Viruses:[viruses]) (Fingerprints:[fingerprints]) - -Time : [time] -User Contact: [user] - -The following has been reported by the ConfigServer eXploit Scanner running on [hostname]: - -[text] diff --git a/cxs/cxs.xtra b/cxs/cxs.xtra deleted file mode 100644 index 772a6ee..0000000 --- a/cxs/cxs.xtra +++ /dev/null @@ -1,33 +0,0 @@ -############################################################################### -# Copyright 2009-2016, Way to the Web Limited -# URL: http://www.configserver.com -# Email: sales@waytotheweb.com -############################################################################### -# The following is a list of regular expression matches and filenames that -# cxs will additionally scan for, one per line. -# -# You must use the following format: -# -# regall: - regular expression match for all script files -# regphp: - regular expression match for only php script files -# regperl: - regular expression match for only perl script files -# regfile: - regular expression match for a file or directory name -# file: - file or directory name match (not a regex) -# md5sum: - md5sum of a file to match as: Known exploit = [Fingerprint Match] -# -# Examples: -# regall:/etc/passwd -# regfile:\.pl$ -# file:r00t.php -# -# To force quarantine of a file when using --quarantine, prefix the match with -# "quarantine:", e.g.: -# -# regall:quarantine:/etc/passwd -# regfile:quarantine:\.pl$ -# file:quarantine:r00t.php -# -# You can include additional entries using external files with: -# Include /path/to/cxs.altxtra -# -# Note: All regex's must be properly specified and escaped to work correctly diff --git a/cxs/cxs.xtra.example b/cxs/cxs.xtra.example deleted file mode 100644 index 772a6ee..0000000 --- a/cxs/cxs.xtra.example +++ /dev/null @@ -1,33 +0,0 @@ -############################################################################### -# Copyright 2009-2016, Way to the Web Limited -# URL: http://www.configserver.com -# Email: sales@waytotheweb.com -############################################################################### -# The following is a list of regular expression matches and filenames that -# cxs will additionally scan for, one per line. -# -# You must use the following format: -# -# regall: - regular expression match for all script files -# regphp: - regular expression match for only php script files -# regperl: - regular expression match for only perl script files -# regfile: - regular expression match for a file or directory name -# file: - file or directory name match (not a regex) -# md5sum: - md5sum of a file to match as: Known exploit = [Fingerprint Match] -# -# Examples: -# regall:/etc/passwd -# regfile:\.pl$ -# file:r00t.php -# -# To force quarantine of a file when using --quarantine, prefix the match with -# "quarantine:", e.g.: -# -# regall:quarantine:/etc/passwd -# regfile:quarantine:\.pl$ -# file:quarantine:r00t.php -# -# You can include additional entries using external files with: -# Include /path/to/cxs.altxtra -# -# Note: All regex's must be properly specified and escaped to work correctly diff --git a/cxs/cxs/images/cxs_small.png b/cxs/cxs/images/cxs_small.png deleted file mode 100644 index 6ed843d47fe742719e9b33a1385d48c60d321bb9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4962 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 diff --git a/cxs/cxs/images/icon.gif b/cxs/cxs/images/icon.gif deleted file mode 100644 index 29e8c504c64e8a8bbe2e1dd8396617584fe39a6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 811 zcmZ?wbhEHbG+;1bXk%df|NsB*-@m_q|Ni;&=PzGgy?_7y_3PKqpFjWf7zFO$zkmDo z?d#XCU%GVZ@!7NI&Yin=?AWPOr;Z&vc6Z;tLx&Ds-LYfWu3Z;5ZQ8bN+u7BtFRWU1 zV(#3-bLJeFHf_&@2|K#F_H=gcY;NA#(z2<(ep_ALy2{GcB_->Ni&y03t;x+@mYKOY zC1pW;{Jf~BIbmV50t2V}_)PQgnBw9x(Z*(qwROLRMX#~(L<55!1A}f|-7ZbdE;Y4I zW#tY9g$`NS4r%Egaq$ibi4HNb4q@RALBS4w{!U)rUT*F#F0M{)?rsi_9(ML#Hnu5D zOnodYlbM+(Ff&hOVw%jvG@XHACIiD%M#f1@Obi1D6o0ZXGBB_(=zyF6iW4^We+?{6 zEFrCJ?H!$6-5t$MJrgEQYU`goZF+mljM;PM&YQnr;iAP$mQM3y;$$#eHr;g7V2;$ndLCiXIcbCNe{USj}+WC(k*FW8M?%c%?z01cp9l3tvxa{r~ch4EM zn=UrI!Kr_o$>6EaLQBTWjCLUw0vp6VJCzuo&93?JYS|+pb_P|0nF8$D9LxAuD_EXX zJnX{O#%sQo;lja0MHSnyiUI|O$LksXnEjPVxb%c6bxzrqBN7KZmKPWwt-RBsr0zU> z_Ku%No-Mk(YvGMIg{K-tW~(prU0Is+K<6OiG~@7^ps(3&qUvrX8xCl_W0|TxZ^xle z6EZx76g!==&ddl*?&xP?P!qZIfKzD=qqjkpX&mF+4h9Fuqg*e%eG){K7#%p&uZlV`Z%8_6%pl;tLT6*o y$?}VmYxEv&2z@ent;F0I5e; -waitpid ($pid, 0); -chomp @data; -if ($data[0] =~ /v(.*)$/) {$myv = $1} - -$script = "/cxs/index.cgi"; -$images = "/cxs/images"; - -print "Content-type: text/html\r\n\r\n"; - -do '../web-lib.pl'; -&init_config(); -&ReadParse(); -%FORM = %in; - -print < - - -ConfigServer Security & Firewall - - -EOF -unless ($FORM{action} eq "tailcmd" or $FORM{action} eq "logtailcmd") { - print " ConfigServer Exploit Scanner - cxs v$myv"; -} - -do "/etc/cxs/cxsui.pl"; -print "\n\n"; - -1; diff --git a/cxs/cxs/module.info b/cxs/cxs/module.info deleted file mode 100644 index 03bbadb..0000000 --- a/cxs/cxs/module.info +++ /dev/null @@ -1,3 +0,0 @@ -name=cxs -desc=ConfigServer Exploit Scanner -category=system diff --git a/cxs/cxscgi.sh b/cxs/cxscgi.sh deleted file mode 100755 index 87b9fd8..0000000 --- a/cxs/cxscgi.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -############################################################################### -# Copyright 2009-2016, Way to the Web Limited -# URL: http://www.configserver.com -# Email: sales@waytotheweb.com -############################################################################### -# The option --cgi MUST be used on the cxs command line here -# -# Examples (only use ONE line for cxs scanning): -#/usr/sbin/cxs --quiet --cgi --smtp --mail root "$1" -#/usr/sbin/cxs --quiet --cgi --smtp --mail root --quarantine /home/safe/ "$1" -#/usr/sbin/cxs --quiet --cgi --delete --logfile /var/log/cxs.log --cleanlog "$1" -# -# If you use --logfile, remember to chmod 666 [file] to allow write access -# -# You should include --smtp to allow the nobody user (which ModSecurity runs -# under) to send email. - -#/usr/sbin/cxs --quiet --cgi --smtp --mail root "$1" -/usr/sbin/cxs --quiet --cgi --block --smtp --mail csf@gazduire.ro --qoptions mMOfSGchdnTv -I /etc/cxs/cxs.ignore --logfile /var/log/cxs.log "$1" diff --git a/cxs/cxschroot.sh b/cxs/cxschroot.sh deleted file mode 100755 index b996af6..0000000 --- a/cxs/cxschroot.sh +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/sh -############################################################################### -# Copyright 2009-2016, Way to the Web Limited -# URL: http://www.configserver.com -# Email: sales@waytotheweb.com -############################################################################### -# Experimental procedure to create a chroot environment for script decoding - -DESTDIR="/home/cxschroot" - -echo -n "Preparing chroot environment..." -mkdir -p $DESTDIR/sys -mkdir -p $DESTDIR/proc -mkdir -p $DESTDIR/dev -mkdir -p $DESTDIR/etc -mkdir -p $DESTDIR/tmp -mkdir -p $DESTDIR/lib -mkdir -p $DESTDIR/lib64 -cp /lib/libgcc* $DESTDIR/lib/ -if [ -d "/lib64/" ]; then - cp /lib64/libgcc* $DESTDIR/lib64/ -fi -echo "DONE" - -echo -n "Copying files..." -for prog in /bin/bash /bin/ls /usr/bin/id /usr/local/bin/php /usr/bin/php; do - if [ -e $prog ]; then - mkdir -p $DESTDIR/`dirname $prog` - cp $prog $DESTDIR/$prog - - for lib in `ldd $prog |sed -rn 's/[^\/]*(.*\/lib.*\/[^ ]*).*/\1/gp'`; do - mkdir -p $DESTDIR/`dirname $lib` - cp $lib $DESTDIR/$lib - done - fi -done -echo "DONE" - -echo "Adding cxschroot user..." -useradd -M -s /bin/false cxschroot -chown cxschroot:cxschroot $DESTDIR/tmp -echo "DONE" - -echo "Block outgoing connections by cxschroot in csf..." -echo '#!/bin/bash -/sbin/iptables -I OUTPUT -m owner --uid-owner cxschroot -j DROP -' >> /etc/csf/csfpost.sh -chmod +x /etc/csf/csfpost.sh -/sbin/iptables -I OUTPUT -m owner --uid-owner cxschroot -j DROP -echo "DONE" -echo -echo "You should now be able to use : cxs --chroot /home/cxschroot --chuser cxschroot ..." -echo "You can test the chroot environment using: cxs --chroot /home/cxschroot --chuser cxschroot --chtest" -echo diff --git a/cxs/cxscron.txt b/cxs/cxscron.txt deleted file mode 100644 index d0a18d1..0000000 --- a/cxs/cxscron.txt +++ /dev/null @@ -1,28 +0,0 @@ -Taken from man -s5 crontab: -

Commands are executed by cron when the minute, hour, and month of year fields match the current time, and at least one of the two day fields (day of month, or day of week) match the current time (see "Note" below). Note that this means that non-existent times, such as "missing hours" during daylight savings conversion, will never match, causing jobs scheduled during the "missing times" not to be run. Similarly, times that occur more than once (again, during daylight savings conversion) will cause matching jobs to be run twice.

- -

cron examines cron entries once every minute.

- -

The time and date fields are:

-
-      field          allowed values
-      -----          --------------
-      minute         0-59
-      hour           0-23
-      day of month   1-31
-      month          1-12 (or names, see below)
-      day of week    0-7 (0 or 7 is Sun, or use names)
-
-

A field may be an asterisk (*), which always stands for "first-last".

- -

Ranges of numbers are allowed. Ranges are two numbers separated with a hyphen. The specified range is inclusive. For example, 8-11 for an "hours" entry specifies execution at hours 8, 9, 10 and 11.

- -

Lists are allowed. A list is a set of numbers (or ranges) separated by commas. Examples: "1,2,5,9", "0-4,8-12".

- -

Step values can be used in conjunction with ranges. Following a range with "" specifies skips of the number's value through the range. For example, "0-23/2" can be used in the hours field to specify command execution every other hour (the alternative in the V7 standard is "0,2,4,6,8,10,12,14,16,18,20,22"). Steps are also permitted after an asterisk, so if you want to say "every two hours", just use "*/2".

- -

Names can also be used for the "month" and "day of week" fields. Use the first three letters of the particular day or month (case doesn't matter). Ranges or lists of names are not allowed.

- -

The "sixth" field (the rest of the line) specifies the command to be run. The entire command portion of the line, up to a newline or % character, will be executed by /bin/sh or by the shell specified in the SHELL variable of the cronfile. Percent-signs (%) in the command, unless escaped with backslash (\), will be changed into newline characters, and all data after the first % will be sent to the command as standard input.

- -

Note: The day of a command's execution can be specified by two fields: day of month, and day of week. If both fields are restricted (ie, aren't *), the command will be run when either field matches the current time. For example, "30 4 1,15 * 5" would cause a command to be run at 4:30 am on the 1st and 15th of each month, plus every Friday.

diff --git a/cxs/cxsdaily.sh b/cxs/cxsdaily.sh deleted file mode 100755 index 97351be..0000000 --- a/cxs/cxsdaily.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -############################################################################### -# Copyright 2009-2016, Way to the Web Limited -# URL: http://www.configserver.com -# Email: sales@waytotheweb.com -############################################################################### -# Run this script via cron daily - -# Daily update of cxs and/or fingerprint definitions -/usr/sbin/cxs --upgrade --quiet - -# Daily cleanup of quarantine if used. Modify to specify your quarantine -# directory and duplicate if you use more than one. -# -# Set --qclean to the number of days to retain, e.g. 7 = one week - -/usr/sbin/cxs --qclean 7 --quarantine /home/quarantine --quiet diff --git a/cxs/cxsftp.sh b/cxs/cxsftp.sh deleted file mode 100755 index 47f2e5f..0000000 --- a/cxs/cxsftp.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -############################################################################### -# Copyright 2009-2016, Way to the Web Limited -# URL: http://www.configserver.com -# Email: sales@waytotheweb.com -############################################################################### -# The option --ftp MUST be used on the cxs command line here -# -# Examples (only use ONE line for cxs scanning): -#/usr/sbin/cxs --quiet --ftp --mail root "$1" -#/usr/sbin/cxs --quiet --ftp --mail root --quarantine /home/safe/ "$1" -#/usr/sbin/cxs --quiet --ftp --mail root --quarantine /home/safe/ --block "$1" -#/usr/sbin/cxs --quiet --ftp --logfile /var/log/cxs.log "$1" -# -# If you use --logfile, remember to chmod 666 [file] to allow write access - -#/usr/sbin/cxs --quiet --ftp --smtp --mail root "$1" -/usr/sbin/cxs --quiet --ftp --exploitscan --virusscan --block --smtp --mail csf@gazduire.ro -I /etc/cxs/cxs.ignore --logfile /var/log/cxs.log --quarantine /home/quarantine/ --qoptions Mfchv -C /tmp/ clamd -E "$1" diff --git a/cxs/cxsui.pl b/cxs/cxsui.pl deleted file mode 100755 index 7e79bd9..0000000 --- a/cxs/cxsui.pl +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/local/cpanel/3rdparty/bin/perl -# Copyright 2009-2016, Way to the Web Limited -# URL: http://www.configserver.com -# Email: sales@waytotheweb.com -use lib '/etc/cxs';use Cwd 'abs_path';use Fcntl qw(:DEFAULT :flock :mode);use LWP::UserAgent;use MIME::Base64;local $| = 1;my $CRKBR79IKQ5DX36XOE2J3T6BMQIZFMPH1WZ0I7QWMZJUMRUSHBZ = "\x{2f}\x{75}\x{73}\x{72}\x{2f}\x{62}\x{69}\x{6e}\x{2f}\x{70}\x{65}\x{72}\x{6c}\x{64}\x{6f}\x{63}";my $CBASYRG6ZBE6649XEB1JAGZC80OR2MRFICG21PD2BNGRJSG6TA3 = 0;my $CGJUPHKF6V1P9FB1PRLN1BYGLQTRR7AZF6K8O8P4C3P7QA4L1TK = "/etc/cron.d/cxs-cron";if ($^O eq "\x{66}\x{72}\x{65}\x{65}\x{62}\x{73}\x{64}") {$CGJUPHKF6V1P9FB1PRLN1BYGLQTRR7AZF6K8O8P4C3P7QA4L1TK = "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{72}\x{6f}\x{6e}\x{74}\x{61}\x{62}";$CRKBR79IKQ5DX36XOE2J3T6BMQIZFMPH1WZ0I7QWMZJUMRUSHBZ = "\x{2f}\x{75}\x{73}\x{72}\x{2f}\x{6c}\x{6f}\x{63}\x{61}\x{6c}\x{2f}\x{62}\x{69}\x{6e}\x{2f}\x{70}\x{65}\x{72}\x{6c}\x{64}\x{6f}\x{63}";$CBASYRG6ZBE6649XEB1JAGZC80OR2MRFICG21PD2BNGRJSG6TA3 = 1;}my $CGBJTAIDPOCL73U7BMI8WY0BQLBN4V092OEQ9JQW160U89HBW90 = "\x{47}\x{45}\x{4e}\x{45}\x{52}\x{49}\x{43}";if (-e "\x{2f}\x{75}\x{73}\x{72}\x{2f}\x{6c}\x{6f}\x{63}\x{61}\x{6c}\x{2f}\x{63}\x{70}\x{61}\x{6e}\x{65}\x{6c}\x{2f}\x{76}\x{65}\x{72}\x{73}\x{69}\x{6f}\x{6e}") {$CGBJTAIDPOCL73U7BMI8WY0BQLBN4V092OEQ9JQW160U89HBW90 = "\x{43}\x{50}\x{41}\x{4e}\x{45}\x{4c}";if (-e "\x{2f}\x{75}\x{73}\x{72}\x{2f}\x{6c}\x{6f}\x{63}\x{61}\x{6c}\x{2f}\x{63}\x{70}\x{61}\x{6e}\x{65}\x{6c}\x{2f}\x{33}\x{72}\x{64}\x{70}\x{61}\x{72}\x{74}\x{79}\x{2f}\x{70}\x{65}\x{72}\x{6c}\x{2f}\x{35}\x{31}\x{34}\x{2f}\x{62}\x{69}\x{6e}\x{2f}\x{70}\x{65}\x{72}\x{6c}\x{64}\x{6f}\x{63}") {$CRKBR79IKQ5DX36XOE2J3T6BMQIZFMPH1WZ0I7QWMZJUMRUSHBZ = "/usr/local/cpanel/3rdparty/perl/514/bin/perldoc"}}elsif (-e "\x{2f}\x{75}\x{73}\x{72}\x{2f}\x{6c}\x{6f}\x{63}\x{61}\x{6c}\x{2f}\x{64}\x{69}\x{72}\x{65}\x{63}\x{74}\x{61}\x{64}\x{6d}\x{69}\x{6e}\x{2f}\x{64}\x{69}\x{72}\x{65}\x{63}\x{74}\x{61}\x{64}\x{6d}\x{69}\x{6e}") {$CGBJTAIDPOCL73U7BMI8WY0BQLBN4V092OEQ9JQW160U89HBW90 = "\x{44}\x{41}";$script = "\x{2f}\x{43}\x{4d}\x{44}\x{5f}\x{50}\x{4c}\x{55}\x{47}\x{49}\x{4e}\x{53}\x{5f}\x{41}\x{44}\x{4d}\x{49}\x{4e}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{69}\x{6e}\x{64}\x{65}\x{78}\x{2e}\x{68}\x{74}\x{6d}\x{6c}";$CPR9IWDA1DPTQZL21ZMTKYFBF6PTVJ5LAFRMQAZ6MPQ1409CB58 = "\x{2f}\x{43}\x{4d}\x{44}\x{5f}\x{50}\x{4c}\x{55}\x{47}\x{49}\x{4e}\x{53}\x{5f}\x{41}\x{44}\x{4d}\x{49}\x{4e}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{69}\x{6e}\x{64}\x{65}\x{78}\x{2e}\x{72}\x{61}\x{77}";$images = "\x{2f}\x{43}\x{4d}\x{44}\x{5f}\x{50}\x{4c}\x{55}\x{47}\x{49}\x{4e}\x{53}\x{5f}\x{41}\x{44}\x{4d}\x{49}\x{4e}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{69}\x{6d}\x{61}\x{67}\x{65}\x{73}";}open (my $CG24RPVEY6ETCGIS5S7EQ8F4UVMO6US4XPNWZ9AT0PAMDU2W1QA, "\x{3c}", "/proc/1/comm");flock ($CG24RPVEY6ETCGIS5S7EQ8F4UVMO6US4XPNWZ9AT0PAMDU2W1QA, LOCK_SH);my $CAM0P4PEUYAFPA490GRX12189BNNL6N6YCQ4WNYBYNOCWR86I3E = <$CG24RPVEY6ETCGIS5S7EQ8F4UVMO6US4XPNWZ9AT0PAMDU2W1QA>;close ($CG24RPVEY6ETCGIS5S7EQ8F4UVMO6US4XPNWZ9AT0PAMDU2W1QA);chomp $CAM0P4PEUYAFPA490GRX12189BNNL6N6YCQ4WNYBYNOCWR86I3E;if ($CAM0P4PEUYAFPA490GRX12189BNNL6N6YCQ4WNYBYNOCWR86I3E ne "\x{73}\x{79}\x{73}\x{74}\x{65}\x{6d}\x{64}") {$CAM0P4PEUYAFPA490GRX12189BNNL6N6YCQ4WNYBYNOCWR86I3E = "init"}print < -a {color: #000000;text-decoration: underline;}td {font-family:Arial, Helvetica, sans-serif;font-size:small;}body {font-family:Arial, Helvetica, sans-serif;font-size:small;}pre {font-family: Courier New, Courier;font-size: 12px;}.cxs-table {border:1px solid #990000;border-radius:4px;padding: 4px;background-color: #FFFFFF;margin: 10px;width: 98%;}.cxs-tr:nth-child(odd) {background-color: #FFFFFF;}.cxs-tr:nth-child(even) {background-color: #F4F4EA;}.cxs-box {margin: 10px;}.nowraptd {white-space: nowrap;}.input {min-width:0px;padding:3px;background:#FFFFFF;border-radius:3px;border:1px solid #A6C150;color:#990000 !important;font-family:Verdana, Geneva, sans-serif;text-shadow: 0px 1px 1px #CDCDCD;font-size:13px;font-weight:normal;margin:2px;}.input:hover {cursor:pointer;border:1px solid #A6C150;box-shadow: 0px 0px 6px 1px #A6C150;}input[type=text], textarea, select { -webkit-transition: all 0.30s ease-in-out; -moz-transition: all 0.30s ease-in-out; -ms-transition: all 0.30s ease-in-out; -o-transition: all 0.30s ease-in-out; transition: all 0.30s ease-in-out; border-radius:3px; outline: none; padding: 3px 0px 3px 3px; margin: 5px 1px 3px 0px; border: 1px solid #DDDDDD;}input[type=text]:focus, textarea:focus, select:focus { box-shadow: 0 0 5px #CC0000; padding: 3px 0px 3px 3px; margin: 5px 1px 3px 0px; border: 1px solid #CC0000;} -EOF -foreach my $CYX5C2LENCDM3Q1X2VHC5FV8DJVJV9VJMYR95GQJC9FM0UBJDOP (keys %FORM) {$FORM{$CYX5C2LENCDM3Q1X2VHC5FV8DJVJV9VJMYR95GQJC9FM0UBJDOP} =~ s/(\`)|(\|)|(\;)|(\.\.)//g}if ($FORM{action} eq "\x{44}\x{69}\x{73}\x{61}\x{62}\x{6c}\x{65}\x{20}\x{55}\x{49}") {sysopen (my $C6TVX10EY3DN3MWQHEKIF19LPHS1HY0ASUVKWRHHNZ4MBMEUNB4, "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{64}\x{69}\x{73}\x{61}\x{62}\x{6c}\x{65}\x{75}\x{69}", O_WRONLY | O_CREAT);flock ($C6TVX10EY3DN3MWQHEKIF19LPHS1HY0ASUVKWRHHNZ4MBMEUNB4, LOCK_EX);print $C6TVX10EY3DN3MWQHEKIF19LPHS1HY0ASUVKWRHHNZ4MBMEUNB4 time;close ($C6TVX10EY3DN3MWQHEKIF19LPHS1HY0ASUVKWRHHNZ4MBMEUNB4);}if (-e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{64}\x{69}\x{73}\x{61}\x{62}\x{6c}\x{65}\x{75}\x{69}") {print "\n";print "\n";print "
UI Disabled - remove /etc/cxs/cxs.disableui to enable access to this User Interface

\n";exit;}my $CV2ZIUG3J28L4Y8NZ98EI2KDO18AUNMRKV994WJZV7P7ZXJJVJA = 0;if ($FORM{action} eq "\x{52}\x{65}\x{73}\x{74}\x{72}\x{69}\x{63}\x{74}\x{65}\x{64}\x{20}\x{4d}\x{6f}\x{64}\x{65}") {sysopen (my $C6TVX10EY3DN3MWQHEKIF19LPHS1HY0ASUVKWRHHNZ4MBMEUNB4, "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{72}\x{65}\x{73}\x{74}\x{72}\x{69}\x{63}\x{74}\x{65}\x{64}", O_WRONLY | O_CREAT);flock ($C6TVX10EY3DN3MWQHEKIF19LPHS1HY0ASUVKWRHHNZ4MBMEUNB4, LOCK_EX);print $C6TVX10EY3DN3MWQHEKIF19LPHS1HY0ASUVKWRHHNZ4MBMEUNB4 time;close ($C6TVX10EY3DN3MWQHEKIF19LPHS1HY0ASUVKWRHHNZ4MBMEUNB4);}if (-e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{72}\x{65}\x{73}\x{74}\x{72}\x{69}\x{63}\x{74}\x{65}\x{64}") {$CV2ZIUG3J28L4Y8NZ98EI2KDO18AUNMRKV994WJZV7P7ZXJJVJA = 1}if ($FORM{qdir} ne "") {my $CC2066C1FTGB6U4M4FY2336HOK6TFFH38RWIVND4OB526GY1EDR = (stat($FORM{qdir}))[2];$CC2066C1FTGB6U4M4FY2336HOK6TFFH38RWIVND4OB526GY1EDR = sprintf("%04o",$CC2066C1FTGB6U4M4FY2336HOK6TFFH38RWIVND4OB526GY1EDR & oct("\x{30}\x{37}\x{37}\x{37}\x{37}"));my $CFPQ5ED0IOQGIFW9WNT3QAE80GD5S8MGFEH7SMYDHYC51RV3UAN = (stat($FORM{qdir}))[4];my $C7GUWQWMD5XCXFSQK4XN0R2V7VCDPKWXQ2KJG6F5APL7ASKNBY2 = (stat("$FORM{qdir}/cxscgi"))[4];my $CZZZ09KTK4EYRZINMB6CXVBQGBW12UT9M2XQKYGPHL1K4T4FAES = (stat("$FORM{qdir}/cxsuser"))[4];unless (-d $FORM{qdir}) {print "
Quarantine directory [$FORM{qdir}] does not exist";exit;}elsif (-d "$FORM{qdir}" and $CFPQ5ED0IOQGIFW9WNT3QAE80GD5S8MGFEH7SMYDHYC51RV3UAN != 0) {print "
Quarantine directory [$FORM{qdir}] has incorrect owner";exit;}elsif ($FORM{qdir} =~ /\/tmp/) {print "
Quarantine directory [$FORM{qdir}] must not contain \"tmp\"";exit;}elsif ($CC2066C1FTGB6U4M4FY2336HOK6TFFH38RWIVND4OB526GY1EDR ne "\x{30}\x{37}\x{35}\x{35}") {print "
Quarantine directory [$FORM{qdir}] has incorrect permissions ($CC2066C1FTGB6U4M4FY2336HOK6TFFH38RWIVND4OB526GY1EDR instead of 0755)";exit;}}if ($FORM{action} eq "\x{44}\x{6f}\x{63}\x{75}\x{6d}\x{65}\x{6e}\x{74}\x{61}\x{74}\x{69}\x{6f}\x{6e}") {print "\n";print "\n";print "\n";print "\n";print "
Other Documents
reference.txt    install.txt    changelog.txt    license.txt
cxs POD
";&printcmd($CRKBR79IKQ5DX36XOE2J3T6BMQIZFMPH1WZ0I7QWMZJUMRUSHBZ,"-ohtml","\x{2f}\x{75}\x{73}\x{72}\x{2f}\x{73}\x{62}\x{69}\x{6e}\x{2f}\x{63}\x{78}\x{73}");print "
\n";print "

\n";}elsif ($FORM{action} eq "\x{45}\x{6e}\x{61}\x{62}\x{6c}\x{65}\x{20}\x{63}\x{78}\x{73}\x{20}\x{57}\x{61}\x{74}\x{63}\x{68}") {print "\n";print "
";print "

Enabling cxs watch init...

\n

\n";if ($CAM0P4PEUYAFPA490GRX12189BNNL6N6YCQ4WNYBYNOCWR86I3E eq "\x{73}\x{79}\x{73}\x{74}\x{65}\x{6d}\x{64}") {&printcmd("\x{73}\x{79}\x{73}\x{74}\x{65}\x{6d}\x{63}\x{74}\x{6c}","enable","cxswatch.service");} else {&printcmd("\x{63}\x{68}\x{6b}\x{63}\x{6f}\x{6e}\x{66}\x{69}\x{67}","cxswatch","on");}print "

\n

...Done.

\n";print "

Starting cxs watch...

\n

\n";if ($CAM0P4PEUYAFPA490GRX12189BNNL6N6YCQ4WNYBYNOCWR86I3E eq "\x{73}\x{79}\x{73}\x{74}\x{65}\x{6d}\x{64}") {&printcmd("\x{73}\x{79}\x{73}\x{74}\x{65}\x{6d}\x{63}\x{74}\x{6c}","stop","cxswatch.service");&printcmd("\x{73}\x{79}\x{73}\x{74}\x{65}\x{6d}\x{63}\x{74}\x{6c}","start","cxswatch.service");&printcmd("\x{73}\x{79}\x{73}\x{74}\x{65}\x{6d}\x{63}\x{74}\x{6c}","status","cxswatch.service");} else {&printcmd("\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{69}\x{6e}\x{69}\x{74}\x{2e}\x{64}\x{2f}\x{63}\x{78}\x{73}\x{77}\x{61}\x{74}\x{63}\x{68}","start");}print "

\n

...Done.

\n";if ($CGBJTAIDPOCL73U7BMI8WY0BQLBN4V092OEQ9JQW160U89HBW90 eq "\x{43}\x{50}\x{41}\x{4e}\x{45}\x{4c}") {print "

Enabling cxs watch monitor in cPanel...

\n

\n";&printcmd("\x{72}\x{65}\x{70}\x{6c}\x{61}\x{63}\x{65}","cxswatch:0","cxswatch:1","--","/etc/chkserv.d/chkservd.conf");&printcmd("\x{2f}\x{73}\x{63}\x{72}\x{69}\x{70}\x{74}\x{73}\x{2f}\x{72}\x{65}\x{73}\x{74}\x{61}\x{72}\x{74}\x{73}\x{72}\x{76}\x{5f}\x{74}\x{61}\x{69}\x{6c}\x{77}\x{61}\x{74}\x{63}\x{68}\x{64}");print "

\n

...Done.

\n";}print "
\n";print "

\n";print "

\n";}elsif ($FORM{action} eq "\x{44}\x{69}\x{73}\x{61}\x{62}\x{6c}\x{65}\x{20}\x{63}\x{78}\x{73}\x{20}\x{57}\x{61}\x{74}\x{63}\x{68}") {print "\n";print "
";print "

Stopping cxs watch...

\n

\n";if ($CAM0P4PEUYAFPA490GRX12189BNNL6N6YCQ4WNYBYNOCWR86I3E eq "\x{73}\x{79}\x{73}\x{74}\x{65}\x{6d}\x{64}") {&printcmd("\x{73}\x{79}\x{73}\x{74}\x{65}\x{6d}\x{63}\x{74}\x{6c}","stop","cxswatch.service");&printcmd("\x{73}\x{79}\x{73}\x{74}\x{65}\x{6d}\x{63}\x{74}\x{6c}","status","cxswatch.service");} else {&printcmd("\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{69}\x{6e}\x{69}\x{74}\x{2e}\x{64}\x{2f}\x{63}\x{78}\x{73}\x{77}\x{61}\x{74}\x{63}\x{68}","stop");}print "

\n

...Done.

\n";print "

Disabling cxs watch init...

\n

\n";if ($CAM0P4PEUYAFPA490GRX12189BNNL6N6YCQ4WNYBYNOCWR86I3E eq "\x{73}\x{79}\x{73}\x{74}\x{65}\x{6d}\x{64}") {&printcmd("\x{73}\x{79}\x{73}\x{74}\x{65}\x{6d}\x{63}\x{74}\x{6c}","disable","cxswatch.service");} else {&printcmd("\x{63}\x{68}\x{6b}\x{63}\x{6f}\x{6e}\x{66}\x{69}\x{67}","cxswatch","off");}print "

\n

...Done.

\n";if ($CGBJTAIDPOCL73U7BMI8WY0BQLBN4V092OEQ9JQW160U89HBW90 eq "\x{43}\x{50}\x{41}\x{4e}\x{45}\x{4c}") {print "

Disabling cxs watch monitor in cPanel...

\n

\n";&printcmd("\x{72}\x{65}\x{70}\x{6c}\x{61}\x{63}\x{65}","cxswatch:1","cxswatch:0","--","/etc/chkserv.d/chkservd.conf");&printcmd("\x{2f}\x{73}\x{63}\x{72}\x{69}\x{70}\x{74}\x{73}\x{2f}\x{72}\x{65}\x{73}\x{74}\x{61}\x{72}\x{74}\x{73}\x{72}\x{76}\x{5f}\x{74}\x{61}\x{69}\x{6c}\x{77}\x{61}\x{74}\x{63}\x{68}\x{64}");print "

\n

...Done.

\n";}print "
\n";print "

\n";print "

\n";}elsif ($FORM{action} eq "\x{53}\x{74}\x{61}\x{72}\x{74}\x{20}\x{63}\x{78}\x{73}\x{20}\x{57}\x{61}\x{74}\x{63}\x{68}") {print "\n";print "
";print "

Starting cxs watch...

\n

\n";if ($CAM0P4PEUYAFPA490GRX12189BNNL6N6YCQ4WNYBYNOCWR86I3E eq "\x{73}\x{79}\x{73}\x{74}\x{65}\x{6d}\x{64}") {&printcmd("\x{73}\x{79}\x{73}\x{74}\x{65}\x{6d}\x{63}\x{74}\x{6c}","start","cxswatch.service");&printcmd("\x{73}\x{79}\x{73}\x{74}\x{65}\x{6d}\x{63}\x{74}\x{6c}","status","cxswatch.service");} else {&printcmd("\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{69}\x{6e}\x{69}\x{74}\x{2e}\x{64}\x{2f}\x{63}\x{78}\x{73}\x{77}\x{61}\x{74}\x{63}\x{68}","start");}print "

\n

...Done.

\n";print "
\n";print "

\n";print "

\n";}elsif ($FORM{action} eq "\x{53}\x{74}\x{6f}\x{70}\x{20}\x{63}\x{78}\x{73}\x{20}\x{57}\x{61}\x{74}\x{63}\x{68}") {print "\n";print "
";print "

Stopping cxs watch...

\n

\n";if ($CAM0P4PEUYAFPA490GRX12189BNNL6N6YCQ4WNYBYNOCWR86I3E eq "\x{73}\x{79}\x{73}\x{74}\x{65}\x{6d}\x{64}") {&printcmd("\x{73}\x{79}\x{73}\x{74}\x{65}\x{6d}\x{63}\x{74}\x{6c}","stop","cxswatch.service");&printcmd("\x{73}\x{79}\x{73}\x{74}\x{65}\x{6d}\x{63}\x{74}\x{6c}","status","cxswatch.service");} else {&printcmd("\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{69}\x{6e}\x{69}\x{74}\x{2e}\x{64}\x{2f}\x{63}\x{78}\x{73}\x{77}\x{61}\x{74}\x{63}\x{68}","stop");}print "

\n

...Done.

\n";print "
\n";print "

\n";print "

\n";}elsif ($FORM{action} eq "\x{52}\x{65}\x{73}\x{74}\x{61}\x{72}\x{74}\x{20}\x{63}\x{78}\x{73}\x{20}\x{57}\x{61}\x{74}\x{63}\x{68}") {print "\n";print "
";print "

Restarting cxs watch...

\n

\n";if ($CGBJTAIDPOCL73U7BMI8WY0BQLBN4V092OEQ9JQW160U89HBW90 eq "\x{44}\x{41}") {open (my $C0VB9VGNK9JDYVP14JVVXWC8NJ69B3ZW25FYSK0TTGPD155ZSGG,"\x{3e}","/etc/cxs/newusers/cxswatchrestart");flock ($C0VB9VGNK9JDYVP14JVVXWC8NJ69B3ZW25FYSK0TTGPD155ZSGG, LOCK_EX);close ($C0VB9VGNK9JDYVP14JVVXWC8NJ69B3ZW25FYSK0TTGPD155ZSGG);print "\x{3c}\x{70}\x{72}\x{65}\x{3e}\x{52}\x{65}\x{73}\x{74}\x{61}\x{72}\x{74}\x{20}\x{72}\x{65}\x{71}\x{75}\x{65}\x{73}\x{74}\x{20}\x{73}\x{65}\x{6e}\x{74}\x{3c}\x{2f}\x{70}\x{72}\x{65}\x{3e}";} else {if ($CAM0P4PEUYAFPA490GRX12189BNNL6N6YCQ4WNYBYNOCWR86I3E eq "\x{73}\x{79}\x{73}\x{74}\x{65}\x{6d}\x{64}") {&printcmd("\x{73}\x{79}\x{73}\x{74}\x{65}\x{6d}\x{63}\x{74}\x{6c}","restart","cxswatch.service");&printcmd("\x{73}\x{79}\x{73}\x{74}\x{65}\x{6d}\x{63}\x{74}\x{6c}","status","cxswatch.service");} else {&printcmd("\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{69}\x{6e}\x{69}\x{74}\x{2e}\x{64}\x{2f}\x{63}\x{78}\x{73}\x{77}\x{61}\x{74}\x{63}\x{68}","restart");}}print "

\n

...Done.

\n";print "
\n";print "

\n";print "

\n";}elsif ($FORM{action} eq "\x{54}\x{61}\x{69}\x{6c}\x{20}\x{63}\x{78}\x{73}\x{20}\x{57}\x{61}\x{74}\x{63}\x{68}\x{20}\x{4c}\x{6f}\x{67}" or $FORM{action} eq "tail") {$FORM{lines} =~ s/\D//g;if ($FORM{lines} eq "" or $FORM{lines} == 0) {$FORM{lines} = 30}my $C6T6P38H90MEOQ8C65SRD07JXRVZ15XFPJFZCNW2GKPJ5B5724D = $script;my $COEEDQ7T9UNKAE7HF628FHGO13XB4JQ9V2I44W6KCSQP4C8CPLS = 120;my $CJPKGOUSSAXRUPSI0XG5T6V3DLCQ0WPOGNN36AAX7786T9GFJEI = 10;if ($CGBJTAIDPOCL73U7BMI8WY0BQLBN4V092OEQ9JQW160U89HBW90 eq "\x{44}\x{41}") {$script = $CPR9IWDA1DPTQZL21ZMTKYFBF6PTVJ5LAFRMQAZ6MPQ1409CB58;$COEEDQ7T9UNKAE7HF628FHGO13XB4JQ9V2I44W6KCSQP4C8CPLS = 400;$CJPKGOUSSAXRUPSI0XG5T6V3DLCQ0WPOGNN36AAX7786T9GFJEI = 150;}open (my $CG24RPVEY6ETCGIS5S7EQ8F4UVMO6US4XPNWZ9AT0PAMDU2W1QA, "\x{3c}", "/etc/cxs/csfajaxtail.js");flock ($CG24RPVEY6ETCGIS5S7EQ8F4UVMO6US4XPNWZ9AT0PAMDU2W1QA, LOCK_SH);my @CB29NEYNK04DGA3C4MT4RA355DODNV4LGYBTS1YG8KSZ4DSL5II = <$CG24RPVEY6ETCGIS5S7EQ8F4UVMO6US4XPNWZ9AT0PAMDU2W1QA>;close ($CG24RPVEY6ETCGIS5S7EQ8F4UVMO6US4XPNWZ9AT0PAMDU2W1QA);print "\n"; print <Log file /var/log/cxswatch.log. Lines:  

-

Refresh in 0

-
 
- - -EOF -if ($CGBJTAIDPOCL73U7BMI8WY0BQLBN4V092OEQ9JQW160U89HBW90 eq "\x{44}\x{41}") {$script = $C6T6P38H90MEOQ8C65SRD07JXRVZ15XFPJFZCNW2GKPJ5B5724D}print "

\n";}elsif ($FORM{action} eq "\x{74}\x{61}\x{69}\x{6c}\x{63}\x{6d}\x{64}") {$FORM{lines} =~ s/\D//g;if ($FORM{lines} eq "" or $FORM{lines} == 0) {$FORM{lines} = 30}print "\x{3c}\x{70}\x{72}\x{65}\x{3e}";my $CTO5HSD95N502HBTJI60OXUQ21DWUM7I9WCDPVBMZG5TNUSASFT = 30;eval {local $SIG{__DIE__} = undef;local $SIG{'ALRM'} = sub {die};alarm($CTO5HSD95N502HBTJI60OXUQ21DWUM7I9WCDPVBMZG5TNUSASFT);my ($CA7UJQAC01IIYKC4QNFTLNYSHBJEQLMPN9A52G9140G09708P8W, $C2WGDKJ1OKHQK8VK48PB9RARIGI2891ZM8WXUE9HBEJ4UWC5V56);my $CTMW3I2ETU1K4JFPDS584PFXS0WODZX1QSXQL0NAU0XDK0Q8CYV = open3($CA7UJQAC01IIYKC4QNFTLNYSHBJEQLMPN9A52G9140G09708P8W, $C2WGDKJ1OKHQK8VK48PB9RARIGI2891ZM8WXUE9HBEJ4UWC5V56, $C2WGDKJ1OKHQK8VK48PB9RARIGI2891ZM8WXUE9HBEJ4UWC5V56,"\x{2f}\x{75}\x{73}\x{72}\x{2f}\x{62}\x{69}\x{6e}\x{2f}\x{74}\x{61}\x{69}\x{6c}","-$FORM{lines}","/var/log/cxswatch.log");while (<$C2WGDKJ1OKHQK8VK48PB9RARIGI2891ZM8WXUE9HBEJ4UWC5V56>) {my $C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S = $_;$C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S =~ s/&/&/g;$C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S =~ s//>/g;print $C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S;}waitpid ($CTMW3I2ETU1K4JFPDS584PFXS0WODZX1QSXQL0NAU0XDK0Q8CYV, 0);alarm(0);};alarm(0);if ($@) {print "TIMEOUT: tail command took too long. Timed out after $CTO5HSD95N502HBTJI60OXUQ21DWUM7I9WCDPVBMZG5TNUSASFT seconds\n"}print "\n";}elsif ($FORM{action} eq "\x{66}\x{74}\x{70}\x{6f}\x{6e}") {print "\n";print "
";print "

Enabling pure-ftpd integration...

\n

\n";sysopen (my $C6DHURWA7TDOA5GLFDXUK24WVPP1NH9GCDSPWMCJ4T8G0X9EEXD,"/etc/pure-ftpd.conf", O_RDWR | O_CREAT);flock ($C6DHURWA7TDOA5GLFDXUK24WVPP1NH9GCDSPWMCJ4T8G0X9EEXD, LOCK_EX);my @CPH54YKPV82GFAFEAV89B8IMH9QM7IZ8RR01U9G5234WZ1NSZSG = <$C6DHURWA7TDOA5GLFDXUK24WVPP1NH9GCDSPWMCJ4T8G0X9EEXD>;chomp @CPH54YKPV82GFAFEAV89B8IMH9QM7IZ8RR01U9G5234WZ1NSZSG;seek ($C6DHURWA7TDOA5GLFDXUK24WVPP1NH9GCDSPWMCJ4T8G0X9EEXD, 0, 0);truncate ($C6DHURWA7TDOA5GLFDXUK24WVPP1NH9GCDSPWMCJ4T8G0X9EEXD, 0);my $C33G59QP5BT8U3ZZUOA4VYEZIM02RDEBWQUBSOJE2IL9A4PWBRI = 0;foreach my $C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S (@CPH54YKPV82GFAFEAV89B8IMH9QM7IZ8RR01U9G5234WZ1NSZSG) {if ($C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S =~ /^#?\s*calluploadscript/i) {if ($C33G59QP5BT8U3ZZUOA4VYEZIM02RDEBWQUBSOJE2IL9A4PWBRI) {next}$C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S = "\x{43}\x{61}\x{6c}\x{6c}\x{55}\x{70}\x{6c}\x{6f}\x{61}\x{64}\x{53}\x{63}\x{72}\x{69}\x{70}\x{74}\x{20}\x{79}\x{65}\x{73}";$C33G59QP5BT8U3ZZUOA4VYEZIM02RDEBWQUBSOJE2IL9A4PWBRI = 1;}print $C6DHURWA7TDOA5GLFDXUK24WVPP1NH9GCDSPWMCJ4T8G0X9EEXD "$C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S\n";}unless ($C33G59QP5BT8U3ZZUOA4VYEZIM02RDEBWQUBSOJE2IL9A4PWBRI) {print $C6DHURWA7TDOA5GLFDXUK24WVPP1NH9GCDSPWMCJ4T8G0X9EEXD "\x{43}\x{61}\x{6c}\x{6c}\x{55}\x{70}\x{6c}\x{6f}\x{61}\x{64}\x{53}\x{63}\x{72}\x{69}\x{70}\x{74}\x{20}\x{79}\x{65}\x{73}"}close ($C6DHURWA7TDOA5GLFDXUK24WVPP1NH9GCDSPWMCJ4T8G0X9EEXD);if (-e "\x{2f}\x{76}\x{61}\x{72}\x{2f}\x{63}\x{70}\x{61}\x{6e}\x{65}\x{6c}\x{2f}\x{63}\x{6f}\x{6e}\x{66}\x{2f}\x{70}\x{75}\x{72}\x{65}\x{66}\x{74}\x{70}\x{64}\x{2f}\x{6d}\x{61}\x{69}\x{6e}") {sysopen (my $C6DHURWA7TDOA5GLFDXUK24WVPP1NH9GCDSPWMCJ4T8G0X9EEXD,"\x{2f}\x{76}\x{61}\x{72}\x{2f}\x{63}\x{70}\x{61}\x{6e}\x{65}\x{6c}\x{2f}\x{63}\x{6f}\x{6e}\x{66}\x{2f}\x{70}\x{75}\x{72}\x{65}\x{66}\x{74}\x{70}\x{64}\x{2f}\x{6d}\x{61}\x{69}\x{6e}", O_RDWR | O_CREAT);flock ($C6DHURWA7TDOA5GLFDXUK24WVPP1NH9GCDSPWMCJ4T8G0X9EEXD, LOCK_EX);my @CPH54YKPV82GFAFEAV89B8IMH9QM7IZ8RR01U9G5234WZ1NSZSG = <$C6DHURWA7TDOA5GLFDXUK24WVPP1NH9GCDSPWMCJ4T8G0X9EEXD>;chomp @CPH54YKPV82GFAFEAV89B8IMH9QM7IZ8RR01U9G5234WZ1NSZSG;seek ($C6DHURWA7TDOA5GLFDXUK24WVPP1NH9GCDSPWMCJ4T8G0X9EEXD, 0, 0);truncate ($C6DHURWA7TDOA5GLFDXUK24WVPP1NH9GCDSPWMCJ4T8G0X9EEXD, 0);foreach my $C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S (@CPH54YKPV82GFAFEAV89B8IMH9QM7IZ8RR01U9G5234WZ1NSZSG) {if ($C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S =~ /CallUploadScript:/i) {next}print $C6DHURWA7TDOA5GLFDXUK24WVPP1NH9GCDSPWMCJ4T8G0X9EEXD "$C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S\n";}close ($C6DHURWA7TDOA5GLFDXUK24WVPP1NH9GCDSPWMCJ4T8G0X9EEXD);}system ("\x{2f}\x{73}\x{62}\x{69}\x{6e}\x{2f}\x{73}\x{65}\x{72}\x{76}\x{69}\x{63}\x{65}","pure-uploadscript","restart");system ("\x{2f}\x{73}\x{63}\x{72}\x{69}\x{70}\x{74}\x{73}\x{2f}\x{72}\x{65}\x{73}\x{74}\x{61}\x{72}\x{74}\x{73}\x{72}\x{76}\x{5f}\x{70}\x{75}\x{72}\x{65}\x{66}\x{74}\x{70}\x{64}");print "

\n

...Done.

\n";print "
\n";print "

\n";}elsif ($FORM{action} eq "\x{66}\x{74}\x{70}\x{6f}\x{66}\x{66}") {print "\n";print "
";print "

Disabling pure-ftpd integration...

\n

\n";sysopen (my $C6DHURWA7TDOA5GLFDXUK24WVPP1NH9GCDSPWMCJ4T8G0X9EEXD,"/etc/pure-ftpd.conf", O_RDWR | O_CREAT);flock ($C6DHURWA7TDOA5GLFDXUK24WVPP1NH9GCDSPWMCJ4T8G0X9EEXD, LOCK_EX);my @CPH54YKPV82GFAFEAV89B8IMH9QM7IZ8RR01U9G5234WZ1NSZSG = <$C6DHURWA7TDOA5GLFDXUK24WVPP1NH9GCDSPWMCJ4T8G0X9EEXD>;chomp @CPH54YKPV82GFAFEAV89B8IMH9QM7IZ8RR01U9G5234WZ1NSZSG;seek ($C6DHURWA7TDOA5GLFDXUK24WVPP1NH9GCDSPWMCJ4T8G0X9EEXD, 0, 0);truncate ($C6DHURWA7TDOA5GLFDXUK24WVPP1NH9GCDSPWMCJ4T8G0X9EEXD, 0);foreach my $C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S (@CPH54YKPV82GFAFEAV89B8IMH9QM7IZ8RR01U9G5234WZ1NSZSG) {if ($C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S =~ /^\s*calluploadscript/i) {$C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S = "\x{23}\x{43}\x{61}\x{6c}\x{6c}\x{55}\x{70}\x{6c}\x{6f}\x{61}\x{64}\x{53}\x{63}\x{72}\x{69}\x{70}\x{74}\x{20}\x{6e}\x{6f}"}print $C6DHURWA7TDOA5GLFDXUK24WVPP1NH9GCDSPWMCJ4T8G0X9EEXD "$C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S\n";}close ($C6DHURWA7TDOA5GLFDXUK24WVPP1NH9GCDSPWMCJ4T8G0X9EEXD);if (-e "\x{2f}\x{76}\x{61}\x{72}\x{2f}\x{63}\x{70}\x{61}\x{6e}\x{65}\x{6c}\x{2f}\x{63}\x{6f}\x{6e}\x{66}\x{2f}\x{70}\x{75}\x{72}\x{65}\x{66}\x{74}\x{70}\x{64}\x{2f}\x{6d}\x{61}\x{69}\x{6e}") {sysopen (my $C6DHURWA7TDOA5GLFDXUK24WVPP1NH9GCDSPWMCJ4T8G0X9EEXD,"\x{2f}\x{76}\x{61}\x{72}\x{2f}\x{63}\x{70}\x{61}\x{6e}\x{65}\x{6c}\x{2f}\x{63}\x{6f}\x{6e}\x{66}\x{2f}\x{70}\x{75}\x{72}\x{65}\x{66}\x{74}\x{70}\x{64}\x{2f}\x{6d}\x{61}\x{69}\x{6e}", O_RDWR | O_CREAT);flock ($C6DHURWA7TDOA5GLFDXUK24WVPP1NH9GCDSPWMCJ4T8G0X9EEXD, LOCK_EX);my @CPH54YKPV82GFAFEAV89B8IMH9QM7IZ8RR01U9G5234WZ1NSZSG = <$C6DHURWA7TDOA5GLFDXUK24WVPP1NH9GCDSPWMCJ4T8G0X9EEXD>;chomp @CPH54YKPV82GFAFEAV89B8IMH9QM7IZ8RR01U9G5234WZ1NSZSG;seek ($C6DHURWA7TDOA5GLFDXUK24WVPP1NH9GCDSPWMCJ4T8G0X9EEXD, 0, 0);truncate ($C6DHURWA7TDOA5GLFDXUK24WVPP1NH9GCDSPWMCJ4T8G0X9EEXD, 0);foreach my $C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S (@CPH54YKPV82GFAFEAV89B8IMH9QM7IZ8RR01U9G5234WZ1NSZSG) {if ($C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S =~ /CallUploadScript:/i) {next}print $C6DHURWA7TDOA5GLFDXUK24WVPP1NH9GCDSPWMCJ4T8G0X9EEXD "$C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S\n";}close ($C6DHURWA7TDOA5GLFDXUK24WVPP1NH9GCDSPWMCJ4T8G0X9EEXD);}system ("\x{2f}\x{73}\x{62}\x{69}\x{6e}\x{2f}\x{73}\x{65}\x{72}\x{76}\x{69}\x{63}\x{65}","pure-uploadscript","restart");system ("\x{2f}\x{73}\x{63}\x{72}\x{69}\x{70}\x{74}\x{73}\x{2f}\x{72}\x{65}\x{73}\x{74}\x{61}\x{72}\x{74}\x{73}\x{72}\x{76}\x{5f}\x{70}\x{75}\x{72}\x{65}\x{66}\x{74}\x{70}\x{64}");print "

\n

...Done.

\n";print "
\n";print "

\n";}elsif ($FORM{action} eq "\x{66}\x{74}\x{70}\x{72}\x{65}\x{73}\x{74}\x{61}\x{72}\x{74}") {print "\n";print "
";print "

Restarting pure-ftpd...

\n

\n";system ("\x{2f}\x{73}\x{62}\x{69}\x{6e}\x{2f}\x{73}\x{65}\x{72}\x{76}\x{69}\x{63}\x{65}","pure-uploadscript","restart");system ("\x{2f}\x{73}\x{63}\x{72}\x{69}\x{70}\x{74}\x{73}\x{2f}\x{72}\x{65}\x{73}\x{74}\x{61}\x{72}\x{74}\x{73}\x{72}\x{76}\x{5f}\x{70}\x{75}\x{72}\x{65}\x{66}\x{74}\x{70}\x{64}");print "

\n

...Done.

\n";print "
\n";print "

\n";}elsif ($FORM{action} eq "\x{6d}\x{6f}\x{64}\x{73}\x{65}\x{63}\x{6f}\x{6e}") {print "\n";print "
";print "

Enable ModSecurity integration...

\n

\n";system ("\x{2f}\x{73}\x{63}\x{72}\x{69}\x{70}\x{74}\x{73}\x{2f}\x{6d}\x{6f}\x{64}\x{73}\x{65}\x{63}\x{5f}\x{76}\x{65}\x{6e}\x{64}\x{6f}\x{72}","add","https://download.configserver.com/waf/meta_configserver.yaml");system ("\x{2f}\x{73}\x{63}\x{72}\x{69}\x{70}\x{74}\x{73}\x{2f}\x{6d}\x{6f}\x{64}\x{73}\x{65}\x{63}\x{5f}\x{76}\x{65}\x{6e}\x{64}\x{6f}\x{72}","enable","configserver");system ("\x{2f}\x{73}\x{63}\x{72}\x{69}\x{70}\x{74}\x{73}\x{2f}\x{72}\x{65}\x{73}\x{74}\x{61}\x{72}\x{74}\x{73}\x{72}\x{76}\x{5f}\x{68}\x{74}\x{74}\x{70}\x{64}");print "

\n

...Done.

\n";print "
\n";print "

\n";}elsif ($FORM{action} eq "\x{6d}\x{6f}\x{64}\x{73}\x{65}\x{63}\x{6f}\x{66}\x{66}") {print "\n";print "
";print "

Remove ModSecurity integration...

\n

\n";system ("\x{2f}\x{73}\x{63}\x{72}\x{69}\x{70}\x{74}\x{73}\x{2f}\x{6d}\x{6f}\x{64}\x{73}\x{65}\x{63}\x{5f}\x{76}\x{65}\x{6e}\x{64}\x{6f}\x{72}","remove","configserver");system ("\x{2f}\x{73}\x{63}\x{72}\x{69}\x{70}\x{74}\x{73}\x{2f}\x{72}\x{65}\x{73}\x{74}\x{61}\x{72}\x{74}\x{73}\x{72}\x{76}\x{5f}\x{68}\x{74}\x{74}\x{70}\x{64}");print "

\n

...Done.

\n";print "
\n";print "

\n";}elsif ($FORM{action} eq "\x{56}\x{69}\x{65}\x{77}\x{20}\x{53}\x{68}\x{65}\x{6c}\x{6c}\x{20}\x{43}\x{6f}\x{6d}\x{6d}\x{61}\x{6e}\x{64}") {my @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5 = &gencmd;my $C7Q8ZFHH8K6F0LPELVAON3RPEZBZZ65AB6UGLB3KN43SM9PANL7 = join("\x{20}",@CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5);my $CA0ULTET9KPQ01XPK3NA32MVX7J2MFLE48X2EH9AGWAWVQ4LVRX = length($C7Q8ZFHH8K6F0LPELVAON3RPEZBZZ65AB6UGLB3KN43SM9PANL7);print "\n";print "
";print "This is the command to run the scan you configured:
\n";print "

This is the full command including all currently selected settings, options and defaults that the above will run:\n

";&printcmd(@CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5,"--YCMD");print "

\n";print "
\n";print "

\n";}elsif ($FORM{action} eq "\x{52}\x{75}\x{6e}\x{20}\x{53}\x{63}\x{61}\x{6e}") {my @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5 = &gencmd;if ($FORM{background} and $CGBJTAIDPOCL73U7BMI8WY0BQLBN4V092OEQ9JQW160U89HBW90 ne "\x{44}\x{41}") {print "\x{53}\x{63}\x{61}\x{6e}\x{20}\x{72}\x{75}\x{6e}\x{6e}\x{69}\x{6e}\x{67}\x{20}\x{61}\x{73}\x{20}\x{61}\x{20}\x{62}\x{61}\x{63}\x{6b}\x{67}\x{72}\x{6f}\x{75}\x{6e}\x{64}\x{20}\x{70}\x{72}\x{6f}\x{63}\x{65}\x{73}\x{73}";&printcmd(@CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5);} else {print "\n";print "
\n";&printcmd(@CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5,"--web");print "\x{3c}\x{2f}\x{64}\x{69}\x{76}\x{3e}";print "\n";}print "

\n";}elsif ($FORM{action} eq "\x{45}\x{64}\x{69}\x{74}\x{20}\x{46}\x{69}\x{6c}\x{65}" and !$CV2ZIUG3J28L4Y8NZ98EI2KDO18AUNMRKV994WJZV7P7ZXJJVJA) {my $CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7 = $FORM{file};$CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7 = abs_path($CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7);if ($CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7 !~ /^\/etc\/cxs\//) {print "
File [$CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7] is not within /etc/cxs/\n";exit;}open (my $C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8, "\x{3c}", $CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7);flock ($C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8, LOCK_SH);my @C0BRPM3TZC1C5K487X0W5MHNX1OYVXCJ1J9WAG1N5YFE07263L0 = <$C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8>;close ($C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8);chomp @C0BRPM3TZC1C5K487X0W5MHNX1OYVXCJ1J9WAG1N5YFE07263L0;my $CIBHVQ9YGWHQG4TQW72G2PSN19HK2JF628FOH0979DQP8MG8TFD = 80;foreach my $C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S (@C0BRPM3TZC1C5K487X0W5MHNX1OYVXCJ1J9WAG1N5YFE07263L0) {if (length($C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S) > $CIBHVQ9YGWHQG4TQW72G2PSN19HK2JF628FOH0979DQP8MG8TFD) {$CIBHVQ9YGWHQG4TQW72G2PSN19HK2JF628FOH0979DQP8MG8TFD = length($C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S) + 1}}print "
\n";print "\n";print "\n";print "
Edit $FORM{file}\n
\n";print "

\n";print "
\n";print "

\n";}elsif ($FORM{action} eq "\x{53}\x{61}\x{76}\x{65}\x{20}\x{46}\x{69}\x{6c}\x{65}" and !$CV2ZIUG3J28L4Y8NZ98EI2KDO18AUNMRKV994WJZV7P7ZXJJVJA) {my $CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7 = $FORM{file};$CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7 = abs_path($CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7);if ($CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7 !~ /^\/etc\/cxs\//) {print "
File [$CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7] is not within /etc/cxs/\n";exit;}$FORM{formdata} =~ s/\r//g;open (my $C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8, "\x{3e}", $FORM{file});flock ($C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8, LOCK_EX);if ($FORM{formdata} !~ /\n$/) {$FORM{formdata} .= "\n"}print $C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8 $FORM{formdata};close ($C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8);if (($FORM{file} eq "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{69}\x{67}\x{6e}\x{6f}\x{72}\x{65}") or ($FORM{file} eq "/etc/cxs/cxs.defaults") or ($FORM{file} eq "/etc/cxs/cxs.xtra")) {chmod(oct(644),$FORM{file});}print "\n";print "
$FORM{file} saved
";print "

\n";}elsif ($FORM{action} eq "\x{75}\x{70}\x{67}\x{72}\x{61}\x{64}\x{65}") {if ($CGBJTAIDPOCL73U7BMI8WY0BQLBN4V092OEQ9JQW160U89HBW90 eq "\x{44}\x{41}") {print "

Due to restrictions in DirectAdmin you must login to the root shell to upgrade cxs using:\n

cxs -U\n";} else {print "

Upgrading cxs...

\n

\n";eval {local $SIG{__DIE__} = undef;my ($CA7UJQAC01IIYKC4QNFTLNYSHBJEQLMPN9A52G9140G09708P8W, $C2WGDKJ1OKHQK8VK48PB9RARIGI2891ZM8WXUE9HBEJ4UWC5V56);my $CTMW3I2ETU1K4JFPDS584PFXS0WODZX1QSXQL0NAU0XDK0Q8CYV = open3($CA7UJQAC01IIYKC4QNFTLNYSHBJEQLMPN9A52G9140G09708P8W, $C2WGDKJ1OKHQK8VK48PB9RARIGI2891ZM8WXUE9HBEJ4UWC5V56, $C2WGDKJ1OKHQK8VK48PB9RARIGI2891ZM8WXUE9HBEJ4UWC5V56, "\x{2f}\x{75}\x{73}\x{72}\x{2f}\x{73}\x{62}\x{69}\x{6e}\x{2f}\x{63}\x{78}\x{73}","-U");while (<$C2WGDKJ1OKHQK8VK48PB9RARIGI2891ZM8WXUE9HBEJ4UWC5V56>) {print $_;if ($_ =~ /All done/) {die}}};print "

...Done.

\n";my ($CA7UJQAC01IIYKC4QNFTLNYSHBJEQLMPN9A52G9140G09708P8W, $C2WGDKJ1OKHQK8VK48PB9RARIGI2891ZM8WXUE9HBEJ4UWC5V56);my $CTMW3I2ETU1K4JFPDS584PFXS0WODZX1QSXQL0NAU0XDK0Q8CYV = open3($CA7UJQAC01IIYKC4QNFTLNYSHBJEQLMPN9A52G9140G09708P8W, $C2WGDKJ1OKHQK8VK48PB9RARIGI2891ZM8WXUE9HBEJ4UWC5V56, $C2WGDKJ1OKHQK8VK48PB9RARIGI2891ZM8WXUE9HBEJ4UWC5V56, "\x{2f}\x{75}\x{73}\x{72}\x{2f}\x{73}\x{62}\x{69}\x{6e}\x{2f}\x{63}\x{78}\x{73}","--version");my @CLIHMZ2Q4Z8JZSJ4EFK5OTGSUB2NRMIGJXA7DS1B5L6IHSRF6GT = <$C2WGDKJ1OKHQK8VK48PB9RARIGI2891ZM8WXUE9HBEJ4UWC5V56>;waitpid ($CTMW3I2ETU1K4JFPDS584PFXS0WODZX1QSXQL0NAU0XDK0Q8CYV, 0);chomp @CLIHMZ2Q4Z8JZSJ4EFK5OTGSUB2NRMIGJXA7DS1B5L6IHSRF6GT;if ($CLIHMZ2Q4Z8JZSJ4EFK5OTGSUB2NRMIGJXA7DS1B5L6IHSRF6GT[0] =~ /v(.*)$/) {$myv = $1}}print "

\n";}elsif ($FORM{action} eq "\x{51}\x{75}\x{61}\x{72}\x{61}\x{6e}\x{74}\x{69}\x{6e}\x{65}") {my %CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO;if (-e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{64}\x{65}\x{66}\x{61}\x{75}\x{6c}\x{74}\x{73}") {open (my $C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8, "\x{3c}", "/etc/cxs/cxs.defaults");flock ($C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8, LOCK_SH);my @CLIHMZ2Q4Z8JZSJ4EFK5OTGSUB2NRMIGJXA7DS1B5L6IHSRF6GT = <$C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8>;close ($C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8);chomp @CLIHMZ2Q4Z8JZSJ4EFK5OTGSUB2NRMIGJXA7DS1B5L6IHSRF6GT;foreach my $C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S (@CLIHMZ2Q4Z8JZSJ4EFK5OTGSUB2NRMIGJXA7DS1B5L6IHSRF6GT) {if ($C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S =~ /^\#/) {next}if ($C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S !~ /=/) {next}my ($CSVPG40U4UM36P91SZKVH1EWF8J80QGVUTQIIDUEG0PQRX4IU99,$CNND3F3N13ERDQ3DO402X66KS47UH9SJ9JVJGG67XQO5HLVAXYU) = split(/\=/,$C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S);$CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{$CSVPG40U4UM36P91SZKVH1EWF8J80QGVUTQIIDUEG0PQRX4IU99} = $CNND3F3N13ERDQ3DO402X66KS47UH9SJ9JVJGG67XQO5HLVAXYU;}}if (-e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{63}\x{67}\x{69}\x{2e}\x{73}\x{68}") {open (my $C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8, "\x{3c}", "/etc/cxs/cxscgi.sh");flock ($C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8, LOCK_SH);my @CLIHMZ2Q4Z8JZSJ4EFK5OTGSUB2NRMIGJXA7DS1B5L6IHSRF6GT = <$C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8>;close ($C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8);chomp @CLIHMZ2Q4Z8JZSJ4EFK5OTGSUB2NRMIGJXA7DS1B5L6IHSRF6GT;foreach my $C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S (@CLIHMZ2Q4Z8JZSJ4EFK5OTGSUB2NRMIGJXA7DS1B5L6IHSRF6GT) {if ($C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S =~ /^\#/) {next}if ($C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S =~ /((-Q\s+)|(--qua\S*\s+))(\S+)/) {$CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{quarantine} = $4;}}}if (-e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{66}\x{74}\x{70}\x{2e}\x{73}\x{68}") {open (my $C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8, "\x{3c}", "/etc/cxs/cxsftp.sh");flock ($C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8, LOCK_SH);my @CLIHMZ2Q4Z8JZSJ4EFK5OTGSUB2NRMIGJXA7DS1B5L6IHSRF6GT = <$C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8>;close ($C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8);chomp @CLIHMZ2Q4Z8JZSJ4EFK5OTGSUB2NRMIGJXA7DS1B5L6IHSRF6GT;foreach my $C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S (@CLIHMZ2Q4Z8JZSJ4EFK5OTGSUB2NRMIGJXA7DS1B5L6IHSRF6GT) {if ($C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S =~ /^\#/) {next}if ($C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S =~ /((-Q\s+)|(--qua\S*\s+))(\S+)/) {$CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{quarantine} = $4;$CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{quarantine} =~ s/\s*$//;}}}if (-e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{77}\x{61}\x{74}\x{63}\x{68}\x{2e}\x{73}\x{68}") {open (my $C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8, "\x{3c}", "/etc/cxs/cxswatch.sh");flock ($C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8, LOCK_SH);my @CLIHMZ2Q4Z8JZSJ4EFK5OTGSUB2NRMIGJXA7DS1B5L6IHSRF6GT = <$C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8>;close ($C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8);chomp @CLIHMZ2Q4Z8JZSJ4EFK5OTGSUB2NRMIGJXA7DS1B5L6IHSRF6GT;foreach my $C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S (@CLIHMZ2Q4Z8JZSJ4EFK5OTGSUB2NRMIGJXA7DS1B5L6IHSRF6GT) {if ($C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S =~ /^\#/) {next}if ($C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S =~ /((-Q\s+)|(--qua\S*\s+))(\S+)/) {$CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{quarantine} = $4;$CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{quarantine} =~ s/\s*$//;}}}if ($CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{quarantine}) {$CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{quarantine} =~ s/\/$//}print "
\n";print "\n";print "\n";print "\n";print "
Explore Quarantine Files
Quarantine directory: Enter the directory used to store cxs quarantine files if you have created one
\n";print "

\n";}elsif ($FORM{action} eq "\x{56}\x{69}\x{65}\x{77}\x{20}\x{51}\x{75}\x{61}\x{72}\x{61}\x{6e}\x{74}\x{69}\x{6e}\x{65}") {my $C6HOCIIKLGKSQDGP6QRVPF8NL2CJW4KOFGPA8NUXY94M87FXIOX;print "
\n";print "\n";print "\n";opendir (DIR, $FORM{qdir});my @CN2L852UJKM0P3JSYFSHKBTQA89IDG57SBRWHV3X3ORDVBCX354 = readdir (DIR);close (DIR);chomp @CN2L852UJKM0P3JSYFSHKBTQA89IDG57SBRWHV3X3ORDVBCX354;foreach my $C97H2FS7PI94PQAH71JTUX3PSEAKL201DOKPTKYYX03J7GAJCLR (@CN2L852UJKM0P3JSYFSHKBTQA89IDG57SBRWHV3X3ORDVBCX354) {if ($C97H2FS7PI94PQAH71JTUX3PSEAKL201DOKPTKYYX03J7GAJCLR =~ /^(\.|\.\.)$/) {next}if ($C97H2FS7PI94PQAH71JTUX3PSEAKL201DOKPTKYYX03J7GAJCLR eq 'cxscgi') {opendir (DIR, $FORM{qdir}.'/cxscgi');my @CNIFZSR07IUKPHINWM1NJVXCLZ0GJ88WQNJWWFZ0Y2SP05NRNBU = readdir (DIR);close (DIR);chomp @CNIFZSR07IUKPHINWM1NJVXCLZ0GJ88WQNJWWFZ0Y2SP05NRNBU;@CNIFZSR07IUKPHINWM1NJVXCLZ0GJ88WQNJWWFZ0Y2SP05NRNBU = sort @CNIFZSR07IUKPHINWM1NJVXCLZ0GJ88WQNJWWFZ0Y2SP05NRNBU;foreach my $C97H2FS7PI94PQAH71JTUX3PSEAKL201DOKPTKYYX03J7GAJCLR (@CNIFZSR07IUKPHINWM1NJVXCLZ0GJ88WQNJWWFZ0Y2SP05NRNBU) {if ($C97H2FS7PI94PQAH71JTUX3PSEAKL201DOKPTKYYX03J7GAJCLR =~ /^(\.|\.\.)$/) {next}if ($C97H2FS7PI94PQAH71JTUX3PSEAKL201DOKPTKYYX03J7GAJCLR =~ /\.restore4$/) {next}$CCTWH4V0MIWQONLKFCXLRIFO1JV26RSBJHRM0ZKW6OU5LUBKX27++;}if ($CCTWH4V0MIWQONLKFCXLRIFO1JV26RSBJHRM0ZKW6OU5LUBKX27 > 0) {$C6HOCIIKLGKSQDGP6QRVPF8NL2CJW4KOFGPA8NUXY94M87FXIOX = "\n\n".$C6HOCIIKLGKSQDGP6QRVPF8NL2CJW4KOFGPA8NUXY94M87FXIOX}} elsif ($C97H2FS7PI94PQAH71JTUX3PSEAKL201DOKPTKYYX03J7GAJCLR eq 'cxsuser') {opendir (DIR, $FORM{qdir}.'/cxsuser');my @C2DFZEGLXLJOQ8HBKRDLWV7UHTNTRUT4X2WGWZ60Z6M2ZWOR258 = readdir (DIR);close (DIR);chomp @C2DFZEGLXLJOQ8HBKRDLWV7UHTNTRUT4X2WGWZ60Z6M2ZWOR258;@C2DFZEGLXLJOQ8HBKRDLWV7UHTNTRUT4X2WGWZ60Z6M2ZWOR258 = sort @C2DFZEGLXLJOQ8HBKRDLWV7UHTNTRUT4X2WGWZ60Z6M2ZWOR258;foreach my $C5AWVXB3CAG9D2EY8251FAN80U4843K7KHZNEW2OLMKUR5Q6AZV (@C2DFZEGLXLJOQ8HBKRDLWV7UHTNTRUT4X2WGWZ60Z6M2ZWOR258) {if ($C5AWVXB3CAG9D2EY8251FAN80U4843K7KHZNEW2OLMKUR5Q6AZV =~ /^(\.|\.\.)$/) {next}opendir (DIR, $FORM{qdir}.'/cxsuser/'.$C5AWVXB3CAG9D2EY8251FAN80U4843K7KHZNEW2OLMKUR5Q6AZV);my @C9NGVATEOUVKLQPHWT4MYNU896SXSIXJ6JIYNK5YE0XE3EG7TGO = readdir (DIR);close (DIR);chomp @C9NGVATEOUVKLQPHWT4MYNU896SXSIXJ6JIYNK5YE0XE3EG7TGO;my $CCTWH4V0MIWQONLKFCXLRIFO1JV26RSBJHRM0ZKW6OU5LUBKX27;foreach my $C5AWVXB3CAG9D2EY8251FAN80U4843K7KHZNEW2OLMKUR5Q6AZV (@C9NGVATEOUVKLQPHWT4MYNU896SXSIXJ6JIYNK5YE0XE3EG7TGO) {if ($C5AWVXB3CAG9D2EY8251FAN80U4843K7KHZNEW2OLMKUR5Q6AZV =~ /^(\.|\.\.)$/) {next}if ($C5AWVXB3CAG9D2EY8251FAN80U4843K7KHZNEW2OLMKUR5Q6AZV =~ /\.restore4$/) {next}$CCTWH4V0MIWQONLKFCXLRIFO1JV26RSBJHRM0ZKW6OU5LUBKX27++;}if ($CCTWH4V0MIWQONLKFCXLRIFO1JV26RSBJHRM0ZKW6OU5LUBKX27 > 0) {$C6HOCIIKLGKSQDGP6QRVPF8NL2CJW4KOFGPA8NUXY94M87FXIOX .= "\n"}}}}print "\n";print "
Explore Quarantine Users
    
\n";print "

\n";print "

\n";}elsif (($FORM{action} eq "\x{56}\x{69}\x{65}\x{77}\x{20}\x{51}\x{75}\x{61}\x{72}\x{61}\x{6e}\x{74}\x{69}\x{6e}\x{65}\x{20}\x{55}\x{73}\x{65}\x{72}") or ($FORM{action} eq "delq") or ($FORM{action} eq "block") or ($FORM{action} eq "ignq") or ($FORM{action} eq "ignmd5q") or ($FORM{action} eq "restq") or ($FORM{action} eq "Delete") or ($FORM{action} eq "Restore")) {if ($FORM{quser} =~ /[^\w\:]/) {print "Invalid user account [$FORM{quser}]\n";exit;}if ($FORM{item} ne "" and abs_path($FORM{item}) !~ /^$FORM{qdir}/) {print "File [$FORM{item}] is not within the cxs Qarantine directory [$FORM{qdir}]\n";exit;}if ($FORM{qdir} eq "") {print "Quarantine directory missing\n";exit;}print "\n";print "
\n";print "\n";print "\n";print "\n";my ($CL0VAVBM9DPEARAAIZLXDF4NRPHCO9Q1S61AZDCNK6NNZ4LK0CS,$C5PZLA8UK7622W3UAD623I7LQZDKVBVQZ3OFG5GWYQPEAYL42A1) = split (/\:/,$FORM{quser});my $C25PGNTX2P4TD566DG38WPDY52I3MD51D2U0S0E4LZO7166KJZM = "\x{53}\x{63}\x{61}\x{6e}\x{20}\x{55}\x{73}\x{65}\x{72}";if ($CL0VAVBM9DPEARAAIZLXDF4NRPHCO9Q1S61AZDCNK6NNZ4LK0CS eq 'cxscgi') {$C25PGNTX2P4TD566DG38WPDY52I3MD51D2U0S0E4LZO7166KJZM = "\x{4d}\x{6f}\x{64}\x{53}\x{65}\x{63}\x{75}\x{72}\x{69}\x{74}\x{79}"}if ($CL0VAVBM9DPEARAAIZLXDF4NRPHCO9Q1S61AZDCNK6NNZ4LK0CS eq 'cxsuser') {$C25PGNTX2P4TD566DG38WPDY52I3MD51D2U0S0E4LZO7166KJZM = "\x{55}\x{73}\x{65}\x{72}"}print "\n";my $CHLFV8MKKGWXC5G6Z30ISPVMRMJNFJK7OES8PHLDL93Y7GTB64V = $FORM{qdir}.'/'.$C5PZLA8UK7622W3UAD623I7LQZDKVBVQZ3OFG5GWYQPEAYL42A1;if ($CL0VAVBM9DPEARAAIZLXDF4NRPHCO9Q1S61AZDCNK6NNZ4LK0CS eq 'cxscgi') {$CHLFV8MKKGWXC5G6Z30ISPVMRMJNFJK7OES8PHLDL93Y7GTB64V = $FORM{qdir}.'/cxscgi'}if ($CL0VAVBM9DPEARAAIZLXDF4NRPHCO9Q1S61AZDCNK6NNZ4LK0CS eq 'cxsuser') {$CHLFV8MKKGWXC5G6Z30ISPVMRMJNFJK7OES8PHLDL93Y7GTB64V = $FORM{qdir}.'/cxsuser/'.$C5PZLA8UK7622W3UAD623I7LQZDKVBVQZ3OFG5GWYQPEAYL42A1}my %CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO;if (-e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{64}\x{65}\x{66}\x{61}\x{75}\x{6c}\x{74}\x{73}") {open (my $C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8, "\x{3c}", "/etc/cxs/cxs.defaults");flock ($C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8, LOCK_SH);my @CLIHMZ2Q4Z8JZSJ4EFK5OTGSUB2NRMIGJXA7DS1B5L6IHSRF6GT = <$C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8>;close ($C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8);chomp @CLIHMZ2Q4Z8JZSJ4EFK5OTGSUB2NRMIGJXA7DS1B5L6IHSRF6GT;foreach my $C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S (@CLIHMZ2Q4Z8JZSJ4EFK5OTGSUB2NRMIGJXA7DS1B5L6IHSRF6GT) {if ($C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S =~ /^\#/) {next}if ($C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S !~ /=/) {next}my ($CSVPG40U4UM36P91SZKVH1EWF8J80QGVUTQIIDUEG0PQRX4IU99,$CNND3F3N13ERDQ3DO402X66KS47UH9SJ9JVJGG67XQO5HLVAXYU) = split(/\=/,$C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S);$CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{$CSVPG40U4UM36P91SZKVH1EWF8J80QGVUTQIIDUEG0PQRX4IU99} = $CNND3F3N13ERDQ3DO402X66KS47UH9SJ9JVJGG67XQO5HLVAXYU;}}if (($CL0VAVBM9DPEARAAIZLXDF4NRPHCO9Q1S61AZDCNK6NNZ4LK0CS eq 'ftp') and -e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{66}\x{74}\x{70}\x{2e}\x{73}\x{68}") {open (my $C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8, "\x{3c}", "/etc/cxs/cxsftp.sh");flock ($C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8, LOCK_SH);my @CLIHMZ2Q4Z8JZSJ4EFK5OTGSUB2NRMIGJXA7DS1B5L6IHSRF6GT = <$C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8>;close ($C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8);chomp @CLIHMZ2Q4Z8JZSJ4EFK5OTGSUB2NRMIGJXA7DS1B5L6IHSRF6GT;foreach my $C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S (@CLIHMZ2Q4Z8JZSJ4EFK5OTGSUB2NRMIGJXA7DS1B5L6IHSRF6GT) {if ($C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S =~ /^\#/) {next}if ($C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S =~ /((-I\s+)|(--ign\S*\s+))(\S+)/) {$CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{ignore} = $4;}}}if (-d $CHLFV8MKKGWXC5G6Z30ISPVMRMJNFJK7OES8PHLDL93Y7GTB64V) {opendir (DIR, $CHLFV8MKKGWXC5G6Z30ISPVMRMJNFJK7OES8PHLDL93Y7GTB64V);my @CN2L852UJKM0P3JSYFSHKBTQA89IDG57SBRWHV3X3ORDVBCX354 = readdir (DIR);close (DIR);chomp @CN2L852UJKM0P3JSYFSHKBTQA89IDG57SBRWHV3X3ORDVBCX354;@CN2L852UJKM0P3JSYFSHKBTQA89IDG57SBRWHV3X3ORDVBCX354 = map { $_->[1] } sort { $a->[0] <=> $b->[0] } map { /\.(\d+)(_\d+)?\.restore4$/; [$1, $_] } @CN2L852UJKM0P3JSYFSHKBTQA89IDG57SBRWHV3X3ORDVBCX354;@CN2L852UJKM0P3JSYFSHKBTQA89IDG57SBRWHV3X3ORDVBCX354 = reverse @CN2L852UJKM0P3JSYFSHKBTQA89IDG57SBRWHV3X3ORDVBCX354;my $C2K7V28PRJDXPQ4H8J5DRRMRF9RE8BCFY470I5M9J4M4HKLJRBU = 1;foreach my $CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7 (@CN2L852UJKM0P3JSYFSHKBTQA89IDG57SBRWHV3X3ORDVBCX354) {my $C560706ZP8EP2H51LNEWIPQI4H34QN3NG1KEELVAKFC6UVUJUCM = "$CHLFV8MKKGWXC5G6Z30ISPVMRMJNFJK7OES8PHLDL93Y7GTB64V/$CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7";my $CWPBGPP6WODXZ0K3YM6YN0S4VSWT1N88CL70NAK7RGLH6AXZ9VG = "$CHLFV8MKKGWXC5G6Z30ISPVMRMJNFJK7OES8PHLDL93Y7GTB64V/$CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7";$CWPBGPP6WODXZ0K3YM6YN0S4VSWT1N88CL70NAK7RGLH6AXZ9VG =~ s/\.restore4$//;if ($CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7 =~ /\.restore4$/) {my $CKEFXTRKVOUFY5DGSVPXDS5GE8ASO2BERIFN1JG8DQA4M8FZTEG = do { local( @ARGV, $/ ) = $CWPBGPP6WODXZ0K3YM6YN0S4VSWT1N88CL70NAK7RGLH6AXZ9VG ; <> };my $CB5FDJRJKFAHB8FKXND8C6JCSO0B19T6XPNYZ17963W17PNKC3B = Digest::MD5->new;$CB5FDJRJKFAHB8FKXND8C6JCSO0B19T6XPNYZ17963W17PNKC3B->add($CKEFXTRKVOUFY5DGSVPXDS5GE8ASO2BERIFN1JG8DQA4M8FZTEG);my $CD6D9JSW5ZSGA9RVE9MQ8PD4QAZX5VMWN5FTCU9Q09CU9O4YWVP = $CB5FDJRJKFAHB8FKXND8C6JCSO0B19T6XPNYZ17963W17PNKC3B->hexdigest;my %CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM;open (my $CQGWE7H95R4TLCEXIVN6Q2HAPGKGTXO9HLO39R5A6BK920C6287, "\x{3c}", $C560706ZP8EP2H51LNEWIPQI4H34QN3NG1KEELVAKFC6UVUJUCM);flock ($CQGWE7H95R4TLCEXIVN6Q2HAPGKGTXO9HLO39R5A6BK920C6287, LOCK_SH);while (my $C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S = <$CQGWE7H95R4TLCEXIVN6Q2HAPGKGTXO9HLO39R5A6BK920C6287>) {chomp $C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S;my ($CAOLQRMZLWUTUYDRLLH0NXZ1JXHPE4A4UAES4L3747J458WZCVI,$CNND3F3N13ERDQ3DO402X66KS47UH9SJ9JVJGG67XQO5HLVAXYU) = split (/=/,$C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S,2);$CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{$CAOLQRMZLWUTUYDRLLH0NXZ1JXHPE4A4UAES4L3747J458WZCVI} = $CNND3F3N13ERDQ3DO402X66KS47UH9SJ9JVJGG67XQO5HLVAXYU;}close ($CQGWE7H95R4TLCEXIVN6Q2HAPGKGTXO9HLO39R5A6BK920C6287);if (($FORM{action} eq "\x{44}\x{65}\x{6c}\x{65}\x{74}\x{65}") and ($FORM{"check$C2K7V28PRJDXPQ4H8J5DRRMRF9RE8BCFY470I5M9J4M4HKLJRBU"})) {if (-e "$CHLFV8MKKGWXC5G6Z30ISPVMRMJNFJK7OES8PHLDL93Y7GTB64V/$CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7") {unlink "$CHLFV8MKKGWXC5G6Z30ISPVMRMJNFJK7OES8PHLDL93Y7GTB64V/$CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7";if (-e $CWPBGPP6WODXZ0K3YM6YN0S4VSWT1N88CL70NAK7RGLH6AXZ9VG) {unlink $CWPBGPP6WODXZ0K3YM6YN0S4VSWT1N88CL70NAK7RGLH6AXZ9VG}}print "\n";}elsif (($FORM{action} eq "\x{52}\x{65}\x{73}\x{74}\x{6f}\x{72}\x{65}") and ($FORM{"check$C2K7V28PRJDXPQ4H8J5DRRMRF9RE8BCFY470I5M9J4M4HKLJRBU"})) {my $CPTIBTU9IMYXUYDUT6XYWYKCQDBH0J5GG6QAGZP1A0GANOBXP8C;print "\n";}elsif (($FORM{action} eq "\x{64}\x{65}\x{6c}\x{71}") and ("$CHLFV8MKKGWXC5G6Z30ISPVMRMJNFJK7OES8PHLDL93Y7GTB64V/$CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7" eq "$FORM{item}.restore4")) {unlink $C560706ZP8EP2H51LNEWIPQI4H34QN3NG1KEELVAKFC6UVUJUCM;if (-e $CWPBGPP6WODXZ0K3YM6YN0S4VSWT1N88CL70NAK7RGLH6AXZ9VG) {unlink $CWPBGPP6WODXZ0K3YM6YN0S4VSWT1N88CL70NAK7RGLH6AXZ9VG}print "\n";}elsif (($FORM{action} eq "\x{69}\x{67}\x{6e}\x{71}") and ("$CHLFV8MKKGWXC5G6Z30ISPVMRMJNFJK7OES8PHLDL93Y7GTB64V/$CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7" eq "$FORM{item}.restore4") and (-f $CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{ignore})) {open (my $CEOEIPWKR5ZWYBTOIEMARY1YWCZBO1BMKYHLB9M7YK8TUAJSN6T, "\x{3e}\x{3e}", $CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{ignore});flock ($CEOEIPWKR5ZWYBTOIEMARY1YWCZBO1BMKYHLB9M7YK8TUAJSN6T, LOCK_EX);print $CEOEIPWKR5ZWYBTOIEMARY1YWCZBO1BMKYHLB9M7YK8TUAJSN6T "file:$CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{actfile}\n";close ($CEOEIPWKR5ZWYBTOIEMARY1YWCZBO1BMKYHLB9M7YK8TUAJSN6T);$CPTIBTU9IMYXUYDUT6XYWYKCQDBH0J5GG6QAGZP1A0GANOBXP8C = "Ignored in $CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{ignore}";print "\n";}elsif (($FORM{action} eq "\x{69}\x{67}\x{6e}\x{6d}\x{64}\x{35}\x{71}") and ($C560706ZP8EP2H51LNEWIPQI4H34QN3NG1KEELVAKFC6UVUJUCM eq "$FORM{item}.restore4") and (-f $CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{ignore})) {open (my $CEOEIPWKR5ZWYBTOIEMARY1YWCZBO1BMKYHLB9M7YK8TUAJSN6T, "\x{3e}\x{3e}", $CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{ignore});flock ($CEOEIPWKR5ZWYBTOIEMARY1YWCZBO1BMKYHLB9M7YK8TUAJSN6T, LOCK_EX);print $CEOEIPWKR5ZWYBTOIEMARY1YWCZBO1BMKYHLB9M7YK8TUAJSN6T "md5sum:$FORM{md5}\n";close ($CEOEIPWKR5ZWYBTOIEMARY1YWCZBO1BMKYHLB9M7YK8TUAJSN6T);$CPTIBTU9IMYXUYDUT6XYWYKCQDBH0J5GG6QAGZP1A0GANOBXP8C = "Ignored in $FORM{md5} $CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{ignore}";print "\n";}elsif (($FORM{action} eq "\x{62}\x{6c}\x{6f}\x{63}\x{6b}") and ($C560706ZP8EP2H51LNEWIPQI4H34QN3NG1KEELVAKFC6UVUJUCM eq "$FORM{item}.restore4")) {my ($CA7UJQAC01IIYKC4QNFTLNYSHBJEQLMPN9A52G9140G09708P8W, $C2WGDKJ1OKHQK8VK48PB9RARIGI2891ZM8WXUE9HBEJ4UWC5V56);my $CTMW3I2ETU1K4JFPDS584PFXS0WODZX1QSXQL0NAU0XDK0Q8CYV = open3($CA7UJQAC01IIYKC4QNFTLNYSHBJEQLMPN9A52G9140G09708P8W, $C2WGDKJ1OKHQK8VK48PB9RARIGI2891ZM8WXUE9HBEJ4UWC5V56, $C2WGDKJ1OKHQK8VK48PB9RARIGI2891ZM8WXUE9HBEJ4UWC5V56, "\x{2f}\x{75}\x{73}\x{72}\x{2f}\x{73}\x{62}\x{69}\x{6e}\x{2f}\x{63}\x{73}\x{66}","-d",$FORM{ip},"cxs: Blocked via Quarantine UI");@CGN952UER3KRK0TBQDZOI7HXHMGSXSM06FWZ6TDFGFTJCTTCC7A = <$C2WGDKJ1OKHQK8VK48PB9RARIGI2891ZM8WXUE9HBEJ4UWC5V56>;waitpid ($CTMW3I2ETU1K4JFPDS584PFXS0WODZX1QSXQL0NAU0XDK0Q8CYV, 0);chomp @CGN952UER3KRK0TBQDZOI7HXHMGSXSM06FWZ6TDFGFTJCTTCC7A;$CPTIBTU9IMYXUYDUT6XYWYKCQDBH0J5GG6QAGZP1A0GANOBXP8C = "Blocked $FORM{ip} in csf:\n
";foreach my $C8Y9AGVGWEMKW4ASF0WR2KN4CXFO7LX7Z3ECOBJE4CS1CKA0SR9 (@CGN952UER3KRK0TBQDZOI7HXHMGSXSM06FWZ6TDFGFTJCTTCC7A) {$CPTIBTU9IMYXUYDUT6XYWYKCQDBH0J5GG6QAGZP1A0GANOBXP8C .= "$C8Y9AGVGWEMKW4ASF0WR2KN4CXFO7LX7Z3ECOBJE4CS1CKA0SR9\n"}$CPTIBTU9IMYXUYDUT6XYWYKCQDBH0J5GG6QAGZP1A0GANOBXP8C .= "
\n";print "\n";}elsif (($FORM{action} eq "\x{72}\x{65}\x{73}\x{74}\x{71}") and ($C560706ZP8EP2H51LNEWIPQI4H34QN3NG1KEELVAKFC6UVUJUCM eq "$FORM{item}.restore4")) {print "\n";}else {$CHHLWOJSQH4VG5D5HQZOI17LJ4LZIA905OCBLS9D99HVV0E0H74 = localtime($CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{time});my $CNTDJSTFC69PKYYZG2B9AYCA7BF5C05QI70Q61X6OXKUZLKDJAZ = getpwuid($CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{quid});my $st_size = (stat($CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{qfile}))[7];if ($CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{stype} eq 'ftp') {print "\n";print "\n";print "\n";print "\n";if ($CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{qatime}) {print "\n"}if ($CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{qctime}) {print "\n"}if ($CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{qmtime}) {print "\n"}print "\n";if ($CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{qgroup}) {print "\n"}print "\n";print "\n";print "\n";print "\n";print "\n";} elsif ($CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{stype} eq 'mscan' or $CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{stype} eq 'wscan' or $CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{stype} eq 'monitor') {print "\n";print "\n";print "\n";print "\n";if ($CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{qatime}) {print "\n"}if ($CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{qctime}) {print "\n"}if ($CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{qmtime}) {print "\n"}print "\n";if ($CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{qgroup}) {print "\n"}print "\n";print "\n";print "\n";} else {print "\n";print "\n";print "\n";if ($CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{qatime}) {print "\n"}if ($CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{qctime}) {print "\n"}if ($CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{qmtime}) {print "\n"}print "\n";print "\n";print "\n";print "\n";print "\n";print "\n";print "\n";print "\n";}}$C2K7V28PRJDXPQ4H8J5DRRMRF9RE8BCFY470I5M9J4M4HKLJRBU++;}}}print "\n";print "
Explore Quarantine Files for $C25PGNTX2P4TD566DG38WPDY52I3MD51D2U0S0E4LZO7166KJZM $C5PZLA8UK7622W3UAD623I7LQZDKVBVQZ3OFG5GWYQPEAYL42A1";if ($FORM{action} eq "\x{44}\x{65}\x{6c}\x{65}\x{74}\x{65}") {print " "} else {print ""}print "
Quarantine file:$CWPBGPP6WODXZ0K3YM6YN0S4VSWT1N88CL70NAK7RGLH6AXZ9VG - Deleted 
Quarantine file:\n";my ($CA7UJQAC01IIYKC4QNFTLNYSHBJEQLMPN9A52G9140G09708P8W, $C2WGDKJ1OKHQK8VK48PB9RARIGI2891ZM8WXUE9HBEJ4UWC5V56);my $CTMW3I2ETU1K4JFPDS584PFXS0WODZX1QSXQL0NAU0XDK0Q8CYV = open3($CA7UJQAC01IIYKC4QNFTLNYSHBJEQLMPN9A52G9140G09708P8W, $C2WGDKJ1OKHQK8VK48PB9RARIGI2891ZM8WXUE9HBEJ4UWC5V56, $C2WGDKJ1OKHQK8VK48PB9RARIGI2891ZM8WXUE9HBEJ4UWC5V56, "\x{2f}\x{75}\x{73}\x{72}\x{2f}\x{73}\x{62}\x{69}\x{6e}\x{2f}\x{63}\x{78}\x{73}","--qrestore",$CWPBGPP6WODXZ0K3YM6YN0S4VSWT1N88CL70NAK7RGLH6AXZ9VG);my @CQ09FMEK8AXTDASD1QHJ1IAT9KQ6ICGCIYESPPVIYHDJJS1F3QG = <$C2WGDKJ1OKHQK8VK48PB9RARIGI2891ZM8WXUE9HBEJ4UWC5V56>;waitpid ($CTMW3I2ETU1K4JFPDS584PFXS0WODZX1QSXQL0NAU0XDK0Q8CYV, 0);chomp @CQ09FMEK8AXTDASD1QHJ1IAT9KQ6ICGCIYESPPVIYHDJJS1F3QG;foreach my $C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S (@CQ09FMEK8AXTDASD1QHJ1IAT9KQ6ICGCIYESPPVIYHDJJS1F3QG) {print "$C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S
\n"}print "
 
Quarantine file:$FORM{item} - Deleted 
Quarantine file:$FORM{item} - $CPTIBTU9IMYXUYDUT6XYWYKCQDBH0J5GG6QAGZP1A0GANOBXP8C";print "
Quarantine file:$FORM{item} - $CPTIBTU9IMYXUYDUT6XYWYKCQDBH0J5GG6QAGZP1A0GANOBXP8C";print "
Quarantine file:$FORM{item} - $CPTIBTU9IMYXUYDUT6XYWYKCQDBH0J5GG6QAGZP1A0GANOBXP8C";print "
Quarantine file:\n";my ($CA7UJQAC01IIYKC4QNFTLNYSHBJEQLMPN9A52G9140G09708P8W, $C2WGDKJ1OKHQK8VK48PB9RARIGI2891ZM8WXUE9HBEJ4UWC5V56);my $CTMW3I2ETU1K4JFPDS584PFXS0WODZX1QSXQL0NAU0XDK0Q8CYV = open3($CA7UJQAC01IIYKC4QNFTLNYSHBJEQLMPN9A52G9140G09708P8W, $C2WGDKJ1OKHQK8VK48PB9RARIGI2891ZM8WXUE9HBEJ4UWC5V56, $C2WGDKJ1OKHQK8VK48PB9RARIGI2891ZM8WXUE9HBEJ4UWC5V56, "\x{2f}\x{75}\x{73}\x{72}\x{2f}\x{73}\x{62}\x{69}\x{6e}\x{2f}\x{63}\x{78}\x{73}","--qrestore",$CWPBGPP6WODXZ0K3YM6YN0S4VSWT1N88CL70NAK7RGLH6AXZ9VG);my @CQ09FMEK8AXTDASD1QHJ1IAT9KQ6ICGCIYESPPVIYHDJJS1F3QG = <$C2WGDKJ1OKHQK8VK48PB9RARIGI2891ZM8WXUE9HBEJ4UWC5V56>;waitpid ($CTMW3I2ETU1K4JFPDS584PFXS0WODZX1QSXQL0NAU0XDK0Q8CYV, 0);chomp @CQ09FMEK8AXTDASD1QHJ1IAT9KQ6ICGCIYESPPVIYHDJJS1F3QG;foreach my $C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S (@CQ09FMEK8AXTDASD1QHJ1IAT9KQ6ICGCIYESPPVIYHDJJS1F3QG) {print "$C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S
\n"}print "
 
Quarantine date:$CHHLWOJSQH4VG5D5HQZOI17LJ4LZIA905OCBLS9D99HVV0E0H74";print "View ";if (-f $CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{ignore}) {print "Ignore "}if (-f $CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{ignore}) {print "Ignore MD5 "}if ($CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{uploadip} =~ /(\d+\.\d+\.\d+\.\d+)/) {print "Block IP "}print "Restore Delete ";if ($FORM{action} eq "\x{44}\x{65}\x{6c}\x{65}\x{74}\x{65}") {print " "} else {print ""}print "
Quarantine file:$CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{qfile} 
Quarantine file size:$st_size bytes 
Original file:$CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{actfile} 
Original file atime:".localtime($CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{qatime})." 
Original file ctime:".localtime($CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{qctime})." 
Original file mtime:".localtime($CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{qmtime})." 
File owner:$CNTDJSTFC69PKYYZG2B9AYCA7BF5C05QI70Q61X6OXKUZLKDJAZ 
File group:$CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{qgroup} 
FTP Account:$CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{uploadvuser} 
FTP IP address:$CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{uploadip} 
Scan Type:FTP Scan 
md5sum:$CD6D9JSW5ZSGA9RVE9MQ8PD4QAZX5VMWN5FTCU9Q09CU9O4YWVP 
Reason:";my @CGVY6L71U1QIVGF62Z7BFZPO7HRN18NMF8TLGJDX4MU28BYUZ17 = split(/\n/,decode_base64($CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{message}));foreach my $C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S (@CGVY6L71U1QIVGF62Z7BFZPO7HRN18NMF8TLGJDX4MU28BYUZ17) {if ($C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S =~ /^\#/) {$C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S =~ s/^\# //;$C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S =~ s/:$//;print "$C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S
\n";}}print "
 
Quarantine date:$CHHLWOJSQH4VG5D5HQZOI17LJ4LZIA905OCBLS9D99HVV0E0H74";print "View ";if (-f $CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{ignore}) {print "Ignore "}if (-f $CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{ignore}) {print "Ignore MD5 "}print "Restore Delete ";if ($FORM{action} eq "\x{44}\x{65}\x{6c}\x{65}\x{74}\x{65}") {print " "} else {print ""}print "
Quarantine file:$CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{qfile} 
Quarantine file size:$st_size bytes 
Original file:$CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{actfile} 
Original file atime:".localtime($CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{qatime})." 
Original file ctime:".localtime($CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{qctime})." 
Original file mtime:".localtime($CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{qmtime})." 
File owner:$CNTDJSTFC69PKYYZG2B9AYCA7BF5C05QI70Q61X6OXKUZLKDJAZ 
File group:$CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{qgroup} 
Scan Type:";if ($CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{stype} eq "\x{6d}\x{73}\x{63}\x{61}\x{6e}") {print "Manual/Cron Job Scan";}if ($CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{stype} eq "\x{77}\x{73}\x{63}\x{61}\x{6e}") {print "cxs Watch Scan";}if ($CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{stype} eq "\x{6d}\x{6f}\x{6e}\x{69}\x{74}\x{6f}\x{72}") {print "cxs Watch Monitor";}print " 
md5sum:$CD6D9JSW5ZSGA9RVE9MQ8PD4QAZX5VMWN5FTCU9Q09CU9O4YWVP 
Reason:";my $CGDV9IAXFMU2ETZ7RXBUCIF7K1SNFS9HSCAXNVDDOIRSZYEMOEJ = decode_base64($CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{message});$CGDV9IAXFMU2ETZ7RXBUCIF7K1SNFS9HSCAXNVDDOIRSZYEMOEJ =~ s/^\# //;$CGDV9IAXFMU2ETZ7RXBUCIF7K1SNFS9HSCAXNVDDOIRSZYEMOEJ =~ s/:$//;$CGDV9IAXFMU2ETZ7RXBUCIF7K1SNFS9HSCAXNVDDOIRSZYEMOEJ =~ s/\n/
\n/g;print "$CGDV9IAXFMU2ETZ7RXBUCIF7K1SNFS9HSCAXNVDDOIRSZYEMOEJ
\n";print "
 
Quarantine date:$CHHLWOJSQH4VG5D5HQZOI17LJ4LZIA905OCBLS9D99HVV0E0H74";print "View ";if (-f $CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{ignore}) {print "Ignore MD5 "}if ($CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{remoteip} =~ /(\d+\.\d+\.\d+\.\d+)/) {print "Block IP "}print "Delete ";if ($FORM{action} eq "\x{44}\x{65}\x{6c}\x{65}\x{74}\x{65}") {print " "} else {print ""}print "
Quarantine file:$CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{qfile} 
Quarantine file size:$st_size bytes 
Quarantine file atime:".localtime($CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{qatime})." 
Quarantine file ctime:".localtime($CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{qctime})." 
Quarantine file mtime:".localtime($CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{qmtime})." 
Web Script:$CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{scriptname} 
Web Script URL:$CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{url} 
Web Script Owner:$CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{scriptowner} 
Upload IP address:$CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{remoteip} 
Referer:$CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{referer} 
Scan Type:Web Script Scan 
md5sum:$CD6D9JSW5ZSGA9RVE9MQ8PD4QAZX5VMWN5FTCU9Q09CU9O4YWVP 
Reason:";my @CGVY6L71U1QIVGF62Z7BFZPO7HRN18NMF8TLGJDX4MU28BYUZ17 = split(/\n/,decode_base64($CYAXI6T9QLL69Z3DIFLUH9E0XSXYBEVJHDZ3JWJLDBTPE52ZYRM{message}));foreach my $C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S (@CGVY6L71U1QIVGF62Z7BFZPO7HRN18NMF8TLGJDX4MU28BYUZ17) {if ($C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S =~ /^\#/) {$C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S =~ s/^\# //;$C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S =~ s/:$//;print "$C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S
\n";}}print "
 
  ";if ($FORM{action} eq "\x{52}\x{65}\x{73}\x{74}\x{6f}\x{72}\x{65}") {print " "} else {print ""}if ($FORM{action} eq "\x{44}\x{65}\x{6c}\x{65}\x{74}\x{65}") {print " "} else {print ""}print "
\n";print "

\n";print "

\n";}elsif ($FORM{action} eq "\x{76}\x{69}\x{65}\x{77}\x{71}") {my $CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7 = $FORM{item};if ($FORM{qdir}) {$CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7 = abs_path($CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7);if ($CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7 !~ /^$FORM{qdir}/) {print "File [$CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7] is not within the cxs Qarantine directory [$FORM{qdir}]\n";exit;}} else {if (($CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7 ne "\x{72}\x{65}\x{66}\x{65}\x{72}\x{65}\x{6e}\x{63}\x{65}\x{2e}\x{74}\x{78}\x{74}") and ($CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7 ne "install.txt") and ($CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7 ne "changelog.txt") and ($CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7 ne "license.txt")) {print "File [$CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7] is not a cxs document\n";exit;} else {$CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7 = "/etc/cxs/$CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7";}}print "\n";if (-T $CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7 or ($CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7 =~ /\.cxsenc\.\d+(\_\d+)?$/)) {if ($CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7 =~ /\.cxsenc\.\d+(\_\d+)?$/) {my ($CA7UJQAC01IIYKC4QNFTLNYSHBJEQLMPN9A52G9140G09708P8W, $C2WGDKJ1OKHQK8VK48PB9RARIGI2891ZM8WXUE9HBEJ4UWC5V56);my $CTMW3I2ETU1K4JFPDS584PFXS0WODZX1QSXQL0NAU0XDK0Q8CYV = open3($CA7UJQAC01IIYKC4QNFTLNYSHBJEQLMPN9A52G9140G09708P8W, $C2WGDKJ1OKHQK8VK48PB9RARIGI2891ZM8WXUE9HBEJ4UWC5V56, $C2WGDKJ1OKHQK8VK48PB9RARIGI2891ZM8WXUE9HBEJ4UWC5V56, "\x{6f}\x{70}\x{65}\x{6e}\x{73}\x{73}\x{6c}","smime","-decrypt","-in",$CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7,"-binary","-inform","DER","-inkey","/etc/cxs/.seckey/cxsprivate.pem");my @CP9JCWRWCM9CFA89EHOOBX2E8XWYLI30QE94AU40KTJDA0ZIHVM = <$C2WGDKJ1OKHQK8VK48PB9RARIGI2891ZM8WXUE9HBEJ4UWC5V56>;waitpid ($CTMW3I2ETU1K4JFPDS584PFXS0WODZX1QSXQL0NAU0XDK0Q8CYV, 0);my $C5AM54IYH11IYS5Y1ZKM6EN7UKBXLD3HJYQ1TJ7U1JSYJY98046 = 1;foreach my $C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S (@CP9JCWRWCM9CFA89EHOOBX2E8XWYLI30QE94AU40KTJDA0ZIHVM) {if ($C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S =~ /[^\n\r[[:print:]]]/) {$C5AM54IYH11IYS5Y1ZKM6EN7UKBXLD3HJYQ1TJ7U1JSYJY98046 = 0;last;}}if ($C5AM54IYH11IYS5Y1ZKM6EN7UKBXLD3HJYQ1TJ7U1JSYJY98046) {print "\x{3c}\x{74}\x{72}\x{3e}\x{3c}\x{74}\x{64}\x{3e}\x{3c}\x{70}\x{72}\x{65}\x{3e}";foreach my $C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S (@CP9JCWRWCM9CFA89EHOOBX2E8XWYLI30QE94AU40KTJDA0ZIHVM) {$C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S =~ s/\/\>\;/g;print $C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S."\n";;}print "\n";} else {print "\n";}} else {open (my $CQGWE7H95R4TLCEXIVN6Q2HAPGKGTXO9HLO39R5A6BK920C6287, "\x{3c}", $CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7);flock ($CQGWE7H95R4TLCEXIVN6Q2HAPGKGTXO9HLO39R5A6BK920C6287, LOCK_SH);my @CP9JCWRWCM9CFA89EHOOBX2E8XWYLI30QE94AU40KTJDA0ZIHVM = <$CQGWE7H95R4TLCEXIVN6Q2HAPGKGTXO9HLO39R5A6BK920C6287>;close ($CQGWE7H95R4TLCEXIVN6Q2HAPGKGTXO9HLO39R5A6BK920C6287);print "\x{3c}\x{74}\x{72}\x{3e}\x{3c}\x{74}\x{64}\x{3e}\x{3c}\x{70}\x{72}\x{65}\x{3e}";chomp @CP9JCWRWCM9CFA89EHOOBX2E8XWYLI30QE94AU40KTJDA0ZIHVM;foreach my $C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S (@CP9JCWRWCM9CFA89EHOOBX2E8XWYLI30QE94AU40KTJDA0ZIHVM) {$C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S =~ s/\/\>\;/g;print $C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S."\n";;}print "\n";}} else {print "\n";}print "
Encrypted $CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7 is not a text file
$CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7 is not a text file
\n";print "\n";print "\n";print "
Close Window
\n";}elsif ($FORM{action} eq "\x{43}\x{72}\x{65}\x{61}\x{74}\x{65}\x{20}\x{43}\x{72}\x{6f}\x{6e}\x{20}\x{4a}\x{6f}\x{62}" and !$CV2ZIUG3J28L4Y8NZ98EI2KDO18AUNMRKV994WJZV7P7ZXJJVJA) {my @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5 = &gencmd;my $C7Q8ZFHH8K6F0LPELVAON3RPEZBZZ65AB6UGLB3KN43SM9PANL7 = join("\x{20}",@CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5);if ($CBASYRG6ZBE6649XEB1JAGZC80OR2MRFICG21PD2BNGRJSG6TA3) {print "\n";print "\n";print "\n";print "
Add the following command to /etc/crontab at the frequency you want it to run
$C7Q8ZFHH8K6F0LPELVAON3RPEZBZZ65AB6UGLB3KN43SM9PANL7
\n";} else {print "
\n";print "\n";print "\n";print "\n";print "\n";print "\n";print "\n";print "
Cron Job FrequencyCron Job Command

\n";print "
\n";print "\x{3c}\x{74}\x{64}\x{3e}\x{3c}\x{69}\x{6e}\x{70}\x{75}\x{74}\x{20}\x{74}\x{79}\x{70}\x{65}\x{3d}\x{27}\x{74}\x{65}\x{78}\x{74}\x{27}\x{20}\x{76}\x{61}\x{6c}\x{75}\x{65}\x{3d}\x{27}\x{30}\x{27}\x{20}\x{6e}\x{61}\x{6d}\x{65}\x{3d}\x{27}\x{6d}\x{69}\x{6e}\x{75}\x{74}\x{65}\x{27}\x{20}\x{73}\x{69}\x{7a}\x{65}\x{3d}\x{27}\x{33}\x{27}\x{3e}\x{3c}\x{2f}\x{74}\x{64}\x{3e}";print "\x{3c}\x{74}\x{64}\x{3e}\x{3c}\x{69}\x{6e}\x{70}\x{75}\x{74}\x{20}\x{74}\x{79}\x{70}\x{65}\x{3d}\x{27}\x{74}\x{65}\x{78}\x{74}\x{27}\x{20}\x{76}\x{61}\x{6c}\x{75}\x{65}\x{3d}\x{27}\x{35}\x{27}\x{20}\x{6e}\x{61}\x{6d}\x{65}\x{3d}\x{27}\x{68}\x{6f}\x{75}\x{72}\x{27}\x{20}\x{73}\x{69}\x{7a}\x{65}\x{3d}\x{27}\x{33}\x{27}\x{3e}\x{3c}\x{2f}\x{74}\x{64}\x{3e}";print "";print "";print "";print "\n";print "\n";print "
0-590-231-311-120-7
MinHourDoMMonDoW
\n";print "
";print "This is the full command including all currently selected settings, options and defaults that the above will run:\n

";&printcmd(@CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5,"--YCMD");print "

";open (my $CG24RPVEY6ETCGIS5S7EQ8F4UVMO6US4XPNWZ9AT0PAMDU2W1QA, "\x{3c}","/etc/cxs/cxscron.txt");flock ($CG24RPVEY6ETCGIS5S7EQ8F4UVMO6US4XPNWZ9AT0PAMDU2W1QA, LOCK_SH);print <$CG24RPVEY6ETCGIS5S7EQ8F4UVMO6US4XPNWZ9AT0PAMDU2W1QA>;close ($CG24RPVEY6ETCGIS5S7EQ8F4UVMO6US4XPNWZ9AT0PAMDU2W1QA);print "
\n";}print "

\n";}elsif ($FORM{action} eq "\x{53}\x{75}\x{62}\x{6d}\x{69}\x{74}\x{20}\x{43}\x{72}\x{6f}\x{6e}\x{20}\x{4a}\x{6f}\x{62}" and !$CV2ZIUG3J28L4Y8NZ98EI2KDO18AUNMRKV994WJZV7P7ZXJJVJA) {my $CP7KWLQZQMBY9MJAGZIRMW2V4M57Z8RPC76H3JO7LJ1WQO8ZNX4;if ($FORM{freq} ne "\x{6f}\x{74}\x{68}\x{65}\x{72}") {$CP7KWLQZQMBY9MJAGZIRMW2V4M57Z8RPC76H3JO7LJ1WQO8ZNX4 .= "\@".$FORM{freq};} else {$CP7KWLQZQMBY9MJAGZIRMW2V4M57Z8RPC76H3JO7LJ1WQO8ZNX4 .= "$FORM{minute} $FORM{hour} $FORM{dayofmonth} $FORM{month} $FORM{dayofweek}";}$CP7KWLQZQMBY9MJAGZIRMW2V4M57Z8RPC76H3JO7LJ1WQO8ZNX4 .= " root $FORM{cmd}\n";open (my $C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8, "\x{3e}\x{3e}", $CGJUPHKF6V1P9FB1PRLN1BYGLQTRR7AZF6K8O8P4C3P7QA4L1TK);flock ($C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8, LOCK_EX);print $C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8 $CP7KWLQZQMBY9MJAGZIRMW2V4M57Z8RPC76H3JO7LJ1WQO8ZNX4;close ($C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8);print "

Restarting crond...

\n

\n";if ($CAM0P4PEUYAFPA490GRX12189BNNL6N6YCQ4WNYBYNOCWR86I3E eq "\x{73}\x{79}\x{73}\x{74}\x{65}\x{6d}\x{64}") {unless ($CGBJTAIDPOCL73U7BMI8WY0BQLBN4V092OEQ9JQW160U89HBW90 eq "\x{44}\x{41}") {&printcmd("\x{73}\x{79}\x{73}\x{74}\x{65}\x{6d}\x{63}\x{74}\x{6c}","restart","crond");&printcmd("\x{73}\x{79}\x{73}\x{74}\x{65}\x{6d}\x{63}\x{74}\x{6c}","status","crond");}} else {unless ($CGBJTAIDPOCL73U7BMI8WY0BQLBN4V092OEQ9JQW160U89HBW90 eq "\x{44}\x{41}") {&printcmd("/etc/init.d/crond","restart")}}print "

\n

...Done.

\n";print "\n";print "\n";print "
Job submitted to Cron
$CP7KWLQZQMBY9MJAGZIRMW2V4M57Z8RPC76H3JO7LJ1WQO8ZNX4
\n";print "

\n";}elsif ($FORM{action} eq "\x{45}\x{64}\x{69}\x{74}\x{20}\x{43}\x{72}\x{6f}\x{6e}\x{20}\x{4a}\x{6f}\x{62}\x{73}" and !$CV2ZIUG3J28L4Y8NZ98EI2KDO18AUNMRKV994WJZV7P7ZXJJVJA) {open (my $C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8, "\x{3c}", $CGJUPHKF6V1P9FB1PRLN1BYGLQTRR7AZF6K8O8P4C3P7QA4L1TK);flock ($C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8, LOCK_SH);my @CCHBRI1KD2UJTD6AEPIDGUWW9OOYEM59M5IFRH3ZK6EDYMJ0BL9 = <$C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8>;close ($C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8);chomp @CCHBRI1KD2UJTD6AEPIDGUWW9OOYEM59M5IFRH3ZK6EDYMJ0BL9;if ($CBASYRG6ZBE6649XEB1JAGZC80OR2MRFICG21PD2BNGRJSG6TA3) {print "\n";print "\n";print "
Not yet implemented in FreeBSD
\n";} else {print "
\n";print "\n";print "\n";my $C2K7V28PRJDXPQ4H8J5DRRMRF9RE8BCFY470I5M9J4M4HKLJRBU = 0;foreach my $C07FBQ0HRULZC89A9J6K6WRB2GRVB78NUQUS6CTDUR24L5KPZIV (@CCHBRI1KD2UJTD6AEPIDGUWW9OOYEM59M5IFRH3ZK6EDYMJ0BL9) {$C07FBQ0HRULZC89A9J6K6WRB2GRVB78NUQUS6CTDUR24L5KPZIV =~ s/\s+/ /g;if (($C07FBQ0HRULZC89A9J6K6WRB2GRVB78NUQUS6CTDUR24L5KPZIV =~ /cxs/) and ($C07FBQ0HRULZC89A9J6K6WRB2GRVB78NUQUS6CTDUR24L5KPZIV =~ /^(\@|\d|\*)/)) {my %C6TYOZXJJAZ8XT8TYX3J4F0BSX9TXSMUZX9WECX2TJB33B66E0N;$C6TYOZXJJAZ8XT8TYX3J4F0BSX9TXSMUZX9WECX2TJB33B66E0N{other} = 'selected';my $CXTW49LLVBS4LSQD02XBCI6YVP49E4UCI88R9P0185QI5CMGMH5 = '0';my $C8N4B6X8AVI9O6BQRBGYKI9WR32WGZY040TQIQA0EVUMSEZFJ8C = '5';my $CBTH3DOTMAWNWUUUGJAOB5I4GO3LK72EVC8JZBH9RSL2Q1K179V = '*';my $CC97W8AVGZCX0A5EF1JIYAWEYXULIFWWHLCVXZ1RAT1OYZXHVQN = '*';my $CFYYIDCCE28GJK25QXR5OG4J0SP27BGFONQW4EMD52JJRCSO1UI = '*';my $C9S4I1WXL0NW3SDLWXTW3V9DQCX2MMOI1PNS2VMC1VT2OBTCFB5;if ($C07FBQ0HRULZC89A9J6K6WRB2GRVB78NUQUS6CTDUR24L5KPZIV =~ /^\@(\S+) root (.+)$/) {$C6TYOZXJJAZ8XT8TYX3J4F0BSX9TXSMUZX9WECX2TJB33B66E0N{other} = '';$C6TYOZXJJAZ8XT8TYX3J4F0BSX9TXSMUZX9WECX2TJB33B66E0N{$1} = 'selected';$C9S4I1WXL0NW3SDLWXTW3V9DQCX2MMOI1PNS2VMC1VT2OBTCFB5 = $2;}elsif ($C07FBQ0HRULZC89A9J6K6WRB2GRVB78NUQUS6CTDUR24L5KPZIV =~ /^(\S+) (\S+) (\S+) (\S+) (\S+) root (.+)$/) {$CXTW49LLVBS4LSQD02XBCI6YVP49E4UCI88R9P0185QI5CMGMH5 = $1;$C8N4B6X8AVI9O6BQRBGYKI9WR32WGZY040TQIQA0EVUMSEZFJ8C = $2;$CBTH3DOTMAWNWUUUGJAOB5I4GO3LK72EVC8JZBH9RSL2Q1K179V = $3;$CC97W8AVGZCX0A5EF1JIYAWEYXULIFWWHLCVXZ1RAT1OYZXHVQN = $4;$CFYYIDCCE28GJK25QXR5OG4J0SP27BGFONQW4EMD52JJRCSO1UI = $5;$C9S4I1WXL0NW3SDLWXTW3V9DQCX2MMOI1PNS2VMC1VT2OBTCFB5 = $6;}$C9S4I1WXL0NW3SDLWXTW3V9DQCX2MMOI1PNS2VMC1VT2OBTCFB5 =~ s/\'/\&\#39\;/g;print "\n";print "\n";$C2K7V28PRJDXPQ4H8J5DRRMRF9RE8BCFY470I5M9J4M4HKLJRBU++;}}print "\n";print "
Cron Job FrequencyCron Job CommandDelete

\n";print "
\n";print "";print "";print "";print "";print "";print "\n";print "\n";print "
0-590-231-311-120-7
MinHourDoMMonDoW
\n";print "
\n";}print "

\n";}elsif ($FORM{action} eq "\x{53}\x{75}\x{62}\x{6d}\x{69}\x{74}\x{20}\x{43}\x{72}\x{6f}\x{6e}\x{20}\x{4a}\x{6f}\x{62}\x{73}" and !$CV2ZIUG3J28L4Y8NZ98EI2KDO18AUNMRKV994WJZV7P7ZXJJVJA) {open (my $C33G9VA3YJ1ZMDCNY7JGOQG0AR665LD9U5JKX29UT6NW90MLI08, "\x{3c}", $CGJUPHKF6V1P9FB1PRLN1BYGLQTRR7AZF6K8O8P4C3P7QA4L1TK);flock ($C33G9VA3YJ1ZMDCNY7JGOQG0AR665LD9U5JKX29UT6NW90MLI08, LOCK_SH);my @CCHBRI1KD2UJTD6AEPIDGUWW9OOYEM59M5IFRH3ZK6EDYMJ0BL9 = <$C33G9VA3YJ1ZMDCNY7JGOQG0AR665LD9U5JKX29UT6NW90MLI08>;close ($C33G9VA3YJ1ZMDCNY7JGOQG0AR665LD9U5JKX29UT6NW90MLI08);chomp @CCHBRI1KD2UJTD6AEPIDGUWW9OOYEM59M5IFRH3ZK6EDYMJ0BL9;my $C2K7V28PRJDXPQ4H8J5DRRMRF9RE8BCFY470I5M9J4M4HKLJRBU = 0;open (my $C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8, "\x{3e}", $CGJUPHKF6V1P9FB1PRLN1BYGLQTRR7AZF6K8O8P4C3P7QA4L1TK);flock ($C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8, LOCK_EX);foreach my $C07FBQ0HRULZC89A9J6K6WRB2GRVB78NUQUS6CTDUR24L5KPZIV (@CCHBRI1KD2UJTD6AEPIDGUWW9OOYEM59M5IFRH3ZK6EDYMJ0BL9) {$C07FBQ0HRULZC89A9J6K6WRB2GRVB78NUQUS6CTDUR24L5KPZIV =~ s/\s+/ /g;if (($C07FBQ0HRULZC89A9J6K6WRB2GRVB78NUQUS6CTDUR24L5KPZIV =~ /cxs/) and ($C07FBQ0HRULZC89A9J6K6WRB2GRVB78NUQUS6CTDUR24L5KPZIV =~ /^(\@|\d|\*)/)) {if ($FORM{"del$C2K7V28PRJDXPQ4H8J5DRRMRF9RE8BCFY470I5M9J4M4HKLJRBU"}) {$C2K7V28PRJDXPQ4H8J5DRRMRF9RE8BCFY470I5M9J4M4HKLJRBU++; next}my $CP7KWLQZQMBY9MJAGZIRMW2V4M57Z8RPC76H3JO7LJ1WQO8ZNX4;my $C2HK5EQ5FCMJHSK2B2ITUWDFV0LZTOJZFXOVPZTHKN15M2PSUPQ = $FORM{"freq$C2K7V28PRJDXPQ4H8J5DRRMRF9RE8BCFY470I5M9J4M4HKLJRBU"};my $CXTW49LLVBS4LSQD02XBCI6YVP49E4UCI88R9P0185QI5CMGMH5 = $FORM{"minute$C2K7V28PRJDXPQ4H8J5DRRMRF9RE8BCFY470I5M9J4M4HKLJRBU"};my $C8N4B6X8AVI9O6BQRBGYKI9WR32WGZY040TQIQA0EVUMSEZFJ8C = $FORM{"hour$C2K7V28PRJDXPQ4H8J5DRRMRF9RE8BCFY470I5M9J4M4HKLJRBU"};my $CBTH3DOTMAWNWUUUGJAOB5I4GO3LK72EVC8JZBH9RSL2Q1K179V = $FORM{"dayofmonth$C2K7V28PRJDXPQ4H8J5DRRMRF9RE8BCFY470I5M9J4M4HKLJRBU"};my $CC97W8AVGZCX0A5EF1JIYAWEYXULIFWWHLCVXZ1RAT1OYZXHVQN = $FORM{"month$C2K7V28PRJDXPQ4H8J5DRRMRF9RE8BCFY470I5M9J4M4HKLJRBU"};my $CFYYIDCCE28GJK25QXR5OG4J0SP27BGFONQW4EMD52JJRCSO1UI = $FORM{"dayofweek$C2K7V28PRJDXPQ4H8J5DRRMRF9RE8BCFY470I5M9J4M4HKLJRBU"};my $C9S4I1WXL0NW3SDLWXTW3V9DQCX2MMOI1PNS2VMC1VT2OBTCFB5 = $FORM{"cmd$C2K7V28PRJDXPQ4H8J5DRRMRF9RE8BCFY470I5M9J4M4HKLJRBU"};if ($C2HK5EQ5FCMJHSK2B2ITUWDFV0LZTOJZFXOVPZTHKN15M2PSUPQ ne "\x{6f}\x{74}\x{68}\x{65}\x{72}") {$CP7KWLQZQMBY9MJAGZIRMW2V4M57Z8RPC76H3JO7LJ1WQO8ZNX4 .= "\@".$C2HK5EQ5FCMJHSK2B2ITUWDFV0LZTOJZFXOVPZTHKN15M2PSUPQ;} else {$CP7KWLQZQMBY9MJAGZIRMW2V4M57Z8RPC76H3JO7LJ1WQO8ZNX4 .= "$CXTW49LLVBS4LSQD02XBCI6YVP49E4UCI88R9P0185QI5CMGMH5 $C8N4B6X8AVI9O6BQRBGYKI9WR32WGZY040TQIQA0EVUMSEZFJ8C $CBTH3DOTMAWNWUUUGJAOB5I4GO3LK72EVC8JZBH9RSL2Q1K179V $CC97W8AVGZCX0A5EF1JIYAWEYXULIFWWHLCVXZ1RAT1OYZXHVQN $CFYYIDCCE28GJK25QXR5OG4J0SP27BGFONQW4EMD52JJRCSO1UI";}$CP7KWLQZQMBY9MJAGZIRMW2V4M57Z8RPC76H3JO7LJ1WQO8ZNX4 .= " root $C9S4I1WXL0NW3SDLWXTW3V9DQCX2MMOI1PNS2VMC1VT2OBTCFB5\n";print $C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8 $CP7KWLQZQMBY9MJAGZIRMW2V4M57Z8RPC76H3JO7LJ1WQO8ZNX4;$C2K7V28PRJDXPQ4H8J5DRRMRF9RE8BCFY470I5M9J4M4HKLJRBU++;} else {print $C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8 $C07FBQ0HRULZC89A9J6K6WRB2GRVB78NUQUS6CTDUR24L5KPZIV."\n"}}close ($C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8);print "

Restarting crond...

\n

\n";if ($CAM0P4PEUYAFPA490GRX12189BNNL6N6YCQ4WNYBYNOCWR86I3E eq "\x{73}\x{79}\x{73}\x{74}\x{65}\x{6d}\x{64}") {unless ($CGBJTAIDPOCL73U7BMI8WY0BQLBN4V092OEQ9JQW160U89HBW90 eq "\x{44}\x{41}") {&printcmd("\x{73}\x{79}\x{73}\x{74}\x{65}\x{6d}\x{63}\x{74}\x{6c}","restart","crond");&printcmd("\x{73}\x{79}\x{73}\x{74}\x{65}\x{6d}\x{63}\x{74}\x{6c}","status","crond");}} else {unless ($CGBJTAIDPOCL73U7BMI8WY0BQLBN4V092OEQ9JQW160U89HBW90 eq "\x{44}\x{41}") {&printcmd("/etc/init.d/crond","restart")}}print "

\n

...Done.

\n";print "\n";print "\n";print "
Cron Jobs Saved
\n";print "

\n";}elsif ($FORM{action} eq "\x{53}\x{61}\x{76}\x{65}\x{20}\x{61}\x{73}\x{20}\x{44}\x{65}\x{66}\x{61}\x{75}\x{6c}\x{74}\x{73}" and !$CV2ZIUG3J28L4Y8NZ98EI2KDO18AUNMRKV994WJZV7P7ZXJJVJA) {print "\n";open (my $C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8, "\x{3e}", "/etc/cxs/cxs.defaults");flock ($C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8, LOCK_EX);my $CXM45MTOD8U5PF3AUJG90SE3QA665S7VYI8CM7W4LG9BYTJBJ74;if ($FORM{report}) {$CXM45MTOD8U5PF3AUJG90SE3QA665S7VYI8CM7W4LG9BYTJBJ74 .= "report=$FORM{reportfile}\n"}if ($FORM{logfile}) {$CXM45MTOD8U5PF3AUJG90SE3QA665S7VYI8CM7W4LG9BYTJBJ74 .= "logfile=$FORM{logfilefile}\n"}if ($FORM{mail}) {$CXM45MTOD8U5PF3AUJG90SE3QA665S7VYI8CM7W4LG9BYTJBJ74 .= "mail=$FORM{email}\n"}if ($FORM{smtp}) {$CXM45MTOD8U5PF3AUJG90SE3QA665S7VYI8CM7W4LG9BYTJBJ74 .= "smtp=1\n"}if ($FORM{exploitscan}) {$CXM45MTOD8U5PF3AUJG90SE3QA665S7VYI8CM7W4LG9BYTJBJ74 .= "exploitscan=1\n"} else {$CXM45MTOD8U5PF3AUJG90SE3QA665S7VYI8CM7W4LG9BYTJBJ74 .= "exploitscan=0\n"}if ($FORM{virusscan}) {$CXM45MTOD8U5PF3AUJG90SE3QA665S7VYI8CM7W4LG9BYTJBJ74 .= "virusscan=1\n"} else {$CXM45MTOD8U5PF3AUJG90SE3QA665S7VYI8CM7W4LG9BYTJBJ74 .= "virusscan=0\n"}if ($FORM{sversionscan}) {$CXM45MTOD8U5PF3AUJG90SE3QA665S7VYI8CM7W4LG9BYTJBJ74 .= "sversionscan=1\n"} else {$CXM45MTOD8U5PF3AUJG90SE3QA665S7VYI8CM7W4LG9BYTJBJ74 .= "sversionscan=0\n"}if ($FORM{bayes}) {$CXM45MTOD8U5PF3AUJG90SE3QA665S7VYI8CM7W4LG9BYTJBJ74 .= "bayes=1\n"} else {$CXM45MTOD8U5PF3AUJG90SE3QA665S7VYI8CM7W4LG9BYTJBJ74 .= "bayes=0\n"}if ($FORM{ignore}) {$CXM45MTOD8U5PF3AUJG90SE3QA665S7VYI8CM7W4LG9BYTJBJ74 .= "ignore=$FORM{ignorefile}\n"}if ($FORM{xtra}) {$CXM45MTOD8U5PF3AUJG90SE3QA665S7VYI8CM7W4LG9BYTJBJ74 .= "xtra=$FORM{xtrafile}\n"}if ($FORM{quarantine}) {$CXM45MTOD8U5PF3AUJG90SE3QA665S7VYI8CM7W4LG9BYTJBJ74 .= "quarantine=$FORM{quarantinedir}\n"}my $CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC;if ($FORM{optionsm}) {$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC .= 'm'}if ($FORM{optionsM}) {$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC .= 'M'}if ($FORM{optionsO}) {$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC .= 'O'}if ($FORM{optionsL}) {$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC .= 'L'}if ($FORM{optionsf}) {$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC .= 'f'}if ($FORM{optionsu}) {$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC .= 'u'}if ($FORM{optionsS}) {$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC .= 'S'}if ($FORM{optionsG}) {$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC .= 'G'}if ($FORM{optionsc}) {$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC .= 'c'}if ($FORM{optionsh}) {$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC .= 'h'}if ($FORM{optionse}) {$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC .= 'e'}if ($FORM{optionsx}) {$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC .= 'x'}if ($FORM{optionsd}) {$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC .= 'd'}if ($FORM{optionsn}) {$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC .= 'n'}if ($FORM{optionsw}) {$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC .= 'w'}if ($FORM{optionsZ}) {$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC .= 'Z'}if ($FORM{optionsD}) {$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC .= 'D'}if ($FORM{optionsR}) {$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC .= 'R'}$CXM45MTOD8U5PF3AUJG90SE3QA665S7VYI8CM7W4LG9BYTJBJ74 .= "options=$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC\n";my $CEC9WKFJNIRK69XL7POAGIJSMSM771BNMO2L93M7OU13U44CE6R;if ($FORM{voptionsm}) {$CEC9WKFJNIRK69XL7POAGIJSMSM771BNMO2L93M7OU13U44CE6R .= 'm'}if ($FORM{voptionsf}) {$CEC9WKFJNIRK69XL7POAGIJSMSM771BNMO2L93M7OU13U44CE6R .= 'f'}if ($FORM{voptionsu}) {$CEC9WKFJNIRK69XL7POAGIJSMSM771BNMO2L93M7OU13U44CE6R .= 'u'}if ($FORM{voptionsh}) {$CEC9WKFJNIRK69XL7POAGIJSMSM771BNMO2L93M7OU13U44CE6R .= 'h'}if ($FORM{voptionse}) {$CEC9WKFJNIRK69XL7POAGIJSMSM771BNMO2L93M7OU13U44CE6R .= 'e'}if ($FORM{voptionsx}) {$CEC9WKFJNIRK69XL7POAGIJSMSM771BNMO2L93M7OU13U44CE6R .= 'x'}if ($FORM{voptionsT}) {$CEC9WKFJNIRK69XL7POAGIJSMSM771BNMO2L93M7OU13U44CE6R .= 'T'}if ($CEC9WKFJNIRK69XL7POAGIJSMSM771BNMO2L93M7OU13U44CE6R) {$CXM45MTOD8U5PF3AUJG90SE3QA665S7VYI8CM7W4LG9BYTJBJ74 .= "voptions=$CEC9WKFJNIRK69XL7POAGIJSMSM771BNMO2L93M7OU13U44CE6R\n"}my $C35QCT0APQVO19MEKXTLS70OZNQT98JYDMXF1ANAPULTJDTQ8JM;if ($FORM{voptionsa}) {$C35QCT0APQVO19MEKXTLS70OZNQT98JYDMXF1ANAPULTJDTQ8JM .= 'a'}if ($FORM{voptionsd}) {$C35QCT0APQVO19MEKXTLS70OZNQT98JYDMXF1ANAPULTJDTQ8JM .= 'd'}if ($C35QCT0APQVO19MEKXTLS70OZNQT98JYDMXF1ANAPULTJDTQ8JM) {$CXM45MTOD8U5PF3AUJG90SE3QA665S7VYI8CM7W4LG9BYTJBJ74 .= "soptions=$C35QCT0APQVO19MEKXTLS70OZNQT98JYDMXF1ANAPULTJDTQ8JM\n"}my $CB2A4ZXAW6I6HA9IHXMDUY1VFFXUL37CROICOAX00QG5YB48WIA;if ($FORM{qoptionsm}) {$CB2A4ZXAW6I6HA9IHXMDUY1VFFXUL37CROICOAX00QG5YB48WIA .= 'm'}if ($FORM{qoptionsM}) {$CB2A4ZXAW6I6HA9IHXMDUY1VFFXUL37CROICOAX00QG5YB48WIA .= 'M'}if ($FORM{qoptionsf}) {$CB2A4ZXAW6I6HA9IHXMDUY1VFFXUL37CROICOAX00QG5YB48WIA .= 'f'}if ($FORM{qoptionsu}) {$CB2A4ZXAW6I6HA9IHXMDUY1VFFXUL37CROICOAX00QG5YB48WIA .= 'u'}if ($FORM{qoptionsS}) {$CB2A4ZXAW6I6HA9IHXMDUY1VFFXUL37CROICOAX00QG5YB48WIA .= 'S'}if ($FORM{qoptionsG}) {$CB2A4ZXAW6I6HA9IHXMDUY1VFFXUL37CROICOAX00QG5YB48WIA .= 'G'}if ($FORM{qoptionsc}) {$CB2A4ZXAW6I6HA9IHXMDUY1VFFXUL37CROICOAX00QG5YB48WIA .= 'c'}if ($FORM{qoptionsh}) {$CB2A4ZXAW6I6HA9IHXMDUY1VFFXUL37CROICOAX00QG5YB48WIA .= 'h'}if ($FORM{qoptionse}) {$CB2A4ZXAW6I6HA9IHXMDUY1VFFXUL37CROICOAX00QG5YB48WIA .= 'e'}if ($FORM{qoptionsx}) {$CB2A4ZXAW6I6HA9IHXMDUY1VFFXUL37CROICOAX00QG5YB48WIA .= 'x'}if ($FORM{qoptionsT}) {$CB2A4ZXAW6I6HA9IHXMDUY1VFFXUL37CROICOAX00QG5YB48WIA .= 'T'}if ($FORM{qoptionsE}) {$CB2A4ZXAW6I6HA9IHXMDUY1VFFXUL37CROICOAX00QG5YB48WIA .= 'E'}if ($FORM{qoptionsU}) {$CB2A4ZXAW6I6HA9IHXMDUY1VFFXUL37CROICOAX00QG5YB48WIA .= 'U'}if ($FORM{qoptionsv}) {$CB2A4ZXAW6I6HA9IHXMDUY1VFFXUL37CROICOAX00QG5YB48WIA .= 'v'}if ($CB2A4ZXAW6I6HA9IHXMDUY1VFFXUL37CROICOAX00QG5YB48WIA) {$CXM45MTOD8U5PF3AUJG90SE3QA665S7VYI8CM7W4LG9BYTJBJ74 .= "qoptions=$CB2A4ZXAW6I6HA9IHXMDUY1VFFXUL37CROICOAX00QG5YB48WIA\n"}if ($FORM{quiet}) {$CXM45MTOD8U5PF3AUJG90SE3QA665S7VYI8CM7W4LG9BYTJBJ74 .= "quiet=1\n"}if ($FORM{www}) {$CXM45MTOD8U5PF3AUJG90SE3QA665S7VYI8CM7W4LG9BYTJBJ74 .= "www=1\n"}if ($FORM{summary}) {$CXM45MTOD8U5PF3AUJG90SE3QA665S7VYI8CM7W4LG9BYTJBJ74 .= "summary=1\n"} else {$CXM45MTOD8U5PF3AUJG90SE3QA665S7VYI8CM7W4LG9BYTJBJ74 .= "summary=0\n"}if ($FORM{html}) {$CXM45MTOD8U5PF3AUJG90SE3QA665S7VYI8CM7W4LG9BYTJBJ74 .= "html=1\n"} else {$CXM45MTOD8U5PF3AUJG90SE3QA665S7VYI8CM7W4LG9BYTJBJ74 .= "html=0\n"}if ($FORM{ssl}) {$CXM45MTOD8U5PF3AUJG90SE3QA665S7VYI8CM7W4LG9BYTJBJ74 .= "ssl=1\n"} else {$CXM45MTOD8U5PF3AUJG90SE3QA665S7VYI8CM7W4LG9BYTJBJ74 .= "ssl=0\n"}if ($FORM{sizemax}) {$CXM45MTOD8U5PF3AUJG90SE3QA665S7VYI8CM7W4LG9BYTJBJ74 .= "sizemax=$FORM{sizebytes}\n"}if ($FORM{filemax}) {$CXM45MTOD8U5PF3AUJG90SE3QA665S7VYI8CM7W4LG9BYTJBJ74 .= "filemax=$FORM{filenum}\n"}if ($FORM{clamdsock} and $FORM{clamdsocket}) {$CXM45MTOD8U5PF3AUJG90SE3QA665S7VYI8CM7W4LG9BYTJBJ74 .= "clamdsock=$FORM{clamdsocket}\n"}if ($FORM{fallback}) {$CXM45MTOD8U5PF3AUJG90SE3QA665S7VYI8CM7W4LG9BYTJBJ74 .= "fallback=1\n"} else {$CXM45MTOD8U5PF3AUJG90SE3QA665S7VYI8CM7W4LG9BYTJBJ74 .= "fallback=0\n"}if ($FORM{throttle}) {$CXM45MTOD8U5PF3AUJG90SE3QA665S7VYI8CM7W4LG9BYTJBJ74 .= "throttle=$FORM{throttlenum}\n"}if ($FORM{deep}) {$CXM45MTOD8U5PF3AUJG90SE3QA665S7VYI8CM7W4LG9BYTJBJ74 .= "deep=1\n"}if ($FORM{MD5}) {$CXM45MTOD8U5PF3AUJG90SE3QA665S7VYI8CM7W4LG9BYTJBJ74 .= "MD5=1\n"}print "\n";print $C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8 $CXM45MTOD8U5PF3AUJG90SE3QA665S7VYI8CM7W4LG9BYTJBJ74;close ($C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8);chmod(oct(644),"\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{64}\x{65}\x{66}\x{61}\x{75}\x{6c}\x{74}\x{73}");print "\n";print "
$CXM45MTOD8U5PF3AUJG90SE3QA665S7VYI8CM7W4LG9BYTJBJ74
Defaults Saved to /etc/cxs/cxs.defaults
\n";print "

\n";}elsif ($FORM{action} eq "\x{52}\x{65}\x{73}\x{65}\x{74}\x{20}\x{44}\x{65}\x{66}\x{61}\x{75}\x{6c}\x{74}\x{73}") {print "\n";open (my $C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8, "\x{3e}", "/etc/cxs/cxs.defaults");flock ($C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8, LOCK_EX);close ($C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8);chmod(oct(644),"\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{64}\x{65}\x{66}\x{61}\x{75}\x{6c}\x{74}\x{73}");print "\n";print "
Defaults Reset
\n";print "

\n";}elsif ($FORM{action} eq "\x{4f}\x{74}\x{68}\x{65}\x{72}\x{20}\x{46}\x{69}\x{6c}\x{65}\x{73}" and !$CV2ZIUG3J28L4Y8NZ98EI2KDO18AUNMRKV994WJZV7P7ZXJJVJA) {my $C6HOCIIKLGKSQDGP6QRVPF8NL2CJW4KOFGPA8NUXY94M87FXIOX;my %C4S1EF529PWEKX8JBFLOLC0U8ZDK903GQEJZ7O4ZVOJV8YXN3CX;if (-e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{63}\x{67}\x{69}\x{2e}\x{73}\x{68}") {$C4S1EF529PWEKX8JBFLOLC0U8ZDK903GQEJZ7O4ZVOJV8YXN3CX{"/etc/cxs/cxscgi.sh"} = 1}if (-e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{66}\x{74}\x{70}\x{2e}\x{73}\x{68}") {$C4S1EF529PWEKX8JBFLOLC0U8ZDK903GQEJZ7O4ZVOJV8YXN3CX{"/etc/cxs/cxsftp.sh"} = 1}if (-e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{77}\x{61}\x{74}\x{63}\x{68}\x{2e}\x{73}\x{68}") {$C4S1EF529PWEKX8JBFLOLC0U8ZDK903GQEJZ7O4ZVOJV8YXN3CX{"/etc/cxs/cxswatch.sh"} = 1}if (-e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{64}\x{65}\x{66}\x{61}\x{75}\x{6c}\x{74}\x{73}") {$C4S1EF529PWEKX8JBFLOLC0U8ZDK903GQEJZ7O4ZVOJV8YXN3CX{"/etc/cxs/cxs.defaults"} = 1}if (-e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{69}\x{67}\x{6e}\x{6f}\x{72}\x{65}") {$C4S1EF529PWEKX8JBFLOLC0U8ZDK903GQEJZ7O4ZVOJV8YXN3CX{"/etc/cxs/cxs.ignore"} = 1}if (-e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{78}\x{74}\x{72}\x{61}") {$C4S1EF529PWEKX8JBFLOLC0U8ZDK903GQEJZ7O4ZVOJV8YXN3CX{"/etc/cxs/cxs.xtra"} = 1}if (-e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{64}\x{65}\x{66}\x{61}\x{75}\x{6c}\x{74}\x{73}") {open (my $C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8, "\x{3c}", "/etc/cxs/cxs.defaults");flock ($C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8, LOCK_SH);my @CLIHMZ2Q4Z8JZSJ4EFK5OTGSUB2NRMIGJXA7DS1B5L6IHSRF6GT = <$C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8>;close ($C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8);chomp @CLIHMZ2Q4Z8JZSJ4EFK5OTGSUB2NRMIGJXA7DS1B5L6IHSRF6GT;foreach my $C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S (@CLIHMZ2Q4Z8JZSJ4EFK5OTGSUB2NRMIGJXA7DS1B5L6IHSRF6GT) {if ($C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S =~ /^\#/) {next}if ($C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S !~ /=/) {next}my ($CSVPG40U4UM36P91SZKVH1EWF8J80QGVUTQIIDUEG0PQRX4IU99,$CNND3F3N13ERDQ3DO402X66KS47UH9SJ9JVJGG67XQO5HLVAXYU) = split(/\=/,$C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S);if ($CSVPG40U4UM36P91SZKVH1EWF8J80QGVUTQIIDUEG0PQRX4IU99 eq "\x{69}\x{67}\x{6e}\x{6f}\x{72}\x{65}") {$C4S1EF529PWEKX8JBFLOLC0U8ZDK903GQEJZ7O4ZVOJV8YXN3CX{$CNND3F3N13ERDQ3DO402X66KS47UH9SJ9JVJGG67XQO5HLVAXYU} = 1}if ($CSVPG40U4UM36P91SZKVH1EWF8J80QGVUTQIIDUEG0PQRX4IU99 eq "\x{78}\x{74}\x{72}\x{61}") {$C4S1EF529PWEKX8JBFLOLC0U8ZDK903GQEJZ7O4ZVOJV8YXN3CX{$CNND3F3N13ERDQ3DO402X66KS47UH9SJ9JVJGG67XQO5HLVAXYU} = 1}if ($CSVPG40U4UM36P91SZKVH1EWF8J80QGVUTQIIDUEG0PQRX4IU99 eq "\x{72}\x{65}\x{70}\x{6f}\x{72}\x{74}") {$C4S1EF529PWEKX8JBFLOLC0U8ZDK903GQEJZ7O4ZVOJV8YXN3CX{$CNND3F3N13ERDQ3DO402X66KS47UH9SJ9JVJGG67XQO5HLVAXYU} = 1}if ($CSVPG40U4UM36P91SZKVH1EWF8J80QGVUTQIIDUEG0PQRX4IU99 eq "\x{6c}\x{6f}\x{67}\x{66}\x{69}\x{6c}\x{65}") {$C4S1EF529PWEKX8JBFLOLC0U8ZDK903GQEJZ7O4ZVOJV8YXN3CX{$CNND3F3N13ERDQ3DO402X66KS47UH9SJ9JVJGG67XQO5HLVAXYU} = 1}}}if (-e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{63}\x{67}\x{69}\x{2e}\x{73}\x{68}") {open (my $C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8, "\x{3c}", "/etc/cxs/cxscgi.sh");flock ($C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8, LOCK_SH);my @CLIHMZ2Q4Z8JZSJ4EFK5OTGSUB2NRMIGJXA7DS1B5L6IHSRF6GT = <$C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8>;close ($C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8);chomp @CLIHMZ2Q4Z8JZSJ4EFK5OTGSUB2NRMIGJXA7DS1B5L6IHSRF6GT;foreach my $C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S (@CLIHMZ2Q4Z8JZSJ4EFK5OTGSUB2NRMIGJXA7DS1B5L6IHSRF6GT) {if ($C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S =~ /^\#/) {next}if ($C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S =~ /((-l\s+)|(--l\S*\s+))([^\$\-\"]*)/) {my $CMHGS7TRL222ZRHB5CCRQT6FAQNWR38PJ0K6V58CT2BCV9XBJFN = $4;$CMHGS7TRL222ZRHB5CCRQT6FAQNWR38PJ0K6V58CT2BCV9XBJFN =~ s/\s*$//;$C4S1EF529PWEKX8JBFLOLC0U8ZDK903GQEJZ7O4ZVOJV8YXN3CX{$CMHGS7TRL222ZRHB5CCRQT6FAQNWR38PJ0K6V58CT2BCV9XBJFN} = 1;}if ($C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S =~ /((-r\s+)|(--r\S*\s+))([^\$\-\"]*)/) {my $CMHGS7TRL222ZRHB5CCRQT6FAQNWR38PJ0K6V58CT2BCV9XBJFN = $4;$CMHGS7TRL222ZRHB5CCRQT6FAQNWR38PJ0K6V58CT2BCV9XBJFN =~ s/\s*$//;$C4S1EF529PWEKX8JBFLOLC0U8ZDK903GQEJZ7O4ZVOJV8YXN3CX{$CMHGS7TRL222ZRHB5CCRQT6FAQNWR38PJ0K6V58CT2BCV9XBJFN} = 1;}if ($C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S =~ /((-i\s+)|(--i\S*\s+))([^\$\-\"]*)/) {my $CMHGS7TRL222ZRHB5CCRQT6FAQNWR38PJ0K6V58CT2BCV9XBJFN = $4;$CMHGS7TRL222ZRHB5CCRQT6FAQNWR38PJ0K6V58CT2BCV9XBJFN =~ s/\s*$//;$C4S1EF529PWEKX8JBFLOLC0U8ZDK903GQEJZ7O4ZVOJV8YXN3CX{$CMHGS7TRL222ZRHB5CCRQT6FAQNWR38PJ0K6V58CT2BCV9XBJFN} = 1;}}}if (-e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{66}\x{74}\x{70}\x{2e}\x{73}\x{68}") {open (my $C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8, "\x{3c}", "/etc/cxs/cxsftp.sh");flock ($C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8, LOCK_SH);my @CLIHMZ2Q4Z8JZSJ4EFK5OTGSUB2NRMIGJXA7DS1B5L6IHSRF6GT = <$C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8>;close ($C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8);chomp @CLIHMZ2Q4Z8JZSJ4EFK5OTGSUB2NRMIGJXA7DS1B5L6IHSRF6GT;foreach my $C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S (@CLIHMZ2Q4Z8JZSJ4EFK5OTGSUB2NRMIGJXA7DS1B5L6IHSRF6GT) {if ($C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S =~ /^\#/) {next}if ($C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S =~ /((-l\s+)|(--l\S*\s+))([^\$\-\"]*)/) {my $CMHGS7TRL222ZRHB5CCRQT6FAQNWR38PJ0K6V58CT2BCV9XBJFN = $4;$CMHGS7TRL222ZRHB5CCRQT6FAQNWR38PJ0K6V58CT2BCV9XBJFN =~ s/\s*$//;$C4S1EF529PWEKX8JBFLOLC0U8ZDK903GQEJZ7O4ZVOJV8YXN3CX{$CMHGS7TRL222ZRHB5CCRQT6FAQNWR38PJ0K6V58CT2BCV9XBJFN} = 1;}if ($C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S =~ /((-r\s+)|(--r\S*\s+))([^\$\-\"]*)/) {my $CMHGS7TRL222ZRHB5CCRQT6FAQNWR38PJ0K6V58CT2BCV9XBJFN = $4;$CMHGS7TRL222ZRHB5CCRQT6FAQNWR38PJ0K6V58CT2BCV9XBJFN =~ s/\s*$//;$C4S1EF529PWEKX8JBFLOLC0U8ZDK903GQEJZ7O4ZVOJV8YXN3CX{$CMHGS7TRL222ZRHB5CCRQT6FAQNWR38PJ0K6V58CT2BCV9XBJFN} = 1;}if ($C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S =~ /((-i\s+)|(--i\S*\s+))([^\$\-\"]*)/) {my $CMHGS7TRL222ZRHB5CCRQT6FAQNWR38PJ0K6V58CT2BCV9XBJFN = $4;$CMHGS7TRL222ZRHB5CCRQT6FAQNWR38PJ0K6V58CT2BCV9XBJFN =~ s/\s*$//;$C4S1EF529PWEKX8JBFLOLC0U8ZDK903GQEJZ7O4ZVOJV8YXN3CX{$CMHGS7TRL222ZRHB5CCRQT6FAQNWR38PJ0K6V58CT2BCV9XBJFN} = 1;}}}if (-e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{77}\x{61}\x{74}\x{63}\x{68}\x{2e}\x{73}\x{68}") {open (my $C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8, "\x{3c}", "/etc/cxs/cxswatch.sh");flock ($C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8, LOCK_SH);my @CLIHMZ2Q4Z8JZSJ4EFK5OTGSUB2NRMIGJXA7DS1B5L6IHSRF6GT = <$C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8>;close ($C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8);chomp @CLIHMZ2Q4Z8JZSJ4EFK5OTGSUB2NRMIGJXA7DS1B5L6IHSRF6GT;foreach my $C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S (@CLIHMZ2Q4Z8JZSJ4EFK5OTGSUB2NRMIGJXA7DS1B5L6IHSRF6GT) {if ($C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S =~ /^\#/) {next}if ($C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S =~ /((-l\s+)|(--l\S*\s+))([^\$\-\"]*)/) {my $CMHGS7TRL222ZRHB5CCRQT6FAQNWR38PJ0K6V58CT2BCV9XBJFN = $4;$CMHGS7TRL222ZRHB5CCRQT6FAQNWR38PJ0K6V58CT2BCV9XBJFN =~ s/\s*$//;$C4S1EF529PWEKX8JBFLOLC0U8ZDK903GQEJZ7O4ZVOJV8YXN3CX{$CMHGS7TRL222ZRHB5CCRQT6FAQNWR38PJ0K6V58CT2BCV9XBJFN} = 1;}if ($C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S =~ /((-r\s+)|(--r\S*\s+))([^\$\-\"]*)/) {my $CMHGS7TRL222ZRHB5CCRQT6FAQNWR38PJ0K6V58CT2BCV9XBJFN = $4;$CMHGS7TRL222ZRHB5CCRQT6FAQNWR38PJ0K6V58CT2BCV9XBJFN =~ s/\s*$//;$C4S1EF529PWEKX8JBFLOLC0U8ZDK903GQEJZ7O4ZVOJV8YXN3CX{$CMHGS7TRL222ZRHB5CCRQT6FAQNWR38PJ0K6V58CT2BCV9XBJFN} = 1;}if ($C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S =~ /((-i\s+)|(--i\S*\s+))([^\$\-\"]*)/) {my $CMHGS7TRL222ZRHB5CCRQT6FAQNWR38PJ0K6V58CT2BCV9XBJFN = $4;$CMHGS7TRL222ZRHB5CCRQT6FAQNWR38PJ0K6V58CT2BCV9XBJFN =~ s/\s*$//;$C4S1EF529PWEKX8JBFLOLC0U8ZDK903GQEJZ7O4ZVOJV8YXN3CX{$CMHGS7TRL222ZRHB5CCRQT6FAQNWR38PJ0K6V58CT2BCV9XBJFN} = 1;}}}foreach my $CYX5C2LENCDM3Q1X2VHC5FV8DJVJV9VJMYR95GQJC9FM0UBJDOP (sort keys %C4S1EF529PWEKX8JBFLOLC0U8ZDK903GQEJZ7O4ZVOJV8YXN3CX) {$CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7 = abs_path($CYX5C2LENCDM3Q1X2VHC5FV8DJVJV9VJMYR95GQJC9FM0UBJDOP);if ($CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7 =~ /^\/etc\/cxs\//) {$C6HOCIIKLGKSQDGP6QRVPF8NL2CJW4KOFGPA8NUXY94M87FXIOX .= "\n"}}print "\n";print "\n";print "
            
\n";print "
\n";print "\n";print "\n";print "\n";print "
Other Files
      
\n";print "

\n";}elsif ($FORM{action} eq "\x{56}\x{69}\x{65}\x{77}\x{20}\x{46}\x{69}\x{6c}\x{65}") {my $CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7 = $FORM{file};$CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7 = abs_path($CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7);if ($CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7 !~ /^\/etc\/cxs\//) {print "
File [$CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7] is not within /etc/cxs/\n";exit;}print "\n";open (my $C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8, "\x{3c}", $FORM{file});flock ($C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8, LOCK_SH);my @CLIHMZ2Q4Z8JZSJ4EFK5OTGSUB2NRMIGJXA7DS1B5L6IHSRF6GT = <$C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8>;close ($C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8);chomp @CLIHMZ2Q4Z8JZSJ4EFK5OTGSUB2NRMIGJXA7DS1B5L6IHSRF6GT;print "\n";print "
View $FORM{file}
";foreach my $C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S (@CLIHMZ2Q4Z8JZSJ4EFK5OTGSUB2NRMIGJXA7DS1B5L6IHSRF6GT) {$C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S =~ s/\/\>\;/g;print $C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S."\n";;}unless (@CLIHMZ2Q4Z8JZSJ4EFK5OTGSUB2NRMIGJXA7DS1B5L6IHSRF6GT) {print "[empty file]\n"}print "
\n";print "

\n";print "

\n";}elsif ($FORM{action} eq "\x{47}\x{65}\x{6e}\x{65}\x{72}\x{61}\x{74}\x{65}\x{20}\x{63}\x{78}\x{73}\x{20}\x{43}\x{6f}\x{6d}\x{6d}\x{61}\x{6e}\x{64}\x{73}") {my %CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO;my %CAVUU5UUDCC563PV6508JWSSPGO8CO14ZGDYF3SBHYBHM1AV9C8;my $CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW;$CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{quiet} = 0;$CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{www} = 0;$CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{deep} = 0;$CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{MD5} = 0;$CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{virusscan} = 1;$CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{sversionscan} = 1;$CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{exploitscan} = 1;$CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{summary} = 1;$CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{html} = 1;$CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{ssl} = 1;$CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{fallback} = 0;$CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{bayes} = 0;$CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{options} = "\x{6d}\x{4d}\x{4f}\x{4c}\x{66}\x{53}\x{47}\x{63}\x{68}\x{65}\x{78}\x{64}\x{6e}\x{77}\x{5a}\x{44}\x{52}\x{75}";$CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{qoptions} = "\x{4d}\x{76}";$CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{voptions} = "";$CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{soptions} = "";$CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{sizemax} = 500000;$CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{filemax} = 10000;if (-e "\x{2f}\x{74}\x{6d}\x{70}\x{2f}\x{63}\x{6c}\x{61}\x{6d}\x{64}") {$CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{clamdsock} = '/tmp/clamd'}elsif (-e "\x{2f}\x{76}\x{61}\x{72}\x{2f}\x{63}\x{6c}\x{61}\x{6d}\x{64}") {$CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{clamdsock} = '/var/clamd'}elsif (-e "\x{2f}\x{76}\x{61}\x{72}\x{2f}\x{72}\x{75}\x{6e}\x{2f}\x{63}\x{6c}\x{61}\x{6d}\x{61}\x{76}\x{2f}\x{63}\x{6c}\x{61}\x{6d}\x{64}\x{2e}\x{73}\x{6f}\x{63}\x{6b}") {$CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{clamdsock} = '/var/run/clamav/clamd.sock'}elsif (-e "\x{2f}\x{76}\x{61}\x{72}\x{2f}\x{72}\x{75}\x{6e}\x{2f}\x{63}\x{6c}\x{61}\x{6d}\x{61}\x{76}\x{2f}\x{63}\x{6c}\x{61}\x{6d}\x{64}\x{2e}\x{63}\x{74}\x{6c}") {$CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{clamdsock} = '/var/run/clamav/clamd.ctl'}if (-e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{63}\x{78}\x{73}\x{2e}\x{64}\x{65}\x{66}\x{61}\x{75}\x{6c}\x{74}\x{73}") {open (my $C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8, "\x{3c}", "/etc/cxs/cxs.defaults");flock ($C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8, LOCK_SH);my @CLIHMZ2Q4Z8JZSJ4EFK5OTGSUB2NRMIGJXA7DS1B5L6IHSRF6GT = <$C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8>;close ($C352VX3LA43GJC8YV6E38W5756K4P0YL9ALMF7QU6C5QIUQTIF8);chomp @CLIHMZ2Q4Z8JZSJ4EFK5OTGSUB2NRMIGJXA7DS1B5L6IHSRF6GT;foreach my $C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S (@CLIHMZ2Q4Z8JZSJ4EFK5OTGSUB2NRMIGJXA7DS1B5L6IHSRF6GT) {if ($C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S =~ /^\#/) {next}if ($C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S !~ /=/) {next}my ($CSVPG40U4UM36P91SZKVH1EWF8J80QGVUTQIIDUEG0PQRX4IU99,$CNND3F3N13ERDQ3DO402X66KS47UH9SJ9JVJGG67XQO5HLVAXYU) = split(/\=/,$C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S);$CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{$CSVPG40U4UM36P91SZKVH1EWF8J80QGVUTQIIDUEG0PQRX4IU99} = $CNND3F3N13ERDQ3DO402X66KS47UH9SJ9JVJGG67XQO5HLVAXYU;$CAVUU5UUDCC563PV6508JWSSPGO8CO14ZGDYF3SBHYBHM1AV9C8{$CSVPG40U4UM36P91SZKVH1EWF8J80QGVUTQIIDUEG0PQRX4IU99} = $CNND3F3N13ERDQ3DO402X66KS47UH9SJ9JVJGG67XQO5HLVAXYU;}}my %CDKO72CWDEW1V8VSVAEPGTGFDQX99RU3POPEWR86A9EFK4LF4EW;foreach my $CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC (split(//,$CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{options})) {$CDKO72CWDEW1V8VSVAEPGTGFDQX99RU3POPEWR86A9EFK4LF4EW{$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC} = 'checked'}my %CAJ1KVEEY5B6U3RR6EEFFKP9HWHZPUXLAH5RXMPKMSDNUG8RWBG;foreach my $CEC9WKFJNIRK69XL7POAGIJSMSM771BNMO2L93M7OU13U44CE6R (split(//,$CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{voptions})) {$CAJ1KVEEY5B6U3RR6EEFFKP9HWHZPUXLAH5RXMPKMSDNUG8RWBG{$CEC9WKFJNIRK69XL7POAGIJSMSM771BNMO2L93M7OU13U44CE6R} = 'checked'}my %CMG7ZONYHPWQJDJP3KC23NIYP847RJS8TDCTJA84VK719MPTOX8;foreach my $C35QCT0APQVO19MEKXTLS70OZNQT98JYDMXF1ANAPULTJDTQ8JM (split(//,$CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{soptions})) {$CMG7ZONYHPWQJDJP3KC23NIYP847RJS8TDCTJA84VK719MPTOX8{$C35QCT0APQVO19MEKXTLS70OZNQT98JYDMXF1ANAPULTJDTQ8JM} = 'checked'}my %C1EQ0XMGCG0BT5P92ZB9GWJS5FSSJTWKIUTN2UICIS0Z0EJ01IX;foreach my $CB2A4ZXAW6I6HA9IHXMDUY1VFFXUL37CROICOAX00QG5YB48WIA (split(//,$CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{qoptions})) {$C1EQ0XMGCG0BT5P92ZB9GWJS5FSSJTWKIUTN2UICIS0Z0EJ01IX{$CB2A4ZXAW6I6HA9IHXMDUY1VFFXUL37CROICOAX00QG5YB48WIA} = 'checked'}my @CCYGPFKBUTJN45DG2UT7DZUHYF3VSQFF6QKCNKRS3FJ9TO8KMTE;my $CVSN0XQAQ2R2TGQ5IETQ38DBLPXUJMODQYEFD2M6MZMH6A0JQE3;my $CIM37LG7B7RM5QJAVCCUW115JP2MX5QQANNUH2GKZB26HV7TD2U;if ($CGBJTAIDPOCL73U7BMI8WY0BQLBN4V092OEQ9JQW160U89HBW90 eq "\x{43}\x{50}\x{41}\x{4e}\x{45}\x{4c}") {opendir (DIR, "\x{2f}\x{76}\x{61}\x{72}\x{2f}\x{63}\x{70}\x{61}\x{6e}\x{65}\x{6c}\x{2f}\x{75}\x{73}\x{65}\x{72}\x{73}");while (my $CSQZE1PIYNA8LAS67ENWLLZME1G6XFBZ7GRB6TUA5GYRH0OY5VX = readdir (DIR)) {if ($CSQZE1PIYNA8LAS67ENWLLZME1G6XFBZ7GRB6TUA5GYRH0OY5VX =~ /^\./) {next}if ($CSQZE1PIYNA8LAS67ENWLLZME1G6XFBZ7GRB6TUA5GYRH0OY5VX eq 'root') {next}my $C97H2FS7PI94PQAH71JTUX3PSEAKL201DOKPTKYYX03J7GAJCLR = ( getpwnam($CSQZE1PIYNA8LAS67ENWLLZME1G6XFBZ7GRB6TUA5GYRH0OY5VX) )[7];unless (-d $C97H2FS7PI94PQAH71JTUX3PSEAKL201DOKPTKYYX03J7GAJCLR) {next}push @CCYGPFKBUTJN45DG2UT7DZUHYF3VSQFF6QKCNKRS3FJ9TO8KMTE,$CSQZE1PIYNA8LAS67ENWLLZME1G6XFBZ7GRB6TUA5GYRH0OY5VX;}closedir (DIR);$CIM37LG7B7RM5QJAVCCUW115JP2MX5QQANNUH2GKZB26HV7TD2U = "\x{63}\x{50}\x{61}\x{6e}\x{65}\x{6c}";}elsif ($CGBJTAIDPOCL73U7BMI8WY0BQLBN4V092OEQ9JQW160U89HBW90 eq "\x{44}\x{41}") {opendir (DIR, "\x{2f}\x{75}\x{73}\x{72}\x{2f}\x{6c}\x{6f}\x{63}\x{61}\x{6c}\x{2f}\x{64}\x{69}\x{72}\x{65}\x{63}\x{74}\x{61}\x{64}\x{6d}\x{69}\x{6e}\x{2f}\x{64}\x{61}\x{74}\x{61}\x{2f}\x{75}\x{73}\x{65}\x{72}\x{73}");while (my $CSQZE1PIYNA8LAS67ENWLLZME1G6XFBZ7GRB6TUA5GYRH0OY5VX = readdir (DIR)) {if ($CSQZE1PIYNA8LAS67ENWLLZME1G6XFBZ7GRB6TUA5GYRH0OY5VX =~ /^\./) {next}if ($CSQZE1PIYNA8LAS67ENWLLZME1G6XFBZ7GRB6TUA5GYRH0OY5VX eq 'root') {next}my $C97H2FS7PI94PQAH71JTUX3PSEAKL201DOKPTKYYX03J7GAJCLR = ( getpwnam($CSQZE1PIYNA8LAS67ENWLLZME1G6XFBZ7GRB6TUA5GYRH0OY5VX) )[7];unless (-d $C97H2FS7PI94PQAH71JTUX3PSEAKL201DOKPTKYYX03J7GAJCLR) {next}push @CCYGPFKBUTJN45DG2UT7DZUHYF3VSQFF6QKCNKRS3FJ9TO8KMTE,$CSQZE1PIYNA8LAS67ENWLLZME1G6XFBZ7GRB6TUA5GYRH0OY5VX;}closedir (DIR);$CIM37LG7B7RM5QJAVCCUW115JP2MX5QQANNUH2GKZB26HV7TD2U = "\x{44}\x{69}\x{72}\x{65}\x{63}\x{74}\x{41}\x{64}\x{6d}\x{69}\x{6e}";}else {opendir (DIR, "\x{2f}\x{76}\x{61}\x{72}\x{2f}\x{63}\x{70}\x{61}\x{6e}\x{65}\x{6c}\x{2f}\x{75}\x{73}\x{65}\x{72}\x{73}");while (my $CSQZE1PIYNA8LAS67ENWLLZME1G6XFBZ7GRB6TUA5GYRH0OY5VX = readdir (DIR)) {if ($CSQZE1PIYNA8LAS67ENWLLZME1G6XFBZ7GRB6TUA5GYRH0OY5VX =~ /^\./) {next}if ($CSQZE1PIYNA8LAS67ENWLLZME1G6XFBZ7GRB6TUA5GYRH0OY5VX eq 'root') {next}my $C97H2FS7PI94PQAH71JTUX3PSEAKL201DOKPTKYYX03J7GAJCLR = ( getpwnam($CSQZE1PIYNA8LAS67ENWLLZME1G6XFBZ7GRB6TUA5GYRH0OY5VX) )[7];unless (-d $C97H2FS7PI94PQAH71JTUX3PSEAKL201DOKPTKYYX03J7GAJCLR) {next}push @CCYGPFKBUTJN45DG2UT7DZUHYF3VSQFF6QKCNKRS3FJ9TO8KMTE,$CSQZE1PIYNA8LAS67ENWLLZME1G6XFBZ7GRB6TUA5GYRH0OY5VX;}closedir (DIR);$CIM37LG7B7RM5QJAVCCUW115JP2MX5QQANNUH2GKZB26HV7TD2U = "\x{63}\x{50}\x{61}\x{6e}\x{65}\x{6c}";}@CCYGPFKBUTJN45DG2UT7DZUHYF3VSQFF6QKCNKRS3FJ9TO8KMTE = sort @CCYGPFKBUTJN45DG2UT7DZUHYF3VSQFF6QKCNKRS3FJ9TO8KMTE;foreach my $CSQZE1PIYNA8LAS67ENWLLZME1G6XFBZ7GRB6TUA5GYRH0OY5VX (@CCYGPFKBUTJN45DG2UT7DZUHYF3VSQFF6QKCNKRS3FJ9TO8KMTE) {$CVSN0XQAQ2R2TGQ5IETQ38DBLPXUJMODQYEFD2M6MZMH6A0JQE3 .= "\n"}foreach my $CSQZE1PIYNA8LAS67ENWLLZME1G6XFBZ7GRB6TUA5GYRH0OY5VX ('a'..'z') {$CVSN0XQAQ2R2TGQ5IETQ38DBLPXUJMODQYEFD2M6MZMH6A0JQE3 .= "\n"}print "\n";if ($CGBJTAIDPOCL73U7BMI8WY0BQLBN4V092OEQ9JQW160U89HBW90 eq "\x{44}\x{41}") {$script = $CPR9IWDA1DPTQZL21ZMTKYFBF6PTVJ5LAFRMQAZ6MPQ1409CB58}print "
\n";print "\n";print "\n";print "\n";print "\n";print "\n";print "\n";print "\n";print "\n";if ($CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{www}) {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = 'checked'} else {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = ''}print "\n";print "\n";if ($CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{report}) {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = 'checked'} else {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = ''; $CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{report} = '/var/log/cxs.scan'}print "\n";if ($CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{logfile}) {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = 'checked'} else {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = ''; $CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{logfile} = '/var/log/cxs.log'}print "\n";if ($CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{mail}) {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = 'checked'} else {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = ''; $CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{mail} = 'root'}print "\n";if ($CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{smtp}) {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = 'checked'} else {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = ''}print "\n";print "\n";if ($CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{exploitscan}) {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = 'checked'} else {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = ''}print "\n";print "\n";print "\n";print "\n";print "\n";print "\n";print "\n";print "\n";print "\n";print "\n";print "\n";print "\n";print "\n";print "\n";print "\n";print "\n";print "\n";print "\n";print "\n";print "\n";unless ($CV2ZIUG3J28L4Y8NZ98EI2KDO18AUNMRKV994WJZV7P7ZXJJVJA) {print "\n";print "\n";print "\n";print "\n";print "\n";print "\n";print "\n";print "\n";print "\n";}print "\n";if ($CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{sversionscan}) {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = 'checked'} else {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = ''}print "\n";print "\n";print "\n";print "\n";print "\n";if ($CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{virusscan}) {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = 'checked'} else {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = ''}print "\n";if ($CAVUU5UUDCC563PV6508JWSSPGO8CO14ZGDYF3SBHYBHM1AV9C8{clamdsock}) {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = 'checked'} else {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = ''}print "\n";if ($CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{fallback}) {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = 'checked'} else {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = ''}print "\n";print "\n";print "\n";print "\n";print "\n";print "\n";print "\n";print "\n";print "\n";print "\n";print "\n";if ($CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{bayes}) {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = 'checked'} else {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = ''}print "\n";print "\n";if ($CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{ignore}) {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = 'checked'} else {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = ''}print "\n";print "\n";if ($CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{xtra}) {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = 'checked'} else {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = ''}print "\n";print "\n";if ($CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{quarantine}) {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = 'checked'} else {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = ''}print "\n";print "\n";print "\n";print "\n";print "\n";print "\n";print "\n";print "\n";print "\n";print "\n";print "\n";print "\n";unless ($CV2ZIUG3J28L4Y8NZ98EI2KDO18AUNMRKV994WJZV7P7ZXJJVJA) {print "\n";print "\n";print "\n";print "\n";print "\n";print "\n";print "\n";print "\n";print "\n";}print "\n";if ($CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{quiet}) {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = 'checked'} else {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = ''}print "\n";if ($CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{summary}) {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = 'checked'} else {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = ''}print "\n";if ($CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{html}) {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = 'checked'} else {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = ''}print "\n";if ($CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{ssl}) {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = 'checked'} else {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = ''}print "\n";if ($CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{sizemax} ne '500000') {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = 'checked'} else {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = ''}print "\n";if ($CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{filemax} ne '10000') {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = 'checked'} else {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = ''}print "\n";if ($CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{deep}) {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = 'checked'} else {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = ''}print "\n";if ($CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{MD5}) {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = 'checked'} else {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = ''}print "\n";if ($CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{throttle}) {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = 'checked'} else {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = ''}print "\n";if ($CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{ctime}) {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = 'checked'} else {$CSTT971FI6X083DFWT3PILHZ3IMRGF5KDH38WB7WYK39884EWJW = ''}print "\n";print "\n";unless ($CV2ZIUG3J28L4Y8NZ98EI2KDO18AUNMRKV994WJZV7P7ZXJJVJA) {print "\n"}print "\n";unless ($CV2ZIUG3J28L4Y8NZ98EI2KDO18AUNMRKV994WJZV7P7ZXJJVJA) {print "\n";} else {print "\n";}print "
You should read through the Documentation before performing any scans to understand what each of the following options does.
Note: Not all options and functionality of the command line utility are reflected in this user interface
Scan Resource
All $CIM37LG7B7RM5QJAVCCUW115JP2MX5QQANNUH2GKZB26HV7TD2U usersScan all user accounts
All $CIM37LG7B7RM5QJAVCCUW115JP2MX5QQANNUH2GKZB26HV7TD2U users start after Scan selected user accounts
All $CIM37LG7B7RM5QJAVCCUW115JP2MX5QQANNUH2GKZB26HV7TD2U users start from
end with
Scan selected user accounts
$CIM37LG7B7RM5QJAVCCUW115JP2MX5QQANNUH2GKZB26HV7TD2U userScan this users login directory
File/DirectoryA file or directory to scan
Web root scanOnly scan within the web root (e.g. /public_html/ subdirectory) when all users or one user selected above
Scan Report (will display to screen if none selected)
Report file";if ($CV2ZIUG3J28L4Y8NZ98EI2KDO18AUNMRKV994WJZV7P7ZXJJVJA) {print $CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{report}} else {print "";}print "Write scan report to this file
Log file";if ($CV2ZIUG3J28L4Y8NZ98EI2KDO18AUNMRKV994WJZV7P7ZXJJVJA) {print $CFORMXVAP91X8OAL29VX2DNDVW9EQEV3A85IF100ZSPWL4SSAKO{logfile}} else {print ""}print "Append suspicious scan report files to this file
EmailSend scan report to email address
SMTPSend scan report email via SMTP instead of sendmail
Exploit Scan
Exploit scanPerform exploit scanning
Exploit Scan Options (standard)
(m) regex pattern match(O) socketExploit scan specified checks only
(L) symlink(f) suspicious file name/type
(S) SUID file(G) GUID file
(c) core dump file(Z) scan within zip, tar, tar.gz
     and tar.bz2 files
(e) Linux binary or executable file(x) Windows binary or executable file
(h) suspected exploit file(d) suspicious directory name
(n) hidden directory owned by nobody(M) fingerprint match
(w) world writable directory(D) Decode PHP compressed
     (e.g. base64) scripts
(R) Match the PHP decode regex 
Exploit Scan Options (advanced)
These advanced options can be dangerous (change file permissions, delete files or identify innocent files as suspicious) and you should read and understand the documentation before enabling any of them. None of these options will save as defaults from the UI
(T) identifies all PHP, Perl and
     other script files as suspicious
(W) world writable directory
     (777) and chmod to 755
Advanced exploit scan options
(P) Test account D/B config file
     passwords via FTP
(E) all email scripts
(C) core dump file, delete(U) all upload scripts
Script Version Scan
Script Version ScanPerform script version scanning
Script Version Scan Options
(a) Report all script installs found,
     not just old ones
(d) Report dir of installs foundScript version scan options
Virus Scan
Virus scanPerform virus scanning with ClamAV
ClamAV clamd socketLocation of the clamd socket
Fallback to clamscanIf clamd fails during a scan, use clamscan until it works again. Please note that this can add significant load to the server depending on the resources available.
Virus Scan Options
(f) suspicious file name/type(h) suspected exploit fileVirus scan specified file types only
(e) Linux binary or executable file(x) Windows binary or executable file
(T) all PHP, Perl, and other script files(m) regex pattern match
(u) Script in suspicious directory 
Bayes Probablity Scan
Bayes probability scanThis option scans scripts and passes the contents through an algorithm which produces a probability as to whether it is an exploit. If it determines that it may be an exploit, it assignes a value of low, medium or high as to how likely it is an exploit. By default, this option reports medium and high likelihood exploits, it can also be used to quarantine high likelihood exploits.
Ignore File
Ignore fileA file containing resources for scanning to ignore
Xtra File
Xtra fileA file containing a list of regular expression matches and filenames that cxs will additionally scan for
Quarantine
Quarantine DirectoryMove suspicious files to Quarantine directory (must already have been created using cxs --qcreate). Since the likelihood of a false-positive is relatively high, it is recommended that a strict set of Quarantine Options is specified for manual scans.
Quarantine Options
(M) fingerprint match(B) Bayes high probabilityQuarantine specified types only
(S) SUID file(G) GUID file
(h) suspected exploit file(x) Windows binary or executable file
(v) virus(c) core dump file
(f) suspicious file name/type(e) Linux binary or executable file
Quarantine Options (advanced)
These advanced options can be dangerous (quarantine innocent files and scripts) and you should read and understand the documentation before enabling any of them
(m) regex pattern match(T) all PHP, Perl, and other script filesAdvanced Quarantine Options
(E) all email scripts(u) Script in suspicious directory
(U) all upload scripts 
Other Options
Quiet outputStop cxs displaying progress output
(use for cron jobs)
Show statistics summaryDisplay statistics for each scan
Send emails in HTMLReport emails will be sent in both HTML and plain-text
Enable SSL communicationsEnsures all communications with ConfigServer servers are over SSL
Maximum sizeMaximum text file size to scan
Maximum resourcesSkip scanning a directory if it contains more than this number of resources (files, directories, etc.)
Deep scanThis option will scan all text files for all regex matches, not just file extension or type specific ones
Display md5sumDisplay md5sum of a file if there is a regex match
Throttle cxsSleep if load is greater than this
Change TimeOnly scan files that have changed/been created within the last number of specified hours
Run scan as a background processIf you select Run Scan, this will launch the cxs scan job as a background process and not wait to display output
Force scanning within restricted
     directories
cxs will refuse to scan within /usr /var /bin /lib /lib64 /boot /etc /proc /sys /opt unless this option is selected. Only enable this option if you understand the implications. This option will not save as a default from the UI
Action (based on the options selected above)
                
    
\n";print "

\n";}else {print "\n";unless ($CV2ZIUG3J28L4Y8NZ98EI2KDO18AUNMRKV994WJZV7P7ZXJJVJA) {print "";} else {print "\n";}print "\n";print "
Running in Unrestricted Mode - create /etc/cxs/cxs.restricted to enable restricted access to this User Interface
Running in Restricted Mode - remove /etc/cxs/cxs.restricted to enable full access to this User Interface
The nature of this User Interface allows direct and indirect access to the root shell on the server, therefore any unauthorised root access to this interface could allow arbitrary commands to be run as root and system files to be overwritten. In Restricted Mode, the features that allow such access are disabled.

We recommend leaving this option enabled and if any of the restricted features are needed that they be done from the root shell via SSH.

If you want to completely disable UI access, create the file /etc/cxs/cxs.disableui or click the Disable UI button below


\n";print "\n";print "";print "\n";print "\n";print "\n";unless ($CV2ZIUG3J28L4Y8NZ98EI2KDO18AUNMRKV994WJZV7P7ZXJJVJA) {print "\n";print "\n";print "\n";print "\n";} else {print "\n";}print "
ConfigServer eXploit Scanner
Documentation for the cxs, including CLI POD, reference, installation and changelog files
Generate cxs commands to create manual scans, defaults settings and cron jobs
Note: Some options require Unrestricted Mode
Perform functions on quarantined files
Edit cxs configured cron jobs
Edit files and scripts associated with cxs
Enable Restricted Mode access to the UI
Completely disable access to this UI
Completely disable access to this UI
\n";my $CPTIBTU9IMYXUYDUT6XYWYKCQDBH0J5GG6QAGZP1A0GANOBXP8C;if (-e "\x{2f}\x{73}\x{62}\x{69}\x{6e}\x{2f}\x{70}\x{69}\x{64}\x{6f}\x{66}") {$CPTIBTU9IMYXUYDUT6XYWYKCQDBH0J5GG6QAGZP1A0GANOBXP8C = "- cxs Watch is not running";my ($CA7UJQAC01IIYKC4QNFTLNYSHBJEQLMPN9A52G9140G09708P8W, $C2WGDKJ1OKHQK8VK48PB9RARIGI2891ZM8WXUE9HBEJ4UWC5V56);my $CTMW3I2ETU1K4JFPDS584PFXS0WODZX1QSXQL0NAU0XDK0Q8CYV = open3($CA7UJQAC01IIYKC4QNFTLNYSHBJEQLMPN9A52G9140G09708P8W, $C2WGDKJ1OKHQK8VK48PB9RARIGI2891ZM8WXUE9HBEJ4UWC5V56, $C2WGDKJ1OKHQK8VK48PB9RARIGI2891ZM8WXUE9HBEJ4UWC5V56, "\x{2f}\x{73}\x{62}\x{69}\x{6e}\x{2f}\x{70}\x{69}\x{64}\x{6f}\x{66}","cxswatch");my @CZKMDM9YXAP0V2L933TLB4HY893POHFD2WQ31DM7A0MPOX6ZYU1 = <$C2WGDKJ1OKHQK8VK48PB9RARIGI2891ZM8WXUE9HBEJ4UWC5V56>;waitpid ($CTMW3I2ETU1K4JFPDS584PFXS0WODZX1QSXQL0NAU0XDK0Q8CYV, 0);chomp @CZKMDM9YXAP0V2L933TLB4HY893POHFD2WQ31DM7A0MPOX6ZYU1;if ($CZKMDM9YXAP0V2L933TLB4HY893POHFD2WQ31DM7A0MPOX6ZYU1[0] =~ /\d+/) {$CPTIBTU9IMYXUYDUT6XYWYKCQDBH0J5GG6QAGZP1A0GANOBXP8C = "- cxs Watch is running";} else {my ($CA7UJQAC01IIYKC4QNFTLNYSHBJEQLMPN9A52G9140G09708P8W, $C2WGDKJ1OKHQK8VK48PB9RARIGI2891ZM8WXUE9HBEJ4UWC5V56);my $CTMW3I2ETU1K4JFPDS584PFXS0WODZX1QSXQL0NAU0XDK0Q8CYV = open3($CA7UJQAC01IIYKC4QNFTLNYSHBJEQLMPN9A52G9140G09708P8W, $C2WGDKJ1OKHQK8VK48PB9RARIGI2891ZM8WXUE9HBEJ4UWC5V56, $C2WGDKJ1OKHQK8VK48PB9RARIGI2891ZM8WXUE9HBEJ4UWC5V56, "\x{2f}\x{73}\x{62}\x{69}\x{6e}\x{2f}\x{70}\x{69}\x{64}\x{6f}\x{66}","cxswatch starting...");my @CZKMDM9YXAP0V2L933TLB4HY893POHFD2WQ31DM7A0MPOX6ZYU1 = <$C2WGDKJ1OKHQK8VK48PB9RARIGI2891ZM8WXUE9HBEJ4UWC5V56>;waitpid ($CTMW3I2ETU1K4JFPDS584PFXS0WODZX1QSXQL0NAU0XDK0Q8CYV, 0);chomp @CZKMDM9YXAP0V2L933TLB4HY893POHFD2WQ31DM7A0MPOX6ZYU1;if ($CZKMDM9YXAP0V2L933TLB4HY893POHFD2WQ31DM7A0MPOX6ZYU1[0] =~ /\d+/) {$CPTIBTU9IMYXUYDUT6XYWYKCQDBH0J5GG6QAGZP1A0GANOBXP8C = "- cxs Watch is starting..."}}}print "\n";print "";unless ($CV2ZIUG3J28L4Y8NZ98EI2KDO18AUNMRKV994WJZV7P7ZXJJVJA) {print "\n";}unless ($CGBJTAIDPOCL73U7BMI8WY0BQLBN4V092OEQ9JQW160U89HBW90 eq "\x{44}\x{41}") {print "\n";print "\n";}print "\n";unless ($CGBJTAIDPOCL73U7BMI8WY0BQLBN4V092OEQ9JQW160U89HBW90 eq "\x{44}\x{41}") {print "\n";print "\n";}print "\n";print "
cxs Watch Daemon $CPTIBTU9IMYXUYDUT6XYWYKCQDBH0J5GG6QAGZP1A0GANOBXP8C
Edit the cxs Watch configuration file (/etc/cxs/cxswatch.sh)
Start the cxs Watch daemon process
Stop the cxs Watch daemon process
Restart the cxs Watch daemon process
Enable the cxs Watch daemon, including init boot and monitoring
Disable the cxs Watch daemon, including init boot and monitoring
Tail the cxs Watch daemon log file
\n";if ($CGBJTAIDPOCL73U7BMI8WY0BQLBN4V092OEQ9JQW160U89HBW90 eq "\x{43}\x{50}\x{41}\x{4e}\x{45}\x{4c}" and !(-e "/etc/ftpddisable") and -e "/etc/pure-ftpd.conf") {my $C1HWHLV3S3IXNCLF4D9BYSJ1NWVI06QEX7CBBD3Q8I3P22YK1TN = 1;my $CWAUDLM68X7BGVSK9OM6ZM7ZB93HQATKHCOP6YUIRAY40D5U0SP = "\x{64}\x{69}\x{73}\x{61}\x{62}\x{6c}\x{65}\x{64}";open (my $CG24RPVEY6ETCGIS5S7EQ8F4UVMO6US4XPNWZ9AT0PAMDU2W1QA, "\x{3c}", "/etc/pure-ftpd.conf");flock ($CG24RPVEY6ETCGIS5S7EQ8F4UVMO6US4XPNWZ9AT0PAMDU2W1QA, LOCK_SH);my @CLR3490HSKIOQJNN3TDTF8AA1ZEA70B82U6CWX2V6JEU9OLIG4Y = <$CG24RPVEY6ETCGIS5S7EQ8F4UVMO6US4XPNWZ9AT0PAMDU2W1QA>;close ($CG24RPVEY6ETCGIS5S7EQ8F4UVMO6US4XPNWZ9AT0PAMDU2W1QA);chomp @CLR3490HSKIOQJNN3TDTF8AA1ZEA70B82U6CWX2V6JEU9OLIG4Y;foreach my $C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S (@CLR3490HSKIOQJNN3TDTF8AA1ZEA70B82U6CWX2V6JEU9OLIG4Y) {if ($C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S =~ /^\s*calluploadscript\s+yes/i) {$C1HWHLV3S3IXNCLF4D9BYSJ1NWVI06QEX7CBBD3Q8I3P22YK1TN = 0}if ($C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S =~ /^\s*calluploadscript\s+no/i) {$C1HWHLV3S3IXNCLF4D9BYSJ1NWVI06QEX7CBBD3Q8I3P22YK1TN = 1}}if (-e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{66}\x{74}\x{70}\x{64}\x{64}\x{69}\x{73}\x{61}\x{62}\x{6c}\x{65}") {$C1HWHLV3S3IXNCLF4D9BYSJ1NWVI06QEX7CBBD3Q8I3P22YK1TN = 1}unless ($C1HWHLV3S3IXNCLF4D9BYSJ1NWVI06QEX7CBBD3Q8I3P22YK1TN) {$CWAUDLM68X7BGVSK9OM6ZM7ZB93HQATKHCOP6YUIRAY40D5U0SP = "\x{65}\x{6e}\x{61}\x{62}\x{6c}\x{65}\x{64}"}print "\n";print "";if ($C1HWHLV3S3IXNCLF4D9BYSJ1NWVI06QEX7CBBD3Q8I3P22YK1TN) {print "\n";} else {print "\n";print "\n";}print "
cxs PureFTPd Scanning ($CWAUDLM68X7BGVSK9OM6ZM7ZB93HQATKHCOP6YUIRAY40D5U0SP)
Enable pure-ftpd scanning integration
Disable pure-ftpd scanning integration
Restart pure-ftpd and pure-uploadscript correctly
\n";}if ($CGBJTAIDPOCL73U7BMI8WY0BQLBN4V092OEQ9JQW160U89HBW90 eq "\x{43}\x{50}\x{41}\x{4e}\x{45}\x{4c}") {my $C1HWHLV3S3IXNCLF4D9BYSJ1NWVI06QEX7CBBD3Q8I3P22YK1TN = 1;my $CWAUDLM68X7BGVSK9OM6ZM7ZB93HQATKHCOP6YUIRAY40D5U0SP = "\x{64}\x{69}\x{73}\x{61}\x{62}\x{6c}\x{65}\x{64}";my $C9KEG34T20OCPDIE170H9JEMJ71Y1CT9LEHEUCMGB8IADEZH2F8 = "";if (-e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{70}\x{61}\x{6e}\x{65}\x{6c}\x{2f}\x{65}\x{61}\x{34}\x{2f}\x{69}\x{73}\x{5f}\x{65}\x{61}\x{34}" and -e "/etc/apache2/conf.d/modsec/modsec2.cpanel.conf") {$C9KEG34T20OCPDIE170H9JEMJ71Y1CT9LEHEUCMGB8IADEZH2F8 = "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{61}\x{70}\x{61}\x{63}\x{68}\x{65}\x{32}\x{2f}\x{63}\x{6f}\x{6e}\x{66}\x{2e}\x{64}\x{2f}\x{6d}\x{6f}\x{64}\x{73}\x{65}\x{63}\x{2f}\x{6d}\x{6f}\x{64}\x{73}\x{65}\x{63}\x{32}\x{2e}\x{63}\x{70}\x{61}\x{6e}\x{65}\x{6c}\x{2e}\x{63}\x{6f}\x{6e}\x{66}";}elsif (-e "\x{2f}\x{75}\x{73}\x{72}\x{2f}\x{6c}\x{6f}\x{63}\x{61}\x{6c}\x{2f}\x{61}\x{70}\x{61}\x{63}\x{68}\x{65}\x{2f}\x{63}\x{6f}\x{6e}\x{66}\x{2f}\x{6d}\x{6f}\x{64}\x{73}\x{65}\x{63}\x{32}\x{2e}\x{63}\x{70}\x{61}\x{6e}\x{65}\x{6c}\x{2e}\x{63}\x{6f}\x{6e}\x{66}") {$C9KEG34T20OCPDIE170H9JEMJ71Y1CT9LEHEUCMGB8IADEZH2F8 = "\x{2f}\x{75}\x{73}\x{72}\x{2f}\x{6c}\x{6f}\x{63}\x{61}\x{6c}\x{2f}\x{61}\x{70}\x{61}\x{63}\x{68}\x{65}\x{2f}\x{63}\x{6f}\x{6e}\x{66}\x{2f}\x{6d}\x{6f}\x{64}\x{73}\x{65}\x{63}\x{32}\x{2e}\x{63}\x{70}\x{61}\x{6e}\x{65}\x{6c}\x{2e}\x{63}\x{6f}\x{6e}\x{66}";}if ($C9KEG34T20OCPDIE170H9JEMJ71Y1CT9LEHEUCMGB8IADEZH2F8 ne "") {open (my $CG24RPVEY6ETCGIS5S7EQ8F4UVMO6US4XPNWZ9AT0PAMDU2W1QA, "\x{3c}", $C9KEG34T20OCPDIE170H9JEMJ71Y1CT9LEHEUCMGB8IADEZH2F8);flock ($CG24RPVEY6ETCGIS5S7EQ8F4UVMO6US4XPNWZ9AT0PAMDU2W1QA, LOCK_SH);my @CK69MSUQCPEPS38VOEZ4ZVPW2G8DC4IVMU9OGAXW8V6O0TYI8PE = <$CG24RPVEY6ETCGIS5S7EQ8F4UVMO6US4XPNWZ9AT0PAMDU2W1QA>;close ($CG24RPVEY6ETCGIS5S7EQ8F4UVMO6US4XPNWZ9AT0PAMDU2W1QA);chomp @CK69MSUQCPEPS38VOEZ4ZVPW2G8DC4IVMU9OGAXW8V6O0TYI8PE;foreach my $C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S (@CK69MSUQCPEPS38VOEZ4ZVPW2G8DC4IVMU9OGAXW8V6O0TYI8PE) {if ($C5DYIZZ4P5VBJFBY9HEP7NW42XHWWPVVQJG99NPGQ9NTK8FRV9S =~ /configserver\/00_configserver.conf/) {$C1HWHLV3S3IXNCLF4D9BYSJ1NWVI06QEX7CBBD3Q8I3P22YK1TN = 0}}unless ($C1HWHLV3S3IXNCLF4D9BYSJ1NWVI06QEX7CBBD3Q8I3P22YK1TN) {$CWAUDLM68X7BGVSK9OM6ZM7ZB93HQATKHCOP6YUIRAY40D5U0SP = "\x{65}\x{6e}\x{61}\x{62}\x{6c}\x{65}\x{64}"}print "\n";print "";if ($C1HWHLV3S3IXNCLF4D9BYSJ1NWVI06QEX7CBBD3Q8I3P22YK1TN) {print "\n";} else {print "\n";}print "
cxs ModSecurity Scanning ($CWAUDLM68X7BGVSK9OM6ZM7ZB93HQATKHCOP6YUIRAY40D5U0SP) - This UI option only works with the cPanel/WHM integrated Apache ModSecurity implementation
Install and Enable Apache ModSecurity scanning
Remove Apache ModSecurity scanning
\n";}}print "\n";print "";my $CP4WGQG8QZ034G4K1GZW9N3KRMZD8TGKF24NOAIGVHPCXPOCEH0 = 0;my $C7E46PBWTL8QP0T6I8LWS038RCE4KP49ALKA8Q9XFDXTIEF59FN = 300;if (-e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{6e}\x{6f}\x{63}\x{68}\x{65}\x{63}\x{6b}") {open (my $CG24RPVEY6ETCGIS5S7EQ8F4UVMO6US4XPNWZ9AT0PAMDU2W1QA, "\x{3c}", "/etc/cxs/nocheck");flock ($CG24RPVEY6ETCGIS5S7EQ8F4UVMO6US4XPNWZ9AT0PAMDU2W1QA, LOCK_SH);my $CT636JSZ7EK1D2Y0BH9QHFGRY8QQL9QMRENOB6SBO391GLOPFPA = <$CG24RPVEY6ETCGIS5S7EQ8F4UVMO6US4XPNWZ9AT0PAMDU2W1QA>;close ($CG24RPVEY6ETCGIS5S7EQ8F4UVMO6US4XPNWZ9AT0PAMDU2W1QA);chomp $CT636JSZ7EK1D2Y0BH9QHFGRY8QQL9QMRENOB6SBO391GLOPFPA;$CP4WGQG8QZ034G4K1GZW9N3KRMZD8TGKF24NOAIGVHPCXPOCEH0 = time - $CT636JSZ7EK1D2Y0BH9QHFGRY8QQL9QMRENOB6SBO391GLOPFPA;if ($CP4WGQG8QZ034G4K1GZW9N3KRMZD8TGKF24NOAIGVHPCXPOCEH0 > $C7E46PBWTL8QP0T6I8LWS038RCE4KP49ALKA8Q9XFDXTIEF59FN) {unlink ("\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{6e}\x{6f}\x{63}\x{68}\x{65}\x{63}\x{6b}")}}unless (-e "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{6e}\x{6f}\x{63}\x{68}\x{65}\x{63}\x{6b}") {my ($CPTIBTU9IMYXUYDUT6XYWYKCQDBH0J5GG6QAGZP1A0GANOBXP8C, $C5AM54IYH11IYS5Y1ZKM6EN7UKBXLD3HJYQ1TJ7U1JSYJY98046) = &urlget("\x{68}\x{74}\x{74}\x{70}\x{73}\x{3a}\x{2f}\x{2f}\x{64}\x{6f}\x{77}\x{6e}\x{6c}\x{6f}\x{61}\x{64}\x{2e}\x{63}\x{6f}\x{6e}\x{66}\x{69}\x{67}\x{73}\x{65}\x{72}\x{76}\x{65}\x{72}\x{2e}\x{63}\x{6f}\x{6d}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{76}\x{65}\x{72}\x{73}\x{69}\x{6f}\x{6e}\x{2e}\x{74}\x{78}\x{74}");my $C8BK058U4KHHFK6LNOXTLTKB2UO54P0TFPFTR8M142G67HO7D0O = $C5AM54IYH11IYS5Y1ZKM6EN7UKBXLD3HJYQ1TJ7U1JSYJY98046;my $CLVLPZLF9BB8PQSO7B0Y52QGUCP09NVPFB92X1IRIE6P67NI314 = 0;if ($C8BK058U4KHHFK6LNOXTLTKB2UO54P0TFPFTR8M142G67HO7D0O ne "") {if ($C8BK058U4KHHFK6LNOXTLTKB2UO54P0TFPFTR8M142G67HO7D0O =~ /^[\d\.]*$/) {if ($C8BK058U4KHHFK6LNOXTLTKB2UO54P0TFPFTR8M142G67HO7D0O > $myv) {print "\n";} else {print "\n";}$CLVLPZLF9BB8PQSO7B0Y52QGUCP09NVPFB92X1IRIE6P67NI314 = 1;}}unless ($CLVLPZLF9BB8PQSO7B0Y52QGUCP09NVPFB92X1IRIE6P67NI314) {sysopen (my $C6TVX10EY3DN3MWQHEKIF19LPHS1HY0ASUVKWRHHNZ4MBMEUNB4, "\x{2f}\x{65}\x{74}\x{63}\x{2f}\x{63}\x{78}\x{73}\x{2f}\x{6e}\x{6f}\x{63}\x{68}\x{65}\x{63}\x{6b}", O_WRONLY | O_CREAT);flock ($C6TVX10EY3DN3MWQHEKIF19LPHS1HY0ASUVKWRHHNZ4MBMEUNB4, LOCK_EX);print $C6TVX10EY3DN3MWQHEKIF19LPHS1HY0ASUVKWRHHNZ4MBMEUNB4 time;close ($C6TVX10EY3DN3MWQHEKIF19LPHS1HY0ASUVKWRHHNZ4MBMEUNB4);print "\n";}} else {print "\n";}print "
Upgrade
A new version of cxs (v$C8BK058U4KHHFK6LNOXTLTKB2UO54P0TFPFTR8M142G67HO7D0O) is available. Upgrading will retain your settings
View ChangeLog
You are running the latest version of cxs. An Upgrade button will appear here if a new version becomes available
Unable to connect to http://www.configserver.com, retry in $C7E46PBWTL8QP0T6I8LWS038RCE4KP49ALKA8Q9XFDXTIEF59FN seconds. An Upgrade button will appear here if new version is detected
Unable to connect to http://www.configserver.com, retry in ".($C7E46PBWTL8QP0T6I8LWS038RCE4KP49ALKA8Q9XFDXTIEF59FN - $CP4WGQG8QZ034G4K1GZW9N3KRMZD8TGKF24NOAIGVHPCXPOCEH0)." seconds. An Upgrade button will appear here if new version is detected
\n";}unless ($FORM{action} eq "\x{74}\x{61}\x{69}\x{6c}\x{63}\x{6d}\x{64}") {print "
cxs: v$myv
";print "

©2009-2016, ConfigServer Services (Way to the Web Limited)

\n";}sub printcmd {my @CK14RZ5QNGF76ZLG2FFHDFC47WQDBNTYE4SJ8IFV12DRG1ZI496 = @_;my ($CA7UJQAC01IIYKC4QNFTLNYSHBJEQLMPN9A52G9140G09708P8W, $C2WGDKJ1OKHQK8VK48PB9RARIGI2891ZM8WXUE9HBEJ4UWC5V56);my $CTMW3I2ETU1K4JFPDS584PFXS0WODZX1QSXQL0NAU0XDK0Q8CYV = open3($CA7UJQAC01IIYKC4QNFTLNYSHBJEQLMPN9A52G9140G09708P8W, $C2WGDKJ1OKHQK8VK48PB9RARIGI2891ZM8WXUE9HBEJ4UWC5V56, $C2WGDKJ1OKHQK8VK48PB9RARIGI2891ZM8WXUE9HBEJ4UWC5V56, @CK14RZ5QNGF76ZLG2FFHDFC47WQDBNTYE4SJ8IFV12DRG1ZI496);while (<$C2WGDKJ1OKHQK8VK48PB9RARIGI2891ZM8WXUE9HBEJ4UWC5V56>) {print $_}waitpid ($CTMW3I2ETU1K4JFPDS584PFXS0WODZX1QSXQL0NAU0XDK0Q8CYV, 0);return;}sub movefile {my $CRZJRE4QMW8P1KVKJ2PNZ2A3LVD7M8XIPMS2VH0V79NR95R3FJT = shift;my $CQDNMSVISEP89MW2TZK9VDAKP9RAW1PI32NOCLSLEPZA93Q5C0B = shift;my $CPTIBTU9IMYXUYDUT6XYWYKCQDBH0J5GG6QAGZP1A0GANOBXP8C;my $C6TVX10EY3DN3MWQHEKIF19LPHS1HY0ASUVKWRHHNZ4MBMEUNB4;if (-l $CRZJRE4QMW8P1KVKJ2PNZ2A3LVD7M8XIPMS2VH0V79NR95R3FJT) {return "Restore failed - [File is a symlink]: $CRZJRE4QMW8P1KVKJ2PNZ2A3LVD7M8XIPMS2VH0V79NR95R3FJT"}if (!-f $CRZJRE4QMW8P1KVKJ2PNZ2A3LVD7M8XIPMS2VH0V79NR95R3FJT) {return "Restore failed - [Not a file]: $CRZJRE4QMW8P1KVKJ2PNZ2A3LVD7M8XIPMS2VH0V79NR95R3FJT"}my (undef,undef,$CGPTXF9Q5ZOVN0E71S3GNMNYNNGJJSV4I6FJHY8RGDZJX1Y85BH,undef,$CNKCQ2OR3MPW04L9PLLKWBHD9JHRUVASJJRCIO078UBIAPUWBWM,$COODVRDR2F3IO13A9GPELTFSNT1Y0VBI2RJ45R86W4NCL9UI76J,undef) = stat($CRZJRE4QMW8P1KVKJ2PNZ2A3LVD7M8XIPMS2VH0V79NR95R3FJT);if ($CNKCQ2OR3MPW04L9PLLKWBHD9JHRUVASJJRCIO078UBIAPUWBWM != 0) {chdir("\x{2f}"); $) = $COODVRDR2F3IO13A9GPELTFSNT1Y0VBI2RJ45R86W4NCL9UI76J; ## no critic - $> = $CNKCQ2OR3MPW04L9PLLKWBHD9JHRUVASJJRCIO078UBIAPUWBWM; ## no critic -if (($) != $COODVRDR2F3IO13A9GPELTFSNT1Y0VBI2RJ45R86W4NCL9UI76J) or ($> != $CNKCQ2OR3MPW04L9PLLKWBHD9JHRUVASJJRCIO078UBIAPUWBWM)) {return "Failed to drop privileges ($CNKCQ2OR3MPW04L9PLLKWBHD9JHRUVASJJRCIO078UBIAPUWBWM:$COODVRDR2F3IO13A9GPELTFSNT1Y0VBI2RJ45R86W4NCL9UI76J)"}} else {return "Restore failed - invalid file owner ($CNKCQ2OR3MPW04L9PLLKWBHD9JHRUVASJJRCIO078UBIAPUWBWM:$COODVRDR2F3IO13A9GPELTFSNT1Y0VBI2RJ45R86W4NCL9UI76J): $CRZJRE4QMW8P1KVKJ2PNZ2A3LVD7M8XIPMS2VH0V79NR95R3FJT"}if (-e $CQDNMSVISEP89MW2TZK9VDAKP9RAW1PI32NOCLSLEPZA93Q5C0B) {$CPTIBTU9IMYXUYDUT6XYWYKCQDBH0J5GG6QAGZP1A0GANOBXP8C = "Restore failed - [File exists]: $CQDNMSVISEP89MW2TZK9VDAKP9RAW1PI32NOCLSLEPZA93Q5C0B
This file must be manually deleted before restore";}elsif (sysopen ($C6TVX10EY3DN3MWQHEKIF19LPHS1HY0ASUVKWRHHNZ4MBMEUNB4, $CQDNMSVISEP89MW2TZK9VDAKP9RAW1PI32NOCLSLEPZA93Q5C0B, O_EXCL | O_WRONLY | O_CREAT)) {flock ($C6TVX10EY3DN3MWQHEKIF19LPHS1HY0ASUVKWRHHNZ4MBMEUNB4, LOCK_EX) or return "Restore failed - [Unable to lock: $!]: $CQDNMSVISEP89MW2TZK9VDAKP9RAW1PI32NOCLSLEPZA93Q5C0B";open (my $CG24RPVEY6ETCGIS5S7EQ8F4UVMO6US4XPNWZ9AT0PAMDU2W1QA,"\x{3c}",$CRZJRE4QMW8P1KVKJ2PNZ2A3LVD7M8XIPMS2VH0V79NR95R3FJT) or return "Restore failed - [Unable to open: $!]: $CRZJRE4QMW8P1KVKJ2PNZ2A3LVD7M8XIPMS2VH0V79NR95R3FJT";flock ($CG24RPVEY6ETCGIS5S7EQ8F4UVMO6US4XPNWZ9AT0PAMDU2W1QA, LOCK_SH);my @CLIHMZ2Q4Z8JZSJ4EFK5OTGSUB2NRMIGJXA7DS1B5L6IHSRF6GT = <$CG24RPVEY6ETCGIS5S7EQ8F4UVMO6US4XPNWZ9AT0PAMDU2W1QA> or return "Restore failed - [Unable to read: $!]: $CRZJRE4QMW8P1KVKJ2PNZ2A3LVD7M8XIPMS2VH0V79NR95R3FJT";close ($CG24RPVEY6ETCGIS5S7EQ8F4UVMO6US4XPNWZ9AT0PAMDU2W1QA) or return "Restore failed - [Unable to close: $!]: $CRZJRE4QMW8P1KVKJ2PNZ2A3LVD7M8XIPMS2VH0V79NR95R3FJT";print $C6TVX10EY3DN3MWQHEKIF19LPHS1HY0ASUVKWRHHNZ4MBMEUNB4 @CLIHMZ2Q4Z8JZSJ4EFK5OTGSUB2NRMIGJXA7DS1B5L6IHSRF6GT or return "Restore failed - [Unable to write: $!]: $CQDNMSVISEP89MW2TZK9VDAKP9RAW1PI32NOCLSLEPZA93Q5C0B";close ($C6TVX10EY3DN3MWQHEKIF19LPHS1HY0ASUVKWRHHNZ4MBMEUNB4) or return "Restore failed - [Unable to close: $!]: $CQDNMSVISEP89MW2TZK9VDAKP9RAW1PI32NOCLSLEPZA93Q5C0B";chmod($CGPTXF9Q5ZOVN0E71S3GNMNYNNGJJSV4I6FJHY8RGDZJX1Y85BH,$CQDNMSVISEP89MW2TZK9VDAKP9RAW1PI32NOCLSLEPZA93Q5C0B);if ($CNKCQ2OR3MPW04L9PLLKWBHD9JHRUVASJJRCIO078UBIAPUWBWM != 0) {chdir("\x{2f}"); $) = 0; ## no critic - $> = 0; ## no critic -}$CPTIBTU9IMYXUYDUT6XYWYKCQDBH0J5GG6QAGZP1A0GANOBXP8C = "Restored to $CQDNMSVISEP89MW2TZK9VDAKP9RAW1PI32NOCLSLEPZA93Q5C0B";unlink $CRZJRE4QMW8P1KVKJ2PNZ2A3LVD7M8XIPMS2VH0V79NR95R3FJT;} else {$CPTIBTU9IMYXUYDUT6XYWYKCQDBH0J5GG6QAGZP1A0GANOBXP8C = "Restore failed - [$!]: $CQDNMSVISEP89MW2TZK9VDAKP9RAW1PI32NOCLSLEPZA93Q5C0B";}if ($CNKCQ2OR3MPW04L9PLLKWBHD9JHRUVASJJRCIO078UBIAPUWBWM != 0) {chdir("\x{2f}"); $) = 0; ## no critic - $> = 0; ## no critic -}return $CPTIBTU9IMYXUYDUT6XYWYKCQDBH0J5GG6QAGZP1A0GANOBXP8C;}sub gencmd {my @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5;push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, '/usr/sbin/cxs';foreach my $CYX5C2LENCDM3Q1X2VHC5FV8DJVJV9VJMYR95GQJC9FM0UBJDOP (keys %FORM) {$FORM{$CYX5C2LENCDM3Q1X2VHC5FV8DJVJV9VJMYR95GQJC9FM0UBJDOP} =~ s/\s*//g}if ($CV2ZIUG3J28L4Y8NZ98EI2KDO18AUNMRKV994WJZV7P7ZXJJVJA) {if ($FORM{report}) {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, '--report','/var/log/cxs.scan'}if ($FORM{logfile}) {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, '--logfile','/var/log/cxs.log'}} else {if ($FORM{report}) {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, '--report',$FORM{reportfile}}if ($FORM{logfile}) {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, '--logfile',$FORM{logfilefile}}}if ($FORM{mail}) {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, '--mail', $FORM{email}}if ($FORM{smtp}) {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, '--smtp'}if ($FORM{exploitscan}) {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, '--exploitscan'} else {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, '--noexploitscan'}if ($FORM{virusscan}) {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, '--virusscan'} else {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, '--novirusscan'}if ($FORM{sversionscan}) {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, '--sversionscan'} else {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, '--nosversionscan'}if ($FORM{bayes}) {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, '--bayes'} else {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, '--nobayes'}if ($FORM{ignore}) {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, '-I'; push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, $FORM{ignorefile}}if ($FORM{xtra}) {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, '-X'; push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, $FORM{xtrafile}}if ($FORM{quarantine}) {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, '-Q'; push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, $FORM{quarantinedir}}my $CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC;if ($FORM{optionsm}) {$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC .= 'm'}if ($FORM{optionsM}) {$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC .= 'M'}if ($FORM{optionsO}) {$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC .= 'O'}if ($FORM{optionsL}) {$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC .= 'L'}if ($FORM{optionsf}) {$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC .= 'f'}if ($FORM{optionsu}) {$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC .= 'u'}if ($FORM{optionsS}) {$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC .= 'S'}if ($FORM{optionsG}) {$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC .= 'G'}if ($FORM{optionsc}) {$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC .= 'c'}if ($FORM{optionsh}) {$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC .= 'h'}if ($FORM{optionse}) {$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC .= 'e'}if ($FORM{optionsx}) {$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC .= 'x'}if ($FORM{optionsd}) {$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC .= 'd'}if ($FORM{optionsn}) {$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC .= 'n'}if ($FORM{optionsw}) {$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC .= 'w'}if ($FORM{optionsZ}) {$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC .= 'Z'}if ($FORM{optionsR}) {$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC .= 'R'}if ($FORM{optionsD}) {$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC .= 'D'}unless ($CV2ZIUG3J28L4Y8NZ98EI2KDO18AUNMRKV994WJZV7P7ZXJJVJA) {if ($FORM{optionsW}) {$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC .= 'W'}if ($FORM{optionsE}) {$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC .= 'E'}if ($FORM{optionsU}) {$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC .= 'U'}if ($FORM{optionsT}) {$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC .= 'T'}if ($FORM{optionsC}) {$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC .= 'C'}if ($FORM{optionsP}) {$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC .= 'P'}}if ($CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC ne "") {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5,"--options",$CE5DM1YB2403FUG7JT40U76AU58PN4QDQE55GNK7UEIRJRTT2IC}my $CEC9WKFJNIRK69XL7POAGIJSMSM771BNMO2L93M7OU13U44CE6R;if ($FORM{voptionsm}) {$CEC9WKFJNIRK69XL7POAGIJSMSM771BNMO2L93M7OU13U44CE6R .= 'm'}if ($FORM{voptionsf}) {$CEC9WKFJNIRK69XL7POAGIJSMSM771BNMO2L93M7OU13U44CE6R .= 'f'}if ($FORM{voptionsu}) {$CEC9WKFJNIRK69XL7POAGIJSMSM771BNMO2L93M7OU13U44CE6R .= 'u'}if ($FORM{voptionsh}) {$CEC9WKFJNIRK69XL7POAGIJSMSM771BNMO2L93M7OU13U44CE6R .= 'h'}if ($FORM{voptionse}) {$CEC9WKFJNIRK69XL7POAGIJSMSM771BNMO2L93M7OU13U44CE6R .= 'e'}if ($FORM{voptionsx}) {$CEC9WKFJNIRK69XL7POAGIJSMSM771BNMO2L93M7OU13U44CE6R .= 'x'}if ($FORM{voptionsT}) {$CEC9WKFJNIRK69XL7POAGIJSMSM771BNMO2L93M7OU13U44CE6R .= 'T'}if ($CEC9WKFJNIRK69XL7POAGIJSMSM771BNMO2L93M7OU13U44CE6R ne "") {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5,"--voptions",$CEC9WKFJNIRK69XL7POAGIJSMSM771BNMO2L93M7OU13U44CE6R}my $C35QCT0APQVO19MEKXTLS70OZNQT98JYDMXF1ANAPULTJDTQ8JM;if ($FORM{soptionsa}) {$C35QCT0APQVO19MEKXTLS70OZNQT98JYDMXF1ANAPULTJDTQ8JM .= 'a'}if ($FORM{soptionsd}) {$C35QCT0APQVO19MEKXTLS70OZNQT98JYDMXF1ANAPULTJDTQ8JM .= 'd'}if ($C35QCT0APQVO19MEKXTLS70OZNQT98JYDMXF1ANAPULTJDTQ8JM ne "") {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5,"--soptions",$C35QCT0APQVO19MEKXTLS70OZNQT98JYDMXF1ANAPULTJDTQ8JM}my $CB2A4ZXAW6I6HA9IHXMDUY1VFFXUL37CROICOAX00QG5YB48WIA;if ($FORM{qoptionsM}) {$CB2A4ZXAW6I6HA9IHXMDUY1VFFXUL37CROICOAX00QG5YB48WIA .= 'M'}if ($FORM{qoptionsB}) {$CB2A4ZXAW6I6HA9IHXMDUY1VFFXUL37CROICOAX00QG5YB48WIA .= 'B'}if ($FORM{qoptionsf}) {$CB2A4ZXAW6I6HA9IHXMDUY1VFFXUL37CROICOAX00QG5YB48WIA .= 'f'}if ($FORM{qoptionsS}) {$CB2A4ZXAW6I6HA9IHXMDUY1VFFXUL37CROICOAX00QG5YB48WIA .= 'S'}if ($FORM{qoptionsG}) {$CB2A4ZXAW6I6HA9IHXMDUY1VFFXUL37CROICOAX00QG5YB48WIA .= 'G'}if ($FORM{qoptionsc}) {$CB2A4ZXAW6I6HA9IHXMDUY1VFFXUL37CROICOAX00QG5YB48WIA .= 'c'}if ($FORM{qoptionsh}) {$CB2A4ZXAW6I6HA9IHXMDUY1VFFXUL37CROICOAX00QG5YB48WIA .= 'h'}if ($FORM{qoptionsx}) {$CB2A4ZXAW6I6HA9IHXMDUY1VFFXUL37CROICOAX00QG5YB48WIA .= 'x'}if ($FORM{qoptionsv}) {$CB2A4ZXAW6I6HA9IHXMDUY1VFFXUL37CROICOAX00QG5YB48WIA .= 'v'}if ($FORM{qoptionse}) {$CB2A4ZXAW6I6HA9IHXMDUY1VFFXUL37CROICOAX00QG5YB48WIA .= 'e'}unless ($CV2ZIUG3J28L4Y8NZ98EI2KDO18AUNMRKV994WJZV7P7ZXJJVJA) {if ($FORM{qoptionsm}) {$CB2A4ZXAW6I6HA9IHXMDUY1VFFXUL37CROICOAX00QG5YB48WIA .= 'm'}if ($FORM{qoptionsE}) {$CB2A4ZXAW6I6HA9IHXMDUY1VFFXUL37CROICOAX00QG5YB48WIA .= 'E'}if ($FORM{qoptionsU}) {$CB2A4ZXAW6I6HA9IHXMDUY1VFFXUL37CROICOAX00QG5YB48WIA .= 'U'}if ($FORM{qoptionsu}) {$CB2A4ZXAW6I6HA9IHXMDUY1VFFXUL37CROICOAX00QG5YB48WIA .= 'u'}if ($FORM{qoptionsT}) {$CB2A4ZXAW6I6HA9IHXMDUY1VFFXUL37CROICOAX00QG5YB48WIA .= 'T'}}if ($CB2A4ZXAW6I6HA9IHXMDUY1VFFXUL37CROICOAX00QG5YB48WIA ne "") {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5,"--qoptions",$CB2A4ZXAW6I6HA9IHXMDUY1VFFXUL37CROICOAX00QG5YB48WIA}if ($FORM{quiet}) {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, '-Z'}if ($FORM{www}) {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, '--www'}if ($FORM{summary}) {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, '--summary'} else {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, '--nosummary'}if ($FORM{html}) {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, '--html'} else {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, '--nohtml'}if ($FORM{ssl}) {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, '--ssl'} else {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, '--nossl'}if ($FORM{sizemax}) {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, '-S', $FORM{sizebytes}}if ($FORM{filemax}) {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, '-F', $FORM{filenum}}if ($FORM{clamdsock} and $FORM{clamdsocket}) {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, '-C', $FORM{clamdsocket}}if ($FORM{fallback}) {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, '--fallback'} else {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, '--nofallback'}if ($FORM{throttle}) {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, '-T'; push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, $FORM{throttlenum}}if ($FORM{ctime}) {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, '--ctime'; push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, $FORM{ctimenum}}if ($FORM{deep}) {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, '-E'}if ($FORM{MD5}) {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, '--MD5'}if ($FORM{background}) {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, '-B'}unless ($CV2ZIUG3J28L4Y8NZ98EI2KDO18AUNMRKV994WJZV7P7ZXJJVJA) {if ($FORM{force}) {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, '--force'}}if ($FORM{resource} eq 'all') {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, '--allusers';}if ($FORM{resource} eq 'allskip') {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, '--allusers','-K', $FORM{skipoveruser};}if ($FORM{resource} eq 'alljump') {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, '--allusers','--jumpfrom', $FORM{jumpfrom},'--jumpto', $FORM{jumpto};}elsif ($FORM{resource} eq 'user') {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, '--user', $FORM{user}}elsif ($FORM{resource} eq 'file') {push @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5, $FORM{file}}return @CHQHNFMBUJRWEGUVSMRYB06J30O6A54L0PYHSAOUT8B077KFWD5;}sub urlget {my $CRJ444YK5UBBNIIJ7SO0AQ9A7TDSVLBGIRDSSMGKD5GM9YCEELC = shift;my $CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7 = shift;my $C1Q90ENHA7YEUITVZHGM7WC2TFLUF1SNIQ24MY67X241DP9QL6S = shift;my $CPTIBTU9IMYXUYDUT6XYWYKCQDBH0J5GG6QAGZP1A0GANOBXP8C = 0;my $CTO5HSD95N502HBTJI60OXUQ21DWUM7I9WCDPVBMZG5TNUSASFT = 1200;my $CH1G21TEUAM63CXIW0Z33YC7AXGBY68RGN1KKGN8ATY9R9SCADP = LWP::UserAgent->new;$CH1G21TEUAM63CXIW0Z33YC7AXGBY68RGN1KKGN8ATY9R9SCADP->agent("cxs/$CHZNT8R99Y8F7UR1HGBJ7J9EXBA20ECVA6SAV3OPHHDFSR73H86");$CH1G21TEUAM63CXIW0Z33YC7AXGBY68RGN1KKGN8ATY9R9SCADP->timeout(30);my $C77LC0LN8Z2T159AG1KJ0PP8L2YTXTPLXBT3BLQ2N99E4AHEI4O = HTTP::Request->new(GET => $CRJ444YK5UBBNIIJ7SO0AQ9A7TDSVLBGIRDSSMGKD5GM9YCEELC);my $CQGEHVECJUZIDXUPJO7JR392GF9R9WZR582E7GEPG4L7K78JBEA;my $C5AM54IYH11IYS5Y1ZKM6EN7UKBXLD3HJYQ1TJ7U1JSYJY98046;($CPTIBTU9IMYXUYDUT6XYWYKCQDBH0J5GG6QAGZP1A0GANOBXP8C, $C5AM54IYH11IYS5Y1ZKM6EN7UKBXLD3HJYQ1TJ7U1JSYJY98046) = eval {local $SIG{__DIE__} = undef;local $SIG{'ALRM'} = sub {die "Download timeout after $CTO5HSD95N502HBTJI60OXUQ21DWUM7I9WCDPVBMZG5TNUSASFT seconds"};alarm($CTO5HSD95N502HBTJI60OXUQ21DWUM7I9WCDPVBMZG5TNUSASFT);if ($CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7) {local $|=1;my $CEQL0ACA3XR6CLFXL3H936AC5AX6XNA4975CE2ZFQ56HXJ80LQ6;my $CVBIZ179GKM5OP65N243630B7T8U2JC18QVHR782QCB1Y8MOLIH = 0;my $CGW493BHLK3JEN16EYE8GKE2HYM2O1URFLLVTMBOZJWS26H0M6K = 0;my $C0BAUCFW3Q26WTQHJ21NOL5JJEFYRE4RJEZNCDCI4S66LED44K5 = 0;open (my $C6TVX10EY3DN3MWQHEKIF19LPHS1HY0ASUVKWRHHNZ4MBMEUNB4, "\x{3e}", "$CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7\.tmp") or return (1, "Unable to open $CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7\.tmp: $!");flock ($C6TVX10EY3DN3MWQHEKIF19LPHS1HY0ASUVKWRHHNZ4MBMEUNB4, LOCK_EX);binmode ($C6TVX10EY3DN3MWQHEKIF19LPHS1HY0ASUVKWRHHNZ4MBMEUNB4);$CQGEHVECJUZIDXUPJO7JR392GF9R9WZR582E7GEPG4L7K78JBEA = $CH1G21TEUAM63CXIW0Z33YC7AXGBY68RGN1KKGN8ATY9R9SCADP->request($C77LC0LN8Z2T159AG1KJ0PP8L2YTXTPLXBT3BLQ2N99E4AHEI4O,sub {my($CM3SKXKQCBOBXXT0O69HISAI431QV85IESVW3G5CZUQEXKK2VFQ, $CQGEHVECJUZIDXUPJO7JR392GF9R9WZR582E7GEPG4L7K78JBEA) = @_;$CVBIZ179GKM5OP65N243630B7T8U2JC18QVHR782QCB1Y8MOLIH += length($CM3SKXKQCBOBXXT0O69HISAI431QV85IESVW3G5CZUQEXKK2VFQ);unless (defined $CEQL0ACA3XR6CLFXL3H936AC5AX6XNA4975CE2ZFQ56HXJ80LQ6) {$CEQL0ACA3XR6CLFXL3H936AC5AX6XNA4975CE2ZFQ56HXJ80LQ6 = $CQGEHVECJUZIDXUPJO7JR392GF9R9WZR582E7GEPG4L7K78JBEA->content_length || 0}if ($CEQL0ACA3XR6CLFXL3H936AC5AX6XNA4975CE2ZFQ56HXJ80LQ6) {my $CGW493BHLK3JEN16EYE8GKE2HYM2O1URFLLVTMBOZJWS26H0M6K = int(100 * $CVBIZ179GKM5OP65N243630B7T8U2JC18QVHR782QCB1Y8MOLIH / $CEQL0ACA3XR6CLFXL3H936AC5AX6XNA4975CE2ZFQ56HXJ80LQ6);if ((int($CGW493BHLK3JEN16EYE8GKE2HYM2O1URFLLVTMBOZJWS26H0M6K / 5) == $CGW493BHLK3JEN16EYE8GKE2HYM2O1URFLLVTMBOZJWS26H0M6K / 5) and ($CGW493BHLK3JEN16EYE8GKE2HYM2O1URFLLVTMBOZJWS26H0M6K != $C0BAUCFW3Q26WTQHJ21NOL5JJEFYRE4RJEZNCDCI4S66LED44K5) and !$C1Q90ENHA7YEUITVZHGM7WC2TFLUF1SNIQ24MY67X241DP9QL6S) {print "...$CGW493BHLK3JEN16EYE8GKE2HYM2O1URFLLVTMBOZJWS26H0M6K\%\n";$C0BAUCFW3Q26WTQHJ21NOL5JJEFYRE4RJEZNCDCI4S66LED44K5 = $CGW493BHLK3JEN16EYE8GKE2HYM2O1URFLLVTMBOZJWS26H0M6K;}} else {unless ($C1Q90ENHA7YEUITVZHGM7WC2TFLUF1SNIQ24MY67X241DP9QL6S) {print "\x{2e}"}}print $C6TVX10EY3DN3MWQHEKIF19LPHS1HY0ASUVKWRHHNZ4MBMEUNB4 $CM3SKXKQCBOBXXT0O69HISAI431QV85IESVW3G5CZUQEXKK2VFQ;});close ($C6TVX10EY3DN3MWQHEKIF19LPHS1HY0ASUVKWRHHNZ4MBMEUNB4);unless ($C1Q90ENHA7YEUITVZHGM7WC2TFLUF1SNIQ24MY67X241DP9QL6S) {print "\n"}} else {$CQGEHVECJUZIDXUPJO7JR392GF9R9WZR582E7GEPG4L7K78JBEA = $CH1G21TEUAM63CXIW0Z33YC7AXGBY68RGN1KKGN8ATY9R9SCADP->request($C77LC0LN8Z2T159AG1KJ0PP8L2YTXTPLXBT3BLQ2N99E4AHEI4O);}alarm(0);if ($CQGEHVECJUZIDXUPJO7JR392GF9R9WZR582E7GEPG4L7K78JBEA->is_success) {if ($CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7) {rename ("$CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7\.tmp","$CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7") or return (1, "Unable to rename $CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7\.tmp to $CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7: $!");return (0, $CYA4VTCR7Q3KEEYBJAVQ53X8UJGYIJL2A76BKFXT5FKKDYHWJN7);} else {return (0, $CQGEHVECJUZIDXUPJO7JR392GF9R9WZR582E7GEPG4L7K78JBEA->content);}} else {return (1, "\x{55}\x{6e}\x{61}\x{62}\x{6c}\x{65}\x{20}\x{74}\x{6f}\x{20}\x{64}\x{6f}\x{77}\x{6e}\x{6c}\x{6f}\x{61}\x{64}\x{3a}\x{20}".$CQGEHVECJUZIDXUPJO7JR392GF9R9WZR582E7GEPG4L7K78JBEA->message);}};alarm(0);if ($@) {return (1, $@);}if ($C5AM54IYH11IYS5Y1ZKM6EN7UKBXLD3HJYQ1TJ7U1JSYJY98046) {return ($CPTIBTU9IMYXUYDUT6XYWYKCQDBH0J5GG6QAGZP1A0GANOBXP8C,$C5AM54IYH11IYS5Y1ZKM6EN7UKBXLD3HJYQ1TJ7U1JSYJY98046);} else {return (1, "Download timeout after $CTO5HSD95N502HBTJI60OXUQ21DWUM7I9WCDPVBMZG5TNUSASFT seconds");}} -1; \ No newline at end of file diff --git a/cxs/cxswatch.sh b/cxs/cxswatch.sh deleted file mode 100755 index 81f36d5..0000000 --- a/cxs/cxswatch.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -############################################################################### -# Copyright 2009-2016, Way to the Web Limited -# URL: http://www.configserver.com -# Email: sales@waytotheweb.com -############################################################################### -# The option --Wstart MUST be used on the cxs command line here -# -# Examples (only use ONE line for cxs scanning): -#/usr/sbin/cxs --Wstart --allusers --mail root -#/usr/sbin/cxs --Wstart --allusers --www --mail root --quarantine /home/safe/ --qoptions Mv --Wadd /etc/cxs/cxs.wadd -# -# We would recommend using --qoptions Mv initially if you use --quarantine -# otherwise you might find cxs quarantining files that you do not want to. -# For example, you probably do NOT want to quarantine all script files (T)! -# - -#/usr/sbin/cxs --options -wW --Wstart --allusers --www --smtp --mail root --Wmaxchild 3 --Wloglevel 0 --Wsleep 3 --filemax 0 --Wrateignore 300 -/usr/sbin/cxs --Wstart --allusers --www --exploitscan --virusscan --block --smtp --mail csf@gazduire.ro -Q /home/quarantine/ -I /etc/cxs/cxs.ignore --options mMvOfuSGchnZRD --qoptions mMfcv -C /tmp/clamd --Wmaxchild 1 --Wloglevel 0 --Wsleep 5 --filemax 0 --Wrateignore 300 --Wsymlink /etc/cxs/symlinkdisable.pl diff --git a/cxs/cxswebmin.tgz b/cxs/cxswebmin.tgz deleted file mode 100644 index 5a50b236aa436615c33bead3ef3b28ae80bff4da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6839 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 diff --git a/cxs/htaccessdisable.example.pl b/cxs/htaccessdisable.example.pl deleted file mode 100755 index 950f589..0000000 --- a/cxs/htaccessdisable.example.pl +++ /dev/null @@ -1,55 +0,0 @@ -#!/usr/local/cpanel/3rdparty/bin/perl -#****************************************************************************** -# Copyright 2009-2016, Way to the Web Limited -# URL: http://www.waytotheweb.com -# Email: sales@waytotheweb.com -#****************************************************************************** -# Example to disable a directory containing a match using a .htaccess file -# -# NOTE: If you intend to use this script, copy it to a different filename as -# this file will be overwritten when cxs upgrades -use strict; -use File::Basename; - -# Set to 1 to have more verbose output -my $verbose = 0; - -if (@ARGV < 2) {print "\ncpanelsuspend.pl: Not enough Args to suspend: @ARGV\n"; exit} - -# Assign arguments to variables -my $filename = $ARGV[0]; -my $option = $ARGV[1]; -my $message = $ARGV[2]; -my $account = $ARGV[3]; - -# Get the directory name from the file name -my $dirname = dirname($filename); - -# If option is a Virus or Known Exploit -if ($option =~ /v|M$/) { - - # Check we have a directory - if (-d $dirname) { - - # Check that we haven't already disabled a .htaccess file in this directory - if (!(-e "$dirname/.htaccess.cxs_disable") and -e "$dirname/.htaccess") { - system("/bin/cp","-a","$dirname/.htaccess","$dirname/.htaccess.cxs_disable"); - } - elsif (-e "$dirname/.htaccess.cxs_disable" and !(-e "$dirname/.htaccess")) { - unlink("$dirname/.htaccess.cxs_disable"); - } - - # Write out a new .htaccess file denying access - open (my $HTACCESS, ">", "$dirname/.htaccess") or die "htaccessdisable.pl: Unable to create [$dirname/.htaccess] - $!"; - print $HTACCESS "#cxs has disabled web access to this directory\n"; - print $HTACCESS "deny from all\n"; - close ($HTACCESS) or die "htaccessdisable.pl: Unable to create [$dirname/.htaccess] - $!"; - - if ($verbose) {print "\nhtaccessdisable.pl: Directory [$dirname] disabled\n"} - - } else {if ($verbose) {print "\nhtaccessdisable.pl: Directory for [$filename] does not exist\n"}} - - -} else {if ($verbose) {print "\nhtaccessdisable.pl: Not a suspend option ($option)\n"}} - -exit; diff --git a/cxs/install.txt b/cxs/install.txt deleted file mode 100644 index c0f4061..0000000 --- a/cxs/install.txt +++ /dev/null @@ -1,151 +0,0 @@ -############################################################################### -# Copyright 2009-2016, Way to the Web Limited -# URL: http://www.configserver.com -# Email: sales@waytotheweb.com -############################################################################### - -Installation -============ - -1. Product installation: - - wget http://download.configserver.com/cxsinstaller.tgz - tar -xzf cxsinstaller.tgz - perl cxsinstaller.pl - rm -fv cxsinstaller.* - -2. You should now read the cxs documentation either through: - - 1. The UI - 2. # perldoc cxs - 3. # cxs --help - -If you decide to use the cxs Watch daemon you can skip items 3 to 5. Instead, -read the documentation under the cxs Watch Daemon section on using this method. -To install the required perl module for the cxs Watch daemon on a cPanel server -you can use: - - /scripts/perlinstaller Linux::Inotify2 - -3. You will want to modify the following files to suit your requirements after - you have read the cxs documentation and studied the CLI option. These files - can be changed at any time and contain the cxs commands and options you want - to use for scanning files as they are uploaded: - - The pure-ftpd upload scanner script that runs cxs: - /etc/cxs/cxsftp.sh - - The web script upload scanner script that runs cxs: - /etc/cxs/cxscgi.sh - -4. Web script upload scanning is performed via mod_security. - - This can be enabled two ways: - - a. Add the following two lines (be careful of line breaks) to your mod_security - rules file (/usr/local/apache/conf/modsec2.user.conf on cPanel): - - SecRequestBodyAccess On - SecRule FILES_TMPNAMES "@inspectFile /etc/cxs/cxscgi.sh" \ - "log,auditlog,deny,severity:2,phase:2,t:none,id:'1010101'" - SecUploadKeepFiles RelevantOnly - SecTmpDir /tmp - - If you allow the uploading of very large files, you may need to - increase the default mod_security allowable size of 128MB by using the - SecRequestBodyLimit directive after SecRequestBodyAccess: - - SecRequestBodyLimit 134217728 - - This value is in bytes (134217728 = 128MB). You might also want to - create the temporary files in a directory other than /tmp using: - - SecTmpDir /path/to/dir - - Where /path/to/dir is a directory where the large files can be - temporarily stored and must be writable to by the nobody user - - Then restart httpd - - b. Use the inbuilt cPanel ModSecurity Vendor Rules mechanism by either: - - 1. WHM > ModSecurity Vendors > Add Vendor > Vendor Configuration URL - - https://download.configserver.com/waf/meta_configserver.yaml - - Save and then restart httpd - - or - - 2. Issue the following commands: - - /scripts/modsec_vendor add https://download.configserver.com/waf/meta_configserver.yaml - /scripts/modsec_vendor enable configserver - - Then restart httpd - - You can have the ConfigServer Vendor enabled along with any other Vendor - that you may already be using. - -5. Pure-ftpd upload scanning requires you to edit the active pure-ftpd.conf - (e.g. /etc/pure-ftpd.conf) and adding/modifying the line: - - CallUploadScript yes - - Note: Pure-ftpd must be compiled with --with-uploadscript option (usually - done by default) - - On Linux: - Then restart pure-ftpd and pure-uploadscript. The installation process adds - a new service in /etc/init.d/pure-uploadscript which runs as a daemon and - passes ftp uploads to /etc/cxs/cxsftp.sh - - On FreeBSD: - Then add the following lines to /etc/rc.conf: - - pureftpd_enable="YES" - pureftpd_upload_enable="YES" - pureftpd_uploadscript="/etc/cxs/cxsftp.sh" - - Then restart pure-ftpd - -6. ClamAV scanning requires a running clamd daemon. By default cxs will look - for the clamd socket at /tmp/clamd and /var/clamd, if it is located - elsewhere then you must use the --clamdsock option and pass the socket - location in every cxs call (i.e. in cxsftp.sh, cxscgi.sh and the cxs CLI) or - use a cxs.defaults file. - -7. If you want automatic updates then use the following as an example: - - ln -s /etc/cxs/cxsdaily.sh /etc/cron.daily/ - -8. You can test ModSecurity upload checks by running the following command - which will trigger the cxs ModSecurity rule if correctly configured: - - curl -F "file=@/etc/cxs/test/testexploit.php" 127.0.0.1 - - To test FTP uploads, download /etc/cxs/test/testexploit.php and then upload - using ftp. - -9. See the RECOMMENDATIONS in the cxs POD documentation - - -Webmin Module Installation/Upgrade (not yet implemented) -================================== - -To install or upgrade the cxs webmin module: - -Install cxs as above -Install the cxs webmin module in: - Webmin > Webmin Configuration > Webmin Modules > - From local file > /etc/cxs/cxswebmin.tgz > Install Module - - -Uninstallation -============== - -Reverse items 4, 5 and 7 above, then: - -cd /etc/cxs -sh uninstall.sh -cd /root diff --git a/cxs/license.txt b/cxs/license.txt deleted file mode 100644 index 625028a..0000000 --- a/cxs/license.txt +++ /dev/null @@ -1,223 +0,0 @@ -Way to the Web Product License - -LICENCE TERMS AND CONDITIONS - -1. LICENCE - - 1.1 Way to the Web Limited of 73, Donaldson Way, Woodley, - Reading, Berkshire, RG5 4XL ("Way to the Web") hereby grants - you a non-exclusive, non-transferable licence to download and - use (the "Product") and the accompanying documentation (the - "Documentation") on the following terms. - - 1.2 The copyright and all other rights in the Product and the - Documentation remain with Way to the Web. - -2. ACCEPTANCE - - You are deemed to have accepted the terms and conditions of this - Licence by downloading the Product. - -3. SCOPE OF LICENCE - - 3.1 You shall not: - - 3.1.1 modify, adapt, merge, translate, decompile, - disassemble, or reverse engineer the Product, except as - permitted by law; or - - 3.1.2 sell, assign, rent, sub-license, loan, mortgage, - charge or otherwise deal in any way in the Product or - Documentation or any interest in them except as expressly - provided in this Licence. - -4. DURATION OF LICENCE - - 4.1 This Licence shall commence on the date hereof and, subject - to other terms of this Licence, shall continue thereafter for as - long as you continue to use the Product. - - 4.2 This Licence shall terminate automatically if you fail to - abide by any of its terms. - - 4.3 Upon termination of this Licence you shall destroy the - Product and the Documentation and shall erase all copies of the - Product under your control and stored on any medium. - -5. WARRANTIES AND REMEDIES - - 5.1 Way to the Web warrants that for a period of 90 days from the - date that the Product is downloaded, it will provide the facilities - and functions set out in the Documentation when properly used and - further, that the Documentation will provide adequate instruction to - enable you to make proper use of such facilities and functions. - - 5.2 The said warranty shall be subject to you complying with - your obligations hereunder and to there having been made no - alterations to the Product by any person other than Way to the Web. - When notifying a defect or error you shall (so far as you are able) - provide Way to the Web with a documented example of such defect or - error. - - 5. 3 Way to the Web shall have no liability or obligations under - the said warranty other than to remedy breaches thereof by the - provision of materials and services within a reasonable time and - without charge to you. If Way to the Web shall fail to comply with - such obligations its liability for such failure shall be limited as - specified in Clause 6. The foregoing states the entire liability of - Way to the Web, whether in contract or tort, for defects and errors - in the Products and the Documentation. - - 5.4 You acknowledge that the Products have not been prepared to - meet your individual requirements and that it is therefore your - responsibility to ensure that the facilities and functions described - in the Documentation meet your requirements. Way to the Web shall not - be liable for any failure of the Products to provide any facility or - function not specified in the Documentation - - 5.5 Way to the Web does not warrant that the operation of the - Products will be uninterrupted or error free or that all errors will - be remedied. - - 5.6 Except as expressly provided in this Licence, no warranty, - condition, undertaking or term, express or implied, statutory or - otherwise, as to the condition, quality, performance or fitness for - purpose of the Products or the Documentation is given or assumed by - Way to the Web and all such warranties, conditions, undertakings and - terms are hereby excluded to the fullest extent permitted by law. - -6. LIABILITY - - 6.1 Way to the Web will indemnify you and keep you fully and - effectively indemnified against any loss of or damage to any property - or injury to or death of any person caused by any negligent act or - omission or wilful misconduct of Way to the Web, its employees, - agents or sub-contractors or by any breach of its contractual - obligations arising out of this Licence. - - 6.2 Except in respect of injury to or death of any person caused - by negligence (for which no limit applies) Way to the Web's - liability to you under sub-clause 6.1 above in respect of each event - or series of connected events shall not exceed one and a half times - the price you paid to licence the Product. - - 6.3 Notwithstanding anything else contained in this Licence, Way - to the Web shall not be liable to you for loss of profits or - contracts or indirect or consequential loss or damage whether arising - from negligence, breach of contract or howsoever caused - - 6.4 Way to the Web shall not be liable to you for any loss - arising out of your failure to keep full and up-to-date security - copies of the computer programs and data you use. - -7. CONFIDENTIAL INFORMATION - - 7.1 You undertake to treat as confidential and keep secret all - information contained or embodied in the Products and the - Documentation which, by its nature has the necessary quality of - confidence about it ("Confidential Information"), provided that this - clause shall not extend to any information which is already public - knowledge or becomes so at a future date (otherwise than as a result - of a breach of this clause). - - 7.2 You shall not without the prior written consent of Way to the - Web divulge any part of the Confidential Information to any person - except to: - - 7.2.1 your own employees and then only to those employees - who need to know the same; - - 7.2.2 your auditors and any other persons or bodies having - a right duty or obligation to know your business and then - only in pursuance of such right duty or obligation; - - 7.2.3 any person who is from time to time appointed by you - to maintain your network, website or the equipment upon - which the Product is being used (in accordance with the terms - of the Licence) and then only to the extent necessary to - enable such person properly to maintain such network, website - or equipment. - - 7.3 You undertake to ensure that the persons and bodies mentioned - in paragraphs 7.2.1, 7.2.2 and 7.2.3 are made aware prior to the - disclosure of any part of the Confidential Information that the same - is confidential and that they owe a duty of confidence to Way to the - Web. You shall indemnify Way to the Web against any loss or damage - which Way to the Web may sustain or incur as a result of your - failing to comply with such undertaking - - 7.4 You shall promptly notify Way to the Web if you become aware - of any breach of confidence by any person to whom you divulge all or - any part of the Confidential Information and shall give Way to the - Web all reasonable assistance in connection with any proceedings - which Way to the Web may institute against such person for breach of - confidence. - - 7.5 The foregoing obligations as to confidentiality shall remain - in full force and effect notwithstanding any termination of this - Licence. - -8. INDEMNITIES - - 8.1 Way to the Web shall indemnify you against any claim that the - normal use or possession of the Products and/or Documentation - infringes the intellectual property rights of any third party - provided that Way to the Web is given immediate and complete control - of such claim, that you do not prejudice Way to the Web's defence - of such claim, that you give Way to the Web all reasonable - assistance with such claim and that the claim does not arise as a - result of the use of the Products and/or Documentation in combination - with any equipment or programs not supplied or approved by Way to - the Web. Way to the Web shall have the right to replace or change all - or any part of the Products and/or Documentation in order to avoid - any infringement. The foregoing states the entire liability of Way to - the Web to you in respect of the infringement of the intellectual - property rights of any third party - - 8.2 Except to the extent caused by Way to the Web's breach of - its obligations hereunder, or its negligent or wilful misconduct in - connection with this Licence, and without limiting Way to the Web's - obligations in sub-clause 8.1 above, you shall indemnify and hold - Way to the Web harmless from any and all liability, loss and damage - Way to the Web may suffer as a result of claims demands or judgments - by any third party arising out of your use or operation of the - Products, the Documentation and related output. You shall, at your - expense, defend any such action, suit or claim against Way to the - Web. - -9. SUPPORT - - Way to the Web's technical support staff will, between the hours of - 9.00 and 17.30 UK time Monday to Friday inclusive (except on bank and - public holidays), endeavour to answer on-line or by email any queries - you may have about the Product. For support please either use the - on-line support desk or the on-line support forum given on our - Website or in the Documentation. Any Product updates that may be - made available by Way to the Web from time to time will be supplied - at Way to the Web's then prevailing charges and subject to Way to the - Web's then prevailing terms and conditions. Way to the Web does not - guarantee backward compatibility with previous versions of the - Product as it retains the right to add, remove or modify any feature - or function in previous versions, at its sole discretion. - -10. OTHER SERVICES - - Way to the Web may also provide you with, at its option and subject - to its then prevailing charges and terms and conditions, other - services in relation to the Product, such as installation and - consultancy services. Please contact Way to the Web at the number - given on our Website or in the Documentation for more information - about such services. - -11. CONSUMERS - - If you deal as a consumer as defined in the Unfair Contract Terms Act - 1977, your statutory rights remain unaffected. - -12. LAW - - This Licence constitutes the entire agreement between you and Way to - the Web relating to the Product and the Documentation and is governed - by and construed in accordance with the laws of England. The courts - of England shall have exclusive jurisdiction. - diff --git a/cxs/new.fp b/cxs/new.fp deleted file mode 100644 index 7b10a44407d1e1e2be31c5dd4d57e9efa1b79001..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2865 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