Linux vmi284606.contaboserver.net 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64
Apache/2.4.57 (Ubuntu)
: 167.86.127.34 | : 216.73.216.67
Cant Read [ /etc/named.conf ]
7.2.24-0ubuntu0.18.04.17
root
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
share /
webmin /
dhcpd /
[ HOME SHELL ]
Name
Size
Permission
Action
help
[ DIR ]
drwxr-xr-x
images
[ DIR ]
drwxr-xr-x
lang
[ DIR ]
drwxr-xr-x
CHANGELOG
3.61
KB
-rw-r--r--
acl_security.pl
10.09
KB
-rwxr-xr-x
backup_config.pl
699
B
-rwxr-xr-x
cgi_args.pl
358
B
-rwxr-xr-x
config-AlmaLinux-7.0-ALL
333
B
-rw-r--r--
config-Amazon-Linux-2-ALL
333
B
-rw-r--r--
config-CentOS-Linux-5
378
B
-rw-r--r--
config-CentOS-Linux-6.0-6.9
384
B
-rw-r--r--
config-CentOS-Linux-7.0-ALL
333
B
-rw-r--r--
config-CentOS-Stream-Linux-8.0...
333
B
-rw-r--r--
config-CloudLinux-8.0-ALL
333
B
-rw-r--r--
config-Oracle-Linux-8.0-ALL
333
B
-rw-r--r--
config-Redhat-Enterprise-Linux...
384
B
-rw-r--r--
config-Redhat-Enterprise-Linux...
333
B
-rw-r--r--
config-Rocky-Linux-7.0-ALL
333
B
-rw-r--r--
config-Scientific-Linux-6.0-6....
384
B
-rw-r--r--
config-Scientific-Linux-7.0-AL...
357
B
-rw-r--r--
config-Ubuntu-Linux-12.04-ALL
413
B
-rw-r--r--
config-Ubuntu-Linux-8.10-10.04...
405
B
-rw-r--r--
config-cobalt-linux
238
B
-rw-r--r--
config-coherent-linux
378
B
-rw-r--r--
config-corel-linux
230
B
-rw-r--r--
config-debian-linux
333
B
-rw-r--r--
config-debian-linux-3.0
360
B
-rw-r--r--
config-debian-linux-3.1-5.9
392
B
-rw-r--r--
config-debian-linux-6.0-ALL
398
B
-rw-r--r--
config-freebsd
246
B
-rw-r--r--
config-freebsd-8-ALL
423
B
-rw-r--r--
config-generic-linux
227
B
-rw-r--r--
config-gentoo-linux
328
B
-rw-r--r--
config-hpux
242
B
-rw-r--r--
config-irix
223
B
-rw-r--r--
config-macos
223
B
-rw-r--r--
config-mandrake-linux
338
B
-rw-r--r--
config-msc-linux
238
B
-rw-r--r--
config-netbsd
230
B
-rw-r--r--
config-open-linux
227
B
-rw-r--r--
config-open-linux-3.1e
374
B
-rw-r--r--
config-openSUSE-Linux-15.0-ALL
371
B
-rw-r--r--
config-openbsd
230
B
-rw-r--r--
config-openbsd-3.6-ALL
212
B
-rw-r--r--
config-openmamba-linux
227
B
-rw-r--r--
config-openserver
223
B
-rw-r--r--
config-osf1
223
B
-rw-r--r--
config-pardus-linux
326
B
-rw-r--r--
config-redhat-linux
227
B
-rw-r--r--
config-redhat-linux-13.1-19.0
379
B
-rw-r--r--
config-redhat-linux-20.0-23.0
384
B
-rw-r--r--
config-redhat-linux-24.0-ALL
387
B
-rw-r--r--
config-redhat-linux-6.0-6.2
238
B
-rw-r--r--
config-redhat-linux-7.0-13.0
378
B
-rw-r--r--
config-slackware-linux
233
B
-rw-r--r--
config-slackware-linux-4.0
239
B
-rw-r--r--
config-slackware-linux-7.1-ALL
238
B
-rw-r--r--
config-sol-linux
258
B
-rw-r--r--
config-solaris
223
B
-rw-r--r--
config-suse-linux
238
B
-rw-r--r--
config-suse-linux-7.1-7.3
236
B
-rw-r--r--
config-suse-linux-8.0
361
B
-rw-r--r--
config-suse-linux-8.2-9.1
374
B
-rw-r--r--
config-suse-linux-9.2-ALL
377
B
-rw-r--r--
config-trustix-linux
359
B
-rw-r--r--
config-turbo-linux
227
B
-rw-r--r--
config-united-linux
361
B
-rw-r--r--
config-unixware
259
B
-rw-r--r--
config.info
1.32
KB
-rw-r--r--
config.info.ca
1.46
KB
-rw-r--r--
config.info.cs
1.19
KB
-rw-r--r--
config.info.da
1.12
KB
-rw-r--r--
config.info.de
1.38
KB
-rw-r--r--
config.info.es
457
B
-rw-r--r--
config.info.fa
1.72
KB
-rw-r--r--
config.info.fr
1.14
KB
-rw-r--r--
config.info.ja
1.29
KB
-rw-r--r--
config.info.nl
1.34
KB
-rw-r--r--
config.info.no
1.32
KB
-rw-r--r--
config.info.pl
1.37
KB
-rw-r--r--
config.info.pt_BR
1.34
KB
-rw-r--r--
config.info.ru
1.06
KB
-rw-r--r--
config.info.sk
1.26
KB
-rw-r--r--
config.info.sv
345
B
-rw-r--r--
config.info.tr
201
B
-rw-r--r--
config.info.uk
1.11
KB
-rw-r--r--
config.info.zh
160
B
-rw-r--r--
confirm_delete.cgi
3.03
KB
-rwxr-xr-x
defaultacl
221
B
-rw-r--r--
delete_all.cgi
2.02
KB
-rwxr-xr-x
delete_hosts.cgi
1.57
KB
-rwxr-xr-x
delete_leases.cgi
1.04
KB
-rwxr-xr-x
delete_subnets.cgi
1.58
KB
-rwxr-xr-x
dhcpd-lib.pl
26.23
KB
-rwxr-xr-x
edit_group.cgi
7.14
KB
-rwxr-xr-x
edit_host.cgi
10.03
KB
-rwxr-xr-x
edit_iface.cgi
3.44
KB
-rwxr-xr-x
edit_keys.cgi
1.61
KB
-rwxr-xr-x
edit_options.cgi
9.07
KB
-rwxr-xr-x
edit_pool.cgi
3.32
KB
-rwxr-xr-x
edit_shared.cgi
5.64
KB
-rwxr-xr-x
edit_subnet.cgi
6.48
KB
-rwxr-xr-x
edit_text.cgi
869
B
-rwxr-xr-x
edit_zones.cgi
1.8
KB
-rwxr-xr-x
index.cgi
20.24
KB
-rwxr-xr-x
install_check.pl
557
B
-rwxr-xr-x
list_leases.cgi
9.83
KB
-rwxr-xr-x
log_parser.pl
1003
B
-rwxr-xr-x
lookup_group.cgi
1.02
KB
-rwxr-xr-x
lookup_host.cgi
2.1
KB
-rwxr-xr-x
lookup_shared.cgi
915
B
-rwxr-xr-x
lookup_subnet.cgi
969
B
-rwxr-xr-x
mac-vendor.txt
662.66
KB
-rw-r--r--
module.info
464
B
-rw-r--r--
module.info.af
0
B
-rw-r--r--
module.info.af.auto
118
B
-rw-r--r--
module.info.ar
0
B
-rw-r--r--
module.info.ar.auto
179
B
-rw-r--r--
module.info.be
0
B
-rw-r--r--
module.info.be.auto
173
B
-rw-r--r--
module.info.bg
0
B
-rw-r--r--
module.info.bg.auto
172
B
-rw-r--r--
module.info.ca
102
B
-rw-r--r--
module.info.ca.auto
14
B
-rw-r--r--
module.info.cs
20
B
-rw-r--r--
module.info.cs.auto
100
B
-rw-r--r--
module.info.da
0
B
-rw-r--r--
module.info.da.auto
118
B
-rw-r--r--
module.info.de
110
B
-rw-r--r--
module.info.de.auto
14
B
-rw-r--r--
module.info.el
0
B
-rw-r--r--
module.info.el.auto
202
B
-rw-r--r--
module.info.es
25
B
-rw-r--r--
module.info.es.auto
97
B
-rw-r--r--
module.info.eu
0
B
-rw-r--r--
module.info.eu.auto
134
B
-rw-r--r--
module.info.fa
0
B
-rw-r--r--
module.info.fa.auto
166
B
-rw-r--r--
module.info.fi
0
B
-rw-r--r--
module.info.fi.auto
125
B
-rw-r--r--
module.info.fr
21
B
-rw-r--r--
module.info.fr.auto
106
B
-rw-r--r--
module.info.he
0
B
-rw-r--r--
module.info.he.auto
149
B
-rw-r--r--
module.info.hr
0
B
-rw-r--r--
module.info.hr.auto
136
B
-rw-r--r--
module.info.hu
0
B
-rw-r--r--
module.info.hu.auto
152
B
-rw-r--r--
module.info.it
0
B
-rw-r--r--
module.info.it.auto
108
B
-rw-r--r--
module.info.ja
23
B
-rw-r--r--
module.info.ja.auto
138
B
-rw-r--r--
module.info.ko
21
B
-rw-r--r--
module.info.ko.auto
112
B
-rw-r--r--
module.info.lt
0
B
-rw-r--r--
module.info.lt.auto
135
B
-rw-r--r--
module.info.lv
0
B
-rw-r--r--
module.info.lv.auto
131
B
-rw-r--r--
module.info.ms
99
B
-rw-r--r--
module.info.ms.auto
14
B
-rw-r--r--
module.info.mt
0
B
-rw-r--r--
module.info.mt.auto
123
B
-rw-r--r--
module.info.nl
20
B
-rw-r--r--
module.info.nl.auto
97
B
-rw-r--r--
module.info.no
20
B
-rw-r--r--
module.info.no.auto
98
B
-rw-r--r--
module.info.pl
108
B
-rw-r--r--
module.info.pl.auto
14
B
-rw-r--r--
module.info.pt
25
B
-rw-r--r--
module.info.pt.auto
101
B
-rw-r--r--
module.info.pt_BR
0
B
-rw-r--r--
module.info.pt_BR.auto
132
B
-rw-r--r--
module.info.ro
0
B
-rw-r--r--
module.info.ro.auto
134
B
-rw-r--r--
module.info.ru
26
B
-rw-r--r--
module.info.ru.auto
147
B
-rw-r--r--
module.info.sk
20
B
-rw-r--r--
module.info.sk.auto
101
B
-rw-r--r--
module.info.sl
0
B
-rw-r--r--
module.info.sl.auto
134
B
-rw-r--r--
module.info.sv
20
B
-rw-r--r--
module.info.sv.auto
96
B
-rw-r--r--
module.info.th
0
B
-rw-r--r--
module.info.th.auto
264
B
-rw-r--r--
module.info.tr
22
B
-rw-r--r--
module.info.tr.auto
122
B
-rw-r--r--
module.info.uk
0
B
-rw-r--r--
module.info.uk.auto
187
B
-rw-r--r--
module.info.ur
0
B
-rw-r--r--
module.info.ur.auto
208
B
-rw-r--r--
module.info.vi
0
B
-rw-r--r--
module.info.vi.auto
125
B
-rw-r--r--
module.info.zh
22
B
-rw-r--r--
module.info.zh.auto
84
B
-rw-r--r--
module.info.zh_TW
26
B
-rw-r--r--
module.info.zh_TW.auto
90
B
-rw-r--r--
params-lib.pl
5.96
KB
-rwxr-xr-x
prefs.info
164
B
-rw-r--r--
rbac-mapping
69
B
-rw-r--r--
restart.cgi
364
B
-rwxr-xr-x
save_group.cgi
3.89
KB
-rwxr-xr-x
save_host.cgi
5.42
KB
-rwxr-xr-x
save_iface.cgi
3.54
KB
-rwxr-xr-x
save_keys.cgi
1.11
KB
-rwxr-xr-x
save_options.cgi
8.14
KB
-rwxr-xr-x
save_pool.cgi
2.51
KB
-rwxr-xr-x
save_shared.cgi
6.1
KB
-rwxr-xr-x
save_subnet.cgi
6.2
KB
-rwxr-xr-x
save_text.cgi
717
B
-rwxr-xr-x
save_zones.cgi
1.73
KB
-rwxr-xr-x
start.cgi
343
B
-rwxr-xr-x
stop.cgi
321
B
-rwxr-xr-x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : acl_security.pl
require 'dhcpd-lib.pl'; # acl_security_form(&options) # Output HTML for editing security options for the dhcpd module sub acl_security_form { print "<tr>\n<td><b>$text{'acl_apply'}</b></td> <td>\n"; printf "<input type=radio name=apply value=1 %s> $text{'yes'}\n", $_[0]->{'apply'} ? "checked" : ""; printf "<input type=radio name=apply value=0 %s> $text{'no'}</td>\n", $_[0]->{'apply'} ? "" : "checked"; print "</tr>\n"; print "<tr>\n<td><b>$text{'acl_global'}</b></td> <td>\n"; printf "<input type=radio name=global value=1 %s> $text{'yes'}\n", $_[0]->{'global'} ? "checked" : ""; printf "<input type=radio name=global value=0 %s> $text{'no'}</td>\n", $_[0]->{'global'} ? "" : "checked"; print "</tr>\n"; print "<tr>\n<td><b>$text{'acl_r_leases'}</b></td> <td>\n"; printf "<input type=radio name=r_leases value=1 %s> $text{'yes'}\n", $_[0]->{'r_leases'} ? "checked" : ""; printf "<input type=radio name=r_leases value=0 %s> $text{'no'}</td>\n", $_[0]->{'r_leases'} ? "" : "checked"; print "</tr>\n"; print "<tr>\n<td><b>$text{'acl_w_leases'}</b></td> <td>\n"; printf "<input type=radio name=w_leases value=1 %s> $text{'yes'}\n", $_[0]->{'w_leases'} ? "checked" : ""; printf "<input type=radio name=w_leases value=0 %s> $text{'no'}</td>\n", $_[0]->{'w_leases'} ? "" : "checked"; print "</tr>\n"; print "<tr>\n<td><b>$text{'acl_zones'}</b></td> <td>\n"; printf "<input type=radio name=zones value=1 %s> $text{'yes'}\n", $_[0]->{'zones'} ? "checked" : ""; printf "<input type=radio name=zones value=0 %s> $text{'no'}</td>\n", $_[0]->{'zones'} ? "" : "checked"; print "</tr>\n"; print "<tr> <td colspan=4><hr></td> </tr>\n"; # uniqs print "<tr>\n<td><b>$text{'acl_uniq_hst'}</b></td> <td>\n"; printf "<input type=radio name=uniq_hst value=1 %s> $text{'yes'}\n", $_[0]->{'uniq_hst'} ? "checked" : ""; printf "<input type=radio name=uniq_hst value=0 %s> $text{'no'}</td>\n", $_[0]->{'uniq_hst'} ? "" : "checked"; print "</tr>\n"; print "<tr>\n<td><b>$text{'acl_uniq_sub'}</b></td> <td>\n"; printf "<input type=radio name=uniq_sub value=1 %s> $text{'yes'}\n", $_[0]->{'uniq_sub'} ? "checked" : ""; printf "<input type=radio name=uniq_sub value=0 %s> $text{'no'}</td>\n", $_[0]->{'uniq_sub'} ? "" : "checked"; print "</tr>\n"; print "<tr>\n<td><b>$text{'acl_uniq_sha'}</b></td> <td>\n"; printf "<input type=radio name=uniq_sha value=1 %s> $text{'yes'}\n", $_[0]->{'uniq_sha'} ? "checked" : ""; printf "<input type=radio name=uniq_sha value=0 %s> $text{'no'}</td>\n", $_[0]->{'uniq_sha'} ? "" : "checked"; print "</tr>\n"; print "<tr> <td colspan=4><hr></td> </tr>\n"; # security mode settings print "<tr>\n<td><b>$text{'acl_seclevel'}</b></td> <td colspan=3>\n"; printf "<input type=radio name=smode value=0 %s> 0\n", $_[0]->{'smode'} == 0 ? "checked" : ""; printf "<input type=radio name=smode value=1 %s> 1\n", $_[0]->{'smode'} == 1 ? "checked" : ""; printf "<input type=radio name=smode value=2 %s> 2\n", $_[0]->{'smode'} == 2 ? "checked" : ""; printf "<input type=radio name=smode value=3 %s> 3\n", $_[0]->{'smode'} == 3 ? "checked" : ""; print "</td>\n</tr>\n"; print "<tr>\n<td><b>$text{'acl_hide'}</b></td> <td>\n"; printf "<input type=radio name=hide value=1 %s> $text{'yes'}\n", $_[0]->{'hide'} == 1 ? "checked" : ""; printf "<input type=radio name=hide value=0 %s> $text{'no'}</td>\n", $_[0]->{'hide'} == 0 ? "checked" : ""; print "</tr>\n"; print "<tr> <td colspan=4><hr></td> </tr>\n"; # global acls print "<tr>\n<td><b>$text{'acl_ahst'}</b></td>\n"; print "<td colspan=3>\n"; printf "<input type=checkbox name=c_hst value=1 %s> %s\n", $_[0]->{'c_hst'} ? "checked" : "", $text{"acl_c"}; printf "<input type=checkbox name=r_hst value=1 %s> %s\n", $_[0]->{'r_hst'} ? "checked" : "", $text{"acl_r"}; printf "<input type=checkbox name=w_hst value=1 %s> %s\n", $_[0]->{'w_hst'} ? "checked" : "", $text{"acl_w"}; print "</td> </tr>\n"; print "<tr>\n<td><b>$text{'acl_agrp'}</b></td>\n"; print "<td colspan=3>\n"; printf "<input type=checkbox name=c_grp value=1 %s> %s\n", $_[0]->{'c_grp'} ? "checked" : "", $text{"acl_c"}; printf "<input type=checkbox name=r_grp value=1 %s> %s\n", $_[0]->{'r_grp'} ? "checked" : "", $text{"acl_r"}; printf "<input type=checkbox name=w_grp value=1 %s> %s\n", $_[0]->{'w_grp'} ? "checked" : "", $text{"acl_w"}; print "</td> </tr>\n"; print "<tr>\n<td><b>$text{'acl_asub'}</b></td>\n"; print "<td colspan=3>\n"; printf "<input type=checkbox name=c_sub value=1 %s> %s\n", $_[0]->{'c_sub'} ? "checked" : "", $text{"acl_c"}; printf "<input type=checkbox name=r_sub value=1 %s> %s\n", $_[0]->{'r_sub'} ? "checked" : "", $text{"acl_r"}; printf "<input type=checkbox name=w_sub value=1 %s> %s\n", $_[0]->{'w_sub'} ? "checked" : "", $text{"acl_w"}; print "</td> </tr>\n"; print "<tr>\n<td><b>$text{'acl_asha'}</b></td>\n"; print "<td colspan=3>\n"; printf "<input type=checkbox name=c_sha value=1 %s> %s\n", $_[0]->{'c_sha'} ? "checked" : "", $text{"acl_c"}; printf "<input type=checkbox name=r_sha value=1 %s> %s\n", $_[0]->{'r_sha'} ? "checked" : "", $text{"acl_r"}; printf "<input type=checkbox name=w_sha value=1 %s> %s\n", $_[0]->{'w_sha'} ? "checked" : "", $text{"acl_w"}; print "</td> </tr>\n"; print "<tr> <td colspan=4><hr></td> </tr>\n"; # per-subnet and per-host acls print "<tr><td><b>$text{'acl_per_sub_acls'}</b></td> <td>\n"; printf "<input type=radio name=per_sub_acls value=1 %s> $text{'yes'}\n", $_[0]->{'per_sub_acls'} ? "checked" : ""; printf "<input type=radio name=per_sub_acls value=0 %s> $text{'no'}\n", $_[0]->{'per_sub_acls'} ? "" : "checked"; print "</td></tr>\n"; print "<tr><td><b>$text{'acl_per_sha_acls'}</b></td> <td>\n"; printf "<input type=radio name=per_sha_acls value=1 %s> $text{'yes'}\n", $_[0]->{'per_sha_acls'} ? "checked" : ""; printf "<input type=radio name=per_sha_acls value=0 %s> $text{'no'}\n", $_[0]->{'per_sha_acls'} ? "" : "checked"; print "</td></tr>\n"; print "<tr><td><b>$text{'acl_per_hst_acls'}</b></td> <td>\n"; printf "<input type=radio name=per_hst_acls value=1 %s> $text{'yes'}\n", $_[0]->{'per_hst_acls'} ? "checked" : ""; printf "<input type=radio name=per_hst_acls value=0 %s> $text{'no'}\n", $_[0]->{'per_hst_acls'} ? "" : "checked"; print "</td></tr>\n"; print "<tr><td><b>$text{'acl_per_grp_acls'}</b></td> <td>\n"; printf "<input type=radio name=per_grp_acls value=1 %s> $text{'yes'}\n", $_[0]->{'per_grp_acls'} ? "checked" : ""; printf "<input type=radio name=per_grp_acls value=0 %s> $text{'no'}\n", $_[0]->{'per_grp_acls'} ? "" : "checked"; print "</td></tr>\n"; print "<tr> <td colspan=4><hr></td> </tr>\n"; print "<tr>\n<td $tb><b>$text{'acl_per_obj_acls'}</b></td></tr> \n"; &display_tree($_[0],&get_parent_config(),-2); } # acl_security_save(&options) # Parse the form for security options for the sendmail module sub acl_security_save { if ($in{'r_sub'} < $in{'w_sub'} || $in{'r_sha'} < $in{'w_sha'} || $in{'r_hst'} < $in{'w_hst'} || $in{'r_grp'} < $in{'w_grp'}) { &error($text{'acl_ernow'}); } $_[0]->{'apply'}=$in{'apply'}; $_[0]->{'global'}=$in{'global'}; $_[0]->{'r_leases'}=$in{'r_leases'}; $_[0]->{'w_leases'}=$in{'w_leases'}; $_[0]->{'zones'}=$in{'zones'}; $_[0]->{'uniq_hst'}=$in{'uniq_hst'}; $_[0]->{'uniq_sub'}=$in{'uniq_sub'}; $_[0]->{'uniq_sha'}=$in{'uniq_sha'}; $_[0]->{'smode'}=$in{'smode'}; $_[0]->{'hide'}=$in{'hide'}; $_[0]->{'per_hst_acls'}=$in{'per_hst_acls'}; $_[0]->{'per_sub_acls'}=$in{'per_sub_acls'}; $_[0]->{'per_grp_acls'}=$in{'per_grp_acls'}; $_[0]->{'per_sha_acls'}=$in{'per_sha_acls'}; $_[0]->{'c_sub'}=$in{'c_sub'}; $_[0]->{'r_sub'}=$in{'r_sub'}; $_[0]->{'w_sub'}=$in{'w_sub'}; $_[0]->{'c_sha'}=$in{'c_sha'}; $_[0]->{'r_sha'}=$in{'r_sha'}; $_[0]->{'w_sha'}=$in{'w_sha'}; $_[0]->{'c_hst'}=$in{'c_hst'}; $_[0]->{'r_hst'}=$in{'r_hst'}; $_[0]->{'w_hst'}=$in{'w_hst'}; $_[0]->{'c_grp'}=$in{'c_grp'}; $_[0]->{'r_grp'}=$in{'r_grp'}; $_[0]->{'w_grp'}=$in{'w_grp'}; foreach (keys %in) { $_[0]->{$_}=$in{$_} if /^ACL\w\w\w_/; } } # perm_to(permissions_string,obj_type,\%access,obj_name) # check per-object permissions: # permissions_string= 'rw' 'r' 'w' or you perm_to extend this system # obj_type= 'sub' for subnets, or 'hst' for hosts. sub perm_to { local $acl=$_[2]->{'ACL'.$_[1].'_'.$_[3]}; foreach (split //,$_[0]) { return 0 if index($acl,$_) == -1; } return 1; } # link config node names and acl categories %onames=qw(shared-network sha subnet sub group grp host hst); # display_tree(\%access,\%config_node,display_padding) sub display_tree { local ($acc, $node, $pad)=@_; if (defined($node->{'name'})) { &display_node($acc,$node,$pad) if exists $onames{$node->{'name'}} ; } $pad+=2; if($node->{'members'}) { # recursevly process this subtree foreach (@{$node->{'members'}}) { &display_tree($acc, $_, $pad); } } return 1; } # display_node(\%access, \%node, padding) sub display_node { local($acc,$node,$padding)=@_; local $name=$node->{'values'}->[0]; if (!$name && $node->{'name'} eq 'group') { # Name comes from option domain-name local @opts = &find("option", $node->{'members'}); local ($dn) = grep { $_->{'values'}->[0] eq 'domain-name' } @opts; if ($dn) { $name = $dn->{'values'}->[1]; } else { $name = $node->{'index'}; } } local $nodetype=$onames{$node->{'name'}}; local $aclname='ACL'.$nodetype.'_'.$name; print "<tr>\n<td>"," "x$padding, " $node->{'name'}: <b>$name</b></td>\n"; if (($nodetype eq 'hst')||($nodetype eq 'sub')|| ($nodetype eq 'grp')||($nodetype eq 'sha')) { print "<td colspan=3>\n"; if($acc->{$aclname}) { printf "<input type=radio name=$aclname value='' %s> %s\n", !&perm_to('r',$nodetype,$acc,$name) ? "checked" : "", $text{"acl_na"}; printf "<input type=radio name=$aclname value='r' %s> %s\n", &perm_to('r',$nodetype,$acc,$name) && !&perm_to('rw',$nodetype,$acc,$name) ? "checked" : "",$text{"acl_r1"}; printf "<input type=radio name=$aclname value='rw' %s> %s\n", &perm_to('rw',$nodetype,$acc,$name) ? "checked" : "", $text{"acl_rw"}; } else { printf "<input type=radio name=$aclname value='' checked> %s\n", $text{"acl_na"}; printf "<input type=radio name=$aclname value='r'> %s\n", $text{"acl_r1"}; printf "<input type=radio name=$aclname value='rw'> %s\n", $text{"acl_rw"}; } print "</td>\n"; } print "</tr>\n"; } 1;
Close