# Common NIS server functions for Linux # show_server_security() # Show NIS server security-related options sub show_server_security { local ($opts, $hosts) = &parse_ypserv_conf(); # Show port checking option local $port = $opts->{'xfr_check_port'} ? $opts->{'xfr_check_port'}->{'value'} : 1; print "<tr> <td><b>$text{'security_port'}</b></td>\n"; printf "<td><input type=radio name=port value=1 %s> %s\n", $port ? 'checked' : '', $text{'yes'}; printf "<input type=radio name=port value=0 %s> %s</td> </tr>\n", $port ? '' : 'checked', $text{'no'}; # Work out if the new (with domains) or old format is in use local ($newfmt) = grep { $_->{'domain'} } @$hosts; print &ui_hidden("format", $newfmt ? 1 : 0),"\n"; local $table; if ($newfmt) { # Generate new format table $table .= &ui_columns_start([ $text{'security_hosts'}, $text{'security_domain'}, $text{'security_map'}, $text{'security_sec'}, $text{'security_mangle'} ]); local $i = 0; foreach $h (@$hosts, { 'map' => '*' }) { local @cols; push(@cols, &ui_radio("host_def_$i", $h->{'host'} eq '*' ? 2 : $h->{'host'} ? 0 : 1, [ [ 1, $text{'security_none'} ], [ 2, $text{'security_any'} ], [ 0, &ui_textbox("host_$i", $h->{'host'} eq '*' ? undef : $h->{'host'}, 20) ] ])); push(@cols, &ui_opt_textbox("domain_$i", $h->{'domain'} eq '*' ? undef : $h->{'domain'}, 20, $text{'security_tall'})); push(@cols, &ui_radio("map_def_$i", $h->{'map'} eq '*' ? 1 : 0, [ [ 1, $text{'security_tall'} ], [ 0, &ui_textbox("map_$i", $h->{'map'} eq '*' ? undef : $h->{'map'}, 20) ] ])); push(@cols, &ui_select("sec_$i", $h->{'sec'}, [ [ "none", $text{'security_sec_none'} ], [ "port", $text{'security_sec_port'} ], [ "deny", $text{'security_sec_deny'} ] ])); push(@cols, &ui_opt_textbox("mangle_$i", !$h->{'mangle'} ? undef : $h->{'field'} ? $h->{'field'} : 2, 5, $text{'security_none'})); $table .= &ui_columns_row(\@cols); $i++; } } else { # Generate old format table $table .= &ui_columns_start([ $text{'security_hosts'}, $text{'security_map'}, $text{'security_sec'}, $text{'security_mangle'} ]); local $i = 0; foreach $h (@$hosts, { 'map' => '*' }) { local @cols; push(@cols, &ui_radio("host_def_$i", $h->{'host'} eq '*' ? 2 : $h->{'host'} ? 0 : 1, [ [ 1, $text{'security_none'} ], [ 2, $text{'security_any'} ], [ 0, &ui_textbox("host_$i", $h->{'host'} eq '*' ? undef : $h->{'host'}, 20) ] ])); push(@cols, &ui_radio("map_def_$i", $h->{'map'} eq '*' ? 1 : 0, [ [ 1, $text{'security_tall'} ], [ 0, &ui_textbox("map_$i", $h->{'map'} eq '*' ? undef : $h->{'map'}, 20) ] ])); push(@cols, &ui_select("sec_$i", $h->{'sec'}, [ [ "none", $text{'security_sec_none'} ], [ "port", $text{'security_sec_port'} ], [ "deny", $text{'security_sec_deny'} ], [ "des", $text{'security_sec_des'} ] ])); push(@cols, &ui_radio("mangle_$i", $h->{'mangle'} ? 1 : 0, [ [ 0, $text{'security_none'} ], [ 1, &ui_textbox("field_$i", $h->{'field'}, 4) ] ])); $table .= &ui_columns_row(\@cols); $i++; } $table .= &ui_columns_end(); } print "<tr> <td colspan=2><b>$text{'security_maps'}</b><br>\n"; print "$table</td> </tr>\n"; print "</table></td> </tr>\n"; } # parse_server_security() # Save and apply server security options sub parse_server_security { # Save security settings local ($opts, $hosts) = &parse_ypserv_conf(); local $lref = &read_file_lines($ypserv_conf); local $xfr = $opts->{'xfr_check_port'}; local $line = $in{'port'} ? 'xfr_check_port: yes' : 'xfr_check_port: no'; if ($xfr) { $lref->[$xfr->{'line'}] = $line; } else { push(@$lref, $line); } # Save host restrictions local ($i, $j, $offset); for($i=0; defined($in{"host_$i"}); $i++) { local @line; next if ($in{"host_def_$i"} == 1); $in{"host_def_$i"} == 2 || $in{"host_$i"} =~ /^[^:\s]+$/ || &error(&text('security_ehost', $in{"host_$i"})); $in{"map_def_$i"} || $in{"map_$i"} =~ /^[^:\s]+$/ || &error(&text('security_emap', $in{"map_$i"})); if ($in{'format'} == 1) { # New format, including domain $in{"domain_${i}_def"} || $in{"domain_$i"} =~ /^[^:\s]+$/ || &error(&text('security_edomain', $in{"domain_$i"})); $in{"mangle_${i}_def"} || $in{"mangle_$i"} =~ /^\d+$/ || &error(&text('security_efield', $in{"mangle_$i"})); @line = ( $in{"host_def_$i"} == 2 ? "*" : $in{"host_$i"}, $in{"domain_${i}_def"} ? "*" : $in{"domain_$i"}, $in{"map_def_$i"} ? "*" : $in{"map_$i"}, $in{"sec_$i"}. ($in{"mangle_${i}_def"} ? "" : "/mangle:".$in{"mangle_$i"}) ); } else { # Old format $in{"field_$i"} =~ /^\d*$/ || &error(&text('security_efield', $in{"field_$i"})); @line = ( $in{"host_def_$i"} == 2 ? "*" : $in{"host_$i"}, $in{"map_def_$i"} ? "*" : $in{"map_$i"}, $in{"sec_$i"}, $in{"mangle_$i"} ? "yes" : "no" ); push(@line, $in{"field_$i"}) if ($in{"field_$i"} && $in{"field_$i"} != 2); } local $old = $hosts->[$j++]; if ($old) { $lref->[$old->{'line'}] = join(":", @line); } else { push(@$lref, join(":", @line)); } } while($hosts->[$j]) { splice(@$lref, $hosts->[$j]->{'line'}-$offset, 1); $j++; $offset++; } &flush_file_lines(); # Apply the changes local $pid = &check_pid_file($pid_file); &kill_logged('HUP', $pid) if ($pid); }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
images | Folder | 0755 |
|
|
lang | Folder | 0755 |
|
|
CHANGELOG | File | 308 B | 0644 |
|
aix-lib.pl | File | 9.79 KB | 0755 |
|
backup_config.pl | File | 817 B | 0755 |
|
build.cgi | File | 162 B | 0755 |
|
coherent-linux-lib.pl | File | 10.4 KB | 0755 |
|
config-aix | File | 181 B | 0644 |
|
config-coherent-linux | File | 116 B | 0644 |
|
config-debian-linux | File | 120 B | 0644 |
|
config-generic-linux | File | 116 B | 0644 |
|
config-mandrake-linux | File | 116 B | 0644 |
|
config-msc-linux | File | 116 B | 0644 |
|
config-open-linux | File | 117 B | 0644 |
|
config-openSUSE-Linux-15.0-ALL | File | 116 B | 0644 |
|
config-openmamba-linux | File | 116 B | 0644 |
|
config-redhat-linux | File | 116 B | 0644 |
|
config-slackware-linux | File | 116 B | 0644 |
|
config-solaris | File | 167 B | 0644 |
|
config-solaris-8-ALL | File | 199 B | 0644 |
|
config-suse-linux | File | 116 B | 0644 |
|
config-trustix-linux | File | 116 B | 0644 |
|
config-united-linux | File | 116 B | 0644 |
|
config.info | File | 282 B | 0644 |
|
config.info.ca | File | 320 B | 0644 |
|
config.info.cs | File | 321 B | 0644 |
|
config.info.de | File | 321 B | 0644 |
|
config.info.es | File | 277 B | 0644 |
|
config.info.fr | File | 350 B | 0644 |
|
config.info.hu | File | 0 B | 0644 |
|
config.info.nl | File | 290 B | 0644 |
|
config.info.no | File | 297 B | 0644 |
|
config.info.pl | File | 309 B | 0644 |
|
config.info.ru | File | 491 B | 0644 |
|
config.info.sv | File | 132 B | 0644 |
|
config.info.uk | File | 500 B | 0644 |
|
debian-linux-lib.pl | File | 10.19 KB | 0755 |
|
edit_aliases.cgi | File | 1.2 KB | 0755 |
|
edit_client.cgi | File | 1.41 KB | 0755 |
|
edit_ethers.cgi | File | 1.14 KB | 0755 |
|
edit_group.cgi | File | 1.81 KB | 0755 |
|
edit_group_shadow.cgi | File | 1.83 KB | 0755 |
|
edit_hosts.cgi | File | 1.31 KB | 0755 |
|
edit_netgroup.cgi | File | 2.01 KB | 0755 |
|
edit_netmasks.cgi | File | 1.16 KB | 0755 |
|
edit_networks.cgi | File | 1.35 KB | 0755 |
|
edit_passwd.cgi | File | 4.8 KB | 0755 |
|
edit_passwd_shadow.cgi | File | 4.8 KB | 0755 |
|
edit_passwd_shadow_full.cgi | File | 4.8 KB | 0755 |
|
edit_protocols.cgi | File | 1.35 KB | 0755 |
|
edit_rpc.cgi | File | 1.3 KB | 0755 |
|
edit_security.cgi | File | 1.92 KB | 0755 |
|
edit_server.cgi | File | 607 B | 0755 |
|
edit_services.cgi | File | 1.52 KB | 0755 |
|
edit_services2.cgi | File | 1.53 KB | 0755 |
|
edit_switch.cgi | File | 1.74 KB | 0755 |
|
edit_tables.cgi | File | 6.24 KB | 0755 |
|
feedback_files.pl | File | 157 B | 0755 |
|
index.cgi | File | 776 B | 0755 |
|
linux-lib.pl | File | 5.27 KB | 0755 |
|
list_switches.cgi | File | 772 B | 0755 |
|
mandrake-linux-lib.pl | File | 10.38 KB | 0755 |
|
md5-lib.pl | File | 7.58 KB | 0755 |
|
module.info | File | 346 B | 0644 |
|
module.info.af | File | 0 B | 0644 |
|
module.info.af.auto | File | 167 B | 0644 |
|
module.info.ar | File | 0 B | 0644 |
|
module.info.ar.auto | File | 195 B | 0644 |
|
module.info.be | File | 0 B | 0644 |
|
module.info.be.auto | File | 287 B | 0644 |
|
module.info.bg | File | 0 B | 0644 |
|
module.info.bg.auto | File | 250 B | 0644 |
|
module.info.ca | File | 163 B | 0644 |
|
module.info.ca.auto | File | 12 B | 0644 |
|
module.info.cs | File | 28 B | 0644 |
|
module.info.cs.auto | File | 145 B | 0644 |
|
module.info.da | File | 0 B | 0644 |
|
module.info.da.auto | File | 154 B | 0644 |
|
module.info.de | File | 136 B | 0644 |
|
module.info.de.auto | File | 12 B | 0644 |
|
module.info.el | File | 0 B | 0644 |
|
module.info.el.auto | File | 235 B | 0644 |
|
module.info.es | File | 31 B | 0644 |
|
module.info.es.auto | File | 138 B | 0644 |
|
module.info.eu | File | 0 B | 0644 |
|
module.info.eu.auto | File | 164 B | 0644 |
|
module.info.fa | File | 0 B | 0644 |
|
module.info.fa.auto | File | 248 B | 0644 |
|
module.info.fi | File | 0 B | 0644 |
|
module.info.fi.auto | File | 158 B | 0644 |
|
module.info.fr | File | 30 B | 0644 |
|
module.info.fr.auto | File | 141 B | 0644 |
|
module.info.he | File | 0 B | 0644 |
|
module.info.he.auto | File | 170 B | 0644 |
|
module.info.hr | File | 0 B | 0644 |
|
module.info.hr.auto | File | 171 B | 0644 |
|
module.info.hu | File | 34 B | 0644 |
|
module.info.hu.auto | File | 147 B | 0644 |
|
module.info.it | File | 0 B | 0644 |
|
module.info.it.auto | File | 152 B | 0644 |
|
module.info.ja | File | 49 B | 0644 |
|
module.info.ja.auto | File | 226 B | 0644 |
|
module.info.ko | File | 39 B | 0644 |
|
module.info.ko.auto | File | 154 B | 0644 |
|
module.info.lt | File | 0 B | 0644 |
|
module.info.lt.auto | File | 169 B | 0644 |
|
module.info.lv | File | 0 B | 0644 |
|
module.info.lv.auto | File | 169 B | 0644 |
|
module.info.ms | File | 149 B | 0644 |
|
module.info.ms.auto | File | 12 B | 0644 |
|
module.info.mt | File | 0 B | 0644 |
|
module.info.mt.auto | File | 144 B | 0644 |
|
module.info.nl | File | 30 B | 0644 |
|
module.info.nl.auto | File | 130 B | 0644 |
|
module.info.no | File | 29 B | 0644 |
|
module.info.no.auto | File | 117 B | 0644 |
|
module.info.pl | File | 107 B | 0644 |
|
module.info.pl.auto | File | 12 B | 0644 |
|
module.info.pt | File | 0 B | 0644 |
|
module.info.pt.auto | File | 164 B | 0644 |
|
module.info.pt_BR | File | 0 B | 0644 |
|
module.info.pt_BR.auto | File | 173 B | 0644 |
|
module.info.ro | File | 0 B | 0644 |
|
module.info.ro.auto | File | 156 B | 0644 |
|
module.info.ru | File | 41 B | 0644 |
|
module.info.ru.auto | File | 246 B | 0644 |
|
module.info.sk | File | 0 B | 0644 |
|
module.info.sk.auto | File | 165 B | 0644 |
|
module.info.sl | File | 0 B | 0644 |
|
module.info.sl.auto | File | 165 B | 0644 |
|
module.info.sv | File | 31 B | 0644 |
|
module.info.sv.auto | File | 123 B | 0644 |
|
module.info.th | File | 0 B | 0644 |
|
module.info.th.auto | File | 347 B | 0644 |
|
module.info.tr | File | 0 B | 0644 |
|
module.info.tr.auto | File | 169 B | 0644 |
|
module.info.uk | File | 0 B | 0644 |
|
module.info.uk.auto | File | 247 B | 0644 |
|
module.info.ur | File | 0 B | 0644 |
|
module.info.ur.auto | File | 244 B | 0644 |
|
module.info.vi | File | 0 B | 0644 |
|
module.info.vi.auto | File | 217 B | 0644 |
|
module.info.zh | File | 34 B | 0644 |
|
module.info.zh.auto | File | 120 B | 0644 |
|
module.info.zh_TW | File | 37 B | 0644 |
|
module.info.zh_TW.auto | File | 126 B | 0644 |
|
msc-linux-lib.pl | File | 10.38 KB | 0755 |
|
nis-lib.pl | File | 6.02 KB | 0755 |
|
nisupdate.conf | File | 1.94 KB | 0644 |
|
old_edit_passwd_shadow.cgi | File | 4.62 KB | 0755 |
|
old_edit_switch.cgi | File | 1.76 KB | 0755 |
|
old_save_switch.cgi | File | 533 B | 0755 |
|
open-linux-lib.pl | File | 7.89 KB | 0755 |
|
openmamba-linux-lib.pl | File | 10.38 KB | 0755 |
|
redhat-linux-lib.pl | File | 10.38 KB | 0755 |
|
save_aliases.cgi | File | 749 B | 0755 |
|
save_client.cgi | File | 661 B | 0755 |
|
save_ethers.cgi | File | 793 B | 0755 |
|
save_file.cgi | File | 588 B | 0755 |
|
save_group.cgi | File | 945 B | 0755 |
|
save_group_shadow.cgi | File | 1.04 KB | 0755 |
|
save_hosts.cgi | File | 758 B | 0755 |
|
save_netgroup.cgi | File | 1.04 KB | 0755 |
|
save_netmasks.cgi | File | 753 B | 0755 |
|
save_networks.cgi | File | 791 B | 0755 |
|
save_passwd_shadow.cgi | File | 2.36 KB | 0755 |
|
save_protocols.cgi | File | 806 B | 0755 |
|
save_rpc.cgi | File | 746 B | 0755 |
|
save_security.cgi | File | 996 B | 0755 |
|
save_server.cgi | File | 184 B | 0755 |
|
save_services.cgi | File | 775 B | 0755 |
|
save_services2.cgi | File | 776 B | 0755 |
|
save_switch.cgi | File | 932 B | 0755 |
|
slackware-linux-lib.pl | File | 9.91 KB | 0755 |
|
solaris-lib.pl | File | 10.45 KB | 0755 |
|
suse-linux-8.2-lib.pl | File | 11.05 KB | 0755 |
|
suse-linux-9.0-lib.pl | File | 11.05 KB | 0755 |
|
suse-linux-lib.pl | File | 11.88 KB | 0755 |
|
switch-lib.pl | File | 3.08 KB | 0755 |
|
trustix-linux-lib.pl | File | 10.38 KB | 0755 |
|
united-linux-lib.pl | File | 11.05 KB | 0755 |
|