Linux Wordpress-Salone-1 5.10.0-37-cloud-amd64 #1 SMP Debian 5.10.247-1 (2025-12-11) x86_64
Apache/2.4.67 (Debian)
: 10.0.0.5 | : 10.0.1.5
Cant Read [ /etc/named.conf ]
www-data
RED EYES BYPASS SHELL!
Terminal
Auto Root
Adminer
Backdoor Destroyer
Kernel Exploit
Lock Shell
Lock File
Create User
+ Create Folder
+ Create File
/
usr /
sbin /
[ HOME SHELL ]
NAME
SIZE
PERMISSION
ACTION
a2disconf
15.89
KB
-rwxr-xr-x
a2dismod
15.89
KB
-rwxr-xr-x
a2dissite
15.89
KB
-rwxr-xr-x
a2enconf
15.89
KB
-rwxr-xr-x
a2enmod
15.89
KB
-rwxr-xr-x
a2ensite
15.89
KB
-rwxr-xr-x
a2query
9.64
KB
-rwxr-xr-x
aa-remove-unknown
3
KB
-rwxr-xr-x
aa-status
34.44
KB
-rwxr-xr-x
aa-teardown
139
B
-rwxr-xr-x
accessdb
14.38
KB
-rwxr-xr-x
add-shell
915
B
-rwxr-xr-x
addgnupghome
3
KB
-rwxr-xr-x
addgroup
33.72
KB
-rwxr-xr-x
adduser
33.72
KB
-rwxr-xr-x
agetty
63.41
KB
-rwxr-xr-x
apache2
720.45
KB
-rwxr-xr-x
apache2ctl
7.06
KB
-rwxr-xr-x
apachectl
7.06
KB
-rwxr-xr-x
apparmor_parser
1.38
MB
-rwxr-xr-x
apparmor_status
34.44
KB
-rwxr-xr-x
applygnupgdefaults
2.17
KB
-rwxr-xr-x
arp
66.09
KB
-rwxr-xr-x
arpd
78.27
KB
-rwxr-xr-x
arptables
215.07
KB
-rwxr-xr-x
arptables-nft
215.07
KB
-rwxr-xr-x
arptables-nft-restore
215.07
KB
-rwxr-xr-x
arptables-nft-save
215.07
KB
-rwxr-xr-x
arptables-restore
215.07
KB
-rwxr-xr-x
arptables-save
215.07
KB
-rwxr-xr-x
badblocks
34.16
KB
-rwxr-xr-x
biosdecode
23.05
KB
-rwxr-xr-x
blkdeactivate
15.97
KB
-rwxr-xr-x
blkdiscard
34.23
KB
-rwxr-xr-x
blkid
118.26
KB
-rwxr-xr-x
blkzone
74.23
KB
-rwxr-xr-x
blockdev
66.23
KB
-rwxr-xr-x
bridge
128.43
KB
-rwxr-xr-x
capsh
30.15
KB
-rwxr-xr-x
cfdisk
102.59
KB
-rwxr-xr-x
cgdisk
210.33
KB
-rwxr-xr-x
chcpu
46.23
KB
-rwxr-xr-x
check_forensic
952
B
-rwxr-xr-x
chgpasswd
66.05
KB
-rwxr-xr-x
chmem
62.23
KB
-rwxr-xr-x
chpasswd
58.05
KB
-rwxr-xr-x
chronyd
282.89
KB
-rwxr-xr-x
chroot
46.94
KB
-rwxr-xr-x
clamd
210.26
KB
-rwxr-xr-x
clamonacc
202.25
KB
-rwxr-xr-x
cpgr
60.18
KB
-rwxr-xr-x
cppw
60.18
KB
-rwxr-xr-x
cron
54.48
KB
-rwxr-xr-x
ctrlaltdel
38.23
KB
-rwxr-xr-x
debugfs
233.66
KB
-rwxr-xr-x
delgroup
15.18
KB
-rwxr-xr-x
deluser
15.18
KB
-rwxr-xr-x
depmod
166.18
KB
-rwxr-xr-x
devlink
166.47
KB
-rwxr-xr-x
dhclient
504.7
KB
-rwxr-xr-x
dhclient-script
14.13
KB
-rwxr-xr-x
dmidecode
114.85
KB
-rwxr-xr-x
dmsetup
166.87
KB
-rwxr-xr-x
dmstats
166.87
KB
-rwxr-xr-x
dpkg-fsys-usrunmess
15.1
KB
-rwxr-xr-x
dpkg-preconfigure
3.58
KB
-rwxr-xr-x
dpkg-reconfigure
4.34
KB
-rwxr-xr-x
dumpe2fs
30.23
KB
-rwxr-xr-x
e2freefrag
14.23
KB
-rwxr-xr-x
e2fsck
339.66
KB
-rwxr-xr-x
e2image
38.23
KB
-rwxr-xr-x
e2label
110.41
KB
-rwxr-xr-x
e2mmpstatus
30.23
KB
-rwxr-xr-x
e2scrub
7.13
KB
-rwxr-xr-x
e2scrub_all
5.27
KB
-rwxr-xr-x
e2undo
22.23
KB
-rwxr-xr-x
e4crypt
26.23
KB
-rwxr-xr-x
e4defrag
34.15
KB
-rwxr-xr-x
ebtables
215.07
KB
-rwxr-xr-x
ebtables-nft
215.07
KB
-rwxr-xr-x
ebtables-nft-restore
215.07
KB
-rwxr-xr-x
ebtables-nft-save
215.07
KB
-rwxr-xr-x
ebtables-restore
215.07
KB
-rwxr-xr-x
ebtables-save
215.07
KB
-rwxr-xr-x
ethtool
520.01
KB
-rwxr-xr-x
faillock
13.99
KB
-rwxr-xr-x
fdformat
34.23
KB
-rwxr-xr-x
fdisk
150.27
KB
-rwxr-xr-x
filefrag
18.17
KB
-rwxr-xr-x
findfs
14.23
KB
-rwxr-xr-x
fixparts
74.32
KB
-rwxr-xr-x
fsck
54.27
KB
-rwxr-xr-x
fsck.cramfs
42.26
KB
-rwxr-xr-x
fsck.ext2
339.66
KB
-rwxr-xr-x
fsck.ext3
339.66
KB
-rwxr-xr-x
fsck.ext4
339.66
KB
-rwxr-xr-x
fsck.minix
122.25
KB
-rwxr-xr-x
fsfreeze
14.23
KB
-rwxr-xr-x
fstab-decode
14.16
KB
-rwxr-xr-x
fstrim
70.23
KB
-rwxr-xr-x
gdisk
210.33
KB
-rwxr-xr-x
genl
82.29
KB
-rwxr-xr-x
getcap
14.15
KB
-rwxr-xr-x
getpcaps
14.15
KB
-rwxr-xr-x
getty
63.41
KB
-rwxr-xr-x
groupadd
86.77
KB
-rwxr-xr-x
groupdel
82.58
KB
-rwxr-xr-x
groupmems
62.09
KB
-rwxr-xr-x
groupmod
90.7
KB
-rwxr-xr-x
grpck
62.02
KB
-rwxr-xr-x
grpconv
57.9
KB
-rwxr-xr-x
grpunconv
57.9
KB
-rwxr-xr-x
grub-install
1.15
MB
-rwxr-xr-x
grub-macbless
931.4
KB
-rwxr-xr-x
grub-mkconfig
8.42
KB
-rwxr-xr-x
grub-mkdevicemap
216.71
KB
-rwxr-xr-x
grub-probe
939.71
KB
-rwxr-xr-x
grub-reboot
4.73
KB
-rwxr-xr-x
grub-set-default
3.47
KB
-rwxr-xr-x
halt
1.02
MB
-rwxr-xr-x
httxt2dbm
14.16
KB
-rwxr-xr-x
hv_fcopy_daemon
14.37
KB
-rwxr-xr-x
hv_kvp_daemon
26.71
KB
-rwxr-xr-x
hv_vss_daemon
14.46
KB
-rwxr-xr-x
hwclock
102.35
KB
-rwxr-xr-x
iconvconfig
30.66
KB
-rwxr-xr-x
ifconfig
81.96
KB
-rwxr-xr-x
ifdown
86.08
KB
-rwxr-xr-x
ifquery
86.08
KB
-rwxr-xr-x
iftop
66.65
KB
-rwxr-xr-x
ifup
86.08
KB
-rwxr-xr-x
init
1.66
MB
-rwxr-xr-x
insmod
166.18
KB
-rwxr-xr-x
installkernel
2.6
KB
-rwxr-xr-x
invoke-rc.d
16.12
KB
-rwxr-xr-x
ip
617.8
KB
-rwxr-xr-x
ip6tables
215.07
KB
-rwxr-xr-x
ip6tables-apply
6.89
KB
-rwxr-xr-x
ip6tables-legacy
96.81
KB
-rwxr-xr-x
ip6tables-legacy-restore
96.81
KB
-rwxr-xr-x
ip6tables-legacy-save
96.81
KB
-rwxr-xr-x
ip6tables-nft
215.07
KB
-rwxr-xr-x
ip6tables-nft-restore
215.07
KB
-rwxr-xr-x
ip6tables-nft-save
215.07
KB
-rwxr-xr-x
ip6tables-restore
215.07
KB
-rwxr-xr-x
ip6tables-restore-translate
215.07
KB
-rwxr-xr-x
ip6tables-save
215.07
KB
-rwxr-xr-x
ip6tables-translate
215.07
KB
-rwxr-xr-x
ipmaddr
18.5
KB
-rwxr-xr-x
iptables
215.07
KB
-rwxr-xr-x
iptables-apply
6.89
KB
-rwxr-xr-x
iptables-legacy
96.81
KB
-rwxr-xr-x
iptables-legacy-restore
96.81
KB
-rwxr-xr-x
iptables-legacy-save
96.81
KB
-rwxr-xr-x
iptables-nft
215.07
KB
-rwxr-xr-x
iptables-nft-restore
215.07
KB
-rwxr-xr-x
iptables-nft-save
215.07
KB
-rwxr-xr-x
iptables-restore
215.07
KB
-rwxr-xr-x
iptables-restore-translate
215.07
KB
-rwxr-xr-x
iptables-save
215.07
KB
-rwxr-xr-x
iptables-translate
215.07
KB
-rwxr-xr-x
iptunnel
26.49
KB
-rwxr-xr-x
isosize
30.23
KB
-rwxr-xr-x
killall5
26.23
KB
-rwxr-xr-x
ldattach
34.23
KB
-rwxr-xr-x
ldconfig
967.79
KB
-rwxr-xr-x
locale-gen
1.5
KB
-rwxr-xr-x
logrotate
98.09
KB
-rwxr-xr-x
logsave
14
KB
-rwxr-xr-x
losetup
110.34
KB
-rwxr-xr-x
lsmod
166.18
KB
-rwxr-xr-x
make-ssl-cert
6.65
KB
-rwxr-xr-x
mii-tool
27
KB
-rwxr-xr-x
mke2fs
138.47
KB
-rwxr-xr-x
mkfs
14.23
KB
-rwxr-xr-x
mkfs.bfs
34.23
KB
-rwxr-xr-x
mkfs.cramfs
42.16
KB
-rwxr-xr-x
mkfs.ext2
138.47
KB
-rwxr-xr-x
mkfs.ext3
138.47
KB
-rwxr-xr-x
mkfs.ext4
138.47
KB
-rwxr-xr-x
mkfs.minix
110.23
KB
-rwxr-xr-x
mkhomedir_helper
22.02
KB
-rwxr-xr-x
mkinitramfs
10.59
KB
-rwxr-xr-x
mklost+found
14.15
KB
-rwxr-xr-x
mkswap
106.23
KB
-rwxr-xr-x
modinfo
166.18
KB
-rwxr-xr-x
modprobe
166.18
KB
-rwxr-xr-x
nameif
18.68
KB
-rwxr-xr-x
newusers
94.64
KB
-rwxr-xr-x
nfnl_osf
18.15
KB
-rwxr-xr-x
nologin
14.15
KB
-rwxr-xr-x
ntpdate
79.13
KB
-rwxr-xr-x
ntpdate-debian
534
B
-rwxr-xr-x
ownership
14.29
KB
-rwxr-xr-x
pam-auth-update
20.2
KB
-rwxr-xr-x
pam_getenv
2.82
KB
-rwxr-xr-x
pam_timestamp_check
13.99
KB
-rwxr-xr-x
paperconfig
4.07
KB
-rwxr-xr-x
parted
82.09
KB
-rwxr-xr-x
partprobe
14.07
KB
-rwxr-xr-x
php-fpm7.4
4.53
MB
-rwxr-xr-x
php-fpm8.1
5.26
MB
-rwxr-xr-x
phpdismod
7.11
KB
-rwxr-xr-x
phpenmod
7.11
KB
-rwxr-xr-x
phpquery
6.24
KB
-rwxr-xr-x
pivot_root
14.23
KB
-rwxr-xr-x
plipconfig
14.42
KB
-rwxr-xr-x
poweroff
1.02
MB
-rwxr-xr-x
pwck
58.02
KB
-rwxr-xr-x
pwconv
53.89
KB
-rwxr-xr-x
pwunconv
53.9
KB
-rwxr-xr-x
qemu-make-debian-root
3.22
KB
-rwxr-xr-x
rarp
37.12
KB
-rwxr-xr-x
raw
14.23
KB
-rwxr-xr-x
readprofile
22.26
KB
-rwxr-xr-x
reboot
1.02
MB
-rwxr-xr-x
remove-shell
963
B
-rwxr-xr-x
resize2fs
62.23
KB
-rwxr-xr-x
rmmod
166.18
KB
-rwxr-xr-x
rmt
58.96
KB
-rwxr-xr-x
rmt-tar
58.96
KB
-rwxr-xr-x
route
69.13
KB
-rwxr-xr-x
rsyslogd
706.33
KB
-rwxr-xr-x
rtacct
48.29
KB
-rwxr-xr-x
rtcwake
46.23
KB
-rwxr-xr-x
rtmon
78.24
KB
-rwxr-xr-x
runlevel
1.02
MB
-rwxr-xr-x
runuser
70.23
KB
-rwxr-xr-x
service
8.88
KB
-rwxr-xr-x
setcap
14.15
KB
-rwxr-xr-x
sfdisk
142.23
KB
-rwxr-xr-x
sgdisk
202.33
KB
-rwxr-xr-x
shadowconfig
885
B
-rwxr-xr-x
shutdown
1.02
MB
-rwxr-xr-x
slattach
45.18
KB
-rwxr-xr-x
split-logfile
2.36
KB
-rwxr-xr-x
sshd
867.63
KB
-rwxr-xr-x
start-stop-daemon
43.2
KB
-rwxr-xr-x
sudo_logsrvd
179.47
KB
-rwxr-xr-x
sudo_sendlog
143
KB
-rwxr-xr-x
sulogin
46.23
KB
-rwxr-xr-x
swaplabel
18.23
KB
-rwxr-xr-x
swapoff
22.22
KB
-rwxr-xr-x
swapon
50.23
KB
-rwxr-xr-x
switch_root
14.23
KB
-rwxr-xr-x
sysctl
30.23
KB
-rwxr-xr-x
tarcat
936
B
-rwxr-xr-x
tc
557.91
KB
-rwxr-xr-x
tcptraceroute
1.56
KB
-rwxr-xr-x
tcptraceroute.db
1.56
KB
-rwxr-xr-x
telinit
1.02
MB
-rwxr-xr-x
tipc
126.23
KB
-rwxr-xr-x
traceroute
71.16
KB
-rwxr-xr-x
tune2fs
110.41
KB
-rwxr-xr-x
tzconfig
106
B
-rwxr-xr-x
unix_chkpwd
38
KB
-rwxr-sr-x
unix_update
38
KB
-rwxr-xr-x
update-ca-certificates
5.29
KB
-rwxr-xr-x
update-grub
64
B
-rwxr-xr-x
update-grub2
64
B
-rwxr-xr-x
update-gsfontmap
470
B
-rwxr-xr-x
update-initramfs
6.74
KB
-rwxr-xr-x
update-locale
2.99
KB
-rwxr-xr-x
update-mime
9.18
KB
-rwxr-xr-x
update-passwd
34.41
KB
-rwxr-xr-x
update-pciids
1.71
KB
-rwxr-xr-x
update-rc.d
16.92
KB
-rwxr-xr-x
update-secureboot-policy
5.13
KB
-rwxr-xr-x
useradd
139.52
KB
-rwxr-xr-x
userdel
94.7
KB
-rwxr-xr-x
usermod
135.34
KB
-rwxr-xr-x
uuidd
42.3
KB
-rwxr-xr-x
validlocale
1.73
KB
-rwxr-xr-x
vigr
68.4
KB
-rwxr-xr-x
vipw
68.4
KB
-rwxr-xr-x
visudo
230.48
KB
-rwxr-xr-x
vpddecode
14.43
KB
-rwxr-xr-x
waagent
976
B
-rwxr-xr-x
wipefs
46.23
KB
-rwxr-xr-x
xtables-legacy-multi
96.81
KB
-rwxr-xr-x
xtables-monitor
215.07
KB
-rwxr-xr-x
xtables-nft-multi
215.07
KB
-rwxr-xr-x
zic
54.56
KB
-rwxr-xr-x
zramctl
114.34
KB
-rwxr-xr-x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : a2query
#! /usr/bin/perl # a2query - Apache2 helper to retrieve configuration informations # Copyright (C) 2012 Arno Töll <debian@toell.net> # # This program is licensed at your choice under the terms of the GNU General # Public License version 2+ or under the terms of the Apache Software License # 2.0. # # For GPL-2+: # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, # USA. # # For ASF 2.0: # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. use feature "switch"; use strict; use Getopt::Std; =head1 NAME a2query - retrieve runtime configuration from a local Apache 2 HTTP server =cut our $APACHE2 = "apache2ctl"; our $API = "20120211"; our $MODULE_DIR = "/usr/lib/apache2/modules/"; our $SERVER_VERSION = "2.4.67"; our $MODULE_DIR = "/usr/lib/apache2/modules/"; our $STATE_DIR = "/var/lib/apache2"; our @STATES = ("maint", "admin"); our $MPM = "invalid"; our $CONFIG_DIR = "/etc/apache2"; our $QUIET = 0; # time to introduce more _exit_ values our $E_OK = '0'; our $E_FOUND = '0'; our $E_NOTFOUND = '1'; our $E_OFFBYADMIN = '32'; our $E_OFFBYMAINT = '33'; our @RETVALS = ( $E_OK, $E_FOUND, $E_OFFBYADMIN, $E_NOTFOUND, $E_OFFBYMAINT ); our @MODULES = (); our @CONFS = (); our @SITES =(); our @HELP = (); our %verbose_state = ( 'admin' => 'site administrator', 'maint' => 'maintainer script', 'unknown' => 'unknown' ); =head1 SYNOPSIS B<a2query> [S<-m> [I<MODULE>]] [S<-s> [I<SITE>]] [S<-c> [I<CONF>]] [S<-a>] [S<-v>] [S<-M>] [S<-d>] [S<-h>] =head1 DESCRIPTION B<a2query> is a program designed to retrieve configuration values from a locally available Apache 2 HTTP web server. It was designed to be as robust as possible by returning feasible values even if the Apache 2 syntax validator fails. This program is primarily meant to be used from maintainer scripts. =head1 OPTIONS =over 4 =item S<-a> Returns the Apache 2 "Module Magic Version" (API version) number, the server was compiled with. The returned version does not contain any minor versions which are known to be compatible with the major version returned. =item S<-c> [I<CONF>] Checks whether the configuration I<CONF> is enabled. If no argument was given, all enabled configuration files are being returned. I<CONF> is compared by string comparison by ignoring a leading "mod_" prefix and possibly a '.conf' or '.load' suffix. =item S<-h> Displays a brief summary how the program can be called and exits. =item S<-m> [I<MODULE>] Checks whether the module I<MODULE> is enabled, The argument is interpreted in the same way, as for configuration files queried by the S<-c> switch. =item S<-M> Returns the currently enabled Apache 2 MPM (Multi Processing Module). =item S<-s> [I<SITE>] Checks whether the module I<SITE> is enabled, The argument is interpreted in the same way, as for configuration files queried by the S<-c> switch. =item S<-v> returns the currently installed Apache 2 HTTP server version =item S<-q> suppress any output. This is useful to invoke a2query from another script. This is useful if only the return code is of interest. =back =head1 EXIT CODES B<a2query> returns with a zero (S<0>) exit status if the requested operation was effectuated successfully and with a non-zero status otherwise. In case of an error it leaves with error code S<32> if a requested module, site or configuration was not found and S<33> if a module, site or configuration was disabled by a maintainer script. However, exit status S<1> is returned if the module was not found at all =head1 SEE ALSO L<apache2ctl>(8), L<apache2>(8), L<perl>(1) =head1 AUTHOR This manual and L<a2query> was written by Arno Toell <debian@toell.net>. =cut sub output { print @_ unless $QUIET; } sub warning { print STDERR @_ unless $QUIET; } sub fail { die('usage: fail($reason, $retval)') if @_ != 2; my $reason = shift; my $retval = shift; warning "$reason\n"; exit $retval; } sub load_defaults { my @out = `$APACHE2 -V 2>/dev/null`; return if $?; foreach my $line (@out) { if ($line =~ m/(Server version|Server MPM|Magic Number):\s+(.*?)$/) { my ($pattern, $value) = ($1, $2); if ($pattern =~ /version/) { $SERVER_VERSION = $value; $SERVER_VERSION =~ s/[^\d\.]//g; } elsif ($pattern =~ /MPM/) { $MPM = $value; } elsif ($pattern =~ /Magic/) { $API = $value; $API =~ s/\:\d+//; } } } } sub load_modules { my $conf_dir = $CONFIG_DIR . "/mods-enabled"; opendir(DIR, $conf_dir) || fail("$conf_dir: $!", 1); while ( readdir(DIR) ) { my $file = $_; next if $file !~ m/\.load$/; $file =~ s/\.load//; if ($file =~ /mpm_(event|worker|prefork)/) { $MPM = $1 if $MPM eq 'invalid'; if (grep { $_ =~ m/^mpm_(?:event|worker|prefork)/ } @MODULES) { fail("There is more than one MPM loaded. Do not proceed due to undefined results", 1); } } push @MODULES, $file; } closedir(DIR); } sub load_conf { if ($#CONFS >= 0) { return; } my $conf_dir = $CONFIG_DIR . "/conf-enabled"; opendir(DIR, $conf_dir) || fail("$conf_dir: $!", 1); while ( readdir(DIR) ) { my $file = $_; next if $file !~ m/\.conf$/; $file =~ s/\.conf$//; push @CONFS, $file; } closedir(DIR); } sub load_sites { if ($#SITES >= 0) { return; } my $conf_dir = $CONFIG_DIR . "/sites-enabled"; opendir(DIR, $conf_dir) || fail("$conf_dir: $!", 1); while ( readdir(DIR) ) { my $file = $_; next if $file !~ m/\.conf$/; $file =~ s/\.conf$//; push @SITES, $file; } closedir(DIR); } sub switch_history { die('usage: switch_history([module|site|conf], [enabled|disabled], $name)') if @_ != 3; my $which = shift; my $what = shift; my $name = shift; $name =~ s/\.conf$//; foreach my $state (@STATES) { my $state_token = "$STATE_DIR/$which/$what" . "_by_$state/" . $name; if (-e $state_token) { return $state; } } return 0; } sub query_state { my $type = shift; my $pattern = shift; my $listref = shift; $pattern =~ s/^mod//; $pattern =~ s/\.(conf|load)//; my @candidates; if ($pattern) { @candidates = grep { $_ eq $pattern } @{ $listref }; } else { @candidates = @{ $listref } } my $matches = 0; foreach my $module (@candidates) { my $state = switch_history($type, "enabled", $module); if (!$state) { $state = "unknown"; } output("$module (enabled by $verbose_state{$state})\n"); $matches++; } if (!$matches) { my $reason = "No $type matches $pattern"; my $retval = $E_NOTFOUND; my $state = switch_history($type, "disabled", $pattern); if ($state) { $reason .= " (disabled by $verbose_state{$state})"; if ($state eq 'maint') { $retval = $E_OFFBYMAINT; } if ($state eq 'admin') { $retval = $E_OFFBYADMIN; } } fail($reason, $retval); } } load_defaults(); load_modules(); my %opts; my $help = 1; getopts('m:s:c:havMdq', \%opts); #foreach my $key (keys %opts) { print("$key=$opts{$key}\n");} push @HELP, ["q", "suppress any output. Useful for invocation from scripts"]; if (exists $opts{'q'}) { --$help; $QUIET=1; } push @HELP, ["m [MODULE]", "checks whether the module MODULE is enabled, lists all enabled modules if no argument was given"]; if (exists $opts{'m'}) { --$help; query_state('module', $opts{'m'}, \@MODULES); } push @HELP, ["s [SITE]", "checks whether the site SITE is enabled, lists all sites if no argument was given"]; if (exists $opts{'s'}) { --$help; load_sites(); query_state('site', $opts{'s'}, \@SITES); } push @HELP, ["c [CONF]", "checks whether the configuration CONF is enabled, lists all configurations if no argument was given"]; if (exists $opts{'c'}) { --$help; load_conf(); query_state('conf', $opts{'c'}, \@CONFS); } push @HELP, ["a", "returns the current Apache 2 module magic version"]; if (exists $opts{'a'}) { --$help; output("$API\n"); } push @HELP, ["v", "returns the current Apache 2 version"]; if (exists $opts{'v'}) { --$help; output("$SERVER_VERSION\n"); } push @HELP, ["M", "returns the enabled Apache 2 MPM"]; if (exists $opts{'M'}) { --$help; output("$MPM\n"); } push @HELP, ["d", "returns the Apache 2 module directory"]; if (exists $opts{'d'}) { --$help; output("$MODULE_DIR\n"); } push @HELP, ["h", "display this help"]; if (exists $opts{'h'} or $help == 1) { my $usage = "$0 "; map { $usage .= "-$_->[0] " } @HELP; print("Usage: $usage\n"); my $switch_name; my $description; format STDOUT = @<<<<<<<<<<<< ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< "-$switch_name", $description, ~~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< $description, . foreach my $switch (@HELP) { ($switch_name, $description) = ($switch->[0], $switch->[1]); write STDOUT; } exit $E_OK; } # vim: syntax=perl sw=8 sts=8 sr noet
Close